summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjk7744.park <jk7744.park@samsung.com>2015-10-24 15:45:54 +0900
committerjk7744.park <jk7744.park@samsung.com>2015-10-24 15:45:54 +0900
commitf5b2937589fc5a8fa903066610d73c464b36c6f7 (patch)
tree75ff9a6c27fbb3b41ed94f98d69c398128839e57
parent9148856fd3adaaef7f2c719e8d3e97ff181e89cc (diff)
downloadug-myfile-efl-submit/tizen_2.4/20151028.062727.tar.gz
ug-myfile-efl-submit/tizen_2.4/20151028.062727.tar.bz2
ug-myfile-efl-submit/tizen_2.4/20151028.062727.zip
-rw-r--r--CMakeLists.txt110
-rw-r--r--LICENSE204
-rw-r--r--LICENSE.Flora206
-rw-r--r--NOTICE.Flora4
-rwxr-xr-xbuild_run.sh65
-rw-r--r--data/CMakeLists.txt18
-rw-r--r--data/ctrlbar_layout.edc44
-rw-r--r--data/effect_model_list.edc114
-rw-r--r--data/icons/Controlbar/U01_controlbar_cion_home.pngbin4273 -> 0 bytes
-rw-r--r--data/icons/Controlbar/U01_controlbar_cion_home_press.pngbin4505 -> 0 bytes
-rw-r--r--data/icons/Controlbar/U01_controlbar_cion_up_folder_press.pngbin4123 -> 0 bytes
-rw-r--r--data/icons/U01_1st_icon_memory_card.pngbin1706 -> 0 bytes
-rw-r--r--data/icons/U01_1st_icon_phone.pngbin1514 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_control_play.pngbin3573 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_control_play_press.pngbin3324 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_copy.pngbin1024 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_create_folder.pngbin892 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_delete.pngbin899 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_edit.pngbin1262 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_etc.pngbin5229 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_excel.pngbin5986 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_folder.pngbin3799 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_folder_open.pngbin4233 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_html.pngbin6416 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_images.pngbin1454 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_list_by.pngbin875 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_mmc_sub.pngbin691 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_move.pngbin1130 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_move_here.pngbin873 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_music.pngbin4425 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_paste_here.pngbin1024 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_pdf.pngbin4794 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_phone.pngbin3028 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_ppt.pngbin5417 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_rss.pngbin5082 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_search.pngbin1491 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_share.pngbin1106 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_store_here.pngbin3147 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_svg.pngbin5890 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_swf.pngbin5653 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_text.pngbin4023 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_upper_folder_black_theme.pngbin3197 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_upper_folder_focus.pngbin3134 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_upper_folder_white_theme.pngbin348 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_video.pngbin8062 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_video_play.pngbin5001 -> 0 bytes
-rw-r--r--data/icons/myfile_icon_word.pngbin5865 -> 0 bytes
-rw-r--r--data/icons/myfile_thumbnail_icon_excel.pngbin9778 -> 0 bytes
-rw-r--r--data/icons/myfile_thumbnail_icon_folder.pngbin4585 -> 0 bytes
-rw-r--r--data/icons/myfile_thumbnail_icon_folder_open.pngbin5735 -> 0 bytes
-rw-r--r--data/icons/myfile_thumbnail_icon_html.pngbin10712 -> 0 bytes
-rw-r--r--data/icons/myfile_thumbnail_icon_music.pngbin7876 -> 0 bytes
-rw-r--r--data/icons/myfile_thumbnail_icon_pdf.pngbin7328 -> 0 bytes
-rw-r--r--data/icons/myfile_thumbnail_icon_ppt.pngbin8639 -> 0 bytes
-rw-r--r--data/icons/myfile_thumbnail_icon_rss.pngbin7469 -> 0 bytes
-rw-r--r--data/icons/myfile_thumbnail_icon_svg.pngbin8226 -> 0 bytes
-rw-r--r--data/icons/myfile_thumbnail_icon_swf.pngbin9507 -> 0 bytes
-rw-r--r--data/icons/myfile_thumbnail_icon_text.pngbin5914 -> 0 bytes
-rw-r--r--data/icons/myfile_thumbnail_icon_unkown.pngbin8219 -> 0 bytes
-rw-r--r--data/icons/myfile_thumbnail_icon_video.pngbin19631 -> 0 bytes
-rw-r--r--data/icons/myfile_thumbnail_icon_video_play.pngbin8407 -> 0 bytes
-rw-r--r--data/icons/myfile_thumbnail_icon_word.pngbin10262 -> 0 bytes
-rw-r--r--data/image/No_ex_stor.pngbin8537 -> 0 bytes
-rw-r--r--data/image/myfile_nocontent.pngbin7306 -> 0 bytes
-rw-r--r--data/navigation_view.edc194
-rw-r--r--data/no_storage.edc178
-rw-r--r--data/pathinfo.edc112
-rw-r--r--data/po/CMakeLists.txt25
-rw-r--r--data/po/POTFILES.in17
-rw-r--r--data/po/ar.po317
-rw-r--r--data/po/az.po318
-rw-r--r--data/po/bg.po318
-rw-r--r--data/po/ca.po318
-rw-r--r--data/po/cs.po318
-rw-r--r--data/po/da.po318
-rw-r--r--data/po/de_DE.po318
-rw-r--r--data/po/el_GR.po317
-rw-r--r--data/po/en.po318
-rw-r--r--data/po/en_PH.po318
-rw-r--r--data/po/en_US.po318
-rw-r--r--data/po/es_ES.po317
-rw-r--r--data/po/es_MX.po297
-rw-r--r--data/po/et.po318
-rw-r--r--data/po/eu.po318
-rw-r--r--data/po/fi.po318
-rw-r--r--data/po/fr_CA.po318
-rw-r--r--data/po/fr_FR.po318
-rw-r--r--data/po/ga.po318
-rw-r--r--data/po/gl.po318
-rw-r--r--data/po/hi.po318
-rw-r--r--data/po/hr.po318
-rw-r--r--data/po/hu.po318
-rw-r--r--data/po/hy.po318
-rw-r--r--data/po/is.po318
-rw-r--r--data/po/it_IT.po318
-rw-r--r--data/po/ja_JP.po318
-rw-r--r--data/po/ka.po318
-rw-r--r--data/po/kk.po318
-rw-r--r--data/po/ko_KR.po318
-rw-r--r--data/po/lt.po318
-rw-r--r--data/po/lv.po318
-rw-r--r--data/po/mk.po318
-rw-r--r--data/po/nb.po318
-rw-r--r--data/po/nl_NL.po314
-rw-r--r--data/po/pl.po318
-rw-r--r--data/po/pt_BR.po318
-rw-r--r--data/po/pt_PT.po318
-rw-r--r--data/po/ro.po318
-rw-r--r--data/po/ru_RU.po318
-rw-r--r--data/po/sk.po318
-rw-r--r--data/po/sl.po318
-rw-r--r--data/po/sr.po318
-rw-r--r--data/po/sv.po318
-rw-r--r--data/po/tr_TR.po318
-rw-r--r--data/po/ug-myfile-efl.pot94
-rw-r--r--data/po/uk.po318
-rw-r--r--data/po/uz.po318
-rw-r--r--data/po/zh_CN.po318
-rw-r--r--data/po/zh_HK.po318
-rw-r--r--data/po/zh_SG.po318
-rw-r--r--data/po/zh_TW.po318
-rw-r--r--data/popup_new_folder.edc176
-rw-r--r--data/search_path.edc28
-rw-r--r--data/ug_edc_common.h38
-rw-r--r--data/ug_navibar_layout.edc98
-rw-r--r--feature_rm.py341
-rw-r--r--gbs/.gbs.conf37
-rw-r--r--icons/00_nocontents_multimedia.pngbin0 -> 44733 bytes
-rw-r--r--icons/myfile_controlbar_cion_home.pngbin0 -> 1570 bytes
-rw-r--r--icons/myfile_controlbar_cion_home_press.png (renamed from data/icons/Controlbar/U01_controlbar_cion_up_folder.png)bin4015 -> 4125 bytes
-rw-r--r--icons/myfile_controlbar_cion_up_folder.pngbin0 -> 1371 bytes
-rw-r--r--icons/myfile_controlbar_cion_up_folder_press.pngbin0 -> 3568 bytes
-rw-r--r--icons/myfile_icon_add.png (renamed from data/icons/myfile_icon_done.png)bin3007 -> 3061 bytes
-rw-r--r--icons/myfile_icon_control_pause.png (renamed from data/icons/myfile_icon_control_pause.png)bin2966 -> 2920 bytes
-rw-r--r--icons/myfile_icon_control_pause_press.png (renamed from data/icons/myfile_icon_control_pause_press.png)bin2941 -> 2920 bytes
-rw-r--r--icons/myfile_icon_control_play.pngbin0 -> 3230 bytes
-rw-r--r--icons/myfile_icon_control_play_press.pngbin0 -> 3230 bytes
-rw-r--r--icons/myfile_icon_create_folder.pngbin0 -> 3393 bytes
-rw-r--r--icons/myfile_icon_delete.pngbin0 -> 3077 bytes
-rw-r--r--icons/myfile_icon_email.pngbin0 -> 2200 bytes
-rw-r--r--icons/myfile_icon_entry_folder.png (renamed from data/icons/U01_1st_icon_phone_press.png)bin3273 -> 3352 bytes
-rw-r--r--icons/myfile_icon_entry_folder_press.pngbin0 -> 3078 bytes
-rw-r--r--icons/myfile_icon_etc.pngbin0 -> 1505 bytes
-rw-r--r--icons/myfile_icon_excel.pngbin0 -> 4225 bytes
-rw-r--r--icons/myfile_icon_folder.pngbin0 -> 3208 bytes
-rw-r--r--icons/myfile_icon_folder_sdcard.pngbin0 -> 1469 bytes
-rw-r--r--icons/myfile_icon_folder_shortcut.png (renamed from data/image/mf_new_folder_editfield_bg.png)bin3667 -> 3624 bytes
-rw-r--r--icons/myfile_icon_grid_folder_card.pngbin0 -> 2108 bytes
-rw-r--r--icons/myfile_icon_html.pngbin0 -> 3062 bytes
-rw-r--r--icons/myfile_icon_hwp.pngbin0 -> 2699 bytes
-rw-r--r--icons/myfile_icon_images.pngbin0 -> 3954 bytes
-rw-r--r--icons/myfile_icon_java.png (renamed from data/icons/myfile_icon_java.png)bin3005 -> 3005 bytes
-rw-r--r--icons/myfile_icon_music.pngbin0 -> 4031 bytes
-rw-r--r--icons/myfile_icon_pdf.pngbin0 -> 4398 bytes
-rw-r--r--icons/myfile_icon_ppt.pngbin0 -> 3784 bytes
-rw-r--r--icons/myfile_icon_root_folder_device_memory.pngbin0 -> 2287 bytes
-rw-r--r--icons/myfile_icon_root_folder_sdcard.pngbin0 -> 2389 bytes
-rw-r--r--icons/myfile_icon_rss.pngbin0 -> 2870 bytes
-rw-r--r--icons/myfile_icon_select_all.pngbin0 -> 3534 bytes
-rw-r--r--icons/myfile_icon_select_all_selected.pngbin0 -> 3394 bytes
-rw-r--r--icons/myfile_icon_snb.pngbin0 -> 2270 bytes
-rw-r--r--icons/myfile_icon_story.pngbin0 -> 3009 bytes
-rw-r--r--icons/myfile_icon_svg.pngbin0 -> 2861 bytes
-rw-r--r--icons/myfile_icon_swf.pngbin0 -> 2260 bytes
-rw-r--r--icons/myfile_icon_task.pngbin0 -> 2169 bytes
-rw-r--r--icons/myfile_icon_text.pngbin0 -> 1780 bytes
-rw-r--r--icons/myfile_icon_tpk.pngbin0 -> 3363 bytes
-rw-r--r--icons/myfile_icon_vcalender.pngbin0 -> 3689 bytes
-rw-r--r--icons/myfile_icon_vcard.pngbin0 -> 3998 bytes
-rw-r--r--icons/myfile_icon_video.pngbin0 -> 3778 bytes
-rw-r--r--icons/myfile_icon_video_play.pngbin0 -> 3814 bytes
-rw-r--r--icons/myfile_icon_word.pngbin0 -> 2666 bytes
-rw-r--r--icons/myfile_icon_zip.pngbin0 -> 1778 bytes
-rw-r--r--icons/myfile_list_icon_bg.png (renamed from data/icons/myfile_icon_add.png)bin2999 -> 2961 bytes
-rw-r--r--image/00_button_radio_activate.pngbin0 -> 1357 bytes
-rw-r--r--image/00_button_radio_activate_ef.pngbin0 -> 1588 bytes
-rw-r--r--image/00_button_radio_bg.png (renamed from data/icons/myfile_icon_cancel.png)bin3426 -> 3498 bytes
-rw-r--r--image/00_button_radio_bg_ef.pngbin0 -> 3310 bytes
-rw-r--r--image/00_button_radio_bg_line.pngbin0 -> 3684 bytes
-rw-r--r--image/00_button_radio_focus.pngbin0 -> 3830 bytes
-rw-r--r--image/00_circle_button_bg.pngbin0 -> 3725 bytes
-rw-r--r--image/00_circle_button_dim_ef.pngbin0 -> 3394 bytes
-rw-r--r--image/00_circle_button_ef.png (renamed from data/icons/U01_1st_icon_memory_card_press.png)bin3503 -> 3508 bytes
-rw-r--r--image/00_circle_button_focus.png (renamed from data/icons/myfile_icon_USB.png)bin3891 -> 4058 bytes
-rw-r--r--image/00_focus_01.#.png (renamed from data/icons/myfile_icon_mmc.png)bin3006 -> 2864 bytes
-rw-r--r--image/00_list_group_bg.#.pngbin0 -> 2876 bytes
-rw-r--r--image/00_list_group_bg_ef.#.pngbin0 -> 2870 bytes
-rw-r--r--image/U01_subdepth_folder_arrow.pngbin0 -> 1154 bytes
-rw-r--r--image/U01_subdepth_tail.pngbin0 -> 1161 bytes
-rw-r--r--image/myfile_icon_video_play.pngbin0 -> 3343 bytes
-rw-r--r--packaging/ug-myfile-efl.spec106
-rwxr-xr-xres/po/CMakeLists.txt28
-rwxr-xr-xres/po/POTFILES.in1
-rwxr-xr-xres/po/ar.po57
-rwxr-xr-xres/po/az.po57
-rwxr-xr-xres/po/bg.po57
-rwxr-xr-xres/po/bn.po57
-rwxr-xr-xres/po/ca.po57
-rwxr-xr-xres/po/cs.po57
-rwxr-xr-xres/po/da.po57
-rwxr-xr-xres/po/de.po57
-rwxr-xr-xres/po/el_GR.po57
-rwxr-xr-xres/po/en.po57
-rwxr-xr-xres/po/en_PH.po57
-rwxr-xr-xres/po/en_US.po57
-rwxr-xr-xres/po/es_ES.po57
-rwxr-xr-xres/po/es_US.po57
-rwxr-xr-xres/po/et.po57
-rwxr-xr-xres/po/eu.po57
-rwxr-xr-xres/po/fi.po57
-rwxr-xr-xres/po/fr.po57
-rwxr-xr-xres/po/fr_CA.po57
-rwxr-xr-xres/po/ga.po57
-rwxr-xr-xres/po/gl.po57
-rwxr-xr-xres/po/gu.po57
-rwxr-xr-xres/po/hi.po57
-rwxr-xr-xres/po/hr.po57
-rwxr-xr-xres/po/hu.po57
-rwxr-xr-xres/po/hy.po57
-rwxr-xr-xres/po/is.po57
-rwxr-xr-xres/po/it_IT.po57
-rwxr-xr-xres/po/ja_JP.po57
-rwxr-xr-xres/po/ka.po57
-rwxr-xr-xres/po/kk.po57
-rwxr-xr-xres/po/kn.po57
-rwxr-xr-xres/po/ko_KR.po57
-rwxr-xr-xres/po/lt.po57
-rwxr-xr-xres/po/lv.po57
-rwxr-xr-xres/po/mk.po57
-rwxr-xr-xres/po/ml.po57
-rwxr-xr-xres/po/mr.po57
-rwxr-xr-xres/po/nb.po57
-rwxr-xr-xres/po/nl.po57
-rwxr-xr-xres/po/or.po57
-rwxr-xr-xres/po/pa.po57
-rwxr-xr-xres/po/pl.po57
-rwxr-xr-xres/po/pt_BR.po57
-rwxr-xr-xres/po/pt_PT.po57
-rwxr-xr-xres/po/ro.po57
-rwxr-xr-xres/po/ru_RU.po57
-rwxr-xr-xres/po/si.po57
-rwxr-xr-xres/po/sk.po57
-rwxr-xr-xres/po/sl.po57
-rwxr-xr-xres/po/sr.po57
-rwxr-xr-xres/po/sv.po57
-rwxr-xr-xres/po/ta.po57
-rwxr-xr-xres/po/te.po57
-rwxr-xr-xres/po/tr_TR.po57
-rwxr-xr-xres/po/uk.po57
-rwxr-xr-x[-rw-r--r--]res/po/update-po.sh (renamed from data/po/update-po.sh)6
-rwxr-xr-xres/po/uz.po57
-rwxr-xr-xres/po/zh_CN.po57
-rwxr-xr-xres/po/zh_HK.po57
-rwxr-xr-xres/po/zh_TW.po57
-rw-r--r--sounds/Tizen_touch.wavbin0 -> 7668 bytes
-rw-r--r--src/common/file-system/mf-ug-file-attr.c2214
-rw-r--r--src/common/file-system/mf-ug-fs-oper.c1591
-rw-r--r--src/common/mf-ug-cb.c2529
-rw-r--r--src/common/mf-ug-db-handle.c183
-rw-r--r--src/common/mf-ug-file-util.c311
-rw-r--r--src/common/mf-ug-fm-svc-wapper.c1515
-rw-r--r--src/common/mf-ug-inotify-handle.c573
-rw-r--r--src/common/mf-ug-list-play.c2285
-rw-r--r--src/common/mf-ug-music.c316
-rw-r--r--src/common/mf-ug-search-internal.c1669
-rw-r--r--src/common/mf-ug-search.c156
-rw-r--r--src/common/mf-ug-util.c1244
-rw-r--r--src/include/mf-ug-cb.h60
-rw-r--r--src/include/mf-ug-conf.h156
-rw-r--r--src/include/mf-ug-db-handle.h45
-rw-r--r--src/include/mf-ug-dlog.h112
-rw-r--r--src/include/mf-ug-file-util.h44
-rw-r--r--src/include/mf-ug-fm-svc-wrapper.h41
-rw-r--r--src/include/mf-ug-fs-util.h493
-rw-r--r--src/include/mf-ug-inotify-handle.h51
-rw-r--r--src/include/mf-ug-list-play.h101
-rw-r--r--src/include/mf-ug-main.h303
-rw-r--r--src/include/mf-ug-media-db.h74
-rw-r--r--src/include/mf-ug-media-error.h49
-rw-r--r--src/include/mf-ug-media-types.h75
-rw-r--r--src/include/mf-ug-media.h69
-rw-r--r--src/include/mf-ug-music.h28
-rw-r--r--src/include/mf-ug-resource.h140
-rw-r--r--src/include/mf-ug-ringtone-view.h30
-rw-r--r--src/include/mf-ug-search-internal.h44
-rw-r--r--src/include/mf-ug-search.h147
-rw-r--r--src/include/mf-ug-util.h352
-rw-r--r--src/include/mf-ug-view.h29
-rw-r--r--src/include/mf-ug-widget.h58
-rw-r--r--src/include/mf-ug-winset.h209
-rw-r--r--src/media-db/mf-ug-media-db.c1756
-rw-r--r--src/media-db/mf-ug-media.c533
-rw-r--r--src/mf-ug-main.c1997
-rw-r--r--src/widget/mf-ug-ctrl-bar.c249
-rw-r--r--src/widget/mf-ug-genlist.c2919
-rw-r--r--src/widget/mf-ug-navi-bar.c1446
-rw-r--r--src/widget/mf-ug-popup.c1104
-rw-r--r--src/widget/mf-ug-ringtone-view.c251
-rw-r--r--src/widget/mf-ug-search-view.c819
-rw-r--r--src/widget/mf-ug-tab-bar.c266
-rw-r--r--src/widget/mf-ug-widget.c319
-rw-r--r--tests/ugmyfiletestapp/CMakeLists.txt2
-rw-r--r--tests/ugmyfiletestapp/edj/layoutedj.edc19
-rw-r--r--tests/ugmyfiletestapp/include/dbg.h29
-rw-r--r--tests/ugmyfiletestapp/include/main.h16
-rw-r--r--tests/ugmyfiletestapp/packaging/org.tizen.ugmyfiletestapp.spec6
-rw-r--r--tests/ugmyfiletestapp/src/main.c170
-rw-r--r--ug-myfile-button.edc288
-rw-r--r--ug-myfile-efl.manifest6
-rw-r--r--ug-myfile-efl.pngbin0 -> 57662 bytes
-rw-r--r--ug-myfile-efl.xml151
-rw-r--r--ug-myfile-toolbar.edc840
-rw-r--r--ug_edc_image_macro.edc159
-rw-r--r--ug_genlist.edc1268
-rw-r--r--ug_navibar_layout.edc834
-rw-r--r--ug_radio.edc566
316 files changed, 25306 insertions, 29857 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a047249..7f13355 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,3 +1,8 @@
+IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
+ SET(CMAKE_BUILD_TYPE "Release")
+ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
+MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
+
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(ug-myfile-efl C)
@@ -7,67 +12,84 @@ PROJECT(ug-myfile-efl C)
####################################
SET(MFUGNAME ug-myfile-efl)
SET(UGINCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/src/include)
+SET(UGLIBINCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/include)
SET(UG-SRC-DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
SET(UG-UTILITY-DIR ${UG-SRC-DIR}/common)
SET(UG-FS-DIR ${UG-UTILITY-DIR}/file-system)
SET(UG-WIDGET-DIR ${UG-SRC-DIR}/widget)
+SET(UG-MEDIADB-DIR ${UG-SRC-DIR}/media-db)
SET(PREFIX "/usr/ug")
SET(LIBDIR "${PREFIX}/lib")
SET(RESDIR "${PREFIX}/res")
-SET(LOCALEDIR "${RESDIR}/locale")
+SET(LOCALEDIR "${RESDIR}/${MFUGNAME}/locale")
SET(IMAGEDIR "${RESDIR}/images/${MFUGNAME}")
SET(EDJDIR "${RESDIR}/edje/${MFUGNAME}")
SET(SRCS
- ${UG-SRC-DIR}/mf-ug-main.c
- ${UG-UTILITY-DIR}/mf-ug-util.c
- ${UG-UTILITY-DIR}/mf-ug-cb.c
- ${UG-UTILITY-DIR}/mf-ug-fm-svc-wapper.c
- ${UG-UTILITY-DIR}/mf-ug-inotify-handle.c
- ${UG-UTILITY-DIR}/mf-ug-list-play.c
- ${UG-UTILITY-DIR}/mf-ug-search-internal.c
- ${UG-UTILITY-DIR}/mf-ug-search.c
-########### winset wrap ##########
- ${UG-WIDGET-DIR}/mf-ug-navi-bar.c
- ${UG-WIDGET-DIR}/mf-ug-genlist.c
- ${UG-WIDGET-DIR}/mf-ug-popup.c
- ${UG-WIDGET-DIR}/mf-ug-ctrl-bar.c
-# ${UG-WIDGET-DIR}/mf-ug-tab-bar.c
- ${UG-WIDGET-DIR}/mf-ug-search-view.c
+ ${UG-SRC-DIR}/mf-ug-main.c
+ ${UG-UTILITY-DIR}/mf-ug-util.c
+ ${UG-UTILITY-DIR}/mf-ug-file-util.c
+ ${UG-UTILITY-DIR}/mf-ug-cb.c
+ ${UG-UTILITY-DIR}/mf-ug-music.c
+ ${UG-UTILITY-DIR}/mf-ug-fm-svc-wapper.c
+ ${UG-UTILITY-DIR}/mf-ug-inotify-handle.c
+ ${UG-UTILITY-DIR}/mf-ug-list-play.c
+ ${UG-UTILITY-DIR}/mf-ug-search-internal.c
+ ${UG-UTILITY-DIR}/mf-ug-search.c
+ ${UG-UTILITY-DIR}/mf-ug-db-handle.c
+########### winset wrap ##########
+ ${UG-WIDGET-DIR}/mf-ug-navi-bar.c
+ ${UG-WIDGET-DIR}/mf-ug-genlist.c
+ ${UG-WIDGET-DIR}/mf-ug-popup.c
+ ${UG-WIDGET-DIR}/mf-ug-widget.c
+ ${UG-WIDGET-DIR}/mf-ug-search-view.c
+ ${UG-WIDGET-DIR}/mf-ug-ringtone-view.c
################ file system #########
- ${UG-FS-DIR}/mf-ug-file-attr.c
- ${UG-FS-DIR}/mf-ug-fs-oper.c
- )
+ ${UG-FS-DIR}/mf-ug-file-attr.c
+ ${UG-FS-DIR}/mf-ug-fs-oper.c
+#################### media db ######################
+ ${UG-MEDIADB-DIR}/mf-ug-media.c
+ ${UG-MEDIADB-DIR}/mf-ug-media-db.c
+ )
+#START_PUBLIC_REMOVED_FILE
+# Debian
+#END_START_PUBLIC_REMOVED_FILE
INCLUDE_DIRECTORIES(${UGINCLUDE})
-
+INCLUDE_DIRECTORIES(${UGLIBINCLUDE})
INCLUDE(FindPkgConfig)
pkg_check_modules(ug_pkgs REQUIRED
-ecore-x
ecore-evas
elementary
-vconf
glib-2.0
-drm-client
ui-gadget-1
capi-appfw-application
+capi-media-metadata-extractor
+capi-system-system-settings
capi-content-media-content
dlog
capi-media-sound-manager
capi-media-player
-capi-system-power
+capi-system-device
+#START_PUBLIC_REMOVED_STRING
+#END_START_PUBLIC_REMOVED_STRING
notification
-utilX
+appsvc
+sqlite3
+storage
+capi-content-mime-type
+efl-extension
)
FOREACH(flag ${ug_pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ENDFOREACH(flag)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
@@ -82,10 +104,42 @@ ADD_DEFINITIONS("-DUG_OPERATION_SELECT_MODE")
ADD_LIBRARY(${MFUGNAME} SHARED ${SRCS})
TARGET_LINK_LIBRARIES(${MFUGNAME} ${ug_pkgs_LDFLAGS} dl)
+message("MFUGNAME="${MFUGNAME} "LIBDIR"=${LIBDIR})
INSTALL(TARGETS ${MFUGNAME} LIBRARY DESTINATION ${LIBDIR})
-INSTALL(FILES ${CMAKE_BINARY_DIR}/${MFUGNAME}.xml DESTINATION /usr/share/packages)
+# edje
+ADD_CUSTOM_TARGET(ug_navibar_layout.edj
+ COMMAND edje_cc -no-save -id ${CMAKE_CURRENT_SOURCE_DIR}/image
+ ${EDJE_CFLAGS} -sd ${CMAKE_CURRENT_SOURCE_DIR}/sounds
+ ${CMAKE_CURRENT_SOURCE_DIR}/ug_navibar_layout.edc
+ ${CMAKE_BINARY_DIR}/ug_navibar_layout.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ug_navibar_layout.edc
+)
+
+ADD_DEPENDENCIES(${PROJECT_NAME} ug_navibar_layout.edj)
+
+INSTALL(FILES ${CMAKE_BINARY_DIR}/ug_navibar_layout.edj DESTINATION ${EDJDIR})
+
+ADD_CUSTOM_TARGET(ug_edc_image_macro.edj
+ COMMAND edje_cc -no-save -id ${CMAKE_CURRENT_SOURCE_DIR}/icons -id ${CMAKE_CURRENT_SOURCE_DIR}/image
+ ${CMAKE_CURRENT_SOURCE_DIR}/ug_edc_image_macro.edc
+ ${CMAKE_BINARY_DIR}/ug_edc_image_macro.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ug_edc_image_macro.edc
+)
+
+ADD_DEPENDENCIES(${PROJECT_NAME} ug_edc_image_macro.edj)
+
+INSTALL(FILES ${CMAKE_BINARY_DIR}/ug_edc_image_macro.edj DESTINATION ${EDJDIR})
+
+# smat lib 608
+
+# Install file
+
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ug-myfile-efl.xml DESTINATION /usr/share/packages)
+# Appcontrl icon
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/ug-myfile-efl.png DESTINATION /usr/share/icons/default/small)
-ADD_SUBDIRECTORY(data)
+# i18n
+ADD_SUBDIRECTORY(res/po)
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..54b213e
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,204 @@
+Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
diff --git a/LICENSE.Flora b/LICENSE.Flora
deleted file mode 100644
index ee51c0c..0000000
--- a/LICENSE.Flora
+++ /dev/null
@@ -1,206 +0,0 @@
-Flora License
-
-Version 1.1, May, 2012
-
-http://floralicense.org/license/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-"License" shall mean the terms and conditions for use, reproduction,
-and distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by
-the copyright owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and
-all other entities that control, are controlled by, or are
-under common control with that entity. For the purposes of
-this definition, "control" means (i) the power, direct or indirect,
-to cause the direction or management of such entity,
-whether by contract or otherwise, or (ii) ownership of fifty percent (50%)
-or more of the outstanding shares, or (iii) beneficial ownership of
-such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity
-exercising permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications,
-including but not limited to software source code, documentation source,
-and configuration files.
-
-"Object" form shall mean any form resulting from mechanical
-transformation or translation of a Source form, including but
-not limited to compiled object code, generated documentation,
-and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form,
-made available under the License, as indicated by a copyright notice
-that is included in or attached to the work (an example is provided
-in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form,
-that is based on (or derived from) the Work and for which the editorial
-revisions, annotations, elaborations, or other modifications represent,
-as a whole, an original work of authorship. For the purposes of this License,
-Derivative Works shall not include works that remain separable from,
-or merely link (or bind by name) to the interfaces of, the Work and
-Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original
-version of the Work and any modifications or additions to that Work or
-Derivative Works thereof, that is intentionally submitted to Licensor
-for inclusion in the Work by the copyright owner or by an individual or
-Legal Entity authorized to submit on behalf of the copyright owner.
-For the purposes of this definition, "submitted" means any form of
-electronic, verbal, or written communication sent to the Licensor or
-its representatives, including but not limited to communication on
-electronic mailing lists, source code control systems, and issue
-tracking systems that are managed by, or on behalf of, the Licensor
-for the purpose of discussing and improving the Work, but excluding
-communication that is conspicuously marked or otherwise designated
-in writing by the copyright owner as "Not a Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity
-on behalf of whom a Contribution has been received by Licensor and
-subsequently incorporated within the Work.
-
-"Tizen Certified Platform" shall mean a software platform that complies
-with the standards set forth in the Tizen Compliance Specification
-and passes the Tizen Compliance Tests as defined from time to time
-by the Tizen Technical Steering Group and certified by the Tizen
-Association or its designated agent.
-
-2. Grant of Copyright License. Subject to the terms and conditions of
-this License, each Contributor hereby grants to You a perpetual,
-worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-copyright license to reproduce, prepare Derivative Works of,
-publicly display, publicly perform, sublicense, and distribute the
-Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of
-this License, each Contributor hereby grants to You a perpetual,
-worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-(except as stated in this section) patent license to make, have made,
-use, offer to sell, sell, import, and otherwise transfer the Work
-solely as incorporated into a Tizen Certified Platform, where such
-license applies only to those patent claims licensable by such
-Contributor that are necessarily infringed by their Contribution(s)
-alone or by combination of their Contribution(s) with the Work solely
-as incorporated into a Tizen Certified Platform to which such
-Contribution(s) was submitted. If You institute patent litigation
-against any entity (including a cross-claim or counterclaim
-in a lawsuit) alleging that the Work or a Contribution incorporated
-within the Work constitutes direct or contributory patent infringement,
-then any patent licenses granted to You under this License for that
-Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the
-Work or Derivative Works thereof pursuant to the copyright license
-above, in any medium, with or without modifications, and in Source or
-Object form, provided that You meet the following conditions:
-
- 1. You must give any other recipients of the Work or Derivative Works
- a copy of this License; and
- 2. You must cause any modified files to carry prominent notices stating
- that You changed the files; and
- 3. You must retain, in the Source form of any Derivative Works that
- You distribute, all copyright, patent, trademark, and attribution
- notices from the Source form of the Work, excluding those notices
- that do not pertain to any part of the Derivative Works; and
- 4. If the Work includes a "NOTICE" text file as part of its distribution,
- then any Derivative Works that You distribute must include a readable
- copy of the attribution notices contained within such NOTICE file,
- excluding those notices that do not pertain to any part of
- the Derivative Works, in at least one of the following places:
- within a NOTICE text file distributed as part of the Derivative Works;
- within the Source form or documentation, if provided along with the
- Derivative Works; or, within a display generated by the Derivative Works,
- if and wherever such third-party notices normally appear.
- The contents of the NOTICE file are for informational purposes only
- and do not modify the License.
-
-You may add Your own attribution notices within Derivative Works
-that You distribute, alongside or as an addendum to the NOTICE text
-from the Work, provided that such additional attribution notices
-cannot be construed as modifying the License. You may add Your own
-copyright statement to Your modifications and may provide additional or
-different license terms and conditions for use, reproduction, or
-distribution of Your modifications, or for any such Derivative Works
-as a whole, provided Your use, reproduction, and distribution of
-the Work otherwise complies with the conditions stated in this License.
-
-5. Submission of Contributions. Unless You explicitly state otherwise,
-any Contribution intentionally submitted for inclusion in the Work
-by You to the Licensor shall be under the terms and conditions of
-this License, without any additional terms or conditions.
-Notwithstanding the above, nothing herein shall supersede or modify
-the terms of any separate license agreement you may have executed
-with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade
-names, trademarks, service marks, or product names of the Licensor,
-except as required for reasonable and customary use in describing the
-origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or
-agreed to in writing, Licensor provides the Work (and each
-Contributor provides its Contributions) on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-implied, including, without limitation, any warranties or conditions
-of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-PARTICULAR PURPOSE. You are solely responsible for determining the
-appropriateness of using or redistributing the Work and assume any
-risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory,
-whether in tort (including negligence), contract, or otherwise,
-unless required by applicable law (such as deliberate and grossly
-negligent acts) or agreed to in writing, shall any Contributor be
-liable to You for damages, including any direct, indirect, special,
-incidental, or consequential damages of any character arising as a
-result of this License or out of the use or inability to use the
-Work (including but not limited to damages for loss of goodwill,
-work stoppage, computer failure or malfunction, or any and all
-other commercial damages or losses), even if such Contributor
-has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing
-the Work or Derivative Works thereof, You may choose to offer,
-and charge a fee for, acceptance of support, warranty, indemnity,
-or other liability obligations and/or rights consistent with this
-License. However, in accepting such obligations, You may act only
-on Your own behalf and on Your sole responsibility, not on behalf
-of any other Contributor, and only if You agree to indemnify,
-defend, and hold each Contributor harmless for any liability
-incurred by, or claims asserted against, such Contributor by reason
-of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS
-
-APPENDIX: How to apply the Flora License to your work
-
-To apply the Flora License to your work, attach the following
-boilerplate notice, with the fields enclosed by brackets "[]"
-replaced with your own identifying information. (Don't include
-the brackets!) The text should be enclosed in the appropriate
-comment syntax for the file format. We also recommend that a
-file or class name and description of purpose be included on the
-same "printed page" as the copyright notice for easier
-identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Flora License, Version 1.1 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://floralicense.org/license/
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
diff --git a/NOTICE.Flora b/NOTICE.Flora
deleted file mode 100644
index 73f7581..0000000
--- a/NOTICE.Flora
+++ /dev/null
@@ -1,4 +0,0 @@
-Copyright (c) Samsung Electronics Co., Ltd. All rights reserved.
-Except as noted, this software is licensed under Flora License, Version 1.1
-Please, see the LICENSE file for Flora License, Version 1.1 terms and conditions.
-
diff --git a/build_run.sh b/build_run.sh
deleted file mode 100755
index 01c5dea..0000000
--- a/build_run.sh
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/bin/bash
-
-BUILD="0"
-INSTALL="0"
-RUN="0"
-RUN_TEST="0"
-RUN_TEST_AND_APP="0"
-TESTAPP_FILE=~/GBS-ROOT/local/repos/tizen/i586/RPMS/org.tizen.ugmyfiletestapp-0.0.1-1.i586.rpm
-
-while : ; do
- case "$1" in
- --b)
- BUILD="1"
- shift ;;
- --i)
- INSTALL="1"
- shift ;;
- --r)
- RUN="1"
- shift ;;
- *)
- break ;;
- esac
-done
-
-
-if [ $BUILD == "1" ]; then
- echo "Build"
- cd tests/ugmyfiletestapp/
- set -e
- ./build.sh
- if [ $? == 1 ]; then
- echo "Build ugmyfiletestapp was fail"
- exit 1;
- fi
- cd ..
- cd ..
- gbs build -A i586 -R https://download.tizen.org/snapshots/2.2-emul/common/latest/repos/tizen-main/ia32/packages -R https://download.tizen.org/snapshots/2.2-emul/common/latest/repos/tizen-base/ia32/packages --buildroot=~/GBS-ROOT --extra-packs=zypper,gdb,gdb-server --skip-conf-repos --include-all --keep-packs
- if [ $? == 1 ]; then
- grep "error:" ~/GBS-ROOT/local/repos/tizen/i586/logs/fail/ug-myfile-efl-0.0.48-1/log
- exit 1;
- fi
-
-fi
-
-if [ $INSTALL == "1" ]; then
- ~/tizen-sdk/tools/sdb root on
- ~/tizen-sdk/tools/sdb shell rm -rf /tmp/rpm
- ~/tizen-sdk/tools/sdb shell mkdir /tmp/rpm
-
- ~/tizen-sdk/tools/sdb push ~/GBS-ROOT/local/repos/tizen/i586/RPMS/ug-myfile-efl-0.0.48-1.i586.rpm /tmp/rpm
-
- ~/tizen-sdk/tools/sdb shell pkgcmd --install --quiet --package-type rpm --package-path /tmp/rpm/ug-myfile-efl-0.0.48-1.i586.rpm
- if [ -e $TESTAPP_FILE ]; then
- ~/tizen-sdk/tools/sdb push $TESTAPP_FILE /tmp/rpm
- ~/tizen-sdk/tools/sdb shell pkgcmd --install --quiet --package-type rpm --package-path /tmp/rpm/org.tizen.ugmyfiletestapp-0.0.1-1.i586.rpm
- else
- echo "$UG_FILE not found"
- fi
-fi
-
-if [ $RUN == "1" ]; then
- echo "run"
- ~/tizen-sdk/tools/sdb shell /opt/apps/org.tizen.ugmyfiletestapp/bin/ugmyfiletestapp
-fi
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
deleted file mode 100644
index d3224f2..0000000
--- a/data/CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-# edje
-ADD_CUSTOM_TARGET(ug_navibar_layout.edj
- COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/image
- ${CMAKE_SOURCE_DIR}/data/ug_navibar_layout.edc
- ${CMAKE_BINARY_DIR}/ug_navibar_layout.edj
- DEPENDS ${CMAKE_SOURCE_DIR}/data/ug_navibar_layout.edc
-)
-
-ADD_DEPENDENCIES(${PROJECT_NAME} ug_navibar_layout.edj)
-
-INSTALL(FILES ${CMAKE_BINARY_DIR}/ug_navibar_layout.edj DESTINATION ${EDJDIR})
-# images
-INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/data/icons/ DESTINATION ${IMAGEDIR} FILES_MATCHING PATTERN "*.png"
-PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE)
-
-# i18n
-ADD_SUBDIRECTORY(po)
-
diff --git a/data/ctrlbar_layout.edc b/data/ctrlbar_layout.edc
deleted file mode 100644
index 8f9d94e..0000000
--- a/data/ctrlbar_layout.edc
+++ /dev/null
@@ -1,44 +0,0 @@
-group
-{
- name: UG_GRP_CTRL_BAR;
- parts
- {
- part
- {
- name: "base";
- type: RECT;
- repeat_events: 0;
- scale: 1;
- description
- {
- state: "default" 0.0;
- min: 0 100;
- color: 0 0 0 0;
- fixed: 0 1;
- }
- }
-
- part
- {
- name: "content";
- type: SWALLOW;
- repeat_events: 0;
- //scale: 1;
- description
- {
- state: "default" 0.0;
- fixed: 1 0;
- align: 0 0;
- min: 0 100;
- rel1
- {
- relative: 0.0 0.0;
- }
- rel2
- {
- relative: 1.0 1.0;
- }
- }
- }
- }
-}
diff --git a/data/effect_model_list.edc b/data/effect_model_list.edc
deleted file mode 100644
index 9e30657..0000000
--- a/data/effect_model_list.edc
+++ /dev/null
@@ -1,114 +0,0 @@
-group
-{
- name: UG_GRP_LIST;
- parts
- {
- part
- {
- name: "icon";
- type: RECT;
- mouse_events: 0;
- scale: 1;
- description
- {
- state: "default" 0.0;
- max : UG_THUMBNAIL_W UG_THUMBNAIL_H;
- fixed: 1 1;
- align: 0.5 0.5;
- aspect: 1.0 1.0;
- rel1
- {
- relative: 0.0 0.0;
- }
- rel2
- {
- relative: 1.0 1.0;
- }
- visible: 0;
- color: 0 0 0 255;
- }
- description
- {
- state: "min" 0.0;
- inherit: "default" 0.0;
- max: 0 0;
- }
- description
- {
- state: "level1" 0.0;
- inherit: "default" 0.0;
- rel1
- {
- relative: 0.0 0.0;
- }
- rel2
- {
- relative: 1.0 1.0;
- }
- }
- }
-
- part
- {
- name: "swallow_thumb";
- type: SWALLOW;
- mouse_events: 0;
-
- scale: 1;
- description
- {
- state: "default" 0.0;
- align: 0.5 0.5;
- rel1
- {
- to: "icon";
- }
- rel2
- {
- to: "icon";
- }
- }
- }
- part
- {
- name: "myfile.memory_icon.sub";
- type: SWALLOW;
- scale: 1;
- description
- {
- state: "default" 0.0;
- max : UG_MEMORY_SUB_THUMB_W UG_MEMORY_SUB_THUMB_H;
- min : UG_MEMORY_SUB_THUMB_W UG_MEMORY_SUB_THUMB_H;
- fixed: 1 1;
- rel1
- {
- relative:0.5 0.5; to:"icon";
- }
- rel2
- {
- relative:1.0 1.0;to:"icon";
- }
- }
- }
- }
- programs
- {
- program
- {
- name: "effect_gen";
- signal: "effect.gen";
- source: "thumb";
- action: STATE_SET "min" 0.0;
- target: "icon";
- after: "thumb_gen_1";
- }
- EFFECT_PROGRAMS("thumb_gen_1", "level1", "thumb_gen_2");
- program
- {
- name: "thumb_gen_2";
- action: STATE_SET "default" 0.0;
- target: "icon";
- transition: SINUSOIDAL 0.1;
- }
- }
-}
diff --git a/data/icons/Controlbar/U01_controlbar_cion_home.png b/data/icons/Controlbar/U01_controlbar_cion_home.png
deleted file mode 100644
index f521c9e..0000000
--- a/data/icons/Controlbar/U01_controlbar_cion_home.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/Controlbar/U01_controlbar_cion_home_press.png b/data/icons/Controlbar/U01_controlbar_cion_home_press.png
deleted file mode 100644
index ca24783..0000000
--- a/data/icons/Controlbar/U01_controlbar_cion_home_press.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/Controlbar/U01_controlbar_cion_up_folder_press.png b/data/icons/Controlbar/U01_controlbar_cion_up_folder_press.png
deleted file mode 100644
index b2fdb69..0000000
--- a/data/icons/Controlbar/U01_controlbar_cion_up_folder_press.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/U01_1st_icon_memory_card.png b/data/icons/U01_1st_icon_memory_card.png
deleted file mode 100644
index 277e976..0000000
--- a/data/icons/U01_1st_icon_memory_card.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/U01_1st_icon_phone.png b/data/icons/U01_1st_icon_phone.png
deleted file mode 100644
index 647b42b..0000000
--- a/data/icons/U01_1st_icon_phone.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_control_play.png b/data/icons/myfile_icon_control_play.png
deleted file mode 100644
index cca0393..0000000
--- a/data/icons/myfile_icon_control_play.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_control_play_press.png b/data/icons/myfile_icon_control_play_press.png
deleted file mode 100644
index 315cb44..0000000
--- a/data/icons/myfile_icon_control_play_press.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_copy.png b/data/icons/myfile_icon_copy.png
deleted file mode 100644
index 13c40bb..0000000
--- a/data/icons/myfile_icon_copy.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_create_folder.png b/data/icons/myfile_icon_create_folder.png
deleted file mode 100644
index d74811f..0000000
--- a/data/icons/myfile_icon_create_folder.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_delete.png b/data/icons/myfile_icon_delete.png
deleted file mode 100644
index faaa0d3..0000000
--- a/data/icons/myfile_icon_delete.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_edit.png b/data/icons/myfile_icon_edit.png
deleted file mode 100644
index 4ddc598..0000000
--- a/data/icons/myfile_icon_edit.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_etc.png b/data/icons/myfile_icon_etc.png
deleted file mode 100644
index 0cc767d..0000000
--- a/data/icons/myfile_icon_etc.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_excel.png b/data/icons/myfile_icon_excel.png
deleted file mode 100644
index 109b7de..0000000
--- a/data/icons/myfile_icon_excel.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_folder.png b/data/icons/myfile_icon_folder.png
deleted file mode 100644
index d53be43..0000000
--- a/data/icons/myfile_icon_folder.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_folder_open.png b/data/icons/myfile_icon_folder_open.png
deleted file mode 100644
index 85e0f19..0000000
--- a/data/icons/myfile_icon_folder_open.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_html.png b/data/icons/myfile_icon_html.png
deleted file mode 100644
index 78646b4..0000000
--- a/data/icons/myfile_icon_html.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_images.png b/data/icons/myfile_icon_images.png
deleted file mode 100644
index 4dd3be3..0000000
--- a/data/icons/myfile_icon_images.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_list_by.png b/data/icons/myfile_icon_list_by.png
deleted file mode 100644
index 0c17352..0000000
--- a/data/icons/myfile_icon_list_by.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_mmc_sub.png b/data/icons/myfile_icon_mmc_sub.png
deleted file mode 100644
index faced52..0000000
--- a/data/icons/myfile_icon_mmc_sub.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_move.png b/data/icons/myfile_icon_move.png
deleted file mode 100644
index fdc8c8a..0000000
--- a/data/icons/myfile_icon_move.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_move_here.png b/data/icons/myfile_icon_move_here.png
deleted file mode 100644
index 06e7946..0000000
--- a/data/icons/myfile_icon_move_here.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_music.png b/data/icons/myfile_icon_music.png
deleted file mode 100644
index 9909d9c..0000000
--- a/data/icons/myfile_icon_music.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_paste_here.png b/data/icons/myfile_icon_paste_here.png
deleted file mode 100644
index 13c40bb..0000000
--- a/data/icons/myfile_icon_paste_here.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_pdf.png b/data/icons/myfile_icon_pdf.png
deleted file mode 100644
index 2480d81..0000000
--- a/data/icons/myfile_icon_pdf.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_phone.png b/data/icons/myfile_icon_phone.png
deleted file mode 100644
index 1c92369..0000000
--- a/data/icons/myfile_icon_phone.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_ppt.png b/data/icons/myfile_icon_ppt.png
deleted file mode 100644
index 42c1100..0000000
--- a/data/icons/myfile_icon_ppt.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_rss.png b/data/icons/myfile_icon_rss.png
deleted file mode 100644
index 1b566e2..0000000
--- a/data/icons/myfile_icon_rss.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_search.png b/data/icons/myfile_icon_search.png
deleted file mode 100644
index ff46fa3..0000000
--- a/data/icons/myfile_icon_search.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_share.png b/data/icons/myfile_icon_share.png
deleted file mode 100644
index c1a20b5..0000000
--- a/data/icons/myfile_icon_share.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_store_here.png b/data/icons/myfile_icon_store_here.png
deleted file mode 100644
index 65290d8..0000000
--- a/data/icons/myfile_icon_store_here.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_svg.png b/data/icons/myfile_icon_svg.png
deleted file mode 100644
index 64a841c..0000000
--- a/data/icons/myfile_icon_svg.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_swf.png b/data/icons/myfile_icon_swf.png
deleted file mode 100644
index ee50e85..0000000
--- a/data/icons/myfile_icon_swf.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_text.png b/data/icons/myfile_icon_text.png
deleted file mode 100644
index c937ef8..0000000
--- a/data/icons/myfile_icon_text.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_upper_folder_black_theme.png b/data/icons/myfile_icon_upper_folder_black_theme.png
deleted file mode 100644
index 050c295..0000000
--- a/data/icons/myfile_icon_upper_folder_black_theme.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_upper_folder_focus.png b/data/icons/myfile_icon_upper_folder_focus.png
deleted file mode 100644
index d8dd048..0000000
--- a/data/icons/myfile_icon_upper_folder_focus.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_upper_folder_white_theme.png b/data/icons/myfile_icon_upper_folder_white_theme.png
deleted file mode 100644
index e3853c1..0000000
--- a/data/icons/myfile_icon_upper_folder_white_theme.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_video.png b/data/icons/myfile_icon_video.png
deleted file mode 100644
index a8e832a..0000000
--- a/data/icons/myfile_icon_video.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_video_play.png b/data/icons/myfile_icon_video_play.png
deleted file mode 100644
index bbde433..0000000
--- a/data/icons/myfile_icon_video_play.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_icon_word.png b/data/icons/myfile_icon_word.png
deleted file mode 100644
index b399bad..0000000
--- a/data/icons/myfile_icon_word.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_thumbnail_icon_excel.png b/data/icons/myfile_thumbnail_icon_excel.png
deleted file mode 100644
index c5ff6e6..0000000
--- a/data/icons/myfile_thumbnail_icon_excel.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_thumbnail_icon_folder.png b/data/icons/myfile_thumbnail_icon_folder.png
deleted file mode 100644
index c4b91e1..0000000
--- a/data/icons/myfile_thumbnail_icon_folder.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_thumbnail_icon_folder_open.png b/data/icons/myfile_thumbnail_icon_folder_open.png
deleted file mode 100644
index d928ea2..0000000
--- a/data/icons/myfile_thumbnail_icon_folder_open.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_thumbnail_icon_html.png b/data/icons/myfile_thumbnail_icon_html.png
deleted file mode 100644
index 2e99180..0000000
--- a/data/icons/myfile_thumbnail_icon_html.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_thumbnail_icon_music.png b/data/icons/myfile_thumbnail_icon_music.png
deleted file mode 100644
index 54c18e7..0000000
--- a/data/icons/myfile_thumbnail_icon_music.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_thumbnail_icon_pdf.png b/data/icons/myfile_thumbnail_icon_pdf.png
deleted file mode 100644
index 30ea8e9..0000000
--- a/data/icons/myfile_thumbnail_icon_pdf.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_thumbnail_icon_ppt.png b/data/icons/myfile_thumbnail_icon_ppt.png
deleted file mode 100644
index bb97df2..0000000
--- a/data/icons/myfile_thumbnail_icon_ppt.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_thumbnail_icon_rss.png b/data/icons/myfile_thumbnail_icon_rss.png
deleted file mode 100644
index 8fc1384..0000000
--- a/data/icons/myfile_thumbnail_icon_rss.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_thumbnail_icon_svg.png b/data/icons/myfile_thumbnail_icon_svg.png
deleted file mode 100644
index 92b89e0..0000000
--- a/data/icons/myfile_thumbnail_icon_svg.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_thumbnail_icon_swf.png b/data/icons/myfile_thumbnail_icon_swf.png
deleted file mode 100644
index 8d1278d..0000000
--- a/data/icons/myfile_thumbnail_icon_swf.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_thumbnail_icon_text.png b/data/icons/myfile_thumbnail_icon_text.png
deleted file mode 100644
index 39cdc23..0000000
--- a/data/icons/myfile_thumbnail_icon_text.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_thumbnail_icon_unkown.png b/data/icons/myfile_thumbnail_icon_unkown.png
deleted file mode 100644
index 37a22ec..0000000
--- a/data/icons/myfile_thumbnail_icon_unkown.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_thumbnail_icon_video.png b/data/icons/myfile_thumbnail_icon_video.png
deleted file mode 100644
index b4c1c66..0000000
--- a/data/icons/myfile_thumbnail_icon_video.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_thumbnail_icon_video_play.png b/data/icons/myfile_thumbnail_icon_video_play.png
deleted file mode 100644
index 4fe90b2..0000000
--- a/data/icons/myfile_thumbnail_icon_video_play.png
+++ /dev/null
Binary files differ
diff --git a/data/icons/myfile_thumbnail_icon_word.png b/data/icons/myfile_thumbnail_icon_word.png
deleted file mode 100644
index ef5b578..0000000
--- a/data/icons/myfile_thumbnail_icon_word.png
+++ /dev/null
Binary files differ
diff --git a/data/image/No_ex_stor.png b/data/image/No_ex_stor.png
deleted file mode 100644
index 248bd36..0000000
--- a/data/image/No_ex_stor.png
+++ /dev/null
Binary files differ
diff --git a/data/image/myfile_nocontent.png b/data/image/myfile_nocontent.png
deleted file mode 100644
index 0c4a33b..0000000
--- a/data/image/myfile_nocontent.png
+++ /dev/null
Binary files differ
diff --git a/data/navigation_view.edc b/data/navigation_view.edc
deleted file mode 100644
index 38cc952..0000000
--- a/data/navigation_view.edc
+++ /dev/null
@@ -1,194 +0,0 @@
-group
-{
- name: UG_GRP_NAVI_VIEW;
- parts
- {
- part
- {
- name: "background";
- type: RECT;
- mouse_events: 0;
- description
- {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; }
- rel2 { relative: 1.0 1.0; }
- color: 0 0 0 0;
- }
- }
- part
- {
- name: "part1";
- type: SWALLOW;
- repeat_events: 1;
- description
- {
- state: "default" 0.0;
- align: 0.5 0.0;
- rel1
- {
- relative: 0.0 0.0;
- }
- rel2
- {
- relative: 1.0 0.9;
- }
- }
- description
- {
- state: "short" 0.0;
- align: 0.5 0.0;
- rel1
- {
- relative: 0.0 0.1;
- }
- rel2
- {
- relative: 1.0 0.9;
- }
- }
-
- }
-
- part
- {
- name: "title";
- type: SWALLOW;
- repeat_events: 1;
- description
- {
- state: "default" 0.0;
- align: 0.5 0.0;
- rel1
- {
- relative: 0.0 0.0;
- }
- rel2
- {
- relative: 1.0 0.1;
- }
- }
- description
- {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
-
- }
-
- part
- {
- name: "sel_contents";
- type: SWALLOW;
- description
- {
- state: "default" 0.0;
- fixed: 0 1;
- align: 0.5 1.0;
- rel1
- {
- relative: 0.0 0.85;
- to:"part1";
- }
- rel2
- {
- relative: 1.0 1.0;
- offset: 1 1;
- to:"part1";
- }
-
- }
- description
- {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
- part
- {
- name: "toolbar_button";
- type: SWALLOW;
- scale: 1;
- description
- {
- state: "default" 0.0;
- fixed: 1 0;
- align: 0 0;
- rel1
- {
- relative: 0.0 0.90;
- }
- rel2
- {
- relative: 1.0 1.0;
- }
- }
- description
- {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
-
- }
- }
- programs
- {
- program
- {
- name: "show";
- signal: "show,selection,info";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "sel_contents";
- }
- program
- {
- name: "hide";
- signal: "hide,selection,info";
- source: "elm";
- action: STATE_SET "hide" 0.0;
- target: "sel_contents";
- }
- program
- {
- name: "show_toolbar";
- signal: "show,toolbar,button";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "toolbar_button";
- }
- program
- {
- name: "hide_toolbar";
- signal: "hide,toolbar,button";
- source: "elm";
- action: STATE_SET "hide" 0.0;
- target: "toolbar_button";
- }
- program
- {
- name: "show_title";
- signal: "show,title,button";
- source: "elm";
- action: STATE_SET "default" 0.0;
- target: "title";
- action: STATE_SET "short" 0.0;
- target: "part1";
- }
- program
- {
- name: "hide_title";
- signal: "hide,title,button";
- source: "elm";
- action: STATE_SET "hide" 0.0;
- target: "title";
- action: STATE_SET "default" 0.0;
- target: "part1";
-
- }
-
- }
-}
diff --git a/data/no_storage.edc b/data/no_storage.edc
deleted file mode 100644
index a9408c4..0000000
--- a/data/no_storage.edc
+++ /dev/null
@@ -1,178 +0,0 @@
-group
-{
- name: UG_GRP_NO_CONTENT;
- images
- {
- image: "myfile_nocontent.png" COMP;
- image: "No_ex_stor.png" COMP;
- }
- parts
- {
- part
- {
- name: "background";
- type: RECT;
- mouse_events: 0;
- description
- {
- state: "default" 0.0;
- rel1
- {
- relative: 0.0 0.0;
- offset: CTRLBAR_PADDING_X CTRLBAR_PADDING_Y;
- }
- rel2
- {
- relative: 1.0 1.0;
- offset: -CTRLBAR_PADDING_X -CTRLBAR_PADDING_Y;
- }
- color: COLOR_BLACK;
- }
- }
- part
- {
- name: "nocontents.image";
- description
- {
- state: "default" 0.0;
- visible: 1;
- align: 0.5 0.5;
- min: 200 235;
- max: 200 235;
- rel1
- {
- relative: NOCONTENT_IMAGE_REL1_WIDTH_HEIGHT_INC;
- to: "background";
- }
- rel2
- {
- relative: NOCONTENT_IMAGE_REL2_WIDTH_HEIGHT_INC;
- to: "background";
- }
- image
- {
- normal: "myfile_nocontent.png";
- border: 1 1 1 1;
- border_scale: 1;
- }
- aspect: 1.0 1.0;
- aspect_preference: BOTH;
- color: COLOR_WHITE;
- }
- description
- {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
-
- description
- {
- state: "no_ext" 0.0;
- visible: 1;
- align: 0.5 0.5;
- min: 200 235;
- max: 200 235;
- rel1
- {
- relative: NOCONTENT_IMAGE_REL1_WIDTH_HEIGHT_INC;
- to: "background";
- }
- rel2
- {
- relative: NOCONTENT_IMAGE_REL2_WIDTH_HEIGHT_INC;
- to: "background";
- }
- image
- {
- normal: "No_ex_stor.png";
- border: 1 1 1 1;
- border_scale: 1;
- }
- aspect: 1.0 1.0;
- aspect_preference: BOTH;
- color: COLOR_WHITE;
- }
- description
- {
- state: "hide_ext" 0.0;
- inherit: "no_ext" 0.0;
- visible: 0;
- }
-
- }
-
- part
- {
- name: "middle.padding";
- type: RECT;
- scale: 1;
- description
- {
- state: "default" 0.0;
- visible: 0;
- min: 1 NOCONTENT_MIDDLE_PADDING_INC;
- max: 1 NOCONTENT_MIDDLE_PADDING_INC;
- align: 0.5 0.0;
- rel1
- {
- relative: 0.0 1.0;
- to_y: "nocontents.image";
- }
- }
- }
-
- part
- {
- name: "message";
- type: TEXT;
- repeat_events: 0;
- description
- {
- state: "default" 0.0;
- align: 0.5 0.5;
- rel1
- {
- relative: 0.0 1.0;
- to_x: "background";
- to_y: "middle.padding";
- }
- rel2
- {
- relative: 1.0 1.0;
- to_x: "background";
- to_y: "middle.padding";
- }
- text
- {
- text: " ";
- align: 0.5 0.5;
- size: 40;
- font: "sans";
- min: 1 1;
- }
- }
- }
- }
- programs
- {
- program
- {
- name: "show_no_mem";
- signal: "show,no,memcard";
- source: "elm";
- action: STATE_SET "hide_ext" 0.0;
- action: STATE_SET "default" 0.0;
- target: "nocontents.image";
- }
- program
- {
- name: "hide";
- signal: "show,no,ext";
- source: "elm";
- action: STATE_SET "hide" 0.0;
- action: STATE_SET "no_ext" 0.0;
- target: "nocontents.image";
- }
- }
-}
diff --git a/data/pathinfo.edc b/data/pathinfo.edc
deleted file mode 100644
index 9a6fc60..0000000
--- a/data/pathinfo.edc
+++ /dev/null
@@ -1,112 +0,0 @@
-group
-{
- name: UG_GRP_PATH_INFO;
- parts
- {
- #if 0
- part
- {
- name: "info";
- type: SWALLOW;
- repeat_events: 0;
- scale: 1;
- description
- {
- state: "default" 0.0;
- min: 0 PATH_INFO_H;
- }
- }
- #endif
-
- part
- {
- name: "base";
- type: RECT;
- repeat_events: 0;
- scale: 1;
- description
- {
- state: "default" 0.0;
- min: UG_MAIN_W PATH_INFO_H;
- color: PATH_INFO_BG_COLOR;
- }
- }
- part
- {
- name: "bg";
- type: RECT;
- clip_to: "disclip";
- repeat_events: 0;
- mouse_events: 0;
- description
- {
- state: "default" 0.0;
- color: PATH_INFO_BG_COLOR;
- }
- }
- MF_UG_PART_PADDING_TOP(0)
- MF_UG_PART_PADDING_BOTTOM( 0 )
- MF_UG_PART_PADDING_LEFT( 10 )
- part
- {
- name: "bottom_line";
- type: RECT;
- mouse_events: 0;
- description
- {
- state: "default" 0.0;
- min: 0 1;
- fixed: 0 1;
- visible: 1;
- color: BOTTOM_LINE_COLOR;
- rel1
- {
- relative: 0.0 1.0;
- offset: 0 -1;
- }
- }
- }
- part
- {
- name: "info";
- type: TEXT;
- scale: 1;
- description
- {
- state: "default" 0.0;
- align: 0.0 0.5;
- rel1
- {
- relative: 1.0 1.0;
- offset: 0 0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.top";
- }
- rel2
- {
- relative: 1.0 0.0;
- offset: 0 0;
- to_x: "elm.padding.left";
- to_y: "elm.padding.bottom";
- }
- color: 255 255 255 255;
- text
- {
- font: "SLP:style=Medium";
- size: 32;
- min: 1 1;
- align: 0.0 0.5;
- }
- }
- }
- part
- {
- name: "disclip";
- type: RECT;
- description
- {
- state: "default" 0.0;
- }
- }
- }
-}
diff --git a/data/po/CMakeLists.txt b/data/po/CMakeLists.txt
deleted file mode 100644
index 828e3a5..0000000
--- a/data/po/CMakeLists.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-# for i18n
-
-SET(POFILES bg.po cs.po el_GR.po en_US.po et.po fr_CA.po gl.po hu.po it_IT.po kk.po
-es_MX.po lv.po nb.po ro.po sl.po tr_TR.po uz.po zh_SG.po az.po de_DE.po en.po fi.po ga.po hr.po is.po ka.po lt.po pl.po pt_PT.po sk.po sv.po zh_HK.po ar.po ca.po da.po en_PH.po es_ES.po eu.po fr_FR.po hi.po hy.po ja_JP.po ko_KR.po mk.po nl_NL.po pt_BR.po ru_RU.po sr.po uk.po zh_CN.po zh_TW.po)
-
-SET(MSGFMT "/usr/bin/msgfmt")
-
-FOREACH(pofile ${POFILES})
- SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile})
- MESSAGE("PO: ${pofile}")
- GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE)
- GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE)
- SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo)
- ADD_CUSTOM_COMMAND(
- OUTPUT ${moFile}
- COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
- DEPENDS ${absPofile}
- )
- INSTALL(FILES ${moFile}
- DESTINATION /usr/ug/res/locale/${lang}/LC_MESSAGES RENAME ${MFUGNAME}.mo)
- SET(moFiles ${moFiles} ${moFile})
-ENDFOREACH(pofile)
-
-MESSAGE(".mo files: ${moFiles}")
-ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles})
diff --git a/data/po/POTFILES.in b/data/po/POTFILES.in
deleted file mode 100644
index 92bd4d0..0000000
--- a/data/po/POTFILES.in
+++ /dev/null
@@ -1,17 +0,0 @@
-# List of source files containing translatable strings.
-src_ug/myfile_sg_lib.c
-src_ug/ug/myfile_lib_ug.c
-src_ug/ug/myfileCallBack.c
-src_ug/ug/myfileUtil.c
-src_ug/libraries/platform-wrapper/myfile_filemanagerservice_wrapper.c
-src_ug/libraries/winset-wrapper/myfileContent.c
-src_ug/libraries/winset-wrapper/myfileContextPopup.c
-src_ug/libraries/winset-wrapper/myfileControlBar.c
-src_ug/libraries/winset-wrapper/myfileInput.c
-src_ug/libraries/winset-wrapper/myfileLayout.c
-src_ug/libraries/winset-wrapper/myfileListPlay.c
-src_ug/libraries/winset-wrapper/myfileListView.c
-src_ug/libraries/winset-wrapper/myfileNavigationBar.c
-src_ug/libraries/winset-wrapper/myfilePopup.c
-src_ug/launch/myfileGadgetImageViewer.c
-src_ug/launch/myfileLaunch.c
diff --git a/data/po/ar.po b/data/po/ar.po
deleted file mode 100644
index d74d85b..0000000
--- a/data/po/ar.po
+++ /dev/null
@@ -1,317 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "لأعلى"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "الرئيسية"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "عرض عبر اللائحة"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "عرض عبر المختصرات"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "فشل المسح"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "ملف DRM. يتعذر الإرسال"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "اسم الملف غير صالح"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "تجاوز الحد الأقصى لعدد المجلدات"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "تم رفض الإذن"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "فشل الإرسال"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "مجلد الوجهة هو مجلد فرعي من مجلد المصدر"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "هذا الملف غير موجود"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "يتعذر النسخ"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "يتعذر النقل"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "لا توجد مساحة كافية بذاكرة الهاتف. احذف بعض العناصر وحاول مرة أخرى"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "فشل النسخ"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "فشل النقل"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "الذاكرة لا تكفي. متوفر %s"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "نفس الاسم مستخدم مسبقا"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "يتعذر النقل. المجلد الوجهة نفس المجلد المصدر"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "إنشاء مجلد"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "لصق هنا"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "تنبيهات"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "خلفيات الشاشة"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "الهاتف"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "الصور"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "الفيديو"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "الأصوات"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "ملفات محملة"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "بطاقة الذاكرة"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "‏‫التخزين الخارجي"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "تعديل"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "مسح"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "نقل"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "أعلى"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "نقل إلى هنا"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "نسخ"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "فرز حسب"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "بحث"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "المزيد"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "إنشاء مجلد"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "اسم المجلد"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "ألبومي"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "عرض ﻜ"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "رجوع"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "مشاهد الفيديو الخاصة"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "حالة الحقوق"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "التاجر"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "العدد"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "يحتوي على"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "فردي"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "الفترة"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "إعادة تسمية"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "التوقيت"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "عداد محدد زمنيا"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "النوع"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "غير محدود"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "استبدال"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "نغمة رنين المتصل"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "الاسم"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "تم النسخ"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "لا شيء محدد"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "الذاكرة لا تكفي"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "لا يوجد ذاكرة كافية. امسح بعض العناصر"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "تاريخ الإنشاء"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "معلومات GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "خط عرض GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "خط طول GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "إصدار GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "التفاصيل"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "أي"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "الاستخدامات المتوفرة"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "تنفيذ"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "التحويل"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "غير ممكن"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "يتم الآن تهيئة بيانات MMC..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "ممكن"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "طباعة"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "الصلاحية"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "مجلد جديد"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "تعديل"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "فرز بواسطة"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "نقل إلى هنا"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "متابعة"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "جاري النسخ..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "لصق هنا"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "نوع ملف غير مدعوم"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "عرض مفصل"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "تصاعديا"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "تنازليا"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "الكل"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "أعلى"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "بحث في جميع المجلدات"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "عرض مختصر"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "إظهار امتداد الملفات"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "فرز بواسطة"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "القائمة والتفاصيل"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "إخفاء امتداد الملفات"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "الاسم (من أ إلى ي)‬"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "الاسم (من ي إلى أ)‬"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "التاريخ (الأحدث)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "التاريخ (الأقدم)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "ذهاب إلى ملفاتي"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "نغمات الرنين"
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "تصدير هنا"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "يتعذر تعيين محتوى محمي بـ DRM كنغمة رنين أو كتنبيه إخطار"
-
diff --git a/data/po/az.po b/data/po/az.po
deleted file mode 100644
index 0a8983c..0000000
--- a/data/po/az.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Yuxarı"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Ev"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Siyahı ilə görüntülə"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Miniatur goruntusu ile gozden kecir"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Silmək mümkün olmadı"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM faylı. Göndərmək mümkün deyil"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Yanlış fayl adı"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Maksimum qovluq sayına çatıldı"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "İcazə rədd edildi"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Göndərmə alınmadı"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Təyin edilmiş yer üçün qovluq mənbə qovluğunun alt qovluğudur"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Bu fayl mövcud deyil"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Surətini köçürmək mümkün deyildir"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Yerini dəyişdirmək mümkün deyil"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Telefon yaddaşında kifayət qədər yaddaş yoxdur. Bəzi elementləri silin və yenidən cəhd edin"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Köçürülmə baş tutmadı"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Keçmə alınmadı"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Yaddaş yetərsizdir. %s yerləşdirmək mümkündür"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Eyni ad hazırda istifadə edilir"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr " Yerini dəyişmək mümkün deyildir. Hədəf qovluq mənbə qovluğu ilə eynidir"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Qovluq yaradın"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Buraya yapışdırın"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Siqnallar"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Divar kağızları"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Təsvirlər"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Video"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Səslər"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Yükləmələr"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Yaddaş kartı"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Xarici yaddaş"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Redaktə et"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Sil"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Apar"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Yuxarı"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Buraya keçin"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Köçür"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Nizamla"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Axtar"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Daha çox"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Qovluq yarat"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Qovluğun adı"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Mənim albomum"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "...kimi nəzərdən keçir"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Geriyə"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Mənim səsli kliplərim"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Düzgün status"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Tədarükçü"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Say"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Tərkibi"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Fərdi"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "İnterval"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Ad.dyş"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Vaxt"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Məhdud say"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Tip"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Limitsiz"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Əvəz et"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Zəng egənin zəng tonu"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Ad"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Surəti saxlanıldı"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "He nə seçilməmişdir"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Hip yaddaşda kifayət qədər yer yoxdur"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Yaddaş kifayət etmir. Xahiş olunur bəzi elementləri silin"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Yaradılmış tarix"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS məlumatı"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS en dairəsi"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS uzunluq dairəsi"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS versiyası"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Təfsilatlar"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Hər hansı"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "İstifadəsi mümkün olanlar"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "İcra et"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Göndərilir"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Mümkün deyil"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC məlumatı başladılır..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Mümkündür"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Çap et"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Etibarlılıq"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Yeni qovluq"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Redaktə et"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Sıralama qaydası"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Buraya keç"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Davam et"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Köçürülmə..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Buraya yapışdır"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Dəstəklənməyən fayl tipi"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Təfərrüat görünüşü"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Çoxalan"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Azalan"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Hamısını"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Yuxarı"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Bütün qovluqları axtar"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Miniatür görüntüsü"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Fayl genişlənməsini göstər"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Sıralama qaydası"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Siyahı və təfərrüatlar"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Fayl uzantısını gizlət"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Ad (A-dan Z-yə)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Ad (Z-dən A-ya)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Tarix (Ən son)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Tarix (Ən köhnə)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Fayllarıma daxil ol"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Zəng tonu"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Çıxış buradan"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "DRM ilə qorunan məzmunu zəng melodiyası və ya bildiriş xəbərdarlığı kimi qurmaq mümkün deyil"
-
diff --git a/data/po/bg.po b/data/po/bg.po
deleted file mode 100644
index c642bef..0000000
--- a/data/po/bg.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Нагоре"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Начало"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Изглед в списък"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Изглед с миниатюри"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Неуспешно изтриване"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM файл. Не може да се изпрати"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Невалидно име на файл"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Максималният брой папки достигнат"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Отказано разрешение"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Неуспешно изпращане"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Папката – назначение е подпапка на папката - източник"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Файлът не съществува"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Не може да се копира"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Не може да се премести"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Няма достатъчно памет в паметта на телефона. Изтрийте някои елементи и опитайте отново"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Копиране неуспешно"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Неуспешно преместване"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Няма достатъчно памет. %s свободни"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Такова име вече се използва"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Не може да се премести. Папката – назначение е същата като папката - източник"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Създай папка"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Постави тук"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Автоматичен запис"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Тапети"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Телефон"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Изображения"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Видеоклипове"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Звуци"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Изтеглени файлове"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Карта с памет"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Външна памет за съхр."
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Редактиране"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Изтрий"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Мести"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Нагоре"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Преместване тук"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Копирай"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Сортирай по"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Търсене"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Още"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Създаване на папка"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Име на папка"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Моят албум"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Виж като"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "НАЗАД"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Моите видеоклипове"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Състояние на правата"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Доставчик"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Броене"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Съдържа"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Индивидуален"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Интервал"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Преим."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Час"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Отброяване по време"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Тип"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Неограничен"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Замени"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Тон за звънене за повикващ"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Име"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Копирано"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Нищо не е избрано"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Няма достатъчно динамична памет"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Няма достатъчно памет. Изтрийте някои елементи"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Дата на създаване"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Данни от GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Географска ширина от GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Географска дължина от GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS версия"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Детайли"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Всеки"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Налични употреби"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Изпълни"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Препращане"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Невъзможно"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC данните се инициализират..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Lъзможно"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Отпечатаване"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Валидност"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Ръчно"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Редактиране"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Подреждане по"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Преместване тук"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Продължи"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Копиране..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Постави тук"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Неподдържан тип файл"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Подробен изглед"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Във възходящ ред"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "В низходящ ред"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Всички"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Нагоре"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Търс. във всички папки"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Екран миниатюри"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Покажи разширението на файл"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Сортиране по"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Списък и подробни данни"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Скрий разшир. на файл"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Име (A до Я)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Име (Я до А)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Дата (най-нови)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Дата (най-стари)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Отиди Моите файлове"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Мелодии"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Експортиране тук"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Защитеното с DRM съдържание не може да се задава като тон на звънене или предупреждение за уведомяване"
-
diff --git a/data/po/ca.po b/data/po/ca.po
deleted file mode 100644
index 2ca2d04..0000000
--- a/data/po/ca.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Amunt"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Pers."
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Veure per llista"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Veure per miniatura"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Error en esborrar"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Arxiu DRM. No es pot enviar"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Nom de fitxer no vàlid"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "S'ha assolit el nombre màxim de carpetes"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Permís denegat"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Error en enviar"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "La carpeta de destinació és una subcarpeta de la d'origen"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Aquest fitxer no existeix"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "No es pot copiar"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "No es pot moure"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "No hi ha prou espai a la memòria del telèfon. Esborri'n alguns elements i torni-ho a intentar"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Error en copiar"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Error en moure"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "No hi ha prou memòria. %s disponible"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "El mateix nom ja està en ús"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "No es pot moure. La carpeta de destinació és la mateixa que la d'origen"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Crear carpeta"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Enganxar aquí"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Avisos"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Fons de pantalla"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telèfon"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Imatges"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Vídeos"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Sons"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Descàrregues"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Targeta memòria"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Emmagatzematge extern"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Editar"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Esborrar"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Moure"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Amunt"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Moure aquí"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Copiar"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Ordenar per"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Cercar"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Més"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Crear carpeta"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Nom carpeta"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "El meu àlbum"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Veure com a"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Enrere"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Els meus videoclips"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Estat correcte"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Proveïdor"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Comptatge"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Conté"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individual"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Interval"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Reanom"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Hora"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Compte contrarellotge"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Tipus"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Il·limitat"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Substit"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Melodia de la persona que truca"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Nom"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Copiat"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "No s'ha seleccionat res"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "No hi ha prou memòria dinàmica"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "No hi ha prou memòria. Esborrar-ne alguns elements"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Data de creació"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Informació de GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Latitud GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Longitud GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Versió GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Detalls"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Qualsevol"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Usos disponibles"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Executar"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Reenviant"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "No és possible"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "S'estan inicialitzant les dades MMC..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Possible"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Imprimir"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Validesa"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Carpeta nova"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Editar"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Llistar per"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Moure aquí"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Continuar"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Copiant..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Enganxar aquí"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "No s'admet el tipus de fitxer"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Vista de detall"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Ascendent"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Descendent"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Tot"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Amunt"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Cercar totes les carp."
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Vista de miniatura"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Mostrar extensió de fitxer"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Ordenar per"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Llista i detalls"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Ocultar exten fitxer"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Nom (A a Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Nom (Z a A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Data (més recents)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Data (més antics)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Anar a Els meus fitxers"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Melodies"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Exportar aquí"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "No es pot definir contingut protegit per DRM com a melodia o avís de notificació"
-
diff --git a/data/po/cs.po b/data/po/cs.po
deleted file mode 100644
index d6eb8c8..0000000
--- a/data/po/cs.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Nahoru"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Domů"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Zobrazit podle seznamu"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Zobrazit podle miniatur"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Odstranění se nezdařilo"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Soubor DRM. Nelze odeslat"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Neplatný název souboru"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Bylo dosaženo maximálního počtu složek"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Povolení bylo odepřeno"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Chyba odeslání"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Cílová složka je podsložkou zdrojové složky"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Soubor neexistuje"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Nelze zkopírovat"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Nelze přesunout"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Nedostatek paměti v paměti telefonu. Odstraňte některé položky a opakujte akci"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Kopírování se nezdařilo"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Přesunutí se nezdařilo"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Nedostatek paměti. Zbývá: %s"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Stejný název je již použit"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Nelze přesunout. Cílová složka je shodná se zdrojovou složkou"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Vytvořit složku"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Vložit sem"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Výstrahy"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Pozadí"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Obrázky"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Videa"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Zvuky"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Stažené položky"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Paměťová karta"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Externí úložiště"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Upravit"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Odstranit"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Přesun"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Nahoru"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Přesunout sem"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Kopírovat"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Seřadit podle"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Hledat"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Další"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Vytvořit složku"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Název složky"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Moje album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Zobrazit jako"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Zpět"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Moje videoklipy"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Stav práv"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Dodavatel"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Počet"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Obsahuje"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individuální"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Interval"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Přejm."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Čas"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Násobek času"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Typ"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Neomezeno"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Nahradit"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Zvonění volajícího"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Jméno"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Zkopírováno"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Není nic vybráno"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Nedostatek zásobníkové paměti"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Nedostatek paměti. Odstraňte některé položky"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Datum vytvoření"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Informace GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Zeměpisná šířka GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Zeměpisná délka GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Verze GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Podrobnosti"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Vše"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Počet použití k dispozici"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Provést"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Předání"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Nemožné"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Probíhá inicializace dat MMC..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Možné"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Tisk"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Platnost"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Nová složka"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Upravit"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Seřadit podle"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Přesunout sem"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Pokračovat"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Kopírování..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Vložit sem"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Nepodporovaný typ souboru"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Podrobnosti"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Vzestupně"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Sestupně"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Vše"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Nahoru"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Hledat ve všech složk."
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Zobrazení miniatur"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Zobrazit příponu souborů"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Seřadit podle"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Seznam a detaily"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Skrýt příponu souborů"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Název (od A do Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Název (od Z do A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Datum (nejnovější)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Datum (nejstarší)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Jít do Moje soubory"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Zvonění"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Exportovat sem"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Obsah chráněný DRM není možné nastavit jako vyzváněcí tón nebo upozornění"
-
diff --git a/data/po/da.po b/data/po/da.po
deleted file mode 100644
index 0160efa..0000000
--- a/data/po/da.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Op"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Hjem"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Vis efter liste"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Vis efter miniature"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Sletning mislykkedes"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM-fil. Kan ikke sende"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Ugyldigt filnavn"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Det maksimale antal mapper er nået"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Tilladelse afslået"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Afsendelsen mislykkedes"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Destinationsmappen er en undermappe til kildemappen"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Fil findes ikke"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Kunne ikke kopiere"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Kunne ikke flytte"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Ikke tilstrækkelig telefonhukommelse. Slet nogle elementer, og prøv igen"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Kopiering mislykkedes"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Flytning mislykkedes"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Ikke tilstrækkelig hukommelse. %s er tilgængelig"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Det samme navn er allerede i brug"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Kunne ikke flytte. Destinationsmappen er den samme som kildemappen"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Opret mappe"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Sæt ind her"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Advarsler"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Baggrunde"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Billeder"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Videoklip"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Lyde"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Downloads"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Hukommelseskort"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Eksternt lager"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Redigér"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Slet"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Flyt"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Op"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Flyt hertil"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Kopiér"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Sortér efter"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Søg"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Mere"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Opret mappe"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Mappenavn"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Mit album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Vis som"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Tilbage"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Mine videoklip"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Status for rettigheder"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Sælger"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Antal"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Indeholder"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individuel"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Interval"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Omdøb"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Tid"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Tidsforbrug"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Type"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Ubegrænset"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Erstat"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Kontakt ringetone"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Navn"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Kopieret"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Intet er valgt"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Der er ikke tilstrækkelig heap-hukommelse"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Der er ikke tilstrækkelig hukommelse. Slet nogle elementer"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Oprettelsesdato"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS-oplysninger"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS-breddegrad"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS-længdegrad"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS Version"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Detaljer"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Vilkårlig"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Gange tilbage"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Udfør"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Viderestiller"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Ikke mulig"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC-data initialiserer..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Muligt"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Udskriv"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Gyldighed"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Ny mappe"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Redigér"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Sortér efter"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Flyt hertil"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Fortsæt"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Kopierer ..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Indsæt her"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Filtype understøttes ikke"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Detaljeret visning"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Stigende"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Faldende"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Alle"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Op"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Søg i alle mapper"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Miniaturevisning"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Vis filtypenavn"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Sortér efter"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Liste og detaljer"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Skjul filtypenavn"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Navn (A til Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Navn (Z til A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Dato (nyeste)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Dato (ældste)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Gå til Mine filer"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Ringetoner"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Eksportér her"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "DRM-beskyttet indhold kunne ikke indstilles som ringetone eller meddelelsesalarm"
-
diff --git a/data/po/de_DE.po b/data/po/de_DE.po
deleted file mode 100644
index 348cacf..0000000
--- a/data/po/de_DE.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Hoch"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Home"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Nach Liste anzeigen"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "In Miniaturansicht anzeigen"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Löschen fehlgeschlagen"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM-Datei. Kann nicht gesendet werden"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Dateiname ungültig"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Maximale Ordneranzahl erreicht"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Berechtigung abgelehnt"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Senden fehlgeschlagen"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Der Zielordner ist ein Unterordner des Quellordners"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Datei nicht vorhanden"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Kopieren nicht möglich"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Verschieben nicht möglich"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Nicht genügend Platz im Telefonspeicher. Löschen Sie einige Elemente und versuchen Sie es erneut."
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Kopieren fehlgeschlagen"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Verschieben fehlgeschlagen"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Nicht genügend Speicher. %s verfügbar"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Derselbe Name wird bereits verwendet"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Verschieben nicht möglich. Ziel- und Quellordner sind gleich"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Ordner erstellen"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Hier einfügen"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Signale"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Hintergrund"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Eigene Bilder"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Videos"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Töne"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Downloads"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Speicher-\nkarte"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Externer Speicher"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Bearbeiten"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Löschen"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Verschieben"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Hoch"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Hierher verschieben"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Kopieren"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Sortieren nach"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Suche"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Optionen"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Ordner erstellen"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Ordnername"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Eigenes Album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Anzeigen als"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Zurück"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Eigene Videos"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Copyright-Status"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Anbieter"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Anzahl"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Enthält"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individuell"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Intervall"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Umben."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Zeit"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Zeitzählung"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Typ"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Unbegrenzt"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Ersetzen"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Anruferklingelton"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Name"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Kopiert"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Nichts ausgewählt"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Nicht genügend dynamischer Speicher"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Nicht genügend Speicher. Löschen Sie einige Elemente"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Erstellungsdatum"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS-Informationen"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS-Breite"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS-Länge"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS-Version"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Details"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Jede"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Verfügbare Nutzungen"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Ausführen"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Weiterleitung"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Nicht möglich"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC-Daten werden initialisiert..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Möglich"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Drucken"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Gültigkeit"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Neuer Ordner"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Bearbeiten"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Sortieren"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Hierher verschieben"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Weiter"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Wird kopiert..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Hier einfügen"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Nicht unterstützter Dateityp"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Detailansicht"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Aufsteigend"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Absteigend"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Alle"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Hoch"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Alle Ordner durchsuchen"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Miniaturansicht"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Dateierweiterung anzeigen"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Sortieren nach"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Liste und Details"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Dateierweit. ausbl."
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Name (A bis Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Name (Z bis A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Datum (neueste)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Datum (älteste)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Eigene Dateien öffnen"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Klingeltöne"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Hier exportieren"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "DRM-geschützter Inhalt kann nicht als Klingelton oder Benachrichtigungston festgelegt werden."
-
diff --git a/data/po/el_GR.po b/data/po/el_GR.po
deleted file mode 100644
index 737c103..0000000
--- a/data/po/el_GR.po
+++ /dev/null
@@ -1,317 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Πάνω"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Home"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Προβολή ανά λίστα"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Προβολή μικρογραφιών"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Αποτυχία διαγραφής"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Αδύνατη αποστολή αρχείου DRM"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Μη έγκυρο όνομα αρχείου"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Μέγιστος"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Δεν έχετε δικαίωμα πρόσβασης"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Αποτυχία αποστολής"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Ο φάκελος προορισμού είναι υποφάκελος του φακέλου προέλευσης"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Δεν υπάρχει αρχείο"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Δεν είναι δυνατή η αντιγραφή"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Δεν είναι δυνατή η μετακίνηση"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Η μνήμη του τηλεφώνου δεν επαρκεί. Διαγράψτε ορισμένα στοιχεία και προσπαθήστε ξανά"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Αποτυχία αντιγραφής"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Αποτυχία μετακίνησης"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Δεν υπάρχει αρκετή μνήμη. Το στοιχείο %s είναι διαθέσιμο"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Το όνομα χρησιμοποιείται ήδη"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Δεν είναι δυνατή η μετακίνηση. Ο φάκελος προορισμού είναι ο ίδιος με το φάκελο προέλευσης"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Δημ/ργία φακέλου"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Επικόλληση εδώ"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Ειδοποιήσεις"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Θέματα φόντου"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Τηλέφωνο"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Εικόνες"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Βίντεο"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Ήχοι"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Λήψεις"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Κάρτα μνήμης"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Εξωτ. χώρος αποθήκ."
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Επεξεργ."
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Διαγραφή"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Μετακίνηση"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Πάνω"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Μετακίνηση εδώ"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Αντιγραφή"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Ταξινόμ. κατά"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Αναζήτηση"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Περισσότ."
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Δημ/ργία φακέλου"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Όνομα φακέλου"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Το άλμπουμ μου"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Προβολή ως"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Πίσω"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Τα βίντεο κλιπ μου"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Κατάσταση δικαιώματος"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Προμηθευτής"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Πλήθος αρχείων"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Περιέχει"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Μεμονωμένο"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Διάστημα"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Μετον."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Ώρα"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Χρονομετρημένη μέτρηση"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Τύπος"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Απεριόριστες"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Αντικατ."
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Ήχος κλήσης καλούντος"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Όνομα"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Αντιγράφηκε"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Δεν έχει γίνει καμία επιλογή"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Ο σωρός μνήμης δεν επαρκεί"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Δεν υπάρχει αρκετή μνήμη. Διαγράψτε ορισμένα στοιχεία"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Ημερομηνία δημιουργίας"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Πληροφορίες GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Γεωγραφικό πλάτος GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Γεωγραφικό μήκος GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Έκδοση GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Λεπτομ."
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Οποιοδήποτε"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Διαθέσιμες χρήσεις"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Εκτέλεση"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Προώθηση"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Αδύνατο"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Προετοιμασία των δεδομένων MMC..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Δυνατό"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Εκτύπωση"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Ισχύς"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Νέος φάκελος"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Επεξεργασία"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Εμφάνιση ανά"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Μετακίνηση εδώ"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Συνέχεια;"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Αντιγραφή..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Επικόλληση εδώ"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Μη υποστηριζόμενος τύπος αρχείου"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Προβολή λεπτομερειών"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Αύξουσα"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Φθίνουσα"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Όλα"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Πάνω"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Αναζ.σε όλους τους φακ."
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Προβολή μικρογραφιών"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Προβολή επέκτασης αρχείου"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Ταξινόμηση κατά"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Λίστα και λεπτομέρειες"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Απόκρ. επέκτασης αρχ."
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Όνομα (Α προς Ω)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Όνομα (Ω προς Α)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Ημερομηνία (Πιο πρόσφατο)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Ημερομηνία (Παλαιότερο)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Μετ. στα Αρχεία Μου"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Ήχοι κλήσης"
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Εξαγωγή εδώ"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Δεν είναι δυνατή η αποστολή περιεχομένου που προστατεύεται από DRM, ως ήχου κλήσης ή ειδοποίησης"
-
diff --git a/data/po/en.po b/data/po/en.po
deleted file mode 100644
index 46b7e74..0000000
--- a/data/po/en.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Up"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Home"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "View by list"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "View by thumbnail"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Delete failed"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM file. Cannot send"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Invalid file name"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Maximum folder reached"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Permission denied"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Send failed"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "The destination folder is a subfolder of the source folder"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "This file does not exist"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Unable to copy"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Unable to move"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Not enough memory in phone memory. Delete some items and try again"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Copying failed"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Moving failed"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Not enough memory. %s available"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Same name already in use"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Unable to move. Destination folder same as source folder"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Create folder"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Paste here"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Alerts"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Wallpapers"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Phone"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Images"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Videos"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Sounds"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Downloads"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Memory card"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "External storage"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Edit"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Delete"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Move"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Up"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Move here"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Copy"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Sort by"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Search"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "More"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Create folder"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Folder name"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "My album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "View as"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Back"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "My video clips"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Right status"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Vendor"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Count"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Contains"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individual"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Interval"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Rename"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Time"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Timed count"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Type"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Unlimited"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Replace"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Caller ringtone"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Name"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Copied"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Nothing selected"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Not enough heap memory"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Not enough memory. Delete some items"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Created date"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS information"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS latitude"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS longitude"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS version"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Details"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Any"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Available uses"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Execute"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Forwarding"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Impossible"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC data is initialising..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Possible"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Print"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Validity"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "New folder"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Edit"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "List by"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Move here"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Continue"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Copying..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Paste here"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Unsupported file type"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Detail view"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Ascending"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Descending"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "All"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Up"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Search all folders"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Thumbnail view"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Show file extension"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Sort by"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "List and details"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Hide file extension"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Name (A to Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Name (Z to A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Date (most recent)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Date (oldest)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Go to My Files"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Export here"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Unable to set DRM protected content as ringtone or notification alert"
-
diff --git a/data/po/en_PH.po b/data/po/en_PH.po
deleted file mode 100644
index db6a617..0000000
--- a/data/po/en_PH.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Up"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Home"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "View by list"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "View by thumbnail"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Delete failed"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM file. Cannot send"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Invalid file name"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Maximum folder reached"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Permission denied"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Send failed"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "The destination folder is a subfolder of the source folder"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "This file does not exist"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Unable to copy"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Unable to move"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Not enough memory in phone memory. Delete some items and try again"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Copying failed"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Moving failed"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Not enough memory. %s available"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Same name already in use"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Unable to move. Destination folder same as source folder"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Create folder"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Paste here"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Alerts"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Wallpapers"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Phone"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Images"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Videos"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Sounds"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Downloads"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Memory card"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "External storage"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Edit"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Delete"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Move"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Up"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Move here"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Copy"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Sort by"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Search"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "More"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Create folder"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Folder name"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "My album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "View as"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Back"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "My video clips"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Right status"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Vendor"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Count"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Contains"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individual"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Interval"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Rename"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Time"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Timed count"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Type"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Unlimited"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Replace"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Caller ringtone"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Name"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Copied"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Nothing selected"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Not enough heap memory"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Not enough memory. Delete some items"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Created date"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS information"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS latitude"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS longitude"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS version"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Details"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Any"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Available uses"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Execute"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Forwarding"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Impossible"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC data is initializing…"
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Possible"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Print"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Validity"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "New folder"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Edit"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "List by"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Move here"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Continue"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Copying..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Paste here"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Unsupported file type"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Detail view"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Ascending"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Descending"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "All"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Up"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Search all folders"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Thumbnail view"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Show file extension"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Sort by"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "List and details"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Hide file extension"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Name (A to Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Name (Z to A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Date (Most recent)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Date (Oldest)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Go to My Files"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Export here"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Unable to set DRM protected content as ringtone or notification alert"
-
diff --git a/data/po/en_US.po b/data/po/en_US.po
deleted file mode 100644
index 0b051b7..0000000
--- a/data/po/en_US.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Up"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Home"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "View by list"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "View by thumbnail"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Delete failed"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM file. Cannot send."
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Invalid file name"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Maximum folder reached"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Permission denied"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Send failed"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "The destination folder is a subfolder of the source folder"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "This file does not exist"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Unable to copy"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Unable to move"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Not enough memory in phone memory. Delete some items and try again."
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Copying failed"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Moving failed"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Not enough memory. %s available."
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Same name already in use"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Unable to move. Destination folder same as source folder."
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Create folder"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Paste here"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Alerts"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Wallpapers"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Phone"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Images"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Videos"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Sounds"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Downloads"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Memory card"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "External storage"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Edit"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Delete"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Move"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Up"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Move here"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Copy"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Sort by"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Search"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "More"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Create folder"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Folder name"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "My album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "View as"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Back"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "My video clips"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Right status"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Vendor"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Count"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Contains"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individual"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Interval"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Rename"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Time"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Timed count"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Type"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Unlimited"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Replace"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Caller ringtone"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Name"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Copied"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Nothing selected"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Not enough heap memory"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Not enough memory. Delete some items."
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Created date"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS information"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS latitude"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS longitude"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS version"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Details"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Any"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Available uses"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Execute"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Forwarding"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Impossible"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC data is initializing..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Possible"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Print"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Validity"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "New folder"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Edit"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "List by"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Move here"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Continue"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Copying..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Paste here"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Unsupported file type"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Detail view"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Ascending"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Descending"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "All"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Up"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Search all folders"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Thumbnail view"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Show file extension"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Sort by"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "List and details"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Hide file extension"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Name (A to Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Name (Z to A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Date (Most recent)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Date (Oldest)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Go to My Files"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Ringtones"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Export here"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Unable to set DRM protected content as ringtone or notification alert"
-
diff --git a/data/po/es_ES.po b/data/po/es_ES.po
deleted file mode 100644
index c8eb517..0000000
--- a/data/po/es_ES.po
+++ /dev/null
@@ -1,317 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Arriba"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Inicio"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Ver por lista"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Ver en miniaturas"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Error al borrar"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Archivo DRM. No se puede enviar"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Nombre de archivo no válido"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Máximo"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Permiso denegado"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Error de envío"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "La carpeta de destino es una subcarpeta de la carpeta de origen"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "El archivo no existe"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "No se puede copiar"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "No se puede mover"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "No hay espacio suficiente en la memoria del teléfono. Elimine algunos elementos y vuelva a intentarlo"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Error al copiar"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Error al mover"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "No hay memoria suficiente. %s disponible"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "El mismo nombre ya está en uso"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "No se puede mover. La carpeta de destino es la misma que la de origen"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Crear carpeta"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Pegar aquí"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Alertas"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Fondos de pantalla"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Teléfono"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Imágenes"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Vídeos"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Sonidos"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Descargas"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Tarjeta memoria"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Almacenamiento externo"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Editar"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Eliminar"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Mover"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Arriba"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Mover aquí"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Copiar"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Ordenar por"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Buscar"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Más"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Crear carpeta"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Nombre de carpeta"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Mi álbum"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Ver como"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Atrás"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Mis clips de vídeo"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Estado correcto"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Proveedor"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Contar"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Contiene"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individual"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Intervalo"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Renomb"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Hora"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Recuento de tiempo"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Tipo"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Ilimitado"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Reempl"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Melodía del llamante"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Nombre"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Copiado"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "No se ha seleccionado nada"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "No hay memoria de ejecución suficiente"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "No hay memoria suficiente. Elimine algunos elementos"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Fecha creada"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Información de GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Latitud GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Longitud GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Versión GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Detalles"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Cualquiera"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Usos disponibles"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Ejecutar"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Reenviando"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Imposible"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Los datos MMC se están inicializando..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Posible"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Imprimir"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Validez"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Nueva carpeta"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Editar"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Mostrar por"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Mover aquí"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Continuar"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Copiando..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Pegar aquí"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Tipo de archivo no admitido"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Vista de detalle"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Ascendente"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Descendente"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Todos"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Arriba"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Buscar todas las carp."
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Vista en miniatura"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Mostrar extensiones de los archivos"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Ordenar por"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Lista y detalles"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Ocultar ext archivo"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Nombre (A a Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Nombre (Z a A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Fecha (más reciente)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Fecha (más antiguo)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Ir a Mis archivos"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Melodías"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Exportar aquí"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "No se puede definir contenido protegido por DRM como melodía o alerta de notificación"
diff --git a/data/po/es_MX.po b/data/po/es_MX.po
deleted file mode 100644
index 1a8e7f9..0000000
--- a/data/po/es_MX.po
+++ /dev/null
@@ -1,297 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Arriba"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Inicio"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Ver por lista"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Ver como diapositiva"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Error al eliminar"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Archivo DRM. No se puede enviar"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Nombre de fichero incorrecto"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Máximo"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Permiso denegado"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Error de envío"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "La carpeta de destino es una subcarpeta de la carpeta de origen"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "El archivo no existe"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "No se puede copiar"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "No se puede mover"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Memoria insuficiente en la memoria del teléfono. Elimine algunos elementos e inténtelo de nuevo"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Error al copiar"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Error al mover"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Memoria insuficiente. %s disponible"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Ya existe ese nombre"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "No se puede mover. La carpeta de destino es la misma que la de origen"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Crear carpeta"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Pegar aquí"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Alertas"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Fondos de pantalla"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Teléfono"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Imágenes"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Videos"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Sonidos"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Descargas"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Tarjeta de memoria"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Almacenamiento externo"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Editar"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Eliminar"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Mover"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Arriba"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Mover aquí"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Copiar"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Ordenar por"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Buscar"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Más"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Crear carpeta"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Nombre de carpeta"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Mi álbum"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Ver por"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Atrás"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Mis videos"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Estados de derechos"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Proveedor"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Recuento"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Contenido"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individual"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Intervalo"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Renomb"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Fecha"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Recuento de tiempo"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Tipo"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Ilimitado"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Reempl."
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "ID del llamante"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Nombre"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Copiado"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "No se ha seleccionado nada"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "No hay suficiente área de memoria dinámica"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Memoria insuficiente. Elimine algunos elementos"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Crear fecha"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Información de GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Latitud GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Longitud GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Versión GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Detalles"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Cualquiera"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Usos disponibles"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Ejecutar"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Reenvío"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Imposible"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Los datos MMC se están inicializando..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Posible"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Imprimir"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Validez"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Nueva carpeta"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Editar"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Ordenar por"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Mover aquí"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Continuar"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Copiando..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Pegar aquí"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Tipo de archivo no admitido"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Vista de detalle"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Ascendente"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Descendente"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Todo"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Arriba"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Buscar en todas carp."
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Ver por miniatura"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Mostrar extensión del archivo"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Ordenar por"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Lista y detalles"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Exportar aquí"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Imposible definir el contenido protegido de DRM como tono de timbre o alerta de notificación"
-
diff --git a/data/po/et.po b/data/po/et.po
deleted file mode 100644
index e89ee6e..0000000
--- a/data/po/et.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Üles"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Avaleht"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Kuva loendi järgi"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Vaata pisipiltidena"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "BT-peakomplekt sees"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM kaitsega fail. Ei saa saata"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Vigane failinimi"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Saavutatud on maksimaalne kaustade arv"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Loast keelduti"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Saatmine nurjus"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Sihtkaust on lähtekausta alamkaust"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Seda faili pole olemas"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Ei saa kopeerida"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Ei saa teisaldada"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Telefoni mälus pole piisavalt vaba ruumi. Kustutage mõned üksused ja proovige uuesti"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Teisaldamine nurjus"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Teisaldamine nurjus"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Pole piisavalt mälu. %s saadaval"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "See nimi on juba kasutusel"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Ei saa teisaldada. Sihtkaust ühtib allikaga"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Loo kaust"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Kleebi siia"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Automaatne salvestamine"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Taustpildid"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Pildid"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Videod"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Helid"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Allalaet. failid"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Mälukaart"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Välismälu"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Muuda"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Kustuta"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Teisalda"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Üles"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Teisalda siia"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Kopeeri"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Sortimine:"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Otsi"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Veel"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Loo kaust"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Kausta nimi"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Minu album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Kuvamisviis"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Tagasi"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Minu videoklipid"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Õiguse olek"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Tarnija"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Loendamine"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Sisaldab"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individuaalne"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Intervall"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Nim üm"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Kellaaeg"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Piiratud aeg"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Tüüp"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Piiramatu"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Asenda"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Helistaja helin"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Nimi"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Kopeeritud"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Valik tegemata"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Ei ole piisavalt mälu"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Mälu pole piisavalt. Kustutage mõned üksused"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Loomise kuupäev"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS-teave"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS-laius"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS-pikkus"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS-i versioon"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Üksikasjad"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Ükskõik milline"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Võimalikud kasutusviisid"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Käivita"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Edastamine"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Võimatu"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC andmed lähtestatakse..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Võimalik"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Prindi"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Kehtivus"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Uus kaust"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Muuda"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Loendi järgi"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Teisalda siia"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Jätka"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Kopeerimine..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Kleebi siia"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Toetuseta failitüüp"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Üksikasjalik vaade"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Tõusev"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Langev"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Kõik"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Üles"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Otsi kaustadest"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Pisipildivaade"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Kuva faililaiend"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Sortimisalus"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Loend ja üksikasjad"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Peida faililaiend"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Nimi (A‒Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Nimi (Z‒A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Kuupäev (kõige hilisemast)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Kuupäev (kõige vanemast)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Mine Minu Failidesse"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Helinad"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Ekspordi siia"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "DRM-kaitsega sisu ei saa määrata helinaks või teavituse märguandeks"
-
diff --git a/data/po/eu.po b/data/po/eu.po
deleted file mode 100644
index ce87de9..0000000
--- a/data/po/eu.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Gora"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Etxea"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Zerrenda bidez ikusi"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Miniatura bidez ikusi"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Akatsa ezabatzerakoan"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM artxiboa. Ezin da bidali"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Fitxategi izen baliogabea"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Gehienezko karpeta kopurura heldu da"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Baimena ukatuta"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Akatsa bidaltzerakoan"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Helburu karpeta sorburu karpetaren azpi-karpeta bat da"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Fitxategia ez dago"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Ezin da kopiatu"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Ezin da mugitu"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Ez dago nahikoa memoria telefonoan. Ezabatu hainbat elementu eta saiatu berriz"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Errorea kopiatzerakoan"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Errorea mugitzerakoan"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Ez dago memoria nahikorik. %s erabilgarri"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Izen bera dagoeneko erabiltzen"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Ezin da mugitu. Jomugako karpeta jatorrizkoa bera da"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Sortu karpeta"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Hemen erantsi"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Abisuak"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Pantaila atzealdea"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefonoa"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Irudiak"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Bideoak"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Soinuak"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Deskargak"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Memoria txartela"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Kanpo memoria"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Editatu"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Ezabatu"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Mugitu"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Gora"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Hona mugitu"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Kopiatu"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Sailkatu honela"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Bilatu"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Gehiago"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Karpeta sortu"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Karpetaren izena"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Nire albuma"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Nola ikusi"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "ATZERA"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Nire bideo klipak"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Egoera egokia"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Hornitzailea"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Kontatu"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Edukiak"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Indibiduala"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Tartea"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Berrizend."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Ordua"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Mugatutako zenbaketa"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Mota"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Mugagabea"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Ordeztu"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Dei egilearen dei doinua"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Izena"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Kopiatuta"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Ez da ezer aukeratu"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Ez dago pilatutako memoria nahikoa"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Ez dago memoria nahikoa. Elementu batzuk ezabatu"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Sortutako data"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS informazioa"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS latitudea"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS longitudea"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS bertsioa"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Xehetasunak"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Edozein"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Erabilera eskuragarriak"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Abiarazi"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Birbidaltzea"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Ezinezkoa"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC datuak abiarazten..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Posible"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Inprimatu"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Baliozkotasuna"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Karpeta berria"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Editatu"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Honen arabera zerrendatu"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Hona mugitu"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Jarraitu"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Kopiatzen..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Hemen erantsi"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Fitxategi mota ez bateragarria"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Xehetasun ikuspegia"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Goranzkoa"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Beheranzkoa"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Guztia(k)"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Gora"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Bilatu karpeta guztiak"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Miniatura ikuspegia"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Erakutsi fitxategiaren luzapena"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Honen bidez antolatu"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Zerrenda eta xehetasunak"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Ezkutatu fitx. luzapena"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Izena (Atik Zra)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Izena (Ztik Ara)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Data (Berriena)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Data (Zaharrena)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Joan Nire Fitxat."
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Dei doinuak"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Esportatu hona"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Ezin da babestutako DRM edukia ezarri dei tonu edo jakinarazpen alerta moduan"
-
diff --git a/data/po/fi.po b/data/po/fi.po
deleted file mode 100644
index 2dbcc44..0000000
--- a/data/po/fi.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Ylös"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Koti"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Katso luettelossa"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Näytä pikkukuvina"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Poisto epäonnistui"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM-tiedosto. Ei voi lähettää"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Virheellinen tiedostonimi"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Kansioiden enimmäismäärä saavutettu"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Lupa evätty"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Lähetys epäonnistui"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Kohdekansio on lähdekansion alikansio"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Tiedostoa ei ole"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Ei voi kopioida"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Ei voi siirtää"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Puhelimen muisti ei riitä. Poista kohteita ja yritä uudelleen"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Kopiointi epäonnistui"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Siirto epäonnistui"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Muisti ei riitä. %s käytettävissä"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Sama nimi on jo käytössä"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Ei voi siirtää. Kohdekansio on sama kuin lähdekansio"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Luo kansio"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Liitä tänne"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Hälytykset"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Taustakuvat"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Puhelin"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Kuvat"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Videot"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Äänet"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Lataukset"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Muistik."
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Ulk. tallennuslaite"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Muokkaa"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Poista"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Siirrä"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Ylös"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Siirrä tänne"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Kopioi"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Laj.per."
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Etsi"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Lisää"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Luo kansio"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Kansion nimi"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Oma albumi"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Katsele muodossa"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Takaisin"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Omat videoleikkeet"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Oikeustila"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Toimittaja"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Määrä"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Sisältää"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Yksittäinen"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Väli"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "N.uud."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Aika"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Ajoitettu määrä"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Tyyppi"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Rajoittamaton"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Korvaa"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Soittajan soittoääni"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Nimi"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Kopioitu"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Mitään ei valittu"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Kekomuisti ei riitä"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Muisti ei riitä. Poista joitain kohteita"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Luontipäivämäärä"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS-tiedot"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS-leveysaste"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS-pituusaste"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS-versio"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Lisätiedot"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Mikä tahansa"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Jäljellä olevat käyttökerrat"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Suorita"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Edelleenlähetys"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Mahdoton"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC-tietoja alustetaan..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Mahdollinen"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Tulosta"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Kelpoisuus"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Uusi kansio"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Muokkaa"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Lajitteluperuste"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Siirrä tänne"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Jatka"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Kopioidaan..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Liitä tänne"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Tiedostotyyppiä ei tueta"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Tarkka näkymä"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Nouseva"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Laskeva"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Kaikki"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Ylös"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Hae kaikista kansioista"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Pikkukuvanäkymä"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Näytä tiedostotunniste"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Lajitteluperuste"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Luettelo ja tiedot"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Piilota tiedostotunn."
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Nimi (A–Ö)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Nimi (Ö–A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Päivämäärä (Uusimmat)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Päivämäärä (Vanhimmat)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Siirry Omiin tiedostoihin"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Soittoäänet"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Vie tänne"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "DRM-suojattua sisältöä ei voi määrittää soittoääneksi tai ilmoitusääneksi"
-
diff --git a/data/po/fr_CA.po b/data/po/fr_CA.po
deleted file mode 100644
index 0087b5c..0000000
--- a/data/po/fr_CA.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Haut"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Accueil"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Afficher par liste"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Afficher par miniature"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Échec de suppression"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Fichier GDN. Envoi impossible"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Nom de fichier incorrect"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Capacité maximum atteinte"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Autorisation refusée"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Envoi échoué"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Le dossier cible est un sous-dossier du dossier source"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Fichier inexistant"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Copie impossible"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Déplacement impossible"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Mémoire du téléphone insuffisante. Supprimez certains éléments et réessayez"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Échec de copie"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Échec du déplacement"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Mémoire insuffisante. %s disponible(s)"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Nom déjà utilisé"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Déplacement impossible. Les dossiers source et cible sont identiques"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Créer dossier"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Coller ici"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Alertes"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Fonds d'écran"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Téléphone"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Images"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Vidéos"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Sons"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Télécharg."
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Carte mémoire"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Stockage externe"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Modifier"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Supprimer"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Déplacer"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Haut"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Déplacer ici"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Copier"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Trier par"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Rechercher"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Plus"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Créer un dossier"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Nom de dossier"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Mon album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Afficher comme"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Retour"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Mes clips vidéo"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Information sur les droits"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Fournisseur"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Compte"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Contient"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individuel"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Intervalle"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Renom."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Heure"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Temps restant"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Type"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Illimité"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Rempl."
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Sonnerie de l'appelant"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Nom"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Copié"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Aucune sélection"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Mémoire de la pile insuffisante"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Mémoire insuffisante. Supprimez certains éléments"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Date de création"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Informations GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Latitude GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Longitude GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Version GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Détails"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "N'importe"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Utilisations disponibles"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Exécuter"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Transfert"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Impossible"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Données MMC en cours d'initialisation..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Possible"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Imprimer"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Validité"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Nouveau dossier"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Modifier"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Trier par"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Déplacer ici"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Continuer"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Copie ..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Coller ici"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Type de fichier non pris en charge"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Affichage détaillé"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Croissant"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Décroissant"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Tout"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Haut"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Rech. dans ts dossiers"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Affichage miniature"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Afficher l'extension du fichier"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Trier par"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Liste et détails"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Masq. extens. fichier"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Nom (A à Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Nom (Z à A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Date (les plus récents)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Date (les plus anciens)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Accès à Mes fichiers"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Sonneries"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Exporter ici"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Impossible de définir un contenu protégé par GDN en tant que sonnerie ou alerte de notification"
-
diff --git a/data/po/fr_FR.po b/data/po/fr_FR.po
deleted file mode 100644
index fc557f6..0000000
--- a/data/po/fr_FR.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Haut"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Accueil"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Afficher par liste"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Afficher par miniature"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Échec de suppression"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Fichier DRM. Envoi impossible"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Nom de fichier incorrect"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Capacité maximum atteinte"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Autorisation refusée"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Envoi impossible"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Le dossier cible est un sous-dossier du dossier source"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Fichier inexistant"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Copie impossible."
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Déplacement impossible"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Mémoire du téléphone insuffisante. Supprimez certains éléments et réessayez"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Échec copie"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Échec du déplacement"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Mémoire insuffisante. %s disponible(s)"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Nom déjà utilisé"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Déplacement impossible. Les dossiers source et cible sont identiques"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Créer dossier"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Coller ici"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Alertes"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Fonds d'écran"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Téléphone"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Images"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Vidéos"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Sons"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Téléchargements"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Carte mémoire"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Stockage externe"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Modifier"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Supprimer"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Déplacer"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Haut"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Déplacer ici"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Copier"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Trier par"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Chercher"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Plus"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Créer dossier"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Nom de dossier"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Mon album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Visualiser comme"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Retour"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Mes clips vidéo"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Information sur les droits"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Fournisseur"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Compte"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Contenu"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individuel"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Intervalle"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Nv nom"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Heure"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Temps restant"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Type"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Illimité"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Rempl."
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Sonnerie d'appelant"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Nom"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Copié"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Aucune sélection"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Mémoire de la pile insuffisante"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Mémoire insuffisante. Supprimez certains éléments"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Date de création"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Informations GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Latitude GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Longitude GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Version GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Détails"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "N'importe"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Utilisations disponibles"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Exécuter"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Transfert"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Impossible"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Données MMC en cours d'initialisation..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Possible"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Imprimer"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Validité"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Nouveau dossier"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Modifier"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Trier par"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Déplacer ici"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Continuer"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Copie..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Coller ici"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Type de fichier non pris en charge"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Affichage détaillé"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Croissant"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Décroissant"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Tout"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Haut"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Rech. dans ts dossiers"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Affichage miniature"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Afficher l'extension du fichier"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Trier par"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Liste et détails"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Masq. extens. fichier"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Nom (A à Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Nom (Z à A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Date (Les plus récents)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Date (Les plus anciens)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Accès à Mes fichiers"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Sonneries"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Exporter ici"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Impossible de définir un contenu protégé par DRM en tant que sonnerie ou alerte de notification"
-
diff --git a/data/po/ga.po b/data/po/ga.po
deleted file mode 100644
index 18bc3d4..0000000
--- a/data/po/ga.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Suas"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Baile"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Amharc de réir liosta"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Amharc de réir mionsamhla"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Theip ar scriosadh"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Comhad DRL. Ní féidir seoladh"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Comhadainm neamhbhailí"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Uaslíon na bhfillteán bainte amach"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Cead séanta"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Theip ar sheoladh"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Is fo-fhillteán de chuid an fhillteáin fhoinsigh é an fillteán sprice"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Níl an comhad seo ann"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Ní féidir cóipeáil"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Ní féidir bogadh"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Easpa cuimhne san fhón. Scrios roinnt míreanna agus triail arís"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Theip ar chóipeáil"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Theip ar bhogadh"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Easpa cuimhne. %s ar fáil"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Ainm céanna in úsáid cheana"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Ní féidir bogadh. Is ionann an fillteán sprice agus an fillteán fuinseach"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Déan fillteán"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Greamaigh anseo"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Foláirimh"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Cúlbhrait"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Fón"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Íomhánna"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Físeáin"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Fuaimeanna"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Ioslódálacha"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Cárta cuimhne"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Stóras seachtrach"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Cuir in eagar"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Scrios"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Bog"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Suas"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Bog anseo"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Cóipeáil"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Sórtáil de réir"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Cuardach"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Tuilleadh"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Déan fillteán"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Ainm an fhillteáin"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "M'albam"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Amharc mar"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Siar"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Mo ghearrthóga físe"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Stádas ceart"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Díoltóir"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Áireamh"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Istigh tá:"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Duine aonair"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Eatramh"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Athainm"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Am"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Áireamh amaithe"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Cineál"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Gan teorainn"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Ionadú"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Clingthon glaoiteora"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Ainm"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Cóipeáilte"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Dada roghnaithe"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Easpa carnchuimhne"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Easpa cuimhne. Scrios roinnt míreanna"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Dáta cruthaithe"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Faisnéis faoi GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Domhanleithead GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Domhanfhad GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Leagan GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Sonraí"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Ceann ar bith"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Úsáidí atá ar fáil"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Rith"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Seoladh ar aghaidh"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Dodhéanta"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Sonraí MMC á dtúsú..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Indéanta"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Priontáil"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Bailíocht"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Fillteán nua"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Cuir in eagar"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Liostaigh de réir"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Bog anseo"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Ar aghaidh"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Ag cóipeáil..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Greamaigh anseo"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Cineál comhaid gan tacú"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Amharc ar shonraí"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Ardaitheach"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "In ord íslitheach"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Gach"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Suas"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Cuardaigh gach fillteán"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Radharc mionsamhla"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Taispeáin iarmhír chomhadainm"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Sórtáil de réir"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Liosta agus sonraí"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Fol. iarmhír comhaid"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Ainm (A go Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Ainm (Z go A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Dáta (Cinn is déanaí)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Dáta (Cinn is sine)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Gabh go Mo Chomhaid"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Clingthoin"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Easpórtáil anseo"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Níorbh fhéidir inneachar faoi chosaint DRM a shocrú mar chlingthon nó mar fhógra foláirimh"
-
diff --git a/data/po/gl.po b/data/po/gl.po
deleted file mode 100644
index 616a071..0000000
--- a/data/po/gl.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Arriba"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Particular"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Ver por lista"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Ver en miniatura"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Erro ao eliminar"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Arquivo DRM. Non se pode enviar"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Nome de arquivo non válido"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Número máximo de carpetas alcanzado"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Permiso denegado"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Erro ao enviar"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "A carpeta de destino é unha subcarpeta da carpeta de orixe"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "O arquivo non existe"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Non se pode copiar"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Non se pode mover"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Non hai suficiente memoria no teléfono. Elimina algúns elementos e inténtao de novo"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Erro ao copiar"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Erro ao mover"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Non hai suficiente memoria. %s dispoñible"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Este nome xa está en uso"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Non se pode mover. Mesma carpeta de destino que de orixe"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Crear carpeta"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Pegar aquí"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Alertas"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Fondos"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Teléfono"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Imaxes"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Vídeos"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Sons"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Descargas"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Tarx. de memoria"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Almacenamento externo"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Editar"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Eliminar"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Mover"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Arriba"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Mover aquí"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Copiar"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Ordenar por"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Buscar"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Máis"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Crear carpeta"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Nome de carpeta"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "O meu Álbum"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Ver como"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Atrás"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Os meus videoclips"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Estado correcto"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Provedor"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Contar"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Contén"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individual"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Intervalo"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "C nome"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Hora"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Conta restante"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Tipo"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Ilimitada"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Substit"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Melodía do chamante"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Nome"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Copiado"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Non se seleccionou nada"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Non hai suficiente memoria dinámica"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Non hai suficiente memoria. Elimine algúns elementos"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Data de creación"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Información GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Latitude GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Lonxitude GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Versión GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Detalles"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Calquera"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Usos dispoñibles"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Executar"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Reenviando"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Non é posible"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Os datos MMC estanse inicializando..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Posible"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Imprimir"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Validez"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Nova carpeta"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Editar"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Ordenar por"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Mover aquí"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Continuar"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Copiando..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Pegar aquí"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Tipo de arquivo non admitido"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Vista detallada"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Ascendente"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Descendente"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Todo"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Arriba"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Buscar todas carpetas"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Vista en miniatura"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Mostrar extensión do arquivo"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Ordenar por"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Lista e detalles"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Ocult. extens. arquivo"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Nome (A-Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Nome (Z-A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Data (A máis recente)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Data (A máis antiga)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Ir a Os Meus Arquiv"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Melodías"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Exportar aquí"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Non se poden definir contidos protexidos mediante DRM como melodías ou alertas de notificación"
-
diff --git a/data/po/hi.po b/data/po/hi.po
deleted file mode 100644
index 9b05a72..0000000
--- a/data/po/hi.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "ऊपर"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "घर"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "सूची से देखें"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "थंबनेल से देखें"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "हटाना विफल"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM फाइल। भेज नहीं सकते"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "फाइल नाम अवैध है"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "अधिकतम फ़ोल्‍डर पहुँचे"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "अनुमति से इनकार"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "भेजना असफल"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "गंतव्य फ़ोल्डर स्त्रोत फ़ोल्डर का उप फ़ोल्डर है"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "यह फ़ाइल मौजूद नहीं है"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "कॉपी करने में अक्षम"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "मूव करने में अक्षम"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "फ़ोन मेमोरी में पर्याप्त मेमोरी नहीं है। कुछ आइटम्स हटाएँ और फिर प्रयास करें"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "कॉपी करना विफल"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "ले जाना विफल हुआ"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "पर्याप्‍त मेमोरी नहीं है। %s उपल्‍ब्‍ध है"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "ऐसा ही नाम पहले से इस्तेमाल में है"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "मूव करने में असमर्थ। गंतव्य फोल्डर स्रोत फोल्डर की तरह है"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "फ़ोल्‍डर बनाएँ"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "यहाँ पेस्‍ट करें"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "अलर्ट्स"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "वॉलपेपर्स"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "फोन"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "छवियाँ"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "विडियो"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "ध्वनियाँ"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "डाउनलोड"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "मेमोरी कार्ड"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "बाह्य स्टोरेज"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "संपादन"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "हटाएँ"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "मूव"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "ऊपर"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "यहाँ मूव करें"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "कॉपी"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "द्वारा छाँटें"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "खोजें"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "अधिक"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "फोल्डर बनाएँ"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "फोल्डर का नाम"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "मेरी एल्बम"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "के रूप में देखें"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "पीछे"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "मेरे वीडियो क्लिप"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "सही स्थिति"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "विक्रेता"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "गणना"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "शामिल"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "अलग"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "अन्तराल"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "रिनेम"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "समय"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "समय गणना"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "प्रकार"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "असीमित"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "बदलें"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "कॉलर रिंगटोन"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "नाम"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "कॉपी हुआ"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "कुछ चयनित नहीं"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "पर्याप्‍त हीप मेमोरी नहीं है"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "पर्याप्त मेमोरी नहीं। कुछ मदें हटाएँ"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "बनाए जाने की तिथि"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS जानकारी"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS अक्षांश"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS रेखांश"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS संस्करण"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "विवरण"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "कोई"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "उपलब्ध उपयोग"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "निष्पादित करें"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "अग्रेषण"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "असंभव"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC डेटा आरंभ किया जा रहा है..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "संभव"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "प्रिंट करें"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "वैधता"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "नया फ़ोल्‍डर"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "संपादित करें"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "द्वारा सूची"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "यहाँ जाएँ"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "जारी रखें"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "कॉपी कर रहा है…"
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "यहाँ पेस्‍ट करें"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "असमर्थित फाइल प्रकार"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "विवरण दृश्य"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "आरोही क्रम"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "अवरोही क्रम"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "सभी"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "ऊपर"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "सभी फ़ोल्डर खोजें"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "थम्बनेल दृश्य"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "फ़ाइल एक्स्टेंशन दिखाएँ"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "से छाटें"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "सूची और विवरण"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "फ़ाइल एक्सटेंशन छिपाएँ"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "नाम (A से Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "नाम (Z से A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "तारीख (हालही का सबसे नवीनतम)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "तारीख (सबसे पुराने)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "मेरी फाइल्स में जाएँ"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "रिंगटोन"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "यहाँ निर्यात करें"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "DRM सुरक्षित सामग्री को रिंगटोन या अधिसूचना सतर्क के रूप में सेट करने में अक्षम"
-
diff --git a/data/po/hr.po b/data/po/hr.po
deleted file mode 100644
index dd6b4d8..0000000
--- a/data/po/hr.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Gore"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Početna"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Prikaz po popisu"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Prikaži kao sličice"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Brisanje neuspješno"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Zaštićena datoteka. Nemoguće poslati"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Neispravno ime datoteke"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Dostignut maksimalan broj mapa"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Dozvola odbijena"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Slanje neuspješno"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Odredišna mapa je podmapa izvorišne mape"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Datoteka ne postoji"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Nemoguće kopirati"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Nemoguće premjestiti"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Nedovoljno memorije u telefonu. Obrišite stavke i ponovite"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Kopiranje neuspješno"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Premještanje neuspješno"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Nedovoljno memorije. Dostupno %s"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Već postoji isto ime"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Nemoguće premjestiti. Odredišna mapa ista je kao i izvorna"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Nova mapa"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Zalijepi ovdje"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Upozorenja"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Pozadine"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Slike"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Video"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Zvukovi"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Skidanja"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Mem. kartica"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Vanjska memorija"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Uredi"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Obriši"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Premjesti"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Gore"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Premjesti ovdje"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Kopiraj"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Poredaj po"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Traži"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Više"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Nova mapa"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Ime mape"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Moj album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Pregled kao"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Nazad"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Moj video"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Prava"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Dobavljač"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Broj"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Sadrži"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individualno"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Interval"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Pr.ime"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Vrijeme"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Preostalo vrijeme"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Vrsta"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Neograničeno"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Zamijeni"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Ton pozivatelja"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Naziv"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Kopirano"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Ništa odabrano"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Nedovoljno pričuvne memorije"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Nedovoljno memorije. Obrišite neke datoteke"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Datum izrade"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS podaci"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS zemljopisna širina"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS zemljopisna dužina"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS inačica"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Detalji"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Bilo koji"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Preostalo upotreba"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Pokreni"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Prosljeđivanje"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Nemoguće"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Učitavanje podataka mem. kartice..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Moguće"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Ispis"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Valjanost"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Nova mapa"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Uredi"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Sortiraj po"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Premjesti ovdje"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Nastavak"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Kopiranje..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Zalijepi ovdje"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Nepodržana datoteka"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Detaljni prikaz"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "A-Z"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Z-A"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Sve"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Gore"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Pretraži sve mape"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Sličice"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Prikaz ekstenzija datoteka"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Sortiraj po"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Popis i detalji"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Sakrij datotečni nast."
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Naziv (A do Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Naziv (Z do A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Datum (najnoviji)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Datum (najstariji)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Idi u Datoteke"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Tonovi zvona"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Izvezi ovdje"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Nemoguće postaviti DRM zaštićen sadržaj kao ton zvona ili ton obavijesti"
-
diff --git a/data/po/hu.po b/data/po/hu.po
deleted file mode 100644
index 912e6a0..0000000
--- a/data/po/hu.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Fel"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Kezdőkép."
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Listanézet"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Megtekintés miniatűr képként"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Törlés sikertelen"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM-fájl. Küldés nem lehetséges"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Érvénytelen fájlnév"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Maximum mappaszám elérve"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Engedély megtagadva"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Sikertelen küldés"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "A célmappa a forrásmappa almappája"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "A fájl nem létezik"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Nem lehet átmásolni"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Nem helyezhető át"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Kevés a memória a telefonban. Töröljön néhány tételt, és próbálja újra"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "A másolás sikertelen."
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Az áthelyezés sikertelen"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Kevés a memória. A szabad memória %s"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Már van ilyen név"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Nem lehet áthelyezni. A célmappa azonos a forrásmappával"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Mappát létrehoz"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Beilleszt ide"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Jelzések"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Háttérképek"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Képek"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Videók"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Hangok"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Letöltések"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Memória- kártya"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Külső tároló"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Szerkeszt"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Töröl"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Áthelyez"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Fel"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Áthelyez ide"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Másol"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Rendezés szemp."
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Keres"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Egyebek"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Mappa létrehozása"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Mappa neve"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Saját album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Megtekintés"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Vissza"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Saját videofelvételek"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Jogi státusz"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Szállító"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Számláló"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Tartalmazott elem"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Egyéni"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Intervallum"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Átnev."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Idő"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Időszámláló"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Típus"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Korlátlan"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Csere"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Hívó csengőhangja"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Név"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Átmásolva"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Semmi nincs kiválasztva"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Kevés a halommemória"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Kevés a memória. Töröljön néhány tételt"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Létrehozás dátuma"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS-adatok"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS-szélesség"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS-hosszúság"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS-verzió"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Részletek"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Bármely"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Lehetséges felhasználás"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Végrehajt"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Továbbítás"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Nem lehetséges"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC-adatok inicializálása..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Lehetséges"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Nyomtatás"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Érvényesség"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Új mappa"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Szerkeszt"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Rendezés"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Áthelyezés ide"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Tovább"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Másolás..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Beillesztés ide"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "A fájltípus\nnem támogatott"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Részletes nézet"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Növekvő"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Csökkenő"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Mind"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Fel"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Ker. az összes mappában"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Miniatűrnézet"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Fájlkiterjesztés megjelenítése"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Rendezés"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Lista és részletek"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Kiterjesztés elrejtése"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Név (A-tól Z-ig)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Név (Z-től A-ig)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Dátum (legújabb)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Dátum (legrégebbi)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Saját fájlok megny."
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Csengőhangok"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Exportálás ide"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "DRM-védett tartalom nem állítható be csengőhangként vagy értesítésként"
-
diff --git a/data/po/hy.po b/data/po/hy.po
deleted file mode 100644
index 2714cd6..0000000
--- a/data/po/hy.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Վեր"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Տուն"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Դիտել ըստ ցանկի"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Դիտել ըստ մանրապատկերների"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Ջնջումը ձախողվեց"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM ֆայլ: Հնարավոր չէ ուղարկել"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Անվավեր ֆայլի անուն"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Հասել եք թղթապանակների առավելագույն քանակի"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Թույլտվությունը մերժվեց"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Ուղարկման ձախողում"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Նշանակման թղթապանակը հանդիսանում է սկզբնական թղթապանակի ենթաթղթապանակ"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Այս ֆայլը գոյություն չունի"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Հնարավոր չէ պատճենել"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Անհնար է տեղափոխել"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Բավարար տեղ չկա հեռախոսի հիշողության մեջ: Վերացրեք որոշ տարրեր և նորից փորձեք"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Պատճենումը ձախողվեց"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Տեղափոխումը ձախողվեց"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Չկա բավական հիշողություն: %s-ը հասանելի է"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Նույն անունն արդեն օգտագործվում է"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Հնարավոր չէ տեղափոխել: Նշանակման թղթապանակը նույնն է, ինչ որ սկզբնական թղթապանակը"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Ստեղծել թղթպանակ"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Տեղադրել այստեղ"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Ազդանշաններ"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Պաստառներ"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Հեռախոս"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Պատկերներ"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Տեսահոլովակներ"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Ձայներ"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Բեռնումներ"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Հիշաքարտ"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Արտաքին պահոց"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Խմբագրել"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Ջնջել"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Տեղափխել"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Վերև"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Տեղափոխել այստեղ"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Պատճենել"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Տեսակավորել ըստ"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Որոնում"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Ավելի"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Ստեղծել թղթապանակ"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Թղթապանակի անունը"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Իմ ալբոմը"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Դիտել որպեսշ"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "ՀԵՏ"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Իմ ձայնահոլովակները"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Իրավունքի կարգավիճակ"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Մատակարար"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Քանակ"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Պարունակում է"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Անհատ"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Դադար"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Վերանվ"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Ժամանակ"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Հաշվարկված հաշիվ"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Տեսակ"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Անսահմանափակ"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Փխրնել"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Զանգահարողի զանգի մեղեդի"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Անուն"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Պատճենված է"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Ոչինչ ընտրված չէ"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Չկա բավական զանգվածային հիշողություն"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Հիշողությունը չի բավարարում: Ջնջեք որոշ տարրեր"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Ստեղծման ամսաթիվը"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS տեղեկատվություն"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS լայնություն"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS երկայնություն"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS տարբերակ"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Մանրամսն."
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Ցանկացած"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Հասանելի օգտվողներ"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Կատարել"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Փոխանցում"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Անհնար է"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC տվյալներ են նախապատրաստվում..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Հնարավոր"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Տպել"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Վավերականություն"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Նոր թղթապանակ"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Խմբագրել"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Թվարկել ըստ"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Տեղափոխել այստեղ"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Շարունակել"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Պատճենում է..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Վերլուծել այստեղ"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Ֆայլի չսատարվող տեսակ"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Մանրամասն դիտում"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Աճող"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Նվազող"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Բոլոր"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Վերև"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Որոնեք բոլոր թղթպնկները"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Փոքրացված պատկերների տեսք"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Ցույց տալ ֆայլի ընդլայնումը"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Տեսակավորել ըստ"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Ցուցակ և մանրամասներ"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Թքցնլ ֆայլի ընդլայնում"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Անուն (Ա-ից Ֆ)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Անուն (Ֆ-ից Ա)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Ամսաթիվ (առավել վերջին)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Ամսաթիվ (ամենահին)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Գնալ Իմ Ֆայլերը"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Մեղեդիներ"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Արտահանել այստեղ"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Անհնար է DRM-ով պաշտպանված բովանդակությունը դնել որպես զանգի հնչերանգ կամ ծանուցման զգուշացում"
-
diff --git a/data/po/is.po b/data/po/is.po
deleted file mode 100644
index 5d46f8f..0000000
--- a/data/po/is.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Upp"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Heima"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Birta lista"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Birta eftir smámyndum"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Ekki tókst að eyða"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM skrá. Ekki hægt að senda"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Ógilt skráarheiti"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Komið að hámarki möppu"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Leyfi var hafnað"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Sending mistókst"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Áfangamappa er undirmappa í upprunamöppunni"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Skráin er ekki til"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Mistókst að afrita"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Ekki hægt að flytja"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Það er of lítið minni í símanum. Eyddu einhverjum hlutum og reyndu aftur"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Afritun mistókst"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Ekki tókst að flytja"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Ekki er nægt minni. %s tiltækt"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Þetta heiti er þegar í notkun"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Ekki tókst að flytja. Áfangamappa sú sama og upprunamappa"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Búa til möppu"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Líma hér"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Áminningar"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Veggfóður"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Sími"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Myndir"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Myndskeið"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Hljóð"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Niðurhal"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Minnisk."
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Ytri geymsla"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Breyta"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Eyða"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Flytja"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Upp"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Færa hingað"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Afrita"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Raða eftir"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Leit"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Meira"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Búa til möppu"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Heiti möppu"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Albúm notanda"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Sjá sem"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "BAKKA"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Myndskeiðin mín"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Rétt staða"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Seljandi"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Fjöldi"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Inniheldur"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Stakt"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Bil"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Endurn"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Tími"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Tímasett"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Tegund"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Án takmarkana"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Skip. út"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Hringitónn hringjanda"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Heiti"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Afritað"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Ekkert er valið"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Of lítið safnminni"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Ekki er nægt minni. Eyðið nokkrum atriðum"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Búið til"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS-upplýsingar"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS-breiddargráða"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS-lengdargráða"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS-útgáfa"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Upplýsingar"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Hvað sem er"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Tiltæk notkun"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Framkvæma"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Framsending"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Ekki hægt"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC-gögn ræsast..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Mögulegt"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Prenta"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Gildistími"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Ný mappa"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Breyta"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Raða eftir"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Færa hingað"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Halda áfram"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Afritun stendur yfir..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Líma hingað"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Óstutt skrársnið"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Upplýsingaskjár"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Hækkandi"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Lækkandi"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Allt"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Upp"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Leita í öllum möppum"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Smámyndir"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Sýna skráargerð"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Raða eftir"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Listi og upplýsingar"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Fela skráarendingu"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Heiti (A til Ö)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Heiti (Ö til A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Dagsetning (nýjasta)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Dagsetning (elsta)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Opna Skrárnar mínar"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Hringitónar"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Flytja hingað"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Ekki hægt að velja DRM-varið efni sem hringitón eða tilkynningu"
-
diff --git a/data/po/it_IT.po b/data/po/it_IT.po
deleted file mode 100644
index ddbbb47..0000000
--- a/data/po/it_IT.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Su"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Home"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Visualizza elenco"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Visualizza miniature"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Eliminazione non riuscita"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "File DRM. Impossibile inviare"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Nome file non valido"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Massimo cartella raggiunto"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Permesso negato"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Impossibile inviare"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "La cartella di destinazione è una sottocartella della cartella di origine"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "File inesistente"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Impossibile copiare"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Impossibile spostare"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Memoria insufficiente. Disinstallare alcuni elementi e riprovare"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Copia non eseguita"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Spostamento non riuscito"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Spazio insufficiente in memoria. %s disponibili"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Stesso nome già in uso"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Impossibile spostare. La cartella di destinazione coincide con la cartella di origine"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Crea cartella"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Incolla qui"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Avvisi"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Sfondi"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefono"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Immagini"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Video"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Suoni"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Download"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Scheda memoria"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Memoria esterna"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Modifica"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Elimina"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Sposta"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Su"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Sposta qui"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Copia"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Ordina per"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Cerca"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Altro"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Crea cartella"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Nome cartella"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Visualizza come"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Indietro"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Video personali"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Stato diritti"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Fornitore"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Conteggio"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Contiene"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individuale"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Intervallo"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Rinom."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Ora"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "A termine"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Tipo"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Senza limitazioni"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Sostit."
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Suoneria chiamante"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Nome"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Copiato"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Nessun elemento selezionato"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Memoria heap insufficiente"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Memoria insufficiente. Eliminare alcuni elementi"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Data creazione"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Informaz. GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Latitudine GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Longitudine GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Versione GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Dettagli"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Qualsiasi"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Usi disponibili"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Esegui"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Inoltro"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Impossibile"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Inizializzazione dati MMC..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Possibile"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Stampa"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Validità"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Nuova cartella"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Modifica"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Elenca per"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Sposta qui"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Continua"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Copia..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Incolla qui"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Tipo file non supportato"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Vista dettagli"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Crescente"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Decrescente"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Tutto"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Su"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Cerca in tutte le cartelle"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Vista miniature"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Mostra estensione file"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Ordina per"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Elenco e dettagli"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Nascondi esten. file"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Nome (A - Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Nome (Z - A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Data (Più recente)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Data (Più vecchia)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Vai all'Archivio"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Suonerie"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Esporta qui"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Impossibile impostare il contenuto protetto di DRM come suoneria o avviso di notifica"
-
diff --git a/data/po/ja_JP.po b/data/po/ja_JP.po
deleted file mode 100644
index 43b70c4..0000000
--- a/data/po/ja_JP.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "戻る"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "ホーム"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "リスト表示"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "サムネイル表示"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "削除できませんでした。"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRMファイルです。送信できません。"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "ファイル名が正しくありません。"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "最大フォルダ数に達しました。"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "承認が拒否されました。"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "送信に失敗しました"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "移動元と移動先のフォルダが同じです。"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "このファイルは存在しません。"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "コピーできません。"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "移動できません。"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "システムメモリ(本体)が不足しています。不要なアイテムを削除し、再度実行してください。"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "コピーに失敗しました。"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "移動に失敗しました。"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "メモリ不足です。%s使用可能"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "同じ名前が既に使用されています"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "移動できません。移動元と移動先のフォルダが同じです。"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "フォルダ作成"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "ここに貼付"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "通知"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "壁紙"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "本体"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "画像"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "動画"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "サウンド"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "ダウンロード"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "メモリカード"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "外部ストレージ"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "編集"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "削除"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "移動"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "上"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "ここに移動"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "コピー"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "並べ替え"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "検索"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "その他"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "フォルダ作成"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "フォルダ名"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "マイアルバム"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "表示形式"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "戻る"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "マイビデオクリップ"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "権限の状態"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "提供元"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "回数"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "含む"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "個人"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "間隔"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "名称変更"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "時刻"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "時間カウント"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "タイプ"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "無制限"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "上書き"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "個別着信音"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "名前"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "コピーしました。"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "何も選択されていません。"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "ヒープメモリ不足です。"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "メモリが不足しています。不要なアイテムを削除してください。"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "作成​された​データ"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS情報"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS緯度"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS経度"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPSバージョン"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "詳細"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "どれか"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "使用可能"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "実行"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "転送"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "不可"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC​データ​を​インストール中..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "可能"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "印刷"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "有効回数"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "新規フォルダ"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "編集"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "ソート"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "ここに移動"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "次へ"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "コピー中..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "ここに貼付"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "未対応のファイルです。"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "詳細表示"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "昇順"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "降順"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "全て"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "戻る"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "全てのフォルダを検索"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "サムネイル表示"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "ファイル拡張子を表示"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "ソート"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "リストおよび詳細"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "ファイル​拡張子​を​非表示"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "名前(A~Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "名前(Z~A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "日付(新しい順)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "日付(古い順)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "マイ​ファイル​に​移動"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "着信音"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "ここにエクスポート"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "DRM保護コンテンツは、着信音または通知音に設定できません。"
-
diff --git a/data/po/ka.po b/data/po/ka.po
deleted file mode 100644
index 8fce845..0000000
--- a/data/po/ka.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "ზევით"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "საწყისი გვერდი"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "დათვალიერება სიით"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "დათვალიერება პიქტოგრამებით"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "წაშლა არ მოხერხდა"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM ფაილი. ვერ გაგზავნით"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "ფაილის არასწორი დასახელება"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "საქაღალდეების რაოდენობამ მაქსიმუმს მიაღწია"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "ნებართვა უარყოფილია"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "ვერ გაიგზავნა"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "საბოლოო საქაღალდე დევს საწყის საქაღალდეში"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "ფაილი არ არსებობს"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "ვერ დაკოპირდება"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "ვერ გადაადგილდება"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "ტელეფონში არ არის საკმარისი მეხსიერება. წაშალეთ ზოგიერთი ელემენტი და ისევ ცადეთ"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "გადაწერა არ მოხერხდა"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "გადატანა ვერ შესრულდა"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "მეხსიერება არ არის საკმარისი. დარჩენილია %s"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "იგივე სახელი უკვე გამოყენებულია"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "ვერ გადაიტანთ. საბოლოო და საწყისი საქაღალდეები ერთიდაიგივეა"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "საქაღალდის შექმნა"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "ჩასვით აქ"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "სიგნალები"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "ფონები"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "ტელეფონი"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "გამოსახულებები"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "ვიდეოები"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "ხმები"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "გადმოწერილები"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "მეხსიერ. ბარათი"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "გარე მეხსიერება"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "რედაქტირება"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "წაშლა"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "გადატანა"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "ზემოთ"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "გადაიტანეთ აქ"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "ასლი"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "დალაგება"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "ძიება"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "სხვა"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "შექმენი საქაღალდე"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "საქაღალდის სახელი"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "ჩემი ალბომი"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "დათვალიერება როგორც"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "უკან"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "ჩემი ვიდეოკლიპები"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "ნამდვილი სტატუსი"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "მომწოდებელი"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "დათვლა"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "შეიცავს"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "ინდივიდუალური"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "ინტერვალი"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "გდრქმ."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "დრო"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "შეყოვნებული დათვლა"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "ტიპი"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "შეუზღუდავი"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "შეცვლა"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "აბონენტის ზარის მელოდია"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "სახელი"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "დაკოპირდა"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "არაფერია არჩეული"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "არ არის საკმარისი მასიური მეხსიერება"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "მეხსიერება საკმარისი არაა. წაშალეთ ზოგიერთი ელემენტი"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "შექმნილი მონაცემები"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS ინფორმაცია"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS განედი"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS გრძედი"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS ვერსია"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "დეტალები"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "ნებისმიერი"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "დასაშვები გამოყენება"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "შესრულება"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "გადამისამართება"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "შეუძლებელია"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "სრულდება MMC მონაცემთა ინიციალიზაცია..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "შესაძლო"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "ამობეჭდვა"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "ქმედითობა"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "ახალი საქაღალდე"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "შეცვლა"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "ჩამონათვალი პარამეტრით"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "გადმოტანა"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "გაგრძელება"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "კოპირდება..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "აქ ჩასვით"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "ფაილის ტიპი გაუთვალისწინებელია"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "დეტალური დათვალიერება"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "ზრდადი"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "კლებადი"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "ყველა"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "ზევით"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "ყველა საქაღალდის ძებნა"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "მიკროასლების ნახვა"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "ჩანდეს ფაილის გაფართოება"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "გადარჩევა"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "სია და დეტალები"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "გაფართოების დამალვა"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "სახელი (ა-დან ჰ-მდე)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "სახელი (ჰ-დან ა-მდე)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "თარიღი (უახლესი)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "თარიღი (ყველაზე ძველი)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "ჩემს ფაილებზე გადას."
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "ზარის მელოდიები"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "შეასრულეთ ექსპორტი აქ"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "DRM-ით დაცული მასალის ზარის მელოდიად ან შეტყობინების სიგნალად დაყენება შეუძლებელია"
-
diff --git a/data/po/kk.po b/data/po/kk.po
deleted file mode 100644
index 685c196..0000000
--- a/data/po/kk.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Жоғары"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Үй парағы"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Тізімді қарап шығу"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Нұсқадан көру"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Жою үстінде үзіліп кетті"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM файлы. Жіберу мүмкін емес"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Файлдың аты қате"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Қапшықтар ең көп саны артты"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Рұқсаттан бас тартылды"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Жіберудің сәті түспеді"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Тағайындау қалтасы кіріс қалтасына салынған болып табылады"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Файл жоқ"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Көшіру мүмкін емес"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Жылжытуға мүмкіндік жоқ"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Телефон жадында жад жеткілікті емес. Біраз элементті жойып, қайталап көріңіз"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Көшірілу үзіліп кетті"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Орналастырылмады"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Жадында орын жетіспейді. %s бар"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Мұндай атау қолданыста бар"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Жылжытылмайды.Мақсатты қалта бастапқы қалтамен бірдей"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Қалта жасау"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Осында қою"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Дабыл қағу"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Түсқағаз"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Телефон"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Суреттер"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Бейнежазбалар"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Дыбыстар"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Жазылған"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Жад картасы"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Сыртқы жад"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Өзгер."
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Жою"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Ауыстыру"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Жоғары"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Осында ауыстыру"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Көшіру"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Сұрыптау"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Тізім"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Қосымша"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Қалтаны құру"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Папка аты"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Альбомым"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "түрінде көру"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "АРТҚА"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Бейне жазбалар"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Құқық мәртебесі"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Сатушы"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Санау"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Мазмұны"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Жеке"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Аралық"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Ат өзг"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Уақыт"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Уақытпен санау"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Түрі"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Шектеусіз"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Ауыстыру"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Телефон шалушы әуені"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Аты"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Хабар(лар) көшірілді"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Ештенке таңдалмады"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Динамикалық жадта орын жеткіліксіз"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Жад жетыспейт.Көп арналы жою."
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Жасалған күн"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS ақпараты"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS ендігі"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS бойлығы"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS түрі"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Егж.-тег."
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Кез келген"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Пайдалануға жарамды"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Орындау"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Басқа біреуге жіберу"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Мүмкін емес"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC деректері басталуда..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Мүмкін"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Басып шығару"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Жарамдылық"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Жаңа қалта"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Өзгерту"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Іріктеу"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Осында ауыстыру"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Жалғастыру"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Көшірілуде..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Осында енгізу"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Қолдаусыз файл түрі"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Мәліметтер көрінісі"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Өсу"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Кему"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Барлығы"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Жоғары"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Барлық қалталарды іздеу"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Нобай көрінісі"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Файл кеңейтімін көрсету"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Бойынша сұрыптау"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Тізім және мәліметтер"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Файл кеңейтімін жасыру"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Аты (A-дан Я-ға дейін)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Аты (Я-дан А-ға дейін)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Күні (Ең соңғы)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Күні (Ең алдыңғы)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Менің файлдарыма өту"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Әуендер"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Мұнда экспорттау"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "DRM арқылы қорғалған мазмұнды рингтон не ескерту сигналы ретінде қою мүмкін емес"
-
diff --git a/data/po/ko_KR.po b/data/po/ko_KR.po
deleted file mode 100644
index a3bd6ca..0000000
--- a/data/po/ko_KR.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "위로"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "홈"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "목록 보기"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "썸네일 보기"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "삭제하지 못하였습니다"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM 파일은 전송할 수 없습니다"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "파일 이름이 바르지 않습니다"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "최대 폴더 수를 초과하였습니다"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "허가가 거부되었습니다"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "전송하지 못하였습니다"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "대상 폴더가 현재 폴더의 하위 폴더입니다"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "파일이 존재하지 않습니다"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "복사할 수 없습니다"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "이동시킬 수 없습니다"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "내장 메모리에 저장 공간이 부족합니다. 일부 항목을 삭제한 후 다시 시도하세요."
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "복사하지 못하였습니다"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "이동하지 못하였습니다"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "메모리가 부족합니다. %s을(를) 사용할 수 있습니다."
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "사용 중인 이름입니다"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "이동시킬 수 없습니다. 소스 폴더와 이름이 같습니다."
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "폴더 추가"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "여기로 복사"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "알림"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "배경화면"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "휴대폰"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "이미지"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "동영상"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "사운드"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "다운로드 관리"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "메모리 카드"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "외장 메모리"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "편집"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "삭제"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "이동"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "상위"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "여기로 이동"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "복사"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "정렬"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "검색"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "더보기"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "폴더 추가"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "폴더 이름"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "내 앨범"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "보기 방식"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "이전"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "내 동영상"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "권한 유효 상태"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "판매자"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "횟수"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "포함"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "개인"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "간격"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "이름 변경"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "시간"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "시간 경과 후 횟수 계산"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "형식"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "제한 없음"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "교체"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "개인 벨소리"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "이름"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "복사되었습니다"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "선택된 것이 없습니다"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "힙메모리가 부족합니다"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "저장 공간이 없습니다. 필요 없는 파일을 삭제하세요."
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "생성 날짜"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS 정보"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS 위도"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS 경도"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS 버전"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "상세 정보"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "모든 종류"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "사용 가능"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "실행"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "전송"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "불가능"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "메모리 카드 데이터 초기화 중..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "가능"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "인쇄"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "유효 횟수"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "새 폴더"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "편집"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "정렬"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "여기로 이동"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "계속"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "복사 중..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "여기로 복사"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "지원되지 않는 파일 형식입니다"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "상세정보 보기"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "오름차순"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "내림차순"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "모두"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "상위"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "모든 폴더 검색"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "썸네일 보기"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "파일 확장자 표시"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "정렬"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "목록 및 상세 정보"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "파일 확장자 숨기기"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "이름(가나다순)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "이름(가나다역순)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "날짜(최신순)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "날짜(오래된순)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "내 파일로 이동"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "벨소리"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "여기로 내보내기"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "DRM 컨텐츠를 벨소리 또는 알림 메시지로 설정할 수 없습니다"
-
diff --git a/data/po/lt.po b/data/po/lt.po
deleted file mode 100644
index da5ad4e..0000000
--- a/data/po/lt.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Į viršų"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Pradž."
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Peržiūrėti pagal sąrašą"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Žiūrėti miniatiūras"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Ištrinti nepavyko"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM failas. Negalima siųsti"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Neleistinas failo pavadinimas"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Pasiektas maksimalus aplankų skaičius"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Leidimas atmestas"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Išsiųsti nepavyko"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Paskirties aplankas yra vidinis originaliojo aplanko aplankas"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Tokio failo nėra"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Negalima kopijuoti"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Negalima perkelti"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Nepakanka atminties telefone. Ištrinkite kai kuriuos elementus ir bandykite dar kartą"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Perkelti nepavyko"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Perkelti nepavyko"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Nepakanka atminties. Liko %s"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Toks pavadinimas jau yra"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Neįmanoma perkelti. Paskirties aplankas yra toks pat kaip ir originalus aplankas"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Kurti aplanką"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Įklijuoti čia"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Perspėjimai"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Ekrano fonai"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefonas"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Vaizdai"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Vaizdo įrašai"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Garsai"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Atsisiųsti elem."
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Atminties kort."
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Išorinė laikmena"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Redaguoti"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Trinti"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Perkelti"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Aukštyn"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Perkelti čia"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Kopijuoti"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Rūšiuoti pagal"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Ieškoti"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Daugiau"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Kurti aplanką"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Aplanko pavadinimas"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Mano albumas"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Peržiūrėti kaip"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Atgal"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Mano vaizdo įrašai"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Teisių būsena"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Tiekėjas"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Skaičiuoti"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Yra"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Atskiras"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Intervalas"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Perv."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Laikas"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Laiko skaičiavimas"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Tipas"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Neribota"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Pakeisti"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Skambintojo skambėjimo tonas"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Pavadinimas"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Nukopijuota"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Niekas nepasirinkta"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Nepakanka kaupiamosios atminties"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Nepakanka atminties. Ištrinkite kai kuriuos elementus"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Sukurta data"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS informacija"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS platuma"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS ilguma"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS versija"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Išsami informacija"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Bet kuris"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Galimi panaudojimai"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Vykdyti"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Persiuntimas"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Neįmanoma"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Inicijuojami MMC duomenys..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Įmanoma"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Spausdinti"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Galiojimas"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Naujas aplankas"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Redaguoti"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Rūšiuoti pagal"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Perkelti čia"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Tęsti"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Kopijuojama..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Įklijuoti čia"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Nepalaikomas failo tipas"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Detalus rodinys"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Didėjimo tvarka"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Mažėjimo tvarka"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Visi"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Aukštyn"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Ieškoti visų aplankų"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Miniatiūrų rodinys"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Rodyti failo plėtinį"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Rūšiuoti pagal"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Sąrašas ir išsami inf."
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Slėpti failo plėtinį"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Pavadinimas (A–Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Pavadinimas (Z–A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Data (naujausi)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Data (seniausi)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Eiti į „Mano failus“"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Skambėjimo tonai"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Eksportuoti čia"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Neįmanoma nustatyti DRM apsaugoto turinio kaip skambėjimo tono ar pranešimo įspėjimo"
-
diff --git a/data/po/lv.po b/data/po/lv.po
deleted file mode 100644
index 0d7e01c..0000000
--- a/data/po/lv.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Uz augšu"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Mājas"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Skatīt pēc saraksta"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Skatīt sīktēlus"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Neizdevās izdzēst"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM fails. Nevar nosūtīt"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Nederīgs faila nosaukums"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Sasniegts maksimālais mapes skaits"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Atļauja liegta"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Neizdevās nosūtīt"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Mērķa mape ir avota mapes apakšmape"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Šāda faila nav."
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Nevar kopēt"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Nevar pārvietot"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Tālruņa atmiņā nepietiek vietas. Izdzēsiet dažus objektus un mēģiniet vēlreiz"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Neizdevās kopēt"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Pārvietošana neizdevās"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Nepietiek atmiņas. Pieejamā atmiņa: %s."
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Šāds nosaukums jau tiek lietots"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Nevar pārvietot. Mērķa mape ir tāda pati kā avota mape"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Izveidot mapi"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Ielīmēt šeit"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Brīdinājumi"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Fona attēli"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Tālrunis"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Attēli"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Video"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Skaņas"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Lejupielādes"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Atmiņas karte"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Ārējā krātuve"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Rediģēt"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Dzēst"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Pārvietot"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Uz augšu"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Pārvietot šeit"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Kopēt"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Kārtot pēc"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Meklēt"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Citi"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Izveidot mapi"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Mapes nosaukums"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Mans albums"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Skatīt kā"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Atpakaļ"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Mani videoklipi"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Pareizais statuss"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Piegādātājs"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Skaits"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Ietver"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individuāls"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Intervāls"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Pārd."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Laiks"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Skaits ar laika uzskaiti"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Veids"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Neierobežots"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Aizstāt"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Zvanītāja zvana signāls"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Nosaukums"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Nokopēts"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Nekas nav izvēlēts"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Nepietiekama sistēmas atmiņa"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Nepietiek atmiņas. Izdzēsiet dažus vienumus"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Izveidošanas datums"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS informācija"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS ģeogrāfiskais platums"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS ģeogrāfiskais garums"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS versija"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Dati"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Jebkurš"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Atlikušās lietošanas reizes"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Izpildīt"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Pārsūtīšana"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Nav iespējams"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Tiek inicializēti MMC dati..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Iespējams"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Drukāt"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Derīgums"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Jauna mape"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Rediģēt"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Kārtot pēc"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Pārvietot šeit"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Turpināt"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Kopē..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Ielīmēt šeit"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Neatbalstīts faila veids"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Detalizēts skats"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Augošā secībā"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Dilstošā secībā"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Visas"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Uz augšu"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Meklēt visās mapēs"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Sīktēlu skats"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Rādīt faila paplašinājumu"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Kārtot pēc"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Saraksts un dati"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Slēpt faila paplaš."
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Nosaukums (no A līdz Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Nosaukums (no Z līdz A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Datums (jaunākais)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Datums (vecākais)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Atv.mapi Mani faili"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Zvana signāli"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Eksportēt šeit"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Saturu, kas aizsargāts ar DRM, nevar iestatīt kā zvana signālu vai paziņojuma signālu"
-
diff --git a/data/po/mk.po b/data/po/mk.po
deleted file mode 100644
index 1c2d8d5..0000000
--- a/data/po/mk.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Горе"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Дома"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Прегледај по листата"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Прегледај по сликички"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Неуспешно бришење"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Заштитен фајл. Не може да се прати"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Неправилно име на фајл"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Достигнат е максималниот број папки"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Нема дозвола"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Неуспешно праќање"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Одредишната папка е под-папка на изворната"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Фајлот не постои."
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Не може да се копира"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Не може да се премести"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Нема доволно меморија во меморијата на телефонот. Избришете некој запис и обидете се повторно"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Неуспешно копирање"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Неуспешно преместување"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Нема доволно меморија. Достапни се %s"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Истото име веќе се користи"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Не може да се премести. Одредишната папка е иста како и изворната"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Нова папка"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Пресликај тука"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Известувања"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Заднини"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Телефон"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Слики"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Видео-записи"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Звуци"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Преземено"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Мем. картичка"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Надворешен мем. уред"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Измени"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Избриши"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Премести"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Отворање"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Премести тука"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Копирај"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Подреди според"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Пребарај"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Повеќе"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Направи папка"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Име на папката"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Мој албум"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Прикажи како"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "НАЗАД"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Мои видео-записи"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Состојба на правата"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Продавач"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Број"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Содржи"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Индивидуално"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Интервал"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Преим."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Време"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Временско користење"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Тип"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Неограничено"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Замени"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Тон за повикувач"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Име"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Копирано"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Не е избрано ништо"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Нема доволно меморија."
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Нема доволно меморија. Избришете некој запис"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Датум на создавање:"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Информации за GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS географска широчина"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS географска должина"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS-верзија"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Детали"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Кој било"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Можност за употреба"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Изврши"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Препраќање"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Невозможно"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Податоците за MMC се активираат..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Возможно"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Печати"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Валидност"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Нова папка"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Измени"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Подреди според"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Премести тука"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Продолжи"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Се копира..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Пресликај тука"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Неподдржан тип на фајл"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Детален преглед"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Нагорен редослед"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Надолен редослед"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Сите"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Отворање"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Пребарај ги сите папки"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Икони"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Прикажи наставки на фајловите"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Подреди според"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Листа со детали"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Сокриј наст. на фајл"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Име (од А до Ш)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Име (од Ш до А)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Датум (Најнов)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Датум (Најстар)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Оди во Мои фајлови"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Тонови на ѕвонење"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Извези тука"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Не може да се постави содржина заштитена со DRM како тон за ѕвонење или за известување"
-
diff --git a/data/po/nb.po b/data/po/nb.po
deleted file mode 100644
index 931df5f..0000000
--- a/data/po/nb.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Opp"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Hjem"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Vis etter liste"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Vis etter miniatyr"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Kunne ikke slette"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM-fil. Kan ikke sende"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Ugyldig filnavn"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Det maksimale antall mapper er nådd"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Tillatelse avslått"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Sendingen mislyktes"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Målmappen er en undermappe til kildemappen"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Filen eksisterer ikke"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Kan ikke kopiere"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Kan ikke flytte"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Ikke nok minne i telefonminnet. Slett noen elementer og prøv på nytt"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Kunne ikke kopiere"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Flyttingen mislyktes"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Ikke tilstreklig med minne. %s er ledig"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Samme navn allerede i bruk"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Kan ikke flytte. Målmappen er den samme som kildemappen"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Lag mappe"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Lim inn her"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Varsler"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Bakgrunn"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Bilder"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Videoklipp"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Lyder"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Nedlastinger"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Minnekort"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Ekstern lagring"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Rediger"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Slett"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Flytt"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Opp"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Flytt hit"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Kopier"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Sorter etter"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Søk"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Mer"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Opprett mappe"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Mappenavn"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Mitt album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Vis som"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Tilbake"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Mine videoklipp"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Rettighetsstatus"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Leverandør"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Antall"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Inneholder"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individuell"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Intervall"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Endre navn"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Tid"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Gjenværende tid"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Type"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Ubegrenset"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Erstatt"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Anropsringetone"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Navn"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Kopiert"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Ingenting valgt"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Ikke nok frilagerminne"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Ikke nok minne. Slett noen elementer"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Opprettingsdato"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS-informasjon"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS-breddegrad"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS-lengdegrad"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS-versjon"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Detaljer"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Alle"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Kan brukes antall ganger"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Utfør"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Videresending"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Umulig"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC-data initialiserer..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Mulig"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Skriv ut"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Gyldighet"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Ny mappe"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Rediger"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Sorter etter"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Flytt hit"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Fortsett"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Kopierer..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Lim inn her"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Filtypen støttes ikke"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Detaljvisning"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Stigende"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Synkende"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Alle"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Opp"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Søk i alle mapper"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Miniatyrvisning"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Vis filendelse"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Sorter etter"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Liste og detaljer"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Skjul filendelse"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Navn (A til Å)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Navn (Å til A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Dato (nyeste)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Dato (eldste)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Gå til Mine Filer"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Ringetoner"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Eksporter hit"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Kan ikke angi DRM-beskyttet innhold som ringetone eller varselsignal"
-
diff --git a/data/po/nl_NL.po b/data/po/nl_NL.po
deleted file mode 100644
index 54afd4b..0000000
--- a/data/po/nl_NL.po
+++ /dev/null
@@ -1,314 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Omhoog"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Startpagina"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Lijstweergave"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Miniatuurweergave"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Verwijderen mislukt"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM-bestand. Kan niet verzonden worden"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Ongeldige bestandsnaam"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Maximum aantal mappen bereikt"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Toestemming geweigerd"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Verzenden mislukt"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "De doelmap is een submap van de bronmap"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Dit bestand bestaat niet"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Kan niet kopiëren"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Kan niet verplaatsen"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Onvoldoende ruimte in telefoongeheugen. Verwijder een aantal items en probeer het opnieuw"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Kopiëren is mislukt"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Verplaatsen is mislukt"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Onvoldoende geheugen. %s beschikbaar"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Naam is al in gebruik"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Kan niet verplaatsen. Doelmap zelfde als bronmap"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Map maken"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Hier kopiëren"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Waarschuwingen"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Achtergronden"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefoon"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Afbeeldingen"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Video's"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Geluiden"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Downloads"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Geheugen-\nkaart"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Externe opslag"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Wijzigen"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Wissen"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Verplaatsen"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Omhoog"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Hier plaatsen"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Kopiëren"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Sorteren op"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Zoeken"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Meer"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Map maken"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Mapnaam"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Mijn album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Tonen als"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Terug"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Mijn videoclips"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Status rechten"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Leverancier"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Aantal"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Bevat"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individueel"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Interval"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Wijzig"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Tijd"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Speelduur"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Type"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Onbeperkt"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Vervang"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Beltoon beller"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Naam"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Gekopieerd"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Niets geselecteerd"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Onvoldoende heap-geheugen"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Onvoldoende geheugen. Wis een aantal items"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Aanmaakdatum"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS informatie"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS-breedtegraad"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS-lengtegraad"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS-versie"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Gegevens"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Alle"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Aantal keer dat het gebruikt mag worden"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Uitvoeren"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Doorsturen"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Niet mogelijk"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC-gegevens worden geïnitialiseerd..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Mogelijk"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Afdrukken"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Geldigheid"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Nieuwe map"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Bewerken"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Sorteren op"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Hier plaatsen"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Doorgaan"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Kopiëren..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Hier kopiëren"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Niet-ondersteund bestandstype"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Detailweergave"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Oplopend"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Aflopend"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Alles"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Omhoog"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Zoeken in alle mappen"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Miniatuurweergave"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Bestandsextensie weergeven"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Sorteren op"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Lijst en details"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Hiernaartoe exporteren"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Naam (A tot Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Naam (Z tot A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Datum (meest recent)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Datum (oudste)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Naar Mijn bestanden"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Beltonen"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Kan door DRM beveiligde inhoud niet instellen als beltoon of meldingsignaal"
diff --git a/data/po/pl.po b/data/po/pl.po
deleted file mode 100644
index 76c0c79..0000000
--- a/data/po/pl.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Góra"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Ekran główny"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Sortuj wg listy"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Sortuj wg miniatur"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Błąd usuwania"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Plik DRM. Nie można wysłać"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Nieprawidłowa nazwa pliku"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Osiągnięto maksymalną wielkość katalogu"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Nie udzielono zezwolenia"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Błąd wysyłania"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Katalog docelowy jest podkatalogiem katalogu źródłowego"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Plik nie istnieje"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Nie można skopiować"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Nie można przenieść"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Za mało pamięci w telefonie. Usuń niektóre elementy i spróbuj ponownie"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Błąd kopiowania"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Błąd przenoszenia"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Brak pamięci. Dostępne: %s"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Ta sama nazwa jest już w użyciu"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Nie można przenieść. Katalog docelowy taki sam jak katalog źródłowy"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Utwórz katalog"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Wklej tutaj"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Alarmy"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Tapety"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Obrazy"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Filmy"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Dźwięki"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Pobrane"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Karta pamięci"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Pamięć zewnętrzna"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Edytuj"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Usuń"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Przenieś"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "W górę"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Przenieś tutaj"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Kopiuj pozycję"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Sortuj według"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Szukaj"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Więcej"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Utwórz katalog"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Nazwa katalogu"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Mój album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Wyświetl jako"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Wstecz"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Moje wideoklipy"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Status uprawnienia"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Dostawca"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Liczba"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Zawiera"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Osobiste"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Okres"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Zm.naz."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Godzina"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Licznik synchronizowany"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Typ"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Nieograniczony"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Zamień"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Dzwonek kontaktu"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Nazwa"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Skopiowano"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Niczego nie zaznaczono"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Brak pamięci heap"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Brak pamięci. Usuń niektóre elementy"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Data utworzenia"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Informacje GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Szerokość geograficzna GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Długość geograficzna GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Wersja GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Szczegóły"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Dowolny"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Dostępne zastosowania"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Wykonaj"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Przesyłanie"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Niemożliwe"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Trwa inicjowanie karty pamięci..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Możliwe"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Drukuj"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Ważność"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Nowy katalog"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Edytuj"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Sortuj wg"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Przenieś tutaj"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Kontynuuj"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Kopiowanie..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Wklej tutaj"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Nieobsługiwany typ pliku"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Wyświetlanie szczegółów"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Rosnąco"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Malejąco"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Wszystkie"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "W górę"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Przesz. wszystkie kat."
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Miniatury"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Pokaż rozszerzenia plików"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Sortuj wg"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Lista i szczegóły"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Ukryj rozszerz. plików"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Nazwa (od A do Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Nazwa (od Z do A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Data (od najnowszych)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Data (od najstarszych)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Idź do Moich plików"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Dzwonki"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Eksportuj tutaj"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Zawartości chronionej za pomocą technologii DRM nie można ustawić jako dzwonek lub powiadomienie"
-
diff --git a/data/po/pt_BR.po b/data/po/pt_BR.po
deleted file mode 100644
index 307739d..0000000
--- a/data/po/pt_BR.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Para cima"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Início"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Visualizar por lista"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Visualizar por miniatura"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Erro ao apagar"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Arquivo DRM. Impossível enviar"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Nome de arquivo\ninválido"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Número máximo de pasta atingido"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Permissão negada"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Erro ao enviar"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "A pasta de destino é uma subpasta da pasta de origem"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Este arquivo não existe"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Impossível copiar"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Impossível mover"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Memória insuficiente no telefone. Apague alguns itens e tente novamente"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Erro ao copiar"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Erro ao mover"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Memória insuficiente. %s disponível"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "O mesmo nome já está sendo utilizado"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Impossível mover. Pasta de destino é a mesma do arquivo de origem"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Criar pasta"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Colar aqui"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Alertas"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Papéis de parede"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefone"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Imagens"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Vídeos"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Tons"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Downloads"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Cartão de memória"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Armazenamento externo"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Editar"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Apagar"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Mover"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Para cima"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Mover para cá"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Copiar"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Ordenar por"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Procurar"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Mais"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Criar pasta"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Nome da pasta"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Meu álbum"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Visualizar como"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Voltar"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Meus vídeos"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Status de direitos"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Fornecedor"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Contagem"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Conteúdo"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individual"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Intervalo"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Renom."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Hora"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Contagem temporizada"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Tipo"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Ilimitado"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Substit."
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Toque para um contato"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Nome"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Copiado"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Nada selecionado"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Memória de pilha insuficiente"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Memória insuficiente. Apague alguns itens"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Criado na data"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Informações de GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Latitude GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Longitude GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Versão GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Detalhes"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Qualquer"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Utilizações disponíveis"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Executar"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Encaminhamento"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Impossível"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Os dados MMC estão sendo iniciados..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Possível"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Imprimir"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Validade"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Nova pasta"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Editar"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Ordenar por"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Mover para cá"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Continuar"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Copiando..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Colar aqui"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Tipo de arquivo não suportado"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Visualização de detalhes"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Crescente"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Descendente"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Todos"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Para cima"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Pesq. todas as pastas"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Ver por miniaturas"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Exibir extensão do arquivo"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Ordenar por"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Lista e detalhes"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Ocultar ext. arquivo"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Nome (De A a Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Nome (De Z a A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Data (mais recente)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Data (mais antiga)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Ir p/ Meus Arquivos"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Toques"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Exportar aqui"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Não é possível definir conteúdo protegido por DRM como toque de chamada ou aviso de alerta"
-
diff --git a/data/po/pt_PT.po b/data/po/pt_PT.po
deleted file mode 100644
index 6f5dc83..0000000
--- a/data/po/pt_PT.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Para cima"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Início"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Ver por lista"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Vista por miniatura"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Falha ao apagar"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Ficheiro DRM. Impossível enviar"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Nome do ficheiro inválido"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Máximo alcançado"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Permissão negada"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Falha de envio"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "A pasta de destino é uma sub-pasta da pasta de origem"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Ficheiro inexistente"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Impossível copiar"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Impossível mover"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Memória insuficiente na memória do telefone. Elimine alguns items e tente novamente"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Falha ao copiar"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Falha ao mover"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Memória insuficiente. %s disponíveis"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Já está a ser utilizado o mesmo nome"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Impossível mover. Pasta de destino igual à pasta de origem"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Criar pasta"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Colar aqui"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Alertas"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Fundos"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefone"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Imagens"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Vídeos"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Sons"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Transferências"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Cartão de memór."
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Armazenamento externo"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Editar"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Eliminar"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Mover"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Para cima"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Mover para aqui"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Copiar"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Ordenar por"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Procurar"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Mais"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Criar pasta"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Nome da pasta"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "O meu álbum"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Visualizar como"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Voltar"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Os meus clips de vídeo"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Estado dos direitos"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Representante"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Contagem"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Conteúdo"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individual"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Intervalo"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "M. nm."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Hora"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Contagem temporizada"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Tipo"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Ilimitado"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Subs."
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Toque do chamador"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Nome"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Copiado"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Nada seleccionado"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Memória de pilha insuficiente"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Memória insuficiente. Apague alguns itens"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Criado na data"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Informações de GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Latitude GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Longitude GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Versão GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Detalhes"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Qualquer"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Utilizações disponíveis"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Executar"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Reencaminhar"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Impossível"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Os dados MMC estão a ser iniciados..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Possível"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Imprimir"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Validade"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Nova pasta"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Editar"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Listar por"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Mover para aqui"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Continuar"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "A copiar..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Colar aqui"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Tipo de ficheiro não suportado"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Vista de detalhes"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Ascendente"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Descendente"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Tudo"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Para cima"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Proc. em todas pastas"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Vista de miniatura"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Mostrar extensão de ficheiro"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Ordenar por"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Lista e detalhes"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Ocultar ext. ficheiro"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Nome (de A a Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Nome (de Z a A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Data (mais recente)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Data (mais antiga)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Ir para Os Meus Ficheiros"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Tons de toque"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Exportar aqui"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Impossível definir conteúdo protegido por DRM como tom de toque ou alerta de notificação"
-
diff --git a/data/po/ro.po b/data/po/ro.po
deleted file mode 100644
index 9bbb247..0000000
--- a/data/po/ro.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Sus"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Acasă"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Vizualizare tip listă"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Vizualizare imagini în format redus"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Ştergerea nu a reuşit"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Fişier DRM. Imposibil de trimis"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Nume fişier incorect"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "S-a atins nivelul maxim pentru folder"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Permisiunea a fost refuzată"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Trimitere nereuşită"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Fişierul de destinaţie este un subfişier al fişierului sursă"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Acest fişier nu există"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Imposibil de copiat"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Imposibil de mutat"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Memoria telefonului este insuficientă. Ştergeţi câteva elemente şi încercaţi din nou"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Copierea nu a reuşit"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Mutarea nu a reuşit"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Memorie insuficientă. %s disponibil"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Acelaşi nume deja în uz"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Imposbil de mutat. Folderul de destinaţie acelaşi cu folderul sursă"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Creare folder"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Lipire aici"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Avertizări"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Fundaluri"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Imagini"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Videoclipuri"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Sunete"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Descărcări"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Cartelă de memorie"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Stocare externă"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Editare"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Ştergere"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Mutare"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Sus"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Mutare aici"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Copiere"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Sortare după"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Căutare"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Mai multe"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Creare director"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Nume director"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Albumul meu"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Vizualizare ca"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Înapoi"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Clipurile mele video"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Stare drepturi"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Distribuitor"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Contor"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Conţine"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individual"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Interval"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Reden."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Oră"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Numărătoare temporizată"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Tip"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Nelimitat"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Înloc."
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Ton sonerie apelant"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Nume"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Copiat"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Nimic selectat"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Memorie heap insuficientă"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Memorie insuficientă. Ştergeţi câteva elemente"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Dată creare"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Informaţii GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Latitudine GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Longitudine GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Versiune GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Detalii"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Oricare"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Utilizări disponibile"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Executare"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Redirecţionare"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Imposibil"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Se iniţializează datele MMC..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Posibil"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Imprimare"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Valabilitate"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Folder nou"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Editare"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Listare după"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Mutare aici"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Continuare"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Copiere..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Lipire aici"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Tip fişier neacceptat"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Afişare detaliată"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Crescător"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Descrescător"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Toate"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Sus"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Căutare totală foldere"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Vizualizare pictograme"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Afişare extensie de fişier"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Sortare după"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Listă şi detalii"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Ascundere ext. fişier"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Nume (de la A la Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Nume (de la Z la A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Dată (cele mai recente)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Dată (cele mai vechi)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Accesare Fişierele mele"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Tonuri sonerie"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Export aici"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Imposibil de setat conţinutul protejat prin drepturi DRM ca ton de sonerie sau ca alertă de notificare"
-
diff --git a/data/po/ru_RU.po b/data/po/ru_RU.po
deleted file mode 100644
index b939937..0000000
--- a/data/po/ru_RU.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Вверх"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Домой"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Просмотр в виде списка"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Просмотр по эскизам"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Сбой удаления"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Файл DRM. Невозможно отправить"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Неверное имя файла"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Достигнуто макс. количество папок"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Разрешение не получено"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Сбой передачи"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Папка назначения является вложенной в исходной папке"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Файл не существует"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Невозможно скопировать"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Невозможно переместить"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Недостаточно памяти телефона. Удалите ненужные элементы и повторите попытку"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Сбой копирования"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Сбой перемещения"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Недостаточно памяти. Свободная память: %s"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Имя уже используется"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Невозможно переместить. Папка назначения совпадает с исходной папкой"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Создать папку"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Вставить сюда"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Оповещения"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Обои"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Телефон"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Картинки"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Видео"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Звуки"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Загрузки"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Карта памяти"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Внешний носитель"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Изменить"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Удалить"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Переместить"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Вверх"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Переместить сюда"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Копир."
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Сортировка"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Поиск"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Опции"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Создать папку"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Имя папки"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Мой альбом"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Просмотреть как"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Назад"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Мои видеоклипы"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Состояние прав"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Поставщик"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Количество"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Содержит"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Индивидуальный"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Интервал"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Переим."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Время"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Счетчик"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Тип"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Не ограничено"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Заменить"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Мелодия контакта"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Имя"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Скопировано"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Ничего не выбрано"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Недостаточно динамической памяти"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Недостаточно памяти. Удалите некоторые элементы"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Дата создания"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Информация GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Широта по GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Долгота по GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Версия GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Сведения"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Любой"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Доступно"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Запуск"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Пересылка"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Невозможно"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Инициализация данных MMC..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Возможно"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Печать"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Период действия"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Новая папка"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Изменить"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Сортировка по"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Переместить сюда"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Продолжить"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Копирование..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Вставить сюда"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Неподдерживаемый тип файла"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Просмотр сведений"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "По возрастанию"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "По убыванию"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Все"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Вверх"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Поиск по всем папкам"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Эскизы"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Показать расширение файла"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Сортировка"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Подробный список"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Скрыть расширение"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Имя (от А до Я)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Имя (от Я до А)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Дата (сначала последние)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Дата (сначала старые)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Перейти в Мои файлы"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Мелодии звонка"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Экспортировать сюда"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Не удалось установить содержимое, защищенное DRM, в качестве мелодии звонка или сигнала уведомления"
-
diff --git a/data/po/sk.po b/data/po/sk.po
deleted file mode 100644
index dad2163..0000000
--- a/data/po/sk.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Hore"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Domov"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Zobraziť podľa zoznamu"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Zobraziť podľa miniatúr"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Vymazanie sa nepodarilo"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Súbor DRM. Nedá sa odoslať"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Neplatný názov súboru"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Dosiahol sa maximálny počet priečinkov"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Povolenie odmietnuté"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Odoslanie zlyhalo"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Cieľový priečinok je podpriečinkom zdrojového priečinka"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Súbor neexistuje"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Nedá sa kopírovať"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Nedá sa presunúť"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Nedostatok pamäte telefónu. Vymažte niektoré položky a skúste to znova"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Kopírovanie sa nepodarilo"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Presunutie sa nepodarilo"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Nedostatok pamäte. K dispozícii je %s"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Rovnaký názov sa už používa"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Nedá sa premiestniť. Cieľový priečinok je zhodný so zdrojovým priečinkom"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Vytvoriť priečinok"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Prilepiť sem"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Výstrahy"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Tapety"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefón"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Obrázky"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Videá"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Zvuky"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Stiahnuté položky"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Pamäťová karta"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Exter. úložný priestor"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Upraviť"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Odstrániť"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Presun."
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Hore"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Presunúť sem"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Kopírovať"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Zoradiť podľa"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Hľadať"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Ďalšie"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Vytvoriť priečinok"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Názov priečinka"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Môj album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Zobraziť ako"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Späť"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Moje videoklipy"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Stav práv"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Dodávateľ"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Počet"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Obsahuje"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Jednotlivé"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Interval"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Prem."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Čas"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Časovaný počet"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Typ"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Neobmedzené"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Nahradiť"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Zvonenie volajúceho"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Meno"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Skopírované"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Nič nie je vybrané"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Nedostatok odkladacej pamäte"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Nedostatok pamäte. Vymažte niektoré položky"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Dátum vytvorenia"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS informácie"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Zemepisná šírka GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Zemepisná dĺžka GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Verzia GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Podrobnosti"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Všetko"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Počet použití k dispozícii"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Vykonať"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Preposlanie"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Nemožné"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Inicializujú sa údaje MMC..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Možné"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Tlač"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Platnosť"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Nový priečinok"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Upraviť"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Zoradiť podľa"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Presunúť sem"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Pokračovať"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Kopírovanie..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Vložiť sem"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Nepodporovaný typ súboru"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Detailné zobrazenie"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Vzostupne"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Zostupne"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Všetko"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Hore"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Hľadať vo všet. prieč."
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Zobrazenie miniatúr"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Zobraziť príponu súboru"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Usporiadať podľa"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Zoznam a podrobnosti"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Skryť príponu súboru"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Názov (od A po Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Názov (od Z po A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Dátum (najnovšie)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Dátum (najstaršie)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Ísť na Moje súbory"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Zvonenia"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Exportovať sem"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Obsah chránený technológiou DRM nemožno nastaviť ako vyzváňací tón ani upozornenie na oznámenie"
-
diff --git a/data/po/sl.po b/data/po/sl.po
deleted file mode 100644
index a7acac8..0000000
--- a/data/po/sl.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Gor"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Domov"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Pregled po seznamu"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Prikaži s sličicami"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Brisanje ni uspelo"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Datoteka DRM. Ni mogoče shraniti"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Neveljavno ime datoteke"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Doseženo je največje dovoljeno število map"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Dovoljenje zavrnjeno"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Pošiljanje ni uspelo"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Ciljna mapa je podmapa izvorne"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Ta datoteka ne obstaja"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Ni mogoče kopirati"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Premikanje ni mogoče"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Ni dovolj pomnilnika v telefonskem polnilniku. Zbrišite nekaj elementov in poskusite znova"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Kopiranje ni uspelo"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Premikanje ni uspelo"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Ni dovolj pomnilnika. Na voljo je %s"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "XXX se že uporablja"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Ni mogoče premakniti. Ciljna mapa je enaka izvorni"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Ustvari mapo"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Prilepi sem"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Opozorila"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Ozadja"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Slike"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Videoposnetki"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Zvoki"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Prenosi"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Pomniln. kartica"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Zunanji pomnilnik"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Uredi"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Izbriši"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Premik"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Gor"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Premakni sem"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Kopiraj"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Razvrsti po"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Iskanje"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Več"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Ustvari mapo"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Ime mape"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Moj album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Prikaži kot"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Nazaj"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Moji videoposnetki"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Stanje pravic"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Ponudnik"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Štetje"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Vsebuje"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Posamezno"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Interval"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Preim."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Čas"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Časovno število"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Vrsta"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Neomejeno"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Zamenjaj"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Melodija kličočega"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Ime"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Kopirano"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Nič ni izbrano"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Ni dovolj pomnilnika sklada"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Ni dovolj pomnilnika. Izbrišite nekaj predmetov"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Datum ustvarjanja"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Informacije GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Zemljepisna širina GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Zemljepisna dolžina GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Različica GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Podrob."
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Karkoli"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Število uporab"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Izvedi"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Posredovanje"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Nemogoče"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Podatki MMC se inicializirajo ..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Mogoče"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Tiskanje"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Veljavnost"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Nova mapa"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Uredi"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Razvrsti po"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Premakni sem"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Nadaljuj"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Kopiram ..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Prilepi sem"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Nepodprta vrsta datoteke"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Podroben ogled"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Naraščajoče"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Padajoče"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Vse"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Gor"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Iskanje po vseh mapah"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Prikaz sličice"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Prikaži končnico datoteke"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Uredi po"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Seznam in podrobnosti"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Skrij pripono datoteke"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Ime (od A proti Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Ime (od Z proti A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Datum (Najnovejši)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Datum (Najstarejši)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Pojdi na Moje datot."
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Zvonjenja"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Izvozi sem"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Vsebine, zaščitene z DRM, ni mogoče nastaviti za zvonjenje ali opozorilo"
-
diff --git a/data/po/sr.po b/data/po/sr.po
deleted file mode 100644
index 1223920..0000000
--- a/data/po/sr.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Gore"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Početak"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Prikaži po listi"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Prikaži kao indeksne sličice"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Brisanje neuspešno"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM fajl. Ne može se poslati"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Neispravan naziv fajla"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Dostignut maksimalan broj foldera"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Dozvola odbijena"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Slanje neuspešno"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Odredišni folder je podfolder izvornog foldera"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Fajl ne postoji"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Nemoguće kopirati"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Nemoguće premestiti"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Nedovoljno memorije u memoriji telefona. Obriši neke stavke i probaj opet"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Kopiranje neuspešno"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Premeštanje neuspešno"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Nedovoljna memorija. %s dostupno"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Taj naziv je već u upotrebi"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Nemoguće premestiti. Odredišni folder isti kao izvorni"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Kreiraj folder"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Zalepi ovde"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Upozorenja"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Tapeti"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Slike"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Video zapisi"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Zvuci"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Preuzimanja"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Memor. kartica"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Spoljna memorija"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Izmeni"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Obriši"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Premesti"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Gore"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Premesti ovde"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Kopiraj"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Sortiraj po"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Pretraga"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Još"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Kreiraj folder"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Naziv foldera"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Moj album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Videti kao"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Nazad"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Moji video klipovi"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Pravni status"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Dobavljač"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Broj"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Sadrži"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Pojedinačno"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Interval"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Preim."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Vreme"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Preostalo vreme"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Tip"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Neograničeno"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Zameni"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Ton zvona pozivaoca"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Ime"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Iskopirano"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Ništa nije izabrano"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Nedovoljna memorija"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Nedovoljno memorije. Obriši neke od stavki"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Datum kreiranja"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS informacije"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Geografska širina za GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Geografska dužina za GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Verzija GPS-a"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Detalji"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Sve"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Moguće upotrebe"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Izvrši"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Prosleđivanje"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Nemoguće"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC podaci se inicijalizuju..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "moguće"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Štampaj"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Važenje"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Novi folder"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Izmeni"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Listaj po"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Premesti ovde"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Nastavi"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Kopiranje..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Zalepi ovde"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Nepodržani tip fajla"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Prikaz detalja"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Rastuće"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Opadajuće"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Sve"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Gore"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Pretraži sve foldere"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Indeksni prikaz"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Prikaži ekstenziju fajla"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Sortiraj po"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Lista sa detaljima"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Sakrij det. tipa fajla"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Ime (od A do Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Ime (od Z do A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Datumu (najnovije)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Datumu (najstarije)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Idi u Moje fajlove"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Tonovi zvona"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Izvezi ovde"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Nije moguće podesiti sadržaj koji ima DRM zaštitu kao ton zvona ili upozorenje o obaveštenju"
-
diff --git a/data/po/sv.po b/data/po/sv.po
deleted file mode 100644
index 4dad0e7..0000000
--- a/data/po/sv.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Uppåt"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Hem"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Visa som lista"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Visa som miniatyrbilder"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Radering misslyckades"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM-fil. Kan inte skicka"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Ogiltigt filnamn"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Max antal mappar"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Tillstånd nekades"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Sändning misslyckades"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Målmappen är en undermapp till källmappen"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Filen finns inte"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Det går inte att kopiera"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Det går inte att flytta"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Otillräckligt telefonminne. Radera några filer och försök igen"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Kopieringen misslyckades"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Det gick inte att flytta"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "För lite minne. %s tillgängligt"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Detta namn används redan"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Kan inte flytta. Målmappen är densamma som källmappen"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Skapa mapp"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Klistra in här"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Påminnelser"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Bakgrunder"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Bilder"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Videoklipp"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Ljud"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Nedladdningar"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Minneskort"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Externt minne"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Redigera"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Radera"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Flytta"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Upp"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Flytta hit"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Kopiera"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Sortera efter"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Sök"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Mer"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Skapa mapp"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Mappnamn"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Mitt album"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Visa som"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Åter"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Mina videoklipp"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Rättighetsstatus"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Leverantör"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Antal"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Innehåller"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individuell"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Intervall"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Namnb."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Tid"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Tidsgräns för räkning"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Typ"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Obegränsad"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Ersätt"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Ringsignal till Foto-ID"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Namn"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Kopierad"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Inget markerat"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "För lite heap-minne"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Minnet räcker inte. Radera några objekt"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Skapad den"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS-information"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS-latitud"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS-longitud"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS-version"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Info"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Alla"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Tillgängliga tillämpningar"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Exekvera"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Vidarebefordra"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Ej möjlig"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC-data initieras..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Möjlig"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Skriv ut"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Giltighet"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Ny mapp"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Redigera"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Sortera efter"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Flytta hit"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Fortsätt"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Kopierar..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Klistra in här"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Filtypen stöds inte"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Detaljvy"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Stigande"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Fallande"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Alla"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Upp"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Sök i alla mappar"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Miniatyrer"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Visa filtillägg"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Sortera efter"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Lista och information"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Dölj filtillägg"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Namn (A till Ö)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Namn (Ö till A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Datum (senaste)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Datum (äldsta)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Gå till Mina filer"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Ringsignaler"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Exportera hit"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Det går inte att ställa in DRM-skyddat innehåll som ringsignaler eller meddelandevarningar"
-
diff --git a/data/po/tr_TR.po b/data/po/tr_TR.po
deleted file mode 100644
index bd98a9b..0000000
--- a/data/po/tr_TR.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Yukarı"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "A.Syf"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Liste şeklinde göster"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Küçük resim görünümü"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Silinemedi"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM dosyası gönderilemiyor"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Geçersiz dosya adı"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Maksimum"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "İzin reddedildi"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Gönderme Başarısız"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Hedef klasör kaynak klasörün alt klasörü"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Dosya yok"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Kopyalanamıyor"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Taşınamıyor"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Telefon belleğinde yeterli yer yok. Bazı öğeleri silin ve tekrar deneyin"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Kopyalama başarısız"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Taşıma başarısız"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Yeterli hafıza yok. %s kullanılabilir"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "İsim zaten kullanımda"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Taşınamıyor. Hedef klasör kaynak klasörle aynı"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Klasör oluştur"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Buraya yapıştır"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Uyarılar"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Duvar kağıtları"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Resimler"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Videolar"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Sesler"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "İndirilenler"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Hafıza kartı"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Harici bellek"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Düzenle"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Sil"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Taşı"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Yukarı"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Buraya taşı"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Kopyala"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Sırala"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Bul"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Diğer"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Klasör oluştur"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Klasör adı"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Albümüm"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Başka adla görüntüle"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Geri"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Video kliplerim"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Hak durumu"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Sağlayıcı"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "sayım"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "İçindekiler"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Kişisel"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Aralık"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Y. adl"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Saat"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Zamanlı sayım"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Tür"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Sınırsız"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Değiştir"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Arayan zil sesi tonu"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "İsim"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Kopyalandı"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Bir şey seçilmedi"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Yeterli küme hafızası yok"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Yeterli hafıza yok. Bazı öğeleri silin."
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Oluşturulma tarihi"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS bilgileri"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS enlem"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS boylam"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS versiyonu"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Ayrıntılar"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Herhangi"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Mevcut kullanımlar"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Uygulama"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "İletme"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "İmkansız"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC verileri başlatılıyor..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Mümkün"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Yazdır"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Geçerlilik"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Yeni klasör"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Düzenle"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Listele"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Buraya taşı"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Devam"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Kopyalanıyor..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Buraya yapıştır"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Desteklenmeyen dosya türü"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Ayrıntılı görünüm"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "Artan"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Azalan"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Hepsi"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Yukarı"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Tüm klasörleri ara"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Küçük resim görünümü"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Dosya uzantılarını göster"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Sırala"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Liste ve ayrıntılar"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Dosya uzntılrını gizle"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Ad (A'dan Z'ye)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Ad (Z'den A'ya)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Tarih (En yeni)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Tarih (En eski)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Dosyalarım’a git"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Zil sesleri"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Buraya aktar"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "DRM korumalı içerik zil sesi veya bildirim uyarısı olarak belirlenemedi"
-
diff --git a/data/po/ug-myfile-efl.pot b/data/po/ug-myfile-efl.pot
deleted file mode 100644
index c89d2ef..0000000
--- a/data/po/ug-myfile-efl.pot
+++ /dev/null
@@ -1,94 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-06-16 18:18+0900\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: src_sg/myfile_sg_lib.c:98 src_sg/myfile_sg_lib.c:482
-#: src_sg/myfile_sg_lib.c:518 src_sg/myfile_sg_lib.c:901
-msgid "IDS_COM_SK_OK"
-msgstr ""
-
-#: src_sg/myfile_sg_lib.c:478 src_sg/myfile_sg_lib.c:894
-msgid "IDS_COM_BODY_BACK"
-msgstr ""
-
-#: src_sg/myfile_sg_lib.c:504 src_sg/myfile_sg_lib.c:897
-#: src_sg/myfile_sg_lib.c:942
-msgid "IDS_COM_BODY_DELETE"
-msgstr ""
-
-#: src_sg/myfile_sg_lib.c:517
-msgid "Select at least one item"
-msgstr ""
-
-#. supporting multi-lang for default folders
-#: source/libraries/winset-wrapper/main/titlebar.c:24
-msgid "Images"
-msgstr ""
-
-#: source/libraries/winset-wrapper/main/titlebar.c:25
-msgid "IDS_MF_BODY_IMAGES"
-msgstr ""
-
-#: source/libraries/winset-wrapper/main/titlebar.c:27
-msgid "Videos"
-msgstr ""
-
-#: source/libraries/winset-wrapper/main/titlebar.c:28
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr ""
-
-#: source/libraries/winset-wrapper/main/titlebar.c:30
-msgid "Sounds"
-msgstr ""
-
-#: source/libraries/winset-wrapper/main/titlebar.c:31
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr ""
-
-#: source/libraries/winset-wrapper/main/titlebar.c:33
-msgid "Others"
-msgstr ""
-
-#: source/libraries/winset-wrapper/main/titlebar.c:34
-msgid "IDS_MF_BODY_OTHERS"
-msgstr ""
-
-#: source/libraries/winset-wrapper/main/tab.c:16
-#: source/libraries/winset-wrapper/main/tab.c:79
-#: source/libraries/winset-wrapper/main/tab.c:102
-#: source/libraries/winset-wrapper/main/popup.c:291
-msgid "IDS_COM_BODY_PHONE"
-msgstr ""
-
-#: source/libraries/winset-wrapper/main/tab.c:26
-#: source/libraries/winset-wrapper/main/tab.c:80
-#: source/libraries/winset-wrapper/main/tab.c:103
-#: source/libraries/winset-wrapper/main/popup.c:297
-msgid "IDS_COM_BODY_MEMORY_CARD"
-msgstr ""
-
-#: source/libraries/winset-wrapper/main/tab.c:28
-msgid "IDS_COM_BODY_ALL"
-msgstr ""
-
-#: source/libraries/winset-wrapper/main/tab.c:52
-msgid "FONT_NAME"
-msgstr ""
-
-#: source/libraries/winset-wrapper/main/popup.c:346
-msgid "IDS_COM_SK_CANCEL"
-msgstr ""
diff --git a/data/po/uk.po b/data/po/uk.po
deleted file mode 100644
index 778172e..0000000
--- a/data/po/uk.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Вгору"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Домашній"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Переглянути за списком"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Переглянути ескізи"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Збій видалення"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "Файл DRM. Неможливо надіслати"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Хибна назва файла"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Досягнуто максимальної кількості папок"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "У дозволі відмовлено"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Збій передачи"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Папка призначення є підпапкою вихідної папки"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Файл не існує"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Неможливо скопіювати"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Неможливо перемістити"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Недостатньо місця в пам’яті телефону. Видаліть декілька об’єктів і спробуйте ще раз"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Збій копіювання"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Збій переміщення"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Недостатньо пам’яті. %s доступно"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Ім’я вже використовується"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Неможливо перемістити. Папка призначення та вихідна папка однакові"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Створити папку"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Вставити сюди"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Сигнали"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Заставки"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Телефон"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Зображення"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Відео"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Звуки"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Завантаження"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Карта пам’яті"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Зовн. місце збереження"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Редагу-\nвати"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "Видалити"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Переміст."
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Вгору"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Перемістити сюди"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Копіювати"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Сорт. за"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Пошук"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Додатково"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Створити папку"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Ім'я папки"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Мій альбом"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Переглянути як"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "НАЗАД"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Мої відеокліпи"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Стан прав"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Постачальник"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Кількість"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Містить"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Індивідуальні"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Інтервал"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Пер-м."
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Час"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Тривалість використання"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Тип"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Необмежено"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Замінити"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Звук дзвінка абонента"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Назва"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Скопійовано"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Нічого не вибрано"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Недостатньо пам'яті"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Недостатньо пам’яті. Видаліть деякі об’єкти"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Дата створення"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "Інформація GPS"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "Широта GPS"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "Довгота GPS"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "Версія GPS"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Деталі"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Any"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Доступні використання"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Виконати"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Переадресація"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Неможливо"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "Ініціалізація даних MMC..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Можливо"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Друк"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Термін дії"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Ручний"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Редагувати"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Сортувати за"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Перемістити сюди"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Продовж."
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Копіювання..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Вставити сюди"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Формат не підтримується"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Докладний перегляд"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "За зростанням"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "За спаданням"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Всі"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Вгору"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Шукати в усіх папках"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Ескіз"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Показати розширення файла"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Сортувати за"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Список і відомості"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Приховати розшир.файлу"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Назва (А-Я)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Назва (Я-А)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Дата (остання)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Дата (найдавніша)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Пер. до моїх файлів"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Звуки дзвінка"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Експортувати сюди"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "Неможливо встановити вміст, захищений DRM, як звук дзвінка або сигнал сповіщення"
-
diff --git a/data/po/uz.po b/data/po/uz.po
deleted file mode 100644
index c0e84b3..0000000
--- a/data/po/uz.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "Yuqoriga"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "Asosiy"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "Ro‘yxat bo‘yicha ko‘rib chiqish"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "Eskiz bo‘y. ko‘r."
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "Yo‘q qilish bajarilmadi"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM fayl. Yuborib bo‘lmaydi"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "Noto‘g‘ri fayl nomi"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "Jildlar soni maksimal miqdorga yetdi"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "Ruxsat rad etildi"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "Yuborish bajarilmadi"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "Yakuniy jild manba jildining tagjildi hisoblanadi"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "Ushbu fayl mavjud emas"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "Nusxa ko‘chirib bo‘lmaydi"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "Ko‘chirib bo‘lmaydi"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "Telefonda xotira yetarli emas. Ba’zi elementlarni yo‘q qiling va qayta urinib ko‘ring"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "Nusxa olish bajarilmadi"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "Ko‘chirib bo‘lmadi"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "Xotira yetarli emas. %s mavjud"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "Bunday nom avvaldan ishlatilmoqda"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "Ko‘chirib bo‘lmaydi. Yakuniy jild manba jildi bilan bir xil"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "Jild yaratish"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "Bu yerga qo‘yish"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "Signallar"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "Fon rasmlari"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "Telefon"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "Tasvirlar"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "Videolar"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "Ovozlar"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "Yuklanishlar"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "Xotira kartasi"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "Tashqi xotira"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "Tahrirlash"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "O'chirish"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "Ko‘chirish"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "Yuqoriga"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "Bu yerga ko‘ch."
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "Nusxa olish"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "Quyid. bo‘y. sar"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "Qidirish"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "Yana"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "Jild yaratish"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "Jild nomi"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "Mening albomim"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "Quyidagi sifatida ko‘rib chiqish"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "Orqaga"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "Mening video kliplarim"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "Huquq holati"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "Ta’minotchi"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "Hisob"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "Tarkibi:"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "Individual"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "Interval"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "Nm/o‘z"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "Vaqt"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "Vaqti belgilangan sanoq"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "Tur"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "Cheklanmagan"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "Almasht."
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "Qo‘ng‘iroq qiluvchi ringtoni"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "Nom"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "Nusxa olindi"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "Hech narsa tanlanmagan"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "Xip xotira yetarli emas"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "Xotira yetarli emas. Ba’zi elementlarni o'chiring"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "Yaratilgan sana"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS ma’lumotlari"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS kengligi"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS uzunligi"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS versiyasi"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "Tafsilot"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "Har qanday"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "Mavjud foydalanishlar"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "Amalga oshirish"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "Boshqaga yo‘naltirish"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "Imkonsiz"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "MMC ma’lumoti initsializatsiyalanmoqda..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "Taxminiy"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "Chop etish"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "Amal qilish"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "Yangi jild"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "Tahrirlash"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "Quyidagi bo‘yicha ro‘yxat"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "Bu yerga ko‘chiring"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "Davom ettirish"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "Nusxa ko‘chirilmoqda..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "Bu yerga qo‘shing"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "Qo‘llab-quvvatlanmaydigan fayl turi"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "Batafsil"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "O‘sish tartibida"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "Kamayib borish"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "Barcha"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "Up"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "Barcha jildlarni qidir"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "Eskizli ko'rinish"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "Fayl kengaytmasini ko‘rsatish"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "Saralash"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "Ro‘yxat va tafsilotlar"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "Fayl kengaytma. yashir"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "Nom (A dan Z ga)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "Nom (Z dan A ga)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "Sana (Eng oxirgi)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "Sana (Eng eski)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "Fayllarimga o‘ting"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "Ringtonlar"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "Bu yerga eksport qil"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "DRM himoyalangan tarkibni rington yoki bildirishnoma signali sifatida o‘rnatib bo‘lmaydi"
-
diff --git a/data/po/zh_CN.po b/data/po/zh_CN.po
deleted file mode 100644
index 464e17f..0000000
--- a/data/po/zh_CN.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "向上"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "主界面"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "通过列表查看"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "通过缩略图查看"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "删除失败"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM 文件。无法发送"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "文件名无效"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "已达最大文件夹数"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "许可被拒绝"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "发送失败"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "目标文件夹是源文件夹的子文件夹"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "此文件不存在"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "无法复制"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "无法移动"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "手机内存不足。请删除部分项目并重试"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "复制失败"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "移动失败"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "存储空间不足。 剩余 %s"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "相同名字已使用"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "无法移动。目的地文件夹与源文件夹相同"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "新文件夹"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "粘贴到此处"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "提示"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "墙纸"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "话机"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "图片"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "视频"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "声音"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "下载列表"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "存储卡"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "外部存储器"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "编辑"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "删除"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "移动"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "上"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "移动到这里"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "复制"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "排序方式"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "搜索"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "更多"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "新建文件夹"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "文件夹名称"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "我的相册"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "查看方式"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "返回"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "我的录像片段"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "授权状态"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "提供者"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "计数"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "包括"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "个人"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "间隔"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "重命名"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "时间"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "计时"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "类型"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "无限"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "替换"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "来电铃声"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "名称"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "已复制"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "未选择"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "堆存储器容量不足"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "存储空间不足。请删除部分项目"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "创建日期"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS 信息"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS纬度"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS经度"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS 版本"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "详细信息"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "任何"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "可用于"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "执行"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "转发"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "不可以"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "正在初始化 MMC 数据..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "可以"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "打印"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "有效"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "新文件夹"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "编辑"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "排序方式"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "移动到这里"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "继续"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "正在复制..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "粘贴至此"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "不支持的文件类型"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "详情查看"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "升序"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "降序"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "全部"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "上"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "搜索所有文件夹"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "缩略图查看"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "显示文件扩展名"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "排序方式"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "列表和详情"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "隐藏文件扩展名"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "名称(A 至 Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "名称(Z 至 A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "日期(最近)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "日期(最早)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "转到我的文件"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "铃声"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "此处导出"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "无法将 DRM 保护内容设置为铃声或通知提醒"
-
diff --git a/data/po/zh_HK.po b/data/po/zh_HK.po
deleted file mode 100644
index 33e8318..0000000
--- a/data/po/zh_HK.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "向上"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "首頁"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "按清單檢視"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "按縮圖檢視"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "刪除失敗"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM 檔案。無法發送"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "檔案名稱無效"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "資料夾數目已達上限"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "權限被拒絕"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "發送失敗"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "目標資料夾是來源資料夾的子資料夾"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "此檔案不存在"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "無法複製"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "無法移動"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "手機記憶體不足。刪除一些項目並再試"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "複製失敗"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "移動失敗"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "記憶體不足。%s 可用"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "相同名稱已被使用"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "無法移動。目的地資料夾與來源資料夾相同"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "建立資料夾"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "貼在這裡"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "提示"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "螢幕牆紙"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "手機"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "圖像"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "影片"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "聲音"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "下載項目"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "記憶卡"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "外置儲存裝置"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "編輯"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "刪除"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "移動"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "上"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "移到這裡"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "複製"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "排序方式"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "搜尋"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "更多"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "建立資料夾"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "資料夾名稱"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "我的相簿"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "檢視為"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "返回"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "我的短片"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "版權狀態"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "供應商"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "計數"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "包含"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "個人"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "間隔"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "重新命名"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "時間"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "計時"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "類型"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "無限制"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "取代"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "聯絡人來電鈴聲"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "名稱"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "已複製"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "無已選擇項目"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "堆積記憶體不足"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "記憶體不足。請刪除一些項目"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "建立日期"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS 資訊"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS緯度"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS經度"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS 版本"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "詳細資料"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "任何"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "可供使用"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "執行"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "轉寄中"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "不可以"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "正在初始化 MMC 數據..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "可以"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "列印"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "有效期"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "新資料夾"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "編輯"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "排列按"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "移到這裡"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "繼續"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "正在複製..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "貼在這裡"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "不支援的檔案類型"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "詳細檢視"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "升序"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "降序"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "全部"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "上"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "搜尋所有資料夾"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "縮圖檢視"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "顯示檔案伸展內容"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "排序方式"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "清單及詳情"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "隱藏副檔名"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "名稱 (A 至 Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "名稱 (Z 至 A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "日期(最近的)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "日期 (最舊的)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "前往我的檔案"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "鈴聲"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "於此匯出"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "無法將受 DRM 保護的內容設為鈴聲或通知提醒"
-
diff --git a/data/po/zh_SG.po b/data/po/zh_SG.po
deleted file mode 100644
index 99adf4d..0000000
--- a/data/po/zh_SG.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "向上"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "首页"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "通过列表查看"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "通过缩略图查看"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "删除失败"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM文件。无法发送"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "文件名无效"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "已达最大文件夹数"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "许可被拒绝"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "发送失败"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "目标文件夹是源文件夹的子文件夹"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "此文件不存在"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "无法复制"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "无法移动"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "手机内存不足。请删除部分项目并重试"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "复制失败"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "移动失败"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "存储空间不足. 剩余%s"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "相同名称已在使用"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "无法移动。目的地文件夹与源文件夹相同"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "创建文件夹"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "粘贴到此"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "提示"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "墙纸"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "手机"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "图像"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "录像"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "声音"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "下载"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "存储卡"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "外部存储器"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "编辑"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "删除"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "移动"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "上"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "移到这儿"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "复制"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "排序方式"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "搜寻"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "更多"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "创建文件夹"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "文件夹名称"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "我的相册"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "查看作为"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "返回"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "我的视频剪辑"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "权限状态"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "提供者"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "计数"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "包括"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "个人"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "间隔"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "重命名"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "时间"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "计时"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "类型"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "无限"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "替换"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "来电人铃声"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "名称"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "已复制"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "未选择"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "堆存储器容量不足"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "内存已满\n请删除项目"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "创建日期"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS 信息"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS纬度"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS经度"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS 版本"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "详细信息"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "任何"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "适用用法"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "执行"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "转发中"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "不可能"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "正在初始化 MMC 数据..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "可能"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "打印"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "有效"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "新文件夹"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "编辑"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "排序方式"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "移动至此"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "继续"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "复制中…"
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "粘贴至此"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "不支持的文件类型"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "详情查看"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "升序"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "降序"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "全部"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "上"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "搜索所有文件夹"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "缩略图查看"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "显示文件扩展名"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "排序通过"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "列表和详情"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "隐藏文件扩展名"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "名称(A 至 Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "名称(Z 至 A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "日期(最近)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "日期(最晚)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "转到我的文件"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "铃声"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "此处导出"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "无法将 DRM 保护内容设置为铃声或通知提醒"
-
diff --git a/data/po/zh_TW.po b/data/po/zh_TW.po
deleted file mode 100644
index b22bd6b..0000000
--- a/data/po/zh_TW.po
+++ /dev/null
@@ -1,318 +0,0 @@
-msgid "IDS_MF_TAB_UP"
-msgstr "向上"
-
-msgid "IDS_MF_BUTTON_HOME"
-msgstr "主目錄"
-
-msgid "IDS_MF_OPT_VIEW_BY_LIST"
-msgstr "依清單檢視"
-
-msgid "IDS_MF_OPT_VIEW_BY_THUMBNAIL"
-msgstr "以縮圖檢視"
-
-msgid "IDS_MF_POP_DELETE_FAILED"
-msgstr "刪除失敗"
-
-msgid "IDS_MF_POP_DRM_FILE_CANNOT_SEND"
-msgstr "DRM 檔案。無法傳送"
-
-msgid "IDS_MF_POP_INVALID_FILE_NAME"
-msgstr "檔案名稱無效"
-
-msgid "IDS_MF_POP_MAXIMUM_FOLDER_REACHED"
-msgstr "資料夾數目已達上限"
-
-msgid "IDS_MF_POP_PERMISSION_DENIED"
-msgstr "權限被拒絕"
-
-msgid "IDS_MF_POP_SEND_FAILED"
-msgstr "傳送失敗"
-
-msgid "IDS_MF_POP_THE_DESTINATION_FOLDER_IS_A_SUBFOLDER_OF_THE_SOURCE_FOLDER"
-msgstr "目標資料夾為來源資料夾的子資料夾"
-
-msgid "IDS_MF_POP_THIS_FILE_DOES_NOT_EXIST"
-msgstr "此檔案不存在"
-
-msgid "IDS_MF_POP_UNABLE_TO_COPY"
-msgstr "無法複製"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE"
-msgstr "無法移動"
-
-msgid "IDS_MF_BODY_NOT_ENOUGH_MEMORY_IN_PHONE_MEMORY_DELETE_SOME_ITEMS_AND_TRY_AGAIN"
-msgstr "沒有足夠的記憶體在手機上。刪除某些項目,然後再試一次"
-
-msgid "IDS_MF_POP_COPYING_FAILED"
-msgstr "複製失敗"
-
-msgid "IDS_MF_POP_MOVING_FAILED"
-msgstr "移動失敗"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_PS_AVAILABLE"
-msgstr "記憶體不足。%s 可用"
-
-msgid "IDS_MF_POP_SAME_NAME_ALREADY_IN_USE"
-msgstr "相同名稱已在使用中"
-
-msgid "IDS_MF_POP_UNABLE_TO_MOVE_DESTINATION_FOLDER_SAME_AS_SOURCE_FOLDER"
-msgstr "無法移動。目標資料夾與來源資料夾相同"
-
-msgid "IDS_MF_SK3_CREATE_FOLDER"
-msgstr "建立資料夾"
-
-msgid "IDS_MF_SK3_PASTE_HERE"
-msgstr "複製到這裡"
-
-msgid "IDS_MF_BODY_ALERTS"
-msgstr "提醒"
-
-msgid "IDS_MF_BODY_WALLPAPERS"
-msgstr "桌布"
-
-msgid "IDS_MF_TAB_PHONE"
-msgstr "電話"
-
-msgid "IDS_MF_BODY_IMAGES"
-msgstr "圖像"
-
-msgid "IDS_MF_BODY_VIDEOS"
-msgstr "影片"
-
-msgid "IDS_MF_BODY_SOUNDS"
-msgstr "聲音"
-
-msgid "IDS_MF_BODY_DOWNLOADS"
-msgstr "下載"
-
-msgid "IDS_MF_TAB_MEMORY_CARD"
-msgstr "記憶卡"
-
-msgid "IDS_MF_TAB_EXTERNAL_STORAGE"
-msgstr "外部儲存裝置"
-
-msgid "IDS_MF_SK3_EDIT"
-msgstr "編輯"
-
-msgid "IDS_MF_SK3_DELETE"
-msgstr "刪除"
-
-msgid "IDS_MF_SK3_MOVE"
-msgstr "移動"
-
-msgid "IDS_MF_BODY_UP"
-msgstr "上"
-
-msgid "IDS_MF_SK3_MOVE_HERE"
-msgstr "移到這裡"
-
-msgid "IDS_MF_SK3_COPY"
-msgstr "複製"
-
-msgid "IDS_MF_SK3_SORT_BY"
-msgstr "排序依據"
-
-msgid "IDS_MF_SK3_SEARCH"
-msgstr "搜尋"
-
-msgid "IDS_MF_SK3_MORE"
-msgstr "更多"
-
-msgid "IDS_MF_OPT_CREATE_FOLDER"
-msgstr "建立資料夾"
-
-msgid "IDS_MF_BODY_FOLDER_NAME"
-msgstr "資料夾名稱"
-
-msgid "IDS_MF_BODY_ACCESS_MORE_MY_ALBUM"
-msgstr "我的相簿"
-
-msgid "IDS_MF_OPT_VIEW_AS"
-msgstr "檢視為"
-
-msgid "IDS_MF_SK3_BACK"
-msgstr "上一步"
-
-msgid "IDS_MF_BODY_MY_VIDEO_CLIPS"
-msgstr "我的影片片段"
-
-msgid "IDS_MF_BODY_RIGHT_STATUS"
-msgstr "版權狀態"
-
-msgid "IDS_MF_BODY_VENDOR"
-msgstr "供應商"
-
-msgid "IDS_MF_HEADER_COUNT"
-msgstr "計數"
-
-msgid "IDS_MF_BODY_CONTAINS"
-msgstr "包含"
-
-msgid "IDS_MF_BODY_INDIVIDUAL"
-msgstr "個別"
-
-msgid "IDS_MF_BODY_INTERVAL"
-msgstr "間隔"
-
-msgid "IDS_MF_BODY_RENAME_ABB"
-msgstr "重新命名"
-
-msgid "IDS_MF_BODY_TIME"
-msgstr "時間"
-
-msgid "IDS_MF_BODY_TIMED_COUNT"
-msgstr "計時數"
-
-msgid "IDS_MF_BODY_TYPE"
-msgstr "類型"
-
-msgid "IDS_MF_BODY_UNLIMITED"
-msgstr "無限制"
-
-msgid "IDS_MF_BUTTON_REPLACE_ABB"
-msgstr "取代"
-
-msgid "IDS_MF_OPT_CALLER_RINGTONE"
-msgstr "來電者鈴聲"
-
-msgid "IDS_MF_OPT_LISTBY_NAME"
-msgstr "名稱"
-
-msgid "IDS_MF_POP_COPIED"
-msgstr "已複製"
-
-msgid "IDS_MF_POP_NOTHING_SELECTED"
-msgstr "未選擇任何項目"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY"
-msgstr "堆積記憶體不足"
-
-msgid "IDS_MF_POP_NOT_ENOUGH_MEMORY_DELETE_SOME_ITEMS"
-msgstr "記憶體不足。請刪除部分項目"
-
-msgid "IDS_MF_BODY_CREATED_DATE"
-msgstr "建立日期"
-
-msgid "IDS_MF_BODY_GPS_INFORMATION"
-msgstr "GPS 資訊"
-
-msgid "IDS_MF_BODY_GPS_LATITUDE"
-msgstr "GPS緯度"
-
-msgid "IDS_MF_BODY_GPS_LONGITUDE"
-msgstr "GPS經度"
-
-msgid "IDS_MF_BODY_GPS_VERSION"
-msgstr "GPS 版本"
-
-msgid "IDS_MF_SK_DETAILS"
-msgstr "詳細資料"
-
-msgid "IDS_MF_BODY_ANY"
-msgstr "任何"
-
-msgid "IDS_MF_BODY_AVAILABLE_USES"
-msgstr "可供使用"
-
-msgid "IDS_MF_BODY_EXECUTE"
-msgstr "執行"
-
-msgid "IDS_MF_BODY_FORWARDING"
-msgstr "正在轉寄"
-
-msgid "IDS_MF_BODY_IMPOSSIBLE"
-msgstr "不可能"
-
-msgid "IDS_MF_BODY_MMC_DATA_IS_INITIALIZING_ING"
-msgstr "正在初始化 MMC 資料..."
-
-msgid "IDS_MF_BODY_POSSIBLE"
-msgstr "可能"
-
-msgid "IDS_MF_BODY_PRINT"
-msgstr "列印"
-
-msgid "IDS_MF_BODY_VALIDITY"
-msgstr "有效期"
-
-msgid "IDS_MF_HEADER_NEW_FOLDER"
-msgstr "新資料夾"
-
-msgid "IDS_MF_OPT_EDIT"
-msgstr "編輯"
-
-msgid "IDS_MF_OPT_LIST_BY"
-msgstr "排列依據"
-
-msgid "IDS_MF_OPT_MOVE_HERE"
-msgstr "移到這裡"
-
-msgid "IDS_MF_POP_CONTINUE"
-msgstr "繼續"
-
-msgid "IDS_MF_POP_COPYING"
-msgstr "正在複製..."
-
-msgid "IDS_MF_POP_PASTE_HERE"
-msgstr "複製到這裡"
-
-msgid "IDS_MF_POP_UNSUPPORTED_FILE_TYPE"
-msgstr "不支援的檔案類型"
-
-msgid "IDS_MF_OPT_DETAIL_VIEW"
-msgstr "詳細查看"
-
-msgid "IDS_MF_POP_ASCENDING"
-msgstr "遞增"
-
-msgid "IDS_MF_POP_DESCENDING"
-msgstr "遞減"
-
-msgid "IDS_MF_TAB_ALL"
-msgstr "全部"
-
-msgid "IDS_MF_BODY_UP_M_BACK"
-msgstr "上"
-
-msgid "IDS_MF_BUTTON_SEARCH_ALL_FOLDERS"
-msgstr "搜尋所有資料夾"
-
-msgid "IDS_MF_OPT_THUMBNAIL_VIEW"
-msgstr "縮圖檢視"
-
-msgid "IDS_MF_OPT_SHOW_FILE_EXTENSION"
-msgstr "顯示文件擴展名"
-
-msgid "IDS_MF_OPT_SORT_BY"
-msgstr "排序依據"
-
-msgid "IDS_MF_BODY_LIST_AND_DETAILS_ABB"
-msgstr "清單及詳情"
-
-msgid "IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB"
-msgstr "隱藏副檔名"
-
-msgid "IDS_MF_OPT_NAME_HA_TO_Z"
-msgstr "名稱 (A 至 Z)"
-
-msgid "IDS_MF_OPT_NAME_HZ_TO_A"
-msgstr "名稱 (Z 至 A)"
-
-msgid "IDS_MF_OPT_DATE_HMOST_RECENT"
-msgstr "日期 (最近的)"
-
-msgid "IDS_MF_OPT_DATE_HOLDEST"
-msgstr "日期 (最舊的)"
-
-msgid "IDS_MF_BUTTON_GO_TO_MY_FILES"
-msgstr "前往我的檔案"
-
-msgid "IDS_MF_BODY_RINGTONES"
-msgstr "鈴聲"
-
-msgid "IDS_MF_BUTTON_EXPORT_HERE"
-msgstr "於此匯出"
-
-msgid "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT"
-msgstr "無法將受 DRM 保護的內容設為鈴聲或通知提醒"
-
diff --git a/data/popup_new_folder.edc b/data/popup_new_folder.edc
deleted file mode 100644
index c66b86d..0000000
--- a/data/popup_new_folder.edc
+++ /dev/null
@@ -1,176 +0,0 @@
-group
-{
- name: UG_GRP_POPUP;
- parts
- {
- part
- {
- name: "base";
- type: SPACER;
- scale: 1;
- description
- {
- state: "default" 0.0;
- min: 0 220;
- fixed: 1 0;
- }
- }
- part
- {
- name: "t_pad";
- type: SPACER;
- scale: 1;
- description
- {
- state: "default" 0.0;
- rel1.to: "base";
- rel2.to: "base";
- align: 0.0 0.0;
- min: 0 0;
- max: 0 0;
- fixed: 1 1;
- }
- }
- part
- {
- name: "title.text";
- type: TEXT;
- mouse_events: 0;
- scale: 1;
- description
- {
- state: "default" 0.0;
- min: 0 70;
- max: -1 70;
- rel1
- {
- relative: 0.0 1.0;
- to: "t_pad";
- }
- rel2.to: "base";
- align: 0.0 0.0;
- fixed: 1 1;
- color: 128 128 128 255;
- text
- {
- font: "Tizen:style=Medium";
- size: 42;
- min: 1 1;
- text_class: "tizen";
- }
- }
- }
- part
- {
- name: "top_password_padding";
- type: SPACER;
- scale: 1;
- description
- {
- state: "default" 0.0;
- min: 0 20;
- max: 0 20;
- rel1
- {
- to_x: "base";
- to_y: "title.text";
- relative: 0.0 1.0;
- }
- rel2
- {
- to_x: "base";
- to_y: "title.text";
- relative: 1.0 1.0;
- }
- align: 0.0 0.0;
- fixed: 1 1;
- }
- }
- part
- {
- name: "password_field_image";
- type: IMAGE;
- mouse_events: 0;
- scale: 1;
- description
- {
- state: "default" 0.0;
- min: 0 80;
- image
- {
- normal: IMG_EDITFIELD_BG;
- border: 9 9 9 9;
- }
- rel1
- {
- to_x: "base";
- to_y: "top_password_padding";
- relative: 0.0 1.0;
- }
- rel2
- {
- to_x: "base";
- to_y: "top_password_padding";
- relative: 1.0 1.0;
- }
- fixed: 1 1;
- align: 0.0 0.0;
- }
- }
- part
- {
- name: "left_swallow_padding";
- type: SPACER;
- scale: 1;
- description
- {
- state: "default" 0.0;
- min: 16 0;
- max: 16 0;
- rel1.to: "password_field_image";
- rel2.to: "password_field_image";
- align: 0.0 0.0;
- fixed: 1 1;
- }
- }
- part
- {
- name: "right_swallow_padding";
- type: SPACER;
- scale: 1;
- description
- {
- min: 16 0;
- max: 16 0;
- rel1.to: "password_field_image";
- rel2.to: "password_field_image";
- align: 1.0 0.0;
- fixed: 1 1;
- }
- }
- part
- {
- name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- ignore_flags: ON_HOLD;
- description
- {
- state: "default" 0.0;
- rel1
- {
- to_x: "left_swallow_padding";
- to_y: "password_field_image";
- relative : 1.0 0.0;
- }
- rel2
- {
- to_x: "right_swallow_padding";
- to_y: "password_field_image";
- relative: 0.0 1.0;
- }
- align: 0.0 0.5;
- }
- }
- }
-}
diff --git a/data/search_path.edc b/data/search_path.edc
deleted file mode 100644
index 9bdd3ea..0000000
--- a/data/search_path.edc
+++ /dev/null
@@ -1,28 +0,0 @@
-group
-{
- name: UG_GRP_SEARCH_PATH;
- parts
- {
- part
- {
- name: "path";
- type: SWALLOW;
- description
- {
- state: "default" 0.0;
- fixed: 1 1;
- min : UG_SEARCH_FOLDER_W UG_SEARCH_FOLDER_H;
- max : UG_SEARCH_FOLDER_W UG_SEARCH_FOLDER_H;
- align: 0.5 0.5;
- rel1
- {
- relative: 0.0 0.0;
- }
- rel2
- {
- relative: 1.0 1.0;
- }
- }
- }
- }
-}
diff --git a/data/ug_edc_common.h b/data/ug_edc_common.h
deleted file mode 100644
index ab4aaa0..0000000
--- a/data/ug_edc_common.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright 2012-2013 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#define UG_EDJ_PATH "/usr/ug/res/edje/ug-myfile-efl"
-#define UG_ICON_PATH "/usr/ug/res/images/ug-myfile-efl"
-
-#define UG_EDJ_NAVIGATIONBAR UG_EDJ_PATH"/ug_navibar_layout.edj"
-
-
-#define UG_GRP_LIST "effect/model/list"
-#define UG_GRP_NAVI_VIEW "navigation_view"
-#define UG_GRP_CTRL_BAR "ctrl_bar"
-#define UG_GRP_NO_CONTENT "noContent"
-#define UG_GRP_PATH_INFO "pathinfo"
-#define UG_GRP_CTRLBAR_LAYOUT "ctrlbar_layout"
-#define UG_GRP_POPUP "popup_new_folder"
-#define UG_GRP_SEARCH_PATH "search_path"
-
-#define CTRLBAR_PADDING_X 30
-#define CTRLBAR_PADDING_Y 30
-#define COLOR_BLACK 0 0 0 255
-#define COLOR_WHITE 250 250 250 255
-#define NOCONTENT_IMAGE_REL1_WIDTH_HEIGHT_INC 0.282 0.294
-#define NOCONTENT_IMAGE_REL2_WIDTH_HEIGHT_INC 0.718 0.54
-#define NOCONTENT_MIDDLE_PADDING_INC 54
diff --git a/data/ug_navibar_layout.edc b/data/ug_navibar_layout.edc
deleted file mode 100644
index ef1ec78..0000000
--- a/data/ug_navibar_layout.edc
+++ /dev/null
@@ -1,98 +0,0 @@
-#include "ug_edc_common.h"
-
-#define UG_BASIC_W 480
-#define UG_BASIC_H 800
-
-#define UG_MAIN_W 720
-#define UG_MAIN_H 1280
-
-#define UG_MF_SCALE_W (UG_MAIN_W/UG_BASIC_W)
-#define UG_MF_SCALE_H (UG_MAIN_H/UG_BASIC_H)
-
-#define UG_THUMBNAIL_W 50*UG_MF_SCALE_W
-#define UG_THUMBNAIL_H 50*UG_MF_SCALE_H
-
-#define UG_MEMORY_SUB_THUMB_W 40*UG_MF_SCALE_W
-#define UG_MEMORY_SUB_THUMB_H 25*UG_MF_SCALE_H
-
-#define UG_SOUND_BUTTON_W 240*UG_MF_SCALE_W
-#define UG_SOUND_BUTTON_H 46*UG_MF_SCALE_H
-
-#define UG_SEARCH_FOLDER_H 300*UG_MF_SCALE_H
-#define UG_SEARCH_FOLDER_W 400*UG_MF_SCALE_H
-
-#define GENLIST_ITEM_H 71*UG_MF_SCALE_H
-#define PATH_INFO_H 48*UG_MF_SCALE_H
-#define PATH_INFO_LABEL_H 25
-#define PATH_INFO_BG_COLOR 68 68 68 255
-#define BOTTOM_LINE_COLOR 199 199 199 255
-#define COLOR_DARK_BLUE_GRAY 17 19 27 255
-
-#define IMG_EDITFIELD_BG "mf_new_folder_editfield_bg.png"
-images {
-
- image: IMG_EDITFIELD_BG COMP;
-
-}
-
-
-#define MF_UG_PART_PADDING_TOP( param_padding_size ) \
- part { name: "elm.padding.top"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- min: 0 param_padding_size; \
- fixed: 0 1; \
- visible: 0; \
- rel2.relative: 1.0 0.0; \
- align: 0.0 0.0; \
- } \
- }
-#define MF_UG_PART_PADDING_BOTTOM( param_padding_size ) \
- part { name: "elm.padding.bottom"; \
- type: RECT; \
- scale: 1; \
- description { state: "default" 0.0; \
- min: 0 param_padding_size; \
- fixed: 0 1; \
- visible: 0; \
- rel1.relative: 0.0 1.0; \
- align: 0.0 1.0; \
- } \
- }
-
-#define MF_UG_PART_PADDING_LEFT( param_padding_size ) \
- part { name: "elm.padding.left"; \
- type: RECT; \
- scale: 1; \
- description { state: "default" 0.0; \
- min: param_padding_size 0; \
- fixed: 1 0; \
- visible: 0; \
- rel2.relative: 0.0 1.0; \
- align: 0.0 0.0; \
- } \
- }
-
-#define EFFECT_PROGRAMS(part_name, part_state, after_name) \
- program \
- { \
- name: part_name; \
- action: STATE_SET part_state 0.0;\
- target: "icon"; \
- transition: DECELERATE 0.03; \
- after: after_name; \
- }
-
-collections
-{
- #include "navigation_view.edc"
- #include "no_storage.edc"
- #include "effect_model_list.edc"
- #include "pathinfo.edc"
- #include "search_path.edc"
- #include "popup_new_folder.edc"
- #include "ctrlbar_layout.edc"
-}
-
diff --git a/feature_rm.py b/feature_rm.py
new file mode 100644
index 0000000..f8bf8d5
--- /dev/null
+++ b/feature_rm.py
@@ -0,0 +1,341 @@
+#filename:feature_rm.py
+#author:Liu Ruichao
+import os
+import shutil
+
+feature_file = "CMakeLists.txt"
+spec_file = "packaging/ug-myfile-efl.spec"
+dest_path = os.getcwd()
+
+old_str = "com.samsung"
+new_str = "org.tizen"
+
+def make_clear_line(line, prefix, profix):
+ line_clear_blank = line.strip()
+ line_rm_profix = line_clear_blank.strip(profix)
+ line_rm_prefix = line_rm_profix.strip(prefix)
+ line_clear = line_rm_prefix.strip()
+ return line_clear
+
+def read_feature_name(filepath):
+ global feature_file, dest_path
+ file_list_name = dest_path +os.sep+filepath
+ data = open(file_list_name)
+
+ feature_set = set()
+ start = 0
+ for each_line in data:
+ line_clear = make_clear_line(each_line, '#', '')
+
+ if start == 0:
+ if line_clear == "START_PUBLIC_DISABLE_FEATURE":
+ start = 1
+ else:
+ continue
+ else:
+ if line_clear == "END_START_PUBLIC_DISABLE_FEATURE":
+ start = 0
+ else:
+ if len(line_clear) != 0:
+ feature_set.add(line_clear)
+
+ data.close()
+ return feature_set
+
+def read_file_name(filepath):
+ global feature_file, dest_path
+ file_list_name = dest_path +os.sep+filepath
+ data = open(file_list_name)
+
+ file_set = set()
+ start = 0
+ for each_line in data:
+ line_clear = make_clear_line(each_line, '#', '')
+
+ if start == 0:
+ if line_clear == "START_PUBLIC_REMOVED_FILE":
+ start = 1
+ else:
+ continue
+ else:
+ if line_clear == "END_START_PUBLIC_REMOVED_FILE":
+ start = 0
+ else:
+ if len(line_clear) != 0:
+ file_set.add(line_clear)
+
+ data.close()
+ return file_set
+
+def read_string_removal(filepath):
+ global feature_file, dest_path, spec_file
+ file_name = dest_path +os.sep+filepath
+
+ string_set = set()
+ start = 0
+
+ try:
+ data = open(file_name)
+ for each_line in data:
+ line_clear = make_clear_line(each_line, '#', '')
+
+ if start == 0:
+ if line_clear == "START_PUBLIC_REMOVED_STRING":
+ start = 1
+ else:
+ continue
+ else:
+ if line_clear == "END_START_PUBLIC_REMOVED_STRING":
+ start = 0
+ else:
+ if len(line_clear) != 0:
+ string_set.add(line_clear)
+ except:
+ print "open" + file_name + "failed"
+ finally:
+ data.close()
+
+ file_name = dest_path + os.sep + spec_file
+ try:
+ print(file_name)
+ data = open(file_name)
+ for each_line in data:
+ line_clear = make_clear_line(each_line, '#', '')
+
+ if start == 0:
+ if line_clear == "START_PUBLIC_REMOVED_STRING":
+ start = 1
+ else:
+ continue
+ else:
+ if line_clear == "END_START_PUBLIC_REMOVED_STRING":
+ start = 0
+ else:
+ if len(line_clear) != 0:
+ string_set.add(line_clear)
+ except:
+ print "spec file does not exists"
+ finally:
+ data.close()
+
+ return string_set
+
+def replace_string(original, old, new):
+ modified = original
+ if original.find(old) != -1:
+ modified = original.replace(old, new)
+ return modified
+
+def remove_code(filename, feature_set, string_set):
+ global old_str, new_str
+ start_remove = 0;
+ taglist = list();
+ dirty_taglist = list();
+ # rename the original file
+ old_filename = filename + ".tmp"
+ new_filename = filename
+
+ #move old file to be .tmp and create new file with original filename
+ shutil.move(filename, old_filename)
+ # open both file
+ file_new = open(new_filename, "w")
+ file_old = open(old_filename, "r")
+
+ for each_line in file_old:
+ #clear the line
+ clear_line = make_clear_line(each_line, '', '')
+ if start_remove == 0: #it's not in a #ifdef that need to be removed
+ if clear_line.startswith("#ifdef"):
+ line_flag = make_clear_line(clear_line, "#ifdef", '')
+ #print(line_flag)
+ if line_flag in feature_set:
+ taglist.append('d')
+ start_remove = 1
+ else:
+ taglist.append('c')
+ file_new.write(each_line)
+ elif clear_line.startswith("#if"):
+ taglist.append('c')
+ file_new.write(each_line)
+ elif clear_line.startswith("#endif"):
+ if len(taglist) > 0:
+ top = taglist.pop()
+ if top == 'c':
+ file_new.write(each_line)
+ elif top == 'd':
+ continue
+ else:
+ string_del_flag = False
+ for item in string_set:
+ if clear_line == item:
+ string_del_flag = True
+ break
+ if string_del_flag == False:
+ if clear_line.startswith("#START_PUBLIC_") or clear_line.startswith("#END_START_PUBLIC_"):
+ continue;
+ else:
+ file_new.write(each_line)
+
+ else: #it's in a #ifdef that need to be removed
+ if clear_line.startswith("#ifdef"):
+ taglist.append('d')
+ dirty_taglist.append('d')
+ elif clear_line.startswith("#else"):
+ if len(dirty_taglist) == 0:
+ start_remove = 0
+ elif clear_line.startswith("#if") and not clear_line.startswith("#ifdef"):
+ taglist.append('d')
+ dirty_taglist.append('d')
+ elif clear_line.startswith("#endif"):
+ if len(dirty_taglist) > 0:
+ dirty_taglist.pop()
+ else:
+ start_remove = 0
+ taglist.pop()
+ else:
+ continue
+
+ if len(taglist) > 0:
+ print "\033[1;31;47m [Critical error] ",len(taglist)," tag(s) not matched! \033[0m"
+ file_old.close()
+ file_new.close()
+ #at the end we should remove the .tmp file
+ os.remove(old_filename)
+
+def rename_operation(filename):
+ global old_str, new_str
+ # rename the original file
+ old_filename = filename + ".tmp"
+ new_filename = filename
+
+ #move old file to be .tmp and create new file with original filename
+ shutil.move(filename, old_filename)
+ # open both file
+ file_new = open(new_filename, "w")
+ file_old = open(old_filename, "r")
+
+ for each_line in file_old:
+ #clear the line
+ new_line = replace_string(each_line, old_str, new_str)
+ file_new.write(new_line)
+
+ file_old.close()
+ file_new.close()
+ #at the end we should remove the .tmp file
+ os.remove(old_filename)
+
+feature_set = read_feature_name(feature_file)
+file_set = read_file_name(feature_file)
+string_set = read_string_removal(feature_file)
+print("feature list:")
+for item in feature_set:
+ print(item)
+
+print("file list:")
+for item in file_set:
+ print(item)
+
+print("string list:")
+for item in string_set:
+ print(item)
+
+#remove_code("/home/rico/codebox/obs/music-player/src/view/mp-play-view.c", feature_set)
+
+
+files=os.walk(dest_path)
+
+for a,b,c in files:
+ #we do not modify hidden directory
+ check_ignore = a
+ hidden_flag = False
+ path_depth = check_ignore.split('/')
+ for item in path_depth:
+ if item.startswith("."):
+ hidden_flag = True
+ break
+
+ if hidden_flag == True:
+ continue
+
+ #delete directory to be removed
+ if len(b) != 0:
+ for original_dir in b:
+ if original_dir.startswith("."):
+ continue
+
+ dir_for_checking = a + os.sep + original_dir
+ #check if directory to be removed
+ remove_dir = False
+ for item in file_set:
+ clear_item = make_clear_line(item, '', '/')
+ if dir_for_checking.find(clear_item) >= 0:
+ remove_dir = True
+ break
+ if remove_dir == True:
+ shutil.rmtree(dir_for_checking)
+ continue
+
+ if len(c)!=0:
+ #check all files
+ for original_file in c:
+ #we do not modify hidden files
+ if original_file.startswith("."):
+ continue
+
+ file_in_checking = a + os.sep + original_file
+ #remove the specialized file
+ delete_flag = False
+ for item in file_set:
+ if file_in_checking.find(item) >= 0:
+ os.remove(file_in_checking)
+ delete_flag = True
+ break
+ if delete_flag == True:
+ continue
+
+ remove_code(file_in_checking, feature_set, string_set)
+ print "\033[1;34;47m [info hint]\033[0m" + file_in_checking + "\033[1;34;47m done\033[0m"
+
+print "\033[1;35;48m [info hint]\033[0m" +"replace " + old_str + " with " + new_str + "\033[1;34;47m done\033[0m"
+files=os.walk(dest_path)
+for a,b,c in files:
+ #we do not modify hidden directory
+ check_ignore = a
+ hidden_flag = False
+ path_depth = check_ignore.split('/')
+ for item in path_depth:
+ if item.startswith("."):
+ hidden_flag = True
+ break
+
+ if hidden_flag == True:
+ continue
+
+ #start to replace org.tizen with org.tizen#
+ ## firstly, do file rename and content update##
+ if len(c) != 0:
+ for file_item in c:
+ if file_item.startswith("."):
+ continue
+
+ file_in_checking = a + os.sep + file_item
+ new_file_to_check = file_in_checking
+ #check if file need to be rename
+ new_file_name = replace_string(file_item, old_str, new_str)
+ if new_file_name != file_item:
+ new_file_to_check = a + os.sep + new_file_name
+ shutil.move(file_in_checking, new_file_to_check)
+ ## do content update
+ rename_operation(new_file_to_check)
+
+ if len(b) != 0:
+ for original_dir in b:
+ dir_in_checking = a + os.sep + original_dir
+ new_dir_to_check = dir_in_checking
+ #check if dir need to be rename
+ new_dir_name = replace_string(original_dir, old_str, new_str)
+ if new_dir_name != original_dir:
+ new_dir_to_check = a + os.sep + new_dir_name
+ shutil.move(dir_in_checking, new_dir_to_check)
+
+print "\033[1;34;47m [info hint] dir/file content modification done! \033[0m"
diff --git a/gbs/.gbs.conf b/gbs/.gbs.conf
deleted file mode 100644
index 8bc3456..0000000
--- a/gbs/.gbs.conf
+++ /dev/null
@@ -1,37 +0,0 @@
-[general]
-#Current profile name which should match a profile section name
-profile = profile.tizendev
-
-[profile.tizendev]
-#Common authentication info for whole profile
-#user =
-#CAUTION: please use the key name "passwd" to reset plaintext password
-#passwd =
-obs = obs.tizendev
-#Comma separated list of repositories
-repos = repo.tizendev_latest
-#repos = repo.tizendev_local,repo.tizendev_latest
-#repos = repo.tizendev_snapshot
-
-[obs.tizendev]
-#OBS API URL pointing to a remote OBS.
-url = https://api.tizendev.org
-#Optional user and password, set if differ from profile's user and password
-#user =
-#passwd =
-
-[repo.tizendev_latest]
-#Build against repo's URL
-url = https://download.tizendev.org/snapshots/tizen-2.2/common/latest
-#url = https://download.tizendev.org/snapshots/tizen-2.2/common/latest
-#Optional user and password, set if differ from profile's user and password
-user = %name%
-passwdx = %passwd%
-
-[repo.tizendev_snapshot]
-url = https://download.tizendev.org/snapshots/trunk/common/tizen_20120801.1
-
-[repo.tizendev_local]
-#repo for your local packages
-#url = /path_to_your_local_repo
-#url = http://local_server/path_to_repo
diff --git a/icons/00_nocontents_multimedia.png b/icons/00_nocontents_multimedia.png
new file mode 100644
index 0000000..d8393dd
--- /dev/null
+++ b/icons/00_nocontents_multimedia.png
Binary files differ
diff --git a/icons/myfile_controlbar_cion_home.png b/icons/myfile_controlbar_cion_home.png
new file mode 100644
index 0000000..3ca7513
--- /dev/null
+++ b/icons/myfile_controlbar_cion_home.png
Binary files differ
diff --git a/data/icons/Controlbar/U01_controlbar_cion_up_folder.png b/icons/myfile_controlbar_cion_home_press.png
index 57f3e58..342bc28 100644
--- a/data/icons/Controlbar/U01_controlbar_cion_up_folder.png
+++ b/icons/myfile_controlbar_cion_home_press.png
Binary files differ
diff --git a/icons/myfile_controlbar_cion_up_folder.png b/icons/myfile_controlbar_cion_up_folder.png
new file mode 100644
index 0000000..323ab06
--- /dev/null
+++ b/icons/myfile_controlbar_cion_up_folder.png
Binary files differ
diff --git a/icons/myfile_controlbar_cion_up_folder_press.png b/icons/myfile_controlbar_cion_up_folder_press.png
new file mode 100644
index 0000000..415d01c
--- /dev/null
+++ b/icons/myfile_controlbar_cion_up_folder_press.png
Binary files differ
diff --git a/data/icons/myfile_icon_done.png b/icons/myfile_icon_add.png
index d771640..5cf32b9 100644
--- a/data/icons/myfile_icon_done.png
+++ b/icons/myfile_icon_add.png
Binary files differ
diff --git a/data/icons/myfile_icon_control_pause.png b/icons/myfile_icon_control_pause.png
index 5ae19bb..01a2b03 100644
--- a/data/icons/myfile_icon_control_pause.png
+++ b/icons/myfile_icon_control_pause.png
Binary files differ
diff --git a/data/icons/myfile_icon_control_pause_press.png b/icons/myfile_icon_control_pause_press.png
index 3151a6a..01a2b03 100644
--- a/data/icons/myfile_icon_control_pause_press.png
+++ b/icons/myfile_icon_control_pause_press.png
Binary files differ
diff --git a/icons/myfile_icon_control_play.png b/icons/myfile_icon_control_play.png
new file mode 100644
index 0000000..7392116
--- /dev/null
+++ b/icons/myfile_icon_control_play.png
Binary files 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..7392116
--- /dev/null
+++ b/icons/myfile_icon_control_play_press.png
Binary files differ
diff --git a/icons/myfile_icon_create_folder.png b/icons/myfile_icon_create_folder.png
new file mode 100644
index 0000000..0bf003b
--- /dev/null
+++ b/icons/myfile_icon_create_folder.png
Binary files differ
diff --git a/icons/myfile_icon_delete.png b/icons/myfile_icon_delete.png
new file mode 100644
index 0000000..f5c3ec4
--- /dev/null
+++ b/icons/myfile_icon_delete.png
Binary files differ
diff --git a/icons/myfile_icon_email.png b/icons/myfile_icon_email.png
new file mode 100644
index 0000000..c923d38
--- /dev/null
+++ b/icons/myfile_icon_email.png
Binary files differ
diff --git a/data/icons/U01_1st_icon_phone_press.png b/icons/myfile_icon_entry_folder.png
index bbe69cb..2df2d17 100644
--- a/data/icons/U01_1st_icon_phone_press.png
+++ b/icons/myfile_icon_entry_folder.png
Binary files differ
diff --git a/icons/myfile_icon_entry_folder_press.png b/icons/myfile_icon_entry_folder_press.png
new file mode 100644
index 0000000..f9e50d3
--- /dev/null
+++ b/icons/myfile_icon_entry_folder_press.png
Binary files differ
diff --git a/icons/myfile_icon_etc.png b/icons/myfile_icon_etc.png
new file mode 100644
index 0000000..088cf2d
--- /dev/null
+++ b/icons/myfile_icon_etc.png
Binary files differ
diff --git a/icons/myfile_icon_excel.png b/icons/myfile_icon_excel.png
new file mode 100644
index 0000000..929d14f
--- /dev/null
+++ b/icons/myfile_icon_excel.png
Binary files differ
diff --git a/icons/myfile_icon_folder.png b/icons/myfile_icon_folder.png
new file mode 100644
index 0000000..e71a8b7
--- /dev/null
+++ b/icons/myfile_icon_folder.png
Binary files differ
diff --git a/icons/myfile_icon_folder_sdcard.png b/icons/myfile_icon_folder_sdcard.png
new file mode 100644
index 0000000..ca1352a
--- /dev/null
+++ b/icons/myfile_icon_folder_sdcard.png
Binary files differ
diff --git a/data/image/mf_new_folder_editfield_bg.png b/icons/myfile_icon_folder_shortcut.png
index 6c671f4..60af935 100644
--- a/data/image/mf_new_folder_editfield_bg.png
+++ b/icons/myfile_icon_folder_shortcut.png
Binary files differ
diff --git a/icons/myfile_icon_grid_folder_card.png b/icons/myfile_icon_grid_folder_card.png
new file mode 100644
index 0000000..796d047
--- /dev/null
+++ b/icons/myfile_icon_grid_folder_card.png
Binary files differ
diff --git a/icons/myfile_icon_html.png b/icons/myfile_icon_html.png
new file mode 100644
index 0000000..d893a80
--- /dev/null
+++ b/icons/myfile_icon_html.png
Binary files differ
diff --git a/icons/myfile_icon_hwp.png b/icons/myfile_icon_hwp.png
new file mode 100644
index 0000000..a17f6e1
--- /dev/null
+++ b/icons/myfile_icon_hwp.png
Binary files differ
diff --git a/icons/myfile_icon_images.png b/icons/myfile_icon_images.png
new file mode 100644
index 0000000..d9133d6
--- /dev/null
+++ b/icons/myfile_icon_images.png
Binary files differ
diff --git a/data/icons/myfile_icon_java.png b/icons/myfile_icon_java.png
index a083ee6..a083ee6 100644
--- a/data/icons/myfile_icon_java.png
+++ b/icons/myfile_icon_java.png
Binary files differ
diff --git a/icons/myfile_icon_music.png b/icons/myfile_icon_music.png
new file mode 100644
index 0000000..d4988b0
--- /dev/null
+++ b/icons/myfile_icon_music.png
Binary files differ
diff --git a/icons/myfile_icon_pdf.png b/icons/myfile_icon_pdf.png
new file mode 100644
index 0000000..f937fcf
--- /dev/null
+++ b/icons/myfile_icon_pdf.png
Binary files differ
diff --git a/icons/myfile_icon_ppt.png b/icons/myfile_icon_ppt.png
new file mode 100644
index 0000000..76e3dd4
--- /dev/null
+++ b/icons/myfile_icon_ppt.png
Binary files differ
diff --git a/icons/myfile_icon_root_folder_device_memory.png b/icons/myfile_icon_root_folder_device_memory.png
new file mode 100644
index 0000000..f159711
--- /dev/null
+++ b/icons/myfile_icon_root_folder_device_memory.png
Binary files differ
diff --git a/icons/myfile_icon_root_folder_sdcard.png b/icons/myfile_icon_root_folder_sdcard.png
new file mode 100644
index 0000000..44dee7c
--- /dev/null
+++ b/icons/myfile_icon_root_folder_sdcard.png
Binary files differ
diff --git a/icons/myfile_icon_rss.png b/icons/myfile_icon_rss.png
new file mode 100644
index 0000000..65740a3
--- /dev/null
+++ b/icons/myfile_icon_rss.png
Binary files differ
diff --git a/icons/myfile_icon_select_all.png b/icons/myfile_icon_select_all.png
new file mode 100644
index 0000000..4829962
--- /dev/null
+++ b/icons/myfile_icon_select_all.png
Binary files differ
diff --git a/icons/myfile_icon_select_all_selected.png b/icons/myfile_icon_select_all_selected.png
new file mode 100644
index 0000000..0c531fc
--- /dev/null
+++ b/icons/myfile_icon_select_all_selected.png
Binary files differ
diff --git a/icons/myfile_icon_snb.png b/icons/myfile_icon_snb.png
new file mode 100644
index 0000000..5903558
--- /dev/null
+++ b/icons/myfile_icon_snb.png
Binary files differ
diff --git a/icons/myfile_icon_story.png b/icons/myfile_icon_story.png
new file mode 100644
index 0000000..2bfeb42
--- /dev/null
+++ b/icons/myfile_icon_story.png
Binary files differ
diff --git a/icons/myfile_icon_svg.png b/icons/myfile_icon_svg.png
new file mode 100644
index 0000000..12eb18d
--- /dev/null
+++ b/icons/myfile_icon_svg.png
Binary files differ
diff --git a/icons/myfile_icon_swf.png b/icons/myfile_icon_swf.png
new file mode 100644
index 0000000..6bc8a79
--- /dev/null
+++ b/icons/myfile_icon_swf.png
Binary files differ
diff --git a/icons/myfile_icon_task.png b/icons/myfile_icon_task.png
new file mode 100644
index 0000000..8fa2938
--- /dev/null
+++ b/icons/myfile_icon_task.png
Binary files differ
diff --git a/icons/myfile_icon_text.png b/icons/myfile_icon_text.png
new file mode 100644
index 0000000..ef3e2c0
--- /dev/null
+++ b/icons/myfile_icon_text.png
Binary files differ
diff --git a/icons/myfile_icon_tpk.png b/icons/myfile_icon_tpk.png
new file mode 100644
index 0000000..0758614
--- /dev/null
+++ b/icons/myfile_icon_tpk.png
Binary files differ
diff --git a/icons/myfile_icon_vcalender.png b/icons/myfile_icon_vcalender.png
new file mode 100644
index 0000000..90271fd
--- /dev/null
+++ b/icons/myfile_icon_vcalender.png
Binary files differ
diff --git a/icons/myfile_icon_vcard.png b/icons/myfile_icon_vcard.png
new file mode 100644
index 0000000..cf09ea0
--- /dev/null
+++ b/icons/myfile_icon_vcard.png
Binary files differ
diff --git a/icons/myfile_icon_video.png b/icons/myfile_icon_video.png
new file mode 100644
index 0000000..a2325fa
--- /dev/null
+++ b/icons/myfile_icon_video.png
Binary files differ
diff --git a/icons/myfile_icon_video_play.png b/icons/myfile_icon_video_play.png
new file mode 100644
index 0000000..f9ecb0b
--- /dev/null
+++ b/icons/myfile_icon_video_play.png
Binary files differ
diff --git a/icons/myfile_icon_word.png b/icons/myfile_icon_word.png
new file mode 100644
index 0000000..4585c4e
--- /dev/null
+++ b/icons/myfile_icon_word.png
Binary files differ
diff --git a/icons/myfile_icon_zip.png b/icons/myfile_icon_zip.png
new file mode 100644
index 0000000..227f5a1
--- /dev/null
+++ b/icons/myfile_icon_zip.png
Binary files differ
diff --git a/data/icons/myfile_icon_add.png b/icons/myfile_list_icon_bg.png
index 43c4984..56e5a9a 100644
--- a/data/icons/myfile_icon_add.png
+++ b/icons/myfile_list_icon_bg.png
Binary files differ
diff --git a/image/00_button_radio_activate.png b/image/00_button_radio_activate.png
new file mode 100644
index 0000000..7c52d2a
--- /dev/null
+++ b/image/00_button_radio_activate.png
Binary files differ
diff --git a/image/00_button_radio_activate_ef.png b/image/00_button_radio_activate_ef.png
new file mode 100644
index 0000000..f45c5ec
--- /dev/null
+++ b/image/00_button_radio_activate_ef.png
Binary files differ
diff --git a/data/icons/myfile_icon_cancel.png b/image/00_button_radio_bg.png
index 8d12808..e40b124 100644
--- a/data/icons/myfile_icon_cancel.png
+++ b/image/00_button_radio_bg.png
Binary files differ
diff --git a/image/00_button_radio_bg_ef.png b/image/00_button_radio_bg_ef.png
new file mode 100644
index 0000000..013e1b7
--- /dev/null
+++ b/image/00_button_radio_bg_ef.png
Binary files differ
diff --git a/image/00_button_radio_bg_line.png b/image/00_button_radio_bg_line.png
new file mode 100644
index 0000000..2d09fc7
--- /dev/null
+++ b/image/00_button_radio_bg_line.png
Binary files differ
diff --git a/image/00_button_radio_focus.png b/image/00_button_radio_focus.png
new file mode 100644
index 0000000..6f52552
--- /dev/null
+++ b/image/00_button_radio_focus.png
Binary files differ
diff --git a/image/00_circle_button_bg.png b/image/00_circle_button_bg.png
new file mode 100644
index 0000000..2f26ab3
--- /dev/null
+++ b/image/00_circle_button_bg.png
Binary files differ
diff --git a/image/00_circle_button_dim_ef.png b/image/00_circle_button_dim_ef.png
new file mode 100644
index 0000000..ffad721
--- /dev/null
+++ b/image/00_circle_button_dim_ef.png
Binary files differ
diff --git a/data/icons/U01_1st_icon_memory_card_press.png b/image/00_circle_button_ef.png
index 00a0644..caeb4be 100644
--- a/data/icons/U01_1st_icon_memory_card_press.png
+++ b/image/00_circle_button_ef.png
Binary files differ
diff --git a/data/icons/myfile_icon_USB.png b/image/00_circle_button_focus.png
index bf4dc00..c621797 100644
--- a/data/icons/myfile_icon_USB.png
+++ b/image/00_circle_button_focus.png
Binary files differ
diff --git a/data/icons/myfile_icon_mmc.png b/image/00_focus_01.#.png
index f486674..e9a1206 100644
--- a/data/icons/myfile_icon_mmc.png
+++ b/image/00_focus_01.#.png
Binary files differ
diff --git a/image/00_list_group_bg.#.png b/image/00_list_group_bg.#.png
new file mode 100644
index 0000000..0f5c388
--- /dev/null
+++ b/image/00_list_group_bg.#.png
Binary files differ
diff --git a/image/00_list_group_bg_ef.#.png b/image/00_list_group_bg_ef.#.png
new file mode 100644
index 0000000..1639b57
--- /dev/null
+++ b/image/00_list_group_bg_ef.#.png
Binary files differ
diff --git a/image/U01_subdepth_folder_arrow.png b/image/U01_subdepth_folder_arrow.png
new file mode 100644
index 0000000..50072fc
--- /dev/null
+++ b/image/U01_subdepth_folder_arrow.png
Binary files differ
diff --git a/image/U01_subdepth_tail.png b/image/U01_subdepth_tail.png
new file mode 100644
index 0000000..6a2cb3b
--- /dev/null
+++ b/image/U01_subdepth_tail.png
Binary files differ
diff --git a/image/myfile_icon_video_play.png b/image/myfile_icon_video_play.png
new file mode 100644
index 0000000..2aeccec
--- /dev/null
+++ b/image/myfile_icon_video_play.png
Binary files differ
diff --git a/packaging/ug-myfile-efl.spec b/packaging/ug-myfile-efl.spec
index 2fa7ad6..91f8f7c 100644
--- a/packaging/ug-myfile-efl.spec
+++ b/packaging/ug-myfile-efl.spec
@@ -1,57 +1,101 @@
-#sbs-git:slp/pkgs/u/ug-myfile-efl ug-myfile-efl 0.0.1 1b44640a2e59d1af1ab0792e39a73bf3680b25c9
+%define _unpackaged_files_terminate_build 0
+%define _optdir /usr
+%define _usrdir /usr
+%define _ugdir %{_usrdir}/ug
+
Name: ug-myfile-efl
-Summary: Myfile UI Gadget (EFL)
-Version: 0.0.48
+Summary: ug
+Version: 0.3.42
Release: 1
-Group: misc
-License: Flora
+Group: TO_BE/FILLED_IN
+License: Apache-2.0
Source0: %{name}-%{version}.tar.gz
-BuildRequires: cmake
-BuildRequires: edje-bin
-BuildRequires: embryo-bin
-BuildRequires: gettext
+%if "%{?tizen_profile_name}" == "wearable" || "%{?tizen_profile_name}" == "tv"
+ExcludeArch: %{arm} %ix86 x86_64
+%endif
-BuildRequires: pkgconfig(ecore-x)
-BuildRequires: pkgconfig(ecore-evas)
+BuildRequires: pkgconfig(capi-appfw-application)
BuildRequires: pkgconfig(elementary)
-BuildRequires: pkgconfig(vconf)
BuildRequires: pkgconfig(glib-2.0)
-BuildRequires: pkgconfig(drm-client)
BuildRequires: pkgconfig(ui-gadget-1)
-BuildRequires: pkgconfig(capi-appfw-application)
+BuildRequires: pkgconfig(libmedia-service)
BuildRequires: pkgconfig(dlog)
-BuildRequires: pkgconfig(capi-media-sound-manager)
-BuildRequires: pkgconfig(capi-media-player)
+BuildRequires: pkgconfig(eina)
+BuildRequires: pkgconfig(evas)
+BuildRequires: pkgconfig(edje)
+BuildRequires: pkgconfig(ecore)
+BuildRequires: pkgconfig(ecore-input)
+BuildRequires: pkgconfig(icu-i18n)
+BuildRequires: pkgconfig(capi-system-device)
+BuildRequires: pkgconfig(capi-system-runtime-info)
BuildRequires: pkgconfig(capi-content-media-content)
-BuildRequires: pkgconfig(capi-system-power)
BuildRequires: pkgconfig(notification)
-BuildRequires: pkgconfig(utilX)
+BuildRequires: pkgconfig(sqlite3)
+#START_PUBLIC_REMOVED_STRING
+BuildRequires: pkgconfig(capi-content-mime-type)
+BuildRequires: pkgconfig(minizip)
+BuildRequires: pkgconfig(capi-media-metadata-extractor)
+BuildRequires: pkgconfig(capi-media-image-util)
+BuildRequires: pkgconfig(media-thumbnail)
+BuildRequires: pkgconfig(storage)
+BuildRequires: pkgconfig(capi-media-sound-manager)
+BuildRequires: pkgconfig(capi-media-player)
+BuildRequires: pkgconfig(capi-system-system-settings)
+BuildRequires: pkgconfig(capi-appfw-application)
+BuildRequires: pkgconfig(appsvc)
+BuildRequires: pkgconfig(pkgmgr-info)
+BuildRequires: pkgconfig(pkgmgr)
+BuildRequires: pkgconfig(accounts-svc)
+BuildRequires: pkgconfig(libexif)
+BuildRequires: pkgconfig(mm-common)
+BuildRequires: pkgconfig(efl-extension)
+
+BuildRequires: cmake
+BuildRequires: edje-bin
+BuildRequires: embryo-bin
+BuildRequires: gettext-devel
+
+BuildRequires: boost-devel
+BuildRequires: boost-thread
+BuildRequires: boost-system
+BuildRequires: boost-filesystem
+
+%description
+Myfile Application v1.0.
+%define _smack_domain %{name}
%description
-Myfile UI Gadget (EFL) v1.0.
+Description: myfile UG
%prep
-%setup -q -n %{name}-%{version}
+%setup -q
+
%build
-cmake . -DCMAKE_INSTALL_PREFIX="%{PREFIX}"
+%if 0%{?sec_build_binary_debug_enable}
+export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
+export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
+export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
+%endif
+
+cmake . -DCMAKE_INSTALL_PREFIX="%{_ugdir}" -DCMAKE_DESKTOP_ICON_DIR="/usr/share/icons/default/small" -DCMAKE_DESKTOP_DIR="/usr/share/applications" -DCMAKE_INSTALL_PKG_NAME="%{name}" -DCMAKE_INSTALL_DATA_DIR="%{DATADIR}"\
+
make %{?jobs:-j%jobs}
+%install
+rm -rf %{buildroot}
+%make_install
%post
mkdir -p /usr/ug/bin/
ln -sf /usr/bin/ug-client /usr/ug/bin/myfile-efl
-%install
-rm -rf %{buildroot}
-mkdir -p %{buildroot}/usr/share/license
-cp LICENSE.Flora %{buildroot}/usr/share/license/%{name}
-%make_install
+%postun
-%files
+%files
%manifest ug-myfile-efl.manifest
%defattr(-,root,root,-)
-/usr/ug/lib/*
-/usr/ug/res/*
-/usr/share/packages/*.xml
-/usr/share/license/%{name}
+%{_ugdir}/lib/libug-myfile-efl.so*
+%{_ugdir}/res/*
+/usr/share/packages/ug-myfile-efl.xml
+/usr/share/icons/default/small/ug-myfile-efl.png
diff --git a/res/po/CMakeLists.txt b/res/po/CMakeLists.txt
new file mode 100755
index 0000000..22a41a9
--- /dev/null
+++ b/res/po/CMakeLists.txt
@@ -0,0 +1,28 @@
+# for i18n
+
+#SET(POFILES bn.po en.po en_US.po gu.po hi.po kn.po ko_KR.po ml.po mr.po or.po pa.po si.po ta.po te.po)
+
+SET(POFILES ar.po az.po bg.po ca.po cs.po da.po de.po el_GR.po en_PH.po en.po en_PH.po en_US.po es_ES.po es_US.po et.po eu.po fi.po fr_CA.po fr.po ga.po gl.po hi.po hr.po hu.po hy.po is.po it_IT.po ja_JP.po ka.po kk.po ko_KR.po lt.po lv.po mk.po nb.po nl.po pl.po pt_BR.po pt_PT.po ro.po ru_RU.po sk.po sl.po sr.po sv.po tr_TR.po uk.po uz.po zh_CN.po zh_HK.po zh_TW.po)
+
+SET(MSGFMT "/usr/bin/msgfmt")
+
+MESSAGE("ProjectName: ${PROJECT_NAME}")
+
+FOREACH(pofile ${POFILES})
+ SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile})
+ MESSAGE("PO: ${pofile}")
+ GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE)
+ GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE)
+ SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo)
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${moFile}
+ COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
+ DEPENDS ${absPofile}
+ )
+ INSTALL(FILES ${moFile}
+ DESTINATION /usr/ug/res/locale/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
+ SET(moFiles ${moFiles} ${moFile})
+ENDFOREACH(pofile)
+
+MESSAGE(".mo files: ${moFiles}")
+ADD_CUSTOM_TARGET(myfilesugpo ALL DEPENDS ${moFiles})
diff --git a/res/po/POTFILES.in b/res/po/POTFILES.in
new file mode 100755
index 0000000..5b882fb
--- /dev/null
+++ b/res/po/POTFILES.in
@@ -0,0 +1 @@
+# List of source files containing translatable strings.
diff --git a/res/po/ar.po b/res/po/ar.po
new file mode 100755
index 0000000..d5a2d97
--- /dev/null
+++ b/res/po/ar.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "أدخل اسم المجلد."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "المستندات"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "نغمة الرنين الافتراضية"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "اسم الملف غير صالح."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "يتعذر التشغيل أثناء المكالمة."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "تتعذر الإضافة. بعض العناصر غير موجودة."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "صوت الإشعار الافتراضي"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "تحديد عناصر"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "تم إدخال حرف غير صالح. حاول مرة أخرى."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "صامت"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "يمكنك تحديد ما يصل إلى %d عناصر."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "مسح؟"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "بطاقة SD"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "ذاكرة الجهاز"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "تعذر التشغيل. حدث خطأ."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "تم"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "إلغاء"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "تم تجاوز الحد الأقصى لحجم الملف (%d ميجابايت)."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "تم تجاوز الحد الأقصى لحجم الملفات."
+
diff --git a/res/po/az.po b/res/po/az.po
new file mode 100755
index 0000000..d3f4041
--- /dev/null
+++ b/res/po/az.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Qovluq adını daxil edin."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Sənədlər"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Defolt zəng melodiyası"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Yanlış fayl adı."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Zəng zamanı səsləndirmək olmur."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Əlavə etmək mümkün deyil. Bəzi elementlər mövcud deyil."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Bildiriş səsi"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Elementləri seç"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Səhv simvol daxil edilib. Təkrar cəhd et"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Səssiz"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Siz maksimum %d element seçə bilərsiniz."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Silinsin?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD kartı"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Cihaz yaddaşı"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Səsləndirmək mümkün deyil. Səhv baş verdi."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "HAZIR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "LƏĞV ET"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Fayl ölçüsü (%d MB) maksimumu keçib."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Faylların maksimum sayını keçib."
+
diff --git a/res/po/bg.po b/res/po/bg.po
new file mode 100755
index 0000000..ccd71b6
--- /dev/null
+++ b/res/po/bg.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Въведете име на папка."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Документи"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Тон на звънене по подразбиране"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Невалидно име на файл."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Не може да се възпроизведе по време на разговор."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Не може да се добави. Някои от елементите не съществуват."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Звук по подр. уведомявания"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Избор на елементи"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Въведен е невалиден знак. Опитайте отново"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Тих"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Можете да изберете до %d елемента."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Изтриване?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD карта"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Памет на устройството"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Не може да се възпроизведе. Възникна грешка."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ГОТОВО"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ОТКАЗ"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Надвишен е максималният размер на файла (%d MB)."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Максималният размер на файловете е надхвърлен."
+
diff --git a/res/po/bn.po b/res/po/bn.po
new file mode 100755
index 0000000..d7d2315
--- /dev/null
+++ b/res/po/bn.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "ফোল্ডার নাম লিখুন।"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "নথিগুলি"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "ডিফল্ট রিংটোন"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "অবৈধ ফাইল নাম।"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "কল করার সময় প্লে করতে অক্ষম।"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "যুক্ত করা যায়নি৷ কিছু আইটেম বিদ্যমান নেই।"
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "ডিফল্ট বিজ্ঞপ্তির ধ্বনি"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "আইটেমগুলি নির্বাচন করুন"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "অবৈধ অক্ষর প্রবেশ করানো হয়েছে৷ আবার চেষ্টা করুন।"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "নীরব"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "আপনি %dটি পর্যন্ত আইটেম নির্বাচন করতে পারেন।"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "মুছবেন?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD কার্ড"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "ডিভাইস মেমোরি"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "প্লে করতে অক্ষম। ত্রুটি ঘটেছে।"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "সম্পন্ন"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "বাতিল"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "সর্বাধিক ফাইলের আকার (%d MB) অতিক্রান্ত।"
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "ফাইলের সর্বাধিক আকারের সীমা অতিক্রান্ত।"
+
diff --git a/res/po/ca.po b/res/po/ca.po
new file mode 100755
index 0000000..e243da7
--- /dev/null
+++ b/res/po/ca.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Introduir nom de carpeta"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Documents"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Melodia predeterminada"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Nom de fitxer no vàlid"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "No es pot reproduir durant la trucada"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "No es pot afegir. Alguns elements no existeixen."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "So notificació predeter"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Seleccionar elements"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Caràcter introduït no vàlid. Torni-ho a intentar."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Silenci"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Pot seleccionar fins a %d elements"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Esborrar?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "Targeta SD"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Memòria del dispositiu"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "No es pot reproduir. S'ha produït un error."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "REALITZAT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCEL·LAR"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "S'ha excedit la mida màxima de fitxer (%d MB)"
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "S'ha excedit la mida màxima de fitxers"
+
diff --git a/res/po/cs.po b/res/po/cs.po
new file mode 100755
index 0000000..acf14be
--- /dev/null
+++ b/res/po/cs.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Zadejte název složky."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Dokumenty"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Výchozí vyzváněcí tón"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Neplatný název souboru."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Nelze přehrát během hovoru."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Nelze přidat. Některé položky neexistují."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Výchozí zvuk oznámení"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Vyberte položky"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Byl zadán neplatný znak. Opakujte akci"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Tichý"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Můžete vybrat až %d položek."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Odstranit?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD karta"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Paměť zařízení"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Nelze přehrát. Došlo k chybě."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "HOTOVO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ZRUŠIT"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Byla překročena maximální velikost souborů (%d MB)."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Byla překročena maximální velikost souborů."
+
diff --git a/res/po/da.po b/res/po/da.po
new file mode 100755
index 0000000..4bafff9
--- /dev/null
+++ b/res/po/da.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Angiv mappenavn"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Dokumenter"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Standardringetone"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Ugyldigt filnavn."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Kunne ikke afspille under samtale."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Kunne ikke tilføje. Nogle elementer findes ikke."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Standardmeddelelseslyd"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Vælg elementer"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Ugyldigt tegn indtastet. Prøv igen."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Lydløs"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Du kan vælge op til %d elementer."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Slet?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD-kort"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Telefonens hukommelse"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Kan ikke afspille. Der opstod en fejl."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "UDFØRT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULLER"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Maksimal filstørrelse (%d MB) overskredet."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Den maksimale filstørrelse overskredet."
+
diff --git a/res/po/de.po b/res/po/de.po
new file mode 100755
index 0000000..0ff1e62
--- /dev/null
+++ b/res/po/de.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Ordnernamen eingeben"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Dokumente"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Standardklingelton"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Dateiname ungültig"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Wiedergabe während Anruf nicht möglich"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Hinzufügen nicht möglich. Einige Elemente sind nicht vorhanden."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Standardton für Benachr."
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Elemente auswählen"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Ungültiges Zeichen eingegeben. Erneut versuchen."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Stumm"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Sie können bis zu %d Elemente auswählen."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Löschen?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD-Karte"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Gerätespeicher"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Datei kann nicht wiedergegeben werden. Fehler aufgetreten."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "FERTIG"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ABBRECHEN"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Maximale Dateigröße (%d MB) überschritten"
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maximale Dateigröße überschritten"
+
diff --git a/res/po/el_GR.po b/res/po/el_GR.po
new file mode 100755
index 0000000..63b595c
--- /dev/null
+++ b/res/po/el_GR.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Εισαγωγή ονόματος φακέλου."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Έγγραφα"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Προεπιλεγμένος ήχος κλήσης"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Μη έγκυρο όνομα αρχείου."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Δεν είναι δυνατή η αναπαραγωγή παιχνιδιού κατά την κλήση."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Αδύνατη η προσθήκη. Ορισμένα στοιχεία δεν υπάρχουν."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Προεπιλ. ήχος ειδοποιήσεων"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Επιλογή στοιχείων"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Καταχωρίστηκε μη έγκυρος χαρακτήρας. Δοκιμάστε ξανά"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Αθόρυβο"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Μπορείτε να επιλέξετε μέχρι και %d στοιχεία."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Διαγραφή;"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "Κάρτα SD"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Μνήμη συσκευής"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Δεν είναι δυνατή η αναπαραγωγή. Προέκυψε σφάλμα."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ΤΕΛΟΣ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ΑΚΥΡΟ"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Υπέρβαση μέγιστου μεγέθους αρχείων (%d MB)."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Υπέρβαση μέγιστου μεγέθους αρχείων."
+
diff --git a/res/po/en.po b/res/po/en.po
new file mode 100755
index 0000000..99b5ca8
--- /dev/null
+++ b/res/po/en.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Enter folder name."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Documents"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Default ringtone"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Invalid file name."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Unable to add. Some items do not exist."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Default notification sound"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Select items"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Invalid character entered. Try again."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Silent"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "You can select up to %d items."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD card"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Device memory"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Unable to play. Error occurred."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "DONE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCEL"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Maximum file size (%d MB) exceeded."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maximum size of files exceeded."
+
diff --git a/res/po/en_PH.po b/res/po/en_PH.po
new file mode 100755
index 0000000..c9e827a
--- /dev/null
+++ b/res/po/en_PH.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Enter folder name."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Documents"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Default ringtone"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Invalid file name."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Unable to add. Some items do not exist."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Default notification sound"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Select items"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Invalid character entered. Try again"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Silent"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "You can select up to %d items."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD card"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Device memory"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Unable to play. Error occurred"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "DONE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCEL"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Maximum file size (%d MB) exceeded."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maximum size of files exceeded."
+
diff --git a/res/po/en_US.po b/res/po/en_US.po
new file mode 100755
index 0000000..76a339a
--- /dev/null
+++ b/res/po/en_US.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Enter folder name."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Documents"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Default ringtone"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Invalid file name."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Unable to play during call."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Unable to add. Some items do not exist."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Default notification sound"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Select items"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Invalid character entered. Try again."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Silent"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "You can select up to %d items."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Delete?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD card"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Device memory"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Unable to play. Error occurred."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "DONE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCEL"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Maximum %d MB file size has been exceeded."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maximum size of files exceeded."
+
diff --git a/res/po/es_ES.po b/res/po/es_ES.po
new file mode 100755
index 0000000..1f2e97d
--- /dev/null
+++ b/res/po/es_ES.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Nombre de la carpeta"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Documentos"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Melodía predeterminada"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Nombre de archivo no válido"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "No se puede reproducir durante la llamada"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "No se puede añadir. Algunos elementos no existen."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Sonido notificación predet"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Seleccionar elementos"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Carácter introducido no válido. Vuelva a intentarlo."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Silencio"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Puede seleccionar hasta %d elementos"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "¿Eliminar?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "Tarjeta SD"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Memoria de dispositivo"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "No se puede reproducir. Se ha producido un error."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "HECHO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Tamaño máximo de archivo (%d MB) superado"
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Tamaño máximo de archivos superado"
+
diff --git a/res/po/es_US.po b/res/po/es_US.po
new file mode 100755
index 0000000..c5f87dd
--- /dev/null
+++ b/res/po/es_US.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Introducir nombre de carpeta."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Documentos"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Tono predeterminado"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Nombre de archivo no válido."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "No es posible reproducir durante la llamada."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "No se puede añadir. Algunos elementos no existen."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Tono predeterminado"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Seleccionar elementos"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Se ingresó un carácter no válido. Inténtelo de nuevo"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Silencioso"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Puede seleccionar hasta %d elementos."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "¿Eliminar?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "Tarjeta de memoria"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Memoria del dispositivo"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "No se puede reproducir. Ocurrió un error."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "REALIZADO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Se alcanzó el tamaño máximo del archivo (%d MB)."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Tamaño máximo de archivos superado."
+
diff --git a/res/po/et.po b/res/po/et.po
new file mode 100755
index 0000000..d67daf4
--- /dev/null
+++ b/res/po/et.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Sisestage kausta nimi."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Dokumendid"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Vaikimisi helin"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Vigane failinimi."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Kõne ajal ei saa esitada."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Ei saa lisada. Monesid uksuseid ei ole olemas."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Teavituse vaikeheli"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Vali üksused"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Sisestati vale tähemärk. Proovige uuesti"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Vaikne"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Te voite valida kuni %d uksust."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Kustutada?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD-kaart"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Seadme mälu"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Ei saa esitada. Ilmnes tõrge."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "VALMIS"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "TÜHISTA"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Faili maksimaalne suurus (%d MB) on ületatud."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maksimaalne failide suurus on ületatud."
+
diff --git a/res/po/eu.po b/res/po/eu.po
new file mode 100755
index 0000000..9873fd4
--- /dev/null
+++ b/res/po/eu.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Idatzi karpetaren izena."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Dokumentuak"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Dei doinu lehenetsia"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Fitxategi izen baliogabea"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Ezin da deian zehar erreproduzitu"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Ezin da gehitu. Elementu batzuk ez daude."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Jakinarazpenetarako lehenespenezko soinua"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Hautatu elementuak"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Karaktere baliogabea adierazi dituzu. Saiatu berriz."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Isila"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "%d elementu arte aukera ditzakezu"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Ezabatu?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD txartela"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Gailuaren memoria"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Ezin da erreproduzitu. Errorea gertatu da."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "EGINA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "UTZI"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Fitxategiaren gehieneko neurria (%d MB) gaindituta"
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Fitxategien gehienezko neurria gaindituta"
+
diff --git a/res/po/fi.po b/res/po/fi.po
new file mode 100755
index 0000000..b6b7ad9
--- /dev/null
+++ b/res/po/fi.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Kirjoita kansion nimi."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Asiakirjat"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Oletussoittoääni"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Virheellinen tiedostonimi"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Puhelun aikana ei voi toistaa."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Lisäys ei onnistu. Joitain kohteita ei löydy."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Oletusilmoitusääni"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Valitse kohteet"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Annettu virheellinen merkki. Yritä uudelleen."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Äänetön"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Voit valita enintään %d kohdetta."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Poistetaanko?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD-kortti"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Laitteen muisti"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Ei voi toistaa. Tapahtui virhe."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "VALMIS"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "PERUUTA"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Tiedoston enimmäiskoko (%d Mt) on ylitetty."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Tiedostojen enimmäiskoko on saavutettu."
+
diff --git a/res/po/fr.po b/res/po/fr.po
new file mode 100755
index 0000000..7e8ede7
--- /dev/null
+++ b/res/po/fr.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Entrer nom du dossier"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Documents"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Sonnerie par défaut"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Nom de fichier incorrect"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Lecture impossible pendant un appel"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Ajout impossible. Certains éléments n'existent pas."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Son de notif. par défaut"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Sélectionner éléments"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Caractère non valide saisi. Réessayez."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Discret"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Vous pouvez sélectionner jusqu'à %d éléments."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Supprimer ?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "Carte SD"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Mémoire de l'appareil"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Lecture impossible. Une erreur s'est produite."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "OK"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULER"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Taille maximale de fichiers (%d Mo) dépassée"
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Taille maximale des fichiers dépassée"
+
diff --git a/res/po/fr_CA.po b/res/po/fr_CA.po
new file mode 100755
index 0000000..6719e27
--- /dev/null
+++ b/res/po/fr_CA.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Saisir le nom de dossier."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Documents"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Sonnerie par défaut"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Nom de fichier incorrect."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Impossible de lire le message pendant un appel."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Ajout impossible. Certains éléments n'existent pas."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Son de notif. par défaut"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Sélectionner éléments"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Caractère non valide saisi. Réessayez"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Silencieux"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Vous pouvez sélectionner jusqu'à %d éléments."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Supprimer ?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "Carte SD"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Mémoire de l'appareil"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Lecture impossible. Une erreur s'est produite."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "OK"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULER"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Taille maximale de fichiers (%d Mo) dépassée."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Taille maximale des fichiers dépassée."
+
diff --git a/res/po/ga.po b/res/po/ga.po
new file mode 100755
index 0000000..b617ca6
--- /dev/null
+++ b/res/po/ga.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Iontráil ainm an fhillteáin"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Doiciméid"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Clingthon réamhshocraithe"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Comhadainm neamhbhailí."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Ní féidir seinm le linn glao."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Ní féidir cur leis. Níl roinnt míreanna ann."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Fuaim fógra réamhshoc."
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Roghnaigh míreanna"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Carachtar neamhbhailí iontráilte. Triail arís."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Tostach"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Is féidir leat suas le %d mír a roghnú"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Scrios?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "Cárta SD"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Cuimhne an ghléis"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Ní féidir seinm. Tharla earráid."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "DÉANTA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CUIR AR CEAL"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Uasmhéid an chomhaid (%d MB) sáraithe."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Uasmhéid na gcomhad sáraithe."
+
diff --git a/res/po/gl.po b/res/po/gl.po
new file mode 100755
index 0000000..81265ec
--- /dev/null
+++ b/res/po/gl.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Introducir nome de carpeta"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Documentos"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Melodía predeterminada"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Nome de arquivo non válido"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Non se pode reproducir durante a chamada"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Non se pode engadir. Algúns elementos non existe."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Son notificación predet."
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Seleccionar elementos"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Inseriuse un carácter non válido. Téntao de novo."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Silencioso"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Podes seleccionar ata %d elementos"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Eliminar?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "Tarxeta SD"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Memoria do dispositivo"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Non se pode reproducir. Produciuse un erro."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "FEITO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Superouse o tamaño máximo do arquivo (%d MB)"
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Superouse o tamaño máximo dos arquivos"
+
diff --git a/res/po/gu.po b/res/po/gu.po
new file mode 100755
index 0000000..ec72667
--- /dev/null
+++ b/res/po/gu.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "ફોલ્ડરનું નામ દાખલ કરો."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "દસ્તાવેજો"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "મૂળભૂત રિંગટોન"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "અમાન્ય ફાઇલ નામ."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "કૉલ દરમ્યાન ચલાવવામાં અક્ષમ."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "જોડવામાં અક્ષમ. કેટલીક વસ્તુઓ હાજર નથી."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "મૂળભૂત સૂચના ધ્વનિ"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "વસ્તુઓ પસંદ કરો"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "અમાન્ય અક્ષર દાખલ કર્યો છે. ફરી પ્રયાસ કરો."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "શાંત"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "તમે %d વસ્તુઓ સુધી પસંદ કરી શકો છો."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "કાઢી નાખવું?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD કાર્ડ"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "ઉપકરણ સ્મૃતિ"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "પ્લે કરવામાં અસમર્થ. ભૂલ થઈ છે."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "पूर्ण"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "रद्द करें
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "મહત્તમ ફાઇલ કદ (%d MB) વટાવ્યું."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "ફાઇલ્સની મહત્તમ કદ વટાવાઈ ગઈ."
+
diff --git a/res/po/hi.po b/res/po/hi.po
new file mode 100755
index 0000000..b8278e5
--- /dev/null
+++ b/res/po/hi.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "फोल्डर नाम प्रविष्ट करें।"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "दस्तावेज"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "डिफॉल्ट रिंगटोन"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "फाइल नाम अवैध है।"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "कॉल के दौरान चलाने में असमर्थ।"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "जोड़ने में अक्षम। कुछ मद मौजूद नहीं हैं।"
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "डिफॉल्ट अधिसूचना ध्वनि"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "मदें चुनें"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "अमान्य वर्ण प्रविष्ट किए गए। फिर से प्रयास करें।"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "शांत"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "आप %d मद तक चुन सकते हैं"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "हटाएँ?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD कार्ड"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "डिवाइस मेमोरी"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "चलाने में असमर्थ। त्रुटि पाई गई।"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "पूर्ण"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "रद्द करें"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "अधिकतम फ़ाइल आकार (%d MB) पार हुआ।"
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "फाइलों का अधिकतम आकार पार कर गया है।"
+
diff --git a/res/po/hr.po b/res/po/hr.po
new file mode 100755
index 0000000..6003ea3
--- /dev/null
+++ b/res/po/hr.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Unesite naziv mape."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Dokumenti"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Zadani ton zvona"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Neispravno ime datoteke."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Nemoguće reprod. tijekom poziva."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Nemoguće dodati. Neke stavke ne postoje."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Zadani ton obavijesti"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Odaberite stavke"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Unesen neispravan znak. Pokušajte ponovno"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Bešumno"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Možete odabrati do %d stavki."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Obrisati?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD kartica"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Memorija uređaja"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Greška reprodukcije."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GOTOVO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ODUSTANI"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Premašena maksimalna veličina datoteke (%d MB)."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maks. veličina datoteke."
+
diff --git a/res/po/hu.po b/res/po/hu.po
new file mode 100755
index 0000000..25d62a6
--- /dev/null
+++ b/res/po/hu.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Adja meg a mappa nevét."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Dokumentumok"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Alapértelmezett csengőhang"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Érvénytelen fájlnév"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Hívás közben nem lehet lejátszani."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Nem adható hozzá. Egyes tételek nem léteznek."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Alapért. értesítési hang"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Tételek kijelölése"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Érvénytelen karaktert vitt be. Próbálja újra"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Csendes"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Legfeljebb %d tételt jelölhet ki."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Törli?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD-kártya"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Eszközmemória"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Nem játszható le. Hiba történt."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "KÉSZ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "MÉGSE"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Túllépte a maximális fájlméretet (%d MB)."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Túllépte a maximális fájlméretet."
+
diff --git a/res/po/hy.po b/res/po/hy.po
new file mode 100755
index 0000000..206ec92
--- /dev/null
+++ b/res/po/hy.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Մուտքագրեք թղթապանակի անունը:"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Փաստաթղթեր"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Լռելյայն զանգի մեղեդի"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Անվավեր ֆայլի անուն:"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Անհնար է վերարտադրել կանչի ընթացքում:"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Հնարավոր չէ ավելացնել: Որոշ տարրեր գոյություն չունեն:"
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Կանխադրված ծանուցման ձայն"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Ընտրել տարրեր"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Անվավեր նիշ է մուտքագրվել: Նորից փորձեք"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Անձայն"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Կարող եք ընտրել մինչև %d տարր:"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Ջնջե՞լ"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD քարտ"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Սարքի հիշողություն"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Անհնար է նվագարկել. սխալ է տեղի ունեցել:"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ԱՐՎԱԾ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ԴԱԴԱՐԵՑՆԵԼ"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Ֆայլի առավելագույն չափը (%d ՄԲ) գերազանցվել է:"
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Ֆայլերի առավելագույն քանակը գերազանցվել է:"
+
diff --git a/res/po/is.po b/res/po/is.po
new file mode 100755
index 0000000..d0364d9
--- /dev/null
+++ b/res/po/is.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Ritið heiti möppu."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Skjöl"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Sjálfgefnir hringitónar"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Ógilt skráarheiti."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Ekki er hægt að spila á meðan símtal stendur yfir."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Mistókst að bæta við. Sumir hlutir eru ekki til."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Sjálfg. tilkynningatónn"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Velja hluti"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Ógildur stafur sleginn inn. Reyndu aftur."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Án hljóðs"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Hægt er velja allt að %d hluti."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Á að eyða?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD-kort"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Innra minni tækis"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Mistókst að spila. Villa kom upp."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "LOKIÐ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "HÆTTA VIÐ"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Hámarksstærð skráar (%d MB) hefur verið náð."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Hámarksstærð skráa er náð."
+
diff --git a/res/po/it_IT.po b/res/po/it_IT.po
new file mode 100755
index 0000000..595112c
--- /dev/null
+++ b/res/po/it_IT.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Inserite nome cartella"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Documenti"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Suoneria predefinita"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Nome del file non valido."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Impossibile riprodurre durante una chiamata."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Impossibile aggiungere. Alcuni elementi non esistono."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Suoneria predef. notifica"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Seleziona elementi"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Carattere inserito non valido. Riprovate."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Silenzioso"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "È possibile selezionare fino a %d elementi."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Eliminare?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "Scheda SD"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Memoria dispositivo"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Impossibile riprodurre. Si è verificato un errore."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "FATTO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULLA"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "La dimensione massima del file (%d MB) è stata superata."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Dimensioni massime dei file superate."
+
diff --git a/res/po/ja_JP.po b/res/po/ja_JP.po
new file mode 100755
index 0000000..a619e46
--- /dev/null
+++ b/res/po/ja_JP.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "フォルダ名を入力してください。"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "ドキュメント"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "標準音"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "ファイル名が正しくありません。"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "通話中は再生できません。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "一部のアイテムが存在しないため、追加できません。"
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "標準通知音"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "アイテムを選択"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "無効な文字が入力されました。再度実行してください。"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "サイレント"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "%dアイテムまで選択できます。"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "削除しますか?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "外部SDカード"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "システムメモリ(本体)"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "再生できません。エラーが発生しました。"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "完了"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "キャンセル"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "最大ファイルサイズ(%dMB)を超えました。"
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "ファイルの最大サイズを超えました。"
+
diff --git a/res/po/ka.po b/res/po/ka.po
new file mode 100755
index 0000000..b2f002b
--- /dev/null
+++ b/res/po/ka.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "შეიყვანეთ საქაღალდის სახელი."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "დოკუმენტები"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "ავტომატურად შერჩეული ზარი"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "ფაილის არასწორი დასახელება."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "ვერ დაუკრავთ ზარის დროს."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "ვერ ემატება. ზოგიერთი ელემენტი არ არის."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "შეტყობინების საწყისი ხმა"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "ელემენტების არჩევა"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "აკრეფილია არასწორი სიმბოლო. კიდევ მოსინჯეთ"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "ჩუმი"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "მაქსიმუმ %d ელემენტის არჩევა შეგიძლიათ."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "წაიშალოს?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD ბარათი"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "აპარატის მეხსიერება"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "ვერ დაუკრავთ. შეცდომა მოხდა."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "მზადაა"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "გაუქმება"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "გადაჭარბებულია ფაილის მაქსიმალური ზომა (%d მბ)."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "გადაჭარბებულია ფაილების მაქსიმალური ზომა."
+
diff --git a/res/po/kk.po b/res/po/kk.po
new file mode 100755
index 0000000..f23c662
--- /dev/null
+++ b/res/po/kk.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Қалта атын енгізңіз."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Құжаттар"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Әдепкі үн"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Файлдың аты қате."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Сөйлесу барысында ойнатуға мүмкіндік жоқ."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Қосу мүмкін емес. Кейбір элементтер жоқ."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Әдепкі хабарлау дыбысы"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Элементтерді таңдау"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Қате таңба енгізілді. Әрекетті қайталаңыз"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Дыбыссыз"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "%d элементке дейін таңдауға болады."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Өшіресіз бе?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD картасы"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Құрылғы жады"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Ойнату мүмкін емес. Қате пайда болды."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ДАЙЫН"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "БАС ТАРТУ"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Ең үлкен файл өлшемінен (%d МБ) асып кетті."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Файлдардың ең үлкен өлшемінен асып кетті."
+
diff --git a/res/po/kn.po b/res/po/kn.po
new file mode 100755
index 0000000..d0f51c8
--- /dev/null
+++ b/res/po/kn.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "ಫೋಲ್ಡರ್ ಹೆಸರನ್ನು ನಮೂದಿಸಿ."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "ಡಾಕ್ಯುಮೆಂಟ್‌ಗಳು"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "ಡೀಫಾಲ್ಟ್ ರಿಂಗ್‌ಟೋನ್"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "ಅಸಿಂಧು ಫೈಲ್ ಹೆಸರು."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "ಕರೆಯ ಸಮಯದಲ್ಲಿ ಪ್ಲೇ ಮಾಡಲಾಗುತ್ತಿಲ್ಲ."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "ಸೇರಿಸಲಾಗುತ್ತಿಲ್ಲ. ಒಂದೇ ಐಟಂ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "ಡೀಫಾಲ್ಟ್ ಪ್ರಕಟಣೆ ಶಬ್ದ"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "ಅಂಶಗಳನ್ನು ಆರಿಸಿ"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "ಅಮಾನ್ಯ ಅಕ್ಷರ ನಮೂದಿಸಲಾಗಿದೆ. ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "ನಿಶ್ಯಬ್ದ"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "%d ಅಂಶಗಳ‌ವರೆಗೆ ನೀವು ಆರಿಸಬಹುದು."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "ಅಳಿಸಲೇ?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD ಕಾರ್ಡ್"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "ಸಾಧನ ಸ್ಮರಣೆ"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "ಪ್ಲೇ ಮಾಡಲು ಅಸಮರ್ಥ. ದೋಷ ಸಂಭವಿಸಿದೆ."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ಮುಗಿದಿದೆ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ರದ್ದುಮಾಡಿ"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "ಗರಿಷ್ಠ ಫೈಲ್ ಗಾತ್ರ (%d MB) ಮೀರಿದೆ."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "ಫೈಲ್‌ಗಳ ಗರಿಷ್ಠ ಗಾತ್ರ ಮೀರಿದೆ."
+
diff --git a/res/po/ko_KR.po b/res/po/ko_KR.po
new file mode 100755
index 0000000..1eb2afd
--- /dev/null
+++ b/res/po/ko_KR.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "폴더 이름을 입력하세요."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "문서"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "기본 벨소리"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "파일 이름이 바르지 않습니다."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "통화 중에는 재생할 수 없습니다."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "일부 항목이 없어 추가할 수 없습니다."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "기본 알림음"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "항목 선택"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "입력한 문자가 바르지 않습니다. 다시 시도하세요."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "무음"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "%d개까지 선택할 수 있습니다."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "삭제할까요?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD 카드"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "디바이스 저장공간"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "재생할 수 없습니다. 오류가 발생하였습니다."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "완료"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "취소"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "최대 파일 크기 %dMB를 초과하였습니다."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "최대 파일 크기를 초과하였습니다."
+
diff --git a/res/po/lt.po b/res/po/lt.po
new file mode 100755
index 0000000..369442c
--- /dev/null
+++ b/res/po/lt.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Įrašyti aplanko pavadinimą."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Dokumentai"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Numatytoji melodija"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Neleistinas failo pavadinimas."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Negalima paleisti skambučio metu."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Nepavyko pridėti. Kai kurie elementai neegzistuoja."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Numatyto pranešimo garsas"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Rinktis elementus"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Įvestas neteisingas simbolis. Bandykite vėl"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Tylusis"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Galite pasirinkti iki %d elementų."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Ar trinti?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD kortelė"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Įrenginio atmintis"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Neįmanoma paleisti. Įvyko klaida."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ATLIKTA"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ATŠAUKTI"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Viršytas didžiausias failo dydis (%d MB)."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Viršytas leistinas failų dydis."
+
diff --git a/res/po/lv.po b/res/po/lv.po
new file mode 100755
index 0000000..5557342
--- /dev/null
+++ b/res/po/lv.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Ievadiet mapes nosaukumu."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Dokumenti"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Noklusējuma zvana signāls"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Nederīgs faila nosaukums."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Sarunas laikā nevar veikt atskaņošanu."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Nevar pievienot. Daži objekti nepastāv."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Paziņojumu noklus. skaņa"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Objektu izvēle"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Ievadīta nederīga rakstzīme. Mēģiniet vēlreiz"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Klusums"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Varat izvēlēties līdz pat %d objektiem."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Vai dzēst?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD kartē"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Ierīces atmiņa"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Nevar atskaņot. Radās kļūda."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GATAVS"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ATCELT"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Pārsniegts maksimālais faila lielums (%d MB)."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Pārsniegts maksimālais failu lielums."
+
diff --git a/res/po/mk.po b/res/po/mk.po
new file mode 100755
index 0000000..8a98f1b
--- /dev/null
+++ b/res/po/mk.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Внесете име за папката."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Документи"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Основно ѕвонење"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Неправилно име на фајл."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Не може да се пушти за време на разговор."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Не може да се додаде. Некои содржини не постојат."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Основен звук за известување"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Изберете записи"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Внесен е неважечки знак. Обидете се повторно"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Нечујно"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Може да изберете најмногу %d записи."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Да се избрише?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD-картичка"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Меморија на уредот"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Не може да се емитува. Дојде до грешка."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ГОТОВО"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ОТКАЖИ"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Надмината е максималната големина за фајл (%d MB)."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Надмината е максималната големина за фајловите."
+
diff --git a/res/po/ml.po b/res/po/ml.po
new file mode 100755
index 0000000..1726dfe
--- /dev/null
+++ b/res/po/ml.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "ഫോൾഡർ പേര് നൽകുക"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "പ്രമാണങ്ങള്‍"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "സ്ഥിരസ്ഥിതി റിംഗ്‌ടോണ്‍"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "ഫയല്‍ നാമം അസാധുവാണ്."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "കോളിനിടെ പ്ലേചെയ്യാന്‍ ആവുന്നില്ല."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "ചേര്‍‌ക്കാനാവില്ല. ചില ഇനങ്ങള്‍‌ നിലവിലില്ല."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "സ്ഥിരസ്ഥിതി അറിയിപ്പ് ശബ്ദം"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "ഇനങ്ങള്‍ തിരഞ്ഞെടുക്കുക"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "അസാധുവായ അക്ഷരം നല്‍കി. വീണ്ടും ശ്രമിക്കുക"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "നിശബ്‌ദം"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "%d ഇനങ്ങള്‍ വരെ നിങ്ങള്‍ക്ക് തിരഞ്ഞെടുക്കാം."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "ഇല്ലാതാക്കണോ?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD കാര്‍ഡ്"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "ഉപകരണ മെമ്മറി"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "പ്ലേ ചെയ്യാനാവുന്നില്ല. പിശക് സംഭവിച്ചു."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ചെയ്‌തു"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "റദ്ദാക്
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "പരമാവധി ഫയല്‍ വലുപ്പം (%d MB) കവിഞ്ഞു."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "ഫയലുകളുടെ പരമാവധി വലിപ്പം അതികരിച്ചു."
+
diff --git a/res/po/mr.po b/res/po/mr.po
new file mode 100755
index 0000000..5fd939a
--- /dev/null
+++ b/res/po/mr.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "फोल्डरचे नाव प्रविष्ट करा."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "दस्तऐवज"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "डिफॉल्ट रिंगटोन"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "फाइलचा नाव अवैध आहे."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "कॉल दरम्यान चालू करण्यास अक्षम."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "जोडण्यास अक्षम. काही आयटम्स अस्तित्वात नाही."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "डिफॉल्ट अधिसूचना ध्वनी"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "आयटेम्‍स निवडा"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "अवैध वर्ण प्रविष्ट केले. पुन्हा प्रयत्न करा."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "शांत"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "आपण %d आयटम्स पर्यंत निवड करू शकता."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "काढून टाकायचे?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD कार्ड"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "उपकरण मेमरी"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "चालू करण्यास अक्षम. त्रुटी आली."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "झाले"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "रद्द करा"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "अत्‍याधिक फाईलचा आकार (%d MB) ओलांडला."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "फाइलींचा अधिकतम आकार ओलांडला आहे."
+
diff --git a/res/po/nb.po b/res/po/nb.po
new file mode 100755
index 0000000..64f4a9d
--- /dev/null
+++ b/res/po/nb.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Angi mappenavn."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Dokumenter"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Standard ringetone"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Ugyldig filnavn."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Kan ikke spille av under samtale."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Kan ikke legge til. Noen elemeneter finnes ikke."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Standard varselslyd"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Velg elementer"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Ugyldig tegn angitt. Prøv på nytt."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Stille"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Du kan velge opptil %d elementer."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Slette?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD-kort"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Enhetsminne"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Kan ikke spille av. Det oppstod en feil."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "FULLFØRT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "AVBRYT"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Maksimal filstørrelse (%d MB) overskredet."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maksimal filstørrelse oversteget."
+
diff --git a/res/po/nl.po b/res/po/nl.po
new file mode 100755
index 0000000..bc73cdb
--- /dev/null
+++ b/res/po/nl.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Mapnaam invoeren"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Documenten"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Standaardbeltoon"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Ongeldige bestandsnaam."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Niet mogelijk tijdens gesprek."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Kan niet toevoegen. Sommige items bestaan niet."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Standaardgeluid melding"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Items selecteren"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Ongeldig teken ingevoerd. Probeer het opnieuw."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Stil"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "U kunt maximaal %d items selecteren."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Verwijderen?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD-kaart"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Apparaatgeheugen"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Kan niet afspelen. Fout opgetreden."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GEREED"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANNULEREN"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Maximale bestandsgrootte (%d MB) overschreden."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maximumgrootte van bestanden overschreden."
+
diff --git a/res/po/or.po b/res/po/or.po
new file mode 100755
index 0000000..7e3cc9a
--- /dev/null
+++ b/res/po/or.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "ଫୋଲ୍ଡର୍ ନାମ ପ୍ରବେଶ କରନ୍ତୁ"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "ଡକ୍ୟୁମେଣ୍ଟଗୁଡିକ"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "ଡିଫଲ୍ଟ ରିଂଟୋନ୍"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "ଅବୈଧ ଫାଇଲ୍ ନାମ।"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "କଲ୍ ସମୟରେ ଧ୍ୱନି ଚାଳନ କରିବାକୁ ଅସମର୍ଥ ଅଟେ।"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "ଯୋଡିବାକୁ ଅସମର୍ଥ । କିଛି ଆଇଟମ୍‌ଗୁଡିକ ବିଦ୍ୟମାନ ନାହିଁ।"
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "ଡିଫଲ୍ଟ ବିଜ୍ଞପ୍ତି ଧ୍ୱନି"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "ଆଇଟମଗୁଡିକ ଚୟନ"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "ଅବୈଧ କମ୍‍ ପ୍ରବେଶ ହେଲା। ପୁନଃଚେଷ୍ଟା କରନ୍ତୁ।"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "ଶାନ୍ତ"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "ଆପଣ %dଟି ଆଇଟମ୍‌ ପର୍ଯ୍ୟନ୍ତ ଚୟନ କରିପାରିବେ।"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "ବିଲୋପ କରିବେ?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD କାର୍ଡ୍"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "ଡିଭାଇସ୍ ମେମୋରୀ"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "ଚାଳନ କରିବାକୁ ଅସମର୍ଥ। ତ୍ରୁଟି ଘଟିଲା।"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ସମାପ୍ତ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ବାତିଲ୍"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "ସର୍ବାଧିକ ଫାଇଲ୍ ଆକାର (%d MB) ଅତିକ୍ରମ କରିଛି।"
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "ଫାଇଲ୍‌ଗୁଡିକର ସର୍ବାଧିକ ଆକାର ଅତିକ୍ରମ କରିଛି।"
+
diff --git a/res/po/pa.po b/res/po/pa.po
new file mode 100755
index 0000000..2f33b38
--- /dev/null
+++ b/res/po/pa.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "ਫੋਲਡਰ ਨਾਂ ਦਾਖ਼ਲ ਕਰੋ।"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "ਦਸਤਾਵੇਜ਼"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "ਡਿਫਾੱਲਟ ਰਿੰਗਟੋਨ"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "ਅਵੈਧ ਫਾਈਲ ਨਾਂ।"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "ਕਾੱਲ ਦੇ ਦੌਰਾਨ ਪਲੇ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ।"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "ਜੋੜਨ ਵਿੱਚ ਅਸਮਰੱਥ। ਕੁਝ ਆਈਟਮ ਮੌਜੂਦ ਨਹੀਂ ਹਨ।"
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "ਡਿਫਾੱਲਟ ਸੂਚਨਾ ਧੁਨੀ"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "ਆਈਟਮਸ ਚੁਣੋ"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "ਅਵੈਧ ਵਰਣ ਦਾਖ਼ਲ ਹੋਇਆ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "ਸ਼ਾਂਤ"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "ਤੁਸੀਂ %d ਤੱਕ ਆਈਟਮਸ ਚੁਣ ਸਕਦੇ ਹੋ।"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "ਮਿਟਾਉਣਾ ਹੈ?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD ਕਾਰਡ"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "ਡਿਵਾਈਸ ਮੈਮਰੀ"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "ਪਲੇ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ। ਤਰੁੱਟੀ ਉਤਪੰਨ ਹੋਈ।"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ਪੂਰਨ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ਰੱਦ ਕਰੋ"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "ਅਧਿਕਤਮ ਫਾਈਲ ਆਕਾਰ (%d MB) ਵਧਾਇਆ ਗਿਆ।"
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "ਫਾਇਲਾਂ ਦਾ ਅਧਿਕਤਮ ਆਕਾਰ ਜ਼ਿਆਦਾ ਹੋ ਗਿਆ ਹੈ।"
+
diff --git a/res/po/pl.po b/res/po/pl.po
new file mode 100755
index 0000000..67f1a08
--- /dev/null
+++ b/res/po/pl.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Wpisz nazwę katalogu."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Dokumenty"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Domyślny dzwonek"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Nieprawidłowa nazwa pliku"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Niedozwolone podczas połączenia."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Nie można dodać. Niektóre elementy nie istnieją."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Domyślny dźwięk powiadom."
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Wybierz elementy"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Wpisano nieprawidłowy znak. Spróbuj ponownie"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Cichy"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Maksymalna liczba elementów, które można wybrać: %d."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Usunąć?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "Karta pamięci"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Pamięć urządzenia"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Nie można odtworzyć. Wystąpił błąd."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GOTOWE"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANULUJ"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Przekroczono maksymalny rozmiar pliku (%d MB)."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Przekroczono maksymalny rozmiar plików."
+
diff --git a/res/po/pt_BR.po b/res/po/pt_BR.po
new file mode 100755
index 0000000..ef19575
--- /dev/null
+++ b/res/po/pt_BR.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Insira o nome da pasta."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Documentos"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Toque padrão"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Nome de arquivo\ninválido."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Impossível durante chamada."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Impossível adicionar. Alguns itens não existem."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Som de notificação padrão"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Selecionar itens"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Caractere inválido inserido. Tente novamente"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Silencioso"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Você pode selecionar até %d itens."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Apagar?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "Cartão SD"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Memória do dispositivo"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Impossível reproduzir. Ocorreu um erro."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "CONCLUÍDO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Tamanho máximo do arquivo (%d MB) excedido."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Tamanho máximo dos arquivos excedido."
+
diff --git a/res/po/pt_PT.po b/res/po/pt_PT.po
new file mode 100755
index 0000000..1b3671c
--- /dev/null
+++ b/res/po/pt_PT.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Introduzir nome da pasta."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Documentos"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Tom de toque padrão"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Nome do ficheiro inválido."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Impossível tocar durante a chamada."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Impossível adicionar. Alguns itens não existem."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Som padrão p/ notificações"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Seleccionar itens"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Introduzidos caracteres inválidos. Tente novamente."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Silencioso"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Pode seleccionar até %d itens."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Eliminar?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "Cartão SD"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Memória do dispositivo"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Impossível reproduzir. Ocorreu um erro."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "CONCLUÍDO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "CANCELAR"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Tamanho máximo de ficheiro (%d MB) excedido."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Tamanho máximo dos ficheiros excedido."
+
diff --git a/res/po/ro.po b/res/po/ro.po
new file mode 100755
index 0000000..e632659
--- /dev/null
+++ b/res/po/ro.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Introduceţi numele folderului."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Documente"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Sonerie de apel implicită"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Nume fişier incorect"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Imposibil de redat în timpul unui apel"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Imposibil de adăugat. Unele elemente nu există."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Sunet de notific. implicit"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Selectare elemente"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Aţi introdus un caracter nevalid. Încercaţi din nou"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Silenţios"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Puteţi selecta maximum %d elemente."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Ştergeţi?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "Cartelă SD"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Memorie dispozitiv"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Imposibil de redat. A avut loc o eroare."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "EFECTUAT"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ANULARE"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "S-a depăşit dimensiunea maximă a fişierului (%d MO)."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Dimensiune maximă de fişiere depăşită"
+
diff --git a/res/po/ru_RU.po b/res/po/ru_RU.po
new file mode 100755
index 0000000..c2ff69c
--- /dev/null
+++ b/res/po/ru_RU.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Введите имя папки."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Документы"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Мелодия по умолчанию"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Неверное имя файла"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Воспроизведение во время вызова невозможно."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Невозможно добавить. Некоторые элементы не существуют."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Стандартное уведомление"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Выберите элементы"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Введен недопустимый символ. Повторите попытку"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Без звука"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Можно выбрать до %d элементов."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Удалить?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "Карта памяти SD"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Память устройства"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Сбой воспроизведения. Произошла ошибка."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ГОТОВО"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ОТМЕНА"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Превышен максимальный размер файла (%d МБ)."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Превышен максимальный размер файлов."
+
diff --git a/res/po/si.po b/res/po/si.po
new file mode 100755
index 0000000..d68ea59
--- /dev/null
+++ b/res/po/si.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "ෆෝල්ඩර නාමය ඇතුල් කරන්න."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "ලේඛන"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "පෙරනිමි රිංග්ටෝනය"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "අවලංගු ගොනු නාමය."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "ඇමතුම අතරතුර වාදනය කළ නොහැක."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "එක් කළ නොහැක. ඇතැම් අයිතම නොපවතී."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "පෙරනිමි දැනුම්දීම් හඬ"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "අයිතම තෝරන්න"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "වැරදි අකුරු ඇතුල් කර තිබේ. නැවත උත්සාහ කරන්න."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "නිහඬ"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "ඔබට %d දක්වා අයිතම තේරිය හැකිය."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "මකන්නද?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD කාඩ්පත"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "උපාංග මතකය"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "ධාවනය කල නොහැක. දෝෂයක් හට ගැනිණි."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "නිමයි"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "අවලංගු කර."
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "උපරිම ඇමුණුම් ප්‍රමාණය (%d MB) ඉක්මවා ඇත."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "උපරිම ගොනු ප්‍රමාණය ඉක්මවිය."
+
diff --git a/res/po/sk.po b/res/po/sk.po
new file mode 100755
index 0000000..fd9e89f
--- /dev/null
+++ b/res/po/sk.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Zadajte názov priečinka."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Dokumenty"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Predvolené zvonenie"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Neplatný názov súboru."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Počas hovoru sa nedá prehrávať."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Nedá sa pridať. Niektoré položky neexistujú."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Predvolený zvuk oznámení"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Vybrať položky"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Zadali ste neplatný znak. Skúste to znova"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Tichý"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Môžete vybrať maximálne %d položiek."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Odstrániť?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "Karta SD"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Pamäť zariadenia"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Nedá sa prehrať. Vyskytla sa chyba."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "HOTOVO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ZRUŠIŤ"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Prekročila sa maximálna veľkosť súboru (%d MB)."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Prekročila sa maximálna veľkosť súborov."
+
diff --git a/res/po/sl.po b/res/po/sl.po
new file mode 100755
index 0000000..bd6afff
--- /dev/null
+++ b/res/po/sl.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Vnesite ime mape."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Dokumenti"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Privzeta melodija zvonjenja"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Neveljavno ime datoteke."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Ni mogoče predvajati med klicem."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Ni mogoče dodati. Nekateri predmeti ne obstajajo."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Privzeti zvok za obvestilo"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Izberite elemente"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Vnesli ste neveljaven znak. Poskusite znova"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Tiho"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Izberete lahko do %d elementov."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Izbrišem?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "Kartica SD"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Pomnilnik naprave"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Ni mogoče predvajati. Prišlo je do napake."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "KONČANO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "PREKLIČI"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Največja dovoljena velikost datoteke (%d MB) je presežena."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Največja dovoljena velikost datotek je presežena."
+
diff --git a/res/po/sr.po b/res/po/sr.po
new file mode 100755
index 0000000..eabb966
--- /dev/null
+++ b/res/po/sr.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Unesi ime foldera"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Dokumenti"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Podrazumevani ton zvona"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Neispravan naziv fajla"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Nemoguće reprodukovati tokom poziva."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Nemoguće dodati. Neke stavke ne postoje."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Podrazumevani zvuk"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Izaberi stavke"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Unet je neispravan karakter. Pokušaj ponovo"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Nečujno"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Možete izabrati do %d stavki."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Obriši?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD kartica"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Memorija uređaja"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Nemoguće reprodukovati. Nastala je greška."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "GOTOVO"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "OTKAŽI"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Premašena je maksimalna veličina fajla (%d MB)."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Pređena maksimalna veličina fajlova."
+
diff --git a/res/po/sv.po b/res/po/sv.po
new file mode 100755
index 0000000..350ab50
--- /dev/null
+++ b/res/po/sv.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Ange mappnamn."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Dokument"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Standardringsignal"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Ogiltigt filnamn."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Kan inte spela upp under samtal."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Det går inte att lägga till. En del objekt finns inte."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Standardljud"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Välj objekt"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Ogiltigt tecken har angivits. Försök igen."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Tyst"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Du kan välja upp till %d objekt."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Radera?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD-kort"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Enhetsminne"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Det går inte att spela upp. Ett fel inträffade."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "KLAR"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "AVBRYT"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Högsta tillåtna filstorlek (%d MB) har överskridits."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Högsta filstorlek överskreds."
+
diff --git a/res/po/ta.po b/res/po/ta.po
new file mode 100755
index 0000000..c2f1de5
--- /dev/null
+++ b/res/po/ta.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "கோப்புறை பெயரை உள்ளிடுக."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "ஆவணங்கள்"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "டீஃபால்ட் ரிங்டோன்"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "தவறான கோப்பின் பெயர்."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "அழைப்பின்போது இயக்க இயலாது."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "சேர்க்க முடியவில்லை. சில உருப்படிகள் இல்லை."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "டீஃபால்ட் அறிவிப்பு ஒலி"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "உருப்படிகளை தேர்வுசெய்க"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "தவறான எழுத்து உள்ளிடப்பட்டது. மீண்டும் முயலுக."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "அமைதி"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "%d உருப்படிகள் வரை நீங்கள் தேர்வுசெய்யலாம்."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "நீக்கவா?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD அட்டை"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "சாதன நினைவகம்"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "இயக்க இயலாது. பிழை ஏற்பட்டுள்ளது."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "முடிந்தது"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "ரத்துசெய்க"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "அதிகபட்ச கோப்பளவு (%d MB) கடந்துவிட்டது."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "அதிகபட்ச கோப்புகளின் அளவை தாண்டியது."
+
diff --git a/res/po/te.po b/res/po/te.po
new file mode 100755
index 0000000..85aa1fb
--- /dev/null
+++ b/res/po/te.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "ఫోల్డర్ పేరును నమోదు చేయండి."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "పత్రాలు"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "డిఫాల్ట్ రింగ్‌టోన్"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "చెల్లని ఫైల్ పేరు."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "కాల్ సమయంలో ప్లే చేయడం సాధ్యం కాదు."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "జోడించడం సాధ్యం కాదు. కొన్ని ఐటెమ్‌లు లేవు."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "డిఫాల్ట్ నోటిఫికేషన్ ధ్వని"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "ఐటమ్‌లను ఎంచుకోండి"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "చెల్లని అక్షరం నమోదు చేయబడింది. మళ్లీ ప్రయత్నించండి."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "నిశ్శబ్దం"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "మీరు %d ఐటెమ్ల వరకు ఎంచుకోవచ్చు."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "తొలగించాలా?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD కార్డ్"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "పరికరం మెమరీ"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "ప్లే చేయడం సాధ్యం కాదు. లోపం ఏర్పడింది."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "పూర్తయింది"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "రద్దు చేయి"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "గరిష్ఠ ఫైల్ పరిమాణం (%d MB) మించిపోయింది."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "ఫైళ్ల యొక్క గరిష్ట సంఖ్యను మించిపోయారు."
+
diff --git a/res/po/tr_TR.po b/res/po/tr_TR.po
new file mode 100755
index 0000000..ba25717
--- /dev/null
+++ b/res/po/tr_TR.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Klasör adını girin."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Belgeler"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Varsayılan zil sesi"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Dosya adı geçersiz."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Görüşme sırasında çalınamaz."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Eklenemiyor. Bazı öğeler bulunamadı."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Varsayılan bildirim sesi"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Öğeleri seç"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Geçersiz karakter girildi. Yeniden deneyin."
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Sessiz"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "%d öğeye kadar seçebilirsiniz."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Sil?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD kart"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Cihaz hafızası"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Çalınamıyor. Hata meydana geldi."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "BİTTİ"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "İPTAL"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Maksimum dosya boyutu (%d MB) aşıldı."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Maksimum dosya boyutu aşıldı."
+
diff --git a/res/po/uk.po b/res/po/uk.po
new file mode 100755
index 0000000..e49293d
--- /dev/null
+++ b/res/po/uk.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Введіть назву папки"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Документи"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Стандартний звук дзвінка"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Хибна назва файла."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Неможливо відтворити під час виклику."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Неможливо додати. Деяких об’єктів не існує."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Стандартний звук"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Вибір об’єктів"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Введено хибний символ. Cпробуйте ще раз"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Без звуку"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Можна вибрати до %d об’єктів."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "Видалити?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "Карта пам’яті"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Пам’ять пристрою"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "Неможливо відтворити. Сталася помилка."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "ГОТОВО"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "СКАСУВАТИ"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Перевищено максимальний розмір файла (%d МБ)."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Перевищено максимальний розмір файлів."
+
diff --git a/data/po/update-po.sh b/res/po/update-po.sh
index ff5bff7..5e49f90 100644..100755
--- a/data/po/update-po.sh
+++ b/res/po/update-po.sh
@@ -1,11 +1,11 @@
#!/bin/sh
-PACKAGE=ug-myfile-efl
-SRCROOT=../
+PACKAGE=myfile
+SRCROOT=../../source
POTFILES=POTFILES.in
#ALL_LINGUAS= am az be ca cs da de el en_CA en_GB es et fi fr hr hu it ja ko lv mk ml ms nb ne nl pa pl pt pt_BR ru rw sk sl sr sr@Latn sv ta tr uk vi zh_CN zh_TW
-ALL_LINGUAS="en_US en_GB ja ko zh_CN"
+ALL_LINGUAS="te"
XGETTEXT=/usr/bin/xgettext
MSGMERGE=/usr/bin/msgmerge
diff --git a/res/po/uz.po b/res/po/uz.po
new file mode 100755
index 0000000..8bc8459
--- /dev/null
+++ b/res/po/uz.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "Jild nomini kiriting."
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "Hujjatlar"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "Birlamchi o'rnatilgan rington"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "Noto‘g‘ri fayl nomi."
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "Qo‘ng‘iroq mobaynida o‘ynatib bo‘lmaydi."
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "Qo‘shib bo‘lmaydi. Ba’zi elementlar mavjud emas."
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "Bildir. birlamchi ohangi"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "Elementlar tanlash"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "Mumkin bo‘lmagan belgi kiritildi. Qayta urinib ko‘ring"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "Ovozsiz"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "Eng ko‘pi bilan %d element tanlashingiz mumkin."
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "O'chirilsinmi?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD-karta"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "Qurilma xotirasi"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "O‘ynatib bo‘lmaydi. Xato yuz berdi."
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "BAJARILDI"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "BEKOR QILISH"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "Fayl o‘lchami maksimal miqdordan (%d Mb) oshib ketdi."
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "Fayllar o‘lchami ruxsat etilgan maksimal qiymatdan oshdi."
+
diff --git a/res/po/zh_CN.po b/res/po/zh_CN.po
new file mode 100755
index 0000000..41dabf8
--- /dev/null
+++ b/res/po/zh_CN.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "输入文件夹名称"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "文档"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "默认铃声"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "文件名无效"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "通话中无法播放"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "无法添加。部分项目不存在。"
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "默认通知声音"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "选择项目"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "输入的字符无效。请重试。"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "静音"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "最多可选择%d个项目。"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "删除?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD卡"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "手机内存"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "无法播放。出错。"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "完成"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "已超过最大文件大小(%d MB)。"
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "已达到文件最大尺寸。"
+
diff --git a/res/po/zh_HK.po b/res/po/zh_HK.po
new file mode 100755
index 0000000..88c5e96
--- /dev/null
+++ b/res/po/zh_HK.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "輸入資料夾名稱。"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "文件"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "預設鈴聲"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "檔案名稱無效"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "通話期間無法播放。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "無法加入。一些項目不存在。"
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "預設通知聲音"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "選擇項目"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "輸入的字元無效。請重試。"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "靜音"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "最多可選擇 %d 個項目。"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "刪除嗎?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD 卡"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "裝置記憶體"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "無法播放。發生錯誤。"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "完成"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "已超過檔案大小上限 (%d MB)。"
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "超出檔案大小上限。"
+
diff --git a/res/po/zh_TW.po b/res/po/zh_TW.po
new file mode 100755
index 0000000..3de7204
--- /dev/null
+++ b/res/po/zh_TW.po
@@ -0,0 +1,57 @@
+msgid "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+msgstr "輸入資料夾名稱。"
+
+msgid "IDS_MF_BODY_DOCUMENTS"
+msgstr "文件"
+
+msgid "IDS_MF_OPT_DEFAULT_RINGTONE"
+msgstr "預設鈴聲"
+
+msgid "IDS_MF_POP_INVALID_FILE_NAME"
+msgstr "檔案名稱無效"
+
+msgid "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+msgstr "通話期間無法播放。"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+msgstr "無法新增。有些項目不存在。"
+
+msgid "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+msgstr "預設通知音效"
+
+msgid "IDS_MF_HEADER_SELECT_ITEMS"
+msgstr "選擇項目"
+
+msgid "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+msgstr "輸入的字元無效。請重試。"
+
+msgid "IDS_ST_BODY_PHONEPROFILES_SILENT"
+msgstr "靜音"
+
+msgid "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+msgstr "最多可以選擇 %d 個項目。"
+
+msgid "IDS_MF_POP_DELETE_Q"
+msgstr "要刪除嗎?"
+
+msgid "IDS_MF_BODY_SD_CARD_ABB"
+msgstr "SD 卡"
+
+msgid "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+msgstr "裝置記憶體"
+
+msgid "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+msgstr "無法播放。發生錯誤。"
+
+msgid "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+msgstr "完成"
+
+msgid "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+msgstr "取消"
+
+msgid "IDS_CHATON_POP_MAXIMUM_FILE_SIZE_HPD_MB_EXCEEDED"
+msgstr "已超過檔案最大上限 (%d MB)。"
+
+msgid "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
+msgstr "檔案最大的大小已超過。"
+
diff --git a/sounds/Tizen_touch.wav b/sounds/Tizen_touch.wav
new file mode 100644
index 0000000..ef6e6ae
--- /dev/null
+++ b/sounds/Tizen_touch.wav
Binary files differ
diff --git a/src/common/file-system/mf-ug-file-attr.c b/src/common/file-system/mf-ug-file-attr.c
index 4376de2..a27cedf 100644
--- a/src/common/file-system/mf-ug-file-attr.c
+++ b/src/common/file-system/mf-ug-file-attr.c
@@ -1,512 +1,588 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include <regex.h>
#include <sys/types.h>
#include <media_content.h>
-#include <drm_client.h>
-#include <drm_client_types.h>
+#include <metadata_extractor.h>
+#include <mime_type.h>
+
#include "mf-ug-fs-util.h"
#include "mf-ug-util.h"
+#include "mf-ug-file-util.h"
-#define MF_UG_PHONE_DEFAULT_LEVEL 2 /*the phone path is /opt/media, it consists of opt and media two parts*/
-#define MF_UG_MMC_DEFAULT_LEVEL 3 /*the mmc path is /opt/storage/sdcard, it consists of opt and storage and sdcard three parts*/
+#define MF_UG_PHONE_DEFAULT_LEVEL 2 /*the phone path is /opt/media, it consists of opt and media two parts*/
+#define MF_UG_MMC_DEFAULT_LEVEL 3 /*the mmc path is /opt/storage/sdcard, it consists of opt and storage and sdcard three parts*/
#define CONDITION_LENGTH 200
#define UG_CONDITION_IMAGE_VIDEO "(MEDIA_TYPE=0 OR MEDIA_TYPE=1)"
typedef struct __ug_filter_s ug_filter_s;
struct __ug_filter_s {
- char *cond; /*set media type or favorite type, or other query statement*/
- media_content_collation_e collate_type; /*collate type*/
- media_content_order_e sort_type; /*sort type*/
- char *sort_keyword; /*sort keyword*/
- int offset; /*offset*/
- int count; /*count*/
- bool with_meta; /*whether get image or video info*/
+ char *cond; /*set media type or favorite type, or other query statement*/
+ media_content_collation_e collate_type; /*collate type*/
+ media_content_order_e sort_type; /*sort type*/
+ char *sort_keyword; /*sort keyword*/
+ int offset; /*offset*/
+ int count; /*count*/
+ bool with_meta; /*whether get image or video info*/
};
typedef struct __ug_transfer_data_s ug_transfer_data_s;
struct __ug_transfer_data_s {
- const char *file_path;
- char *thumbnail_path;
+ const char *file_path;
+ char *thumbnail_path;
+ media_info_h *media;
};
struct _ug_ftype_by_mime {
- const char *mime;
- mf_ug_fs_file_type ftype;
+ const char *mime;
+ mf_ug_fs_file_type ftype;
};
static struct _ug_ftype_by_mime mime_type[] = {
- {"image/png", UG_FILE_TYPE_IMAGE},
- {"image/jpeg", UG_FILE_TYPE_IMAGE},
- {"image/gif", UG_FILE_TYPE_IMAGE},
- {"image/bmp", UG_FILE_TYPE_IMAGE},
- {"image/vnd.wap.wbmp", UG_FILE_TYPE_IMAGE},
-
- {"video/x-msvideo", UG_FILE_TYPE_VIDEO},
- {"video/mp4", UG_FILE_TYPE_VIDEO},
- {"video/3gpp", UG_FILE_TYPE_VIDEO},
- {"video/x-ms-asf", UG_FILE_TYPE_VIDEO},
- {"video/x-ms-wmv", UG_FILE_TYPE_VIDEO},
- {"video/x-matroska", UG_FILE_TYPE_VIDEO},
-
- {"audio/mpeg", UG_FILE_TYPE_MUSIC},
- {"audio/x-wav", UG_FILE_TYPE_MUSIC},
- {"application/x-smaf", UG_FILE_TYPE_MUSIC},
- {"audio/mxmf", UG_FILE_TYPE_MUSIC},
- {"audio/midi", UG_FILE_TYPE_MUSIC},
- {"audio/x-xmf", UG_FILE_TYPE_MUSIC},
- {"audio/x-ms-wma", UG_FILE_TYPE_MUSIC},
- {"audio/aac", UG_FILE_TYPE_MUSIC},
- {"audio/ac3", UG_FILE_TYPE_MUSIC},
- {"audio/ogg", UG_FILE_TYPE_MUSIC},
- {"audio/vorbis", UG_FILE_TYPE_MUSIC},
- {"audio/imelody", UG_FILE_TYPE_MUSIC},
- {"audio/iMelody", UG_FILE_TYPE_MUSIC},
- {"audio/x-rmf", UG_FILE_TYPE_MUSIC},
- {"application/vnd.smaf", UG_FILE_TYPE_MUSIC},
- {"audio/mobile-xmf", UG_FILE_TYPE_MUSIC},
- {"audio/mid", UG_FILE_TYPE_MUSIC},
- {"audio/vnd.ms-playready.media.pya", UG_FILE_TYPE_MUSIC},
- {"audio/imy", UG_FILE_TYPE_MUSIC},
- {"audio/m4a", UG_FILE_TYPE_MUSIC},
- {"audio/melody", UG_FILE_TYPE_MUSIC},
- {"audio/mmf", UG_FILE_TYPE_MUSIC},
- {"audio/mp3", UG_FILE_TYPE_MUSIC},
- {"audio/mp4", UG_FILE_TYPE_MUSIC},
- {"audio/MP4A-LATM", UG_FILE_TYPE_MUSIC},
- {"audio/mpeg3", UG_FILE_TYPE_MUSIC},
- {"audio/mpeg4", UG_FILE_TYPE_MUSIC},
- {"audio/mpg", UG_FILE_TYPE_MUSIC},
- {"audio/mpg3", UG_FILE_TYPE_MUSIC},
- {"audio/smaf", UG_FILE_TYPE_MUSIC},
- {"audio/sp-midi", UG_FILE_TYPE_MUSIC},
- {"audio/wav", UG_FILE_TYPE_MUSIC},
- {"audio/wave", UG_FILE_TYPE_MUSIC},
- {"audio/wma", UG_FILE_TYPE_MUSIC},
- {"audio/xmf", UG_FILE_TYPE_MUSIC},
- {"audio/x-mid", UG_FILE_TYPE_MUSIC},
- {"audio/x-midi", UG_FILE_TYPE_MUSIC},
- {"audio/x-mp3", UG_FILE_TYPE_MUSIC},
- {"audio/-mpeg", UG_FILE_TYPE_MUSIC},
- {"audio/x-mpeg", UG_FILE_TYPE_MUSIC},
- {"audio/x-mpegaudio", UG_FILE_TYPE_MUSIC},
- {"audio/x-mpg", UG_FILE_TYPE_MUSIC},
- {"audio/x-ms-asf", UG_FILE_TYPE_MUSIC},
- {"audio/x-wave", UG_FILE_TYPE_MUSIC},
-
- {"application/pdf", UG_FILE_TYPE_PDF},
-
- {"application/msword", UG_FILE_TYPE_DOC},
- {"application/vnd.openxmlformats-officedocument.wordprocessingml.document", UG_FILE_TYPE_DOC},
-
- {"application/vnd.ms-powerpoint", UG_FILE_TYPE_PPT},
- {"application/vnd.openxmlformats-officedocument.presentationml.presentation", UG_FILE_TYPE_PPT},
-
- {"application/vnd.ms-excel", UG_FILE_TYPE_EXCEL},
- {"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", UG_FILE_TYPE_EXCEL},
-
- {"audio/AMR", UG_FILE_TYPE_VOICE},
- {"audio/AMR-WB", UG_FILE_TYPE_VOICE},
- {"audio/amr", UG_FILE_TYPE_VOICE},
- {"audio/amr-wb", UG_FILE_TYPE_VOICE},
- {"audio/x-amr", UG_FILE_TYPE_VOICE},
-
- {"text/html", UG_FILE_TYPE_HTML},
-
- {"application/x-shockwave-flash", UG_FILE_TYPE_FLASH},
- {"video/x-flv", UG_FILE_TYPE_FLASH},
-
- {"text/plain", UG_FILE_TYPE_TXT},
-
- {"text/x-opml+xml", UG_FILE_TYPE_RSS},
-
- {"text/vnd.sun.j2me.app-descriptor", UG_FILE_TYPE_JAVA},
- {"application/x-java-archive", UG_FILE_TYPE_JAVA},
-
- {NULL, UG_FILE_TYPE_ETC},
+ {"image/png", UG_FILE_TYPE_IMAGE},
+ {"image/jpeg", UG_FILE_TYPE_IMAGE},
+ {"image/gif", UG_FILE_TYPE_IMAGE},
+ {"image/bmp", UG_FILE_TYPE_IMAGE},
+ {"image/vnd.wap.wbmp", UG_FILE_TYPE_IMAGE},
+
+ {"video/x-msvideo", UG_FILE_TYPE_VIDEO},
+ {"video/mp4", UG_FILE_TYPE_VIDEO},
+ {"video/3gpp", UG_FILE_TYPE_VIDEO},
+ {"video/x-ms-asf", UG_FILE_TYPE_VIDEO},
+ {"video/x-ms-wmv", UG_FILE_TYPE_VIDEO},
+ {"video/x-matroska", UG_FILE_TYPE_VIDEO},
+
+ {"audio/mpeg", UG_FILE_TYPE_MUSIC},
+ {"audio/x-wav", UG_FILE_TYPE_MUSIC},
+ {"application/x-smaf", UG_FILE_TYPE_MUSIC},
+ {"audio/mxmf", UG_FILE_TYPE_MUSIC},
+ {"audio/midi", UG_FILE_TYPE_MUSIC},
+ {"audio/x-xmf", UG_FILE_TYPE_MUSIC},
+ {"audio/x-ms-wma", UG_FILE_TYPE_MUSIC},
+ {"audio/aac", UG_FILE_TYPE_MUSIC},
+ {"audio/ac3", UG_FILE_TYPE_MUSIC},
+ {"audio/ogg", UG_FILE_TYPE_MUSIC},
+ {"audio/vorbis", UG_FILE_TYPE_MUSIC},
+ {"audio/imelody", UG_FILE_TYPE_MUSIC},
+ {"audio/iMelody", UG_FILE_TYPE_MUSIC},
+ {"audio/x-rmf", UG_FILE_TYPE_MUSIC},
+ {"application/vnd.smaf", UG_FILE_TYPE_MUSIC},
+ {"audio/mobile-xmf", UG_FILE_TYPE_MUSIC},
+ {"audio/mid", UG_FILE_TYPE_MUSIC},
+ {"audio/vnd.ms-playready.media.pya", UG_FILE_TYPE_MUSIC},
+ {"audio/imy", UG_FILE_TYPE_MUSIC},
+ {"audio/m4a", UG_FILE_TYPE_MUSIC},
+ {"audio/melody", UG_FILE_TYPE_MUSIC},
+ {"audio/mmf", UG_FILE_TYPE_MUSIC},
+ {"audio/mp3", UG_FILE_TYPE_MUSIC},
+ {"audio/mp4", UG_FILE_TYPE_MUSIC},
+ {"audio/MP4A-LATM", UG_FILE_TYPE_MUSIC},
+ {"audio/mpeg3", UG_FILE_TYPE_MUSIC},
+ {"audio/mpeg4", UG_FILE_TYPE_MUSIC},
+ {"audio/mpg", UG_FILE_TYPE_MUSIC},
+ {"audio/mpg3", UG_FILE_TYPE_MUSIC},
+ {"audio/smaf", UG_FILE_TYPE_MUSIC},
+ {"audio/sp-midi", UG_FILE_TYPE_MUSIC},
+ {"audio/wav", UG_FILE_TYPE_MUSIC},
+ {"audio/wave", UG_FILE_TYPE_MUSIC},
+ {"audio/wma", UG_FILE_TYPE_MUSIC},
+ {"audio/xmf", UG_FILE_TYPE_MUSIC},
+ {"audio/x-mid", UG_FILE_TYPE_MUSIC},
+ {"audio/x-midi", UG_FILE_TYPE_MUSIC},
+ {"audio/x-mp3", UG_FILE_TYPE_MUSIC},
+ {"audio/-mpeg", UG_FILE_TYPE_MUSIC},
+ {"audio/x-mpeg", UG_FILE_TYPE_MUSIC},
+ {"audio/x-mpegaudio", UG_FILE_TYPE_MUSIC},
+ {"audio/x-mpg", UG_FILE_TYPE_MUSIC},
+ {"audio/x-ms-asf", UG_FILE_TYPE_MUSIC},
+ {"audio/x-wave", UG_FILE_TYPE_MUSIC},
+ {"audio/x-vorbis+ogg", UG_FILE_TYPE_MUSIC},
+ {"application/pdf", UG_FILE_TYPE_PDF},
+
+ {"application/msword", UG_FILE_TYPE_DOC},
+ {"application/vnd.openxmlformats-officedocument.wordprocessingml.document", UG_FILE_TYPE_DOC},
+
+ {"application/vnd.ms-powerpoint", UG_FILE_TYPE_PPT},
+ {"application/vnd.openxmlformats-officedocument.presentationml.presentation", UG_FILE_TYPE_PPT},
+
+ {"application/vnd.ms-excel", UG_FILE_TYPE_EXCEL},
+ {"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", UG_FILE_TYPE_EXCEL},
+
+ {"audio/AMR", UG_FILE_TYPE_VOICE},
+ {"audio/AMR-WB", UG_FILE_TYPE_VOICE},
+ {"audio/amr", UG_FILE_TYPE_VOICE},
+ {"audio/amr-wb", UG_FILE_TYPE_VOICE},
+ {"audio/x-amr", UG_FILE_TYPE_VOICE},
+
+ {"text/html", UG_FILE_TYPE_HTML},
+
+ {"application/x-shockwave-flash", UG_FILE_TYPE_FLASH},
+ {"video/x-flv", UG_FILE_TYPE_FLASH},
+
+ {"text/plain", UG_FILE_TYPE_GUL},
+
+ {"text/x-opml+xml", UG_FILE_TYPE_RSS},
+
+ {"text/vnd.sun.j2me.app-descriptor", UG_FILE_TYPE_JAVA},
+ {"application/x-java-archive", UG_FILE_TYPE_JAVA},
+ {"application/snb", UG_FILE_TYPE_SNB},
+ {"application/x-hwp", UG_FILE_TYPE_HWP},
+ {"application/vnd.tizen.package", UG_FILE_TYPE_TPK},
+
+ {NULL, UG_FILE_TYPE_ETC},
};
static char *icon_array[UG_FILE_TYPE_MAX] = {
- [UG_FILE_TYPE_DIR] = UG_ICON_FOLDER,
- [UG_FILE_TYPE_IMAGE] = UG_ICON_IMAGE,
- [UG_FILE_TYPE_VIDEO] = UG_ICON_VIDEO,
- [UG_FILE_TYPE_MUSIC] = UG_ICON_MUSIC,
- [UG_FILE_TYPE_SOUND] = UG_ICON_SOUND,
- [UG_FILE_TYPE_PDF] = UG_ICON_PDF,
- [UG_FILE_TYPE_DOC] = UG_ICON_DOC,
- [UG_FILE_TYPE_PPT] = UG_ICON_PPT,
- [UG_FILE_TYPE_EXCEL] = UG_ICON_EXCEL,
- [UG_FILE_TYPE_VOICE] = UG_ICON_VOICE,
- [UG_FILE_TYPE_HTML] = UG_ICON_HTML,
- [UG_FILE_TYPE_FLASH] = UG_ICON_FLASH,
- [UG_FILE_TYPE_TXT] = UG_ICON_TXT,
- [UG_FILE_TYPE_VCONTACT] = UG_ICON_VCONTACT,
- [UG_FILE_TYPE_VCALENDAR] = UG_ICON_VCALENDAR,
- [UG_FILE_TYPE_VNOTE] = UG_ICON_VNOTE,
- [UG_FILE_TYPE_RSS] = UG_ICON_RSS,
- [UG_FILE_TYPE_JAVA] = UG_ICON_JAVA,
+ [UG_FILE_TYPE_DIR] = UG_ICON_FOLDER,
+ [UG_FILE_TYPE_IMAGE] = UG_ICON_IMAGE,
+ [UG_FILE_TYPE_VIDEO] = UG_ICON_VIDEO,
+ [UG_FILE_TYPE_MUSIC] = UG_ICON_MUSIC,
+ [UG_FILE_TYPE_SOUND] = UG_ICON_MUSIC,
+ [UG_FILE_TYPE_PDF] = UG_ICON_PDF,
+ [UG_FILE_TYPE_DOC] = UG_ICON_DOC,
+ [UG_FILE_TYPE_PPT] = UG_ICON_PPT,
+ [UG_FILE_TYPE_EXCEL] = UG_ICON_EXCEL,
+ [UG_FILE_TYPE_VOICE] = UG_ICON_MUSIC,
+ [UG_FILE_TYPE_HTML] = UG_ICON_HTML,
+ [UG_FILE_TYPE_FLASH] = UG_ICON_FLASH,
+ [UG_FILE_TYPE_TXT] = UG_ICON_TXT,
+ [UG_FILE_TYPE_VCONTACT] = UG_ICON_VCONTACT,
+ [UG_FILE_TYPE_VCALENDAR] = UG_ICON_VCALENDAR,
+ [UG_FILE_TYPE_VNOTE] = UG_ICON_TXT,
+ [UG_FILE_TYPE_RSS] = UG_ICON_RSS,
+ [UG_FILE_TYPE_JAVA] = UG_ICON_JAVA,
+ [UG_FILE_TYPE_TPK] = UG_ICON_TPK,
+ [UG_FILE_TYPE_HWP] = UG_ICON_HWP,
+ [UG_FILE_TYPE_SNB] = UG_ICON_SNB,
+ [UG_FILE_TYPE_GUL] = UG_ICON_GUL,
};
+
+int mf_ug_file_attr_media_has_video(const char *filename)
+{
+ UG_TRACE_BEGIN;
+ if (!filename) {
+ goto CATCH_ERROR;
+ }
+ SECURE_DEBUG("filename is [%s]", filename);
+ int ret = 0;
+
+ metadata_extractor_h handle = NULL;
+ ret = metadata_extractor_create(&handle);
+ if (ret != METADATA_EXTRACTOR_ERROR_NONE) {
+ ug_error("metadata_extractor_create().. %d", ret);
+ goto CATCH_ERROR;
+ }
+
+ ret = metadata_extractor_set_path(handle, filename);
+ if (ret != METADATA_EXTRACTOR_ERROR_NONE) {
+ ug_error("metadata_extractor_set_path().. %d", ret);
+ goto CATCH_ERROR;
+ }
+
+ char *value = NULL;
+
+ ret = metadata_extractor_get_metadata(handle, METADATA_HAS_VIDEO, &value);
+ if (ret == METADATA_EXTRACTOR_ERROR_NONE && value) {
+ if (g_strcmp0(value, "1") == 0) {
+ ug_error("ret is [%d] value is [%s]", ret, "1");
+ if (handle)
+ metadata_extractor_destroy(handle);
+
+ UG_SAFE_FREE_CHAR(value);
+ UG_TRACE_END;
+ return 1;
+ }
+ }
+ ug_error("ret is [%d] value is [%s]", ret, value);
+ UG_SAFE_FREE_CHAR(value);
+
+ if (handle)
+ metadata_extractor_destroy(handle);
+
+ UG_TRACE_END;
+ return 0;
+
+ CATCH_ERROR:
+ if (handle)
+ metadata_extractor_destroy(handle);
+
+ UG_TRACE_END;
+ return 0;
+}
+
+
/*********************
-**Function name: __mf_ug_file_attr_get_category_by_file_ext
-**Parameter: const char* file_ext
-**Return value: mf_ug_fs_file_type
+**Function name: __mf_ug_file_attr_get_category_by_file_ext
+**Parameter: const char* file_ext
+**Return value: mf_ug_fs_file_type
**
**Action:
-** Get file category by extention
+** Get file category by extention
**
*********************/
static mf_ug_fs_file_type __mf_ug_file_attr_get_category_by_file_ext(const char *file_ext, const char *fullpath)
{
- int i = 0;
-
- if (file_ext == NULL) {
- return UG_FILE_TYPE_ETC;
- }
-
- if (file_ext[0] == '.') {
- i = 1;
- }
-
- switch (file_ext[i]) {
- case 'a':
- case 'A':
- if (strcasecmp("ASF", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_VIDEO;
- }
- if (strcasecmp("AMR", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_VOICE;
- }
- if (strcasecmp("AWB", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_VOICE;
- }
- if (strcasecmp("AAC", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_MUSIC;
- }
- if (strcasecmp("AVI", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_VIDEO;
- }
- if (strcasecmp("AAC", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_MUSIC;
- }
-
- break;
- case 'b':
- case 'B':
- if (strcasecmp("BMP", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_IMAGE;
- }
- break;
- case 'd':
- case 'D':
- if (strcasecmp("DOC", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_DOC;
- }
- if (strcasecmp("DOCX", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_DOC;
- }
- if (strcasecmp("DIVX", &file_ext[i]) == 0) {
- if (mf_ug_file_attr_is_drm_file(fullpath) == 0) {
- return UG_FILE_TYPE_DRM;
- } else {
- return UG_FILE_TYPE_VIDEO;
- }
- }
- if (strcasecmp("DCF", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_DRM;
- }
- break;
- case 'g':
- case 'G':
- if (strcasecmp("GIF", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_IMAGE;
- }
- if (strcasecmp("G72", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_MUSIC;
- }
- break;
- case 'h':
- case 'H':
- if (strcasecmp("H263", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_MUSIC;
- }
- if (strcasecmp("HTML", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_HTML;
- }
- if (strcasecmp("HTM", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_HTML;
- }
- break;
- case 'i':
- case 'I':
- if (strcasecmp("IMY", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_SOUND;
- }
- if (strcasecmp("IPK", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_APP;
- }
- if (strcasecmp("isma", &file_ext[i]) == 0) {
- if (mf_ug_file_attr_is_drm_file(fullpath) == 0) {
- return UG_FILE_TYPE_DRM;
- } else {
- return UG_FILE_TYPE_SOUND;
- }
- }
- if (strcasecmp("ismv", &file_ext[i]) == 0) {
- if (mf_ug_file_attr_is_drm_file(fullpath) == 0) {
- return UG_FILE_TYPE_DRM;
- } else {
- return UG_FILE_TYPE_SOUND;
- }
- }
- break;
- case 'j':
- case 'J':
- if (strcasecmp("JAD", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_JAVA;
- }
- if (strcasecmp("JAR", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_JAVA;
- }
-
- if (strcasecmp("JPG", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_IMAGE;
- }
- if (strcasecmp("JPEG", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_IMAGE;
- }
- if (strcasecmp("JPE", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_IMAGE;
- }
- break;
- case 'm':
- case 'M':
- if (strcasecmp("MMF", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_SOUND;
- }
- if (strcasecmp("MP3", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_MUSIC;
- }
- if (strcasecmp("MID", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_SOUND;
- }
- if (strcasecmp("MIDI", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_SOUND;
- }
- if (strcasecmp("MP4", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_VIDEO;
- }
- if (strcasecmp("MPG", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_VIDEO;
- }
- if (strcasecmp("MPEG", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_VIDEO;
- }
- if (strcasecmp("M4A", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_MUSIC;
- }
- if (strcasecmp("M3G", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_FLASH;
- }
- if (strcasecmp("MXMF", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_SOUND;
- }
- if (strcasecmp("MKV", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_VIDEO;
- }
- if (strcasecmp("MKA", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_MUSIC;
- }
- break;
- case 'o':
- case 'O':
- if (strcasecmp("opml", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_RSS;
- }
- break;
- case 'p':
- case 'P':
- if (strcasecmp("PNG", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_IMAGE;
- }
- if (strcasecmp("PJPEG", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_IMAGE;
- }
- if (strcasecmp("PDF", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_PDF;
- }
- if (strcasecmp("PPT", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_PPT;
- }
- if (strcasecmp("PPTX", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_PPT;
- }
- if (strcasecmp("PEM", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_CERTIFICATION;
- }
- break;
- case 'r':
- case 'R':
- break;
- case 's':
- case 'S':
- if (strcasecmp("SDP", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_VIDEO;
- }
- if (strcasecmp("SPM", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_SOUND;
- }
- if (strcasecmp("SMP", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_SOUND;
- }
- if (strcasecmp("SPF", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_SOUND;
- }
- if (strcasecmp("SWF", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_FLASH;
- }
- if (strcasecmp("SCN", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_MOVIE_MAKER;
- }
- if (strcasecmp("SVG", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_SVG;
- }
- if (strcasecmp("SVGZ", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_SVG;
- }
- break;
- case 't':
- case 'T':
- if (strcasecmp("TXT", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_TXT;
- }
- if (strcasecmp("THM", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_THEME;
- }
- break;
- case 'v':
- case 'V':
- if (strcasecmp("VCF", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_VCONTACT;
- }
- if (strcasecmp("VCS", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_VCALENDAR;
- }
- if (strcasecmp("VNT", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_VNOTE;
- }
- if (strcasecmp("VBM", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_VBOOKMARK;
- }
- break;
- case 'w':
- case 'W':
- if (strcasecmp("WAV", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_SOUND;
- }
- if (strcasecmp("WBMP", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_IMAGE;
- }
- if (strcasecmp("WGT", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_WGT;
- }
- if (strcasecmp("WMA", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_MUSIC;
- }
- if (strcasecmp("WMV", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_VIDEO;
- }
- break;
- case 'x':
- case 'X':
- if (strcasecmp("XLS", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_EXCEL;
- }
- if (strcasecmp("XLSX", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_EXCEL;
- }
- if (strcasecmp("XMF", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_SOUND;
- }
- if (strcasecmp("XHTML", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_HTML;
- }
- break;
- case '3':
- if (strcasecmp("3GP", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_VIDEO;
- }
- if (strcasecmp("3GPP", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_VIDEO;
- }
- if (strcasecmp("3G2", &file_ext[i]) == 0) {
- return UG_FILE_TYPE_VIDEO;
- }
- break;
- }
-
- return UG_FILE_TYPE_ETC;
+ int i = 0;
+
+ if (file_ext == NULL) {
+ return UG_FILE_TYPE_ETC;
+ }
+
+ if (file_ext[0] == '.') {
+ i = 1;
+ }
+
+ switch (file_ext[i]) {
+ case 'a':
+ case 'A':
+ if (strcasecmp("ASF", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_VIDEO;
+ }
+ if (strcasecmp("AMR", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_VOICE;
+ }
+ if (strcasecmp("AWB", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_VOICE;
+ }
+ if (strcasecmp("AAC", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_MUSIC;
+ }
+ if (strcasecmp("AVI", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_VIDEO;
+ }
+ if (strcasecmp("AAC", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_MUSIC;
+ }
+
+ break;
+ case 'b':
+ case 'B':
+ if (strcasecmp("BMP", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_IMAGE;
+ }
+ break;
+ case 'd':
+ case 'D':
+ if (strcasecmp("DOC", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_DOC;
+ }
+ if (strcasecmp("DOCX", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_DOC;
+ }
+ if (strcasecmp("DIVX", &file_ext[i]) == 0) {
+ {
+ return UG_FILE_TYPE_VIDEO;
+ }
+ }
+ break;
+ case 'f':
+ case 'F':
+ if (strcasecmp("FLAC", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_MUSIC;
+ }
+ break;
+ case 'g':
+ case 'G':
+ if (strcasecmp("GIF", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_IMAGE;
+ }
+ if (strcasecmp("G72", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_MUSIC;
+ }
+ if (strcasecmp("GUL", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_GUL;
+ }
+ break;
+ case 'h':
+ case 'H':
+ if (strcasecmp("H263", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_MUSIC;
+ }
+ if (strcasecmp("HTML", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_HTML;
+ }
+ if (strcasecmp("HTM", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_HTML;
+ }
+ if (strcasecmp("HWP", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_HWP;
+ }
+ break;
+ case 'i':
+ case 'I':
+ if (strcasecmp("IMY", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_SOUND;
+ }
+ if (strcasecmp("IPK", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_APP;
+ }
+ if (strcasecmp("isma", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_SOUND;
+ }
+ if (strcasecmp("ismv", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_SOUND;
+ }
+ break;
+ case 'j':
+ case 'J':
+ if (strcasecmp("JAD", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_JAVA;
+ }
+ if (strcasecmp("JAR", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_JAVA;
+ }
+
+ if (strcasecmp("JPG", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_IMAGE;
+ }
+ if (strcasecmp("JPEG", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_IMAGE;
+ }
+ if (strcasecmp("JPE", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_IMAGE;
+ }
+ break;
+ case 'm':
+ case 'M':
+ if (strcasecmp("MMF", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_SOUND;
+ }
+ if (strcasecmp("MP3", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_MUSIC;
+ }
+ if (strcasecmp("MID", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_SOUND;
+ }
+ if (strcasecmp("MIDI", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_SOUND;
+ }
+ if (strcasecmp("MP4", &file_ext[i]) == 0) {
+ if (mf_ug_file_attr_media_has_video(fullpath))
+ return UG_FILE_TYPE_MP4_VIDEO;
+ return UG_FILE_TYPE_MP4_AUDIO;
+ }
+ if (strcasecmp("MPG", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_VIDEO;
+ }
+ if (strcasecmp("MPEG", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_VIDEO;
+ }
+ if (strcasecmp("M4A", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_MUSIC;
+ }
+ if (strcasecmp("M3G", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_FLASH;
+ }
+ if (strcasecmp("MXMF", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_SOUND;
+ }
+ if (strcasecmp("MKV", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_VIDEO;
+ }
+ if (strcasecmp("MKA", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_MUSIC;
+ }
+ break;
+ case 'o':
+ case 'O':
+ if (strcasecmp("opml", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_RSS;
+ }
+ if (strcasecmp("ogg", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_MUSIC;
+ }
+ break;
+ case 'p':
+ case 'P':
+ if (strcasecmp("PNG", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_IMAGE;
+ }
+ if (strcasecmp("PJPEG", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_IMAGE;
+ }
+ if (strcasecmp("PDF", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_PDF;
+ }
+ if (strcasecmp("PPT", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_PPT;
+ }
+ if (strcasecmp("PPTX", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_PPT;
+ }
+ if (strcasecmp("PEM", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_CERTIFICATION;
+ }
+ break;
+ case 'r':
+ case 'R':
+ break;
+ case 's':
+ case 'S':
+ if (strcasecmp("SDP", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_VIDEO;
+ }
+ if (strcasecmp("SPM", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_SOUND;
+ }
+ if (strcasecmp("SMP", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_SOUND;
+ }
+ if (strcasecmp("SPF", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_SOUND;
+ }
+ if (strcasecmp("SWF", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_FLASH;
+ }
+ if (strcasecmp("SCN", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_MOVIE_MAKER;
+ }
+ if (strcasecmp("SVG", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_SVG;
+ }
+ if (strcasecmp("SVGZ", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_SVG;
+ }
+ if (strcasecmp("SNB", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_SNB;
+ }
+ break;
+ case 't':
+ case 'T':
+ if (strcasecmp("TXT", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_TXT;
+ }
+ if (strcasecmp("THM", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_THEME;
+ }
+ if (strcasecmp("TPK", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_TPK;
+ }
+ break;
+ case 'v':
+ case 'V':
+ if (strcasecmp("VCF", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_VCONTACT;
+ }
+ if (strcasecmp("VCS", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_VCALENDAR;
+ }
+ if (strcasecmp("VNT", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_VNOTE;
+ }
+ if (strcasecmp("VBM", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_VBOOKMARK;
+ }
+ break;
+ case 'w':
+ case 'W':
+ if (strcasecmp("WAV", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_SOUND;
+ }
+ if (strcasecmp("WBMP", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_IMAGE;
+ }
+ if (strcasecmp("WGT", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_WGT;
+ }
+ if (strcasecmp("WMA", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_MUSIC;
+ }
+ if (strcasecmp("WMV", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_VIDEO;
+ }
+ break;
+ case 'x':
+ case 'X':
+ if (strcasecmp("XLS", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_EXCEL;
+ }
+ if (strcasecmp("XLSX", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_EXCEL;
+ }
+ if (strcasecmp("XMF", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_SOUND;
+ }
+ if (strcasecmp("XHTML", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_HTML;
+ }
+ break;
+ case '3':
+ if (strcasecmp("3GP", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_VIDEO;
+ }
+ if (strcasecmp("3GPP", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_VIDEO;
+ }
+ if (strcasecmp("3G2", &file_ext[i]) == 0) {
+ return UG_FILE_TYPE_VIDEO;
+ }
+ break;
+ }
+
+ return UG_FILE_TYPE_ETC;
}
/*********************
-**Function name: mf_ug_file_attr_is_valid_name
+**Function name: mf_ug_file_attr_is_valid_name
**Parameter:
-** const char *filename: the file/dir name we need to check
+** const char *filename: the file/dir name we need to check
**
**Return value:
-** -0x14 if the name is invalid
-** 0 if the name is valid
+** -0x14 if the name is invalid
+** 0 if the name is valid
**
**Action:
-** check if the name is valid by file name
+** check if the name is valid by file name
**
*********************/
int mf_ug_file_attr_is_valid_name(const char *filename)
{
- char *pattern;
- int ret, z, cflags = 0;
- char ebuf[128];
- regex_t reg;
- regmatch_t pm[1];
- const size_t nmatch = 1;
- /*/ToDo: ignore the file star with . */
- if (strncmp(filename, ".", 1) == 0) {
- return MYFILE_ERR_INVALID_FILE_NAME;
- }
-
- pattern = MYFILE_NAME_PATTERN;
- z = regcomp(&reg, pattern, cflags);
-
- if (z != 0) {
- regerror(z, &reg, ebuf, sizeof(ebuf));
- fprintf(stderr, "%s: pattern '%s' \n", ebuf, pattern);
- return MYFILE_ERR_INVALID_FILE_NAME;
- }
-
- z = regexec(&reg, filename, nmatch, pm, 0);
- if (z == REG_NOMATCH) {
- ret = MYFILE_ERR_NONE;
- } else {
- ret = MYFILE_ERR_INVALID_FILE_NAME;
- }
- regfree(&reg);
- return ret;
+ char *pattern;
+ int ret, z, cflags = 0;
+ char ebuf[128];
+ regex_t reg;
+ regmatch_t pm[1];
+ const size_t nmatch = 1;
+ /*/ToDo: ignore the file star with . */
+ if (strncmp(filename, ".", 1) == 0) {
+ return MYFILE_ERR_INVALID_FILE_NAME;
+ }
+
+ pattern = MYFILE_NAME_PATTERN;
+ z = regcomp(&reg, pattern, cflags);
+
+ if (z != 0) {
+ regerror(z, &reg, ebuf, sizeof(ebuf));
+ fprintf(stderr, "%s: pattern '%s' \n", ebuf, pattern);
+ return MYFILE_ERR_INVALID_FILE_NAME;
+ }
+
+ z = regexec(&reg, filename, nmatch, pm, 0);
+ if (z == REG_NOMATCH) {
+ ret = MYFILE_ERR_NONE;
+ } else {
+ ret = MYFILE_ERR_INVALID_FILE_NAME;
+ }
+ regfree(&reg);
+ return ret;
}
@@ -525,17 +601,17 @@ int mf_ug_file_attr_is_valid_name(const char *filename)
** Modification : Created function
**
******************************/
-static char *__mf_ug_file_attr_default_icon_get_by_type(mf_ug_fs_file_type ftype)
+char *mf_ug_file_attr_default_icon_get_by_type(mf_ug_fs_file_type ftype)
{
- char *icon_path = NULL;
+ char *icon_path = NULL;
- if (icon_array[ftype]) {
- icon_path = strdup(icon_array[ftype]);
- } else {
- icon_path = strdup(UG_DEFAULT_ICON);
- }
+ if (icon_array[ftype]) {
+ icon_path = strdup(icon_array[ftype]);
+ } else {
+ icon_path = strdup(UG_DEFAULT_ICON);
+ }
- return icon_path;
+ return icon_path;
}
@@ -557,763 +633,769 @@ static char *__mf_ug_file_attr_default_icon_get_by_type(mf_ug_fs_file_type ftype
******************************/
int mf_ug_file_attr_get_parent_path(const char *path, char **parent_path)
{
- ug_mf_retvm_if(path == NULL, MYFILE_ERR_INVALID_ARG, "path is NULL");
- ug_mf_retvm_if(parent_path == NULL, MYFILE_ERR_INVALID_ARG, "parent_path is NULL");
- ug_debug("Path :::: [%s]", path);
-
- *parent_path = g_strdup(path);
- if (*parent_path == NULL)
- return MYFILE_ERR_ALLOCATE_FAIL;
-
- const char *name = NULL;
- name = ecore_file_file_get(path);
- /*
- ** input path and parent_path are check in the caller.
- ** parent_path is full path must be like /opt/media/file.ext
- ** name is file.ext
- ** strlen(parent_path) should large than strlen(name) normally.
- ** to take exception like input path is "", we add a if condition
- */
- if (strlen(*parent_path) > strlen(name))
- (*parent_path)[strlen(*parent_path) - strlen(name) - 1] = '\0';
-
- if (strlen(*parent_path) == 0) {
- *parent_path = g_strdup("/");
- }
-
- return MYFILE_ERR_NONE;
+ ug_mf_retvm_if(path == NULL, MYFILE_ERR_INVALID_ARG, "path is NULL");
+ ug_mf_retvm_if(parent_path == NULL, MYFILE_ERR_INVALID_ARG, "parent_path is NULL");
+
+ *parent_path = g_strdup(path);
+ if (*parent_path == NULL)
+ return MYFILE_ERR_ALLOCATE_FAIL;
+
+ const char *name = NULL;
+ name = mf_file_get(path);
+ /*
+ ** input path and parent_path are check in the caller.
+ ** parent_path is full path must be like /opt/media/file.ext
+ ** name is file.ext
+ ** strlen(parent_path) should large than strlen(name) normally.
+ ** to take exception like input path is "", we add a if condition
+ */
+ if (strlen(*parent_path) > strlen(name))
+ (*parent_path)[strlen(*parent_path) - strlen(name) - 1] = '\0';
+
+ if (strlen(*parent_path) == 0) {
+ *parent_path = g_strdup("/");
+ }
+
+ return MYFILE_ERR_NONE;
}
/*********************
-**Function name: mf_get_category
+**Function name: mf_get_category
**Parameter:
-** const char* filepath: file fullpath
-** mf_ug_fs_file_type *category: output parameter of category
+** const char* filepath: file fullpath
+** mf_ug_fs_file_type *category: output parameter of category
**Return value:
-** error code
+** error code
**
**Action:
-** Get file category by file full path
+** Get file category by file full path
**
*********************/
-int mf_ug_file_attr_get_file_category(const char *filepath, mf_ug_fs_file_type * category)
+int mf_ug_file_attr_get_file_category(char *filepath, mf_ug_fs_file_type * category)
{
- int i = 0;
- int flag = 0;
-
- if (mf_ug_file_attr_is_dir(filepath)) {
- *category = UG_FILE_TYPE_DIR;
- return MYFILE_ERR_NONE;
- }
-
- const char *filename = NULL;
- filename = ecore_file_file_get(filepath);
- /*/return value ceck */
- if (filename == NULL) {
- *category = UG_FILE_TYPE_NONE;
- return MYFILE_ERR_SRC_ARG_INVALID;
- }
- char file_ext[FILE_EXT_LEN_MAX + 1] = { 0 };
- /*/ToDo: error file name like the last letter is "." */
- for (i = strlen(filename); i >= 0; i--) {
- if (filename[i] == '.') {
- strncpy(file_ext, &filename[i + 1], FILE_EXT_LEN_MAX);
- ug_error("file_ext = %s\n",file_ext);
- flag = 1;
- break;
- }
-
- if (filename[i] == '/') {
- flag = 0;
- break;
- }
- }
-
- if (flag == 1) {
- *category = __mf_ug_file_attr_get_category_by_file_ext(file_ext, filepath);
- return MYFILE_ERR_NONE;
- } else {
- *category = UG_FILE_TYPE_NONE;
- return MYFILE_ERR_GET_CATEGORY_FAIL;
- }
+ int i = 0;
+ int flag = 0;
+
+ if (mf_ug_file_attr_is_dir(filepath)) {
+ *category = UG_FILE_TYPE_DIR;
+ return MYFILE_ERR_NONE;
+ }
+
+ const char *filename = NULL;
+ filename = mf_file_get(filepath);
+ /*/return value ceck */
+ if (filename == NULL) {
+ *category = UG_FILE_TYPE_NONE;
+ return MYFILE_ERR_SRC_ARG_INVALID;
+ }
+ char file_ext[FILE_EXT_LEN_MAX + 1] = { 0 };
+ /*/ToDo: error file name like the last letter is "." */
+ for (i = strlen(filename); i >= 0; i--) {
+ if (filename[i] == '.') {
+ strncpy(file_ext, &filename[i + 1], FILE_EXT_LEN_MAX);
+ flag = 1;
+ break;
+ }
+
+ if (filename[i] == '/') {
+ flag = 0;
+ break;
+ }
+ }
+
+ if (flag == 1) {
+ *category = __mf_ug_file_attr_get_category_by_file_ext(file_ext, filepath);
+ return MYFILE_ERR_NONE;
+ } else {
+ *category = UG_FILE_TYPE_NONE;
+ return MYFILE_ERR_GET_CATEGORY_FAIL;
+ }
}
/*********************
-**Function name: mf_ug_file_attr_get_file_stat
+**Function name: mf_ug_file_attr_get_file_stat
**Parameter:
-** const char* filename: file name
-** ugFsNodeInfo **node: output parameter of what we need to refine
+** const char* filename: file name
+** ugFsNodeInfo **node: output parameter of what we need to refine
**Return value:
-** error code
+** error code
**
**Action:
-** Get file size and last modified date by file path
+** Get file size and last modified date by file path
**
*********************/
int mf_ug_file_attr_get_file_stat(const char *filename, ugFsNodeInfo ** node)
{
- struct stat statbuf;
+ struct stat statbuf;
- ug_mf_retvm_if(filename == NULL, MYFILE_ERR_INVALID_ARG, "filename is null");
- ug_mf_retvm_if(node == NULL, MYFILE_ERR_INVALID_ARG, "node is null");
+ ug_mf_retvm_if(filename == NULL, MYFILE_ERR_INVALID_ARG, "filename is null");
+ ug_mf_retvm_if(node == NULL, MYFILE_ERR_INVALID_ARG, "node is null");
- if (stat(filename, &statbuf) == -1) {
- return MYFILE_ERR_GET_STAT_FAIL;
- }
+ if (stat(filename, &statbuf) == -1) {
+ return MYFILE_ERR_GET_STAT_FAIL;
+ }
- (*node)->size = statbuf.st_size;
- (*node)->date = statbuf.st_mtime;
+ (*node)->size = statbuf.st_size;
+ (*node)->date = statbuf.st_mtime;
- return MYFILE_ERR_NONE;
+ return MYFILE_ERR_NONE;
}
-/*********************
-**Function name: mf_ug_file_attr_is_dir
-**Parameter:
-** const char* filename: file fullpath
-**Return value:
-** if path is a directory, return 1
-** else, return 0
-**
-**Action:
-** check if the file path is Directory
-**
-*********************/
-int mf_ug_file_attr_is_dir(const char *filepath)
+int mf_ug_file_attr_get_file_size(const char *filename, off_t *size)
{
- return ecore_file_is_dir(filepath);
+
+ ug_mf_retvm_if(filename == NULL, MYFILE_ERR_INVALID_ARG, "filename is null");
+ struct stat statbuf;
+ if (stat(filename, &statbuf) == -1) {
+ return MYFILE_ERR_GET_STAT_FAIL;
+ }
+ *size = statbuf.st_size;
+ return MYFILE_ERR_NONE;
+
}
/*********************
-**Function name: mf_ug_file_attr_get_store_type_by_full
+**Function name: mf_ug_file_attr_is_dir
**Parameter:
-** const char* filepath: file full path
-** mf_ug_storage_type *store_type: output parameter of storage type
+** const char* filename: file fullpath
**Return value:
-** error code
+** if path is a directory, return 1
+** else, return 0
**
**Action:
-** Get file storage type by file path
+** check if the file path is Directory
**
*********************/
-int mf_ug_file_attr_get_store_type_by_full(const char *filepath, mf_ug_storage_type * store_type)
+int mf_ug_file_attr_is_dir(const char *filepath)
{
- if (filepath == NULL || store_type == NULL) {
- return MYFILE_ERR_SRC_ARG_INVALID;
- }
-
- if (strncmp(filepath, PHONE_FOLDER, strlen(PHONE_FOLDER)) == 0) {
- *store_type = MF_UG_PHONE;
- return MYFILE_ERR_NONE;
- } else if (strncmp(filepath, MEMORY_FOLDER, strlen(MEMORY_FOLDER)) == 0) {
- *store_type = MF_UG_MMC;
- return MYFILE_ERR_NONE;
- } else {
- *store_type = MF_UG_NONE;
- return MYFILE_ERR_STORAGE_TYPE_ERROR;
- }
+ return mf_is_dir(filepath);
}
/*********************
-**Function name: mf_ug_file_attr_is_drm_file
+**Function name: mf_ug_file_attr_get_store_type_by_full
**Parameter:
-** const char* filepath: file full path
-**
+** const char* filepath: file full path
+** mf_ug_storage_type *store_type: output parameter of storage type
**Return value:
-** true if it is a DRM file
-** false if it is not a DRM file
+** error code
**
**Action:
-** check if file is drm file
+** Get file storage type by file path
**
*********************/
-int mf_ug_file_attr_is_drm_file(const char *file_fullpath)
+int mf_ug_file_attr_get_store_type_by_full(const char *filepath, mf_ug_storage_type * store_type)
{
- if (file_fullpath == NULL)
- return MYFILE_ERR_DRM_PERMISSION_DENY;
- drm_bool_type_e drmFlag = DRM_FALSE;
- int res = 0;
- res = drm_is_drm_file(file_fullpath, &drmFlag);
-
- if (res == DRM_RETURN_SUCCESS && drmFlag == DRM_TRUE)
- return 0;
- else
- return MYFILE_ERR_DRM_PERMISSION_DENY;
+ if (filepath == NULL || store_type == NULL) {
+ return MYFILE_ERR_SRC_ARG_INVALID;
+ }
+
+ if (strncmp(filepath, PHONE_FOLDER, strlen(PHONE_FOLDER)) == 0) {
+ *store_type = MF_UG_PHONE;
+ return MYFILE_ERR_NONE;
+ } else if (strncmp(filepath, MEMORY_FOLDER, strlen(MEMORY_FOLDER)) == 0) {
+ *store_type = MF_UG_MMC;
+ return MYFILE_ERR_NONE;
+ } else {
+ *store_type = MF_UG_NONE;
+ return MYFILE_ERR_STORAGE_TYPE_ERROR;
+ }
}
/*********************
-**Function name: mf_ug_file_attr_get_file_ext
+**Function name: mf_ug_file_attr_get_file_ext
**Parameter:
-** const char* filepath: file full path
-** char *file_ext: output parameter of file extension
+** const char* filepath: file full path
+** char *file_ext: output parameter of file extension
**
**Return value:
-** error code
+** error code
**
**Action:
-** get file extension by file full path
+** get file extension by file full path
**
*********************/
int mf_ug_file_attr_get_file_ext(const char *filepath, char **file_ext)
{
- ug_mf_retvm_if(filepath == NULL, MYFILE_ERR_INVALID_FILE_NAME, "filepath is NULL");
- ug_mf_retvm_if(file_ext == NULL, MYFILE_ERR_INVALID_FILE_NAME, "file_ext is NULL");
-
- const char *filename = NULL;
- filename = ecore_file_file_get(filepath);
-
- if (filename == NULL) {
- return MYFILE_ERR_INVALID_FILE_NAME;
- }
-
- char *pdot = strrchr(filename, '.');
-
- if (!pdot) {
- return MYFILE_ERR_EXT_GET_ERROR;
- } else if (pdot != filepath) {
- *file_ext = g_strdup(pdot + 1);
- return MYFILE_ERR_NONE;
- } else {
- return MYFILE_ERR_EXT_GET_ERROR;
- }
+ ug_mf_retvm_if(filepath == NULL, MYFILE_ERR_INVALID_FILE_NAME, "filepath is NULL");
+ ug_mf_retvm_if(file_ext == NULL, MYFILE_ERR_INVALID_FILE_NAME, "file_ext is NULL");
+
+ const char *filename = NULL;
+ filename = mf_file_get(filepath);
+
+ if (filename == NULL) {
+ return MYFILE_ERR_INVALID_FILE_NAME;
+ }
+
+ char *pdot = strrchr(filename, '.');
+
+ if (!pdot) {
+ return MYFILE_ERR_EXT_GET_ERROR;
+ } else if (pdot != filepath) {
+ *file_ext = g_strdup(pdot + 1);
+ return MYFILE_ERR_NONE;
+ } else {
+ return MYFILE_ERR_EXT_GET_ERROR;
+ }
}
-
-
/*********************
-**Function name: mf_ug_file_attr_is_right_dir_path
+**Function name: mf_ug_file_attr_is_right_dir_path
**Parameter:
-** const char *filename: the file/dir name we need to check
+** const char *filename: the file/dir name we need to check
**
**Return value:
-** error code
+** error code
**
**Action:
-** check if the dir path is correct
+** check if the dir path is correct
**
*********************/
int mf_ug_file_attr_is_right_dir_path(const char *dir_path)
{
- int result = MYFILE_ERR_NONE;
- int length = 0;
+ int result = MYFILE_ERR_NONE;
+ int length = 0;
- length = strlen(dir_path);
- if (length == 0) {
- return MYFILE_ERR_INVALID_DIR_PATH;
- }
+ length = strlen(dir_path);
+ if (length == 0) {
+ return MYFILE_ERR_INVALID_DIR_PATH;
+ }
- if (dir_path[length - 1] == '/' && length > 1) {
- return MYFILE_ERR_INVALID_DIR_PATH;
- }
+ if (dir_path[length - 1] == '/' && length > 1) {
+ return MYFILE_ERR_INVALID_DIR_PATH;
+ }
- if (dir_path[0] != '/') {
- return MYFILE_ERR_INVALID_DIR_PATH;
- }
+ if (dir_path[0] != '/') {
+ return MYFILE_ERR_INVALID_DIR_PATH;
+ }
- const char *file_name = NULL;
- file_name = ecore_file_file_get(dir_path);
- result = mf_ug_file_attr_is_valid_name(file_name);
+ const char *file_name = NULL;
+ file_name = mf_file_get(dir_path);
+ result = mf_ug_file_attr_is_valid_name(file_name);
- if (result != MYFILE_ERR_NONE) {
- ug_mf_error("Is NOT Valid dir path name");
- }
+ if (result != MYFILE_ERR_NONE) {
+ ug_mf_error("Is NOT Valid dir path name");
+ }
- return result;
+ return result;
}
/*********************
-**Function name: mf_ug_file_attr_is_right_file_path
+**Function name: mf_ug_file_attr_is_right_file_path
**Parameter:
-** const char *filename: the file/dir name we need to check
+** const char *filename: the file/dir name we need to check
**
**Return value:
-** error code
+** error code
**
**Action:
-** check if the file path is correct
+** check if the file path is correct
**
*********************/
int mf_ug_file_attr_is_right_file_path(const char *file_path)
{
- int result = MYFILE_ERR_NONE;
+ int result = MYFILE_ERR_NONE;
- if (strlen(file_path) == 0) {
- return MYFILE_ERR_INVALID_FILE_PATH;
- }
+ if (strlen(file_path) == 0) {
+ return MYFILE_ERR_INVALID_FILE_PATH;
+ }
- if (file_path[0] != '/') {
- return MYFILE_ERR_INVALID_DIR_PATH;
- }
+ if (file_path[0] != '/') {
+ return MYFILE_ERR_INVALID_DIR_PATH;
+ }
- const char *file_name = NULL;
- file_name = ecore_file_file_get(file_path);
- result = mf_ug_file_attr_is_valid_name(file_name);
- if (result != MYFILE_ERR_NONE) {
- ug_mf_error("Is NOT Valid dir path name");
- }
+ const char *file_name = NULL;
+ file_name = mf_file_get(file_path);
+ result = mf_ug_file_attr_is_valid_name(file_name);
+ if (result != MYFILE_ERR_NONE) {
+ ug_mf_error("Is NOT Valid dir path name");
+ }
- return result;
+ return result;
}
-
static int __mf_ug_create_filter(filter_h *filter, ug_filter_s *condition)
{
- ug_mf_retvm_if(filter == NULL, -1, "filter is NULL");
- ug_mf_retvm_if(condition == NULL, -1, "condition is NULL");
-
- int ret = MEDIA_CONTENT_ERROR_NONE;
- filter_h tmp_filter = NULL;
- ret = media_filter_create(&tmp_filter);
- if(ret != MEDIA_CONTENT_ERROR_NONE) {
- ug_debug("Fail to create filter");
- return ret;
- }
- if (condition->cond) {
- ret = media_filter_set_condition(tmp_filter, condition->cond,
- condition->collate_type);
- if(ret != MEDIA_CONTENT_ERROR_NONE) {
- ug_debug("Fail to set condition");
- goto ERROR;
- }
- }
-
- if (condition->sort_keyword) {
- ret = media_filter_set_order(tmp_filter, condition->sort_type,
- condition->sort_keyword,
- condition->collate_type);
- if(ret != MEDIA_CONTENT_ERROR_NONE) {
- ug_debug("Fail to set order");
- goto ERROR;
- }
- }
-
- ug_debug("offset is %d, count is %d", condition->offset, condition->count);
- if (condition->offset != -1 && condition->count != -1 &&
- condition->count > condition->offset) {
- ret = media_filter_set_offset(tmp_filter, condition->offset,
- condition->count);
- if(ret != MEDIA_CONTENT_ERROR_NONE) {
- ug_debug("Fail to set offset");
- goto ERROR;
- }
- }
- *filter = tmp_filter;
- return ret;
+ ug_mf_retvm_if(filter == NULL, -1, "filter is NULL");
+ ug_mf_retvm_if(condition == NULL, -1, "condition is NULL");
+
+ int ret = MEDIA_CONTENT_ERROR_NONE;
+ filter_h tmp_filter = NULL;
+ ret = media_filter_create(&tmp_filter);
+ if (ret != MEDIA_CONTENT_ERROR_NONE) {
+ return ret;
+ }
+ if (condition->cond) {
+ ret = media_filter_set_condition(tmp_filter, condition->cond,
+ condition->collate_type);
+ if (ret != MEDIA_CONTENT_ERROR_NONE) {
+ ug_debug("Fail to set condition");
+ goto ERROR;
+ }
+ }
+
+ if (condition->sort_keyword) {
+ ret = media_filter_set_order(tmp_filter, condition->sort_type,
+ condition->sort_keyword,
+ condition->collate_type);
+ if (ret != MEDIA_CONTENT_ERROR_NONE) {
+ ug_debug("Fail to set order");
+ goto ERROR;
+ }
+ }
+
+ if (condition->offset != -1 && condition->count != -1 &&
+ condition->count > condition->offset) {
+ ret = media_filter_set_offset(tmp_filter, condition->offset,
+ condition->count);
+ if (ret != MEDIA_CONTENT_ERROR_NONE) {
+ ug_debug("Fail to set offset");
+ goto ERROR;
+ }
+ }
+ *filter = tmp_filter;
+ return ret;
ERROR:
- if (tmp_filter) {
- media_filter_destroy(tmp_filter);
- tmp_filter = NULL;
- }
- return ret;
+ if (tmp_filter) {
+ media_filter_destroy(tmp_filter);
+ tmp_filter = NULL;
+ }
+ return ret;
}
static int __mf_ug_destroy_filter(filter_h filter)
{
- ug_mf_retvm_if(filter == NULL, -1, "filter is NULL");
- int ret = MEDIA_CONTENT_ERROR_NONE;
- ret = media_filter_destroy(filter);
+ ug_mf_retvm_if(filter == NULL, -1, "filter is NULL");
+ int ret = MEDIA_CONTENT_ERROR_NONE;
+ ret = media_filter_destroy(filter);
- return ret;
+ return ret;
}
static bool __mf_ug_local_data_get_media_thumbnail_cb(media_info_h media, void *data)
{
- ug_mf_retvm_if(data == NULL, -1, "filter is NULL");
- ug_transfer_data_s *tmp_data = (ug_transfer_data_s *)data;
+ ug_mf_retvm_if(data == NULL, -1, "filter is NULL");
+ ug_transfer_data_s *tmp_data = (ug_transfer_data_s *)data;
+ media_info_clone(tmp_data->media, media);
- media_info_get_thumbnail_path(media, &(tmp_data->thumbnail_path));
+ media_info_get_thumbnail_path(media, &(tmp_data->thumbnail_path));
- return false;
+ return false;
}
-
-
int static __mf_ug_local_thumbnail_get(void *data, ug_filter_s *condition)
{
- int ret = -1;
- filter_h filter = NULL;
- ret = __mf_ug_create_filter(&filter, condition);
- if (ret != 0) {
- ug_debug("Create filter failed");
- return ret;
- }
+ int ret = -1;
+ filter_h filter = NULL;
+ ret = __mf_ug_create_filter(&filter, condition);
+ if (ret != 0) {
+ ug_debug("Create filter failed");
+ return ret;
+ }
- ret = media_info_foreach_media_from_db(filter,
- __mf_ug_local_data_get_media_thumbnail_cb,
- data);
- if (ret != 0) {
- ug_debug("media_info_foreach_media_from_db failed: %d", ret);
- } else {
- ug_debug("media_info_foreach_media_from_db success!", ret);
- }
- __mf_ug_destroy_filter(filter);
+ ret = media_info_foreach_media_from_db(filter,
+ __mf_ug_local_data_get_media_thumbnail_cb,
+ data);
+ if (ret != 0) {
+ ug_debug("media_info_foreach_media_from_db failed: %d", ret);
+ } else {
+ ug_debug("media_info_foreach_media_from_db success!", ret);
+ }
+ __mf_ug_destroy_filter(filter);
- return ret;
+ return ret;
}
int mf_ug_file_attr_get_thumbnail(void *data)
{
- ug_mf_retvm_if(data == NULL, -1, "data is NULL");
+ ug_mf_retvm_if(data == NULL, -1, "data is NULL");
- ug_transfer_data_s *mp_data = (ug_transfer_data_s *)data;
- ug_filter_s filter;
- int ret = -1;
+ ug_transfer_data_s *mp_data = (ug_transfer_data_s *)data;
+ ug_filter_s filter;
+ int ret = -1;
- memset(&filter, 0, sizeof(ug_filter_s));
+ memset(&filter, 0, sizeof(ug_filter_s));
- char *condition = NULL;
- condition = g_strdup_printf("%s and MEDIA_PATH=\"%s\"", UG_CONDITION_IMAGE_VIDEO, mp_data->file_path);
- ug_debug("condition [%s]", condition);
- filter.cond = condition;
- filter.collate_type = MEDIA_CONTENT_COLLATE_DEFAULT;
- filter.sort_type = MEDIA_CONTENT_ORDER_DESC;
- filter.sort_keyword = MEDIA_MODIFIED_TIME;
- filter.with_meta = true;
+ char *condition = NULL;
+ condition = g_strdup_printf("%s and MEDIA_PATH=\"%s\"", UG_CONDITION_IMAGE_VIDEO, mp_data->file_path);
+ filter.cond = condition;
+ filter.collate_type = MEDIA_CONTENT_COLLATE_DEFAULT;
+ filter.sort_type = MEDIA_CONTENT_ORDER_DESC;
+ filter.sort_keyword = MEDIA_MODIFIED_TIME;
+ filter.with_meta = true;
- ret = __mf_ug_local_thumbnail_get(data, &filter);
- UG_SAFE_FREE_CHAR(condition);
+ ret = __mf_ug_local_thumbnail_get(data, &filter);
+ UG_SAFE_FREE_CHAR(condition);
- return ret;
+ return ret;
}
-int mf_ug_file_attr_get_file_icon(const char *file_path, int *error_code, char **thumbnail)
+int mf_ug_file_attr_get_file_icon(char *file_path, int *error_code, char **thumbnail, media_info_h *media_info)
{
- int index = 0;
- char *icon_path = NULL;
- mf_ug_fs_file_type ftype = UG_FILE_TYPE_NONE;
- int thumbnail_type = MF_UG_THUMBNAIL_TYPE_DEFAULT;
- const char *mime = NULL;
-
- ug_mf_retvm_if(file_path == NULL, MF_UG_THUMBNAIL_TYPE_DEFAULT, "file_path is NULL");
-
- efreet_mime_init();
- mime = efreet_mime_type_get(file_path);
-
- if (mime == NULL) {
- ug_mf_warnig("Fail to aul_get_mime_from_file(), set etc icon");
- efreet_mime_shutdown();
- return thumbnail_type;
- }
-
- for (index = 0; mime_type[index].mime; index++) {
- if (strncmp(mime, mime_type[index].mime, strlen(mime)) == 0) {
- ftype = mime_type[index].ftype;
- break;
- }
- }
-
- icon_path = __mf_ug_file_attr_default_icon_get_by_type(ftype);
- ug_debug("ftype is [%d] icon_path is [%s]", ftype, icon_path);
-
- switch (ftype) {
- case UG_FILE_TYPE_IMAGE:
- case UG_FILE_TYPE_VIDEO:
- {
- int err = 0;
- ug_transfer_data_s tmp_data;
- memset(&tmp_data,0x00,sizeof(ug_transfer_data_s));
- tmp_data.file_path = file_path;
- err = mf_ug_file_attr_get_thumbnail(&tmp_data);
- if (err == 0) {
- icon_path = g_strdup(tmp_data.thumbnail_path);
- thumbnail_type = MF_UG_THUMBNAIL_TYPE_THUMBNAIL;
- } else {
- icon_path = NULL;
- if (error_code)
- *error_code = err;
- }
- }
- break;
- default:
- icon_path = __mf_ug_file_attr_default_icon_get_by_type(ftype);
- thumbnail_type = MF_UG_THUMBNAIL_TYPE_DEFAULT;
- break;
- }
-
- ug_debug("mime [%s], file type [%d], icon_path [%s]", mime, ftype, icon_path);
- *thumbnail = icon_path;
- efreet_mime_shutdown();
-
- return thumbnail_type;
+ int index = 0;
+ char *icon_path = NULL;
+ mf_ug_fs_file_type ftype = UG_FILE_TYPE_NONE;
+ int thumbnail_type = MF_UG_THUMBNAIL_TYPE_DEFAULT;
+ char *mime = NULL;
+ int retcode = -1;
+
+ ug_mf_retvm_if(file_path == NULL, MF_UG_THUMBNAIL_TYPE_DEFAULT, "file_path is NULL");
+
+ int ret = mf_ug_file_attr_get_file_category(file_path, &ftype);
+ if (ret != MYFILE_ERR_NONE || ftype == UG_FILE_TYPE_NONE || ftype == UG_FILE_TYPE_ETC) {
+ retcode = mime_type_get_mime_type(file_path, &mime);
+ if ((mime == NULL) || (retcode != MIME_TYPE_ERROR_NONE)) {
+ ug_debug("Fail to get mime type, set etc icon");
+ return thumbnail_type;
+ }
+
+ ug_debug("mime is [%s]", mime);
+ for (index = 0; mime_type[index].mime; index++) {
+ if (strncmp(mime, mime_type[index].mime, strlen(mime)) == 0) {
+ ftype = mime_type[index].ftype;
+ break;
+ }
+ }
+ }
+
+ UG_SAFE_FREE_CHAR(mime);
+
+ switch (ftype) {
+ case UG_FILE_TYPE_IMAGE:
+ case UG_FILE_TYPE_VIDEO:
+ {
+ int err = 0;
+ ug_transfer_data_s tmp_data;
+ memset(&tmp_data, 0x00, sizeof(ug_transfer_data_s));
+ tmp_data.file_path = file_path;
+ tmp_data.media = media_info;
+ err = mf_ug_file_attr_get_thumbnail(&tmp_data);
+ if (err == 0) {
+ icon_path = g_strdup(tmp_data.thumbnail_path);
+ thumbnail_type = MF_UG_THUMBNAIL_TYPE_THUMBNAIL;
+ } else {
+ icon_path = NULL;
+ if (error_code)
+ *error_code = err;
+ }
+ }
+ break;
+ default:
+ icon_path = mf_ug_file_attr_default_icon_get_by_type(ftype);
+ thumbnail_type = MF_UG_THUMBNAIL_TYPE_DEFAULT;
+ break;
+ }
+
+ *thumbnail = icon_path;
+ return thumbnail_type;
}
static int mf_ug_file_attr_get_path_level(const char *fullpath, int *level)
{
- if (fullpath == NULL) {
- return MYFILE_ERR_SRC_ARG_INVALID;
- }
-
- if (mf_ug_file_attr_is_right_dir_path(fullpath) != 0) {
- return MYFILE_ERR_INVALID_PATH;
- }
-
- mf_ug_storage_type storage_t = 0;
- int start_level = 0;
- int error_code = mf_ug_file_attr_get_store_type_by_full(fullpath, &storage_t);
- if (error_code != 0) {
- return error_code;
- }
-
- if (storage_t == MF_UG_PHONE) {
- start_level = MF_UG_PHONE_DEFAULT_LEVEL;
- } else if (storage_t == MF_UG_MMC) {
- start_level = MF_UG_MMC_DEFAULT_LEVEL;
- }
-
- char *temp = strdup(fullpath);
- if (temp == NULL) {
- return MYFILE_ERR_UNKNOW_ERROR;
- }
-
- int count = 0;
-
- gchar **result = NULL;
- gchar **params = NULL;
- result = g_strsplit(temp, "/", 0);
-
- if (result == NULL) {
- free(temp);
- temp = NULL;
- return MYFILE_ERR_UNKNOW_ERROR;
- }
-
- for (params = result; *params; params++) {
- count++;
- }
-
- g_strfreev(result);
- *level = count - start_level - 1;
- free(temp);
- return MYFILE_ERR_NONE;
+ if (fullpath == NULL) {
+ return MYFILE_ERR_SRC_ARG_INVALID;
+ }
+
+ if (mf_ug_file_attr_is_right_dir_path(fullpath) != 0) {
+ return MYFILE_ERR_INVALID_PATH;
+ }
+
+ mf_ug_storage_type storage_t = 0;
+ int start_level = 0;
+ int error_code = mf_ug_file_attr_get_store_type_by_full(fullpath, &storage_t);
+ if (error_code != 0) {
+ return error_code;
+ }
+
+ if (storage_t == MF_UG_PHONE) {
+ start_level = MF_UG_PHONE_DEFAULT_LEVEL;
+ } else if (storage_t == MF_UG_MMC) {
+ start_level = MF_UG_MMC_DEFAULT_LEVEL;
+ }
+
+ char *temp = strdup(fullpath);
+ if (temp == NULL) {
+ return MYFILE_ERR_UNKNOW_ERROR;
+ }
+
+ int count = 0;
+
+ gchar **result = NULL;
+ gchar **params = NULL;
+ result = g_strsplit(temp, "/", 0);
+
+ if (result == NULL) {
+ free(temp);
+ temp = NULL;
+ return MYFILE_ERR_UNKNOW_ERROR;
+ }
+
+ for (params = result; *params; params++) {
+ count++;
+ }
+
+ g_strfreev(result);
+ *level = count - start_level - 1;
+ free(temp);
+ return MYFILE_ERR_NONE;
}
-
int mf_ug_file_attr_is_in_system_folder(char *fullpath, int level, bool * result)
{
- if (fullpath == NULL) {
- return MYFILE_ERR_SRC_ARG_INVALID;
- }
-
- mf_ug_storage_type storage_t = 0;
- int error_code = mf_ug_file_attr_get_store_type_by_full(fullpath, &storage_t);
- if (error_code != 0) {
- return error_code;
- }
-
- const char *name = NULL;
- name = ecore_file_file_get(fullpath);
- char *parent_path = malloc(MYFILE_DIR_PATH_LEN_MAX + 1);
-
- if (parent_path == NULL) {
- return MYFILE_ERR_ALLOCATE_FAIL;
- }
- memset(parent_path, 0, MYFILE_DIR_PATH_LEN_MAX + 1);
- error_code = mf_ug_file_attr_get_parent_path(fullpath, &parent_path);
-
- if (error_code != 0) {
-
- free(parent_path);
- parent_path = NULL;
- return error_code;
- }
-
- if (storage_t == MF_UG_PHONE || storage_t == MF_UG_MMC) {
- if (level == 1) {
- if ((strlen(name) == strlen(IMAGE_AND_VIDEO)) && strcmp(name, IMAGE_AND_VIDEO) == 0) {
- *result = true;
- } else if ((strlen(name) == strlen(SOUND_AND_MUSIC)) && strcmp(name, SOUND_AND_MUSIC) == 0) {
- *result = true;
- } else if ((strlen(name) == strlen(DOWNLOADS)) && strcmp(name, DOWNLOADS) == 0) {
- *result = true;
- } else if ((strlen(name) == strlen(CAMERA_SHOTS)) && strcmp(name, CAMERA_SHOTS) == 0) {
- *result = true;
- } else {
- *result = false;
- }
- } else if (level == 2) {
- const char *parent_name = NULL;
- parent_name = ecore_file_file_get(parent_path);
- if (storage_t == MF_UG_PHONE && (strlen(parent_name) == strlen(DOWNLOADS)) && strcmp(parent_name, DOWNLOADS) == 0) {
- if ((strlen(name) == strlen(OTHERS)) && !strcmp(OTHERS, name)) {
- *result = true;
- } else {
- *result = false;
- }
- } else if ((strlen(parent_name) == strlen(SOUND_AND_MUSIC)) && strcmp(parent_name, SOUND_AND_MUSIC) == 0) {
- if ((strlen(name) == strlen(FM_RADIO)) && !strcmp(FM_RADIO, name)) {
- *result = true;
- } else if ((strlen(name) == strlen(MUSIC)) && !strcmp(MUSIC, name)) {
- *result = true;
- } else if ((strlen(name) == strlen(RINGTONES)) && !strcmp(RINGTONES, name)) {
- *result = true;
- } else if ((strlen(name) == strlen(ALERTS)) && !strcmp(ALERTS, name)) {
- *result = true;
- } else if ((strlen(name) == strlen(VOICE_RECORDER)) && !strcmp(VOICE_RECORDER, name)) {
- *result = true;
- } else {
- *result = false;
- }
- } else if ((strlen(parent_name) == strlen(IMAGE_AND_VIDEO)) && strcmp(parent_name, IMAGE_AND_VIDEO) == 0) {
- if ((strlen(name) == strlen(WALLPAPER)) && !strcmp(WALLPAPER, name)) {
- *result = true;
- } else if ((strlen(name) == strlen(MY_PHOTO_CLIPS)) && !strcmp(MY_PHOTO_CLIPS, name)) {
- *result = true;
- } else if ((strlen(name) == strlen(MY_ALBUM)) && !strcmp(MY_ALBUM, name)) {
- *result = true;
- } else if ((strlen(name) == strlen(MY_VIDEO_CLIPS)) && !strcmp(MY_VIDEO_CLIPS, name)) {
- *result = true;
- } else {
- *result = false;
- }
- } else {
- *result = false;
- }
- } else {
- if (parent_path) {
- free(parent_path);
- parent_path = NULL;
- }
- return MYFILE_ERR_STORAGE_TYPE_ERROR;
- }
- }
-
- else {
- if (parent_path) {
- free(parent_path);
- parent_path = NULL;
- }
- *result = false;
- return MYFILE_ERR_STORAGE_TYPE_ERROR;
- }
-
- if (parent_path) {
- free(parent_path);
- parent_path = NULL;
- }
- return MYFILE_ERR_NONE;
+ if (fullpath == NULL) {
+ return MYFILE_ERR_SRC_ARG_INVALID;
+ }
+
+ mf_ug_storage_type storage_t = 0;
+ int error_code = mf_ug_file_attr_get_store_type_by_full(fullpath, &storage_t);
+ if (error_code != 0) {
+ return error_code;
+ }
+
+ const char *name = NULL;
+ name = mf_file_get(fullpath);
+ char *parent_path = malloc(MYFILE_DIR_PATH_LEN_MAX + 1);
+
+ if (parent_path == NULL) {
+ return MYFILE_ERR_ALLOCATE_FAIL;
+ }
+ memset(parent_path, 0, MYFILE_DIR_PATH_LEN_MAX + 1);
+ error_code = mf_ug_file_attr_get_parent_path(fullpath, &parent_path);
+
+ if (error_code != 0) {
+
+ free(parent_path);
+ parent_path = NULL;
+ return error_code;
+ }
+
+ if (storage_t == MF_UG_PHONE || storage_t == MF_UG_MMC) {
+ if (level == 1) {
+ if ((strlen(name) == strlen(IMAGE_AND_VIDEO)) && strcmp(name, IMAGE_AND_VIDEO) == 0) {
+ *result = true;
+ } else if ((strlen(name) == strlen(SOUND_AND_MUSIC)) && strcmp(name, SOUND_AND_MUSIC) == 0) {
+ *result = true;
+ } else if ((strlen(name) == strlen(DOWNLOADS)) && strcmp(name, DOWNLOADS) == 0) {
+ *result = true;
+ } else if ((strlen(name) == strlen(CAMERA_SHOTS)) && strcmp(name, CAMERA_SHOTS) == 0) {
+ *result = true;
+ } else {
+ *result = false;
+ }
+ } else if (level == 2) {
+ const char *parent_name = NULL;
+ parent_name = mf_file_get(parent_path);
+ if (storage_t == MF_UG_PHONE && (strlen(parent_name) == strlen(DOWNLOADS)) && strcmp(parent_name, DOWNLOADS) == 0) {
+ if ((strlen(name) == strlen(OTHERS)) && !strcmp(OTHERS, name)) {
+ *result = true;
+ } else {
+ *result = false;
+ }
+ } else if ((strlen(parent_name) == strlen(SOUND_AND_MUSIC)) && strcmp(parent_name, SOUND_AND_MUSIC) == 0) {
+ if ((strlen(name) == strlen(FM_RADIO)) && !strcmp(FM_RADIO, name)) {
+ *result = true;
+ } else if ((strlen(name) == strlen(MUSIC)) && !strcmp(MUSIC, name)) {
+ *result = true;
+ } else if ((strlen(name) == strlen(RINGTONES)) && !strcmp(RINGTONES, name)) {
+ *result = true;
+ } else if ((strlen(name) == strlen(ALERTS)) && !strcmp(ALERTS, name)) {
+ *result = true;
+ } else if ((strlen(name) == strlen(VOICE_RECORDER)) && !strcmp(VOICE_RECORDER, name)) {
+ *result = true;
+ } else {
+ *result = false;
+ }
+ } else if ((strlen(parent_name) == strlen(IMAGE_AND_VIDEO)) && strcmp(parent_name, IMAGE_AND_VIDEO) == 0) {
+ if ((strlen(name) == strlen(WALLPAPER)) && !strcmp(WALLPAPER, name)) {
+ *result = true;
+ } else if ((strlen(name) == strlen(MY_PHOTO_CLIPS)) && !strcmp(MY_PHOTO_CLIPS, name)) {
+ *result = true;
+ } else if ((strlen(name) == strlen(MY_ALBUM)) && !strcmp(MY_ALBUM, name)) {
+ *result = true;
+ } else if ((strlen(name) == strlen(MY_VIDEO_CLIPS)) && !strcmp(MY_VIDEO_CLIPS, name)) {
+ *result = true;
+ } else {
+ *result = false;
+ }
+ } else {
+ *result = false;
+ }
+ } else {
+ if (parent_path) {
+ free(parent_path);
+ parent_path = NULL;
+ }
+ return MYFILE_ERR_STORAGE_TYPE_ERROR;
+ }
+ }
+
+ else {
+ if (parent_path) {
+ free(parent_path);
+ parent_path = NULL;
+ }
+ *result = false;
+ return MYFILE_ERR_STORAGE_TYPE_ERROR;
+ }
+
+ if (parent_path) {
+ free(parent_path);
+ parent_path = NULL;
+ }
+ return MYFILE_ERR_NONE;
}
-
int mf_ug_file_attr_is_system_dir(char *fullpath, bool * result)
{
- if (fullpath == NULL) {
- ug_debug("source argument invalid");
- return MYFILE_ERR_SRC_ARG_INVALID;
- }
-
- if (mf_ug_file_attr_is_dir(fullpath) == 0) {
- ug_debug("source is not exist");
- return MYFILE_ERR_SRC_NOT_EXIST;
- }
-
- int level = 0;
- int error_code = 0;
-
- error_code = mf_ug_file_attr_get_path_level(fullpath, &level);
- if (error_code != 0) {
- ug_debug("Fail to get path level");
- return error_code;
- }
-
- if (level >= 3 || level <= 0) {
- *result = false;
- ug_debug("Path Level is wrong");
- return MYFILE_ERR_NONE;
- }
- error_code = mf_ug_file_attr_is_in_system_folder(fullpath, level, result);
-
- if (error_code != 0) {
- ug_debug("Fail .. is in system folder err :: %d", error_code);
- return error_code;
- }
-
- return MYFILE_ERR_NONE;
+ if (fullpath == NULL) {
+ ug_debug("source argument invalid");
+ return MYFILE_ERR_SRC_ARG_INVALID;
+ }
+
+ if (mf_ug_file_attr_is_dir(fullpath) == 0) {
+ ug_debug("source is not exist");
+ return MYFILE_ERR_SRC_NOT_EXIST;
+ }
+
+ int level = 0;
+ int error_code = 0;
+
+ error_code = mf_ug_file_attr_get_path_level(fullpath, &level);
+ if (error_code != 0) {
+ ug_debug("Fail to get path level");
+ return error_code;
+ }
+
+ if (level >= 3 || level <= 0) {
+ *result = false;
+ ug_debug("Path Level is wrong");
+ return MYFILE_ERR_NONE;
+ }
+ error_code = mf_ug_file_attr_is_in_system_folder(fullpath, level, result);
+
+ if (error_code != 0) {
+ ug_debug("Fail .. is in system folder err :: %d", error_code);
+ return error_code;
+ }
+
+ return MYFILE_ERR_NONE;
+
+}
+
+mf_ug_fs_file_type mf_ug_file_attr_get_file_type(const char *mime)
+{
+ int index;
+ mf_ug_fs_file_type ftype = UG_FILE_TYPE_NONE;
+ for (index = 0; mime_type[index].mime; index++) {
+ if (strncmp(mime, mime_type[index].mime, strlen(mime)) == 0) {
+ ftype = mime_type[index].ftype;
+ }
+ }
+ return ftype;
}
mf_ug_fs_file_type mf_ug_file_attr_get_file_type_by_mime(const char *file_path)
{
- int index;
- mf_ug_fs_file_type ftype = UG_FILE_TYPE_NONE;
- const char *mime = NULL;
- efreet_mime_init();
- mime = efreet_mime_type_get(file_path);
-
- if (mime == NULL) {
- ug_debug("Fail to aul_get_mime_from_file(), set etc icon");
- efreet_mime_shutdown();
- return ftype;
- }
-
- for (index = 0; mime_type[index].mime; index++) {
- if (strncmp(mime, mime_type[index].mime, strlen(mime)) == 0) {
- ftype = mime_type[index].ftype;
- return ftype;
- }
- }
- efreet_mime_shutdown();
-
- return ftype;
+ int index;
+ mf_ug_fs_file_type ftype = UG_FILE_TYPE_NONE;
+ char *mime = NULL;
+ int retcode = -1;
+
+ retcode = mime_type_get_mime_type(file_path, &mime);
+ if ((mime == NULL) || (retcode != MIME_TYPE_ERROR_NONE)) {
+ ug_debug("Fail to aul_get_mime_from_file(), set etc icon");
+ return ftype;
+ }
+
+ for (index = 0; mime_type[index].mime; index++) {
+ if (strncmp(mime, mime_type[index].mime, strlen(mime)) == 0) {
+ ftype = mime_type[index].ftype;
+ UG_SAFE_FREE_CHAR(mime);
+ return ftype;
+ }
+ }
+
+ UG_SAFE_FREE_CHAR(mime);
+ return ftype;
}
int mf_ug_file_attr_is_duplicated_name(const char *dir, const char *name)
{
- char *file_path = g_strconcat(dir, "/", name, NULL);
- if (ecore_file_exists(file_path)) {
- UG_SAFE_FREE_CHAR(file_path);
- return MYFILE_ERR_DUPLICATED_NAME;
- } else {
- UG_SAFE_FREE_CHAR(file_path);
- return MYFILE_ERR_NONE;
- }
+ char *file_path = g_strconcat(dir, "/", name, NULL);
+
+ if (file_path != NULL) {
+ if (mf_file_exists(file_path)) {
+ UG_SAFE_FREE_CHAR(file_path);
+ return MYFILE_ERR_DUPLICATED_NAME;
+ } else {
+ UG_SAFE_FREE_CHAR(file_path);
+ return MYFILE_ERR_NONE;
+ }
+ }
+
+ return MYFILE_ERR_NONE;
}
int mf_ug_file_attr_get_logical_path_by_full(const char *full_path, char **path)
{
- ug_mf_retvm_if(full_path == NULL, MYFILE_ERR_INVALID_FILE_PATH, "fullpath is NULL");
- ug_mf_retvm_if(path == NULL, MYFILE_ERR_INVALID_FILE_PATH, "path is NULL");
-
- mf_ug_storage_type store_type = 0;
- int root_len = 0;
- int error_code = 0;
-
- error_code = mf_ug_file_attr_get_store_type_by_full(full_path, &store_type);
-
- *path = g_strdup(full_path);
- if (*path == NULL) {
- return MYFILE_ERR_ALLOCATE_MEMORY_FAIL;
- }
-
- memset(*path, 0, strlen(*path));
- switch (store_type) {
- case MF_UG_PHONE:
- root_len = strlen(PHONE_FOLDER);
- break;
- case MF_UG_MMC:
- root_len = strlen(MEMORY_FOLDER);
- break;
- default:
- return MYFILE_ERR_STORAGE_TYPE_ERROR;
- }
-
- /*
- ** *path has the same length with full_path
- ** strlen(*path) is 0 since the memset called
- ** we use length of full_path to reprecent the *path's
- */
- g_strlcpy(*path, full_path + root_len, strlen(full_path));
- if (strlen(*path) == 0) {
- UG_SAFE_FREE_CHAR(*path);
- *path = g_strdup("/");
- }
-
- return MYFILE_ERR_NONE;
+ ug_mf_retvm_if(full_path == NULL, MYFILE_ERR_INVALID_FILE_PATH, "fullpath is NULL");
+ ug_mf_retvm_if(path == NULL, MYFILE_ERR_INVALID_FILE_PATH, "path is NULL");
+
+ mf_ug_storage_type store_type = 0;
+ int root_len = 0;
+
+ mf_ug_file_attr_get_store_type_by_full(full_path, &store_type);
+
+ *path = g_strdup(full_path);
+ if (*path == NULL) {
+ return MYFILE_ERR_ALLOCATE_MEMORY_FAIL;
+ }
+
+ memset(*path, 0, strlen(*path));
+ switch (store_type) {
+ case MF_UG_PHONE:
+ root_len = strlen(PHONE_FOLDER);
+ break;
+ case MF_UG_MMC:
+ root_len = strlen(MEMORY_FOLDER);
+ break;
+ default:
+ return MYFILE_ERR_STORAGE_TYPE_ERROR;
+ }
+
+ /*
+ ** *path has the same length with full_path
+ ** strlen(*path) is 0 since the memset called
+ ** we use length of full_path to reprecent the *path's
+ */
+ g_strlcpy(*path, full_path + root_len, strlen(full_path));
+ if (strlen(*path) == 0) {
+ UG_SAFE_FREE_CHAR(*path);
+ *path = g_strdup("/");
+ }
+
+ return MYFILE_ERR_NONE;
}
+char *mf_ug_file_attr_sound_title_get(const char *fullpath)
+{
+ metadata_extractor_h metadata = NULL;
+ char *title = NULL;
+ int ret = metadata_extractor_create(&metadata);
+ if (ret == METADATA_EXTRACTOR_ERROR_NONE && metadata) {
+ ret = metadata_extractor_set_path(metadata, fullpath);
+ if (ret == METADATA_EXTRACTOR_ERROR_NONE) {
+ ret = metadata_extractor_get_metadata(metadata, METADATA_TITLE, &title);
+ }
+ metadata_extractor_destroy(metadata);
+ }
+
+ return title;
+}
diff --git a/src/common/file-system/mf-ug-fs-oper.c b/src/common/file-system/mf-ug-fs-oper.c
index ad1c556..43c2c27 100644
--- a/src/common/file-system/mf-ug-fs-oper.c
+++ b/src/common/file-system/mf-ug-fs-oper.c
@@ -1,23 +1,29 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
#include <libgen.h>
#include <glib.h>
#include "mf-ug-fs-util.h"
#include "mf-ug-util.h"
+#include "mf-ug-fm-svc-wrapper.h"
+#include "mf-ug-file-util.h"
static int __mf_ug_fs_oper_sort_by_date_cb_O2R(const void *d1, const void *d2);
static int __mf_ug_fs_oper_sort_by_name_cb_A2Z(const void *d1, const void *d2);
@@ -29,466 +35,356 @@ static int __mf_ug_fs_oper_sort_by_type_cb_Z2A(const void *d1, const void *d2);
static int __mf_ug_fs_oper_sort_by_size_cb_L2S(const void *d1, const void *d2);
/*********************
-**Function name: __mf_ug_fs_oper_file_system_error
+**Function name: __mf_ug_fs_oper_file_system_error
**Parameter:
-** const char* src: source path
-** const char* dst: destination path
-** int check_option: check option
+** const char* src: source path
+** const char* dst: destination path
+** int check_option: check option
**
**Return value:
-** error code
+** error code
**
**Action:
-** input parameter checking
+** input parameter checking
**
*********************/
static const char *__mf_ug_fs_oper_get_file(const char *path)
{
- char *result = NULL;
-
- if (!path) {
- return NULL;
- }
- if ((result = strrchr(path, '/'))) {
- result++;
- } else {
- result = (char *)path;
- }
- return result;
+ char *result = NULL;
+
+ if (!path) {
+ return NULL;
+ }
+ if ((result = strrchr(path, '/'))) {
+ result++;
+ } else {
+ result = (char *)path;
+ }
+ return result;
}
static int __mf_ug_fs_oper_file_system_error(const char *src, const char *dst, int check_option)
{
- if ((check_option & MF_ERROR_CHECK_SRC_ARG_VALID) && (src == NULL)) {
- return MYFILE_ERR_SRC_ARG_INVALID;
- }
- if ((check_option & MF_ERROR_CHECK_SRC_EXIST) && (!ecore_file_exists(src))) {
- return MYFILE_ERR_SRC_NOT_EXIST;
- }
-
- if (check_option & MF_ERROR_CHECK_SRC_PATH_VALID) {
- if (!ecore_file_is_dir(src)) {
- if (mf_ug_file_attr_is_right_file_path(src)) {
- return MYFILE_ERR_INVALID_FILE_PATH;
- }
- } else {
- if (mf_ug_file_attr_is_right_dir_path(src)) {
- return MYFILE_ERR_INVALID_DIR_PATH;
- }
- }
- }
-
- if (check_option & MF_ERROR_CHECK_DUPLICATED) {
- char *parent_path = NULL;
-
- if (!mf_ug_file_attr_get_parent_path(dst, &parent_path)) {
- if (mf_ug_file_attr_is_duplicated_name(parent_path, __mf_ug_fs_oper_get_file(dst))) {
- UG_SAFE_FREE_CHAR(parent_path);
- return MYFILE_ERR_DUPLICATED_NAME;
- }
- UG_SAFE_FREE_CHAR(parent_path);
- } else {
- UG_SAFE_FREE_CHAR(parent_path);
- return MYFILE_ERR_GET_PARENT_PATH_FAIL;
- }
- }
- return MYFILE_ERR_NONE;
+ if ((check_option & MF_ERROR_CHECK_SRC_ARG_VALID) && (src == NULL)) {
+ return MYFILE_ERR_SRC_ARG_INVALID;
+ }
+ if ((check_option & MF_ERROR_CHECK_SRC_EXIST) && (!mf_file_exists(src))) {
+ return MYFILE_ERR_SRC_NOT_EXIST;
+ }
+
+ if (check_option & MF_ERROR_CHECK_SRC_PATH_VALID) {
+ if (!mf_is_dir(src)) {
+ if (mf_ug_file_attr_is_right_file_path(src)) {
+ return MYFILE_ERR_INVALID_FILE_PATH;
+ }
+ } else {
+ if (mf_ug_file_attr_is_right_dir_path(src)) {
+ return MYFILE_ERR_INVALID_DIR_PATH;
+ }
+ }
+ }
+
+ if (check_option & MF_ERROR_CHECK_DUPLICATED) {
+ char *parent_path = NULL;
+
+ if (!mf_ug_file_attr_get_parent_path(dst, &parent_path)) {
+ if (mf_ug_file_attr_is_duplicated_name(parent_path, __mf_ug_fs_oper_get_file(dst))) {
+ UG_SAFE_FREE_CHAR(parent_path);
+ return MYFILE_ERR_DUPLICATED_NAME;
+ }
+ UG_SAFE_FREE_CHAR(parent_path);
+ } else {
+ UG_SAFE_FREE_CHAR(parent_path);
+ return MYFILE_ERR_GET_PARENT_PATH_FAIL;
+ }
+ }
+ return MYFILE_ERR_NONE;
}
/*********************
-**Function name: mf_ug_fs_oper_read_dir
+**Function name: mf_ug_fs_oper_read_dir
**Parameter:
-** char *path: path which we need to read
-** Eina_List** dir_list: output parameter of dir list under specified path
-** Eina_List** file_list: output parameter of file list under specified path
+** char *path: path which we need to read
+** Eina_List** dir_list: output parameter of dir list under specified path
+** Eina_List** file_list: output parameter of file list under specified path
**
**Return value:
-** error code
+** error code
**
**Action:
-** read element under the specified path
+** read element under the specified path
**
*********************/
-int mf_ug_fs_oper_read_dir(const char *path, Eina_List **dir_list, Eina_List **file_list)
+int mf_ug_fs_oper_read_dir(char *path, Eina_List **dir_list, Eina_List **file_list)
{
- UG_TRACE_BEGIN;
- DIR *pDir = NULL;
- struct dirent *ent;
-
- ug_mf_retvm_if(path == NULL, MYFILE_ERR_INVALID_ARG, "path is null");
- ug_mf_retvm_if(dir_list == NULL, MYFILE_ERR_INVALID_ARG, "dir_list is null");
- ug_mf_retvm_if(file_list == NULL, MYFILE_ERR_INVALID_ARG, "file_list is null");
-
- int option = MF_ERROR_CHECK_SRC_ARG_VALID | MF_ERROR_CHECK_SRC_EXIST | MF_ERROR_CHECK_SRC_PATH_VALID;
- int ret = __mf_ug_fs_oper_file_system_error(path, NULL, option);
-
- if (ret != MYFILE_ERR_NONE) {
- return ret;
- }
-
- pDir = opendir(path);
-
- if (pDir == NULL) {
- return MYFILE_ERR_DIR_OPEN_FAIL;
- }
-
- while ((ent = readdir(pDir)) != NULL) {
- GString *childpath = NULL;
- ugFsNodeInfo *pNode = NULL;
-
- if (strncmp(ent->d_name, ".", 1) == 0 || strcmp(ent->d_name, "..") == 0) {
- continue;
- }
-
- if ((ent->d_type & DT_DIR) == 0 && (ent->d_type & DT_REG) == 0) {
- continue;
- }
-#ifdef UG_DEBUG_FOLDER_OPTION
- if ((ent->d_type & DT_DIR) != 0) {
- if ((strlen(path) == strlen(PHONE_FOLDER)) && (strcmp(path, PHONE_FOLDER) == 0)
- && (strlen(ent->d_name) == strlen(DEBUG_FOLDER)) && (strcmp(ent->d_name, DEBUG_FOLDER) == 0)) {
- continue;
- }
- }
+ UG_TRACE_BEGIN;
+ DIR *pDir = NULL;
+ struct dirent *ent;
+
+ ug_mf_retvm_if(path == NULL, MYFILE_ERR_INVALID_ARG, "path is null");
+ ug_mf_retvm_if(dir_list == NULL, MYFILE_ERR_INVALID_ARG, "dir_list is null");
+ ug_mf_retvm_if(file_list == NULL, MYFILE_ERR_INVALID_ARG, "file_list is null");
+
+ int option = MF_ERROR_CHECK_SRC_ARG_VALID | MF_ERROR_CHECK_SRC_EXIST | MF_ERROR_CHECK_SRC_PATH_VALID;
+ int ret = __mf_ug_fs_oper_file_system_error(path, NULL, option);
+ int storage_type = mf_ug_fm_svc_wapper_get_location(path);
+
+ if (ret != MYFILE_ERR_NONE) {
+ return ret;
+ }
+
+ pDir = opendir(path);
+
+ if (pDir == NULL) {
+ return MYFILE_ERR_DIR_OPEN_FAIL;
+ }
+
+ while ((ent = readdir(pDir)) != NULL) {
+ GString *childpath = NULL;
+ ugFsNodeInfo *pNode = NULL;
+
+ if (strncmp(ent->d_name, ".", 1) == 0 || strcmp(ent->d_name, "..") == 0) {
+ continue;
+ }
+
+ if ((ent->d_type & DT_DIR) == 0 && (ent->d_type & DT_REG) == 0) {
+ continue;
+ }
+#ifdef UG_DEBUG_FOLDER_OPTION
+ if ((ent->d_type & DT_DIR) != 0) {
+ if ((strlen(path) == strlen(PHONE_FOLDER)) && (strcmp(path, PHONE_FOLDER) == 0)
+ && (strlen(ent->d_name) == strlen(DEBUG_FOLDER)) && (strcmp(ent->d_name, DEBUG_FOLDER) == 0)) {
+ continue;
+ }
+ }
#endif
- pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo));
-
- if (pNode == NULL) {
- continue;
- }
- memset(pNode, 0, sizeof(ugFsNodeInfo));
- snprintf(pNode->path, sizeof(pNode->path), "%s", path);
- snprintf(pNode->name, sizeof(pNode->name), "%s", ent->d_name);
- if (ent->d_type & DT_DIR) {
- pNode->type = UG_FILE_TYPE_DIR;
- } else if (ent->d_type & DT_REG) {
- mf_ug_file_attr_get_file_category(ent->d_name, &(pNode->type));
- }
- childpath = g_string_new(path);
- if (childpath == NULL) {
- free(pNode);
- pNode = NULL;
- continue;
- }
- g_string_append_printf(childpath, "/%s", ent->d_name);
- mf_ug_file_attr_get_file_stat(childpath->str, &pNode);
- if (pNode->type == UG_FILE_TYPE_DIR) {
- ug_mf_debug("dir append\n");
- *dir_list = eina_list_append(*dir_list, pNode);
- } else {
- ug_mf_debug("file append\n");
- ret = mf_ug_file_attr_get_file_ext(childpath->str, &pNode->ext);
- if (ret != MYFILE_ERR_NONE) {
- pNode->ext = NULL;
- }
- *file_list = eina_list_append(*file_list, pNode);
- }
-
- g_string_free(childpath, TRUE);
- }
- closedir(pDir);
- UG_TRACE_END;
-
- return MYFILE_ERR_NONE;
-}
-
-/*********************
-**Function name: __mf_ug_fs_oper_exec_filter
-**Parameter:
-** ugFsNodeInfo* pnode_info: the node we need to check for filter
-** int option: filter
-**
-**Return value:
-** error code
-**
-**Action:
-** check if the node satisfied the filter option
-*********************/
-static mf_ug_drm_file_mime_type __mf_ug_fs_oper_get_drm_file_type_by_mime(char *mime_type)
-{
- gchar **result = NULL;
- if (mime_type != NULL) {
- result = g_strsplit(mime_type, "/", 0);
- if (result && (*result)) {
- ug_mf_debug("*result is [%s]", *result);
- if (g_strcmp0(*result, "audio") == 0) {
- g_strfreev(result);
- return MF_UG_DRM_RINGTONE_FILE;
- } else if (g_strcmp0(*result, "image") == 0) {
- g_strfreev(result);
- return MF_UG_DRM_IMAGE_FILE;
- } else {
- g_strfreev(result);
- return MF_UG_DRM_UNKNOW_FILE;
- }
- } else {
- g_strfreev(result);
- return MF_UG_DRM_UNKNOW_FILE;
- }
- } else {
- return MF_UG_DRM_UNKNOW_FILE;
- }
-}
-
-mf_ug_drm_file_mime_type mf_ug_fs_oper_get_drm_type(char *path)
-{
- drm_result_e res = 0;
- drm_content_info_s dcf_content_info;
-
- res = drm_get_content_info(path, &dcf_content_info);
-
-
- if (res == DRM_RETURN_SUCCESS) {
- mf_ug_drm_file_mime_type drm_mime_type = __mf_ug_fs_oper_get_drm_file_type_by_mime(dcf_content_info.mime_type);
- return drm_mime_type;
- } else {
- return MF_UG_DRM_UNKNOW_FILE;
- }
-}
-
-int mf_ug_fs_oper_drm_is_action_allowed(const char *path, drm_action_type_e action, drm_setas_category_e category)
-{
- drm_bool_type_e is_allowed = 0;
- drm_action_allowed_data_s action_data;
-
- int ret = -1;
- memset(&action_data,0x0,sizeof(drm_action_allowed_data_s));
- UG_SAFE_STRCPY(action_data.file_path, path);
-
- action_data.data = category;
-
- ret = drm_is_action_allowed(action,&action_data,&is_allowed);
- if(DRM_RETURN_SUCCESS == ret && DRM_TRUE == is_allowed){
- return true;
- }else{
- return false;
- }
-}
-
-bool mf_ug_fs_oper_drm_is_valid(const char *path, drm_permission_type_e perm_type)
-{
- int res = DRM_RETURN_SUCCESS;
- drm_license_status_e licence_status = DRM_LICENSE_STATUS_UNDEFINED;
- if (path) {
- res = drm_get_license_status(path, perm_type, &licence_status);
- }
-
- ug_error("res is [%d] licence is [%d]", res, licence_status);
- if (res == DRM_RETURN_SUCCESS && licence_status == DRM_LICENSE_STATUS_VALID) {
- return true;
- } else {
- return false;
- }
-
-}
-static bool __mf_ug_fs_oper_exec_drm_filter(ugFsNodeInfo *pnode_info, int option)
-{
- if (pnode_info == NULL) {
- return FALSE;
- }
-
- int result = -1;
- char *fullpath = NULL;
- drm_result_e res = DRM_RETURN_INTERNAL_ERROR;
- if (option & MF_UG_FILTER_DRM_ALL) {
- return TRUE;
- }
-
- if (option & MF_UG_FILTER_DRM_WITHOUT_FL) {
- fullpath = g_strconcat(pnode_info->path, "/", pnode_info->name, NULL);
- res = mf_ug_fs_oper_drm_is_action_allowed(fullpath, DRM_IS_FORWARDING_ALLOWED, DRM_SETAS_NONE);
- if (res == DRM_RETURN_SUCCESS) {
- return FALSE;
- } else {
- return TRUE;
- }
- }
-
- if (option & MF_UG_FILTER_DRM_IMAGE) {
- fullpath = g_strconcat(pnode_info->path, "/", pnode_info->name, NULL);
-
- result = mf_ug_fs_oper_drm_is_action_allowed(fullpath, DRM_HAS_VALID_SETAS_STATUS, DRM_SETAS_WALLPAPER);
- if (result) {
- mf_ug_drm_file_mime_type drm_mime_type = mf_ug_fs_oper_get_drm_type(fullpath);
- if (drm_mime_type == MF_UG_DRM_IMAGE_FILE)
- return TRUE;
- else
- return FALSE;
- } else {
- return FALSE;
- }
- }
-
- if (option & MF_UG_FILTER_DRM_RINGTONE) {
- fullpath = g_strconcat(pnode_info->path, "/", pnode_info->name, NULL);
-
- result = mf_ug_fs_oper_drm_is_action_allowed(fullpath, DRM_HAS_VALID_SETAS_STATUS, DRM_SETAS_RINGTONE);
- if (result) {
- mf_ug_drm_file_mime_type drm_mime_type = mf_ug_fs_oper_get_drm_type(fullpath);
- if (drm_mime_type == MF_UG_DRM_RINGTONE_FILE)
- return TRUE;
- else
- return FALSE;
- } else {
- return FALSE;
- }
-
- }
-
- return FALSE;
+ pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo));
+
+ if (pNode == NULL) {
+ continue;
+ }
+ memset(pNode, 0, sizeof(ugFsNodeInfo));
+ /*set path */
+ pNode->path = g_strdup(path);
+ /*set name */
+ pNode->name = g_strdup(ent->d_name);
+ pNode->storage_type = storage_type;
+ if (ent->d_type & DT_DIR) {
+ pNode->type = UG_FILE_TYPE_DIR;
+ } else if (ent->d_type & DT_REG) {
+ char *real_name = g_strconcat(pNode->path, "/", ent->d_name, NULL);
+
+ if (real_name != NULL) {
+ mf_ug_file_attr_get_file_category(real_name, &(pNode->type));
+ SECURE_DEBUG(" file is [%s] type is [%d]", real_name, (pNode->type));
+ UG_SAFE_FREE_CHAR(real_name);
+ }
+ }
+ childpath = g_string_new(path);
+ if (childpath == NULL) {
+ free(pNode);
+ pNode = NULL;
+ continue;
+ }
+ g_string_append_printf(childpath, "/%s", ent->d_name);
+ mf_ug_file_attr_get_file_stat(childpath->str, &pNode);
+ if (pNode->type == UG_FILE_TYPE_DIR) {
+ ug_mf_debug("dir append\n");
+ *dir_list = eina_list_append(*dir_list, pNode);
+ } else {
+ ug_mf_debug("file append\n");
+ ret = mf_ug_file_attr_get_file_ext(childpath->str, &pNode->ext);
+ if (ret != MYFILE_ERR_NONE) {
+ pNode->ext = NULL;
+ }
+ *file_list = eina_list_append(*file_list, pNode);
+ }
+
+ g_string_free(childpath, TRUE);
+ }
+ closedir(pDir);
+ UG_TRACE_END;
+
+ return MYFILE_ERR_NONE;
}
static bool __mf_ug_fs_oper_exec_filter(ugFsNodeInfo *pnode_info, int option)
{
- if (pnode_info == NULL) {
- return FALSE;
- }
- if (option & UG_FILTER_CATEGORY_IMAGE) {
- if (pnode_info->type == UG_FILE_TYPE_IMAGE) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_VIDEO) {
- if (pnode_info->type == UG_FILE_TYPE_VIDEO) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_SOUND) {
- if (pnode_info->type == UG_FILE_TYPE_SOUND) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_VOICE) {
- if (pnode_info->type == UG_FILE_TYPE_VOICE) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_MUSIC) {
- if (pnode_info->type == UG_FILE_TYPE_MUSIC) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_HTML) {
- if (pnode_info->type == UG_FILE_TYPE_HTML) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_FLASH) {
- if (pnode_info->type == UG_FILE_TYPE_FLASH) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_GAME) {
- if (pnode_info->type == UG_FILE_TYPE_GAME) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_APP) {
- if (pnode_info->type == UG_FILE_TYPE_APP) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_THEME) {
- if (pnode_info->type == UG_FILE_TYPE_THEME) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_DOC) {
- if (pnode_info->type == UG_FILE_TYPE_DOC) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_EXCEL) {
- if (pnode_info->type == UG_FILE_TYPE_EXCEL) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_PPT) {
- if (pnode_info->type == UG_FILE_TYPE_PPT) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_PDF) {
- if (pnode_info->type == UG_FILE_TYPE_PDF) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_TXT) {
- if (pnode_info->type == UG_FILE_TYPE_TXT) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_VCONTACT) {
- if (pnode_info->type == UG_FILE_TYPE_VCONTACT) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_VCALENDAR) {
- if (pnode_info->type == UG_FILE_TYPE_VCALENDAR) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_VNOTE) {
- if (pnode_info->type == UG_FILE_TYPE_VNOTE) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_VBOOKMARK) {
- if (pnode_info->type == UG_FILE_TYPE_VBOOKMARK) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_VIDEO_PROJECT) {
- if (pnode_info->type == UG_FILE_TYPE_VIDEO_PROJECT) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_SVG) {
- if (pnode_info->type == UG_FILE_TYPE_SVG) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_RSS) {
- if (pnode_info->type == UG_FILE_TYPE_RSS) {
- return TRUE;
- }
- }
- if (option & UG_FILTER_CATEGORY_ETC) {
- if (pnode_info->type == UG_FILE_TYPE_ETC) {
- return TRUE;
- }
- }
- return FALSE;
+ if (option == UG_FILTER_CATEGORY_ALL) {
+ return TRUE;
+ }
+ if (pnode_info == NULL) {
+ return FALSE;
+ }
+ if (option & UG_FILTER_CATEGORY_IMAGE) {
+ if (pnode_info->type == UG_FILE_TYPE_IMAGE) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_VIDEO) {
+ if (pnode_info->type == UG_FILE_TYPE_VIDEO) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_SOUND) {
+ if (pnode_info->type == UG_FILE_TYPE_SOUND) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_VOICE) {
+ if (pnode_info->type == UG_FILE_TYPE_VOICE) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_MUSIC) {
+ if (pnode_info->type == UG_FILE_TYPE_MUSIC) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_HTML) {
+ if (pnode_info->type == UG_FILE_TYPE_HTML) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_FLASH) {
+ if (pnode_info->type == UG_FILE_TYPE_FLASH) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_GAME) {
+ if (pnode_info->type == UG_FILE_TYPE_GAME) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_APP) {
+ if (pnode_info->type == UG_FILE_TYPE_APP) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_THEME) {
+ if (pnode_info->type == UG_FILE_TYPE_THEME) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_DOC) {
+ if (pnode_info->type == UG_FILE_TYPE_DOC) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_EXCEL) {
+ if (pnode_info->type == UG_FILE_TYPE_EXCEL) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_PPT) {
+ if (pnode_info->type == UG_FILE_TYPE_PPT) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_PDF) {
+ if (pnode_info->type == UG_FILE_TYPE_PDF) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_TXT) {
+ if (pnode_info->type == UG_FILE_TYPE_TXT) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_VCONTACT) {
+ if (pnode_info->type == UG_FILE_TYPE_VCONTACT) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_VCALENDAR) {
+ if (pnode_info->type == UG_FILE_TYPE_VCALENDAR) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_VNOTE) {
+ if (pnode_info->type == UG_FILE_TYPE_VNOTE) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_VBOOKMARK) {
+ if (pnode_info->type == UG_FILE_TYPE_VBOOKMARK) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_VIDEO_PROJECT) {
+ if (pnode_info->type == UG_FILE_TYPE_VIDEO_PROJECT) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_SVG) {
+ if (pnode_info->type == UG_FILE_TYPE_SVG) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_RSS) {
+ if (pnode_info->type == UG_FILE_TYPE_RSS) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_ETC) {
+ if (pnode_info->type == UG_FILE_TYPE_ETC) {
+ return TRUE;
+ }
+ }
+
+ if (option & UG_FILTER_CATEGORY_MP4_AUDIO) {
+ if (pnode_info->type == UG_FILE_TYPE_MP4_AUDIO) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_MP4_VIDEO) {
+ if (pnode_info->type == UG_FILE_TYPE_MP4_VIDEO) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_HWP) {
+ if (pnode_info->type == UG_FILE_TYPE_HWP) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_SNB) {
+ if (pnode_info->type == UG_FILE_TYPE_SNB) {
+ return TRUE;
+ }
+ }
+ if (option & UG_FILTER_CATEGORY_GUL) {
+ if (pnode_info->type == UG_FILE_TYPE_GUL) {
+ return TRUE;
+ }
+ }
+ return FALSE;
}
-int mf_ug_fs_oper_list_filter(Eina_List *in_list, Eina_List **out_list, int option, int drm_opt)
+int mf_ug_fs_oper_list_filter(Eina_List *in_list, Eina_List **out_list, int option)
{
- ug_mf_debug();
- if (in_list == NULL) {
- return MYFILE_ERR_SRC_ARG_INVALID;
- }
-
- if (out_list == NULL) {
- return MYFILE_ERR_DST_ARG_INVALID;
- }
-
- if (option == 0) {
- *out_list = in_list;
- return MYFILE_ERR_NONE;
- }
-
- Eina_List *l = NULL;
- ugFsNodeInfo *data = NULL;
- EINA_LIST_FOREACH(in_list, l, data) {
- if (data->type == UG_FILE_TYPE_DRM && __mf_ug_fs_oper_exec_drm_filter(data, drm_opt)) {
- ug_debug("file [%s] is drm file", data->name);
- *out_list = eina_list_append(*out_list, data);
- } else if (__mf_ug_fs_oper_exec_filter(data, option)) {
- *out_list = eina_list_append(*out_list, data);
- }
- }
- return MYFILE_ERR_NONE;
+ ug_mf_debug();
+ if (in_list == NULL) {
+ return MYFILE_ERR_SRC_ARG_INVALID;
+ }
+
+ if (out_list == NULL) {
+ return MYFILE_ERR_DST_ARG_INVALID;
+ }
+
+ if (option == 0) {
+ *out_list = in_list;
+ return MYFILE_ERR_NONE;
+ }
+
+ Eina_List *l = NULL;
+ ugFsNodeInfo *data = NULL;
+ EINA_LIST_FOREACH(in_list, l, data) {
+ if (__mf_ug_fs_oper_exec_filter(data, option)) {
+ *out_list = eina_list_append(*out_list, data);
+ }
+ }
+ return MYFILE_ERR_NONE;
}
/******************************
@@ -510,525 +406,528 @@ int mf_ug_fs_oper_list_filter(Eina_List *in_list, Eina_List **out_list, int opti
******************************/
int mf_ug_fs_oper_list_filter_by_extension(Eina_List *in_list, Eina_List **out_list, char *ext)
{
- if (in_list == NULL) {
- return MYFILE_ERR_SRC_ARG_INVALID;
- }
-
- if (out_list == NULL) {
- return MYFILE_ERR_DST_ARG_INVALID;
- }
-
- if (ext == NULL) {
- *out_list = in_list;
- return MYFILE_ERR_NONE;
- }
-
- Eina_List *l = NULL;
- ugFsNodeInfo *data = NULL;
-
- char *seps = ";";
- char *temp_ext = malloc(strlen(ext) + 1);
- gchar **result = NULL;
- gchar **params = NULL;
-
- EINA_LIST_FOREACH(in_list, l, data) {
- memset(temp_ext, 0, strlen(ext) + 1);
- strncpy(temp_ext, ext, strlen(ext));
- result = g_strsplit(temp_ext, seps, 0);
- if (result == NULL) {
- continue;
- }
- for (params = result; *params; params++) {
- if (data->ext == NULL)
- break;
- if (strcasecmp(data->ext, *params) == 0) {
- *out_list = eina_list_append(*out_list, data);
- break;
- }
- }
-
- g_strfreev(result);
- result = NULL;
- }
- free(temp_ext);
- return MYFILE_ERR_NONE;
+ if (in_list == NULL) {
+ return MYFILE_ERR_SRC_ARG_INVALID;
+ }
+
+ if (out_list == NULL) {
+ return MYFILE_ERR_DST_ARG_INVALID;
+ }
+
+ if (ext == NULL) {
+ *out_list = in_list;
+ return MYFILE_ERR_NONE;
+ }
+
+ Eina_List *l = NULL;
+ ugFsNodeInfo *data = NULL;
+
+ char *seps = ";";
+ char *temp_ext = malloc(strlen(ext) + 1);
+ if (temp_ext == NULL)
+ return MYFILE_ERR_ALLOCATE_FAIL;
+
+ gchar **result = NULL;
+ gchar **params = NULL;
+
+ EINA_LIST_FOREACH(in_list, l, data) {
+ if (data) {
+ memset(temp_ext, 0, strlen(ext) + 1);
+ strncpy(temp_ext, ext, strlen(ext));
+ result = g_strsplit(temp_ext, seps, 0);
+ if (result == NULL) {
+ continue;
+ }
+ for (params = result; *params; params++) {
+ if (data->ext == NULL)
+ break;
+ if (strcasecmp(data->ext, *params) == 0) {
+ *out_list = eina_list_append(*out_list, data);
+ break;
+ }
+ }
+
+ g_strfreev(result);
+ result = NULL;
+ }
+ }
+ free(temp_ext);
+ return MYFILE_ERR_NONE;
}
static int __mf_ug_fs_oper_sort_by_priority(const void *d1, const void *d2, int sequence_type)
{
- int ret = 0;
- switch(sequence_type) {
- case MF_UG_SORT_BY_PRIORITY_TYPE_A2Z:
- ret = __mf_ug_fs_oper_sort_by_date_cb_O2R(d1, d2);
- if (ret == 0) {
- ret = __mf_ug_fs_oper_sort_by_size_cb_S2L(d1, d2);
- if (ret == 0) {
- ret = __mf_ug_fs_oper_sort_by_name_cb_A2Z(d1, d2);
- }
- }
- break;
- case MF_UG_SORT_BY_PRIORITY_TYPE_Z2A:
- ret = __mf_ug_fs_oper_sort_by_date_cb_R2O(d1, d2);
- if (ret == 0) {
- ret = __mf_ug_fs_oper_sort_by_size_cb_L2S(d1, d2);
- if (ret == 0) {
- ret = __mf_ug_fs_oper_sort_by_name_cb_Z2A(d1, d2);
- }
- }
- break;
- case MF_UG_SORT_BY_PRIORITY_DATE_O2R:
- ret = __mf_ug_fs_oper_sort_by_size_cb_S2L(d1, d2);
- if (ret == 0) {
- ret = __mf_ug_fs_oper_sort_by_name_cb_A2Z(d1, d2);
- }
- break;
- case MF_UG_SORT_BY_PRIORITY_DATE_R2O:
- ret = __mf_ug_fs_oper_sort_by_size_cb_L2S(d1, d2);
- if (ret == 0) {
- ret = __mf_ug_fs_oper_sort_by_name_cb_Z2A(d1, d2);
- }
- break;
- case MF_UG_SORT_BY_PRIORITY_SIZE_S2L:
- ret = __mf_ug_fs_oper_sort_by_name_cb_A2Z(d1, d2);
- break;
- case MF_UG_SORT_BY_PRIORITY_SIZE_L2S:
- ret = __mf_ug_fs_oper_sort_by_name_cb_Z2A(d1, d2);
- break;
- default:
- break;
- }
- return ret;
+ int ret = 0;
+ switch (sequence_type) {
+ case MF_UG_SORT_BY_PRIORITY_TYPE_A2Z:
+ ret = __mf_ug_fs_oper_sort_by_date_cb_O2R(d1, d2);
+ if (ret == 0) {
+ ret = __mf_ug_fs_oper_sort_by_size_cb_S2L(d1, d2);
+ if (ret == 0) {
+ ret = __mf_ug_fs_oper_sort_by_name_cb_A2Z(d1, d2);
+ }
+ }
+ break;
+ case MF_UG_SORT_BY_PRIORITY_TYPE_Z2A:
+ ret = __mf_ug_fs_oper_sort_by_date_cb_R2O(d1, d2);
+ if (ret == 0) {
+ ret = __mf_ug_fs_oper_sort_by_size_cb_L2S(d1, d2);
+ if (ret == 0) {
+ ret = __mf_ug_fs_oper_sort_by_name_cb_Z2A(d1, d2);
+ }
+ }
+ break;
+ case MF_UG_SORT_BY_PRIORITY_DATE_O2R:
+ ret = __mf_ug_fs_oper_sort_by_size_cb_S2L(d1, d2);
+ if (ret == 0) {
+ ret = __mf_ug_fs_oper_sort_by_name_cb_A2Z(d1, d2);
+ }
+ break;
+ case MF_UG_SORT_BY_PRIORITY_DATE_R2O:
+ ret = __mf_ug_fs_oper_sort_by_size_cb_L2S(d1, d2);
+ if (ret == 0) {
+ ret = __mf_ug_fs_oper_sort_by_name_cb_Z2A(d1, d2);
+ }
+ break;
+ case MF_UG_SORT_BY_PRIORITY_SIZE_S2L:
+ ret = __mf_ug_fs_oper_sort_by_name_cb_A2Z(d1, d2);
+ break;
+ case MF_UG_SORT_BY_PRIORITY_SIZE_L2S:
+ ret = __mf_ug_fs_oper_sort_by_name_cb_Z2A(d1, d2);
+ break;
+ default:
+ break;
+ }
+ return ret;
}
/*********************
-**Function name: __sort_by_name_cb
+**Function name: __sort_by_name_cb
**Parameter:
-** const void *d1: node1 to compare
-** const void *d2: node2 to compare
+** const void *d1: node1 to compare
+** const void *d2: node2 to compare
**
**Return value:
-** -1 if d1 > d2
-** 0 if d1 = d2
-** 1 if d1 > d2
+** -1 if d1 > d2
+** 0 if d1 = d2
+** 1 if d1 > d2
**
**Action:
-** sort the list order by the Assic table
+** sort the list order by the Assic table
**
*********************/
static int __mf_ug_fs_oper_sort_by_name_cb_A2Z(const void *d1, const void *d2)
{
- ugFsNodeInfo *txt1 = (ugFsNodeInfo *) d1;
- ugFsNodeInfo *txt2 = (ugFsNodeInfo *) d2;
- gchar *name1 = NULL;
- gchar *name2 = NULL;
- int result = 0;
-
- if (!txt1) {
- return (1);
- }
- if (!txt2) {
- return (-1);
- }
-
- name1 = g_ascii_strdown(txt1->name, strlen(txt1->name));
- if (name1 == NULL) {
- return (-1);
- }
- name2 = g_ascii_strdown(txt2->name, strlen(txt2->name));
- if (name2 == NULL) {
- g_free(name1);
- name1 = NULL;
- return (-1);
- }
- result = g_strcmp0(name1, name2);
-
- g_free(name1);
- name1 = NULL;
- g_free(name2);
- name2 = NULL;
- return result;
+ ugFsNodeInfo *txt1 = (ugFsNodeInfo *) d1;
+ ugFsNodeInfo *txt2 = (ugFsNodeInfo *) d2;
+ gchar *name1 = NULL;
+ gchar *name2 = NULL;
+ int result = 0;
+
+ if (!txt1) {
+ return (1);
+ }
+ if (!txt2) {
+ return (-1);
+ }
+
+ name1 = g_ascii_strdown(txt1->name, strlen(txt1->name));
+ if (name1 == NULL) {
+ return (-1);
+ }
+ name2 = g_ascii_strdown(txt2->name, strlen(txt2->name));
+ if (name2 == NULL) {
+ g_free(name1);
+ name1 = NULL;
+ return (-1);
+ }
+ result = g_strcmp0(name1, name2);
+
+ g_free(name1);
+ name1 = NULL;
+ g_free(name2);
+ name2 = NULL;
+ return result;
}
/*********************
-**Function name: __sort_by_date_cb
+**Function name: __sort_by_date_cb
**Parameter:
-** const void *d1: node1 to compare
-** const void *d2: node2 to compare
+** const void *d1: node1 to compare
+** const void *d2: node2 to compare
**
**Return value:
-** -1 if d1 > d2
-** 0 if d1 = d2
-** 1 if d1 > d2
+** -1 if d1 > d2
+** 0 if d1 = d2
+** 1 if d1 > d2
**
**Action:
-** sort the list order by the later created the later shown
+** sort the list order by the later created the later shown
*********************/
static int __mf_ug_fs_oper_sort_by_date_cb_O2R(const void *d1, const void *d2)
{
- int ret = 0;
- ugFsNodeInfo *time1 = (ugFsNodeInfo *) d1;
- ugFsNodeInfo *time2 = (ugFsNodeInfo *) d2;
-
- if (!d1) {
- return 1;
- }
- if (!d2) {
- return -1;
- }
-
- if (time1->date > time2->date) {
- ret = 1;
- } else if (time1->date < time2->date) {
- ret = -1;
- } else {
- ret = 0;
- }
-
- if (ret == 0) {
- ret = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_DATE_O2R);
- }
- return ret;
+ int ret = 0;
+ ugFsNodeInfo *time1 = (ugFsNodeInfo *) d1;
+ ugFsNodeInfo *time2 = (ugFsNodeInfo *) d2;
+
+ if (!d1) {
+ return 1;
+ }
+ if (!d2) {
+ return -1;
+ }
+
+ if (time1->date > time2->date) {
+ ret = 1;
+ } else if (time1->date < time2->date) {
+ ret = -1;
+ } else {
+ ret = 0;
+ }
+
+ if (ret == 0) {
+ ret = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_DATE_O2R);
+ }
+ return ret;
}
/*********************
-**Function name: __sort_by_type_cb
+**Function name: __sort_by_type_cb
**Parameter:
-** const void *d1: node1 to compare
-** const void *d2: node2 to compare
+** const void *d1: node1 to compare
+** const void *d2: node2 to compare
**
**Return value:
-** -1 if d1 < d2
-** 0 if d1 = d2
-** 1 if d1 > d2
+** -1 if d1 < d2
+** 0 if d1 = d2
+** 1 if d1 > d2
**
**Action:
-** sort the list order by the category type value
+** sort the list order by the category type value
*********************/
static int __mf_ug_fs_oper_sort_by_type_cb_A2Z(const void *d1, const void *d2)
{
- ugFsNodeInfo *type1 = (ugFsNodeInfo *) d1;
- ugFsNodeInfo *type2 = (ugFsNodeInfo *) d2;
- gchar *ext1 = NULL;
- gchar *ext2 = NULL;
- int result = 0;
-
- if (type1 == NULL || type1->ext == NULL) {
- return 1;
- }
-
- if (type2 == NULL || type2->ext == NULL) {
- return -1;
- }
- ext1 = g_ascii_strdown(type1->ext, strlen(type1->ext));
- if (ext1 == NULL) {
- return (-1);
- }
- ext2 = g_ascii_strdown(type2->ext, strlen(type2->ext));
- if (ext2 == NULL) {
- g_free(ext1);
- ext1 = NULL;
- return (-1);
- }
- result = g_strcmp0(ext1, ext2);
-
- g_free(ext1);
- ext1 = NULL;
- g_free(ext2);
- ext2 = NULL;
-
- if (result == 0) {
- result = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_TYPE_A2Z);
- }
-
- return result;
+ ugFsNodeInfo *type1 = (ugFsNodeInfo *) d1;
+ ugFsNodeInfo *type2 = (ugFsNodeInfo *) d2;
+ gchar *ext1 = NULL;
+ gchar *ext2 = NULL;
+ int result = 0;
+
+ if (type1 == NULL || type1->ext == NULL) {
+ return 1;
+ }
+
+ if (type2 == NULL || type2->ext == NULL) {
+ return -1;
+ }
+ ext1 = g_ascii_strdown(type1->ext, strlen(type1->ext));
+ if (ext1 == NULL) {
+ return (-1);
+ }
+ ext2 = g_ascii_strdown(type2->ext, strlen(type2->ext));
+ if (ext2 == NULL) {
+ g_free(ext1);
+ ext1 = NULL;
+ return (-1);
+ }
+ result = g_strcmp0(ext1, ext2);
+
+ g_free(ext1);
+ ext1 = NULL;
+ g_free(ext2);
+ ext2 = NULL;
+
+ if (result == 0) {
+ result = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_TYPE_A2Z);
+ }
+
+ return result;
}
-/*order: the one with smaller size will be shown earlier*/
+/*order: the one with smaller size will be shown earlier*/
/*********************
-**Function name: __sort_by_name_cb
+**Function name: __sort_by_name_cb
**Parameter:
-** const void *d1: node1 to compare
-** const void *d2: node2 to compare
+** const void *d1: node1 to compare
+** const void *d2: node2 to compare
**
**Return value:
-** -1 if d1 > d2
-** 0 if d1 = d2
-** 1 if d1 > d2
+** -1 if d1 > d2
+** 0 if d1 = d2
+** 1 if d1 > d2
**
**Action:
-** sort the list order by size, rule is the smaller the later shown
+** sort the list order by size, rule is the smaller the later shown
*********************/
static int __mf_ug_fs_oper_sort_by_size_cb_S2L(const void *d1, const void *d2)
{
- int ret = 0;
- ugFsNodeInfo *size1 = (ugFsNodeInfo *) d1;
- ugFsNodeInfo *size2 = (ugFsNodeInfo *) d2;
-
- if (!d1) {
- return 1;
- }
-
- if (!d2) {
- return -1;
- }
-
- if (size1->size > size2->size) {
- ret = 1;
- } else if (size1->size < size2->size) {
- ret = -1;
- } else {
- ret = 0;
- }
-
- if (ret == 0) {
- ret = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_SIZE_S2L);
- }
- return ret;
+ int ret = 0;
+ ugFsNodeInfo *size1 = (ugFsNodeInfo *) d1;
+ ugFsNodeInfo *size2 = (ugFsNodeInfo *) d2;
+
+ if (!d1) {
+ return 1;
+ }
+
+ if (!d2) {
+ return -1;
+ }
+
+ if (size1->size > size2->size) {
+ ret = 1;
+ } else if (size1->size < size2->size) {
+ ret = -1;
+ } else {
+ ret = 0;
+ }
+
+ if (ret == 0) {
+ ret = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_SIZE_S2L);
+ }
+ return ret;
}
/*********************
-**Function name: __mf_fs_oper_sort_by_name_cb_Z2A
+**Function name: __mf_fs_oper_sort_by_name_cb_Z2A
**Parameter:
-** const void *d1: node1 to compare
-** const void *d2: node2 to compare
+** const void *d1: node1 to compare
+** const void *d2: node2 to compare
**
**Return value:
-** 1 if d1 > d2
-** -1 if d1 <= d2
+** 1 if d1 > d2
+** -1 if d1 <= d2
**
**Action:
-** sort the list order by the Assic table
+** sort the list order by the Assic table
**
*********************/
static int __mf_ug_fs_oper_sort_by_name_cb_Z2A(const void *d1, const void *d2)
{
- ugFsNodeInfo *txt1 = (ugFsNodeInfo *) d1;
- ugFsNodeInfo *txt2 = (ugFsNodeInfo *) d2;
-
- int result = 0;
-
- if (!txt1) {
- return (1);
- }
- if (!txt2) {
- return (-1);
- }
- result = strcasecmp(txt1->name, txt2->name);
-
- if (result < 0) {
- return (1);
- } else {
- return (-1);
- }
+ ugFsNodeInfo *txt1 = (ugFsNodeInfo *) d1;
+ ugFsNodeInfo *txt2 = (ugFsNodeInfo *) d2;
+
+ int result = 0;
+
+ if (!txt1) {
+ return (1);
+ }
+ if (!txt2) {
+ return (-1);
+ }
+ result = strcasecmp(txt1->name, txt2->name);
+
+ if (result < 0) {
+ return (1);
+ } else {
+ return (-1);
+ }
}
/*********************
-**Function name: __sort_by_date_cb
+**Function name: __sort_by_date_cb
**Parameter:
-** const void *d1: node1 to compare
-** const void *d2: node2 to compare
+** const void *d1: node1 to compare
+** const void *d2: node2 to compare
**
**Return value:
-** -1 if d1 > d2
-** 0 if d1 = d2
-** 1 if d1 < d2
+** -1 if d1 > d2
+** 0 if d1 = d2
+** 1 if d1 < d2
**
**Action:
-** sort the list order by the later created the later shown
+** sort the list order by the later created the later shown
*********************/
static int __mf_ug_fs_oper_sort_by_date_cb_R2O(const void *d1, const void *d2)
{
- int ret = 0;
- ugFsNodeInfo *time1 = (ugFsNodeInfo *) d1;
- ugFsNodeInfo *time2 = (ugFsNodeInfo *) d2;
-
- if (!d1) {
- return -1;
- }
- if (!d2) {
- return 1;
- }
- if (time1->date > time2->date) {
- ret = -1;
- } else if (time1->date < time2->date) {
- ret = 1;
- } else {
- ret = 0;
- }
-
- if (ret == 0) {
- ret = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_DATE_R2O);
- }
- return ret;
+ int ret = 0;
+ ugFsNodeInfo *time1 = (ugFsNodeInfo *) d1;
+ ugFsNodeInfo *time2 = (ugFsNodeInfo *) d2;
+
+ if (!d1) {
+ return -1;
+ }
+ if (!d2) {
+ return 1;
+ }
+ if (time1->date > time2->date) {
+ ret = -1;
+ } else if (time1->date < time2->date) {
+ ret = 1;
+ } else {
+ ret = 0;
+ }
+
+ if (ret == 0) {
+ ret = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_DATE_R2O);
+ }
+ return ret;
}
/*********************
-**Function name: __sort_by_type_cb
+**Function name: __sort_by_type_cb
**Parameter:
-** const void *d1: node1 to compare
-** const void *d2: node2 to compare
+** const void *d1: node1 to compare
+** const void *d2: node2 to compare
**
**Return value:
-** -1 if d1 > d2
-** 0 if d1 = d2
-** 1 if d1 < d2
+** -1 if d1 > d2
+** 0 if d1 = d2
+** 1 if d1 < d2
**
**Action:
-** sort the list order by the category type value
+** sort the list order by the category type value
*********************/
static int __mf_ug_fs_oper_sort_by_type_cb_Z2A(const void *d1, const void *d2)
{
- ugFsNodeInfo *type1 = (ugFsNodeInfo *) d1;
- ugFsNodeInfo *type2 = (ugFsNodeInfo *) d2;
- gchar *ext1 = NULL;
- gchar *ext2 = NULL;
- int result = 0;
-
- if (type1 == NULL || type1->ext == NULL) {
- return -1;
- }
-
- if (type2 == NULL || type2->ext == NULL) {
- return 1;
- }
-
- ext1 = g_ascii_strdown(type1->ext, strlen(type1->ext));
- if (ext1 == NULL) {
- return (1);
- }
- ext2 = g_ascii_strdown(type2->ext, strlen(type2->ext));
- if (ext2 == NULL) {
- g_free(ext1);
- ext1 = NULL;
- return (-1);
- }
- result = g_strcmp0(ext1, ext2);
- g_free(ext1);
- ext1 = NULL;
- g_free(ext2);
- ext2 = NULL;
- if (result == 0) {
- result = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_TYPE_Z2A);
- }
-
- return -result;
+ ugFsNodeInfo *type1 = (ugFsNodeInfo *) d1;
+ ugFsNodeInfo *type2 = (ugFsNodeInfo *) d2;
+ gchar *ext1 = NULL;
+ gchar *ext2 = NULL;
+ int result = 0;
+
+ if (type1 == NULL || type1->ext == NULL) {
+ return -1;
+ }
+
+ if (type2 == NULL || type2->ext == NULL) {
+ return 1;
+ }
+
+ ext1 = g_ascii_strdown(type1->ext, strlen(type1->ext));
+ if (ext1 == NULL) {
+ return (1);
+ }
+ ext2 = g_ascii_strdown(type2->ext, strlen(type2->ext));
+ if (ext2 == NULL) {
+ g_free(ext1);
+ ext1 = NULL;
+ return (-1);
+ }
+ result = g_strcmp0(ext1, ext2);
+ g_free(ext1);
+ ext1 = NULL;
+ g_free(ext2);
+ ext2 = NULL;
+ if (result == 0) {
+ result = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_TYPE_Z2A);
+ }
+
+ return -result;
}
-/*order: the one with smaller size will be shown earlier*/
+/*order: the one with smaller size will be shown earlier*/
/*********************
-**Function name: __sort_by_name_cb
+**Function name: __sort_by_name_cb
**Parameter:
-** const void *d1: node1 to compare
-** const void *d2: node2 to compare
+** const void *d1: node1 to compare
+** const void *d2: node2 to compare
**
**Return value:
-** -1 if d1 > d2
-** 0 if d1 = d2
-** 1 if d1 < d2
+** -1 if d1 > d2
+** 0 if d1 = d2
+** 1 if d1 < d2
**
**Action:
-** sort the list order by size, rule is the smaller the later shown
+** sort the list order by size, rule is the smaller the later shown
*********************/
static int __mf_ug_fs_oper_sort_by_size_cb_L2S(const void *d1, const void *d2)
{
- int ret = 0;
- ugFsNodeInfo *size1 = (ugFsNodeInfo *) d1;
- ugFsNodeInfo *size2 = (ugFsNodeInfo *) d2;
-
- if (!d1) {
- return -1;
- }
-
- if (!d2) {
- return 1;
- }
-
- if (size1->size > size2->size) {
- ret = -1;
- } else if (size1->size < size2->size) {
- ret = 1;
- } else {
- ret = 0;
- }
-
- if (ret == 0) {
- ret = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_SIZE_L2S);
- }
- return ret;
+ int ret = 0;
+ ugFsNodeInfo *size1 = (ugFsNodeInfo *) d1;
+ ugFsNodeInfo *size2 = (ugFsNodeInfo *) d2;
+
+ if (!d1) {
+ return -1;
+ }
+
+ if (!d2) {
+ return 1;
+ }
+
+ if (size1->size > size2->size) {
+ ret = -1;
+ } else if (size1->size < size2->size) {
+ ret = 1;
+ } else {
+ ret = 0;
+ }
+
+ if (ret == 0) {
+ ret = __mf_ug_fs_oper_sort_by_priority(d1, d2, MF_UG_SORT_BY_PRIORITY_SIZE_L2S);
+ }
+ return ret;
}
/*********************
-**Function name: mf_fs_oper_sort_list
+**Function name: mf_fs_oper_sort_list
**Parameter:
-** Eina_List **list: the list we need to sort
-** int sort_opt: sort option
+** Eina_List **list: the list we need to sort
+** int sort_opt: sort option
**
**Return value:
-** void
+** void
**
**Action:
-** sort the list order by sort option with the call back
+** sort the list order by sort option with the call back
*********************/
void mf_ug_fs_oper_sort_list(Eina_List **list, int sort_opt)
{
- Eina_Compare_Cb sort_func = NULL;
- if (!(*list)) {
- return;
- }
- switch (sort_opt) {
- case MF_UG_SORT_BY_NAME_A2Z:
- sort_func = __mf_ug_fs_oper_sort_by_name_cb_A2Z;
- break;
- case MF_UG_SORT_BY_TYPE_A2Z:
- sort_func = __mf_ug_fs_oper_sort_by_type_cb_A2Z;
- break;
- case MF_UG_SORT_BY_SIZE_S2L:
- sort_func = __mf_ug_fs_oper_sort_by_size_cb_S2L;
- break;
- case MF_UG_SORT_BY_DATE_O2R:
- sort_func = __mf_ug_fs_oper_sort_by_date_cb_O2R;
- break;
- case MF_UG_SORT_BY_NAME_Z2A:
- sort_func = __mf_ug_fs_oper_sort_by_name_cb_Z2A;
- break;
- case MF_UG_SORT_BY_TYPE_Z2A:
- sort_func = __mf_ug_fs_oper_sort_by_type_cb_Z2A;
- break;
- case MF_UG_SORT_BY_SIZE_L2S:
- sort_func = __mf_ug_fs_oper_sort_by_size_cb_L2S;
- break;
- case MF_UG_SORT_BY_DATE_R2O:
- sort_func = __mf_ug_fs_oper_sort_by_date_cb_R2O;
- break;
- default:
- sort_func = __mf_ug_fs_oper_sort_by_type_cb_A2Z;
- break;
- }
- *list = eina_list_sort(*list, eina_list_count(*list), sort_func);
+ Eina_Compare_Cb sort_func = NULL;
+ if (!(*list)) {
+ return;
+ }
+ switch (sort_opt) {
+ case MF_UG_SORT_BY_NAME_A2Z:
+ sort_func = __mf_ug_fs_oper_sort_by_name_cb_A2Z;
+ break;
+ case MF_UG_SORT_BY_TYPE_A2Z:
+ sort_func = __mf_ug_fs_oper_sort_by_type_cb_A2Z;
+ break;
+ case MF_UG_SORT_BY_SIZE_S2L:
+ sort_func = __mf_ug_fs_oper_sort_by_size_cb_S2L;
+ break;
+ case MF_UG_SORT_BY_DATE_O2R:
+ sort_func = __mf_ug_fs_oper_sort_by_date_cb_O2R;
+ break;
+ case MF_UG_SORT_BY_NAME_Z2A:
+ sort_func = __mf_ug_fs_oper_sort_by_name_cb_Z2A;
+ break;
+ case MF_UG_SORT_BY_TYPE_Z2A:
+ sort_func = __mf_ug_fs_oper_sort_by_type_cb_Z2A;
+ break;
+ case MF_UG_SORT_BY_SIZE_L2S:
+ sort_func = __mf_ug_fs_oper_sort_by_size_cb_L2S;
+ break;
+ case MF_UG_SORT_BY_DATE_R2O:
+ sort_func = __mf_ug_fs_oper_sort_by_date_cb_R2O;
+ break;
+ default:
+ sort_func = __mf_ug_fs_oper_sort_by_type_cb_A2Z;
+ break;
+ }
+ *list = eina_list_sort(*list, eina_list_count(*list), sort_func);
}
int mf_ug_fs_oper_create_dir(const char *dir)
{
- int option = MF_ERROR_CHECK_SRC_ARG_VALID | MF_ERROR_CHECK_DUPLICATED;
- int ret = __mf_ug_fs_oper_file_system_error(dir, dir, option);
-
- if (ret != 0) {
- return ret;
- }
+ int option = MF_ERROR_CHECK_SRC_ARG_VALID | MF_ERROR_CHECK_DUPLICATED;
+ int ret = __mf_ug_fs_oper_file_system_error(dir, dir, option);
- ret = mf_ug_file_attr_is_right_dir_path(dir);
+ if (ret != 0) {
+ return ret;
+ }
- if (ret != 0) {
- return ret;
- }
+ ret = mf_ug_file_attr_is_right_dir_path(dir);
- mode_t default_mode = S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH;
+ if (ret != 0) {
+ return ret;
+ }
+ if (!mf_mkpath(dir)) {
+ return MYFILE_ERR_DIR_CREATE_FAIL;
+ }
- if (mkdir(dir, default_mode) < 0) {
- return MYFILE_ERR_DIR_CREATE_FAIL;
- }
- return MYFILE_ERR_NONE;
+ return MYFILE_ERR_NONE;
}
diff --git a/src/common/mf-ug-cb.c b/src/common/mf-ug-cb.c
index f7ad1a5..ac3c977 100644
--- a/src/common/mf-ug-cb.c
+++ b/src/common/mf-ug-cb.c
@@ -1,25 +1,24 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include <stdio.h>
-#include <Elementary.h>
-#include <vconf.h>
-#include <vconf-keys.h>
#include <pthread.h>
-#include <power.h>
+#include <Elementary.h>
+#include <device/power.h>
#include "mf-ug-main.h"
#include "mf-ug-util.h"
@@ -29,11 +28,21 @@
#include "mf-ug-fm-svc-wrapper.h"
#include "mf-ug-resource.h"
#include "mf-ug-list-play.h"
+#include "mf-ug-widget.h"
+#include "mf-ug-cb.h"
+#include "mf-ug-db-handle.h"
+#include "mf-ug-music.h"
+#include "mf-ug-ringtone-view.h"
+#include "mf-ug-file-util.h"
+
+#define UG_MAX_LEN_VIB_DURATION 0.5
-#define UG_MAX_LEN_VIB_DURATION 0.5
#ifdef UG_OPERATION_SELECT_MODE
-#define RESULT_KEY "http://tizen.org/appcontrol/data/selected"
+ #define RESULT_KEY "http://tizen.org/appcontrol/data/selected"
#endif
+
+bool g_is_press_cancel_button = false;
+
/******************************
** Prototype : mf_ug_cb_back_button_cb
** Description :
@@ -52,110 +61,140 @@
**
******************************/
-void mf_ug_cb_back_button_cb(void *data, Evas_Object *obj, void *event_info)
+Eina_Bool mf_ug_ringtone_present_del_result(void *data)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, EINA_FALSE, "ugData is NULL");
+
+ if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none && ugd->ug_UiGadget.default_ringtone) {
+ if (mf_ug_popup_present_flag_get()) {
+ char *result = NULL;
+ app_control_h app_control = NULL;
+ result = g_strdup(DEFAULT_RINGTONE_MARK);
+ if (result) {
+ SECURE_ERROR("result is [%s]", result);
+ int ret = 0;
+ ret = app_control_create(&app_control);
+ if (ret == APP_CONTROL_ERROR_NONE) {
+ app_control_add_extra_data(app_control, "result", result);
+ app_control_add_extra_data(app_control, APP_CONTROL_DATA_SELECTED, result);
+ ug_send_result_full(ugd->ug, app_control, APP_CONTROL_RESULT_SUCCEEDED);
+ app_control_destroy(app_control);
+ }
+ SECURE_DEBUG("result is [%s]", result);
+ UG_SAFE_FREE_CHAR(result);
+ return EINA_TRUE;
+ }
+
+ }
+ }
+ return EINA_FALSE;
+}
+
+bool mf_ug_cb_back_operation(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugData is NULL");
-
- if (ugd->ug_Status.ug_bCancelDisableFlag) {
- return;
- }
- if (0 != ugd->ug_ListPlay.ug_Player) {
- mf_ug_list_play_destory_playing_file(ugd);
- UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
- }
- if (ugd->ug_Status.ug_iMore == UG_MORE_SEARCH) {
-
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
- ug_mf_retm_if(pNavi_s == NULL, "get navi failed");
- Evas_Object *playout = ugd->ug_MainWindow.ug_pNaviLayout;
- ug_mf_retm_if(playout == NULL, "get conformant failed");
- Evas_Object *newContent = NULL;
-
- newContent = mf_ug_genlist_create_content_list_view(ugd);
-
- Evas_Object *unUsed = elm_object_part_content_unset(playout, "part1");
- evas_object_del(unUsed);
-
- elm_object_part_content_set(playout, "part1", newContent);
- ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT;
- } else {
- if (ugd->ug_Status.ug_bSettingEntry == true && ugd->ug_Status.ug_bInSettingView == false) {
- Eina_List *l = NULL;
- void *item = NULL;
- ugNaviBar *pNavi_s = NULL;
- ugNaviBar *pNavi_toshow = NULL;
- GString *title = NULL;
-
- if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING || ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) {
- mf_ug_list_play_destory_playing_file(ugd);
- UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
- }
-
- EINA_LIST_FOREACH(ugd->ug_MainWindow.ug_pNaviBarList, l, item) {
- pNavi_s = (ugNaviBar *)item;
- if (pNavi_s == NULL)
- return;
- if (g_strcmp0(pNavi_s->ug_pNaviLabel, MF_UG_LABEL_PHONE) == 0) {
- if (pNavi_s->ug_pCurrentPath != NULL) {
- free(pNavi_s->ug_pCurrentPath);
- pNavi_s->ug_pCurrentPath = NULL;
- }
- pNavi_s->ug_pCurrentPath = strdup(ugd->ug_Status.ug_pEntryPath);
- pNavi_s->ug_bNaviFlagInUse = true;
- pNavi_toshow = pNavi_s;
- } else {
- if (pNavi_s->ug_pCurrentPath != NULL) {
- free(pNavi_s->ug_pCurrentPath);
- pNavi_s->ug_pCurrentPath = NULL;
- }
- pNavi_s->ug_pCurrentPath = strdup(MEMORY_FOLDER);
- pNavi_s->ug_bNaviFlagInUse = false;
- }
-
- }
-
- if (pNavi_toshow == NULL) {
- ug_debug("pNavi_toshow is NULL");
- return;
- }
-
- if (ugd->ug_Status.ug_pPath) {
- g_string_free(ugd->ug_Status.ug_pPath, TRUE);
- ugd->ug_Status.ug_pPath = NULL;
- }
-
- ugd->ug_Status.ug_bInSettingView = true;
-
- if (ugd->ug_Status.ug_pPath) {
- g_string_free(ugd->ug_Status.ug_pPath, TRUE);
- ugd->ug_Status.ug_pPath = NULL;
- }
-
- pNavi_toshow->ug_pCurrentPath = strdup(ugd->ug_Status.ug_pEntryPath);
- ugd->ug_Status.ug_pPath = g_string_new(pNavi_toshow->ug_pCurrentPath);
- title = mf_ug_fm_svc_wapper_get_file_name(ugd->ug_Status.ug_pPath);
-
- if (title != NULL) {
- pNavi_toshow->ug_pNaviTitle = g_strdup(title->str);
- g_string_free(title, TRUE);
- title = NULL;
- }
- ugd->ug_Status.ug_iViewType = mf_ug_view_normal;
- mf_ug_navi_bar_create_default_view(ugd);
- mf_ug_ctrl_bar_set_item_disable(ugd);
-
- elm_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, pNavi_toshow->ug_pNaviTitle);
- elm_naviframe_item_title_visible_set(ugd->ug_MainWindow.ug_pNaviItem, EINA_TRUE);
-
- } else {
- ug_destroy_me(ugd->ug);
- }
-
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+
+ mf_ug_view_node_s *view_node = NULL;
+ view_node = mf_ug_util_path_pop();
+ if (view_node && view_node->path) {
+ if (g_strcmp0(ugd->ug_Status.ug_launch_path, view_node->path) == 0 && ugd->ug_Status.ug_launch_view == ugd->ug_Status.ug_iViewType) {
+ mf_ug_util_view_node_free(&view_node);
+ return true;
+ }
+ }
+ view_node = NULL;
+ view_node = mf_ug_util_path_top_get();
+ if (view_node) {
+ UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath);
+ ugd->ug_Status.ug_pPath = g_string_new(view_node->path);
+ ugd->ug_Status.ug_iViewType = view_node->view_type;
+ ug_error("================= top path is [%s] view_type is [%d] ", ugd->ug_Status.ug_pPath->str, ugd->ug_Status.ug_iViewType);
+ mf_ug_navi_bar_create_default_view(ugd);
+ /*} modify by wangyan
+ } modify by wangyan*/
+ mf_ug_navi_bar_set_ctrl_item_disable(ugd);
+ elm_naviframe_item_title_enabled_set(ugd->ug_MainWindow.ug_pNaviItem, EINA_TRUE, EINA_FALSE);
+ return false;
+ } else {
+ return true;
+ }
+ return true;
+
+}
+
+Eina_Bool mf_ug_cb_back_button_cb(void *data, Elm_Object_Item *it)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, EINA_FALSE, "ugData is NULL");
+
+ if (ugd->ug_Status.ug_bCancelDisableFlag) {
+ return EINA_FALSE;
+ }
+ if (0 != ugd->ug_ListPlay.ug_Player) {
+ mf_ug_list_play_destory_playing_file(ugd);
+ ugd->ug_ListPlay.play_data = NULL;
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ }
+ if (ugd->ug_Status.ug_iViewType == mf_ug_view_ringtone_del) {
+ ugd->ug_Status.ug_iViewType = mf_ug_view_normal;
+ ugd->ug_Status.ug_iCheckedCount = 0;
+ ugd->ug_Status.ug_bSelectAllChecked = EINA_FALSE;
+ mf_ug_create_rintone_view(ugd);
+ mf_ug_main_update_ctrl_in_idle(ugd);
+ return EINA_FALSE;
+ }
+ if (ugd->ug_Status.ug_iMore == UG_MORE_SEARCH) {
+ Evas_Object *playout = ugd->ug_MainWindow.ug_pNaviLayout;
+ ug_mf_retvm_if(playout == NULL, EINA_FALSE, "get conformant failed");
+ Evas_Object *newContent = NULL;
+
+ newContent = mf_ug_genlist_create_content_list_view(ugd);
+
+ Evas_Object *unUsed = elm_object_part_content_unset(playout, "part1");
+ evas_object_del(unUsed);
+
+ elm_object_part_content_set(playout, "part1", newContent);
+ ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT;
+ } else {
+ bool is_exit_ug = true;/*Fix the P130924-02121 bug*/
+ if (g_is_press_cancel_button == true) {
+ is_exit_ug = true;
+ } else {
+ is_exit_ug = mf_ug_cb_back_operation(ugd);
+ }
+ g_is_press_cancel_button = false;/*initiate it.*/
+ ug_error("is_exit_ug is [%d]", is_exit_ug);
+ if (is_exit_ug) {
+ /*Fix the P130910-01714 problem, when back from the UG, the other app will be crashed. need to communicate with other app, then apply the new code.
+ Fix the P131009-01740, and P130902-01617*/
+ if (!mf_ug_ringtone_present_del_result(ugd)) {
+ app_control_h service = NULL;
+ int ret = app_control_create(&service);
+ if (ret == APP_CONTROL_ERROR_NONE) {
+ ug_send_result_full(ugd->ug, service, APP_CONTROL_RESULT_FAILED);
+ app_control_destroy(service);
+ }
+ }
+ ug_destroy_me(ugd->ug);
+ ugd->ug = NULL;
+ }
+ }
+ UG_TRACE_END;
+ return EINA_FALSE;
+
+}
+void mf_ug_cb_cancel_button_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugData is NULL");
+ g_is_press_cancel_button = true;
+ mf_ug_cb_back_button_cb(ugd, NULL);
}
/******************************
@@ -175,236 +214,268 @@ void mf_ug_cb_back_button_cb(void *data, Evas_Object *obj, void *event_info)
** Modification : Created function
**
******************************/
-
-void mf_ug_cb_add_button_cb(void *data, Evas_Object *obj, void *event_info)
+static void __mf_ug_cb_ringtone_set(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugData is NULL");
-
- service_h service;
-
- char *result = NULL;
-
- if (ugd->ug_Status.ug_b_NaviPushFlag) {
- UG_TRACE_END;
- return;
- }
-
- if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) {
- result = g_strdup(ugd->ug_Status.ug_pPath->str);
- } else {
- result = mf_ug_util_get_send_result(ugd);
- }
- if (ugd->ug_Status.ug_bRingtoneSet) {
- ug_error("result is [%s]", result);
- int ret = MYFILE_ERR_NONE;
- ret = mf_ug_file_attr_is_drm_file(result);
- ug_error("ret is [%d]", ret);
- if (ret == MYFILE_ERR_NONE) {
- ret = mf_ug_fs_oper_drm_is_valid(result, DRM_PERMISSION_TYPE_PLAY);
- ug_error("ret is [%d]", ret);
- if (ret == true) {
- ret = mf_ug_fs_oper_drm_is_action_allowed(result, DRM_HAS_VALID_SETAS_STATUS, DRM_SETAS_RINGTONE);
- ug_error("ret is [%d]", ret);
- }
- if (ret == false) {
- mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_DRM_UNABLE_SET, NULL, NULL, NULL, NULL, NULL);
- return;
- }
- }
- }
- if (result) {
- int ret = 0;
- ret = service_create(&service);
- if (ret == SERVICE_ERROR_NONE) {
-#ifdef UG_OPERATION_SELECT_MODE
- if (ugd->ug_UiGadget.ug_bOperationSelectFlag) {
- service_add_extra_data(service, RESULT_KEY, result);
- } else {
- service_add_extra_data(service, "result", result);
- }
-#else
- service_add_extra_data(service, "result", result);
-#endif
- ug_send_result(ugd->ug, service);
- service_destroy(service);
- }
- ug_debug("result is [%s]", result);
- UG_SAFE_FREE_CHAR(result);
- }
-
- if (0 != ugd->ug_ListPlay.ug_Player) {
- mf_ug_list_play_destory_playing_file(ugd);
- UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
- }
- ug_destroy_me(ugd->ug);
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ ug_mf_retm_if(ugd->ug == NULL, "ugd is NULL"); /*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/
+
+ char *file_path = mf_ug_util_get_send_result(ugd);
+ app_control_h app_control = NULL;
+ if (mf_ug_is_silent(ugd, file_path)) {
+ UG_SAFE_FREE_CHAR(file_path);
+ file_path = g_strdup(SILENT);
+ if (file_path) {
+ SECURE_DEBUG("result is [%s]", file_path);
+ int ret = 0;
+ ret = app_control_create(&app_control);
+ if (ret == APP_CONTROL_ERROR_NONE) {
+ app_control_add_extra_data(app_control, "result", file_path);
+ app_control_add_extra_data(app_control, APP_CONTROL_DATA_SELECTED, file_path);
+ ug_send_result_full(ugd->ug, app_control, APP_CONTROL_RESULT_SUCCEEDED);
+ app_control_destroy(app_control);
+ }
+ SECURE_DEBUG("result is [%s]", file_path);
+ UG_SAFE_FREE_CHAR(file_path);
+ }
+ ug_destroy_me(ugd->ug);
+ ugd->ug = NULL;
+
+ } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert
+ || mf_ug_is_default_ringtone(ugd, file_path)
+ || mf_ug_fm_svc_wapper_is_default_ringtone(ugd, file_path)/*Fixed P140612-01028, only support the added music file */) {
+ if (file_path) {
+ SECURE_DEBUG("result is [%s]", file_path);
+ if (mf_ug_is_default_ringtone(ugd, file_path)) {
+ UG_SAFE_FREE_CHAR(file_path);
+ file_path = g_strdup(DEFAULT_RINGTONE_MARK);
+ }
+ int ret = 0;
+ ret = app_control_create(&app_control);
+ if (ret == APP_CONTROL_ERROR_NONE) {
+ app_control_add_extra_data(app_control, "result", file_path);
+ app_control_add_extra_data(app_control, APP_CONTROL_DATA_SELECTED, file_path);
+ ug_send_result_full(ugd->ug, app_control, APP_CONTROL_RESULT_SUCCEEDED);
+ app_control_destroy(app_control);
+ }
+ SECURE_DEBUG("result is [%s]", file_path);
+ UG_SAFE_FREE_CHAR(file_path);
+ }
+ ug_destroy_me(ugd->ug);
+ ugd->ug = NULL;
+ } else {
+ if (mf_ug_ringtone_is_default(ugd->ug_UiGadget.ug_iSoundMode, file_path)) {
+ int ret = 0;
+ ret = app_control_create(&app_control);
+ if (ret == APP_CONTROL_ERROR_NONE) {
+ app_control_add_extra_data(app_control, "result", file_path);
+ app_control_add_extra_data(app_control, APP_CONTROL_DATA_SELECTED, file_path);
+ ug_send_result_full(ugd->ug, app_control, APP_CONTROL_RESULT_SUCCEEDED);
+ app_control_destroy(app_control);
+ }
+ SECURE_DEBUG("result is [%s]", file_path);
+ UG_SAFE_FREE_CHAR(file_path);
+ ug_destroy_me(ugd->ug);
+ ugd->ug = NULL;
+ }
+ }
+ return;
}
-void mf_ug_cb_list_by_response_cb(void *data)
+static bool __mf_ug_cb_normal_result_send(void *data)
{
- ugData *ugd = (ugData *)data;
- assert(ugd);
-
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
- ug_mf_retm_if(pNavi_s == NULL, "get navi failed");
- Evas_Object *playout = ugd->ug_MainWindow.ug_pNaviLayout;
- ug_mf_retm_if(playout == NULL, "get conformant failed");
- Evas_Object *newContent = NULL;
-
- newContent = mf_ug_genlist_create_content_list_view(ugd);
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retv_if(ugd == NULL, false);
+ ug_mf_retv_if(ugd->ug == NULL, false); /*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/
+
+ bool flag_exit = true;
+ char *result = NULL;
+ app_control_h app_control = NULL;
+
+ if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) {
+ result = g_strdup(ugd->ug_Status.ug_pPath->str);
+ } else {
+ result = mf_ug_util_get_send_result(ugd);
+ }
+
+ if (result) {
+ SECURE_ERROR("result is [%s]", result);
+ int ret = 0;
+ ret = app_control_create(&app_control);
+ if (ret == APP_CONTROL_ERROR_NONE) {
+ int count = 0;
+ char **array = mf_ug_util_get_send_result_array(ugd, &count);
+ int i = 0;
+ if (array) {
+ app_control_add_extra_data_array(app_control, APP_CONTROL_DATA_SELECTED, (const char **)array, count);
+ app_control_add_extra_data_array(app_control, APP_CONTROL_DATA_PATH, (const char **)array, count);
+ app_control_add_extra_data_array(app_control, "path", (const char **)array, count);
+ for (i = 0; i < count; i++) {
+ UG_SAFE_FREE_CHAR(array[i]);
+ }
+ UG_SAFE_FREE_CHAR(array);
+ } else {
+ ug_error("Invalid selection!!");
+ }
+ app_control_add_extra_data(app_control, "result", result);
+ app_control_add_extra_data(app_control, APP_CONTROL_DATA_SELECTED, result);
+ ug_send_result_full(ugd->ug, app_control, APP_CONTROL_RESULT_SUCCEEDED);
+ app_control_destroy(app_control);
+ } else {
+ ug_error("failed to create app control.");
+ }
+ SECURE_DEBUG("result is [%s]", result);
+ UG_SAFE_FREE_CHAR(result);
+ } else {
+ ug_error("Invalid selection!!");
+ }
+ return flag_exit;
+}
- Evas_Object *unUsed = elm_object_part_content_unset(playout, "part1");
- evas_object_del(unUsed);
+#ifdef UG_OPERATION_SELECT_MODE
+static bool __mf_ug_selected_mode_result_send(void *data)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retv_if(ugd == NULL, false);
+ ug_mf_retv_if(ugd->ug == NULL, false);/*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/
+
+ bool flag_exist = true;
+ app_control_h app_control = NULL;
+
+ if (ugd->ug_UiGadget.ug_bOperationSelectFlag) {
+ ug_error();
+ int ret = 0;
+ ret = app_control_create(&app_control);
+ if (ret == APP_CONTROL_ERROR_NONE) {
+ int count = 0;
+ char **array = mf_ug_util_get_send_result_array(ugd, &count);
+ int i = 0;
+ if (array) {
+ app_control_add_extra_data_array(app_control, APP_CONTROL_DATA_SELECTED, (const char **)array, count);
+ app_control_add_extra_data_array(app_control, APP_CONTROL_DATA_PATH, (const char **)array, count);
+
+ for (i = 0; i < count; i++) {
+ UG_SAFE_FREE_CHAR(array[i]);
+ }
+ UG_SAFE_FREE_CHAR(array);
+ ug_send_result_full(ugd->ug, app_control, APP_CONTROL_RESULT_SUCCEEDED);
+ app_control_destroy(app_control);
+ } else {
+ ug_error("Invalid selection!!");
+ app_control_destroy(app_control);
+ }
+ } else {
+ ug_error("failed to create app control.");
+ }
+ } else {
+ flag_exist = __mf_ug_cb_normal_result_send(ugd);
+
+ }
+ return flag_exist;
+}
+#endif
- elm_object_part_content_set(playout, "part1", newContent);
+void mf_ug_cb_add_button_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugData is NULL");
+
+ if (0 != ugd->ug_ListPlay.ug_Player) {
+ ugd->ug_ListPlay.hiden_flag = true;
+ mf_ug_list_play_destory_playing_file(ugd);
+ mf_ug_list_disable_play_itc(ugd, false);;
+ ugd->ug_ListPlay.play_data = NULL;
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ }
+ if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) {
+ __mf_ug_cb_ringtone_set(ugd);
+ return;
+ }
+#ifdef UG_OPERATION_SELECT_MODE
+ if (__mf_ug_selected_mode_result_send(ugd)) {
+ ug_destroy_me(ugd->ug);
+ ugd->ug = NULL;
+ }
+#else
+ if (__mf_ug_cb_normal_result_send(ugd)) {
+ ug_destroy_me(ugd->ug);
+ ugd->ug = NULL;
+ }
+#endif
+ UG_TRACE_END;
}
-
-void mf_ug_cb_list_by_button_callback(void *data, Evas_Object * obj, void *event_info)
+void mf_ug_cb_delete_button_confirm_cb(void *data, Evas_Object *obj, void *event_info)
{
- assert(data);
- assert(obj);
- ugData *ugd = (ugData *)data;
-
- Evas_Object *btn = (Evas_Object *)obj;
- const char *label = elm_object_text_get(btn);
- int iListBySortType = 0;
-
- if (g_strcmp0(label, MF_UG_LABEL_ASCENDING) == 0 ) {
- switch(ugd->ug_Status.ug_iSelectedSortType) {
- case 0:
- iListBySortType = MF_UG_SORT_BY_NAME_Z2A;
- break;
- case 1:
- iListBySortType = MF_UG_SORT_BY_DATE_R2O;
- break;
-
- case 2:
- iListBySortType = MF_UG_SORT_BY_SIZE_L2S;
- break;
- case 3:
- iListBySortType = MF_UG_SORT_BY_TYPE_Z2A;
- break;
- default:
- iListBySortType = MF_UG_SORT_BY_DATE_R2O;
- break;
- }
- } else if(g_strcmp0(label, MF_UG_LABEL_DESCENDING) == 0 ) {
- switch(ugd->ug_Status.ug_iSelectedSortType) {
- case 0:
- iListBySortType = MF_UG_SORT_BY_NAME_A2Z;
- break;
- case 1:
- iListBySortType = MF_UG_SORT_BY_DATE_O2R;
- break;
-
- case 2:
- iListBySortType = MF_UG_SORT_BY_SIZE_S2L;
- break;
- case 3:
- iListBySortType = MF_UG_SORT_BY_TYPE_A2Z;
- break;
- default:
- iListBySortType = MF_UG_SORT_BY_DATE_O2R;
- break;
- }
-
- }
- ugd->ug_Status.ug_iSortType = iListBySortType;
- mf_ug_cb_list_by_response_cb(ugd);
+ ugData *ugd = (ugData *)data;
+ Evas_Object *btn = (Evas_Object *)obj;
+ const char *label = elm_object_text_get(btn);
+ ug_error("label = %s", label);
+ if (g_strcmp0(label, mf_ug_widget_get_text(MF_UG_LABEL_DELETE)) == 0) {
+ mf_ug_cb_delete_button_cb(data, obj, event_info);
+ UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNormalPopup);
+ } else {
+ UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNormalPopup);
+ }
}
-
-void mf_ug_cb_popup_deleted_cb(void *data, Evas_Object * obj, void *event_info)
+void mf_ug_cb_delete_button_popup_create(void *data, Evas_Object *obj, void *event_info)
{
- ugData *ugd = (ugData *)data;
- assert(ugd);
-
- mf_ug_cb_list_by_button_callback(data, obj, event_info);
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugData is NULL");
- if (ugd->ug_MainWindow.ug_pNormalPopup != NULL) {
- evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup);
- }
- ugd->ug_MainWindow.ug_pNormalPopup = NULL;
+ if (ugd->ug_MainWindow.ug_pNormalPopup) {
+ UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNormalPopup);
+ }
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT_TWO_BTN, NULL, MF_UG_BUTTON_LABEL_DEL, MF_UG_LABEL_CANCEL, MF_UG_LABEL_DELETE, NULL, mf_ug_cb_delete_button_confirm_cb, ugd);
+ UG_TRACE_END;
}
-void mf_ug_cb_sort_by_cb(void *data, Evas_Object *obj, void *event_info)
-{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugData is NULL");
-
- if (ugd->ug_Status.ug_b_NaviPushFlag) {
- UG_TRACE_END;
- return;
- }
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_LIST_BY, MF_UG_LABEL_LIST_BY,
- NULL, NULL, NULL, NULL, mf_ug_cb_popup_deleted_cb, ugd);
- UG_TRACE_END;
-}
-void mf_ug_cb_goto_myfile_button_cb(void *data, Evas_Object *obj, void *event_info)
+void mf_ug_cb_delete_button_cb(void *data, Evas_Object *obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugData is NULL");
-
- if (ugd->ug_Status.ug_bCancelDisableFlag) {
- ug_debug("ug_Status.ug_bCancelDisableFlag is true");
- return;
- }
- ugNaviBar *item = NULL;
- Eina_List *l = NULL;
-
- ugNaviBar *pNavi_s = NULL;
- ugNaviBar *pNavi_toshow = NULL;
-
- EINA_LIST_FOREACH(ugd->ug_MainWindow.ug_pNaviBarList, l, item) {
- pNavi_s = (ugNaviBar *)item;
- if (pNavi_s == NULL)
- return;
- if (g_strcmp0(pNavi_s->ug_pNaviLabel, MF_UG_LABEL_PHONE) == 0) {
- if (pNavi_s->ug_pCurrentPath != NULL) {
- free(pNavi_s->ug_pCurrentPath);
- pNavi_s->ug_pCurrentPath = NULL;
- }
- pNavi_s->ug_pCurrentPath = strdup(PHONE_FOLDER);
- pNavi_s->ug_bNaviFlagInUse = true;
- pNavi_toshow = pNavi_s;
- } else {
- if (pNavi_s->ug_pCurrentPath != NULL) {
- free(pNavi_s->ug_pCurrentPath);
- pNavi_s->ug_pCurrentPath = NULL;
- }
- pNavi_s->ug_pCurrentPath = strdup(MEMORY_FOLDER);
- pNavi_s->ug_bNaviFlagInUse = false;
- }
-
- }
-
-
- if (0 != ugd->ug_ListPlay.ug_Player) {
- mf_ug_list_play_destory_playing_file(ugd);
- UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
- }
-
- if (ugd->ug_Status.ug_pPath) {
- g_string_free(ugd->ug_Status.ug_pPath, TRUE);
- ugd->ug_Status.ug_pPath = NULL;
- }
- ugd->ug_Status.ug_pPath = g_string_new(SOUNDS_FOLDER);
- UG_SAFE_FREE_CHAR(pNavi_s->ug_pCurrentPath);
- pNavi_s->ug_pCurrentPath = strdup(ugd->ug_Status.ug_pPath->str);
-
- ugd->ug_Status.ug_bInSettingView = false;
-
- mf_ug_navi_bar_create_default_view(ugd);
- ugd->ug_Status.ug_bCancelDisableFlag = true;
- mf_ug_ctrl_bar_set_item_disable(ugd);
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugData is NULL");
+
+ if (0 != ugd->ug_ListPlay.ug_Player) {
+ mf_ug_list_play_destory_playing_file(ugd);
+ ugd->ug_ListPlay.play_data = NULL;
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ }
+
+ Evas_Object *content = ugd->ug_MainWindow.ug_pNaviGenlist;
+ Elm_Object_Item *gli = elm_genlist_first_item_get(content);
+ Elm_Object_Item *nli = NULL;
+ while (gli) {
+ ugListItemData *params = (ugListItemData *)elm_object_item_data_get(gli);
+ ug_mf_retm_if(params == NULL, "params is NULL");
+ if (params->ug_pCheckBox) {
+ if (params->ug_bChecked == true) {
+ if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) {
+ mf_ug_db_handle_del_ringtone(params->ug_pItemName->str);
+ } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) {
+ mf_ug_db_handle_del_alert(params->ug_pItemName->str);
+ }
+ }
+ }
+ nli = elm_genlist_item_next_get(gli);
+ gli = nli;
+ }
+
+ if (ugd->ug_Status.ug_iViewType == mf_ug_view_ringtone_del) {
+ ugd->ug_Status.ug_iViewType = mf_ug_view_normal;
+ mf_ug_create_rintone_view(ugd);
+ return;
+ }
+ UG_TRACE_END;
}
@@ -426,38 +497,38 @@ void mf_ug_cb_goto_myfile_button_cb(void *data, Evas_Object *obj, void *event_in
void mf_ug_cb_mass_storage_popup_cb(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugData is NULL");
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugData is NULL");
- mf_ug_cb_back_button_cb(ugd, NULL, NULL);
+ mf_ug_cb_back_button_cb(ugd, NULL);
- if (ugd->ug_MainWindow.ug_pNormalPopup) {
- evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup);
- ugd->ug_MainWindow.ug_pNormalPopup = NULL;
- }
- UG_TRACE_END;
+ if (ugd->ug_MainWindow.ug_pNormalPopup) {
+ evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup);
+ ugd->ug_MainWindow.ug_pNormalPopup = NULL;
+ }
+ UG_TRACE_END;
}
void mf_ug_cb_upper_button_pressed_cb(void *data, Evas_Object * obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
- Evas_Object *upper_ic = (Evas_Object *)data;
- elm_image_file_set(upper_ic, UG_TITLE_ICON_UPPER_PRESS, NULL);
+ Evas_Object *upper_ic = (Evas_Object *)data;
+
+ elm_image_file_set(upper_ic, UG_EDJ_IMAGE, UG_TITLE_ICON_UPPER_PRESS);
}
void mf_ug_cb_upper_button_unpressed_cb(void *data, Evas_Object * obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
- Evas_Object *upper_ic = (Evas_Object *)data;
- elm_image_file_set(upper_ic, UG_TITLE_ICON_UPPER, NULL);
+ Evas_Object *upper_ic = (Evas_Object *)data;
+ elm_image_file_set(upper_ic, UG_EDJ_IMAGE, UG_TITLE_ICON_UPPER);
}
-
/******************************
** Prototype : mf_ug_cb_upper_click_cb
** Description : Samsung
@@ -477,262 +548,90 @@ void mf_ug_cb_upper_button_unpressed_cb(void *data, Evas_Object * obj, void *eve
******************************/
void mf_ug_cb_upper_click_cb(void *data, Evas_Object * obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
- ug_mf_retm_if(pNavi_s == NULL, "pNavi_s is NULL");
-
- if (ugd->ug_Status.ug_b_NaviPushFlag) {
- UG_TRACE_END;
- return;
- }
-
- if (ugd->ug_Status.ug_pPath != NULL && pNavi_s->ug_pCurrentPath != NULL) {
- if (g_strcmp0(pNavi_s->ug_pCurrentPath, MF_UG_LABEL_PHONE) == 0
- || g_strcmp0(pNavi_s->ug_pCurrentPath, MF_UG_LABEL_MMC) == 0) {
- mf_ug_navi_bar_create_default_view(ugd);
- return;
- }
- GString *new_path = NULL;
- char *file_dir = ecore_file_dir_get(pNavi_s->ug_pCurrentPath);
- if (file_dir) {
- new_path = g_string_new(file_dir);
- UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath);
- ugd->ug_Status.ug_pPath = new_path;
- UG_SAFE_FREE_CHAR(pNavi_s->ug_pCurrentPath);
- pNavi_s->ug_pCurrentPath = strdup(new_path->str);
- free(file_dir);
- file_dir = NULL;
- } else {
- ug_debug("file_dir is NULL");
- }
- } else {
- ugd->ug_Status.ug_pPath = g_string_new(MF_UG_LABEL_PHONE);
- pNavi_s->ug_pCurrentPath = strdup(MF_UG_LABEL_PHONE);
- }
- mf_ug_navi_bar_create_default_view(ugd);
- mf_ug_ctrl_bar_set_item_disable(ugd);
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+ if (ugd->ug_Status.ug_pPath != NULL) {
+ if (mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath->str)) {
+ ugd->ug_Status.ug_iViewType = mf_ug_view_root;
+ }
+
+ if (g_strcmp0(ugd->ug_Status.ug_pPath->str, mf_ug_widget_get_text(MF_UG_LABEL_PHONE)) == 0
+ || g_strcmp0(ugd->ug_Status.ug_pPath->str, mf_ug_widget_get_text(MF_UG_LABEL_MMC)) == 0) {
+ mf_ug_navi_bar_create_default_view(ugd);
+ return;
+ }
+ GString *new_path = NULL;
+ char *file_dir = mf_dir_get(ugd->ug_Status.ug_pPath->str);
+ if (file_dir && ugd->ug_Status.ug_iViewType != mf_ug_view_root) {
+ new_path = g_string_new(file_dir);
+ UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath);
+ ugd->ug_Status.ug_pPath = new_path;
+ free(file_dir);
+ file_dir = NULL;
+ } else {
+ ug_debug("file_dir is NULL");
+ if (file_dir) {
+ free(file_dir);
+ file_dir = NULL;
+ }
+ }
+ } else {
+ ugd->ug_Status.ug_pPath = g_string_new(mf_ug_widget_get_text(MF_UG_LABEL_PHONE));
+ }
+ mf_ug_navi_bar_create_default_view(ugd);
+ mf_ug_navi_bar_set_ctrl_item_disable(ugd);
+ UG_TRACE_END;
}
void mf_ug_cb_home_button_pressed_cb(void *data, Evas_Object * obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
- Evas_Object *home_ic = (Evas_Object *)data;
- elm_image_file_set(home_ic, UG_TITLE_ICON_HOME_PRESS, NULL);
+ Evas_Object *home_ic = (Evas_Object *)data;
+ elm_image_file_set(home_ic, UG_EDJ_IMAGE, UG_TITLE_ICON_HOME_PRESS);
}
void mf_ug_cb_home_button_unpressed_cb(void *data, Evas_Object * obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
- Evas_Object *home_ic = (Evas_Object *)data;
- elm_image_file_set(home_ic, UG_TITLE_ICON_HOME, NULL);
+ Evas_Object *home_ic = (Evas_Object *)data;
+ elm_image_file_set(home_ic, UG_EDJ_IMAGE, UG_TITLE_ICON_HOME);
}
void mf_ug_cb_home_button_cb(void *data, Evas_Object * obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
- ug_mf_retm_if(pNavi_s == NULL, "pNavi_s is NULL");
-
- if (ugd->ug_Status.ug_b_NaviPushFlag) {
- UG_TRACE_END;
- return;
- }
-
- int storage = MF_UG_PHONE;
-
- storage = mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str);
- switch (storage) {
- case MF_UG_PHONE:
- UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath);
- ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER);
- UG_SAFE_FREE_CHAR(pNavi_s->ug_pCurrentPath);
- pNavi_s->ug_pCurrentPath = g_strdup(PHONE_FOLDER);
- mf_ug_util_set_current_state(ugd, STATE_PHONE);
- break;
- case MF_UG_MMC:
- UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath);
- ugd->ug_Status.ug_pPath = g_string_new(MEMORY_FOLDER);
- UG_SAFE_FREE_CHAR(pNavi_s->ug_pCurrentPath);
- pNavi_s->ug_pCurrentPath = g_strdup(MEMORY_FOLDER);
- mf_ug_util_set_current_state(ugd, STATE_MEMORY);
- break;
- default:
- return;
- }
-
- mf_ug_navi_bar_create_default_view(ugd);
- mf_ug_ctrl_bar_set_item_disable(ugd);
- UG_TRACE_END;
-}
-
-/******************************
-** Prototype : tab_callback
-** Description :
-** Input : void *data
-** Evas_Object *obj
-** void *event_info
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-void mf_ug_cb_tab_bar_cb(void *data, const char *path)
-{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
-
- const char *label = NULL;
- Evas_Object *newContent = NULL;
- Evas_Object *pNaviBar = NULL;
- ugNaviBar *pNavi_s_toshow = NULL;
- ugNaviBar *pNavi_s_inuse = NULL;
-
- if (ugd->ug_Status.ug_bSettingEntry == true && ugd->ug_Status.ug_bInSettingView == true) {
- return;
- }
-
- int optStorage = 0;
- optStorage = mf_ug_fm_svc_wapper_get_location(path);
- switch (optStorage) {
- case MF_UG_PHONE:
- label = MF_UG_LABEL_PHONE;
- break;
- case MF_UG_MMC:
- label = MF_UG_LABEL_MMC;
- break;
- default:
- break;
- }
-
-
- if (label != NULL) {
- char *rootpath = NULL;
-
- /*0. set the previous navi to be out of use */
- pNavi_s_inuse = mf_ug_navi_bar_get_in_use_navi(ugd);
-
- if (pNavi_s_inuse == NULL || pNavi_s_inuse->ug_pNaviLabel == NULL) {
- UG_TRACE_END;
- return;
- }
-
- pNavi_s_inuse->ug_bNaviFlagInUse = FALSE;
-
- if (0 != ugd->ug_ListPlay.ug_Player) {
- mf_ug_list_play_destory_playing_file(ugd);
- UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
- }
-
- /*if the muisc is playing, destory the play */
-
- /*1. get navi bar pointer by the label */
- pNaviBar = ugd->ug_MainWindow.ug_pNaviBar;
- pNavi_s_toshow = ug_mf_navi_bar_get_navi_from_navilist(ugd->ug_MainWindow.ug_pNaviBarList, label);
-
- ug_debug("label is %s", label);
- /*2. create navi bar if not created, otherwise get it by pNaviBar */
- if (pNavi_s_toshow == NULL) {
- /*2.0 get root path by storage label */
- rootpath = mf_ug_fm_svc_wapper_get_root_path_by_tab_label(label);
- if (rootpath == NULL) {
- UG_TRACE_END;
- return;
- }
- /*2.1 create the navi for the tab */
- pNavi_s_toshow = calloc(1, sizeof(ugNaviBar));
- if (pNavi_s_toshow == NULL) {
- ug_debug("pNavi_s_toshow is NULL");
- free(rootpath);
- rootpath = NULL;
- return;
- }
-
- pNavi_s_toshow->ug_bNaviFlagInUse = TRUE;
- /*2.2 set path as root path of the storage */
- pNavi_s_toshow->ug_pCurrentPath = g_strdup(rootpath);
- pNavi_s_toshow->ug_pNaviLabel = strdup(label);
- free(rootpath);
- rootpath = NULL;
- /*2.3 insert phone navi into the navi_list */
- ugd->ug_MainWindow.ug_pNaviBarList = eina_list_append(ugd->ug_MainWindow.ug_pNaviBarList, pNavi_s_toshow);
-
- } else {
- /*/2.1 get the navi of the tab */
- pNavi_s_toshow = mf_ug_navi_bar_get_navi_struct_by_label(ugd, label);
-
- pNavi_s_toshow->ug_bNaviFlagInUse = TRUE;
- }
- /*/2.2 set related status value. */
- if (ugd->ug_Status.ug_pPath != NULL) {
- g_string_free(ugd->ug_Status.ug_pPath, TRUE);
- ugd->ug_Status.ug_pPath = NULL;
- }
- ugd->ug_Status.ug_pPath = g_string_new(pNavi_s_toshow->ug_pCurrentPath);
- ugd->ug_Status.ug_iViewType = mf_ug_view_normal;
- mf_ug_navi_bar_create_default_view(ugd);
-
- mf_ug_ctrl_bar_set_item_disable(ugd);
- } else {
- ug_debug("Invalid argument: label is NULL\n");
- }
- UG_TRACE_END;
-}
-
-
-void mf_ug_cb_ctrl_bar_button_cb(void *data, Evas_Object *obj, void *event_info)
-{
-
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- ug_mf_retm_if(event_info == NULL, "event_info is NULL");
- const char *label = NULL;
-
- if (ugd->ug_Status.ug_b_NaviPushFlag)
- return;
- label = elm_object_item_text_get((Elm_Object_Item *)event_info);
- ug_mf_retm_if(label == NULL, "label is NULL");
-
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
- if (g_strcmp0(label, MF_UG_LABEL_RINGTONES) == 0) {
- if (g_strcmp0(ugd->ug_Status.ug_pPath->str, UG_RINGTION_PATH) != 0) {
- UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath);
- ugd->ug_Status.ug_pPath = g_string_new(UG_RINGTION_PATH);
- UG_SAFE_FREE_CHAR(pNavi_s->ug_pCurrentPath);
- pNavi_s->ug_pCurrentPath = g_strdup(UG_RINGTION_PATH);
- mf_ug_util_set_current_state(ugd, STATE_PHONE);
- ugd->ug_Status.ug_iCtrlBarType = CTRL_BAR_MUSIC;
- mf_ug_navi_bar_create_default_view(ugd);
- }
- } else if (g_strcmp0(label, MF_UG_LABEL_OTHER_MUSIC) == 0) {
- if (g_strcmp0(ugd->ug_Status.ug_pPath->str, UG_MUSIC_PATH) != 0) {
- UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath);
- ugd->ug_Status.ug_pPath = g_string_new(UG_MUSIC_PATH);
- UG_SAFE_FREE_CHAR(pNavi_s->ug_pCurrentPath);
- pNavi_s->ug_pCurrentPath = g_strdup(UG_MUSIC_PATH);
- mf_ug_util_set_current_state(ugd, STATE_PHONE);
- ugd->ug_Status.ug_iCtrlBarType = CTRL_BAR_RINGTONE;
- mf_ug_navi_bar_create_default_view(ugd);
- }
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+
+ int storage = MF_UG_PHONE;
+ ugd->ug_Status.ug_iViewType = mf_ug_view_root;
+
+ storage = mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str);
+ switch (storage) {
+ case MF_UG_PHONE:
+ UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath);
+ ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER);
+ mf_ug_util_set_current_state(ugd, STATE_PHONE);
+ break;
+ case MF_UG_MMC:
+ UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath);
+ ugd->ug_Status.ug_pPath = g_string_new(MEMORY_FOLDER);
+ mf_ug_util_set_current_state(ugd, STATE_MEMORY);
+ break;
+ default:
+ return;
+ }
+ ugd->ug_Status.ug_iCheckedCount = 0;
+
+ mf_ug_navi_bar_create_default_view(ugd);
+ mf_ug_navi_bar_set_ctrl_item_disable(ugd);
+ mf_ug_util_path_push(ugd->ug_Status.ug_pPath->str, ugd->ug_Status.ug_iViewType);
+ UG_TRACE_END;
}
/******************************
@@ -754,20 +653,18 @@ void mf_ug_cb_ctrl_bar_button_cb(void *data, Evas_Object *obj, void *event_info)
******************************/
void mf_ug_cb_list_play_cb(ugListItemData *data, Evas_Object *obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ugListItemData *itemData = data;
- ugData *ugd = NULL;
- ug_mf_retm_if(itemData == NULL, "itemData is NULL");
- ug_mf_retm_if(itemData->ug_pData == NULL, "ug_pData is NULL");
-
- ugd = itemData->ug_pData;
+ UG_TRACE_BEGIN;
+ ugListItemData *itemData = data;
+ ug_mf_retm_if(itemData == NULL, "itemData is NULL");
+ ug_mf_retm_if(itemData->ug_pData == NULL, "ug_pData is NULL");
- if (itemData->ug_pData->ug_Status.ug_b_NaviPushFlag)
- return;
+ if (mf_ug_main_is_background()) {
+ return;
+ }
- mf_ug_list_play_play_music_item(itemData);
+ mf_ug_list_play_play_music_item(itemData);
- UG_TRACE_END;
+ UG_TRACE_END;
}
/******************************
@@ -790,12 +687,12 @@ void mf_ug_cb_list_play_cb(ugListItemData *data, Evas_Object *obj, void *event_i
******************************/
void mf_ug_cb_select_info_show_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- edje_object_signal_emit(_EDJ(ugd->ug_MainWindow.ug_pMainLayout), "elm,state,show,default", "elm");
- UG_TRACE_END;
- return;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ edje_object_signal_emit(_EDJ(ugd->ug_MainWindow.ug_pMainLayout), "elm,state,show,default", "elm");
+ UG_TRACE_END;
+ return;
}
/******************************
@@ -818,12 +715,12 @@ void mf_ug_cb_select_info_show_cb(void *data, Evas *e, Evas_Object *obj, void *e
******************************/
void mf_ug_cb_select_info_hide_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- edje_object_signal_emit(_EDJ(ugd->ug_MainWindow.ug_pMainLayout), "elm,state,hide,default", "elm");
- UG_TRACE_END;
- return;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ edje_object_signal_emit(_EDJ(ugd->ug_MainWindow.ug_pMainLayout), "elm,state,hide,default", "elm");
+ UG_TRACE_END;
+ return;
}
/******************************
@@ -845,19 +742,19 @@ void mf_ug_cb_select_info_hide_cb(void *data, Evas *e, Evas_Object *obj, void *e
******************************/
void mf_ug_cb_select_info_timeout_cb(void *data, Evas_Object *obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- edje_object_signal_emit(_EDJ(ugd->ug_MainWindow.ug_pMainLayout), "elm,state,hide,default", "elm");
- UG_TRACE_END;
- return;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ edje_object_signal_emit(_EDJ(ugd->ug_MainWindow.ug_pMainLayout), "elm,state,hide,default", "elm");
+ UG_TRACE_END;
+ return;
}
-
/******************************
** Prototype : mf_ug_cb_mmc_changed_cb
** Description : Samsung
-** Input : keynode_t *key
+** Input : int storage_id
+** storage_state_e state
** void* data
** Output : None
** Return Value :
@@ -865,90 +762,65 @@ void mf_ug_cb_select_info_timeout_cb(void *data, Evas_Object *obj, void *event_i
** Called By :
**
** History :
-** 1.Date : 2010/12/10
+** 1.Date : 2015/03/24
** Author : Samsung
** Modification : Created function
**
******************************/
-static void __mf_ug_cb_mmc_remove_view_operation(void *data)
+void mf_ug_cb_mmc_changed_cb(int storage_id, storage_state_e state, void *user_data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- Evas_Object *parent = NULL;
- const char *labelStorage = NULL;
- parent = ugd->ug_MainWindow.ug_pNaviGenlist;
- labelStorage = MEMORY_FOLDER;
-
- mf_ug_genlist_item_remove(parent, labelStorage);
-
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)user_data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ ug_mf_retm_if(ugd->ug_Status.ug_pPath == NULL || ugd->ug_Status.ug_pPath->str == NULL, "ugd->ug_Status.ug_pPath is NULL");
+
+ int optStorage = MF_UG_NONE;
+
+ if (state == STORAGE_STATE_MOUNTED) {
+ ugd->ug_Status.ug_iMmcFlag = MMC_ON;
+ mf_ug_util_storage_insert_action(ugd, mf_ug_widget_get_text(MF_UG_LABEL_MMC));
+ } else {
+ if (state == STORAGE_STATE_REMOVED || state == STORAGE_STATE_UNMOUNTABLE) {
+ optStorage = MF_UG_MMC;
+ ugd->ug_Status.ug_iMmcFlag = MMC_OFF;
+ }
+
+ if (optStorage == MF_UG_NONE) {
+ ug_debug("get removed storage failed");
+ return;
+ }
+ mf_ug_util_mmc_remove_action(ugd);
+ mf_ug_navi_bar_set_ctrl_item_disable(ugd);
+ }
+
+ mf_ug_navi_bar_title_set(ugd);
+
+ UG_TRACE_END;
+ return;
}
-void mf_ug_cb_mmc_changed_cb(keynode_t *key, void *data)
+void mf_ug_cb_default_ringtone_changed_cb(system_settings_key_e key, void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- ug_mf_retm_if(ugd->ug_Status.ug_pPath == NULL || ugd->ug_Status.ug_pPath->str == NULL, "ugd->ug_Status.ug_pPath is NULL");
-
- int optStorage = MF_UG_NONE;
- char *labelStorage = NULL;
-
- if (VCONF_TYPE_INT == vconf_keynode_get_type(key)
- && VCONFKEY_SYSMAN_MMC_MOUNTED == vconf_keynode_get_int(key)) {
- if (ugd->ug_Status.ug_bInSettingView && ugd->ug_Status.ug_bSettingEntry) {
- ugd->ug_Status.ug_iMmcFlag = MMC_ON;
- return;
- }
- ugd->ug_Status.ug_iMmcFlag = MMC_ON;
-
- mf_ug_util_storage_insert_action(ugd, MF_UG_LABEL_MMC);
- } else {
- ugNaviBar *pNaviInUseStruct = NULL;
-
- if (VCONFKEY_SYSMAN_MMC_REMOVED == vconf_keynode_get_int(key)
- || VCONFKEY_SYSMAN_MMC_INSERTED_NOT_MOUNTED == vconf_keynode_get_int(key)) {
- ug_debug("mmc removed");
- if (ugd->ug_Status.ug_bInSettingView && ugd->ug_Status.ug_bSettingEntry) {
- ugd->ug_Status.ug_iMmcFlag = MMC_OFF;
- return;
- }
- optStorage = MF_UG_MMC;
- ugd->ug_Status.ug_iMmcFlag = MMC_OFF;
- }
-
- if (optStorage == MF_UG_NONE) {
- ug_debug("get removed storage failed");
- return;
- }
-
- labelStorage = MF_UG_LABEL_MMC;
- if (mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str) == optStorage) {
- if (0 != ugd->ug_ListPlay.ug_Player) {
- mf_ug_list_play_destory_playing_file(ugd);
- UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
- }
-
- mf_ug_navi_bar_remove_navi_list_item_by_label(ugd, labelStorage);
- pNaviInUseStruct = mf_ug_navi_bar_get_in_use_navi(ugd);
- ug_debug("label is [%s]pNaviInUseStruct->ug_pCurrentPath is [%s]", pNaviInUseStruct->ug_pNaviLabel, pNaviInUseStruct->ug_pCurrentPath);
- mf_ug_navi_bar_refresh_navibar_recovered_view(ugd, pNaviInUseStruct);
- }
- }
-
- if(mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath))
- {
- elm_naviframe_item_title_visible_set(ugd->ug_MainWindow.ug_pNaviItem, EINA_FALSE);
- mf_ug_callback_tab_click(ugd);
- }
- else
- {
- mf_ug_navi_bar_title_set(ugd);
- }
-
- UG_TRACE_END;
- return;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ ug_mf_retm_if(ugd->ug_UiGadget.default_ringtone == NULL, "ugd->ugUiGadget.default_ringtone is NULL");
+
+ char *default_ringtone = NULL;
+ int retcode = -1;
+
+ retcode = system_settings_get_value_string(key, &default_ringtone);
+ if ((retcode != SYSTEM_SETTINGS_ERROR_NONE)) {
+ ug_error("failed to get default_ringtone");
+ }
+
+ if (default_ringtone) {
+ UG_SAFE_FREE_CHAR(ugd->ug_UiGadget.default_ringtone);
+ ugd->ug_UiGadget.default_ringtone = g_strdup(default_ringtone);
+ }
+
+ UG_TRACE_END;
+ return;
}
/******************************
@@ -970,21 +842,21 @@ void mf_ug_cb_mmc_changed_cb(keynode_t *key, void *data)
******************************/
void mf_ug_cb_dir_update_cb(mf_ug_inotify_event event, char *name, void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugData is NULL");
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugData is NULL");
- ug_debug("event : %d, name : %s", event, name);
+ SECURE_DEBUG("event : %d, name : %s", event, name);
- ug_dir_event_t buffer;
+ ug_dir_event_t buffer;
- buffer.event = event;
- buffer.name = strdup(name);
+ buffer.event = event;
+ buffer.name = name;
- ecore_pipe_write(ugd->ug_UiGadget.ug_pInotifyPipe, &buffer, sizeof(buffer));
- UG_TRACE_END;
+ ecore_pipe_write(ugd->ug_UiGadget.ug_pInotifyPipe, &buffer, sizeof(buffer));
+ UG_TRACE_END;
- return;
+ return;
}
/******************************
@@ -1007,695 +879,708 @@ void mf_ug_cb_dir_update_cb(mf_ug_inotify_event event, char *name, void *data)
static GString *__mf_ug_cb_dir_pipe_get_parent(GString *path)
{
- ug_mf_retvm_if(path == NULL, NULL, "path is NULL");
- ug_mf_retvm_if(path->str == NULL, NULL, "path->str is NULL");
-
- if (ecore_file_exists(path->str)) {
- return path;
- } else if (mf_ug_fm_svc_wapper_is_root_path(path)) {
- return path;
- } else {
- GString *parent = mf_ug_fm_svc_wrapper_get_file_parent_path(path);
- UG_SAFE_FREE_GSTRING(path);
- __mf_ug_cb_dir_pipe_get_parent(parent);
- }
- return path;
+ ug_mf_retvm_if(path == NULL, NULL, "path is NULL");
+ ug_mf_retvm_if(path->str == NULL, NULL, "path->str is NULL");
+
+ if (mf_file_exists(path->str)) {
+ return path;
+ } else if (mf_ug_fm_svc_wapper_is_root_path(path->str)) {
+ return path;
+ } else {
+ GString *parent = mf_ug_fm_svc_wrapper_get_file_parent_path(path);
+ UG_SAFE_FREE_GSTRING(path);
+ __mf_ug_cb_dir_pipe_get_parent(parent);
+ }
+ return path;
}
void mf_ug_cb_dir_pipe_cb(void *data, void *buffer, unsigned int nbyte)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
-
- if (ugd->ug_ListPlay.ug_iPlayState != PLAY_STATE_INIT) {
- return;
- }
-
- if (g_strcmp0(ugd->ug_Status.monitor_path, ugd->ug_Status.ug_pPath->str)) {
- return;
- }
- if (buffer) {
- ug_dir_event_t *msg = (ug_dir_event_t *) buffer;
- ug_debug("event : %d, name : %s", msg->event, msg->name);
-
- Evas_Object *newContent = NULL;
- ugListItemData *itemData = NULL;
- Elm_Object_Item *it = NULL;
- GString *parent = NULL;
- char *path = NULL;
- int count = 0;
-
- switch (msg->event) {
- case UG_MF_INOTI_CREATE:
- case UG_MF_INOTI_MOVE_IN:
- /*/1 TODO: add new item to list */
- if(msg->name) {
- path = g_strconcat(ugd->ug_Status.ug_pPath->str, "/", msg->name, NULL);
- int file_type = 0;
- if (mf_ug_file_attr_is_dir(path)) {
- file_type = UG_FILE_TYPE_DIR;
- } else {
- file_type = UG_FILE_TYPE_FILE;
- }
- ugFsNodeInfo *pNode = mf_ug_util_generate_pnode(path, file_type);
- if (ugd->ug_MainWindow.ug_pNaviGenlist == NULL) {
-
- Evas_Object *genlist = NULL;
- genlist = elm_genlist_add(ugd->ug_MainWindow.ug_pNaviBar);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- ugd->ug_MainWindow.ug_pNaviGenlist = genlist;
- evas_object_smart_callback_add(genlist, "selected", mf_ug_genlist_selected_gl, ugd);
-
- evas_object_del(elm_object_part_content_unset(ugd->ug_MainWindow.ug_pNaviLayout, "part1"));
-
- elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", newContent);
- elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", genlist);
- }
- if (file_type == UG_FILE_TYPE_DIR) {
- if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
-
- mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc);
- } else {
- int groupValue = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist);
- mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, groupValue, &ugd->ug_Status.ug_itc);
- }
- } else {
- if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
- int groupValue = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist);
- mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, groupValue, &ugd->ug_Status.ug_itc);
- } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) {
- mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc);
- } else {
- mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_itc);
- }
-
- }
-
- if (pNode != NULL) {
- UG_SAFE_FREE_CHAR(pNode->ext);
- free(pNode);
- pNode = NULL;
- }
- }
- break;
- case UG_MF_INOTI_DELETE:
- case UG_MF_INOTI_MOVE_OUT:
- /*/1 TODO: remove item from list */
- path = g_strconcat(ugd->ug_Status.ug_pPath->str, "/", msg->name, NULL);
- it = elm_genlist_first_item_get(ugd->ug_MainWindow.ug_pNaviGenlist);
- while (it) {
- itemData = elm_object_item_data_get(it);
- if (itemData->ug_pItemName == NULL || itemData->ug_pItemName->str == NULL) {
- ug_debug();
- continue;
- }
- if (g_strcmp0(path, itemData->ug_pItemName->str) == 0) {
- elm_object_item_del(it);
- break;
- }
-
- it = elm_genlist_item_next_get(it);
- }
- count = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist);
- ugd->ug_Status.ug_bNoContentFlag = !count;
-
- break;
- case UG_MF_INOTI_MODIFY:
- /*/1 TODO: update item in list */
- ugd->ug_MainWindow.ug_pNaviGenlist = newContent = mf_ug_genlist_create_content_list_view(ugd);
- mf_ug_navi_bar_set_new_content(ugd->ug_MainWindow.ug_pNaviLayout, newContent);
- break;
- case UG_MF_INOTI_DELETE_SELF:
- case UG_MF_INOTI_MOVE_SELF:
- /*/1 TODO: watching directory is removed, change current directory. */
- {
- GString *current = NULL;
- current = g_string_new(ugd->ug_Status.ug_pPath->str);
- parent = __mf_ug_cb_dir_pipe_get_parent(current);
-
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
-
-
- g_string_free(ugd->ug_Status.ug_pPath, TRUE);
- ugd->ug_Status.ug_pPath = NULL;
- ugd->ug_Status.ug_pPath = parent;
-
- if (pNavi_s->ug_pCurrentPath != NULL) {
- free(pNavi_s->ug_pCurrentPath);
- pNavi_s->ug_pCurrentPath = NULL;
- }
- pNavi_s->ug_pCurrentPath = g_strdup(parent->str);
-
-
-
- mf_ug_navi_bar_create_default_view(ugd);
- }
- break;
- default:
- ug_mf_error("Unknown event");
- break;
- }
- mf_ug_ctrl_bar_set_item_disable(ugd);
- if (msg->name) {
- free(msg->name);
- msg->name = NULL;
- }
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+
+ if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) {
+ return;
+ }
+
+ if (g_strcmp0(ugd->ug_Status.monitor_path, ugd->ug_Status.ug_pPath->str)) {
+ return;
+ }
+ if (buffer) {
+ ug_dir_event_t *msg = (ug_dir_event_t *) buffer;
+ SECURE_DEBUG("event : %d, name : %s", msg->event, msg->name);
+
+ Evas_Object *newContent = NULL;
+ ugListItemData *itemData = NULL;
+ Elm_Object_Item *it = NULL;
+ GString *parent = NULL;
+ char *path = NULL;
+ int count = 0;
+
+ switch (msg->event) {
+ case UG_MF_INOTI_CREATE:
+ case UG_MF_INOTI_MOVE_IN:
+ /*/1 TODO: add new item to list */
+ if (msg->name) {
+ path = g_strconcat(ugd->ug_Status.ug_pPath->str, "/", msg->name, NULL);
+ int file_type = 0;
+ if (mf_ug_file_attr_is_dir(path)) {
+ file_type = UG_FILE_TYPE_DIR;
+ } else {
+ file_type = UG_FILE_TYPE_FILE;
+ }
+ if (ugd->ug_MainWindow.ug_pNaviGenlist == NULL) {
+
+ Evas_Object *genlist = NULL;
+ genlist = elm_genlist_add(ugd->ug_MainWindow.ug_pNaviBar);
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+ evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ ugd->ug_MainWindow.ug_pNaviGenlist = genlist;
+ evas_object_smart_callback_add(genlist, "selected", mf_ug_genlist_selected_gl, ugd);
+
+ evas_object_del(elm_object_part_content_unset(ugd->ug_MainWindow.ug_pNaviLayout, "part1"));
+
+ elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", newContent);
+ elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", genlist);
+ }
+ if (file_type == UG_FILE_TYPE_DIR) {
+ if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
+
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, path, ugd, 0, &ugd->ug_Status.ug_1text1icon_itc);
+ } else {
+ int groupValue = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist);
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, path, ugd, groupValue, &ugd->ug_Status.ug_1text3icon_itc);
+ }
+ } else {
+ if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
+ int groupValue = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist);
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, path, ugd, groupValue, &ugd->ug_Status.ug_1text3icon_itc);
+ } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) {
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, path, ugd, 0, &ugd->ug_Status.ug_1text1icon_itc);
+ } else {
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, path, ugd, 0, &ugd->ug_Status.ug_1text3icon_itc);
+ }
+
+ }
+
+ if (path != NULL) {
+ free(path);
+ path = NULL;
+ }
+ ugd->ug_Status.ug_bNoContentFlag = EINA_FALSE;
+ mf_ug_genlist_show_select_info(ugd);
+ }
+ break;
+ case UG_MF_INOTI_DELETE:
+ case UG_MF_INOTI_MOVE_OUT:
+ /*/1 TODO: remove item from list */
+ path = g_strconcat(ugd->ug_Status.ug_pPath->str, "/", msg->name, NULL);
+ it = elm_genlist_first_item_get(ugd->ug_MainWindow.ug_pNaviGenlist);
+ while (it) {
+ itemData = elm_object_item_data_get(it);
+ if (itemData->ug_pItemName == NULL || itemData->ug_pItemName->str == NULL) {
+ continue;
+ }
+ if (g_strcmp0(path, itemData->ug_pItemName->str) == 0) {
+ if (ugd->ug_ListPlay.ug_pPlayFilePath && g_strcmp0(path, ugd->ug_ListPlay.ug_pPlayFilePath) == 0) {
+ if (0 != ugd->ug_ListPlay.ug_Player) {
+ mf_ug_list_play_destory_playing_file(ugd);
+ ugd->ug_ListPlay.play_data = NULL;
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ }
+ }
+ elm_object_item_del(it);
+ break;
+ }
+
+ it = elm_genlist_item_next_get(it);
+ }
+ count = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist);
+ if (count == 0) {
+ Evas_Object *nocontent = mf_ug_widget_nocontent_create(ugd->ug_MainWindow.ug_pMainLayout, MF_UG_LABEL_NO_RESULT, UG_ICON_MULTI_NO_CONTENTS);
+
+ ugd->ug_Status.ug_bNoContentFlag = true;
+ Evas_Object *unset = elm_object_part_content_unset(ugd->ug_MainWindow.ug_pNaviLayout, "part1");
+ evas_object_del(unset);
+ ugd->ug_MainWindow.ug_pNaviGenlist = NULL;
+ elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", nocontent);
+ /*return nocontent;*/
+ }
+ mf_ug_genlist_show_select_info(ugd);
+ break;
+ case UG_MF_INOTI_MODIFY:
+
+ path = g_strconcat(ugd->ug_Status.ug_pPath->str, "/", msg->name, NULL);
+ if (path) {
+ it = elm_genlist_first_item_get(ugd->ug_MainWindow.ug_pNaviGenlist);
+ while (it) {
+ itemData = elm_object_item_data_get(it);
+ if (itemData->ug_pItemName == NULL || itemData->ug_pItemName->str == NULL) {
+ continue;
+ }
+ if (g_strcmp0(path, itemData->ug_pItemName->str) == 0) {
+ UG_SAFE_FREE_CHAR(path);
+ return;
+ }
+
+ it = elm_genlist_item_next_get(it);
+ }
+ UG_SAFE_FREE_CHAR(path);
+ }
+ ugd->ug_MainWindow.ug_pNaviGenlist = newContent = mf_ug_genlist_create_content_list_view(ugd);
+ mf_ug_navi_bar_set_new_content(ugd->ug_MainWindow.ug_pNaviLayout, newContent);
+ break;
+ case UG_MF_INOTI_DELETE_SELF:
+ case UG_MF_INOTI_MOVE_SELF:
+ /*/1 TODO: watching directory is removed, change current directory. */
+ {
+ GString *current = NULL;
+ current = g_string_new(ugd->ug_Status.ug_pPath->str);
+ parent = __mf_ug_cb_dir_pipe_get_parent(current);
+ g_string_free(ugd->ug_Status.ug_pPath, TRUE);
+ ugd->ug_Status.ug_pPath = NULL;
+ ugd->ug_Status.ug_pPath = parent;
+ mf_ug_navi_bar_create_default_view(ugd);
+ }
+ break;
+ default:
+ ug_mf_error("Unknown event");
+ break;
+ }
+ mf_ug_navi_bar_set_ctrl_item_disable(ugd);
+ if (msg->name) {
+ free(msg->name);
+ msg->name = NULL;
+ }
+ }
+ UG_TRACE_END;
}
-
-#ifdef UG_THUMB_REAL_TIME_UPDATE
-Eina_Bool mf_ug_cb_thumb_timer_cb(void *data)
+void __mf_ug_popup_show_vk(void *data, Evas_Object *obj, void *event_info)
{
- ugListItemData *itemData = (ugListItemData *)data;
- ug_mf_retvm_if(itemData == NULL, EINA_FALSE, "input params is NULL");
- ugData *ugd = (ugData *)itemData->ug_pData;
- ug_mf_retvm_if(ugd == NULL, EINA_FALSE, "ugd is NULL");
-
- bool allright_flag = true;
- Evas_Object *pContent = NULL;
-
- if (ugd->ug_Status.ug_pThumbUpdateTimer == NULL) {
- return EINA_FALSE;
- }
-
- /****read the realized part of the list****/
- if (itemData->ug_pItem) {
- pContent = elm_object_item_widget_get(itemData->ug_pItem);
- if (pContent == NULL) {
- ugd->ug_Status.ug_pThumbUpdateTimer = NULL;
- return EINA_FALSE;
- }
- } else {
- ugd->ug_Status.ug_pThumbUpdateTimer = NULL;
- return EINA_FALSE;
- }
- Eina_List *realized_list = elm_genlist_realized_items_get(pContent);
- Eina_List *list = NULL;
- Elm_Object_Item *it;
- ugListItemData *item_data = NULL;
-
- if (realized_list == NULL) {
- allright_flag = false;
- }
-
- EINA_LIST_FOREACH(realized_list, list, it) {
- item_data = (ugListItemData *)elm_object_item_data_get(it);
- if (item_data == NULL)
- continue;
-
- if (item_data->ug_bRealThumbFlag == false) {
- ug_debug("Update item: %s", item_data->ug_pItemName->str);
- if (ecore_file_is_dir(item_data->ug_pItemName->str) == true) {
- item_data->ug_pThumbPath = strdup(UG_ICON_FOLDER);
- item_data->ug_bRealThumbFlag = true;
- elm_object_item_data_set(it, item_data);
- elm_genlist_item_update(it);
-
- } else if (ecore_file_exists(item_data->ug_pItemName->str)) {
- char *new_thumb = NULL;
- int thumbnail_type = 0;
- thumbnail_type = mf_ug_file_attr_get_file_icon(item_data->ug_pItemName->str, NULL, &new_thumb);
- if (new_thumb) {
- if (thumbnail_type == MF_UG_THUMBNAIL_TYPE_DEFAULT) {
- if (item_data->ug_pThumbPath && g_strcmp0(new_thumb, item_data->ug_pThumbPath) == 0) {
- allright_flag = FALSE;
- } else {
- if (item_data->ug_pThumbPath) {
- free(item_data->ug_pThumbPath);
- item_data->ug_pThumbPath = NULL;
- }
- item_data->ug_pThumbPath = strdup(new_thumb);
- item_data->ug_bRealThumbFlag = TRUE;
- elm_object_item_data_set(it, item_data);
- elm_genlist_item_update(it);
- free(new_thumb);
- new_thumb = NULL;
- }
-
- } else {
- if (item_data->ug_pThumbPath) {
- free(item_data->ug_pThumbPath);
- item_data->ug_pThumbPath = NULL;
- }
- item_data->ug_pThumbPath = strdup(new_thumb);
- item_data->ug_bRealThumbFlag = TRUE;
- elm_object_item_data_set(it, item_data);
- elm_genlist_item_update(it);
- free(new_thumb);
- new_thumb = NULL;
- }
- } else {
- allright_flag = false;
- }
- }
- }
- }
-
- if (allright_flag == false) {
- return EINA_TRUE;
- } else {
- ugd->ug_Status.ug_pThumbUpdateTimer = NULL;
- return EINA_FALSE;
- }
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+
+ if (ugd->ug_MainWindow.ug_pNormalPopup) {
+ evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup);
+ ugd->ug_MainWindow.ug_pNormalPopup = NULL;
+ }
+
+ if (ugd->ug_MainWindow.ug_pEntry) {
+ elm_entry_cursor_end_set(ugd->ug_MainWindow.ug_pEntry);
+ elm_object_focus_set(ugd->ug_MainWindow.ug_pEntry, EINA_TRUE);
+ }
+ UG_TRACE_END;
+
}
-#endif
void mf_ug_cb_create_new_folder(void *data, Evas_Object * obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
-
- ugData *ugd = (ugData *)data;
- UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pContextPopup);
-
- if (ugd->ug_Status.ug_b_NaviPushFlag) {
- UG_TRACE_END;
- return;
- }
-
- if (ugd->ug_Status.ug_iMore == UG_MORE_CREATE_FOLDER)
- return;
-
- int ret = 0;
- ugd->ug_Status.ug_iMore = UG_MORE_CREATE_FOLDER;
-
- ret = mf_ug_util_check_disk_space(ugd);
- if (ret == MYFILE_ERR_NO_FREE_SPACE) {
- ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT;
- return;
- }
-#ifdef UG_THUMB_REAL_TIME_UPDATE
- if (ugd->ug_Status.ug_pThumbUpdateTimer != NULL) {
- ecore_timer_del(ugd->ug_Status.ug_pThumbUpdateTimer);
- ugd->ug_Status.ug_pThumbUpdateTimer = NULL;
- }
-#endif
- ugd->ug_MainWindow.ug_pNewFolderPopup = mf_ug_popup_create_new_folder_popup(ugd, MF_UG_LABEL_CREATE);
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+
+ ugData *ugd = (ugData *)data;
+ UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pContextPopup);
+
+ if (ugd->ug_Status.ug_iMore == UG_MORE_CREATE_FOLDER)
+ return;
+
+ int ret = 0;
+ ugd->ug_Status.ug_iMore = UG_MORE_CREATE_FOLDER;
+
+ ret = mf_ug_util_check_disk_space(ugd);
+ if (ret == MYFILE_ERR_NO_FREE_SPACE) {
+ ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT;
+ return;
+ }
+ ugd->ug_MainWindow.ug_pNewFolderPopup = mf_ug_popup_create_new_folder_popup(ugd, MF_UG_LABEL_CREATE);
}
void mf_ug_cb_warning_popup_cb(void *data, Evas_Object * obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
- Evas_Object *btn = (Evas_Object *)obj;
- const char *label = elm_object_text_get(btn);
+ Evas_Object *btn = (Evas_Object *)obj;
+ const char *label = elm_object_text_get(btn);
- if (g_strcmp0(label, MF_UG_LABEL_OK) == 0 ) {
- evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup);
- ugd->ug_MainWindow.ug_pNormalPopup = NULL;
- }
+ if (g_strcmp0(label, mf_ug_widget_get_text(MF_UG_LABEL_OK)) == 0) {
+ evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup);
+ ugd->ug_MainWindow.ug_pNormalPopup = NULL;
+ }
}
void mf_ug_cb_reach_max_len_cb(void *data, Evas_Object * obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
- mf_ug_popup_indicator_popup(MF_UG_LABEL_MAX_CHARACTER_REACHED);
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ mf_ug_popup_indicator_popup(mf_ug_widget_get_text(MF_UG_LABEL_MAX_CHARACTER_REACHED));
- UG_TRACE_END;
+ UG_TRACE_END;
}
void mf_ug_cb_eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
{
- elm_entry_entry_set(data, "");
+ elm_entry_entry_set(data, "");
}
void mf_ug_cb_cancel_new_folder_cb(void *data, Evas_Object * obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
-
- ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT;
- ecore_imf_context_input_panel_hide(elm_entry_imf_context_get(ugd->ug_MainWindow.ug_pEntry));
- evas_object_del(ugd->ug_MainWindow.ug_pEntry);
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
- UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNewFolderPopup);
-}
-
-static int __mf_cb_imk_cancel_cb(void *data)
-{
- UG_TRACE_BEGIN;
- ug_mf_retvm_if(data == NULL, false, "data is NULL");
- ugData *ugd = (ugData *)data;
-
- mf_ug_cb_cancel_new_folder_cb(ugd, NULL, NULL);
- ugd->ug_Status.popup_del_idler = NULL;
- return 0;
-}
-
-
-static void __mf_ug_cb_illegal_char_popup_cb(void *data, Evas_Object * obj, void *event_info)
-{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
-
- Evas_Object *btn = (Evas_Object *)obj;
- const char *label = elm_object_text_get(btn);
-
- if (g_strcmp0(label, MF_UG_LABEL_YES) == 0 ) {
- UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNormalPopup);
-
- Evas_Object *entry = ugd->ug_MainWindow.ug_pEntry;
- if (entry != NULL)
- elm_object_focus_set(entry, EINA_TRUE);
-
- } else if (g_strcmp0(label, MF_UG_LABEL_NO) == 0 ) {
- UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNormalPopup);
- ugd->ug_Status.popup_del_idler = ecore_idler_add((Ecore_Task_Cb) __mf_cb_imk_cancel_cb, ugd);
- }
+ ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT;
+ ecore_imf_context_input_panel_hide(elm_entry_imf_context_get(ugd->ug_MainWindow.ug_pEntry));
+ evas_object_del(ugd->ug_MainWindow.ug_pEntry);
+ UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNewFolderPopup);
}
static int __mf_ug_cb_ime_mkdir_cb(void *data, char *fileName)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
-
- ug_mf_retvm_if(ugd == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL");
- ug_mf_retvm_if(fileName == NULL, MYFILE_ERR_SRC_ARG_INVALID, "data is NULL");
- ug_mf_retvm_if(ugd->ug_Status.ug_pPath == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL");
- ug_mf_retvm_if(ugd->ug_Status.ug_pPath->str == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL");
-
-
- int ret = 0;
- const char *message = NULL;
- const char *left_label = NULL;
- const char *right_label = NULL;
-
- left_label = MF_UG_LABEL_YES;
- right_label = MF_UG_LABEL_NO;
- if (strlen(fileName)) {
-
- GString *fullpathdir = g_string_new(ugd->ug_Status.ug_pPath->str);
-
- if (fullpathdir == NULL) {
- mf_ug_util_operation_alloc_failed(ugd);
- return MYFILE_ERR_ALLOCATE_MEMORY_FAIL;
- }
- GString *fullpathname = g_string_new(fileName);
-
- if (fullpathname == NULL) {
- g_string_free(fullpathdir, TRUE);
- fullpathdir = NULL;
- mf_ug_util_operation_alloc_failed(ugd);
- return MYFILE_ERR_ALLOCATE_MEMORY_FAIL;
- }
- /*check the space */
- gchar *test_space = g_strdup(fileName);
- if (test_space == NULL) {
- g_string_free(fullpathdir, TRUE);
- fullpathdir = NULL;
- g_string_free(fullpathname, TRUE);
- fullpathname = NULL;
- mf_ug_util_operation_alloc_failed(ugd);
- return MYFILE_ERR_ALLOCATE_MEMORY_FAIL;
- }
- if (strlen(g_strchug(test_space)) == 0) {
- message = MF_UG_LABEL_NAME_INVALID; /*TODO */
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT_TWO_BTN, NULL, message,
- left_label, right_label, NULL,
- __mf_ug_cb_illegal_char_popup_cb, ugd);
-
- g_string_free(fullpathdir, TRUE);
- fullpathdir = NULL;
- g_string_free(fullpathname, TRUE);
- fullpathname = NULL;
- g_free(test_space);
- test_space = NULL;
- return MYFILE_ERR_DIR_CREATE_FAIL;
- }
-
- g_free(test_space);
- test_space = NULL;
-
- /*check if input name is valid */
- if (mf_ug_file_attr_is_valid_name(fullpathname->str) == MYFILE_ERR_INVALID_FILE_NAME) {
-
- message = MF_UG_LABEL_ILLEGAL_CHAR;
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT_TWO_BTN, NULL, message,
- left_label, right_label, NULL,
- __mf_ug_cb_illegal_char_popup_cb, ugd);
- g_string_free(fullpathdir, TRUE);
- fullpathdir = NULL;
- g_string_free(fullpathname, TRUE);
- fullpathname = NULL;
-
- return MYFILE_ERR_DIR_CREATE_FAIL;
- }
-
- GString *fullpath = NULL;
- char *temp_fullpath = g_strconcat(fullpathdir->str, "/", fullpathname->str, NULL);
- if (temp_fullpath) {
- fullpath = g_string_new(temp_fullpath);
-
- free(temp_fullpath);
- temp_fullpath = NULL;
- if (fullpath == NULL) {
- g_string_free(fullpathdir, TRUE);
- fullpathdir = NULL;
- g_string_free(fullpathname, TRUE);
- fullpathname = NULL;
- mf_ug_util_operation_alloc_failed(ugd);
- return MYFILE_ERR_ALLOCATE_MEMORY_FAIL;
- }
- } else {
- g_string_free(fullpathdir, TRUE);
- fullpathdir = NULL;
- g_string_free(fullpathname, TRUE);
- fullpathname = NULL;
- return MYFILE_ERR_ALLOCATE_MEMORY_FAIL;
- }
-
- /*check whether DIR name is override(DIR name has no extention) */
- /*check whether path length is override */
- if ((strlen(fullpathdir->str) + strlen(fullpathname->str)) > MYFILE_FILE_PATH_LEN_MAX) {
-
- message = MF_UG_LABEL_PATH_REACH_MAX_LEN;
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT_TWO_BTN, NULL, message,
- left_label, right_label, NULL,
- __mf_ug_cb_illegal_char_popup_cb, ugd);
- g_string_free(fullpathdir, TRUE);
- fullpathdir = NULL;
- g_string_free(fullpathname, TRUE);
- fullpathname = NULL;
- ret = MYFILE_ERR_DIR_CREATE_FAIL;
- }
- /*check if duplicated name */
- else if (mf_ug_file_attr_is_duplicated_name(ugd->ug_Status.ug_pPath->str, fileName) == MYFILE_ERR_DUPLICATED_NAME) {
- message = MF_UG_LABEL_DUP_NAME;
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT_TWO_BTN, NULL, message,
- left_label, right_label, NULL,
- __mf_ug_cb_illegal_char_popup_cb, ugd);
-
- g_string_free(fullpathdir, TRUE);
- fullpathdir = NULL;
- g_string_free(fullpathname, TRUE);
- fullpathname = NULL;
- ret = MYFILE_ERR_DIR_CREATE_FAIL;
- }
- /*check if DIR name is all spaces */
- else {
- ret = mf_ug_fm_svc_wrapper_create_service(ugd, fullpath);
- /*check whether operate on read only area */
- if (errno == EROFS) {
- message = MF_UG_LABEL_OPER_READ_ONLY;
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message, NULL, NULL, NULL, NULL, NULL);
- ret = MYFILE_ERR_DIR_CREATE_FAIL;
- } else if (ret) {
- message = MF_UG_LABEL_CREATE_DIR_FAILED;
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message, NULL, NULL, NULL, NULL, NULL);
- }
-
- g_string_free(fullpathdir, TRUE);
- fullpathdir = NULL;
- g_string_free(fullpathname, TRUE);
- fullpathname = NULL;
- g_string_free(fullpath, TRUE);
- fullpath = NULL;
-
- }
- } else {
- message = MF_UG_LABEL_EMPTY_FOLDER_NAME;
-
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT_TWO_BTN, NULL, message,
- left_label, right_label, NULL,
- __mf_ug_cb_illegal_char_popup_cb, ugd);
- ret = MYFILE_ERR_DIR_CREATE_FAIL;
- }
- return ret;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+
+ ug_mf_retvm_if(ugd == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL");
+ ug_mf_retvm_if(fileName == NULL, MYFILE_ERR_SRC_ARG_INVALID, "data is NULL");
+ ug_mf_retvm_if(ugd->ug_Status.ug_pPath == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL");
+ ug_mf_retvm_if(ugd->ug_Status.ug_pPath->str == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL");
+
+
+ int ret = 0;
+ const char *message = NULL;
+
+ if (strlen(fileName)) {
+
+ GString *fullpathdir = g_string_new(ugd->ug_Status.ug_pPath->str);
+
+ if (fullpathdir == NULL) {
+ mf_ug_util_operation_alloc_failed(ugd);
+ return MYFILE_ERR_ALLOCATE_MEMORY_FAIL;
+ }
+ GString *fullpathname = g_string_new(fileName);
+
+ if (fullpathname == NULL) {
+ g_string_free(fullpathdir, TRUE);
+ fullpathdir = NULL;
+ mf_ug_util_operation_alloc_failed(ugd);
+ return MYFILE_ERR_ALLOCATE_MEMORY_FAIL;
+ }
+ /*check the space */
+ gchar *test_space = g_strdup(fileName);
+ if (test_space == NULL) {
+ g_string_free(fullpathdir, TRUE);
+ fullpathdir = NULL;
+ g_string_free(fullpathname, TRUE);
+ fullpathname = NULL;
+ mf_ug_util_operation_alloc_failed(ugd);
+ return MYFILE_ERR_ALLOCATE_MEMORY_FAIL;
+ }
+ if (strlen(g_strchug(test_space)) == 0) {
+ message = MF_UG_LABEL_NAME_INVALID; /*TODO */
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message,
+ NULL, NULL, NULL,
+ __mf_ug_popup_show_vk, ugd);
+
+ g_string_free(fullpathdir, TRUE);
+ fullpathdir = NULL;
+ g_string_free(fullpathname, TRUE);
+ fullpathname = NULL;
+ g_free(test_space);
+ test_space = NULL;
+ return MYFILE_ERR_DIR_CREATE_FAIL;
+ }
+
+ g_free(test_space);
+ test_space = NULL;
+
+ /*check if input name is valid */
+ if (mf_ug_file_attr_is_valid_name(fullpathname->str) == MYFILE_ERR_INVALID_FILE_NAME) {
+
+ message = MF_UG_LABEL_ILLEGAL_CHAR;
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message,
+ NULL, NULL, NULL,
+ __mf_ug_popup_show_vk, ugd);
+ g_string_free(fullpathdir, TRUE);
+ fullpathdir = NULL;
+ g_string_free(fullpathname, TRUE);
+ fullpathname = NULL;
+
+ return MYFILE_ERR_DIR_CREATE_FAIL;
+ }
+
+ GString *fullpath = NULL;
+ char *temp_fullpath = g_strconcat(fullpathdir->str, "/", fullpathname->str, NULL);
+ if (temp_fullpath) {
+ fullpath = g_string_new(temp_fullpath);
+
+ free(temp_fullpath);
+ temp_fullpath = NULL;
+ if (fullpath == NULL) {
+ g_string_free(fullpathdir, TRUE);
+ fullpathdir = NULL;
+ g_string_free(fullpathname, TRUE);
+ fullpathname = NULL;
+ mf_ug_util_operation_alloc_failed(ugd);
+ return MYFILE_ERR_ALLOCATE_MEMORY_FAIL;
+ }
+ } else {
+ g_string_free(fullpathdir, TRUE);
+ fullpathdir = NULL;
+ g_string_free(fullpathname, TRUE);
+ fullpathname = NULL;
+ return MYFILE_ERR_ALLOCATE_MEMORY_FAIL;
+ }
+
+ /*check whether DIR name is override(DIR name has no extention) */
+ /*check whether path length is override */
+ if ((strlen(fullpathdir->str) + strlen(fullpathname->str)) > MYFILE_FILE_PATH_LEN_MAX) {
+
+ message = MF_UG_LABEL_MAX_CHARACTER_REACHED;
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message,
+ NULL, NULL, NULL,
+ __mf_ug_popup_show_vk, ugd);
+ g_string_free(fullpathdir, TRUE);
+ fullpathdir = NULL;
+ g_string_free(fullpathname, TRUE);
+ fullpathname = NULL;
+ ret = MYFILE_ERR_DIR_CREATE_FAIL;
+ }
+ /*check if duplicated name */
+ else if (mf_ug_file_attr_is_duplicated_name(ugd->ug_Status.ug_pPath->str, fileName) == MYFILE_ERR_DUPLICATED_NAME) {
+ message = MF_UG_LABEL_DUP_NAME;
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message,
+ NULL, NULL, NULL,
+ __mf_ug_popup_show_vk, ugd);/*fixe P131022-06134*/
+
+ g_string_free(fullpathdir, TRUE);
+ fullpathdir = NULL;
+ g_string_free(fullpathname, TRUE);
+ fullpathname = NULL;
+ ret = MYFILE_ERR_DIR_CREATE_FAIL;
+ }
+ /*check if DIR name is all spaces */
+ else {
+ ret = mf_ug_fm_svc_wrapper_create_service(ugd, fullpath);
+ /*check whether operate on read only area */
+ if (errno == EROFS) {
+ message = MF_UG_LABEL_OPER_READ_ONLY;
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message, NULL, NULL, NULL, __mf_ug_popup_show_vk, ugd);
+ ret = MYFILE_ERR_DIR_CREATE_FAIL;
+ } else if (ret) {
+ message = MF_UG_LABEL_CREATE_DIR_FAILED;
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message, NULL, NULL, NULL, __mf_ug_popup_show_vk, ugd);
+ }
+
+ g_string_free(fullpathdir, TRUE);
+ fullpathdir = NULL;
+ g_string_free(fullpathname, TRUE);
+ fullpathname = NULL;
+ g_string_free(fullpath, TRUE);
+ fullpath = NULL;
+
+ }
+ } else {
+ message = mf_ug_widget_get_text(MF_UG_LABEL_EMPTY_FOLDER_NAME);
+
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message,
+ NULL, NULL, NULL,
+ __mf_ug_popup_show_vk, ugd);
+ ret = MYFILE_ERR_DIR_CREATE_FAIL;
+ }
+ return ret;
}
void mf_ug_cb_save_cb(void *data, Evas_Object *obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
-
- if (ugd->ug_Status.ug_b_NaviPushFlag) {
- UG_TRACE_END;
- return;
- }
-
- int ret = 0;
- const char *message = NULL;
- const char *left_label = NULL;
- const char *right_label = NULL;
-
- if (ugd->ug_Status.ug_iMore == UG_MORE_CREATE_FOLDER) {
- const char *entry_data = NULL;
- char *name = NULL;
-
- /*hide IMF*/
- if (ugd->ug_MainWindow.ug_pEntry != NULL) {
- Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(ugd->ug_MainWindow.ug_pEntry);
- if (imf_context != NULL)
- ecore_imf_context_hide(imf_context);
- }
-
- entry_data = elm_entry_entry_get(ugd->ug_MainWindow.ug_pEntry);
-
- if (entry_data) {
- name = elm_entry_markup_to_utf8(entry_data);
- } else {
- message = MF_UG_LABEL_GET_NAME_FAILED;
- left_label = MF_UG_LABEL_YES;
- right_label = MF_UG_LABEL_NO;
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT_TWO_BTN, NULL, message,
- left_label, right_label, NULL,
- __mf_ug_cb_illegal_char_popup_cb, ugd);
- return;
- }
-
- if (name == NULL)
- return;
-
- ret = __mf_ug_cb_ime_mkdir_cb(ugd, name);
- if (ret == 0) {
- ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT;
- ecore_imf_context_input_panel_hide(elm_entry_imf_context_get(ugd->ug_MainWindow.ug_pEntry));
- evas_object_del(ugd->ug_MainWindow.ug_pEntry);
- UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNewFolderPopup);
- mf_ug_navi_bar_create_default_view(ugd);
- }
-
- if (name != NULL) {
- free(name);
- name = NULL;
- }
- }
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+
+ int ret = 0;
+ const char *message = NULL;
+
+ if (ugd->ug_Status.ug_iMore == UG_MORE_CREATE_FOLDER) {
+ const char *entry_data = NULL;
+ char *name = NULL;
+
+ /*hide IMF*/
+ if (ugd->ug_MainWindow.ug_pEntry != NULL) {
+ Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(ugd->ug_MainWindow.ug_pEntry);
+ if (imf_context != NULL)
+ ecore_imf_context_hide(imf_context);
+ }
+
+ entry_data = elm_entry_entry_get(ugd->ug_MainWindow.ug_pEntry);
+
+ if (entry_data) {
+ name = elm_entry_markup_to_utf8(entry_data);
+ } else {
+ message = MF_UG_LABEL_GET_NAME_FAILED;
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, message,
+ NULL, NULL, NULL,
+ NULL, NULL);
+ return;
+ }
+
+ if (name == NULL)
+ return;
+
+ ret = __mf_ug_cb_ime_mkdir_cb(ugd, name);
+ if (ret == 0) {
+ ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT;
+ ecore_imf_context_input_panel_hide(elm_entry_imf_context_get(ugd->ug_MainWindow.ug_pEntry));
+ evas_object_del(ugd->ug_MainWindow.ug_pEntry);
+ UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNewFolderPopup);
+ mf_ug_navi_bar_create_default_view(ugd);
+ }
+
+ if (name != NULL) {
+ free(name);
+ name = NULL;
+ }
+ }
}
+#if 0
void mf_ug_cb_lcd_state_changed_cb(power_state_e state, void *user_data)
{
- UG_TRACE_BEGIN;
-
- ug_mf_retm_if(user_data == NULL, "user_data is NULL");
- ugData *ugd = (ugData *)user_data;
-
- if(state == POWER_STATE_SCREEN_OFF){
- if (0 != ugd->ug_ListPlay.ug_Player) {
- ug_debug("destory the playing file");
- mf_ug_list_play_destory_playing_file(ugd);
- mf_ug_list_disable_play_itc(ugd, true);
- UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
- }
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+
+ ug_mf_retm_if(user_data == NULL, "user_data is NULL");
+ ugData *ugd = (ugData *)user_data;
+
+ if (state == POWER_STATE_SCREEN_OFF) {
+ if (0 != ugd->ug_ListPlay.ug_Player) {
+ mf_ug_list_play_destory_playing_file(ugd);
+ mf_ug_list_disable_play_itc(ugd, true);
+ ugd->ug_ListPlay.play_data = NULL;
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ }
+ }
+ UG_TRACE_END;
}
-
+#endif
Eina_Bool mf_ug_cb_popup_del_idler_cb(void *data)
{
- UG_TRACE_BEGIN;
- ug_mf_retvm_if(data == NULL, ECORE_CALLBACK_CANCEL, "data is NULL");
- ugData *ugd = (ugData *)data;
+ UG_TRACE_BEGIN;
+ ug_mf_retvm_if(data == NULL, ECORE_CALLBACK_CANCEL, "data is NULL");
+ ugData *ugd = (ugData *)data;
- UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSearchPopup);
- ugd->ug_Status.popup_del_idler = NULL;
+ UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSearchPopup);
+ ugd->ug_MainWindow.ug_pSearchLabel = NULL;
+ ugd->ug_Status.popup_del_idler = NULL;
- return ECORE_CALLBACK_CANCEL;
+ return ECORE_CALLBACK_CANCEL;
}
void mf_ug_cb_entry_button_pressed_cb(void *data, Evas_Object * obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
- Evas_Object *home_button_ic = (Evas_Object *)data;
- elm_image_file_set(home_button_ic, UG_ICON_ENTRY_FOLDER_PRESS, NULL);
+ Evas_Object *home_button_ic = (Evas_Object *)data;
+ elm_image_file_set(home_button_ic, UG_EDJ_IMAGE, UG_ICON_ENTRY_FOLDER_PRESS);
}
void mf_ug_cb_entry_button_unpressed_cb(void *data, Evas_Object * obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
- Evas_Object *home_button_ic = (Evas_Object *)data;
- elm_image_file_set(home_button_ic, UG_ICON_ENTRY_FOLDER, NULL);
+ Evas_Object *home_button_ic = (Evas_Object *)data;
+ elm_image_file_set(home_button_ic, UG_EDJ_IMAGE, UG_ICON_ENTRY_FOLDER);
}
void mf_ug_cb_play_button_pressed_cb(void *data, Evas_Object * obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
-
- const char *play_icon = NULL;
-
- Evas_Object *music_icon = elm_object_part_content_get(obj, "icon");
- if(ugd->ug_ListPlay.ug_iPlayState != PLAY_STATE_PLAYING) {
- play_icon = UG_ICON_MUSIC_PLAY_WHITE_PRESS;
- } else {
- play_icon = UG_ICON_MUSIC_PAUSE_WHITE_PRESS;
- }
-
- elm_image_file_set(music_icon, play_icon, NULL);
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+
+ const char *play_icon = NULL;
+
+ Evas_Object *music_icon = elm_object_part_content_get(obj, "icon");
+ if (ugd->ug_ListPlay.ug_iPlayState != PLAY_STATE_PLAYING) {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE_PRESS;
+ } else {
+ play_icon = UG_ICON_MUSIC_PAUSE_WHITE_PRESS;
+ }
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ evas_object_size_hint_min_set(music_icon, ELM_SCALE_SIZE(45), ELM_SCALE_SIZE(45));
}
void mf_ug_cb_play_button_unpressed_cb(void *data, Evas_Object * obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+
+ const char *play_icon = NULL;
+
+ Evas_Object *music_icon = elm_object_part_content_get(obj, "icon");
+ if (ugd->ug_ListPlay.ug_iPlayState != PLAY_STATE_PLAYING) {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE;
+ } else {
+ play_icon = UG_ICON_MUSIC_PAUSE_WHITE;
+ }
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ evas_object_size_hint_min_set(music_icon, 45, 45);
+}
- const char *play_icon = NULL;
+void mf_ug_cb_more_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
- Evas_Object *music_icon = elm_object_part_content_get(obj, "icon");
- if(ugd->ug_ListPlay.ug_iPlayState != PLAY_STATE_PLAYING) {
- play_icon = UG_ICON_MUSIC_PLAY_WHITE;
- } else {
- play_icon = UG_ICON_MUSIC_PAUSE_WHITE;
- }
+ mf_ug_context_popup_create_more(ugd, obj);
+}
- elm_image_file_set(music_icon, play_icon, NULL);
+void mf_ug_cb_thumb_created_cb(media_content_error_e error, const char *path, void *user_data)
+{
+ ug_mf_retm_if(user_data == NULL, "user_data is NULL");
+ ug_mf_retm_if(path == NULL, "path is NULL");
+ ugListItemData *pListData = (ugListItemData *)user_data;
+ ug_mf_retm_if(pListData->ug_pItem == NULL, "pListData->item is NULL");
+
+ if (error == MEDIA_CONTENT_ERROR_NONE && mf_file_exists(path)) {
+ ug_debug("Update item with new thumbnail[%s]", path);
+ UG_SAFE_FREE_CHAR(pListData->ug_pThumbPath);
+ pListData->ug_pThumbPath = g_strdup(path);
+ pListData->ug_bRealThumbFlag = true;
+ if (pListData->ug_pItem) {
+ elm_genlist_item_update(pListData->ug_pItem);
+ }
+ } else {
+ ug_debug("Invalid thumb path!");
+ }
+ pListData->thumbnail_create = EINA_FALSE;
}
-void mf_ug_cb_more_cb(void *data, Evas_Object * obj, void *event_info)
+bool mf_ug_cb_create_thumbnail(void *data, media_thumbnail_completed_cb callback)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(data == NULL, -1, "filter is NULL");
+ ugListItemData *pListData = (ugListItemData *)data;
+
+ int ret = -1;
+
+ ret = media_info_create_thumbnail(pListData->media, callback,
+ pListData);
+ if (ret != MEDIA_CONTENT_ERROR_NONE) {
+ ug_debug("Failed to create thumbnail! ret is [%d]", ret);
+ return -1;
+ }
+ return 0;
+}
- mf_ug_context_popup_create_more(ugd, obj);
+void mf_ug_ringtone_del_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+ UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pContextPopup);
+ ugd->ug_Status.ug_iViewType = mf_ug_view_ringtone_del;
+ mf_ug_navi_bar_create_delete_view(ugd);
+ return;
+}
+
+void mf_ug_select_all_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+ Elm_Object_Item *it = NULL;
+ ugListItemData *it_data = NULL;
+ bool state = true;
+ int prev_check_count = ugd->ug_Status.ug_iCheckedCount;
+ if (elm_check_state_get(obj) == 1) {
+ ugd->ug_Status.ug_iCheckedCount = eina_list_count(ugd->ug_UiGadget.ug_pFilterList);
+ } else {
+ ugd->ug_Status.ug_iCheckedCount=0;
+ }
+ long long int total_item_size = 0;
+ struct stat stFileInfo;
+
+ if (ugd->ug_Status.ug_iCheckedCount > ugd->ug_UiGadget.ug_iMaxLength) {
+ ug_error();
+ elm_check_state_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, false);
+ char *reach_string = mf_ug_widget_get_text(MF_UG_LABEL_REACH_MAX_SHARE_COUNT);
+ char *max_string = g_strdup_printf(reach_string, ugd->ug_UiGadget.ug_iMaxLength);
+ /*UG_SAFE_FREE_CHAR(reach_string);*/
+ ugd->ug_Status.ug_iCheckedCount = prev_check_count;
+ ug_error("max_string is [%s]", max_string);
+ mf_ug_popup_indicator_popup(max_string);
+ UG_SAFE_FREE_CHAR(max_string);
+ return;
+ }
+ it = elm_genlist_first_item_get(ugd->ug_MainWindow.ug_pNaviGenlist);
+ while (it) {
+ it_data = elm_object_item_data_get(it);
+ stat(it_data->ug_pItemName->str, &stFileInfo);
+ total_item_size += stFileInfo.st_size;
+ if (ugd->limitsize > 0 && total_item_size > ugd->limitsize) {
+ char *noti = NULL;
+ noti = g_strdup_printf(mf_ug_widget_get_text(MF_UG_LABEL_MAXIMUM_SIZE));
+ mf_ug_popup_indicator_popup(noti);
+ elm_check_state_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, false);
+ ugd->ug_Status.ug_iCheckedCount = prev_check_count;
+ state = false;
+
+ UG_SAFE_FREE_CHAR(noti);
+ return;
+ }
+ it = elm_genlist_item_next_get(it);
+ }
+ if(state){
+ ugd->selsize = total_item_size;
+ it = elm_genlist_first_item_get(ugd->ug_MainWindow.ug_pNaviGenlist);
+ while (it) {
+ it_data = elm_object_item_data_get(it);
+ if (elm_check_state_get(obj) == 0) {
+ it_data->ug_bChecked = 0;
+ } else {
+ it_data->ug_bChecked = 1;
+ }
+ elm_check_state_set(it_data->ug_pCheckBox, it_data->ug_bChecked);
+ elm_genlist_item_update(it);
+
+ it = elm_genlist_item_next_get(it);
+ }
+
+ }
+ mf_ug_genlist_show_select_info(ugd);
+ mf_ug_navi_bar_set_ctrl_item_disable(ugd);
+
+ return;
}
+void mf_ug_item_sel_all_press_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+ if (ugd->ug_MainWindow.ug_pSelectAllCheckBox) {
+ Eina_Bool state = elm_check_state_get(ugd->ug_MainWindow.ug_pSelectAllCheckBox);
+ elm_check_state_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, !state);
+ mf_ug_select_all_cb(data, ugd->ug_MainWindow.ug_pSelectAllCheckBox, NULL);
+ }
+ return;
+}
diff --git a/src/common/mf-ug-db-handle.c b/src/common/mf-ug-db-handle.c
new file mode 100644
index 0000000..6c45525
--- /dev/null
+++ b/src/common/mf-ug-db-handle.c
@@ -0,0 +1,183 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+#include <Eina.h>
+#include <Elementary.h>
+#include <Ecore.h>
+
+#include "mf-ug-media.h"
+#include "mf-ug-media-db.h"
+#include "mf-ug-file-util.h"
+
+static MFDHandle *mfd_handle = NULL;
+
+void mf_ug_db_handle_destory()
+{
+ mf_ug_media_disconnect(mfd_handle);
+}
+
+int mf_ug_db_handle_create()
+{
+ if (mfd_handle) {
+ mf_ug_db_handle_destory();
+ }
+
+ int ret = mf_ug_media_connect(&mfd_handle);
+ return ret;
+}
+
+MFDHandle *mf_ug_db_handle_get()
+{
+ return mfd_handle;
+}
+
+/*1 Shortcut*/
+bool mf_ug_db_handle_get_shortcut_cb(MFSitem *Sitem, void *user_data)
+{
+ Eina_List **list = (Eina_List **)user_data;
+ if (Sitem && Sitem->path) {
+ if (mf_file_exists(Sitem->path)) {
+ *list = eina_list_append(*list, g_strdup(Sitem->path));
+ } else {
+ mf_ug_media_delete_shortcut(mfd_handle, Sitem->path);
+ }
+ }
+ return true;
+}
+
+void mf_ug_db_handle_get_shortcut_files(void *data)
+{
+ mf_ug_media_foreach_shortcut_list(mfd_handle, mf_ug_db_handle_get_shortcut_cb, data);
+}
+
+
+/*1 Ringtone*/
+
+bool mf_ug_db_handle_get_ringtone_cb(mfRingtone *ritem, void *user_data)
+{
+ Eina_List **list = (Eina_List **)user_data;
+ if (ritem && ritem->path) {
+ if (mf_file_exists(ritem->path)) {
+ *list = eina_list_append(*list, g_strdup(ritem->path));
+ } else {
+ mf_ug_media_delete_ringtone(mfd_handle, ritem->path);
+ }
+ }
+ return true;
+}
+
+void mf_ug_db_handle_get_ringtone_files(void *data)
+{
+ mf_ug_media_foreach_ringtone_list(mfd_handle, mf_ug_db_handle_get_ringtone_cb, data);
+}
+
+
+bool mf_ug_db_handle_find_ringtone(const char *path)
+{
+ int find = mf_ug_find_ringtone(mfd_handle, path);
+ return (find == 1 ? true : false);
+}
+
+int mf_ug_db_handle_add_ringtone(const char *ringtone_path, const char *ringtone_name, int storage_type)
+{
+ bool find = mf_ug_db_handle_find_ringtone(ringtone_path);
+ int ret = MFD_ERROR_DB_NO_RECORD;
+ if (find == false) {
+ ret = mf_ug_media_add_ringtone(mfd_handle, ringtone_path, NULL, storage_type);
+ } else if (find == true) {
+ ret = MFD_ERROR_FILE_EXSITED;
+ }
+ return ret;
+}
+
+int mf_ug_db_handle_del_ringtone(const char *ringtone_path)
+{
+ int ret = mf_ug_media_delete_ringtone(mfd_handle, ringtone_path);
+ return ret;
+}
+
+int mf_ug_db_handle_ringtone_in_db(const char *ringtone_path)
+{
+ int ret = mf_ug_find_ringtone(mfd_handle, ringtone_path);
+ return ret;
+}
+
+int mf_ug_db_handle_ringtone_get_count()
+{
+ int count = 0;
+ mf_ug_media_get_ringtone_count(mfd_handle, &count);
+ return count;
+}
+/*1 Alert*/
+
+bool mf_ug_db_handle_get_alert_cb(mfRingtone *ritem, void *user_data)
+{
+ Eina_List **list = (Eina_List **)user_data;
+ if (ritem && ritem->path) {
+ if (mf_file_exists(ritem->path)) {
+ *list = eina_list_append(*list, g_strdup(ritem->path));
+ } else {
+ mf_ug_media_delete_alert(mfd_handle, ritem->path);
+ }
+ }
+ return true;
+}
+
+void mf_ug_db_handle_get_alert_files(void *data)
+{
+ mf_ug_media_foreach_alert_list(mfd_handle, mf_ug_db_handle_get_alert_cb, data);
+}
+
+
+bool mf_ug_db_handle_find_alert(const char *path)
+{
+ int find = mf_ug_find_alert(mfd_handle, path);
+ return (find == 1 ? true : false);
+}
+
+int mf_ug_db_handle_add_alert(const char *alert_path, const char *alert_name, int storage_type)
+{
+ bool find = mf_ug_db_handle_find_alert(alert_path);
+ int ret = MFD_ERROR_DB_NO_RECORD;
+ if (find == false) {
+ ret = mf_ug_media_add_alert(mfd_handle, alert_path, NULL, storage_type);
+ } else if (find == true) {
+ ret = MFD_ERROR_FILE_EXSITED;
+ }
+ return ret;
+}
+
+int mf_ug_db_handle_del_alert(const char *alert_path)
+{
+ int ret = mf_ug_media_delete_alert(mfd_handle, alert_path);
+ return ret;
+}
+
+int mf_ug_db_handle_alert_in_db(const char *alert_path)
+{
+ int ret = mf_ug_find_alert(mfd_handle, alert_path);
+ return ret;
+}
+
+int mf_ug_db_handle_alert_get_count()
+{
+ int count = 0;
+ mf_ug_media_get_alert_count(mfd_handle, &count);
+ return count;
+}
+
diff --git a/src/common/mf-ug-file-util.c b/src/common/mf-ug-file-util.c
new file mode 100644
index 0000000..8959e02
--- /dev/null
+++ b/src/common/mf-ug-file-util.c
@@ -0,0 +1,311 @@
+/*
+* Copyright 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+#include "mf-ug-file-util.h"
+
+#define PATH_MAX_SIZE 256
+#define BUF_MAX 16384
+static mode_t default_mode = S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH;
+
+const char *mf_file_get(const char path[])
+{
+ char *file = NULL;
+ struct stat info = {0,};
+
+ if (stat(path, &info) == 0) {
+ file = strrchr(path, '/');
+ if (file) {
+ file++;
+ }
+ }
+
+ return file;
+}
+
+char *mf_dir_get(const char path[])
+{
+ char *p = NULL;
+ char buf[PATH_MAX] = {0,};
+ struct stat info = {0,};
+
+ if (stat(path, &info) == 0) {
+ strncpy(buf, path, PATH_MAX);
+ buf[PATH_MAX - 1] = 0;
+ p = dirname(buf);
+ return strdup(p);
+ } else {
+ return "";
+ }
+}
+
+int mf_file_exists(const char *path)
+{
+ struct stat info = {0,};
+
+ if (stat(path, &info) == 0)
+ return 1;
+ else
+ return 0;
+}
+
+Eina_Bool mf_is_dir(const char *path)
+{
+ struct stat info = {0,};
+
+ if (stat(path, &info) == 0) {
+ if (S_ISDIR(info.st_mode)) {
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+int mf_is_dir_empty(const char *path)
+{
+ struct stat info = {0,};
+ struct dirent *dp = NULL;
+ DIR *dirp = NULL;
+
+ dirp = opendir(path);
+ if (!dirp)
+ return -1;
+
+ while ((dp = readdir(dirp))) {
+ if (stat(dp->d_name, &info) == 0 && (strcmp(dp->d_name, ".")) && (strcmp(dp->d_name, ".."))) {
+ closedir(dirp);
+ return 0;
+ }
+ }
+ closedir(dirp);
+ return 1;
+}
+
+int mf_mkdir(const char *dir)
+{
+ if (mkdir(dir, default_mode) < 0)
+ return 0;
+ else
+ return 1;
+}
+
+static int
+mf_mkpath_if_not_exists(const char *path)
+{
+ struct stat st = {0,};
+ if (stat(path, &st) < 0)
+ return mf_mkdir(path);
+ else if (!S_ISDIR(st.st_mode))
+ return 0;
+ else
+ return 1;
+}
+
+int mf_mkpath(const char *path)
+{
+ char ss[PATH_MAX] = {0,};
+ unsigned int i = 0;
+
+ if (mf_is_dir(path))
+ return 1;
+
+ for (i = 0; path[i] != '\0'; ss[i] = path[i], i++) {
+ if (i == sizeof(ss) - 1)
+ return 0;
+
+ if ((path[i] == '/') && (i > 0)) {
+ ss[i] = '\0';
+ if (!mf_mkpath_if_not_exists(ss))
+ return 0;
+ }
+ }
+ ss[i] = '\0';
+
+ return mf_mkpath_if_not_exists(ss);
+}
+
+char *mf_strip_ext(const char *path)
+{
+ char *p = NULL;
+ char *file = NULL;
+
+ p = strrchr(path, '.');
+ if (!p) {
+ file = strdup(path);
+ } else if (p != path) {
+ file = malloc(((p - path) + 1) * sizeof(char));
+ if (file) {
+ memcpy(file, path, (p - path));
+ file[p - path] = 0;
+ }
+ }
+
+ return file;
+}
+
+int mf_file_unlink (const char *filename)
+{
+ int status = unlink(filename);
+ if (status < 0)
+ return 0;
+ else
+ return 1;
+}
+
+int mf_file_size(const char *filename)
+{
+ struct stat info = {0,};
+ if (stat(filename, &info) == 0) {
+ if (!S_ISDIR(info.st_mode))
+ return info.st_size;
+ }
+
+ return 0;
+}
+
+int mf_file_rmdir(const char *filename)
+{
+ int status = rmdir(filename);
+ if (status < 0)
+ return 0;
+ else
+ return 1;
+}
+
+Eina_List *mf_file_ls(const char *dir)
+{
+ char *f = NULL;
+ DIR *dirp = NULL;
+ struct dirent *dp = NULL;
+ Eina_List *list = NULL;
+
+ dirp = opendir(dir);
+ if (!dirp)
+ return NULL;
+
+ while ((dp = readdir(dirp))) {
+ if ((strcmp(dp->d_name , ".")) && (strcmp(dp->d_name , ".."))) {
+ f = strdup(dp->d_name);
+ list = eina_list_append(list, f);
+ }
+ }
+ closedir(dirp);
+
+ list = eina_list_sort(list, eina_list_count(list), EINA_COMPARE_CB(strcoll));
+
+ return list;
+}
+
+int mf_file_recursive_rm(const char *dir)
+{
+ char buf[PATH_MAX_SIZE] = {0,};
+ struct dirent *dp = NULL;
+ DIR *dirp = NULL;
+
+ if (readlink(dir, buf, sizeof(buf)) > 0) {
+ return mf_file_unlink(dir);
+ }
+
+ int ret = mf_is_dir(dir);
+ if (ret) {
+ ret = 1;
+ dirp = opendir(dir);
+ if (dirp) {
+ while ((dp = readdir(dirp))) {
+ if ((strcmp(dp->d_name , ".")) && (strcmp(dp->d_name, ".."))) {
+ if (!mf_file_recursive_rm(dp->d_name))
+ ret = 0;
+ }
+ }
+ closedir(dirp);
+ }
+
+ if (!mf_file_rmdir(dir))
+ ret = 0;
+
+ return ret;
+ } else {
+ return mf_file_unlink(dir);
+ }
+}
+
+int mf_file_cp(const char *src, const char *dst)
+{
+ FILE *f1 = NULL;
+ FILE *f2 = NULL;
+ char buf[BUF_MAX] = {0,}; /*TODO: How about moving buf to heap instead of stack*/
+ char realpath1[PATH_MAX_SIZE] = {0,};
+ char realpath2[PATH_MAX_SIZE] = {0,};
+ size_t num;
+ int ret = 1;
+
+ if (!realpath(src, realpath1))
+ return 0;
+
+ if (realpath(dst, realpath2) && !strcmp(realpath1, realpath2))
+ return 0;
+
+ f1 = fopen(src, "rb");
+ if (!f1)
+ return 0;
+
+ f2 = fopen(dst, "wb");
+ if (!f2) {
+ fclose(f1);
+ return 0;
+ }
+
+ while ((num = fread(buf, 1, sizeof(buf), f1)) > 0) {
+ if (fwrite(buf, 1, num, f2) != num)
+ ret = 0;
+ }
+
+ fclose(f1);
+ fclose(f2);
+
+ return ret;
+}
+
+int mf_file_mv(const char *src, const char *dst)
+{
+ struct stat info = {0,};
+ if (stat(dst, &info) == 0)
+ return 0;
+
+ if (rename(src, dst)) {
+ memset(&info, 0x00, sizeof(struct stat));
+ stat(src, &info);
+ if (S_ISREG(info.st_mode)) {
+ mf_file_cp(src, dst);
+ chmod(dst, info.st_mode);
+ unlink(src);
+ return 1;
+ }
+ return 0;
+ }
+ return 1;
+}
+
+
+int mf_remove(const char *filename)
+{
+ int status = remove(filename);
+ if (status < 0)
+ return 0;
+ else
+ return 1;
+}
diff --git a/src/common/mf-ug-fm-svc-wapper.c b/src/common/mf-ug-fm-svc-wapper.c
index 4cea7b6..c2a91bb 100644
--- a/src/common/mf-ug-fm-svc-wapper.c
+++ b/src/common/mf-ug-fm-svc-wapper.c
@@ -1,76 +1,71 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
-#include <sys/statvfs.h>
+#include <sys/statvfs.h>
+#include <storage.h>
#include "mf-ug-util.h"
#include "mf-ug-cb.h"
#include "mf-ug-main.h"
#include "mf-ug-fm-svc-wrapper.h"
#include "mf-ug-fs-util.h"
#include "mf-ug-resource.h"
-
-#define UG_FILTER_CATEGORY_ALL \
-UG_FILTER_CATEGORY_NONE | UG_FILTER_CATEGORY_IMAGE | UG_FILTER_CATEGORY_VIDEO \
-| UG_FILTER_CATEGORY_SOUND | UG_FILTER_CATEGORY_VOICE | UG_FILTER_CATEGORY_MUSIC \
-| UG_FILTER_CATEGORY_HTML | UG_FILTER_CATEGORY_FLASH | UG_FILTER_CATEGORY_GAME \
-| UG_FILTER_CATEGORY_APP | UG_FILTER_CATEGORY_THEME | UG_FILTER_CATEGORY_DOC \
-| UG_FILTER_CATEGORY_EXCEL | UG_FILTER_CATEGORY_PPT | UG_FILTER_CATEGORY_PDF \
-| UG_FILTER_CATEGORY_TXT | UG_FILTER_CATEGORY_VCONTACT | UG_FILTER_CATEGORY_VCALENDAR \
-| UG_FILTER_CATEGORY_VNOTE | UG_FILTER_CATEGORY_VBOOKMARK | UG_FILTER_CATEGORY_VIDEO_PROJECT\
-| UG_FILTER_CATEGORY_SVG | UG_FILTER_CATEGORY_ETC
-
-
-#define MF_UG_PATH_INFO_RETRENCH 128
-#define MF_UG_PATH_INFO_HEAD_LEN(x) strlen(x)
-#define MF_UG_PATH_INFO_TRANS_OMIT elm_entry_utf8_to_markup("..")
-#define MF_UG_PATH_INFO_LEVEL_BOUNDARY 3
-#define MF_UG_PATH_INFO_LEN_THRESHOLD 4
-#define MF_UG_PATH_INFO_SEP elm_entry_utf8_to_markup("/")
+#include "mf-ug-widget.h"
+#include "mf-ug-file-util.h"
+
+#define MF_UG_PATH_INFO_RETRENCH 128
+#define MF_UG_PATH_INFO_HEAD_LEN(x) strlen(x)
+#define MF_UG_PATH_INFO_TRANS_OMIT elm_entry_utf8_to_markup("..")
+#define MF_UG_PATH_INFO_LEVEL_BOUNDARY 3
+#define MF_UG_PATH_INFO_LEN_THRESHOLD 4
+#define MF_UG_PATH_INFO_SEP elm_entry_utf8_to_markup("/")
typedef struct {
- int len_orig;
- int len_trans;
- char *original;
- char *transfer;
- bool flag_trans;
-}ug_pNode;
+ int len_orig;
+ int len_trans;
+ char *original;
+ char *transfer;
+ bool flag_trans;
+} ug_pNode;
/*********************
-**Function name: __mf_ug_fm_svc_wapper_COMESFROM
+**Function name: __mf_ug_fm_svc_wapper_COMESFROM
**Parameter:
-** GString* fullpath: fullpath to check the location
+** GString* fullpath: fullpath to check the location
**
**Return value:
-** location of the path
+** location of the path
**
**Action:
-** get storage type by fullpath
+** get storage type by fullpath
*********************/
static int __mf_ug_fm_svc_wapper_COMESFROM(char *fullpath)
{
- int len_phone = strlen(PHONE_FOLDER);
- int len_memory = strlen(MEMORY_FOLDER);
-
- if (strncmp(fullpath, PHONE_FOLDER, len_phone) == 0) {
- return MF_UG_PHONE;
- } else if (strncmp(fullpath, MEMORY_FOLDER, len_memory) == 0) {
- return MF_UG_MMC;
- } else {
- return MYFILE_ERR_STORAGE_TYPE_ERROR;
- }
+ int len_phone = strlen(PHONE_FOLDER);
+ int len_memory = strlen(MEMORY_FOLDER);
+
+ if (strncmp(fullpath, PHONE_FOLDER, len_phone) == 0) {
+ return MF_UG_PHONE;
+ } else if (strncmp(fullpath, MEMORY_FOLDER, len_memory) == 0) {
+ return MF_UG_MMC;
+ } else {
+ return MYFILE_ERR_STORAGE_TYPE_ERROR;
+ }
}
/******************************
@@ -93,21 +88,21 @@ static int __mf_ug_fm_svc_wapper_COMESFROM(char *fullpath)
******************************/
static int __mf_ug_fm_svc_wapper_get_file_list(GString *fullpath, Eina_List **dir_list, Eina_List **file_list)
{
- UG_TRACE_BEGIN;
- ug_mf_retvm_if(fullpath == NULL, MYFILE_ERR_INVALID_ARG, "fullpath is NULL");
- ug_mf_retvm_if(fullpath->str == NULL, MYFILE_ERR_INVALID_ARG, "fullpath->str is NULL");
- ug_mf_retvm_if(fullpath->len == 0, MYFILE_ERR_INVALID_ARG, "fullpath->len is 0");
-
- int error_code = 0;
-
- error_code = mf_ug_fs_oper_read_dir(fullpath->str, dir_list, file_list);
- if (error_code != 0) {
- ug_debug("error_code is [%d]\n", error_code);
- } else {
- ug_debug("success get the file list\n");
- }
- UG_TRACE_END;
- return error_code;
+ UG_TRACE_BEGIN;
+ ug_mf_retvm_if(fullpath == NULL, MYFILE_ERR_INVALID_ARG, "fullpath is NULL");
+ ug_mf_retvm_if(fullpath->str == NULL, MYFILE_ERR_INVALID_ARG, "fullpath->str is NULL");
+ ug_mf_retvm_if(fullpath->len == 0, MYFILE_ERR_INVALID_ARG, "fullpath->len is 0");
+
+ int error_code = 0;
+
+ error_code = mf_ug_fs_oper_read_dir(fullpath->str, dir_list, file_list);
+ if (error_code != 0) {
+ ug_debug("error_code is [%d]\n", error_code);
+ } else {
+ ug_debug("success get the file list\n");
+ }
+ UG_TRACE_END;
+ return error_code;
}
@@ -131,137 +126,113 @@ static int __mf_ug_fm_svc_wapper_get_file_list(GString *fullpath, Eina_List **di
******************************/
unsigned long mf_ug_fm_svc_wapper_get_file_filter(int file_filter_mode)
{
- unsigned long filter = 0;
- switch (file_filter_mode) {
- case SHOW_ALL_LIST:
- filter |= UG_FILTER_CATEGORY_ALL;
- ug_debug("show_all_list:::::::::::::::::::::::::::::::::: filter is [%d]", filter);
- break;
- case SHOW_IMAGE_LIST:
- filter |= UG_FILTER_CATEGORY_IMAGE;
- break;
- case SHOW_SOUND_LIST:
- filter |= UG_FILTER_CATEGORY_MUSIC | UG_FILTER_CATEGORY_SOUND | UG_FILTER_CATEGORY_VOICE;
- break;
- case SHOW_VIDEO_LIST:
- filter |= UG_FILTER_CATEGORY_VIDEO;
- break;
- case SHOW_FLASH_LIST:
- filter |= UG_FILTER_CATEGORY_FLASH;
- break;
- case SHOW_FOLDER_LIST:
- break;
- case SHOW_IMAGE_VIDEO_LIST:
- filter |= UG_FILTER_CATEGORY_IMAGE | UG_FILTER_CATEGORY_VIDEO;
- break;
- case SHOW_IMAGE_SOUND_LIST:
- filter |= UG_FILTER_CATEGORY_IMAGE | UG_FILTER_CATEGORY_SOUND | UG_FILTER_CATEGORY_MUSIC | UG_FILTER_CATEGORY_VOICE;
- break;
- case SHOW_VIDEO_SOUND_LIST:
- filter |= UG_FILTER_CATEGORY_SOUND | UG_FILTER_CATEGORY_VIDEO | UG_FILTER_CATEGORY_MUSIC | UG_FILTER_CATEGORY_VOICE;
- break;
- default:
- break;
- }
- return filter;
+ unsigned long filter = 0;
+ switch (file_filter_mode) {
+ case SHOW_ALL_LIST:
+ filter = UG_FILTER_CATEGORY_ALL;
+ ug_debug("show_all_list:::::::::::::::::::::::::::::::::: filter is [%d]", filter);
+ break;
+ case SHOW_IMAGE_LIST:
+ filter |= UG_FILTER_CATEGORY_IMAGE;
+ break;
+ case SHOW_SOUND_LIST:
+ filter |= UG_FILTER_CATEGORY_MUSIC | UG_FILTER_CATEGORY_SOUND | UG_FILTER_CATEGORY_VOICE | UG_FILTER_CATEGORY_MP4_AUDIO;
+ break;
+ case SHOW_VIDEO_LIST:
+ filter |= UG_FILTER_CATEGORY_VIDEO | UG_FILTER_CATEGORY_MP4_VIDEO;
+ break;
+ case SHOW_FLASH_LIST:
+ filter |= UG_FILTER_CATEGORY_FLASH;
+ break;
+ case SHOW_FOLDER_LIST:
+ break;
+ case SHOW_IMAGE_VIDEO_LIST:
+ filter |= UG_FILTER_CATEGORY_IMAGE | UG_FILTER_CATEGORY_VIDEO | UG_FILTER_CATEGORY_MP4_VIDEO;
+ break;
+ case SHOW_IMAGE_SOUND_LIST:
+ filter |= UG_FILTER_CATEGORY_IMAGE | UG_FILTER_CATEGORY_SOUND | UG_FILTER_CATEGORY_MUSIC | UG_FILTER_CATEGORY_VOICE | UG_FILTER_CATEGORY_MP4_AUDIO;
+ break;
+ case SHOW_VIDEO_SOUND_LIST:
+ filter |= UG_FILTER_CATEGORY_SOUND | UG_FILTER_CATEGORY_VIDEO | UG_FILTER_CATEGORY_MUSIC | UG_FILTER_CATEGORY_VOICE | UG_FILTER_CATEGORY_MP4_AUDIO;
+ break;
+ case SHOW_DOCUMENT_LIST:
+ filter |= UG_FILTER_CATEGORY_DOC | UG_FILTER_CATEGORY_EXCEL | UG_FILTER_CATEGORY_PPT | UG_FILTER_CATEGORY_PDF | UG_FILTER_CATEGORY_TXT | UG_FILTER_CATEGORY_SNB | UG_FILTER_CATEGORY_GUL | UG_FILTER_CATEGORY_HWP;
+ break;
+ default:
+ break;
+ }
+ return filter;
}
-int mf_ug_fm_svc_wapper_get_drm_filter(int drm_filter_mode, unsigned long file_filter)
+int mf_ug_fm_svc_wapper_get_file_list_by_filter(ugData *data, GString *fullpath, Eina_List **dir_list, Eina_List **filter_list)
{
- int drm_filter = 0;
- unsigned long filter = file_filter;
- unsigned long all = (unsigned long)(UG_FILTER_CATEGORY_ALL);
-
- switch (drm_filter_mode) {
- case DRM_FILTER_ALL:
- if (filter == all) {
- ug_debug("drm_filter is ALL");
- drm_filter |= MF_UG_FILTER_DRM_ALL;
- } else {
- if (filter & UG_FILTER_CATEGORY_IMAGE) {
- ug_debug("drm_filter is IMAGE");
- drm_filter |= MF_UG_FILTER_DRM_IMAGE;
- }
- if (filter & UG_FILTER_CATEGORY_SOUND) {
- ug_debug("drm_filter is SOUND");
- drm_filter |= MF_UG_FILTER_DRM_RINGTONE;
- }
- if (filter & UG_FILTER_CATEGORY_MUSIC) {
- ug_debug("drm_filter is MUSIC");
- drm_filter |= MF_UG_FILTER_DRM_RINGTONE;
- }
- }
- break;
- case DRM_FILTER_WITHOUT_FL:
- drm_filter |= MF_UG_FILTER_DRM_WITHOUT_FL;
- if (filter == all) {
- drm_filter |= MF_UG_FILTER_DRM_ALL;
- } else {
- if (filter & UG_FILTER_CATEGORY_IMAGE) {
- drm_filter |= MF_UG_FILTER_DRM_IMAGE;
- }
- if (filter & UG_FILTER_CATEGORY_SOUND) {
- drm_filter |= MF_UG_FILTER_DRM_RINGTONE;
- }
- if (filter & UG_FILTER_CATEGORY_MUSIC) {
- drm_filter |= MF_UG_FILTER_DRM_RINGTONE;
- }
- }
- break;
- default:
- break;
- }
- return drm_filter;
+ ugData *ugd = data;
+ ug_mf_retvm_if(ugd == NULL, MYFILE_ERR_INVALID_ARG, "ugd is NULL");
+ ug_mf_retvm_if(fullpath == NULL, MYFILE_ERR_INVALID_ARG, "fullpath is NULL");
+ ug_mf_retvm_if(fullpath->str == NULL, MYFILE_ERR_INVALID_ARG, "fullpath->str is NULL");
+ ug_mf_retvm_if(fullpath->len == 0, MYFILE_ERR_INVALID_ARG, "fullpath->len is 0");
+
+ int error_code = 0;
+ int filter_mode = 0;
+ int file_filter = 0;
+ int file_list_len = 0;
+ Eina_List *file_list = NULL;
+ char *extension = NULL;
+
+ filter_mode = ugd->ug_UiGadget.ug_iFilterMode;
+ file_filter = ugd->ug_UiGadget.ug_iFileFilter;
+
+ error_code = __mf_ug_fm_svc_wapper_get_file_list(fullpath, dir_list, &file_list);
+
+ if (error_code == 0) {
+ file_list_len = eina_list_count(file_list);
+
+ if (file_list_len > 0) {
+ ug_debug("file_filter is [%d]\n", filter_mode);
+
+ if (filter_mode != SHOW_BY_EXTENSION) {
+ ug_debug("file_filter is [%d] ", file_filter);
+ error_code = mf_ug_fs_oper_list_filter(file_list, filter_list, file_filter);
+ } else if (ugd->ug_UiGadget.ug_pExtension != NULL) {
+ extension = strdup(ugd->ug_UiGadget.ug_pExtension);
+ error_code = mf_ug_fs_oper_list_filter_by_extension(file_list, filter_list, extension);
+ free(extension);
+ }
+ return error_code;
+ }
+ }
+ return error_code;
}
-int mf_ug_fm_svc_wapper_get_file_list_by_filter(ugData *data, GString *fullpath, Eina_List **dir_list, Eina_List **filter_list)
+bool mf_ug_fm_svc_wapper_is_default_ringtone(void *data, char* selected_file)
{
- ugData *ugd = data;
- ug_mf_retvm_if(ugd == NULL, MYFILE_ERR_INVALID_ARG, "ugd is NULL");
- ug_mf_retvm_if(fullpath == NULL, MYFILE_ERR_INVALID_ARG, "fullpath is NULL");
- ug_mf_retvm_if(fullpath->str == NULL, MYFILE_ERR_INVALID_ARG, "fullpath->str is NULL");
- ug_mf_retvm_if(fullpath->len == 0, MYFILE_ERR_INVALID_ARG, "fullpath->len is 0");
-
- int error_code = 0;
- int filter_mode = 0;
- int file_filter = 0;
- int drm_filter = 0;
- int file_list_len = 0;
- Eina_List *file_list = NULL;
- char *extension = NULL;
-
- filter_mode = ugd->ug_UiGadget.ug_iFilterMode;
- file_filter = ugd->ug_UiGadget.ug_iFileFilter;
- drm_filter = ugd->ug_UiGadget.ug_iDrmFilter;
-
- ug_debug("fullpath is [%s]", fullpath->str);
- error_code = __mf_ug_fm_svc_wapper_get_file_list(fullpath, dir_list, &file_list);
-
- if (error_code == 0) {
- ug_debug();
- file_list_len = eina_list_count(file_list);
-
- if (file_list_len > 0) {
- ug_debug("file_filter is [%d]\n", filter_mode);
-
- if (filter_mode != SHOW_BY_EXTENSION) {
- ug_debug("file_filter is [%d] drm_filter is [%d]", file_filter, drm_filter);
- error_code = mf_ug_fs_oper_list_filter(file_list, filter_list, file_filter, drm_filter);
- } else if (ugd->ug_UiGadget.ug_pExtension != NULL) {
- extension = strdup(ugd->ug_UiGadget.ug_pExtension);
- error_code = mf_ug_fs_oper_list_filter_by_extension(file_list, filter_list, extension);
- free(extension);
- }
- ug_debug("error is [%d]%s %d\n", error_code, __func__, __LINE__);
- return error_code;
- }
- }
- ug_debug("error is [%d]%s %d\n", error_code, __func__, __LINE__);
- return error_code;
+ UG_TRACE_BEGIN;
+ ugData *ugd = data;
+ ugFsNodeInfo *pNode = NULL;
+ char *real_name = NULL;
+ Eina_List *l = NULL;
+ ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+ ug_mf_retvm_if(selected_file == NULL, false, "selected_file is NULL");
+ ug_mf_retvm_if(ugd->ug_UiGadget.ug_pFilterList == NULL, false, "ugd->ug_UiGadget.ug_pFilterList is NULL");
+ EINA_LIST_FOREACH(ugd->ug_UiGadget.ug_pFilterList, l, pNode) {
+ if (pNode) {
+ if (pNode->path && pNode->name) {
+ real_name = g_strconcat(pNode->path, "/", pNode->name, NULL);
+ }
+ } else {
+ continue;
+ }
+ if (real_name != NULL && strcmp(selected_file, real_name) == 0) {
+ SECURE_DEBUG("real_name=%s", real_name);
+ UG_SAFE_FREE_CHAR(real_name);
+ return true;
+ }
+ UG_SAFE_FREE_CHAR(real_name);
+ }
+
+ return false;
}
-
-
/******************************
** Prototype : mfUgIsRootPath
** Description :
@@ -279,16 +250,16 @@ int mf_ug_fm_svc_wapper_get_file_list_by_filter(ugData *data, GString *fullpath,
******************************/
bool mf_ug_fm_svc_wapper_is_root_path(void *data)
{
- GString *g_path = (GString *)data;
- ug_mf_retvm_if(g_path == NULL, false, "g_path is NULL");
-
- if (!strcmp(g_path->str, PHONE_FOLDER)) {
- return true;
- } else if (!strcmp(g_path->str, MEMORY_FOLDER)) {
- return true;
- } else {
- return false;
- }
+ char *g_path = (char *)data;
+ ug_mf_retvm_if(g_path == NULL, false, "g_path is NULL");
+
+ if (!strcmp(g_path, PHONE_FOLDER)) {
+ return true;
+ } else if (!strcmp(g_path, MEMORY_FOLDER)) {
+ return true;
+ } else {
+ return false;
+ }
}
@@ -309,23 +280,23 @@ bool mf_ug_fm_svc_wapper_is_root_path(void *data)
******************************/
GString *mf_ug_fm_svc_wapper_get_file_name(GString *path)
{
- GString *ret = NULL;
- if (ecore_file_exists(path->str)) {
- ret = g_string_new(ecore_file_file_get(path->str));
- } else {
- ret = NULL;
- }
- return ret;
+ GString *ret = NULL;
+ if (mf_file_exists(path->str)) {
+ ret = g_string_new(mf_file_get(path->str));
+ } else {
+ ret = NULL;
+ }
+ return ret;
}
char *mf_ug_fm_svc_wapper_get_root_path_by_tab_label(const char *label)
{
- if (g_strcmp0(label, MF_UG_LABEL_PHONE) == 0) {
- return g_strdup(PHONE_FOLDER);
- } else if (g_strcmp0(label, MF_UG_LABEL_MMC) == 0) {
- return g_strdup(MEMORY_FOLDER);
- } else
- return NULL;
+ if (g_strcmp0(label, MF_UG_LABEL_PHONE) == 0) {
+ return g_strdup(PHONE_FOLDER);
+ } else if (g_strcmp0(label, MF_UG_LABEL_MMC) == 0) {
+ return g_strdup(MEMORY_FOLDER);
+ } else
+ return NULL;
}
/******************************
@@ -345,602 +316,664 @@ char *mf_ug_fm_svc_wapper_get_root_path_by_tab_label(const char *label)
******************************/
int mf_ug_fm_svc_wapper_get_location(char *fullpath)
{
- return __mf_ug_fm_svc_wapper_COMESFROM(fullpath);
+ return __mf_ug_fm_svc_wapper_COMESFROM(fullpath);
}
gint mf_ug_fm_svc_wapper_get_folder_foldersystem(GString *path, bool * result)
{
- int error_code = 0;
- error_code = mf_ug_file_attr_is_system_dir(path->str, result);
- return error_code;
+ int error_code = 0;
+ error_code = mf_ug_file_attr_is_system_dir(path->str, result);
+ return error_code;
}
GString *mf_ug_fm_svc_wrapper_get_file_parent_path(GString *fullpath)
{
- GString *ret = NULL;
- char *path = NULL;
- int error_code = 0;
-
- if (fullpath == NULL || fullpath->str == NULL) {
- return NULL;
- }
- error_code = mf_ug_file_attr_get_parent_path(fullpath->str, &path);
- if (error_code != 0) {
- return NULL;
- }
-
- ret = g_string_new(path);
- free(path);
- path = NULL;
- return ret;
+ GString *ret = NULL;
+ char *path = NULL;
+ int error_code = 0;
+
+ if (fullpath == NULL || fullpath->str == NULL) {
+ return NULL;
+ }
+ error_code = mf_ug_file_attr_get_parent_path(fullpath->str, &path);
+ if (error_code != 0) {
+ return NULL;
+ }
+
+ ret = g_string_new(path);
+ free(path);
+ path = NULL;
+ return ret;
}
char *mf_ug_fm_svc_path_info_retrench(const char *string)
{
- ug_mf_retvm_if(string == NULL, g_strdup(MF_UG_PATH_INFO_TRANS_OMIT), "input path is NULL");
- char *retrench = NULL;
- char *utf8_string = elm_entry_utf8_to_markup(string);
- if (utf8_string && strlen (string) > MF_UG_PATH_INFO_LEN_THRESHOLD) {
- if (g_utf8_strlen(utf8_string, -1) > 2) {
- retrench = calloc(1, MF_UG_PATH_INFO_RETRENCH);
- if (retrench) {
- char *omit = MF_UG_PATH_INFO_TRANS_OMIT;
- char *temp = g_utf8_strncpy(retrench, utf8_string, 2);
- retrench = g_strconcat(temp, omit, NULL);
- UG_SAFE_FREE_CHAR(omit);
- UG_SAFE_FREE_CHAR(temp);
- }
- UG_SAFE_FREE_CHAR(utf8_string);
-
- } else {
- retrench = utf8_string;
- }
- return retrench;
- } else {
- return utf8_string;
- }
+ ug_mf_retvm_if(string == NULL, g_strdup(MF_UG_PATH_INFO_TRANS_OMIT), "input path is NULL");
+ char *retrench = NULL;
+ char *utf8_string = elm_entry_utf8_to_markup(string);
+ if (utf8_string && strlen (string) > MF_UG_PATH_INFO_LEN_THRESHOLD) {
+ if (g_utf8_strlen(utf8_string, -1) > 2) {
+ retrench = calloc(1, MF_UG_PATH_INFO_RETRENCH);
+ if (retrench) {
+ char *omit = MF_UG_PATH_INFO_TRANS_OMIT;
+ char *temp = g_utf8_strncpy(retrench, utf8_string, 2);
+ retrench = g_strconcat(temp, omit, NULL);
+ UG_SAFE_FREE_CHAR(omit);
+ UG_SAFE_FREE_CHAR(temp);
+ }
+ UG_SAFE_FREE_CHAR(utf8_string);
+
+ } else {
+ retrench = utf8_string;
+ }
+ return retrench;
+ } else {
+ return utf8_string;
+ }
}
static void __mf_ug_fm_svc_wrapper_path_info_node_free(Eina_List *list)
{
- ug_mf_retm_if(list == NULL, "list is NULL");
- const Eina_List *l = NULL;
- void *data = NULL;
- EINA_LIST_FOREACH(list, l, data) {
- ug_pNode *node = (ug_pNode *)data;
- if (node != NULL) {
- UG_SAFE_FREE_CHAR(node->original);
- UG_SAFE_FREE_CHAR(node->transfer);
- UG_SAFE_FREE_CHAR(node);
- }
- }
- eina_list_free(list);
+ ug_mf_retm_if(list == NULL, "list is NULL");
+ const Eina_List *l = NULL;
+ void *data = NULL;
+ EINA_LIST_FOREACH(list, l, data) {
+ ug_pNode *node = (ug_pNode *)data;
+ if (node != NULL) {
+ UG_SAFE_FREE_CHAR(node->original);
+ UG_SAFE_FREE_CHAR(node->transfer);
+ UG_SAFE_FREE_CHAR(node);
+ }
+ }
+ eina_list_free(list);
}
char *mf_ug_fm_svc_path_info_translate(char *path_info, int path_info_max_len)
{
- ug_mf_retvm_if(path_info == NULL, g_strdup(dgettext("sys_string", "IDS_COM_BODY_UNKNOWN")), "input path is NULL");
-
- int top = 0;
- bool flag = TRUE;
- Eina_List *temp_list = NULL;
- const Eina_List *l = NULL;
- gchar **result = NULL;
- gchar **params = NULL;
- int count = 0;
- int max_len = 0;
- int total_len = 0;
- int i = 0;
- char *output = NULL;
- void *pnode = NULL;
- char *omit = MF_UG_PATH_INFO_TRANS_OMIT;
-
- if (strlen(path_info) < path_info_max_len) {
- UG_SAFE_FREE_CHAR(omit);
- return path_info;
- }
-
- result = g_strsplit(path_info, "/", 0);
- if (result == NULL) {
- free(path_info);
- path_info = NULL;
- UG_SAFE_FREE_CHAR(omit);
- return g_strdup(dgettext("sys_string", "IDS_COM_BODY_UNKNOWN"));
- }
-
- params = result;
- count = g_strv_length(result);
-
- if (count > MF_UG_PATH_INFO_LEVEL_BOUNDARY)
- {
- top = MF_UG_PATH_INFO_LEVEL_BOUNDARY;
- flag = FALSE;
- max_len = path_info_max_len - MF_UG_PATH_INFO_LEVEL_BOUNDARY - MF_UG_PATH_INFO_HEAD_LEN(omit);//(2 is length of ..) ../aa../bb../***
- }
- else
- {
- top = count;
- flag = TRUE;
- max_len = path_info_max_len - (count-1);
- }
-
- for(i = top; i > 1; i--)
- {
- ug_pNode *nodeB = calloc(sizeof(ug_pNode), 1);
- nodeB->original = elm_entry_utf8_to_markup(params[count -i]);
- nodeB->len_orig = strlen(params[count - i]);
- nodeB->transfer = mf_ug_fm_svc_path_info_retrench(params[count-i]);
- nodeB->len_trans = strlen(nodeB->transfer);
- nodeB->flag_trans = FALSE;
- total_len += nodeB->len_orig;
-
- temp_list = eina_list_append(temp_list, nodeB);
- }
-
- total_len += strlen(params[count - 1]);
-
- for (i = 0 ; i < eina_list_count(temp_list); i++)
- {
- if (total_len > max_len)
- {
- ug_pNode *data = NULL;
- data = eina_list_nth(temp_list, i);
- total_len -= (data->len_orig - data->len_trans);
- data->flag_trans = TRUE;
- }
-
- if (total_len <= max_len)
- break;
- }
-
-
- if (flag == FALSE)
- {
- output = elm_entry_utf8_to_markup("..");
- }
- char *temp = NULL;
- char *sep = MF_UG_PATH_INFO_SEP;
- EINA_LIST_FOREACH(temp_list, l, pnode)
- {
- ug_pNode *node = (ug_pNode *)pnode;
- temp = output;
- if(node->flag_trans == TRUE)
- {
- if (output != NULL)
- output = g_strconcat(output, sep, node->transfer, NULL);
- else
- output = g_strdup(node->transfer);
- }
- else
- {
- if (output != NULL)
- output = g_strconcat(output, sep ,node->original, NULL);
- else
- output = g_strdup(node->original);
- }
- UG_SAFE_FREE_CHAR(temp);
- }
- temp = output;
- char *last_string = params[count - 1];
- char *utf8_last = elm_entry_utf8_to_markup(last_string);
-
- if (output != NULL) {
- int last_len = strlen(last_string);
- int output_len = strlen(output);
- int d_value = path_info_max_len - output_len;
- if ((last_len + output_len) > path_info_max_len) {
- const char *end = NULL;
- gboolean ret = FALSE;
- ret = g_utf8_validate(utf8_last, d_value, &end);
- if (ret == TRUE) {
- d_value = last_len - strlen(end);
- utf8_last[d_value] = '\0';
- output = g_strconcat(output, sep, utf8_last, omit, NULL);
- UG_SAFE_FREE_CHAR(temp);
- }
- } else {
- output = g_strconcat(output, sep, utf8_last, NULL);
- UG_SAFE_FREE_CHAR(temp);
- }
- }
- else {
- output = g_strdup(utf8_last);
- UG_SAFE_FREE_CHAR(temp);
- }
- UG_SAFE_FREE_CHAR(utf8_last);
- UG_SAFE_FREE_CHAR(sep);
- UG_SAFE_FREE_CHAR(omit);
- UG_SAFE_FREE_CHAR(path_info);
- __mf_ug_fm_svc_wrapper_path_info_node_free(temp_list);
- temp_list = NULL;
- g_strfreev(result);
- result = NULL;
- return output;
+ ug_mf_retvm_if(path_info == NULL, g_strdup(dgettext("sys_string", "IDS_COM_BODY_UNKNOWN")), "input path is NULL");
+
+ int top = 0;
+ bool flag = TRUE;
+ Eina_List *temp_list = NULL;
+ const Eina_List *l = NULL;
+ gchar **result = NULL;
+ gchar **params = NULL;
+ int count = 0;
+ int max_len = 0;
+ int total_len = 0;
+ int i = 0;
+ char *output = NULL;
+ void *pnode = NULL;
+ char *omit = MF_UG_PATH_INFO_TRANS_OMIT;
+
+ if (strlen(path_info) < path_info_max_len) {
+ UG_SAFE_FREE_CHAR(omit);
+ output = g_strdup(path_info);
+ UG_SAFE_FREE_CHAR(path_info);
+ return output;
+ }
+
+ result = g_strsplit(path_info, "/", 0);
+ if (result == NULL) {
+ free(path_info);
+ path_info = NULL;
+ UG_SAFE_FREE_CHAR(omit);
+ return g_strdup(dgettext("sys_string", "IDS_COM_BODY_UNKNOWN"));
+ }
+
+ params = result;
+ count = g_strv_length(result);
+
+ if (count > MF_UG_PATH_INFO_LEVEL_BOUNDARY) {
+ top = MF_UG_PATH_INFO_LEVEL_BOUNDARY;
+ flag = FALSE;
+ max_len = path_info_max_len - MF_UG_PATH_INFO_LEVEL_BOUNDARY - MF_UG_PATH_INFO_HEAD_LEN(omit);
+ /*(2 is length of ..) ../aa../bb..*/
+ } else {
+ top = count;
+ flag = TRUE;
+ max_len = path_info_max_len - (count-1);
+ }
+
+ for (i = top; i > 1; i--) {
+ ug_pNode *nodeB = calloc(sizeof(ug_pNode), 1);
+
+ if (nodeB != NULL) {
+ nodeB->original = elm_entry_utf8_to_markup(params[count-i]);
+ nodeB->len_orig = strlen(params[count - i]);
+ nodeB->transfer = mf_ug_fm_svc_path_info_retrench(params[count-i]);
+
+ if (nodeB->transfer != NULL) {
+ nodeB->len_trans = strlen(nodeB->transfer);
+ }
+
+ nodeB->flag_trans = FALSE;
+ }
+ if (nodeB) {
+ total_len += nodeB->len_orig;
+ }
+
+ temp_list = eina_list_append(temp_list, nodeB);
+ }
+
+ total_len += strlen(params[count - 1]);
+
+ for (i = 0 ; i < eina_list_count(temp_list); i++) {
+ if (total_len > max_len) {
+ ug_pNode *data = NULL;
+ data = eina_list_nth(temp_list, i);
+
+ if (data != NULL) {
+ total_len -= (data->len_orig - data->len_trans);
+ data->flag_trans = TRUE;
+ }
+ }
+
+ if (total_len <= max_len)
+ break;
+ }
+
+
+ if (flag == FALSE) {
+ output = elm_entry_utf8_to_markup("..");
+ }
+ char *temp = NULL;
+ char *sep = MF_UG_PATH_INFO_SEP;
+ EINA_LIST_FOREACH(temp_list, l, pnode)
+ {
+ ug_pNode *node = (ug_pNode *)pnode;
+ temp = output;
+ if (node->flag_trans == TRUE) {
+ if (output != NULL)
+ output = g_strconcat(output, sep, node->transfer, NULL);
+ else
+ output = g_strdup(node->transfer);
+ } else {
+ if (output != NULL)
+ output = g_strconcat(output, sep , node->original, NULL);
+ else
+ output = g_strdup(node->original);
+ }
+ UG_SAFE_FREE_CHAR(temp);
+ }
+ temp = output;
+ char *last_string = params[count - 1];
+ char *utf8_last = elm_entry_utf8_to_markup(last_string);
+
+ if (output != NULL && utf8_last != NULL) {
+ int last_len = strlen(last_string);
+ int output_len = strlen(output);
+ int d_value = path_info_max_len - output_len;
+ if ((last_len + output_len) > path_info_max_len) {
+ const char *end = NULL;
+ gboolean ret = FALSE;
+ ret = g_utf8_validate(utf8_last, d_value, &end);
+ if (ret == TRUE) {
+ d_value = last_len - strlen(end);
+ utf8_last[d_value] = '\0';
+ output = g_strconcat(output, sep, utf8_last, omit, NULL);
+ UG_SAFE_FREE_CHAR(temp);
+ }
+ } else {
+ output = g_strconcat(output, sep, utf8_last, NULL);
+ UG_SAFE_FREE_CHAR(temp);
+ }
+ } else {
+ if (utf8_last != NULL) {
+ output = g_strdup(utf8_last);
+ } else {
+ output = NULL;
+ }
+
+ UG_SAFE_FREE_CHAR(temp);
+ }
+ UG_SAFE_FREE_CHAR(utf8_last);
+ UG_SAFE_FREE_CHAR(sep);
+ UG_SAFE_FREE_CHAR(omit);
+ UG_SAFE_FREE_CHAR(path_info);
+ __mf_ug_fm_svc_wrapper_path_info_node_free(temp_list);
+ temp_list = NULL;
+ g_strfreev(result);
+ result = NULL;
+ return output;
}
char *mf_ug_fm_svc_wrapper_translate_path(char *original_path)
{
- ug_mf_retvm_if(original_path == NULL, g_strdup(dgettext("sys_string", "IDS_COM_BODY_UNKNOWN")), "input path is NULL");
-
- char *new_path = NULL;
- int root_len = 0;
-
- if (mf_ug_fm_svc_wapper_get_location(original_path) == MF_UG_PHONE) {
- root_len = strlen(PHONE_FOLDER);
- new_path = g_strconcat(MF_UG_LABEL_PHONE, original_path + root_len, "/", NULL);
- } else if (mf_ug_fm_svc_wapper_get_location(original_path) == MF_UG_MMC) {
- root_len = strlen(MEMORY_FOLDER);
- new_path = g_strconcat(MF_UG_LABEL_MMC, original_path + root_len, "/", NULL);
- } else {
- new_path = g_strdup(original_path);
- }
-
- ug_debug("new path is %s", new_path);
- return new_path;
+ ug_mf_retvm_if(original_path == NULL, g_strdup(dgettext("sys_string", "IDS_COM_BODY_UNKNOWN")), "input path is NULL");
+
+ char *new_path = NULL;
+ int root_len = 0;
+
+ if (mf_ug_fm_svc_wapper_get_location(original_path) == MF_UG_PHONE) {
+ root_len = strlen(PHONE_FOLDER);
+ new_path = g_strconcat(mf_ug_widget_get_text(MF_UG_LABEL_PHONE), original_path + root_len, "/", NULL);
+ } else if (mf_ug_fm_svc_wapper_get_location(original_path) == MF_UG_MMC) {
+ root_len = strlen(MEMORY_FOLDER);
+ new_path = g_strconcat(mf_ug_widget_get_text(MF_UG_LABEL_MMC), original_path + root_len, "/", NULL);
+ } else {
+ new_path = g_strdup(original_path);
+ }
+
+ ug_debug("new path is %s", new_path);
+ return new_path;
}
char *mf_ug_fm_svc_wapper_path_info_get(char *original_path)
{
- ug_mf_retvm_if(original_path == NULL, g_strdup(dgettext("sys_string", "IDS_COM_BODY_UNKNOWN")), "input path is NULL");
- char *path_info = NULL;
- int len = 0;
-
- path_info = mf_ug_fm_svc_wrapper_translate_path(original_path);
- if (path_info) {
- len = strlen(path_info);
- if (len > 0 && path_info[len - 1] == '/') {
- path_info[len - 1] = '\0';
- }
- }
- return path_info;
+ ug_mf_retvm_if(original_path == NULL, g_strdup(dgettext("sys_string", "IDS_COM_BODY_UNKNOWN")), "input path is NULL");
+ char *path_info = NULL;
+ int len = 0;
+
+ path_info = mf_ug_fm_svc_wrapper_translate_path(original_path);
+ if (path_info) {
+ len = strlen(path_info);
+ if (len > 0 && path_info[len - 1] == '/') {
+ path_info[len - 1] = '\0';
+ }
+ }
+ return path_info;
}
+/*
unsigned long mf_ug_fm_svc_wrapper_get_free_space(int state)
{
- struct statvfs info;
- char *path = NULL;
-
- if (state == MF_UG_PHONE) {
- path = PHONE_FOLDER;
- } else if (state == MF_UG_MMC) {
- path = MEMORY_FOLDER;
- } else {
- return -1;
- }
-
- if (-1 == statvfs(path, &info)) {
- return -2;
- }
- return (info.f_bsize) * info.f_bfree;
+ struct statvfs info;
+ char *path = NULL;
+
+ if (state == MF_UG_PHONE) {
+ path = PHONE_FOLDER;
+ } else if (state == MF_UG_MMC) {
+ path = MEMORY_FOLDER;
+ } else {
+ return -1;
+ }
+
+ if (-1 == statvfs(path, &info)) {
+ return -2;
+ }
+ return (info.f_bsize) * info.f_bfree;
+}
+*/
+
+int mf_ug_fm_svc_wrapper_get_free_space(int state)
+{
+ struct statvfs info;
+ char *path = NULL;
+ int ret = 0;
+
+ if (state == MF_UG_PHONE) {
+ /*path = PHONE_FOLDER;*/
+ ret = storage_get_internal_memory_size(&info);
+ } else if (state == MF_UG_MMC) {
+ path = MEMORY_FOLDER;
+ ret = statvfs(path, &info);
+ } else {
+ return -1;
+ }
+
+ if (-1 == ret) {
+ return -2;
+ }
+ return (info.f_bsize) * info.f_bfree;
+ /*struct statvfs s;
+ return storage_get_internal_memory_size(&s);*/
}
bool mf_ug_fm_svc_wrapper_detect_duplication(GString *to)
{
- int existing = MYFILE_ERR_NONE;
- if (to == NULL) {
- return false;
- }
- GString *parent_path = mf_ug_fm_svc_wrapper_get_file_parent_path(to);
- GString *file_name = mf_ug_fm_svc_wapper_get_file_name(to);
-
- ug_debug("full path and file name %s", to->str);
- if (file_name == NULL || parent_path == NULL || file_name->len == 0) {
- return false;
- }
-
- if (parent_path->str != NULL) {
- ug_debug("parent_path->str is %s", parent_path->str);
- }
- if (file_name->str != NULL) {
- ug_debug("file_name->str is %s", file_name->str);
- }
-
- existing = mf_ug_file_attr_is_duplicated_name(parent_path->str, file_name->str);
-
- ug_debug("EXIST result is %d", existing);
-
- if (parent_path != NULL) {
- g_string_free(parent_path, TRUE);
- }
- parent_path = NULL;
-
- if (file_name != NULL) {
- g_string_free(file_name, TRUE);
- }
- file_name = NULL;
-
- if (existing == MYFILE_ERR_NONE) {
- return false;
- } else {
- return true;
- }
+ int existing = MYFILE_ERR_NONE;
+ if (to == NULL) {
+ return false;
+ }
+ GString *parent_path = mf_ug_fm_svc_wrapper_get_file_parent_path(to);
+ GString *file_name = mf_ug_fm_svc_wapper_get_file_name(to);
+
+ SECURE_DEBUG("full path and file name %s", to->str);
+ if (file_name == NULL || parent_path == NULL || file_name->len == 0) {
+ return false;
+ }
+
+ if (parent_path->str != NULL) {
+ ug_debug("parent_path->str is %s", parent_path->str);
+ }
+ if (file_name->str != NULL) {
+ SECURE_DEBUG("file_name->str is %s", file_name->str);
+ }
+
+ existing = mf_ug_file_attr_is_duplicated_name(parent_path->str, file_name->str);
+
+ if (parent_path != NULL) {
+ g_string_free(parent_path, TRUE);
+ }
+ parent_path = NULL;
+
+ if (file_name != NULL) {
+ g_string_free(file_name, TRUE);
+ }
+ file_name = NULL;
+
+ if (existing == MYFILE_ERR_NONE) {
+ return false;
+ } else {
+ return true;
+ }
}
static int __mf_ug_fm_svc_wrapper_get_next_number(char *file_name_without_ext, int file_name_type)
{
- int nCount = 0;
- int nLength = 0;
- int nUnderline = 0;
- bool bAllDigits = true;
- int i;
-
- /* check _02d format */
- nLength = strlen(file_name_without_ext);
-
- if (file_name_type == FILE_NAME_WITH_UNDERLINE) {
- if (nLength < 3) { /*4 means the # of minimum characters (*_n) */
- return 1; /*doesn't match */
- } else { /* input is more than 3 bytes */
- /* find '_' */
- for (nUnderline = nLength - 1; nUnderline >= 0; nUnderline--) {
- if (file_name_without_ext[nUnderline] == '_') {
- break;
- }
- }
-
- if (nUnderline == 0 && file_name_without_ext[0] != '_') {
- return 1; /* doesn't match */
- }
- /* check the right characters are all digits */
- for (i = nUnderline + 1; i < nLength; i++) {
- if (file_name_without_ext[i] < '0' || file_name_without_ext[i] > '9') {
- bAllDigits = false;
- break;
- }
- }
-
- if (bAllDigits) {
- for (i = nUnderline + 1; i < nLength; i++) {
- nCount *= 10;
- nCount += file_name_without_ext[i] - '0';
- }
-
- file_name_without_ext[nUnderline] = '\0'; /* truncate the last '_dd' */
- }
- }
- } else {
-
- if (nLength < 5) { /* 5 means the # of minimum characters (*_(n)) */
- return 1; /*doesn't match */
- } else { /* input is more than 3 bytes */
- /* find '_' */
- for (nUnderline = nLength - 1; nUnderline >= 0; nUnderline--) {
- if (file_name_without_ext[nUnderline] == '(') {
- break;
- }
- }
-
- if (nUnderline == 0 && file_name_without_ext[0] != '(') {
- return 1; /* doesn't match */
- }
- /* check the right characters are all digits */
- for (i = nUnderline + 1; i < nLength - 1; i++) {
- if (file_name_without_ext[i] < '0' || file_name_without_ext[i] > '9') {
- bAllDigits = false;
- break;
- }
- }
-
- /* and more than 2 columns. */
- if (bAllDigits) {
- for (i = nUnderline + 1; i < nLength - 1; i++) {
- nCount *= 10;
- nCount += file_name_without_ext[i] - '0';
- }
-
- file_name_without_ext[nUnderline] = '\0'; /* truncate the last '_dd' */
- }
- }
- }
-
- /* increase nCount by 1 */
- nCount++;
-
- return nCount;
+ int nCount = 0;
+ int nLength = 0;
+ int nUnderline = 0;
+ bool bAllDigits = true;
+ int i;
+
+ /* check _02d format */
+ nLength = strlen(file_name_without_ext);
+
+ if (file_name_type == FILE_NAME_WITH_UNDERLINE) {
+ if (nLength < 3) { /*4 means the # of minimum characters (*_n) */
+ return 1; /*doesn't match */
+ } else { /* input is more than 3 bytes */
+ /* find '_' */
+ for (nUnderline = nLength - 1; nUnderline >= 0; nUnderline--) {
+ if (file_name_without_ext[nUnderline] == '_') {
+ break;
+ }
+ }
+
+ if (nUnderline == 0 && file_name_without_ext[0] != '_') {
+ return 1; /* doesn't match */
+ }
+ /* check the right characters are all digits */
+ for (i = nUnderline + 1; i < nLength; i++) {
+ if (file_name_without_ext[i] < '0' || file_name_without_ext[i] > '9') {
+ bAllDigits = false;
+ break;
+ }
+ }
+
+ if (bAllDigits) {
+ for (i = nUnderline + 1; i < nLength; i++) {
+ nCount *= 10;
+ nCount += file_name_without_ext[i] - '0';
+ }
+
+ file_name_without_ext[nUnderline] = '\0'; /* truncate the last '_dd' */
+ }
+ }
+ } else {
+
+ if (nLength < 5) { /* 5 means the # of minimum characters (*_(n)) */
+ return 1; /*doesn't match */
+ } else { /* input is more than 3 bytes */
+ /* find '_' */
+ for (nUnderline = nLength - 1; nUnderline >= 0; nUnderline--) {
+ if (file_name_without_ext[nUnderline] == '(') {
+ break;
+ }
+ }
+
+ if (nUnderline == 0 && file_name_without_ext[0] != '(') {
+ return 1; /* doesn't match */
+ }
+ /* check the right characters are all digits */
+ for (i = nUnderline + 1; i < nLength - 1; i++) {
+ if (file_name_without_ext[i] < '0' || file_name_without_ext[i] > '9') {
+ bAllDigits = false;
+ break;
+ }
+ }
+
+ /* and more than 2 columns. */
+ if (bAllDigits) {
+ for (i = nUnderline + 1; i < nLength - 1; i++) {
+ nCount *= 10;
+ nCount += file_name_without_ext[i] - '0';
+ }
+
+ file_name_without_ext[nUnderline] = '\0'; /* truncate the last '_dd' */
+ }
+ }
+ }
+
+ /* increase nCount by 1 */
+ nCount++;
+
+ return nCount;
}
static int __mf_ug_fm_svc_wrapper_get_unique_name(const char *default_dir_full_path, char *original_file_name, char **unique_file_name,
- int file_name_type, void *data)
+ int file_name_type, void *data)
{
- //mf_debug("%s %d\n", __func__, __LINE__);
- ug_mf_retvm_if(unique_file_name == NULL, MYFILE_ERR_SRC_ARG_INVALID, "unique_file_name is NULL");
- ug_mf_retvm_if(data == NULL, MYFILE_ERR_SRC_ARG_INVALID, "data is NULL");
-
- char *file_name_without_ext = NULL;
- char *file_ext = NULL;
- char *new_file_name = NULL;
- bool result = false;
- char *dir_rel_path = NULL;
- int slash = 1;
- int nCount = 0;
- bool bExt = false;
- int error_code = 0;
-
- if (default_dir_full_path == NULL || original_file_name == NULL) {
- ug_debug("default_dir_full_path == NULL || \
- original_file_name == NULL || \
- unique_file_name == NULL || \
- error_code == NULL ");
- error_code = MYFILE_ERR_SRC_ARG_INVALID;
- goto Exception;
- }
- result = mf_ug_file_attr_get_logical_path_by_full(default_dir_full_path, &dir_rel_path);
-
- if (result) {
- error_code = MYFILE_ERR_GET_LOGIC_PATH_FAIL;
- goto Exception;
- }
-
- if (strncmp(dir_rel_path, "/", strlen(dir_rel_path)) == 0) {
- slash = 0;
- }
- error_code = mf_ug_file_attr_is_duplicated_name(default_dir_full_path, original_file_name);
- if (error_code == 0) {
- ug_debug("unique_file_name [%s]", *unique_file_name);
- ug_debug("original_file_name [%s]", new_file_name);
- *unique_file_name = g_strdup(original_file_name);
- ug_debug("unique_file_name [%s]", *unique_file_name);
- }
-
- while (error_code < 0) {
- error_code = 0;
- bExt = mf_ug_file_attr_get_file_ext(original_file_name, &file_ext);
- file_name_without_ext = g_strdup(original_file_name);
-
- if (file_name_without_ext == NULL) {
- error_code = MYFILE_ERR_ALLOCATE_MEMORY_FAIL;
- goto Exception;
- }
-
- /* add a condition, whether extention is or not. */
- if (bExt == 0) {
- file_name_without_ext[strlen(file_name_without_ext) - strlen(file_ext) - 1] = '\0';
- }
-
- nCount = __mf_ug_fm_svc_wrapper_get_next_number(file_name_without_ext, file_name_type);
- if (nCount == 1 && file_name_type == FILE_NAME_WITH_BRACKETS) {
- char *file_name_with_space = g_strconcat(file_name_without_ext, " ", NULL);
- if (file_name_with_space) {
- UG_SAFE_FREE_CHAR(file_name_without_ext);
- file_name_without_ext = file_name_with_space;
- file_name_with_space = NULL;
- }
- }
-
- if (bExt == 0) {
- if (file_name_type == FILE_NAME_WITH_BRACKETS)
- new_file_name = g_strdup_printf("%s(%d).%s", file_name_without_ext, nCount, file_ext);
- else
- new_file_name = g_strdup_printf("%s_%d.%s", file_name_without_ext, nCount, file_ext);
- } else {
-
- if (file_name_type == FILE_NAME_WITH_BRACKETS)
- new_file_name = g_strdup_printf("%s(%d)", file_name_without_ext, nCount);
- else
- new_file_name = g_strdup_printf("%s_%d", file_name_without_ext, nCount);
- }
- //mf_debug("new_file_name [%s]", new_file_name);
- //mf_debug("original_file_name [%s]", new_file_name);
- UG_SAFE_FREE_CHAR(file_name_without_ext);
-
- ug_debug("new name is %s\n", new_file_name);
-
- error_code = mf_ug_file_attr_is_duplicated_name(default_dir_full_path, new_file_name);
- if (error_code == 0) {
- *unique_file_name = g_strdup(new_file_name);
- //mf_debug("rename finished\n");
- error_code = MYFILE_ERR_NONE;
- goto Exception;
- } else {
- //mf_debug("rename continue\n");
- original_file_name = g_strdup(new_file_name);
- UG_SAFE_FREE_CHAR(new_file_name);
- }
- UG_SAFE_FREE_CHAR(file_ext);
- }
-
- return MYFILE_ERR_NONE;
+ /*mf_debug("%s %d\n", __func__, __LINE__);*/
+ ug_mf_retvm_if(unique_file_name == NULL, MYFILE_ERR_SRC_ARG_INVALID, "unique_file_name is NULL");
+ ug_mf_retvm_if(data == NULL, MYFILE_ERR_SRC_ARG_INVALID, "data is NULL");
+
+ char *file_name_without_ext = NULL;
+ char *file_ext = NULL;
+ char *new_file_name = NULL;
+ bool result = false;
+ char *dir_rel_path = NULL;
+ int nCount = 0;
+ bool bExt = false;
+ int error_code = 0;
+
+ if (default_dir_full_path == NULL || original_file_name == NULL) {
+ ug_debug("default_dir_full_path == NULL || \
+ original_file_name == NULL || \
+ unique_file_name == NULL || \
+ error_code == NULL ");
+ error_code = MYFILE_ERR_SRC_ARG_INVALID;
+ goto Exception;
+ }
+ result = mf_ug_file_attr_get_logical_path_by_full(default_dir_full_path, &dir_rel_path);
+
+ if (result) {
+ error_code = MYFILE_ERR_GET_LOGIC_PATH_FAIL;
+ goto Exception;
+ }
+
+ error_code = mf_ug_file_attr_is_duplicated_name(default_dir_full_path, original_file_name);
+ if (error_code == 0) {
+ SECURE_DEBUG("unique_file_name [%s]", *unique_file_name);
+ SECURE_DEBUG("original_file_name [%s]", new_file_name);
+ *unique_file_name = g_strdup(original_file_name);
+ SECURE_DEBUG("unique_file_name [%s]", *unique_file_name);
+ }
+
+ while (error_code < 0) {
+ error_code = 0;
+ bExt = mf_ug_file_attr_get_file_ext(original_file_name, &file_ext);
+ file_name_without_ext = g_strdup(original_file_name);
+
+ if (file_name_without_ext == NULL) {
+ error_code = MYFILE_ERR_ALLOCATE_MEMORY_FAIL;
+ goto Exception;
+ }
+
+ /* add a condition, whether extention is or not. */
+ if (bExt == 0) {
+ file_name_without_ext[strlen(file_name_without_ext) - strlen(file_ext) - 1] = '\0';
+ }
+
+ nCount = __mf_ug_fm_svc_wrapper_get_next_number(file_name_without_ext, file_name_type);
+ if (nCount == 1 && file_name_type == FILE_NAME_WITH_BRACKETS) {
+ char *file_name_with_space = g_strconcat(file_name_without_ext, " ", NULL);
+ if (file_name_with_space) {
+ UG_SAFE_FREE_CHAR(file_name_without_ext);
+ file_name_without_ext = file_name_with_space;
+ file_name_with_space = NULL;
+ }
+ }
+
+ if (bExt == 0) {
+ if (file_name_type == FILE_NAME_WITH_BRACKETS)
+ new_file_name = g_strdup_printf("%s(%d).%s", file_name_without_ext, nCount, file_ext);
+ else
+ new_file_name = g_strdup_printf("%s_%d.%s", file_name_without_ext, nCount, file_ext);
+ } else {
+
+ if (file_name_type == FILE_NAME_WITH_BRACKETS)
+ new_file_name = g_strdup_printf("%s(%d)", file_name_without_ext, nCount);
+ else
+ new_file_name = g_strdup_printf("%s_%d", file_name_without_ext, nCount);
+ }
+ /*mf_debug("new_file_name [%s]", new_file_name);
+ mf_debug("original_file_name [%s]", new_file_name);*/
+ UG_SAFE_FREE_CHAR(file_name_without_ext);
+
+ SECURE_DEBUG("new name is %s\n", new_file_name);
+
+ error_code = mf_ug_file_attr_is_duplicated_name(default_dir_full_path, new_file_name);
+ if (error_code == 0) {
+ *unique_file_name = g_strdup(new_file_name);
+ /*mf_debug("rename finished\n");*/
+ error_code = MYFILE_ERR_NONE;
+ goto Exception;
+ } else {
+ /*mf_debug("rename continue\n");*/
+ original_file_name = g_strdup(new_file_name);
+ UG_SAFE_FREE_CHAR(new_file_name);
+ }
+ UG_SAFE_FREE_CHAR(file_ext);
+ }
+
+ return MYFILE_ERR_NONE;
Exception:
- UG_SAFE_FREE_CHAR(dir_rel_path);
- UG_SAFE_FREE_CHAR(file_ext);
- UG_SAFE_FREE_CHAR(new_file_name);
- return error_code;
+ UG_SAFE_FREE_CHAR(dir_rel_path);
+ UG_SAFE_FREE_CHAR(file_ext);
+ UG_SAFE_FREE_CHAR(new_file_name);
+ return error_code;
}
int mf_ug_fm_svc_wrapper_file_auto_rename(void *data, GString *fullpath, int file_name_type, GString **filename)
{
- ug_mf_retvm_if(data == NULL, MYFILE_ERR_SRC_ARG_INVALID, "data is NULL");
- ugData *ugd = (ugData *)data;
-
- GString *parent_path = mf_ug_fm_svc_wrapper_get_file_parent_path(fullpath);
- GString *file_name = mf_ug_fm_svc_wapper_get_file_name(fullpath);
-
- if (parent_path == NULL || file_name == NULL) {
- return MYFILE_ERR_GENERATE_NAME_FAIL;
- }
- if (parent_path->str == NULL || file_name->str == NULL) {
- g_string_free(parent_path, TRUE);
- parent_path = NULL;
- g_string_free(file_name, TRUE);
- file_name = NULL;
- return MYFILE_ERR_GENERATE_NAME_FAIL;
- }
-
- char *name = NULL;
- int error_code = 0;
-
- if (parent_path->str != NULL) {
- //mf_debug("parent_full_path is [%s]", parent_path->str);
- }
-
- if (file_name->str != NULL) {
- //mf_debug("original_file_name is [%s]", file_name->str);
- }
- error_code = __mf_ug_fm_svc_wrapper_get_unique_name(parent_path->str, file_name->str, &name, file_name_type, ugd);
- if (error_code) {
- UG_SAFE_FREE_CHAR(name);
- return MYFILE_ERR_GENERATE_NAME_FAIL;
- }
- g_string_append_printf(parent_path, "/%s", name);
- ug_debug("After gstring append, PATH ::: [%s]", parent_path->str);
-
- if (file_name != NULL) {
- g_string_free(file_name, TRUE);
- }
-
- file_name = NULL;
- if (name != NULL) {
- free(name);
- name = NULL;
- }
-
- *filename = parent_path;
- return MYFILE_ERR_NONE;
+ ug_mf_retvm_if(data == NULL, MYFILE_ERR_SRC_ARG_INVALID, "data is NULL");
+ ugData *ugd = (ugData *)data;
+
+ GString *parent_path = mf_ug_fm_svc_wrapper_get_file_parent_path(fullpath);
+ GString *file_name = mf_ug_fm_svc_wapper_get_file_name(fullpath);
+
+ if (parent_path == NULL || file_name == NULL) {
+ return MYFILE_ERR_GENERATE_NAME_FAIL;
+ }
+ if (parent_path->str == NULL || file_name->str == NULL) {
+ g_string_free(parent_path, TRUE);
+ parent_path = NULL;
+ g_string_free(file_name, TRUE);
+ file_name = NULL;
+ return MYFILE_ERR_GENERATE_NAME_FAIL;
+ }
+
+ char *name = NULL;
+ int error_code = 0;
+
+ if (parent_path->str != NULL) {
+ /*mf_debug("parent_full_path is [%s]", parent_path->str);*/
+ }
+
+ if (file_name->str != NULL) {
+ /*mf_debug("original_file_name is [%s]", file_name->str);*/
+ }
+ error_code = __mf_ug_fm_svc_wrapper_get_unique_name(parent_path->str, file_name->str, &name, file_name_type, ugd);
+ if (error_code) {
+ UG_SAFE_FREE_CHAR(name);
+ return MYFILE_ERR_GENERATE_NAME_FAIL;
+ }
+ g_string_append_printf(parent_path, "/%s", name);
+ ug_debug("After gstring append, PATH ::: [%s]", parent_path->str);
+
+ if (file_name != NULL) {
+ g_string_free(file_name, TRUE);
+ }
+
+ file_name = NULL;
+ if (name != NULL) {
+ free(name);
+ name = NULL;
+ }
+
+ *filename = parent_path;
+ return MYFILE_ERR_NONE;
}
int mf_ug_fm_svc_wrapper_create_service(void *data, GString *fullpath)
{
- int error_code;
+ int error_code;
- mf_ug_util_remove_dir_watch();
- error_code = mf_ug_fs_oper_create_dir(fullpath->str);
+ mf_ug_util_remove_dir_watch();
+ error_code = mf_ug_fs_oper_create_dir(fullpath->str);
- if (error_code != 0) {
- ug_debug("Make DIR error\n");
- }
+ if (error_code != 0) {
+ ug_debug("Make DIR error\n");
+ }
- return error_code;
+ return error_code;
}
int mf_ug_fm_svc_wrapper_create_p(const char *fullpath)
{
- UG_TRACE_BEGIN;
-
- ug_debug("path is [%s]", fullpath);
- int error_code = MYFILE_ERR_NONE;
-
- char *parent = NULL;
- error_code = mf_ug_file_attr_get_parent_path(fullpath, &parent);
-
- goto_if(error_code != MYFILE_ERR_NONE, EXIT);
+ UG_TRACE_BEGIN;
- if (ecore_file_exists(parent) == false) {
- error_code = mf_ug_fm_svc_wrapper_create_p(parent);
- goto_if(error_code != MYFILE_ERR_NONE, EXIT);
+ int error_code = MYFILE_ERR_NONE;
- }
-
- ug_debug("create [%s]", fullpath);
- error_code = mf_ug_fs_oper_create_dir(fullpath);
- goto_if(error_code != MYFILE_ERR_NONE, EXIT);
+ error_code = mf_ug_fs_oper_create_dir(fullpath);
+ goto_if(error_code != MYFILE_ERR_NONE, EXIT);
EXIT:
- return error_code;
+ return error_code;
}
+
+Eina_List *mf_ug_fm_svc_wrapper_level_path_get(const char *original_path)
+{
+ UG_TRACE_BEGIN;
+ ug_mf_retvm_if(original_path == NULL, NULL, "input path is NULL");
+
+ char *current_path = g_strdup(original_path);
+ Eina_List *path_list = NULL;
+ const char *root_path = NULL;
+
+ ug_error("original_path is [%s]", original_path);
+ int location = mf_ug_fm_svc_wapper_is_root_path(current_path);
+ if (location == MF_UG_NONE) {
+ location = mf_ug_fm_svc_wapper_get_location(current_path);
+ switch (location) {
+ case MF_UG_PHONE:
+ root_path = PHONE_FOLDER;
+ break;
+ case MF_UG_MMC:
+ root_path = MEMORY_FOLDER;
+ break;
+ default:
+ return NULL;
+ }
+ current_path = current_path+strlen(root_path)+1;
+ path_list = eina_list_append(path_list, g_strdup(root_path));
+ gchar **result = NULL;
+ gchar **params = NULL;
+ result = g_strsplit(current_path, "/", 0);
+ char *level_path = NULL;
+ for (params = result; *params; params++) {
+ if (level_path == NULL) {
+ level_path = g_strconcat(root_path, "/", *params, NULL);
+ } else {
+ level_path = g_strconcat(level_path, "/", *params, NULL);
+ }
+ path_list = eina_list_append(path_list, level_path);
+ }
+ g_strfreev(result);
+ } else {
+ path_list = eina_list_append(path_list, g_strdup(original_path));
+ }
+ UG_TRACE_END;
+ return path_list;
+}
+
diff --git a/src/common/mf-ug-inotify-handle.c b/src/common/mf-ug-inotify-handle.c
index 53734db..06b6117 100644
--- a/src/common/mf-ug-inotify-handle.c
+++ b/src/common/mf-ug-inotify-handle.c
@@ -1,18 +1,24 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+
+
#include <stdio.h>
#include <glib.h>
@@ -29,20 +35,20 @@
#include "mf-ug-inotify-handle.h"
#define MF_WATCH_FLAGS \
- IN_CREATE | IN_DELETE | IN_DELETE_SELF | IN_MOVE_SELF | IN_MOVED_FROM | IN_MOVED_TO | IN_CLOSE_WRITE
+ IN_CREATE | IN_DELETE | IN_DELETE_SELF | IN_MOVE_SELF | IN_MOVED_FROM | IN_MOVED_TO | IN_CLOSE_WRITE
#define MF_EVENT_SIZE (sizeof(struct inotify_event))
/** reasonable guess as to size of 1024 events */
#define MF_EVENT_BUF_LEN (1024 * (MF_EVENT_SIZE + 16))
-#define MF_U32_MAX 0xFFFFFFFF
+#define MF_U32_MAX 0xFFFFFFFF
typedef struct _mf_inotify_t {
- int fd;
- int wd;
- gchar *path;
- unsigned int prev_event;
- pthread_t monitor;
- mf_ug_inotify_cb callback;
- void *u_data;
+ int fd;
+ int wd;
+ gchar *path;
+ unsigned int prev_event;
+ pthread_t monitor;
+ mf_ug_inotify_cb callback;
+ void *u_data;
} mf_inotify_t;
static pthread_mutex_t mf_noti_lock;
@@ -50,300 +56,301 @@ static mf_inotify_t *g_handle;
static void __mf_ug_inotify_handle_free_handle(void)
{
- pthread_mutex_destroy(&mf_noti_lock);
-
- if (g_handle) {
- if (g_handle->fd >= 0) {
- close(g_handle->fd);
- g_handle->fd = -1;
- }
- if (g_handle->path) {
- g_free(g_handle->path);
- g_handle->path = NULL;
- }
- g_free(g_handle);
- g_handle = NULL;
- }
-
- return;
+ pthread_mutex_destroy(&mf_noti_lock);
+
+ if (g_handle) {
+ if (g_handle->fd >= 0) {
+ close(g_handle->fd);
+ g_handle->fd = -1;
+ }
+ if (g_handle->path) {
+ g_free(g_handle->path);
+ g_handle->path = NULL;
+ }
+ g_free(g_handle);
+ g_handle = NULL;
+ }
+
+ return;
}
static mf_inotify_t *__mf_ug_inotify_handle_init_handle(void)
{
- __mf_ug_inotify_handle_free_handle();
- g_handle = g_new0(mf_inotify_t, 1);
-
- if (g_handle) {
- g_handle->fd = -1;
- pthread_mutex_init(&mf_noti_lock, NULL);
- pthread_mutex_lock(&mf_noti_lock);
- g_handle->wd = -1;
- pthread_mutex_unlock(&mf_noti_lock);
- }
-
- return g_handle;
+ __mf_ug_inotify_handle_free_handle();
+ g_handle = g_new0(mf_inotify_t, 1);
+
+ if (g_handle) {
+ g_handle->fd = -1;
+ pthread_mutex_init(&mf_noti_lock, NULL);
+ pthread_mutex_lock(&mf_noti_lock);
+ g_handle->wd = -1;
+ pthread_mutex_unlock(&mf_noti_lock);
+ }
+
+ return g_handle;
}
static void __mf_ug_inotify_handle_clean_up_thread(void *data)
{
- pthread_mutex_t *lock = (pthread_mutex_t *) data;
- ug_mf_debug("Thread cancel Clean_up function");
- if (lock) {
- pthread_mutex_unlock(lock);
- }
- return;
+ pthread_mutex_t *lock = (pthread_mutex_t *) data;
+ ug_mf_debug("Thread cancel Clean_up function");
+ if (lock) {
+ pthread_mutex_unlock(lock);
+ }
+ return;
}
static gpointer __mf_ug_inotify_handle_watch_thread(gpointer user_data)
{
- mf_inotify_t *handle = (mf_inotify_t *) user_data;
- int oldtype = 0;
-
- ug_mf_retvm_if(handle == NULL, NULL, "handle is NULL");
- ug_mf_debug("Create __mf_ug_inotify_handle_watch_thread!!! ");
-
- pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &oldtype);
-
- while (1) {
- ssize_t len = 0;
- uint32_t i = 0;
- char event_buff[MF_EVENT_BUF_LEN] = { 0, };
-
- if (handle->fd < 0) {
- ug_mf_error("fd is not a vaild one");
- pthread_exit(NULL);
- }
-
- len = read(handle->fd, event_buff, sizeof(event_buff) - 1);
- if (len <= 0 || len > sizeof(event_buff) - 1) {
- ug_mf_error("Fail to read() -fd : %d, len : %d", handle->fd, len);
- continue;
- }
-
- while (i < len) {
- struct inotify_event *pevent = (struct inotify_event *)&event_buff[i];
- mf_ug_inotify_event s_event = UG_MF_INOTI_NONE;
- ug_mf_error("mask=%x dir=%s len=%d name=%s",
- pevent->mask, (pevent->mask & IN_ISDIR) ? "yes" : "no", pevent->len, (pevent->len) ? pevent->name : NULL);
-
- if (pevent->len && strncmp(pevent->name, ".", 1) == 0) {
- s_event = UG_MF_INOTI_NONE;
- } else if (pevent->mask & IN_ISDIR) {
- if (pevent->mask & IN_DELETE_SELF)
- s_event = UG_MF_INOTI_DELETE_SELF;
-
- if (pevent->mask & IN_MOVE_SELF)
- s_event = UG_MF_INOTI_MOVE_SELF;
-
- if (pevent->mask & IN_CREATE)
- s_event = UG_MF_INOTI_CREATE;
-
- if (pevent->mask & IN_DELETE)
- s_event = UG_MF_INOTI_DELETE;
-
- if (pevent->mask & IN_MOVED_FROM)
- s_event = UG_MF_INOTI_MOVE_OUT;
-
- if (pevent->mask & IN_MOVED_TO)
- s_event = UG_MF_INOTI_MOVE_IN;
- } else {
- if (pevent->mask & IN_CREATE) {
- s_event = UG_MF_INOTI_NONE;
- handle->prev_event = IN_CREATE;
- }
-
- if (pevent->mask & IN_CLOSE_WRITE) {
- if (handle->prev_event == IN_CREATE) {
- s_event = UG_MF_INOTI_CREATE;
- } else {
- s_event = UG_MF_INOTI_MODIFY;
- }
- handle->prev_event = 0;
- }
-
- if (pevent->mask & IN_DELETE)
- s_event = UG_MF_INOTI_DELETE;
-
- if (pevent->mask & IN_MOVED_FROM)
- s_event = UG_MF_INOTI_MOVE_OUT;
-
- if (pevent->mask & IN_MOVED_TO)
- s_event = UG_MF_INOTI_MOVE_IN;
- }
-
- ug_mf_debug("s_event : %d, prev_event: %x, callback : %p", s_event, handle->prev_event, handle->callback);
- if (s_event != UG_MF_INOTI_NONE) {
- pthread_cleanup_push(__mf_ug_inotify_handle_clean_up_thread, (void *)&mf_noti_lock);
- pthread_mutex_lock(&mf_noti_lock);
- if (handle->callback) {
- handle->callback(s_event, (pevent->len) ? pevent->name : NULL, handle->u_data);
- }
- pthread_mutex_unlock(&mf_noti_lock);
- pthread_cleanup_pop(0);
- }
-
- if ((MF_U32_MAX - pevent->len) >= MF_EVENT_SIZE) {
- i += sizeof(struct inotify_event) + pevent->len;
- } else {
- break;
- }
- }
- }
-
- ug_mf_debug("end __mf_ug_inotify_handle_watch_thread!!! ");
-
- return NULL;
+ mf_inotify_t *handle = (mf_inotify_t *) user_data;
+ int oldtype = 0;
+
+ ug_mf_retvm_if(handle == NULL, NULL, "handle is NULL");
+ ug_mf_debug("Create __mf_ug_inotify_handle_watch_thread!!! ");
+
+ pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &oldtype);
+
+ while (1) {
+ ssize_t len = 0;
+ uint32_t i = 0;
+ char event_buff[32752] = { 0, };
+
+ if (handle->fd < 0) {
+ ug_mf_error("fd is not a vaild one");
+ pthread_exit(NULL);
+ }
+
+ len = read(handle->fd, event_buff, sizeof(event_buff) - 1);
+ if (len <= 0 || len > sizeof(event_buff) - 1) {
+ ug_mf_error("Fail to read() -fd : %d, len : %d", handle->fd, len);
+ continue;
+ }
+
+ while (i < len) {
+ struct inotify_event *pevent = (struct inotify_event *)&event_buff[i];
+
+ mf_ug_inotify_event s_event = UG_MF_INOTI_NONE;
+ ug_mf_error("mask=%x dir=%s len=%d name=%s",
+ pevent->mask, (pevent->mask & IN_ISDIR) ? "yes" : "no", pevent->len, (pevent->len) ? pevent->name : NULL);
+
+ if (pevent->len && strncmp(pevent->name, ".", 1) == 0) {
+ s_event = UG_MF_INOTI_NONE;
+ } else if (pevent->mask & IN_ISDIR) {
+ if (pevent->mask & IN_DELETE_SELF)
+ s_event = UG_MF_INOTI_DELETE_SELF;
+
+ if (pevent->mask & IN_MOVE_SELF)
+ s_event = UG_MF_INOTI_MOVE_SELF;
+
+ if (pevent->mask & IN_CREATE)
+ s_event = UG_MF_INOTI_CREATE;
+
+ if (pevent->mask & IN_DELETE)
+ s_event = UG_MF_INOTI_DELETE;
+
+ if (pevent->mask & IN_MOVED_FROM)
+ s_event = UG_MF_INOTI_MOVE_OUT;
+
+ if (pevent->mask & IN_MOVED_TO)
+ s_event = UG_MF_INOTI_MOVE_IN;
+ } else {
+ if (pevent->mask & IN_CREATE) {
+ s_event = UG_MF_INOTI_NONE;
+ handle->prev_event = IN_CREATE;
+ }
+
+ if (pevent->mask & IN_CLOSE_WRITE) {
+ if (handle->prev_event == IN_CREATE) {
+ s_event = UG_MF_INOTI_CREATE;
+ } else {
+ s_event = UG_MF_INOTI_MODIFY;
+ }
+ handle->prev_event = 0;
+ }
+
+ if (pevent->mask & IN_DELETE)
+ s_event = UG_MF_INOTI_DELETE;
+
+ if (pevent->mask & IN_MOVED_FROM)
+ s_event = UG_MF_INOTI_MOVE_OUT;
+
+ if (pevent->mask & IN_MOVED_TO)
+ s_event = UG_MF_INOTI_MOVE_IN;
+ }
+
+ ug_mf_debug("s_event : %d, prev_event: %x, callback : %p", s_event, handle->prev_event, handle->callback);
+ if (s_event != UG_MF_INOTI_NONE) {
+ pthread_cleanup_push(__mf_ug_inotify_handle_clean_up_thread, (void *)&mf_noti_lock);
+ pthread_mutex_lock(&mf_noti_lock);
+ if (handle->callback) {
+ handle->callback(s_event, (pevent->len) ? pevent->name : NULL, handle->u_data);
+ }
+ pthread_mutex_unlock(&mf_noti_lock);
+ pthread_cleanup_pop(0);
+ }
+
+ if ((MF_U32_MAX - pevent->len) >= MF_EVENT_SIZE) {
+ i += sizeof(struct inotify_event) + pevent->len;
+ } else {
+ break;
+ }
+ }
+ }
+
+ ug_mf_debug("end __mf_ug_inotify_handle_watch_thread!!! ");
+
+ return NULL;
}
int mf_ug_inotify_handle_init_inotify(void)
{
- mf_inotify_t *handle = NULL;
- handle = __mf_ug_inotify_handle_init_handle();
- ug_mf_retvm_if(handle == NULL, -1, "fail to __mf_ug_inotify_handle_init_handle()");
-
- handle->fd = inotify_init();
-
- if (handle->fd < 0) {
- switch (errno) {
- case EMFILE:
- ug_mf_error("The user limit on the total number of inotify instances has been reached.\n");
- break;
- case ENFILE:
- ug_mf_error("The system limit on the total number of file descriptors has been reached.\n");
- break;
- case ENOMEM:
- ug_mf_error("Insufficient kernel memory is available.\n");
- break;
- default:
- ug_mf_error("Fail to inotify_init(), Unknown error.\n");
- break;
- }
- return -1;
- }
- pthread_create(&handle->monitor, NULL, __mf_ug_inotify_handle_watch_thread, handle);
- return 0;
+ mf_inotify_t *handle = NULL;
+ handle = __mf_ug_inotify_handle_init_handle();
+ ug_mf_retvm_if(handle == NULL, -1, "fail to __mf_ug_inotify_handle_init_handle()");
+
+ handle->fd = inotify_init();
+
+ if (handle->fd < 0) {
+ switch (errno) {
+ case EMFILE:
+ ug_mf_error("The user limit on the total number of inotify instances has been reached.\n");
+ break;
+ case ENFILE:
+ ug_mf_error("The system limit on the total number of file descriptors has been reached.\n");
+ break;
+ case ENOMEM:
+ ug_mf_error("Insufficient kernel memory is available.\n");
+ break;
+ default:
+ ug_mf_error("Fail to inotify_init(), Unknown error.\n");
+ break;
+ }
+ return -1;
+ }
+ pthread_create(&handle->monitor, NULL, __mf_ug_inotify_handle_watch_thread, handle);
+ return 0;
}
int mf_ug_inotify_handle_add_inotify_watch(const char *path, mf_ug_inotify_cb callback, void *user_data)
{
- mf_inotify_t *handle = NULL;
- handle = g_handle;
- ug_mf_retvm_if(handle == NULL, -1, "handle is NULL");
-
- if (handle->wd >= 0) {
- ug_mf_warnig("The mf_notify module supports single instance, the watch descript [%d] is removed automatically\n", handle->wd);
- mf_ug_inotify_handle_rm_inotify_watch();
- }
-
- pthread_mutex_lock(&mf_noti_lock);
- handle->wd = inotify_add_watch(handle->fd, path, MF_WATCH_FLAGS);
-
- if (handle->wd < 0) {
- switch (errno) {
- case EACCES:
- ug_mf_error("Read access to the given file is not permitted.\n");
- break;
- case EBADF:
- ug_mf_error("The given file descriptor is not valid.\n");
- handle->fd = -1;
- break;
- case EFAULT:
- ug_mf_error("pathname points outside of the process's accessible address space.\n");
- break;
- case EINVAL:
- ug_mf_error("The given event mask contains no legal events; or fd is not an inotify file descriptor.\n");
- break;
- case ENOMEM:
- ug_mf_error("Insufficient kernel memory is available.\n");
- break;
- case ENOSPC:
- ug_mf_error("User limit on the total num of inotify watch was reached or the kernel failed to alloc a needed resource.\n");
- break;
- default:
- ug_mf_error("Fail to ug_ug_mf_inotify_add_watch(), Unknown error.\n");
- break;
- }
- pthread_mutex_unlock(&mf_noti_lock);
- return -1;
- }
-
- ug_mf_debug("start watching [%s] directory", path);
- if (handle->path) {
- g_free(handle->path);
- handle->path = NULL;
- }
- handle->path = g_strdup(path);
- handle->callback = callback;
- handle->u_data = user_data;
- pthread_mutex_unlock(&mf_noti_lock);
-
- return 0;
+ mf_inotify_t *handle = NULL;
+ handle = g_handle;
+ ug_mf_retvm_if(handle == NULL, -1, "handle is NULL");
+
+ if (handle->wd >= 0) {
+ ug_mf_warnig("The mf_notify module supports single instance, the watch descript [%d] is removed automatically\n", handle->wd);
+ mf_ug_inotify_handle_rm_inotify_watch();
+ }
+
+ pthread_mutex_lock(&mf_noti_lock);
+ handle->wd = inotify_add_watch(handle->fd, path, MF_WATCH_FLAGS);
+
+ if (handle->wd < 0) {
+ switch (errno) {
+ case EACCES:
+ ug_mf_error("Read access to the given file is not permitted.\n");
+ break;
+ case EBADF:
+ ug_mf_error("The given file descriptor is not valid.\n");
+ handle->fd = -1;
+ break;
+ case EFAULT:
+ ug_mf_error("pathname points outside of the process's accessible address space.\n");
+ break;
+ case EINVAL:
+ ug_mf_error("The given event mask contains no legal events; or fd is not an inotify file descriptor.\n");
+ break;
+ case ENOMEM:
+ ug_mf_error("Insufficient kernel memory is available.\n");
+ break;
+ case ENOSPC:
+ ug_mf_error("User limit on the total num of inotify watch was reached or the kernel failed to alloc a needed resource.\n");
+ break;
+ default:
+ ug_mf_error("Fail to ug_ug_mf_inotify_add_watch(), Unknown error.\n");
+ break;
+ }
+ pthread_mutex_unlock(&mf_noti_lock);
+ return -1;
+ }
+
+ ug_mf_debug("start watching [%s] directory", path);
+ if (handle->path) {
+ g_free(handle->path);
+ handle->path = NULL;
+ }
+ handle->path = g_strdup(path);
+ handle->callback = callback;
+ handle->u_data = user_data;
+ pthread_mutex_unlock(&mf_noti_lock);
+
+ return 0;
}
int mf_ug_inotify_handle_rm_inotify_watch(void)
{
- int ret = -1;
- mf_inotify_t *handle = NULL;
-
- handle = g_handle;
- ug_mf_retvm_if(handle == NULL, -1, "handle is NULL");
-
- if (handle->fd < 0 || handle->wd < 0) {
- ug_mf_warnig("inotify is not initialized or has no watching dir - fd [%d] wd [%d]", handle->fd, handle->wd);
- return 0;
- }
-
- pthread_mutex_lock(&mf_noti_lock);
-
- ret = inotify_rm_watch(handle->fd, handle->wd);
- if (ret < 0) {
- switch (errno) {
- case EBADF:
- ug_mf_error("fd is not a valid file descriptor\n");
- handle->fd = -1;
- break;
- case EINVAL:
- ug_mf_error("The watch descriptor wd is not valid; or fd is not an inotify file descriptor.\n");
- handle->wd = -1;
- break;
- default:
- ug_mf_error("Fail to mf_ug_inotify_handle_add_inotify_watch(), Unknown error.\n");
- break;
- }
- pthread_mutex_unlock(&mf_noti_lock);
- return -1;
- }
- ug_mf_debug("stop watching [%s] directory", handle->path);
- if (handle->path) {
- g_free(handle->path);
- handle->path = NULL;
- }
- handle->callback = NULL;
- handle->u_data = NULL;
- handle->wd = -1;
- pthread_mutex_unlock(&mf_noti_lock);
-
- return 0;
+ int ret = -1;
+ mf_inotify_t *handle = NULL;
+
+ handle = g_handle;
+ ug_mf_retvm_if(handle == NULL, -1, "handle is NULL");
+
+ if (handle->fd < 0 || handle->wd < 0) {
+ ug_mf_warnig("inotify is not initialized or has no watching dir - fd [%d] wd [%d]", handle->fd, handle->wd);
+ return 0;
+ }
+
+ pthread_mutex_lock(&mf_noti_lock);
+
+ ret = inotify_rm_watch(handle->fd, handle->wd);
+ if (ret < 0) {
+ switch (errno) {
+ case EBADF:
+ ug_mf_error("fd is not a valid file descriptor\n");
+ handle->fd = -1;
+ break;
+ case EINVAL:
+ ug_mf_error("The watch descriptor wd is not valid; or fd is not an inotify file descriptor.\n");
+ handle->wd = -1;
+ break;
+ default:
+ ug_mf_error("Fail to mf_ug_inotify_handle_add_inotify_watch(), Unknown error.\n");
+ break;
+ }
+ pthread_mutex_unlock(&mf_noti_lock);
+ return -1;
+ }
+ ug_mf_debug("stop watching [%s] directory", handle->path);
+ if (handle->path) {
+ g_free(handle->path);
+ handle->path = NULL;
+ }
+ handle->callback = NULL;
+ handle->u_data = NULL;
+ handle->wd = -1;
+ pthread_mutex_unlock(&mf_noti_lock);
+
+ return 0;
}
void mf_ug_inotify_handle_finalize_inotify(void)
{
- mf_inotify_t *handle = NULL;
- handle = g_handle;
+ mf_inotify_t *handle = NULL;
+ handle = g_handle;
- ug_mf_retm_if(handle == NULL, "handle is NULL");
+ ug_mf_retm_if(handle == NULL, "handle is NULL");
- if (handle->fd >= 0 && handle->wd >= 0) {
- mf_ug_inotify_handle_rm_inotify_watch();
- }
+ if (handle->fd >= 0 && handle->wd >= 0) {
+ mf_ug_inotify_handle_rm_inotify_watch();
+ }
- pthread_cancel(handle->monitor);
- pthread_join(handle->monitor, NULL);
+ pthread_cancel(handle->monitor);
+ pthread_join(handle->monitor, NULL);
- __mf_ug_inotify_handle_free_handle();
+ __mf_ug_inotify_handle_free_handle();
- return;
+ return;
}
diff --git a/src/common/mf-ug-list-play.c b/src/common/mf-ug-list-play.c
index 74f46c6..5e181a6 100644
--- a/src/common/mf-ug-list-play.c
+++ b/src/common/mf-ug-list-play.c
@@ -1,28 +1,28 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include <stdio.h>
-#include <Elementary.h>
-#include <Ecore_X.h>
-#include <vconf.h>
#include <stdbool.h>
+#include <Elementary.h>
+#include <Ecore_X.h>
+#include <runtime_info.h>
#include "mf-ug-main.h"
-#include "../../data/ug_edc_common.h"
#include "mf-ug-conf.h"
#include "mf-ug-cb.h"
#include "mf-ug-fm-svc-wrapper.h"
@@ -32,226 +32,39 @@
#include "mf-ug-fs-util.h"
#include "mf-ug-resource.h"
#include "mf-ug-list-play.h"
+#include "mf-ug-widget.h"
+#include "mf-ug-file-util.h"
+
static mf_player_cbs *g_player_cbs = NULL;
static Ecore_Pipe *g_player_pipe = NULL;
+sound_type_e g_init_current_type;
+int g_init_volume = -1;
static void __mf_ug_list_play_control_cb(void *data);
static bool __mf_ug_list_play_play_current_file(void *data);
-
-/******************************
-** Prototype : __mf_ug_list_play_init_data
-** Description : Samsung
-** Input : void *data
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-static void __mf_ug_list_play_init_data(void *data)
-{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
-
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- if (ugd->ug_ListPlay.ug_Player != 0) {
- mf_ug_list_play_destory_playing_file(ugd);
- ugd->ug_ListPlay.ug_Player = 0;
- }
- ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_INIT;
- UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
- UG_TRACE_END;
-}
-
-/******************************
-** Prototype : __mf_ug_list_play_drm_has_valid_ro
-** Description : Samsung
-** Input : char *path
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-static bool __mf_ug_list_play_drm_has_valid_ro(char *path)
+static sound_type_e __mf_ug_list_play_sound_type(const char *path)
{
- UG_TRACE_BEGIN;
- drm_result_e res = DRM_RETURN_INVALID_ARG;
- drm_license_status_e licence_status;
-
- if (path) {
- res = drm_get_license_status(path, DRM_PERMISSION_TYPE_PLAY, &licence_status);
- }
-
- if (res == DRM_RETURN_SUCCESS && licence_status == DRM_LICENSE_STATUS_VALID) {
- return true;
- } else {
- return false;
- }
+ UG_TRACE_BEGIN;
+ ug_mf_retvm_if(path == NULL, SOUND_TYPE_RINGTONE, "path is NULL");
+ if (mf_ug_main_is_background()) {
+ return SOUND_TYPE_RINGTONE;
+ }
+
+ sound_type_e type = SOUND_TYPE_RINGTONE;
+ if (g_strcmp0(path, UG_SETTING_MSG_ALERTS_PATH) == 0)
+ type = SOUND_TYPE_NOTIFICATION;
+ if (g_strcmp0(path, UG_SETTING_ALERTS_PATH) == 0 || g_strcmp0(path, UG_SETTING_SMART_ALRAMS) == 0)
+ type = SOUND_TYPE_ALARM;
+
+ return type;
}
/******************************
-** Prototype : __mf_ug_list_play_check_drm_left_ro
-** Description : Samsung
-** Input : void *data
-** char *path
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-static bool __mf_ug_list_play_check_drm_left_ro(void *data, char *path)
-{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
-
-
- char left_ro_message[MAX_MESSAGE_LEN] = "\0";
-
- bool ro_valid = false;
- bool expired = false;
-
-
- const char *title = ecore_file_file_get(path);
- ugd->ug_ListPlay.ug_bDrmContentCanPlay = false;
-
- if (__mf_ug_list_play_drm_has_valid_ro(path))
- {
- drm_constraint_info_s constraint;
- memset(&constraint, 0x0, sizeof(drm_constraint_info_s));
-
- int res = drm_get_constraint_info(path, DRM_PERMISSION_TYPE_PLAY, &constraint);
- if (res == DRM_RETURN_SUCCESS) {
- if (constraint.const_type.is_unlimited) {
- ug_debug("UNLIMITED");
- ugd->ug_ListPlay.ug_bDrmContentCanPlay = TRUE;
- return TRUE;
- }
-
- if (constraint.const_type.is_count) {
- int remain_count = constraint.remaining_count;
-
- if (remain_count == 1) {
- snprintf(left_ro_message, sizeof(left_ro_message), "You can play \"%s\" just one more time", title);
- ro_valid = true;
- ugd->ug_ListPlay.ug_bDrmContentCanPlay = true;
- } else if (remain_count == 0) {
- snprintf(left_ro_message, sizeof(left_ro_message), "You can't play \"%s\" anymore", title);
- ro_valid = false;
- } else {
- ro_valid = true;
- ugd->ug_ListPlay.ug_bDrmContentCanPlay = true;
- }
- }
-
- if (constraint.const_type.is_datetime) {
- ug_debug("DRM_DATETIME\n");
- snprintf(ugd->ug_ListPlay.ug_DrmInfo.validity, sizeof(ugd->ug_ListPlay.ug_DrmInfo.validity),
- "%d.%d.%d %d:%d~%d.%d.%d %d:%d",
- constraint.start_time.tm_mday,
- constraint.start_time.tm_mon + 1,
- constraint.start_time.tm_year + 109,
- constraint.start_time.tm_hour,
- constraint.start_time.tm_min,
- constraint.end_time.tm_mday,
- constraint.end_time.tm_mon + 1,
- constraint.end_time.tm_year + 109,
- constraint.end_time.tm_hour,
- constraint.end_time.tm_min);
- }
-
- if (constraint.const_type.is_interval) {
- ug_debug("DRM_INTERVAL\n");
- snprintf(ugd->ug_ListPlay.ug_DrmInfo.validity, sizeof(ugd->ug_ListPlay.ug_DrmInfo.validity),
- "until %d.%d.%d %d:%d",
- constraint.interval_time.tm_mon,
- constraint.interval_time.tm_mday,
- constraint.interval_time.tm_year,
- constraint.interval_time.tm_hour,
- constraint.interval_time.tm_min);
- }
-
- if (constraint.const_type.is_timedcount) {
- int count = constraint.timed_remaining_count;
- int time = constraint.timed_count_timer;
- snprintf(ugd->ug_ListPlay.ug_DrmInfo.validity, sizeof(ugd->ug_ListPlay.ug_DrmInfo.validity),
- "%d left (%d sec)", count, time);
- ug_debug("DRM_TIMED_COUNT [%d]\n", count);
- if (count == 1)
- {
- snprintf(left_ro_message, sizeof(left_ro_message),
- "You can play \"%s\" just one more time", title);
- ugd->ug_ListPlay.ug_bDrmContentCanPlay = TRUE;
- }
- else if (count == 0)
- {
- snprintf(left_ro_message, sizeof(left_ro_message),
- "You can't play \"%s\" anymore", title);
- }
- }
-
- if (constraint.const_type.is_accumulated) {
- int sec = constraint.accumulated_remaining_seconds;
- int ndays = sec / ACCUMULATED_DATE;
- ug_debug("DRM_ACCUMULATED [%d]\n", ndays);
- snprintf(ugd->ug_ListPlay.ug_DrmInfo.validity, sizeof(ugd->ug_ListPlay.ug_DrmInfo.validity),
- "%" UG_TIME_FORMAT " left", UG_TIME_ARGS(ndays));
-
- if (ndays < ACCUMULATED_DATE)
- {
- snprintf(left_ro_message, sizeof(left_ro_message),
- "You can play %s just one day", title);
-
- ugd->ug_ListPlay.ug_bDrmContentCanPlay = TRUE;
- }
- }
-
- if (constraint.const_type.is_individual) {
- ug_debug("DRM_INDIVISUAL_ID [%s]", constraint.individual_id);
- }
-
- if (constraint.const_type.is_system) {
- ug_debug("DRM_SYSTEM [ID:%s, type:%d]", constraint.system_id, constraint.system_identity_type);
- }
- }
- } else {
- ug_debug("have no valid ro\n");
- snprintf(left_ro_message, sizeof(left_ro_message), "No valid RO for <br>\"%s\"", title);
- ro_valid = false;
- expired = true;
- }
-
-
- UG_TRACE_END;
-
- return true;
-}
-
-/******************************
-** Prototype : __mf_ug_list_play_check_drm_forward
+** Prototype : __mf_ug_list_play_init_data
** Description : Samsung
** Input : void *data
-** char *path
** Output : None
** Return Value :
** Calls :
@@ -263,47 +76,21 @@ static bool __mf_ug_list_play_check_drm_left_ro(void *data, char *path)
** Modification : Created function
**
******************************/
-static drm_file_type_e __drm_get_file_type(void *path)
-{
- drm_file_type_e type = DRM_TYPE_UNDEFINED;
- drm_result_e res = -1;
-
- res = drm_get_file_type(path, &type);
- if (res == DRM_RETURN_SUCCESS) {
- return type;
- } else {
- return DRM_TYPE_UNDEFINED;
- }
-}
-static bool __mf_ug_list_play_check_drm_forward(void *data, char *path)
+static void __mf_ug_list_play_init_data(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- drm_file_type_e type = __drm_get_file_type(path);
-
- if (type == DRM_TYPE_OMA_V1 || type == DRM_TYPE_OMA_V2) {
-
- drm_file_info_s info;
- memset(&info, 0x0, sizeof(drm_file_info_s));
- int ret = drm_get_file_info(path, &info);
- if (ret == DRM_RETURN_SUCCESS) {
- if (info.oma_info.method == DRM_METHOD_TYPE_FORWARD_LOCK) {
- ugd->ug_ListPlay.ug_DrmInfo.forward = true;
- return TRUE;
- }
- }
- ugd->ug_ListPlay.ug_DrmInfo.forward = false;
- return false;
- } else if (type == DRM_TYPE_PLAYREADY) {
- ug_debug("playready drm file");
- ugd->ug_ListPlay.ug_DrmInfo.forward = true;
- } else {
- ug_debug("Not supported drm type");
- UG_TRACE_END;
- return false;
- }
- UG_TRACE_END;
- return true;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ if (ugd->ug_ListPlay.ug_Player != 0) {
+ mf_ug_list_play_destory_playing_file(ugd);
+ ugd->ug_ListPlay.ug_Player = 0;
+ }
+ ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_INIT;
+ ugd->ug_ListPlay.play_data = NULL;
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ UG_TRACE_END;
}
/******************************
@@ -322,159 +109,123 @@ static bool __mf_ug_list_play_check_drm_forward(void *data, char *path)
** Modification : Created function
**
******************************/
-static void __mf_ug_list_play_icon_hide(ugListItemData *itemData)
+void mf_ug_list_item_play_btn_update(void *data)
{
- ug_mf_retm_if(itemData == NULL, "itemData is NULL");
- ug_mf_retm_if(itemData->ug_pItem == NULL, "itemData->ug_pItem is NULL");
-
- Evas_Object *btn = elm_object_item_part_content_unset(itemData->ug_pItem, "elm.icon.3");
- evas_object_hide(btn);
- UG_SAFE_FREE_OBJ(btn);
- itemData->ug_pPlaybtn = NULL;
+ ugListItemData *itemData = (ugListItemData *)data;
+ ugData *ugd = (ugData *)itemData->ug_pData;
+ Evas_Object *music_icon = NULL;
+ Evas_Object *music_button = NULL;
+
+ const char *play_icon = NULL;
+ char *pause_icon = NULL;
+ music_button = elm_object_item_part_content_get(itemData->ug_pItem, "elm.icon.3");
+
+ if (music_button) {
+ music_icon = elm_object_part_content_get(music_button, "icon");
+ if (music_icon) {
+ if (ugd->ug_ListPlay.ug_pPlayFilePath) {
+ if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) == 0) {
+ if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING) {
+ pause_icon = UG_ICON_MUSIC_PAUSE_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, pause_icon);
+ } else if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ } else {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ }
+ } else {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ }
+ } else {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ }
+ evas_object_size_hint_min_set(music_icon, ELM_SCALE_SIZE(45), ELM_SCALE_SIZE(45));
+ }
+ }
}
void mf_ug_list_disable_play_itc(void *data, bool disable)
{
- UG_TRACE_BEGIN;
-
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- Elm_Object_Item *gl_item = NULL;
- ugListItemData *itemData = NULL;
- Evas_Object *pGenlist = NULL;
-
- if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL || strlen(ugd->ug_ListPlay.ug_pPlayFilePath) == 0) {
-
- UG_TRACE_END;
- return;
- }
- pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist;
-
- gl_item = elm_genlist_first_item_get(pGenlist);
- while (gl_item) {
- itemData = elm_object_item_data_get(gl_item);
- if (itemData && itemData->ug_pItemName) {
- if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) == 0) {
- if (disable) {
- UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
- elm_genlist_item_fields_update(itemData->ug_pItem, "elm.icon.3", ELM_GENLIST_ITEM_FIELD_CONTENT);
- //elm_genlist_item_item_class_update(itemData->ug_pItem, &ugd->ug_Status.ug_noplayitc);
- } else {
- elm_genlist_item_fields_update(itemData->ug_pItem, "elm.icon.3", ELM_GENLIST_ITEM_FIELD_CONTENT);
- }
- UG_TRACE_END;
- return;
- }
- }
- gl_item = elm_genlist_item_next_get(gl_item);
- }
-
- ug_debug("mf_ug_list_play_update_item_icon failed");
- UG_TRACE_END;
-}
-
-
-void mf_ug_list_paly_hide_play_icon(void *data)
-{
- UG_TRACE_BEGIN;
-
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- Elm_Object_Item *gl_item = NULL;
- ugListItemData *itemData = NULL;
- Evas_Object *pGenlist = NULL;
-
- if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL || strlen(ugd->ug_ListPlay.ug_pPlayFilePath) == 0) {
-
- UG_TRACE_END;
- return;
- }
- pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist;
-
- gl_item = elm_genlist_first_item_get(pGenlist);
- while (gl_item) {
- itemData = elm_object_item_data_get(gl_item);
- if (itemData && itemData->ug_pItemName) {
- if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) == 0) {
- __mf_ug_list_play_icon_hide(itemData);
- UG_TRACE_END;
- return;
- }
- }
- gl_item = elm_genlist_item_next_get(gl_item);
- }
-
- ug_debug("mf_ug_list_play_update_item_icon failed");
- UG_TRACE_END;
-}
-void mf_ug_list_play_update_play_icon(ugListItemData *itemData)
-{
- ug_mf_retm_if(itemData == NULL, "itemData is NULL");
- ugData *ugd = (ugData *)itemData->ug_pData;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- Evas_Object *btn = itemData->ug_pPlaybtn;
- Evas_Object *music_icon = elm_object_part_content_get(btn, "icon");
- const char *play_icon = NULL;
- const char *pause_icon = NULL;
- if (ugd->ug_ListPlay.ug_pPlayFilePath) {
- if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) == 0) {
- if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING) {
- pause_icon = strdup(UG_ICON_MUSIC_PAUSE_WHITE);
- elm_image_file_set(music_icon, pause_icon, NULL);
- } else if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) {
- play_icon = strdup(UG_ICON_MUSIC_PLAY_WHITE);
- elm_image_file_set(music_icon, play_icon, NULL);
- } else {
- play_icon = strdup(UG_ICON_MUSIC_PLAY_WHITE);
- elm_image_file_set(music_icon, play_icon, NULL);
- }
- } else {
- play_icon = strdup(UG_ICON_MUSIC_PLAY_WHITE);
- elm_image_file_set(music_icon, play_icon, NULL);
- }
- } else {
- play_icon = strdup(UG_ICON_MUSIC_PLAY_WHITE);
- elm_image_file_set(music_icon, play_icon, NULL);
- }
-
+ UG_TRACE_BEGIN;
+
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ Elm_Object_Item *gl_item = NULL;
+ ugListItemData *itemData = NULL;
+ Evas_Object *pGenlist = NULL;
+
+ if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL || strlen(ugd->ug_ListPlay.ug_pPlayFilePath) == 0) {
+
+ UG_TRACE_END;
+ return;
+ }
+ pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist;
+
+ gl_item = elm_genlist_first_item_get(pGenlist);
+ while (gl_item) {
+ itemData = elm_object_item_data_get(gl_item);
+ if (itemData && itemData->ug_pItemName) {
+ if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) == 0) {
+ if (disable) {
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ ugd->ug_ListPlay.play_data = NULL;
+ }
+ if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) {
+ elm_genlist_item_fields_update(itemData->ug_pItem, "elm.icon.2", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ } else {
+ mf_ug_list_item_play_btn_update(itemData);
+ }
+ UG_TRACE_END;
+ return;
+ }
+ }
+ gl_item = elm_genlist_item_next_get(gl_item);
+ }
+
+ UG_TRACE_END;
}
void mf_ug_list_play_update_item_icon(void *data)
{
- UG_TRACE_BEGIN;
-
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- Elm_Object_Item *gl_item = NULL;
- ugListItemData *itemData = NULL;
- Evas_Object *pGenlist = NULL;
-
- if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL || strlen(ugd->ug_ListPlay.ug_pPlayFilePath) == 0) {
-
- UG_TRACE_END;
- return;
- }
- pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist;
-
- gl_item = elm_genlist_first_item_get(pGenlist);
- while (gl_item) {
- itemData = elm_object_item_data_get(gl_item);
- if (itemData && itemData->ug_pItemName) {
- if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) == 0) {
- elm_genlist_item_fields_update(itemData->ug_pItem, "elm.icon.3", ELM_GENLIST_ITEM_FIELD_CONTENT);
- //mf_ug_list_play_update_play_icon(itemData);
- UG_TRACE_END;
- return;
- }
- }
- gl_item = elm_genlist_item_next_get(gl_item);
- }
-
- ug_debug("mf_ug_list_play_update_item_icon failed");
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ Elm_Object_Item *gl_item = NULL;
+ ugListItemData *itemData = NULL;
+ Evas_Object *pGenlist = NULL;
+
+ if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL || strlen(ugd->ug_ListPlay.ug_pPlayFilePath) == 0) {
+
+ UG_TRACE_END;
+ return;
+ }
+ pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist;
+
+ gl_item = elm_genlist_first_item_get(pGenlist);
+ while (gl_item) {
+ itemData = elm_object_item_data_get(gl_item);
+ if (itemData && itemData->ug_pItemName) {
+ if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) == 0) {
+ if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) {
+ elm_genlist_item_fields_update(itemData->ug_pItem, "elm.icon.2", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ } else {
+ elm_genlist_item_fields_update(itemData->ug_pItem, "elm.icon.3", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ }
+ UG_TRACE_END;
+ return;
+ }
+ }
+ gl_item = elm_genlist_item_next_get(gl_item);
+ }
+
+ UG_TRACE_END;
}
@@ -495,12 +246,13 @@ void mf_ug_list_play_update_item_icon(void *data)
******************************/
static void __mf_ug_list_play_set_play_start_status(void *data, char *path)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_PLAYING;
- UG_TRACE_END;
+ ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_PLAYING;
+
+ UG_TRACE_END;
}
/******************************
@@ -520,12 +272,13 @@ static void __mf_ug_list_play_set_play_start_status(void *data, char *path)
******************************/
static void __mf_ug_list_play_set_play_resume_status(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_PLAYING;
- ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_PLAYING;
- UG_TRACE_END;
+ UG_TRACE_END;
}
/******************************
@@ -545,12 +298,13 @@ static void __mf_ug_list_play_set_play_resume_status(void *data)
******************************/
static void __mf_ug_list_play_set_play_pause_status(ugData *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_PAUSED;
- UG_TRACE_END;
+ ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_PAUSED;
+
+ UG_TRACE_END;
}
/******************************
@@ -571,215 +325,225 @@ static void __mf_ug_list_play_set_play_pause_status(ugData *data)
******************************/
static void __mf_player_mgr_callback_pipe_handler(void *data, void *buffer, unsigned int nbyte)
{
- UG_TRACE_BEGIN;
- mf_player_cb_extra_data *extra_data = buffer;
- ug_mf_retm_if(extra_data == NULL, "NULL");
- ug_mf_retm_if(g_player_cbs == NULL, "NULL");
-
- switch (extra_data->cb_type) {
- /*note: start callback and paused callback for player have been removed*/
- /*case MF_PLAYER_CB_TYPE_STARTED:
- if (g_player_cbs->started_cb)
- g_player_cbs->started_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_STARTED]);
- break;
-
- case MF_PLAYER_CB_TYPE_PAUSED:
- if (g_player_cbs->paused_cb)
- g_player_cbs->paused_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PAUSED]);
- break;*/
-
- case MF_PLAYER_CB_TYPE_COMPLETED:
- if (g_player_cbs->completed_cb)
- g_player_cbs->completed_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_COMPLETED]);
- break;
-
- case MF_PLAYER_CB_TYPE_INTURRUPTED:
- if (g_player_cbs->interrupted_cb)
- g_player_cbs->interrupted_cb(extra_data->param.interrupted_code, g_player_cbs->user_data[MF_PLAYER_CB_TYPE_INTURRUPTED]);
- break;
-
- case MF_PLAYER_CB_TYPE_ERROR:
- if (g_player_cbs->error_cb)
- g_player_cbs->error_cb(extra_data->param.error_code, g_player_cbs->user_data[MF_PLAYER_CB_TYPE_ERROR]);
- break;
-
- case MF_PLAYER_CB_TYPE_BUFFERING:
- if (g_player_cbs->buffering_cb)
- g_player_cbs->buffering_cb(extra_data->param.percent ,g_player_cbs->user_data[MF_PLAYER_CB_TYPE_BUFFERING]);
- break;
- case MF_PLAYER_CB_TYPE_PREPARE:
- if (g_player_cbs->prepare_cb)
- g_player_cbs->prepare_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PREPARE]);
- break;
-
- default:
- ug_debug("Not suppoted callback type [%d]", extra_data->cb_type);
- }
+ UG_TRACE_BEGIN;
+ mf_player_cb_extra_data *extra_data = buffer;
+ ug_mf_retm_if(extra_data == NULL, "NULL");
+ ug_mf_retm_if(g_player_cbs == NULL, "NULL");
+
+ switch (extra_data->cb_type) {
+ /*note: start callback and paused callback for player have been removed*/
+ /*case MF_PLAYER_CB_TYPE_STARTED:
+ if (g_player_cbs->started_cb)
+ g_player_cbs->started_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_STARTED]);
+ break;
+
+ case MF_PLAYER_CB_TYPE_PAUSED:
+ if (g_player_cbs->paused_cb)
+ g_player_cbs->paused_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PAUSED]);
+ break;*/
+
+ case MF_PLAYER_CB_TYPE_COMPLETED:
+ if (g_player_cbs->completed_cb)
+ g_player_cbs->completed_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_COMPLETED]);
+ break;
+
+ case MF_PLAYER_CB_TYPE_INTURRUPTED:
+ if (g_player_cbs->interrupted_cb)
+ g_player_cbs->interrupted_cb(extra_data->param.interrupted_code, g_player_cbs->user_data[MF_PLAYER_CB_TYPE_INTURRUPTED]);
+ break;
+
+ case MF_PLAYER_CB_TYPE_ERROR:
+ if (g_player_cbs->error_cb)
+ g_player_cbs->error_cb(extra_data->param.error_code, g_player_cbs->user_data[MF_PLAYER_CB_TYPE_ERROR]);
+ break;
+
+ case MF_PLAYER_CB_TYPE_BUFFERING:
+ if (g_player_cbs->buffering_cb)
+ g_player_cbs->buffering_cb(extra_data->param.percent, g_player_cbs->user_data[MF_PLAYER_CB_TYPE_BUFFERING]);
+ break;
+ case MF_PLAYER_CB_TYPE_PREPARE:
+ if (g_player_cbs->prepare_cb)
+ g_player_cbs->prepare_cb(g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PREPARE]);
+ break;
+
+ default:
+ ug_debug("Not suppoted callback type [%d]", extra_data->cb_type);
+ }
}
static void
__mf_ug_list_play_mgr_completed_cb(void *userdata)
{
- UG_TRACE_BEGIN;
- MF_CHECK(g_player_pipe);
+ UG_TRACE_BEGIN;
+ MF_CHECK(g_player_pipe);
- mf_player_cb_extra_data extra_data;
- extra_data.cb_type = MF_PLAYER_CB_TYPE_COMPLETED;
+ mf_player_cb_extra_data extra_data;
+ extra_data.cb_type = MF_PLAYER_CB_TYPE_COMPLETED;
- ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mf_player_cb_extra_data));
+ ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mf_player_cb_extra_data));
}
static void
__mf_ug_list_play_mgr_interrupted_cb(player_interrupted_code_e code, void *userdata)
{
- UG_TRACE_BEGIN;
- MF_CHECK(g_player_pipe);
+ UG_TRACE_BEGIN;
+ MF_CHECK(g_player_pipe);
- mf_player_cb_extra_data extra_data;
- extra_data.cb_type = MF_PLAYER_CB_TYPE_INTURRUPTED;
- extra_data.param.interrupted_code = code;
+ mf_player_cb_extra_data extra_data;
+ extra_data.cb_type = MF_PLAYER_CB_TYPE_INTURRUPTED;
+ extra_data.param.interrupted_code = code;
- ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mf_player_cb_extra_data));
+ ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mf_player_cb_extra_data));
}
static void
__mf_ug_list_play_mgr_error_cb(int error_code, void *userdata)
{
- UG_TRACE_BEGIN;
- MF_CHECK(g_player_pipe);
+ UG_TRACE_BEGIN;
+ MF_CHECK(g_player_pipe);
- mf_player_cb_extra_data extra_data;
- extra_data.cb_type = MF_PLAYER_CB_TYPE_ERROR;
- extra_data.param.error_code = error_code;
+ mf_player_cb_extra_data extra_data;
+ extra_data.cb_type = MF_PLAYER_CB_TYPE_ERROR;
+ extra_data.param.error_code = error_code;
- ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mf_player_cb_extra_data));
+ ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mf_player_cb_extra_data));
}
static bool __mf_ug_list_play_set_uri(player_h player, const char *uri)
{
- UG_TRACE_BEGIN;
- ug_mf_retvm_if(player == NULL, false, "player is NULL");
- ug_mf_retvm_if(uri == NULL, false, "uri is NULL");
-
- int ret = 0;
- ret = player_set_uri(player, uri);
- //player_set_sound_type(ugd->ug_ListPlay.ug_Player, SOUND_TYPE_MEDIA);
- if (ret != PLAYER_ERROR_NONE) {
- ug_error(">>>>>>>>>>>>>g_err_name : %d\n", ret);
- UG_TRACE_END;
- return false;
- } else {
- UG_TRACE_END;
- return true;
- }
+ UG_TRACE_BEGIN;
+ ug_mf_retvm_if(player == NULL, false, "player is NULL");
+ ug_mf_retvm_if(uri == NULL, false, "uri is NULL");
+ if (mf_ug_main_is_background()) {
+ return false;
+ }
+
+ int ret = 0;
+ ret = player_set_uri(player, uri);
+ /*player_set_prelistening_mode(player, PLAYER_PRELISTENING_MODE_MEDIA);
+ player_set_sound_type(ugd->ug_ListPlay.ug_Player, SOUND_TYPE_MEDIA);*/
+ if (ret != PLAYER_ERROR_NONE) {
+ ug_error(">>>>>>>>>>>>>g_err_name : %d\n", ret);
+ UG_TRACE_END;
+ return false;
+ } else {
+ UG_TRACE_END;
+ return true;
+ }
}
static bool __mf_ug_list_play_set_sound_type(player_h player, sound_type_e type)
{
- UG_TRACE_BEGIN;
- ug_mf_retvm_if(player == NULL, false, "player is NULL");
-
- int ret = 0;
- ret = player_set_sound_type(player, type);
- //player_set_sound_type(ugd->ug_ListPlay.ug_Player, SOUND_TYPE_MEDIA);
- if (ret != PLAYER_ERROR_NONE) {
- ug_error(">>>>>>>>>>>>>g_err_name : %d\n", ret);
- UG_TRACE_END;
- return false;
- } else {
- UG_TRACE_END;
- return true;
- }
+ UG_TRACE_BEGIN;
+ ug_mf_retvm_if(player == NULL, false, "player is NULL");
+
+ int ret = 0;
+ ret = player_set_sound_type(player, type);
+ /*player_set_sound_type(ugd->ug_ListPlay.ug_Player, SOUND_TYPE_MEDIA);*/
+ if (ret != PLAYER_ERROR_NONE) {
+ ug_error(">>>>>>>>>>>>>g_err_name : %d\n", ret);
+ UG_TRACE_END;
+ return false;
+ } else {
+ UG_TRACE_END;
+ return true;
+ }
}
static bool __mf_ug_list_play_create_player(player_h *player)
{
- UG_TRACE_BEGIN;
-
- int ret = 0;
- ret = player_create(player);
- //player_set_sound_type(ugd->ug_ListPlay.ug_Player, SOUND_TYPE_MEDIA);
- if (ret != PLAYER_ERROR_NONE) {
- ug_error(">>>>>>>>>>>>>g_err_name : %d\n", ret);
- UG_TRACE_END;
- return false;
- } else {
- UG_TRACE_END;
- return true;
- }
+ UG_TRACE_BEGIN;
+ if (mf_ug_main_is_background()) {
+ return false;
+ }
+
+ int ret = 0;
+ ret = player_create(player);
+ /*player_set_sound_type(ugd->ug_ListPlay.ug_Player, SOUND_TYPE_MEDIA);*/
+ if (ret != PLAYER_ERROR_NONE) {
+ ug_error(">>>>>>>>>>>>>g_err_name : %d\n", ret);
+ UG_TRACE_END;
+ return false;
+ } else {
+ UG_TRACE_END;
+ return true;
+ }
}
static bool __mf_ug_list_play_create_player_mgr(void *data, const char *path)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
-
- int path_len = strlen(path);
- char *g_err_name = NULL;
- int ret = 0;
-
- if (path_len > 0 && path_len < MYFILE_DIR_PATH_LEN_MAX) {
- if (ugd->ug_ListPlay.ug_Player == 0) {
- ret = __mf_ug_list_play_create_player(&ugd->ug_ListPlay.ug_Player);
- if (ret == false) {
- UG_TRACE_END;
- return false;
- }
- ug_debug("player is [%s]", ugd->ug_ListPlay.ug_Player);
- /*avsysaudiosink volume table setting */
-
- //ret = mm_player_set_attribute(ugd->ug_ListPlay.ug_Player, &g_err_name, "sound_volume_type", MM_SOUND_VOLUME_TYPE_MEDIA,
- // "profile_uri", path, strlen(path), NULL);
- ret = __mf_ug_list_play_set_uri(ugd->ug_ListPlay.ug_Player, path);
- if (ret == false) {
- UG_TRACE_END;
- return false;
- }
-
- ret = __mf_ug_list_play_set_sound_type(ugd->ug_ListPlay.ug_Player, SOUND_TYPE_MEDIA);
- if (ret == false) {
- ug_error("set sound type failed");
- } else {
- ug_error("set sound type success");
- }
- UG_SAFE_FREE_CHAR(g_player_cbs);
- if (g_player_pipe) {
- ecore_pipe_del(g_player_pipe);
- g_player_pipe = NULL;
- }
- g_player_cbs = calloc(1, sizeof(mf_player_cbs));
- g_player_pipe = ecore_pipe_add(__mf_player_mgr_callback_pipe_handler, ugd);
-
-
- player_set_completed_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_mgr_completed_cb, NULL);
- player_set_interrupted_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_mgr_interrupted_cb, NULL);
- player_set_error_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_mgr_error_cb, NULL);
-
- } else {
- ug_debug("player handle is exist");
-
- ret = __mf_ug_list_play_set_uri(ugd->ug_ListPlay.ug_Player, path);
- if (ret == false) {
- UG_TRACE_END;
- return false;
- }
- UG_TRACE_END;
- return true;
- }
- } else {
- ug_debug("the path_len is too long");
- UG_TRACE_END;
- return false;
- }
-
- //player_set_buffering_cb(ugd->ug_ListPlay.ug_Player, _mp_player_mgr_buffering_cb, NULL);
- return true;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+
+ if (mf_ug_main_is_background()) {
+ return false;
+ }
+
+ int path_len = strlen(path);
+ int ret = 0;
+
+ if (path_len > 0 && path_len < MYFILE_DIR_PATH_LEN_MAX) {
+ if (ugd->ug_ListPlay.ug_Player == 0) {
+ ret = __mf_ug_list_play_create_player(&ugd->ug_ListPlay.ug_Player);
+ if (ret == false) {
+ UG_TRACE_END;
+ return false;
+ }
+ /*avsysaudiosink volume table setting */
+
+ ret = __mf_ug_list_play_set_uri(ugd->ug_ListPlay.ug_Player, path);
+ if (ret == false) {
+ UG_TRACE_END;
+ return false;
+ }
+
+ sound_type_e sound_type = __mf_ug_list_play_sound_type(ugd->ug_Status.ug_pEntryPath);
+ ret = __mf_ug_list_play_set_sound_type(ugd->ug_ListPlay.ug_Player, sound_type);
+ if (ret == false) {
+ ug_error("set sound type failed");
+ } else {
+ ug_error("set sound type success");
+ }
+
+ /*player_set_session_prelistening(ugd->ug_ListPlay.ug_Player);*/
+
+ UG_SAFE_FREE_CHAR(g_player_cbs);
+ if (g_player_pipe) {
+ ecore_pipe_del(g_player_pipe);
+ g_player_pipe = NULL;
+ }
+ g_player_cbs = calloc(1, sizeof(mf_player_cbs));
+ g_player_pipe = ecore_pipe_add(__mf_player_mgr_callback_pipe_handler, ugd);
+
+
+ player_set_completed_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_mgr_completed_cb, NULL);
+ player_set_interrupted_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_mgr_interrupted_cb, NULL);
+ player_set_error_cb(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_mgr_error_cb, NULL);
+ } else {
+ ug_debug("player handle is exist");
+
+ ret = __mf_ug_list_play_set_uri(ugd->ug_ListPlay.ug_Player, path);
+ if (ret == false) {
+ UG_TRACE_END;
+ return false;
+ }
+ UG_TRACE_END;
+ return true;
+ }
+ } else {
+ ug_debug("the path_len is too long");
+ UG_TRACE_END;
+ return false;
+ }
+
+ /*player_set_buffering_cb(ugd->ug_ListPlay.ug_Player, _mp_player_mgr_buffering_cb, NULL);*/
+ return true;
}
@@ -801,104 +565,106 @@ static bool __mf_ug_list_play_create_player_mgr(void *data, const char *path)
******************************/
static void __mf_ug_list_play_start(void *data)
{
- UG_TRACE_BEGIN;
- ugListItemData *itemData = (ugListItemData *)data;
- ug_mf_retm_if(itemData == NULL, "itemData is NULL");
- ugData *ugd = itemData->ug_pData;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- int error_code = -1;
- player_state_e state = PLAYER_STATE_NONE;
-
- error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state);
- ug_debug("state is [%d]", state);
- if (error_code == 0 && state == PLAYER_STATE_PLAYING) {
- if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL) {
- ugd->ug_ListPlay.ug_pPlayFilePath = g_strdup(itemData->ug_pItemName->str);
- }
- __mf_ug_list_play_set_play_start_status(ugd, itemData->ug_pItemName->str);
- } else if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) {
- if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL) {
- ugd->ug_ListPlay.ug_pPlayFilePath = g_strdup(itemData->ug_pItemName->str);
- }
- __mf_ug_list_play_set_play_resume_status(ugd);
- }
-
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ if (mf_ug_main_is_background()) {
+ return;
+ }
+ ugListItemData *itemData = (ugListItemData *)data;
+ ug_mf_retm_if(itemData == NULL, "itemData is NULL");
+ ugData *ugd = itemData->ug_pData;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ int error_code = -1;
+ player_state_e state = PLAYER_STATE_NONE;
+
+ error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state);
+ ug_debug("state is [%d]", state);
+ if (error_code == 0 && state == PLAYER_STATE_PLAYING) {
+ if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL) {
+ ugd->ug_ListPlay.ug_pPlayFilePath = g_strdup(itemData->ug_pItemName->str);
+ }
+ __mf_ug_list_play_set_play_start_status(ugd, itemData->ug_pItemName->str);
+ } else if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) {
+ if (ugd->ug_ListPlay.ug_pPlayFilePath == NULL) {
+ ugd->ug_ListPlay.ug_pPlayFilePath = g_strdup(itemData->ug_pItemName->str);
+ }
+ __mf_ug_list_play_set_play_resume_status(ugd);
+ }
+
+ UG_TRACE_END;
}
static void __mf_ug_list_play_pauset(void *data)
{
- UG_TRACE_BEGIN;
+ UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- __mf_ug_list_play_set_play_pause_status(ugd);
- UG_TRACE_END;
+ __mf_ug_list_play_set_play_pause_status(ugd);
+ UG_TRACE_END;
}
static void __mf_ug_list_play_complete_cb(void *data)
{
- UG_TRACE_BEGIN;
+ UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- mf_ug_list_play_destory_playing_file(ugd);
- mf_ug_list_disable_play_itc(ugd, true);
- //mf_ug_list_play_update_item_icon(ugd);
- UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
- UG_TRACE_END;
+ mf_ug_list_play_destory_playing_file(ugd);
+ mf_ug_list_disable_play_itc(ugd, true);
+ ugd->ug_ListPlay.play_data = NULL;
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ UG_TRACE_END;
}
static void __mf_ug_list_play_interrupt_cb(player_interrupted_code_e code, void *data)
{
- UG_TRACE_BEGIN;
- ugListItemData *itemData = data;
- ug_mf_retm_if(itemData == NULL, "itemData is NULL");
-
- ugData *ugd = (ugData *)itemData->ug_pData;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- switch (code) {
- case PLAYER_INTERRUPTED_BY_MEDIA:
- ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_MEDIA");
- break;
- case PLAYER_INTERRUPTED_BY_CALL:
- ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_CALL_START");
- break;
- case PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT:
- ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT");
- break;
- case PLAYER_INTERRUPTED_BY_ALARM:
- ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_ALARM_START");
- break;
- case PLAYER_INTERRUPTED_BY_EARJACK_UNPLUG:
- ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_EARJACK_UNPLUG");
- break;
- case PLAYER_INTERRUPTED_COMPLETED:
- ug_debug("PLAYER_INTERRUPTED_COMPLETED");
- /* ready to resume */
- ug_debug("ugd->ug_ListPlay.ug_iPlayState is [%d]", ugd->ug_ListPlay.ug_iPlayState);
- if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) {
- ug_debug();
- __mf_ug_list_play_control_cb(itemData);
- }
- return;
- default:
- break;
- }
- __mf_ug_list_play_set_play_pause_status(ugd);
- mf_ug_list_play_update_item_icon(ugd);
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugListItemData *itemData = data;
+ ug_mf_retm_if(itemData == NULL, "itemData is NULL");
+
+ ugData *ugd = (ugData *)itemData->ug_pData;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ switch (code) {
+ case PLAYER_INTERRUPTED_BY_MEDIA:
+ ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_MEDIA");
+ break;
+ case PLAYER_INTERRUPTED_BY_CALL:
+ ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_CALL_START");
+ break;
+ case PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT:
+ ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_RESOURCE_CONFLICT");
+ break;
+ case PLAYER_INTERRUPTED_BY_ALARM:
+ ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_ALARM_START");
+ break;
+ case PLAYER_INTERRUPTED_BY_EARJACK_UNPLUG:
+ ug_debug("Interrupt :: PLAYER_INTERRUPTED_BY_EARJACK_UNPLUG");
+ break;
+ case PLAYER_INTERRUPTED_COMPLETED:
+ ug_debug("PLAYER_INTERRUPTED_COMPLETED");
+ /* ready to resume */
+ ug_debug("ugd->ug_ListPlay.ug_iPlayState is [%d]", ugd->ug_ListPlay.ug_iPlayState);
+ if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) {
+ __mf_ug_list_play_control_cb(itemData);
+ }
+ return;
+ default:
+ break;
+ }
+ __mf_ug_list_play_set_play_pause_status(ugd);
+ mf_ug_list_play_update_item_icon(ugd);
+ UG_TRACE_END;
}
static void
__mf_list_play_control_prepare_cb(void *userdata)
{
- UG_TRACE_BEGIN;
+ UG_TRACE_BEGIN;
- __mf_ug_list_play_play_current_file(userdata);
+ __mf_ug_list_play_play_current_file(userdata);
}
@@ -920,50 +686,49 @@ __mf_list_play_control_prepare_cb(void *userdata)
static void
__mf_ug_list_play_prepare_cb(void *userdata)
{
- UG_TRACE_BEGIN;
- MF_CHECK(g_player_pipe);
+ UG_TRACE_BEGIN;
+ MF_CHECK(g_player_pipe);
- mf_player_cb_extra_data extra_data;
- memset(&extra_data, 0, sizeof(mf_player_cb_extra_data));
- extra_data.cb_type = MF_PLAYER_CB_TYPE_PREPARE;
+ mf_player_cb_extra_data extra_data;
+ memset(&extra_data, 0, sizeof(mf_player_cb_extra_data));
+ extra_data.cb_type = MF_PLAYER_CB_TYPE_PREPARE;
- ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mf_player_cb_extra_data));
+ ecore_pipe_write(g_player_pipe, &extra_data, sizeof(mf_player_cb_extra_data));
}
static bool __mf_ug_list_play_realize_player_mgr(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
-
- ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
-
- int error_code = 0;
- player_state_e state = PLAYER_STATE_NONE;
-
- if (ugd->ug_ListPlay.ug_Player != 0) {
- error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state);
- ug_debug("state is [%d]", state);
-
- if (0 == error_code && PLAYER_STATE_IDLE == state) {
- ug_debug("player_prepare_async");
- if (player_prepare_async(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_prepare_cb, ugd) != PLAYER_ERROR_NONE)
- {
- ug_debug("Error when mp_player_mgr_realize\n");
- UG_TRACE_END;
- return FALSE;
- } else {
- return true;
- }
- //ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_READY;
-
- } else {
- UG_TRACE_END;
- return false;
- }
- }
- UG_TRACE_END;
-
- return false;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+
+ ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+
+ int error_code = 0;
+ player_state_e state = PLAYER_STATE_NONE;
+
+ if (ugd->ug_ListPlay.ug_Player != 0) {
+ error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state);
+ ug_debug("state is [%d]", state);
+
+ if (0 == error_code && PLAYER_STATE_IDLE == state) {
+ ug_debug("player_prepare_async");
+ if (player_prepare_async(ugd->ug_ListPlay.ug_Player, __mf_ug_list_play_prepare_cb, ugd) != PLAYER_ERROR_NONE) {
+ ug_debug("Error when mp_player_mgr_realize\n");
+ UG_TRACE_END;
+ return FALSE;
+ } else {
+ return true;
+ }
+ /*ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_READY;*/
+
+ } else {
+ UG_TRACE_END;
+ return false;
+ }
+ }
+ UG_TRACE_END;
+
+ return false;
}
@@ -971,7 +736,6 @@ static bool __mf_ug_list_play_realize_player_mgr(void *data)
** Prototype : __mf_ug_list_play_ready_new_file_play
** Description : Samsung
** Input : void *data
-** bool drm_check_flag
** Output : None
** Return Value :
** Calls :
@@ -985,189 +749,184 @@ static bool __mf_ug_list_play_realize_player_mgr(void *data)
******************************/
/*void mf_player_mgr_set_started_cb(player_started_cb callback, void *user_data)
{
- MF_CHECK(g_player_cbs);
+ MF_CHECK(g_player_cbs);
- g_player_cbs->started_cb = callback;
- g_player_cbs->user_data[MF_PLAYER_CB_TYPE_STARTED] = user_data;
+ g_player_cbs->started_cb = callback;
+ g_player_cbs->user_data[MF_PLAYER_CB_TYPE_STARTED] = user_data;
}
void mf_player_mgr_set_paused_cb(player_paused_cb callback, void *user_data)
{
- MF_CHECK(g_player_cbs);
+ MF_CHECK(g_player_cbs);
- g_player_cbs->paused_cb = callback;
- g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PAUSED] = user_data;
+ g_player_cbs->paused_cb = callback;
+ g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PAUSED] = user_data;
}*/
void mf_player_mgr_set_completed_cb(player_completed_cb callback, void *user_data)
{
- MF_CHECK(g_player_cbs);
+ MF_CHECK(g_player_cbs);
- g_player_cbs->completed_cb = callback;
- g_player_cbs->user_data[MF_PLAYER_CB_TYPE_COMPLETED] = user_data;
+ g_player_cbs->completed_cb = callback;
+ g_player_cbs->user_data[MF_PLAYER_CB_TYPE_COMPLETED] = user_data;
}
void mf_player_mgr_set_interrupted_cb(player_interrupted_cb callback, void *user_data)
{
- MF_CHECK(g_player_cbs);
+ MF_CHECK(g_player_cbs);
- g_player_cbs->interrupted_cb = callback;
- g_player_cbs->user_data[MF_PLAYER_CB_TYPE_INTURRUPTED] = user_data;
+ g_player_cbs->interrupted_cb = callback;
+ g_player_cbs->user_data[MF_PLAYER_CB_TYPE_INTURRUPTED] = user_data;
}
void mf_player_mgr_set_error_cb(player_error_cb callback, void *user_data)
{
- MF_CHECK(g_player_cbs);
+ MF_CHECK(g_player_cbs);
- g_player_cbs->error_cb = callback;
- g_player_cbs->user_data[MF_PLAYER_CB_TYPE_ERROR] = user_data;
+ g_player_cbs->error_cb = callback;
+ g_player_cbs->user_data[MF_PLAYER_CB_TYPE_ERROR] = user_data;
}
void mf_player_mgr_set_buffering_cb(player_buffering_cb callback, void *user_data)
{
- MF_CHECK(g_player_cbs);
+ MF_CHECK(g_player_cbs);
- g_player_cbs->buffering_cb = callback;
- g_player_cbs->user_data[MF_PLAYER_CB_TYPE_BUFFERING] = user_data;
+ g_player_cbs->buffering_cb = callback;
+ g_player_cbs->user_data[MF_PLAYER_CB_TYPE_BUFFERING] = user_data;
}
void mf_player_mgr_set_prepare_cb(player_prepared_cb callback, void *user_data)
{
- MF_CHECK(g_player_cbs);
+ MF_CHECK(g_player_cbs);
- g_player_cbs->prepare_cb = callback;
- g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PREPARE] = user_data;
+ g_player_cbs->prepare_cb = callback;
+ g_player_cbs->user_data[MF_PLAYER_CB_TYPE_PREPARE] = user_data;
}
static Eina_Bool __mf_play_control_error(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
-
- mf_ug_list_play_destory_playing_file(ugd);
- mf_ug_list_disable_play_itc(ugd, true);
- UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
- ugd->ug_ListPlay.playing_err_idler = NULL;
- return EINA_FALSE;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+
+ mf_ug_list_play_destory_playing_file(ugd);
+ mf_ug_list_disable_play_itc(ugd, true);
+ ugd->ug_ListPlay.play_data = NULL;
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ ugd->ug_ListPlay.playing_err_idler = NULL;
+ return EINA_FALSE;
}
static void __mf_play_control_error_cb(int error_code, void *userdata)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)userdata;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- switch (error_code)
- {
- case PLAYER_ERROR_OUT_OF_MEMORY:
- ug_error("PLAYER_ERROR_OUT_OF_MEMORY");
- break;
- case PLAYER_ERROR_INVALID_PARAMETER:
- ug_error("PLAYER_ERROR_INVALID_PARAMETER");
- //mp_widget_text_popup(ad, GET_STR("IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"));
- break;
- case PLAYER_ERROR_NOT_SUPPORTED_FILE: //can receive error msg while playing.
- ug_error("receive MM_ERROR_PLAYER_CODEC_NOT_FOUND\n");
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNSUPPORT_FILE_TYPE, NULL, NULL, NULL, NULL, NULL);
- break;
- case PLAYER_ERROR_CONNECTION_FAILED:
- ug_error("MM_ERROR_PLAYER_STREAMING_CONNECTION_FAIL");
-
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_CONNECT_FAILED, NULL, NULL, NULL, NULL, NULL);
- break;
- default:
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNSUPPORT_FILE_TYPE, NULL, NULL, NULL, NULL, NULL);
- ug_error("error_code: %d", error_code);
- }
-
- if(!ugd->ug_ListPlay.playing_err_idler) {
- ugd->ug_ListPlay.playing_err_idler = ecore_idler_add(__mf_play_control_error, ugd);
- }
+ UG_TRACE_BEGIN;
+ ugListItemData *itemData = userdata;
+ ug_mf_retm_if(itemData == NULL, "itemData is NULL");
+ ugData *ugd = itemData->ug_pData;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ switch (error_code) {
+ case PLAYER_ERROR_OUT_OF_MEMORY:
+ ug_error("PLAYER_ERROR_OUT_OF_MEMORY");
+ break;
+ case PLAYER_ERROR_INVALID_PARAMETER:
+ ug_error("PLAYER_ERROR_INVALID_PARAMETER");
+ break;
+ case PLAYER_ERROR_NOT_SUPPORTED_FILE: /*can receive error msg while playing.*/
+ ug_error("receive MM_ERROR_PLAYER_CODEC_NOT_FOUND\n");
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNSUPPORT_FILE_TYPE, NULL, NULL, NULL, NULL, NULL);
+ break;
+ case PLAYER_ERROR_CONNECTION_FAILED:
+ ug_error("MM_ERROR_PLAYER_STREAMING_CONNECTION_FAIL");
+
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_CONNECT_FAILED, NULL, NULL, NULL, NULL, NULL);
+ break;
+ default:
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNSUPPORT_FILE_TYPE, NULL, NULL, NULL, NULL, NULL);
+ ug_error("error_code: %d", error_code);
+ }
+
+ /*if (ugd->ug_MainWindow.ug_pRadioGroup && elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) == itemData->ug_iGroupValue) {
+ //ugd->ug_Status.ug_iRadioOn = 0;
+ //itemData->ug_bChecked = false;
+ //elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, 0);
+ //mf_ug_navi_bar_set_ctrl_item_disable(ugd);
+ }*/
+
+ if (!ugd->ug_ListPlay.playing_err_idler) {
+ ugd->ug_ListPlay.playing_err_idler = ecore_idler_add((Ecore_Task_Cb)__mf_play_control_error, ugd);
+ }
}
-static bool __mf_ug_list_play_ready_new_file_play(void *data, bool drm_check_flag)
+static bool __mf_ug_list_play_ready_new_file_play(void *data)
{
- UG_TRACE_BEGIN;
- ugListItemData *itemData = data;
- ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL");
-
- ugData *ugd = (ugData *)itemData->ug_pData;
- ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
-
- char *path = strdup(itemData->ug_pItemName->str);
-
- /*check if file is exist */
- if (path != NULL) {
- if (!ecore_file_exists(path)) {
- ug_debug("Error file %s is not exist\n", path);
- free(path);
- path = NULL;
- UG_TRACE_END;
- return false;
- }
- /*/check if file is drm file */
- if (mf_ug_file_attr_is_drm_file(path) == 0) {
- if (!__mf_ug_list_play_check_drm_left_ro(ugd, path)) {
- free(path);
- path = NULL;
- UG_TRACE_END;
- return false;
- }
-
- if (!__mf_ug_list_play_check_drm_forward(ugd, path)) {
- free(path);
- path = NULL;
- UG_TRACE_END;
- return false;
- }
-
- ugd->ug_ListPlay.ug_bDrmconsumption = true;
- } else {
- ugd->ug_ListPlay.ug_bDrmconsumption = true;
- }
-
- if (!__mf_ug_list_play_create_player_mgr(ugd, path)) {
- free(path);
- path = NULL;
- ug_error("ERROR HERE !!!!!!!");
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL, NULL, NULL, NULL, NULL);
- UG_TRACE_END;
- return false;
- }
-
- //mf_player_mgr_set_started_cb(__mf_ug_list_play_start_cb, itemData);
- //mf_player_mgr_set_paused_cb(__mf_ug_list_play_pauset_cb, ugd);
- mf_player_mgr_set_completed_cb(__mf_ug_list_play_complete_cb, ugd);
- mf_player_mgr_set_interrupted_cb(__mf_ug_list_play_interrupt_cb, ugd);
- mf_player_mgr_set_prepare_cb(__mf_list_play_control_prepare_cb, itemData);
- mf_player_mgr_set_error_cb(__mf_play_control_error_cb, ugd);
- //mf_player_mgr_set_buffering_cb(_mp_play_control_buffering_cb, ad);
-
- if (!__mf_ug_list_play_realize_player_mgr(ugd)) {
- free(path);
- path = NULL;
- ug_error("ERROR HERE !!!!!!!");
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL, NULL, NULL, NULL, NULL);
- UG_TRACE_END;
- return false;
- }
- free(path);
- path = NULL;
- UG_TRACE_END;
- return true;
- } else {
- return false;
- }
+ UG_TRACE_BEGIN;
+
+ if (mf_ug_main_is_background()) {
+ return false;
+ }
+
+ ugListItemData *itemData = data;
+ ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL");
+
+ ugData *ugd = (ugData *)itemData->ug_pData;
+ ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+
+ char *path = strdup(itemData->ug_pItemName->str);
+ if (mf_ug_is_default_ringtone(ugd, path)) {
+ UG_SAFE_FREE_CHAR(path);
+ path = g_strdup(ugd->ug_UiGadget.default_ringtone);
+ }
+
+ /*check if file is exist */
+ if (path != NULL) {
+ if (!mf_file_exists(path)) {
+ ug_debug("Error file %s is not exist\n", path);
+ free(path);
+ path = NULL;
+ UG_TRACE_END;
+ return false;
+ }
+ if (!__mf_ug_list_play_create_player_mgr(ugd, path)) {
+ free(path);
+ path = NULL;
+ ug_error("ERROR HERE !!!!!!!");
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL, NULL, NULL, NULL, NULL);
+ UG_TRACE_END;
+ return false;
+ }
+
+ /*mf_player_mgr_set_started_cb(__mf_ug_list_play_start_cb, itemData);
+ mf_player_mgr_set_paused_cb(__mf_ug_list_play_pauset_cb, ugd);*/
+ mf_player_mgr_set_completed_cb(__mf_ug_list_play_complete_cb, ugd);
+ mf_player_mgr_set_interrupted_cb(__mf_ug_list_play_interrupt_cb, itemData);
+ mf_player_mgr_set_prepare_cb(__mf_list_play_control_prepare_cb, itemData);
+ mf_player_mgr_set_error_cb(__mf_play_control_error_cb, itemData);
+ /*mf_player_mgr_set_buffering_cb(_mp_play_control_buffering_cb, ad);*/
+
+ if (!__mf_ug_list_play_realize_player_mgr(ugd)) {
+ free(path);
+ path = NULL;
+ ug_error("ERROR HERE !!!!!!!");
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL, NULL, NULL, NULL, NULL);
+ UG_TRACE_END;
+ return false;
+ }
+ free(path);
+ path = NULL;
+ UG_TRACE_END;
+ return true;
+ } else {
+ return false;
+ }
}
-
/******************************
** Prototype : _mp_player_mgr_play
** Description :
@@ -1186,53 +945,53 @@ static bool __mf_ug_list_play_ready_new_file_play(void *data, bool drm_check_fla
static bool __mf_ug_list_play_play(void *data)
{
- UG_TRACE_BEGIN;
- ugListItemData *itemData = data;
- ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL");
- ugData *ugd = itemData->ug_pData;
- ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
-
- int err = 0;
- int error_code = 0;
- player_state_e state = PLAYER_STATE_NONE;
-
- if (ugd->ug_ListPlay.ug_Player != 0) {
- error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state);
- ug_debug("state is [%d]", state);
-
- if (0 == error_code && PLAYER_STATE_READY == state) {
- err = player_start(ugd->ug_ListPlay.ug_Player);
- if (err != PLAYER_ERROR_NONE) {
-
- if (err == PLAYER_ERROR_SOUND_POLICY)
- {
- ug_error("PLAYER_ERROR_SOUND_POLICY error");
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_DURING_CALL, NULL,
- NULL, NULL, NULL, NULL);
- }
- else
- {
- ug_error("error is [%d]", err);
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL,
- NULL, NULL, NULL, NULL);
- }
- ug_error("Error when _mp_player_mgr_play. err[%x]\n", err);
- UG_TRACE_END;
- return false;
- } else {
- __mf_ug_list_play_start(itemData);
- mf_ug_list_disable_play_itc(ugd, false);
- UG_TRACE_END;
- return true;
- }
- } else {
- UG_TRACE_END;
- return false;
- }
- } else {
- UG_TRACE_END;
- return false;
- }
+ UG_TRACE_BEGIN;
+ ugListItemData *itemData = data;
+ ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL");
+ ugData *ugd = itemData->ug_pData;
+ ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+ if (mf_ug_main_is_background()) {
+ return false;
+ }
+
+ int err = 0;
+ int error_code = 0;
+ player_state_e state = PLAYER_STATE_NONE;
+
+ if (ugd->ug_ListPlay.ug_Player != 0) {
+ error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state);
+ ug_debug("state is [%d]", state);
+
+ if (0 == error_code && PLAYER_STATE_READY == state) {
+ err = player_start(ugd->ug_ListPlay.ug_Player);
+ if (err != PLAYER_ERROR_NONE) {
+
+ if (err == PLAYER_ERROR_SOUND_POLICY) {
+ ug_error("PLAYER_ERROR_SOUND_POLICY error");
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_DURING_CALL, NULL,
+ NULL, NULL, NULL, NULL);
+ } else {
+ ug_error("error is [%d]", err);
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL,
+ NULL, NULL, NULL, NULL);
+ }
+ ug_error("Error when _mp_player_mgr_play. err[%x]\n", err);
+ UG_TRACE_END;
+ return false;
+ } else {
+ __mf_ug_list_play_start(itemData);
+ mf_ug_list_disable_play_itc(ugd, false);
+ UG_TRACE_END;
+ return true;
+ }
+ } else {
+ UG_TRACE_END;
+ return false;
+ }
+ } else {
+ UG_TRACE_END;
+ return false;
+ }
}
/******************************
@@ -1252,37 +1011,37 @@ static bool __mf_ug_list_play_play(void *data)
******************************/
static bool __mf_ug_list_play_stop(ugData *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
-
- player_state_e state = PLAYER_STATE_NONE;
- int error_code = 0;
-
- if (ugd->ug_ListPlay.ug_Player != 0) {
- error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state);
- ug_debug("state is [%d]", state);
-
- if (0 == error_code && (PLAYER_STATE_PLAYING == state || PLAYER_STATE_PAUSED == state)) {
- if (player_stop(ugd->ug_ListPlay.ug_Player) != 0) {
- ug_debug("Error when __mf_ug_list_play_stop\n");
- UG_TRACE_END;
- return false;
- } else {
-
- ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_STOP;
- ugd->ug_ListPlay.ug_bDrmContentCanPlay = false;
- UG_TRACE_END;
- return true;
- }
-
- } else {
- UG_TRACE_END;
- return false;
- }
- }
- UG_TRACE_END;
- return false;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+
+ player_state_e state = PLAYER_STATE_NONE;
+ int error_code = 0;
+
+ if (ugd->ug_ListPlay.ug_Player != 0) {
+ error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state);
+ ug_debug("state is [%d]", state);
+
+ if (0 == error_code && (PLAYER_STATE_PLAYING == state || PLAYER_STATE_PAUSED == state)) {
+ if (player_stop(ugd->ug_ListPlay.ug_Player) != 0) {
+ ug_debug("Error when __mf_ug_list_play_stop\n");
+ UG_TRACE_END;
+ return false;
+ } else {
+
+ ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_STOP;
+
+ UG_TRACE_END;
+ return true;
+ }
+
+ } else {
+ UG_TRACE_END;
+ return false;
+ }
+ }
+ UG_TRACE_END;
+ return false;
}
/******************************
@@ -1303,24 +1062,24 @@ static bool __mf_ug_list_play_stop(ugData *data)
static bool __mf_ug_list_play_unrealize(ugData *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
-
- if (ugd->ug_ListPlay.ug_Player != 0) {
- /*/unrealize can be invoked at any state */
- int ret = player_unprepare(ugd->ug_ListPlay.ug_Player);
- if (ret != 0) {
- ug_error("Error when __mf_ug_list_play_unrealize %d", ret);
- UG_TRACE_END;
- return false;
- } else {
- UG_TRACE_END;
- return true;
- }
- }
- UG_TRACE_END;
- return false;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+
+ if (ugd->ug_ListPlay.ug_Player != 0) {
+ /*/unrealize can be invoked at any state */
+ int ret = player_unprepare(ugd->ug_ListPlay.ug_Player);
+ if (ret != 0) {
+ ug_error("Error when __mf_ug_list_play_unrealize %d", ret);
+ UG_TRACE_END;
+ return false;
+ } else {
+ UG_TRACE_END;
+ return true;
+ }
+ }
+ UG_TRACE_END;
+ return false;
}
/******************************
@@ -1340,33 +1099,37 @@ static bool __mf_ug_list_play_unrealize(ugData *data)
******************************/
static bool __mf_ug_list_play_destory(ugData *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
-
- if (ugd->ug_ListPlay.ug_Player != 0) {
- /*/destroy can be invoked at any state */
- if (player_destroy(ugd->ug_ListPlay.ug_Player) != 0) {
- ug_debug("Error when __mf_ug_list_play_destory\n");
- UG_TRACE_END;
- return false;
- } else {
- ugd->ug_ListPlay.ug_Player = 0;
- ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_INIT;
- UG_TRACE_END;
- return true;
- }
- }
-
- UG_SAFE_FREE_CHAR(g_player_cbs);
- if (g_player_pipe) {
- ecore_pipe_del(g_player_pipe);
- g_player_pipe = NULL;
- }
- UG_TRACE_END;
- return false;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+
+ if (ugd->ug_ListPlay.ug_Player != 0) {
+ /*/destroy can be invoked at any state */
+ if (player_destroy(ugd->ug_ListPlay.ug_Player) != 0) {
+ ug_debug("Error when __mf_ug_list_play_destory\n");
+ UG_TRACE_END;
+ return false;
+ } else {
+ ugd->ug_ListPlay.ug_Player = 0;
+ ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_INIT;
+ UG_TRACE_END;
+ return true;
+ }
+ }
+
+ UG_TRACE_END;
+ return false;
}
+static void __mf_ug_list_play_pipe_destory()
+{
+ UG_SAFE_FREE_CHAR(g_player_cbs);
+ if (g_player_pipe) {
+ ecore_pipe_del(g_player_pipe);
+ g_player_pipe = NULL;
+ }
+
+}
/******************************
** Prototype : __mf_ug_list_play_play_current_file
** Description : Samsung
@@ -1384,31 +1147,31 @@ static bool __mf_ug_list_play_destory(ugData *data)
******************************/
static bool __mf_ug_list_play_play_current_file(void *data)
{
-
- UG_TRACE_BEGIN;
- ugListItemData *itemData = data;
- ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL");
- ugData *ugd = itemData->ug_pData;
- ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
-
- int error_code = 0;
-
- player_state_e state = PLAYER_STATE_NONE;
- error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state);
- ug_debug("state is [%d]", state);
- if (state != PLAYER_STATE_READY) {
- UG_TRACE_END;
- return false;
- }
- if (!__mf_ug_list_play_play(itemData)) {
- mf_ug_list_play_destory_playing_file(ugd);
- mf_ug_list_disable_play_itc(ugd, true);
- UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
- UG_TRACE_END;
- return false;
- }
-
- return true;
+ UG_TRACE_BEGIN;
+ ugListItemData *itemData = data;
+ ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL");
+ ugData *ugd = itemData->ug_pData;
+ ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+ int err_code = 0;
+ player_state_e state = PLAYER_STATE_NONE;
+
+ err_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state);
+ ug_debug("state : [%d] , error code : [%d]", state, err_code);
+
+ if (state != PLAYER_STATE_READY) {
+ UG_TRACE_END;
+ return false;
+ }
+ if (!__mf_ug_list_play_play(itemData)) {
+ mf_ug_list_play_destory_playing_file(ugd);
+ mf_ug_list_disable_play_itc(ugd, true);
+ ugd->ug_ListPlay.play_data = NULL;
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ UG_TRACE_END;
+ return false;
+ }
+
+ return true;
}
@@ -1429,51 +1192,48 @@ static bool __mf_ug_list_play_play_current_file(void *data)
******************************/
static bool __mf_ug_list_play_resume(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
-
- player_state_e state = PLAYER_STATE_NONE;
- int error_code = 0;
- int err = -1;
-
- if (ugd->ug_ListPlay.ug_Player != 0) {
- error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state);
- ug_debug("state is [%d]", state);
-
- if (0 == error_code && PLAYER_STATE_PAUSED == state) {
- err = player_start(ugd->ug_ListPlay.ug_Player);
-
- if (err != PLAYER_ERROR_NONE) {
-
- if (err == PLAYER_ERROR_SOUND_POLICY)
- {
- ug_error("ERROR HERE !!!!!!!");
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_DURING_CALL, NULL,
- NULL, NULL, NULL, NULL);
- }
- else
- {
- ug_error("ERROR HERE !!!!!!!");
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL,
- NULL, NULL, NULL, NULL);
- }
- ug_error("Error when _mp_player_mgr_play. err[%x]\n", err);
- UG_TRACE_END;
- return false;
- } else {
- __mf_ug_list_play_set_play_start_status(ugd, ugd->ug_ListPlay.ug_pPlayFilePath);
- mf_ug_list_disable_play_itc(ugd, false);
- UG_TRACE_END;
- return true;
- }
- } else {
- UG_TRACE_END;
- return false;
- }
- }
- UG_TRACE_END;
- return false;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+
+ player_state_e state = PLAYER_STATE_NONE;
+ int error_code = 0;
+ int err = -1;
+
+ if (ugd->ug_ListPlay.ug_Player != 0) {
+ error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state);
+ ug_debug("state is [%d]", state);
+
+ if (0 == error_code && PLAYER_STATE_PAUSED == state) {
+ err = player_start(ugd->ug_ListPlay.ug_Player);
+
+ if (err != PLAYER_ERROR_NONE) {
+
+ if (err == PLAYER_ERROR_SOUND_POLICY) {
+ ug_error("ERROR HERE !!!!!!!");
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_DURING_CALL, NULL,
+ NULL, NULL, NULL, NULL);
+ } else {
+ ug_error("ERROR HERE !!!!!!!");
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED, NULL,
+ NULL, NULL, NULL, NULL);
+ }
+ ug_error("Error when _mp_player_mgr_play. err[%x]\n", err);
+ UG_TRACE_END;
+ return false;
+ } else {
+ __mf_ug_list_play_set_play_start_status(ugd, ugd->ug_ListPlay.ug_pPlayFilePath);
+ mf_ug_list_disable_play_itc(ugd, false);
+ UG_TRACE_END;
+ return true;
+ }
+ } else {
+ UG_TRACE_END;
+ return false;
+ }
+ }
+ UG_TRACE_END;
+ return false;
}
@@ -1495,35 +1255,35 @@ static bool __mf_ug_list_play_resume(void *data)
******************************/
static bool __mf_ug_list_play_pause(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
-
- int err = 0;
- player_state_e state = PLAYER_STATE_NONE;
- int error_code = 0;
-
- if (ugd->ug_ListPlay.ug_Player) {
- error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state);
- ug_debug("state is [%d]", state);
-
- if (0 == error_code && PLAYER_STATE_PLAYING == state) {
- err = player_pause(ugd->ug_ListPlay.ug_Player);
- if (err != 0) {
- ug_debug("Error when _ug_player_mgr_pause. err[%x]\n", err);
- UG_TRACE_END;
- return false;
- } else {
- UG_TRACE_END;
- return true;
- }
- } else {
- UG_TRACE_END;
- return false;
- }
- }
- UG_TRACE_END;
- return false;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+
+ int err = 0;
+ player_state_e state = PLAYER_STATE_NONE;
+ int error_code = 0;
+
+ if (ugd->ug_ListPlay.ug_Player) {
+ error_code = player_get_state(ugd->ug_ListPlay.ug_Player, &state);
+ ug_debug("state is [%d]", state);
+
+ if (0 == error_code && PLAYER_STATE_PLAYING == state) {
+ err = player_pause(ugd->ug_ListPlay.ug_Player);
+ if (err != 0) {
+ ug_debug("Error when _ug_player_mgr_pause. err[%x]\n", err);
+ UG_TRACE_END;
+ return false;
+ } else {
+ UG_TRACE_END;
+ return true;
+ }
+ } else {
+ UG_TRACE_END;
+ return false;
+ }
+ }
+ UG_TRACE_END;
+ return false;
}
@@ -1543,68 +1303,70 @@ static bool __mf_ug_list_play_pause(void *data)
** Modification : Created function
**
******************************/
-void mf_ug_list_play_pause(void *data)
+bool mf_ug_list_play_pause(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- int state = ugd->ug_ListPlay.ug_iPlayState;
-
- if (state == PLAY_STATE_PLAYING) {
- if(__mf_ug_list_play_pause(ugd)) {
- __mf_ug_list_play_pauset(ugd);
- mf_ug_list_disable_play_itc(ugd, false);
- }
- }
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+ int state = ugd->ug_ListPlay.ug_iPlayState;
+
+ if (state == PLAY_STATE_PLAYING) {
+ if (__mf_ug_list_play_pause(ugd)) {
+ __mf_ug_list_play_pauset(ugd);
+ mf_ug_list_disable_play_itc(ugd, false);
+ return true;
+ }
+ return false;
+ }
+ return false;
}
static void __mf_ug_list_play_control_cb(void *data)
{
- UG_TRACE_BEGIN;
- ugListItemData *itemData = data;
- ug_mf_retm_if(itemData == NULL, "itemData is NULL");
-
- ugData *ugd = (ugData *)itemData->ug_pData;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- int state = ugd->ug_ListPlay.ug_iPlayState;
-
- if (state == PLAY_STATE_PLAYING) {
- if(__mf_ug_list_play_pause(ugd)) {
- __mf_ug_list_play_pauset(ugd);
- mf_ug_list_disable_play_itc(ugd, false);
- }
- } else {
- if(__mf_ug_list_play_resume(ugd)) {
- __mf_ug_list_play_start(itemData);
- }
-
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugListItemData *itemData = data;
+ ug_mf_retm_if(itemData == NULL, "itemData is NULL");
+
+ ugData *ugd = (ugData *)itemData->ug_pData;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ int state = ugd->ug_ListPlay.ug_iPlayState;
+
+ if (state == PLAY_STATE_PLAYING) {
+ if (__mf_ug_list_play_pause(ugd)) {
+ __mf_ug_list_play_pauset(ugd);
+ mf_ug_list_disable_play_itc(ugd, false);
+ }
+ } else {
+ if (__mf_ug_list_play_resume(ugd)) {
+ __mf_ug_list_play_start(itemData);
+ }
+
+ }
+ UG_TRACE_END;
}
-static bool __mf_ug_list_play_play_new_file(ugListItemData *data, bool drm_check_flag)
+static bool __mf_ug_list_play_play_new_file(ugListItemData *data)
{
- UG_TRACE_BEGIN;
- ugListItemData *itemData = data;
- ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL");
+ UG_TRACE_BEGIN;
+ ugListItemData *itemData = data;
+ ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL");
- ugData *ugd = (ugData *)itemData->ug_pData;
- ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+ ugData *ugd = (ugData *)itemData->ug_pData;
+ ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
- __mf_ug_list_play_init_data(ugd);
+ __mf_ug_list_play_init_data(ugd);
- if (!__mf_ug_list_play_ready_new_file_play(itemData, true)) {
- UG_TRACE_END;
- return false;
- }
+ if (mf_ug_main_is_background()) {
+ return false;
+ }
+ if (!__mf_ug_list_play_ready_new_file_play(itemData)) {
+ UG_TRACE_END;
+ return false;
+ }
- if (!__mf_ug_list_play_play_current_file(itemData)) {
- UG_TRACE_END;
- return false;
- }
- UG_TRACE_END;
+ UG_TRACE_END;
- return true;
+ return true;
}
@@ -1623,47 +1385,47 @@ static bool __mf_ug_list_play_play_new_file(ugListItemData *data, bool drm_check
** Modification : Created function
**
******************************/
-void mf_ug_list_play_play_music_item(ugListItemData *data)
+void mf_ug_list_play_reset_playing_file(void *data)
{
- UG_TRACE_BEGIN;
- ugListItemData *itemData = data;
- ug_mf_retm_if(itemData == NULL, "itemData is NULL");
- ugData *ugd = itemData->ug_pData;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- int key = 0;
- int error_code = 0;
- error_code = vconf_get_int(VCONFKEY_SYSMAN_BATTERY_STATUS_LOW, &key);
-
- ug_debug("key is [%d]", key);
- ug_debug("ugd->ug_ListPlay.ug_iPlayState is [%d]", ugd->ug_ListPlay.ug_iPlayState);
-
- if (error_code == 0 && key <= VCONFKEY_SYSMAN_BAT_POWER_OFF) {
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, ("Battery low, play failed!"), NULL, NULL, NULL, NULL, NULL);
- } else if (error_code != 0) {
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, ("Unkown error, play failed!"), NULL, NULL, NULL, NULL, NULL);
- } else {
- if (ugd->ug_ListPlay.ug_pPlayFilePath != NULL) {
- ug_debug();
- if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) != 0) {
- //mf_ug_list_play_destory_playing_file(ugd);
- mf_ug_list_play_reset_playing_file(ugd);
- mf_ug_list_disable_play_itc(ugd, true);
- //mf_ug_list_play_update_item_icon(ugd);
- __mf_ug_list_play_play_new_file(itemData, true);
- } else {
- ug_debug();
- /*/ playing the same file */
- __mf_ug_list_play_control_cb(itemData);
- }
- } else {
- ug_debug();
- mf_ug_list_disable_play_itc(ugd, false);
- __mf_ug_list_play_play_new_file(itemData, true);
- }
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ __mf_ug_list_play_unrealize(ugd);
+}
+void mf_ug_list_play_play_music_item(ugListItemData *data)
+{
+ UG_TRACE_BEGIN;
+ ugListItemData *itemData = data;
+ ug_mf_retm_if(itemData == NULL, "itemData is NULL");
+ ugData *ugd = itemData->ug_pData;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ ug_debug("ugd->ug_ListPlay.ug_iPlayState is [%d]", ugd->ug_ListPlay.ug_iPlayState);
+
+ if (ugd->ug_ListPlay.ug_pPlayFilePath != NULL) {
+ ug_debug();
+ if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, itemData->ug_pItemName->str) != 0) {
+ /*mf_ug_list_play_destory_playing_file(ugd);*/
+ mf_ug_list_play_reset_playing_file(ugd);
+ mf_ug_list_disable_play_itc(ugd, true);
+ if (!__mf_ug_list_play_play_new_file(itemData)) {
+ mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED,
+ NULL, NULL, NULL, NULL, NULL);
+ }
+ } else {
+ /*/ playing the same file */
+ __mf_ug_list_play_control_cb(itemData);
+ }
+ } else {
+ mf_ug_list_disable_play_itc(ugd, false);
+ if (!__mf_ug_list_play_play_new_file(itemData)) {
+ mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED,
+ NULL, NULL, NULL, NULL, NULL);
+ }
+ }
+
+ UG_TRACE_END;
}
/******************************
@@ -1681,105 +1443,178 @@ void mf_ug_list_play_play_music_item(ugListItemData *data)
** Modification : Created function
**
******************************/
-void mf_ug_list_play_reset_playing_file(void *data)
+void mf_ug_list_play_destory_playing_file(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- __mf_ug_list_play_unrealize(ugd);
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ __mf_ug_list_play_pipe_destory();
+ __mf_ug_list_play_stop(ugd);
+ __mf_ug_list_play_unrealize(ugd);
+ __mf_ug_list_play_destory(ugd);
+ UG_TRACE_END;
+}
+static sound_type_e mf_ug_player_get_sound_type()
+{
+ UG_TRACE_BEGIN;
+ sound_type_e type = SOUND_TYPE_SYSTEM;
+ int ret = 0;
+ ret = sound_manager_get_current_sound_type(&type);
+ ug_debug("ret is [%d]", ret);
+ UG_TRACE_END;
+ return type;
}
-void mf_ug_list_play_destory_playing_file(void *data)
+
+static int mf_ug_player_get_volume(sound_type_e type)
+{
+ UG_TRACE_BEGIN;
+ int volume = 0;
+ int ret = 0;
+ ret = sound_manager_get_volume(SOUND_TYPE_MEDIA, &volume);
+ /*ret = sound_manager_get_volume(type, &volume);*/
+ ug_debug("ret is [%d]", ret);
+ UG_TRACE_END;
+ return volume;
+
+}
+
+static void mf_ug_player_vol_type_set(mf_player_volume_type type)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- __mf_ug_list_play_stop(ugd);
- __mf_ug_list_play_unrealize(ugd);
- __mf_ug_list_play_destory(ugd);
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ sound_type_e current_type;
+ int volume = 0;
+ current_type = mf_ug_player_get_sound_type();
+ volume = mf_ug_player_get_volume(current_type);
+
+ /*Fix the P130902-01617, refer to the android galaxy S4.*/
+ if (g_init_volume == -1) {
+ g_init_current_type = current_type;
+ g_init_volume = volume;
+ }
+
+ ug_debug("current type is [%d] volume is [%d] type is [%d]", current_type, volume, type);
+
+ switch (type) {
+ case MF_VOLUME_ALERT:
+ /*sound_manager_set_volume_key_type(VOLUME_KEY_TYPE_ALARM);*/
+ break;
+ case MF_VOLUME_NOTIFICATION:
+ /*sound_manager_set_volume_key_type(VOLUME_KEY_TYPE_NOTIFICATION);*/
+ break;
+ case MF_VOLUME_RINGTONE:
+ /*sound_manager_set_volume_key_type(VOLUME_KEY_TYPE_RINGTONE);*/
+ break;
+ default:
+ /*sound_manager_set_volume_key_type(type);*/
+ break;
+ }
+ UG_TRACE_END;
}
+void mf_ug_player_vol_reset_default_value(void *data)
+{
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+
+ if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_none)
+ return;
+
+ sound_type_e current_type;
+ current_type = mf_ug_player_get_sound_type();
+ if (g_init_current_type != current_type) {
+ mf_ug_player_vol_type_set(g_init_current_type);
+ }
+}
-static sound_type_e mf_ug_player_get_sound_type()
+void mf_ug_player_vol_set(void *data, const char *path)
{
- UG_TRACE_BEGIN;
- sound_type_e type = SOUND_TYPE_SYSTEM;
- int ret = 0;
- ret = sound_manager_get_current_sound_type(&type);
- ug_error("ret is [%d]", ret);
- UG_TRACE_END;
- return type;
+ ug_mf_retm_if(path == NULL, "path is NULL");
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+
+ if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_none)
+ return;
+
+ if (g_strcmp0(path, UG_SETTING_MSG_ALERTS_PATH) == 0) {
+ mf_ug_player_vol_type_set(MF_VOLUME_NOTIFICATION);
+ } else if (g_strcmp0(path, UG_SETTING_RINGTONE_PATH) == 0) {
+ mf_ug_player_vol_type_set(MF_VOLUME_RINGTONE);
+ } else if (g_strcmp0(path, UG_SETTING_ALERTS_PATH) == 0 || g_strcmp0(path, UG_SETTING_SMART_ALRAMS) == 0) {
+ mf_ug_player_vol_type_set(MF_VOLUME_ALERT);
+ } else {
+ mf_ug_player_vol_type_set(MF_VOLUME_NONE);
+ }
}
-static int mf_ug_player_get_volume(sound_type_e type)
+bool mf_ug_is_default_ringtone(void *data, const char *path)
{
- UG_TRACE_BEGIN;
- int volume = 0;
- int ret = 0;
- ret = sound_manager_get_volume(SOUND_TYPE_MEDIA, &volume);
- //ret = sound_manager_get_volume(type, &volume);
- ug_error("ret is [%d]", ret);
- UG_TRACE_END;
- return volume;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+ if (ugd->ug_UiGadget.default_ringtone) {
+ if (g_strcmp0(MF_UG_LABEL_DEFAULT_RINGTONE, path) == 0)
+ return true;
+ }
+
+ return false;
}
-static void mf_ug_player_set_volume(sound_type_e type, int volume)
+bool mf_ug_is_silent(void *data, const char *path)
{
- UG_TRACE_BEGIN;
- int ret = 0;
- ret = sound_manager_set_volume(type, volume);
- ug_error("ret is [%d]", ret);
- UG_TRACE_END;
+
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+ if (ugd->ug_UiGadget.default_ringtone) {
+ if (g_strcmp0(MF_UG_LABEL_SILENT, path) == 0)
+ return true;
+ }
+
+ return false;
}
+void mf_ug_cb_earjack_changed_cb(runtime_info_key_e key, void *data)
+{
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ int earjack = 0;
+ int retcode = -1;
+
+ retcode = runtime_info_get_value_int(RUNTIME_INFO_KEY_AUDIO_JACK_STATUS, &earjack);
+ if (RUNTIME_INFO_ERROR_NONE != retcode) {
+ ug_error("runtime_info_get_init failed.");
+ earjack = RUNTIME_INFO_AUDIO_JACK_STATUS_UNCONNECTED;
+ }
+ if (earjack > RUNTIME_INFO_AUDIO_JACK_STATUS_UNCONNECTED) {
+ if (ugd->ug_ListPlay.ug_pPlayFilePath && ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING) {
+ __mf_ug_list_play_pauset(ugd);
+ mf_ug_list_disable_play_itc(ugd, false);
+
+ }
+ }
+}
-static void mf_ug_player_vol_type_set(mf_player_volume_type type)
+int mf_ug_list_play_earjack_monitor(void *data)
{
- UG_TRACE_BEGIN;
- sound_type_e current_type;
- int volume = 0;
- current_type = mf_ug_player_get_sound_type();
- volume = mf_ug_player_get_volume(current_type);
- ug_error("current type is [%d] volume is [%d] type is [%d]", current_type, volume, type);
- sound_manager_set_volume_key_type(VOLUME_KEY_TYPE_MEDIA);
- mf_ug_player_set_volume(SOUND_TYPE_MEDIA, volume);
- UG_TRACE_END;
- return;
- switch (type) {
- case MF_VOLUME_ALERT:
- sound_manager_set_volume_key_type(VOLUME_KEY_TYPE_ALARM);
- mf_ug_player_set_volume(SOUND_TYPE_ALARM, volume);
- break;
- case MF_VOLUME_NOTIFICATION:
- sound_manager_set_volume_key_type(VOLUME_KEY_TYPE_NOTIFICATION);
- mf_ug_player_set_volume(SOUND_TYPE_NOTIFICATION, volume);
- break;
- case MF_VOLUME_RINGTONE:
- sound_manager_set_volume_key_type(VOLUME_KEY_TYPE_RINGTONE);
- mf_ug_player_set_volume(SOUND_TYPE_RINGTONE, volume);
- break;
- default:
- sound_manager_set_volume_key_type(VOLUME_KEY_TYPE_MEDIA);
- mf_ug_player_set_volume(SOUND_TYPE_MEDIA, volume);
- break;
- }
- UG_TRACE_END;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugd is NULL");
+
+ return runtime_info_set_changed_cb(RUNTIME_INFO_KEY_AUDIO_JACK_STATUS, mf_ug_cb_earjack_changed_cb, ugd);
}
-void mf_ug_player_vol_set(const char *path)
+void mf_ug_destory_earjack_monitor(void)
{
- ug_mf_retm_if(path == NULL, "path is NULL");
- if (g_strcmp0(path, UG_SETTING_MSG_ALERTS_PATH) == 0) {
- mf_ug_player_vol_type_set(MF_VOLUME_NOTIFICATION);
- } else if (g_strcmp0(path, UG_SETTING_RINGTONE_PATH) == 0) {
- mf_ug_player_vol_type_set(MF_VOLUME_RINGTONE);
- } else if (g_strcmp0(path, UG_SETTING_ALERTS_PATH) == 0) {
- mf_ug_player_vol_type_set(MF_VOLUME_ALERT);
- } else {
- mf_ug_player_vol_type_set(MF_VOLUME_NONE);
- }
+ UG_TRACE_BEGIN;
+ int retcode = -1;
+
+ retcode = runtime_info_unset_changed_cb(RUNTIME_INFO_KEY_AUDIO_JACK_STATUS);
+ if (retcode != RUNTIME_INFO_ERROR_NONE) {
+ ug_error("runtime_info_unset failed.");
+ }
+ UG_TRACE_END;
}
diff --git a/src/common/mf-ug-music.c b/src/common/mf-ug-music.c
new file mode 100644
index 0000000..563fb3c
--- /dev/null
+++ b/src/common/mf-ug-music.c
@@ -0,0 +1,316 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+
+#include <ui-gadget.h>
+#include <Ecore_X.h>
+#include <app.h>
+
+#include "mf-ug-main.h"
+#include "mf-ug-util.h"
+#include "mf-ug-db-handle.h"
+#include "mf-ug-winset.h"
+#include "mf-ug-list-play.h"
+#include "mf-ug-fm-svc-wrapper.h"
+#include <unistd.h>
+#include "mf-ug-resource.h"
+#include "mf-ug-cb.h"
+#include "mf-ug-file-util.h"
+
+static ui_gadget_h music_ug = NULL;
+
+Eina_Bool mf_ug_is_music_ug_run()
+{
+ UG_TRACE_BEGIN;
+ if (music_ug) {
+ return EINA_TRUE;
+ }
+ return EINA_FALSE;
+}
+void mf_ug_destory_music_ug()
+{
+ UG_TRACE_BEGIN;
+ if (music_ug) {
+ ug_destroy(music_ug);
+ music_ug = NULL;
+ }
+}
+
+void __mf_ug_music_request_send(void *data, const char *path)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugData is NULL");
+ ug_mf_retm_if(path == NULL, "path is NULL");
+ ug_mf_retm_if(ugd->ug == NULL, "ugd->ugis NULL");/*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/
+
+ SECURE_ERROR("result is [%s]", path);
+ int ret = 0;
+ app_control_h app_control = NULL;
+ ret = app_control_create(&app_control);
+ if (ret == APP_CONTROL_ERROR_NONE) {
+
+ int count = 1;
+ char **array = NULL;
+
+ array = calloc(count, sizeof(char *));
+ if (array) {
+ array[0] = g_strdup(path);
+ app_control_add_extra_data_array(app_control, APP_CONTROL_DATA_SELECTED, (const char **)array, count);
+ app_control_add_extra_data_array(app_control, "path", (const char **)array, count);
+ UG_SAFE_FREE_CHAR(array[0]);
+ UG_SAFE_FREE_CHAR(array);
+ }
+ app_control_add_extra_data(app_control, "result", path);
+ app_control_add_extra_data(app_control, APP_CONTROL_DATA_SELECTED, path);
+ ug_send_result_full(ugd->ug, app_control, APP_CONTROL_RESULT_SUCCEEDED);
+ app_control_destroy(app_control);
+ ug_destroy_me(ugd->ug);
+ ugd->ug = NULL;
+ }
+
+}
+
+
+void __mf_ug_service_reply_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *user_data)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)user_data;
+ ug_mf_retm_if(ugd == NULL, "ugData is NULL");
+ mf_ug_player_vol_set(ugd, ugd->ug_Status.ug_pEntryPath);
+ switch (result) {
+ case APP_CONTROL_RESULT_SUCCEEDED:
+ break;
+ case APP_CONTROL_RESULT_FAILED:
+ break;
+ case APP_CONTROL_RESULT_CANCELED:
+ break;
+ default:
+ break;
+ }
+ char *music_path = NULL;
+ app_control_get_extra_data(reply, "uri", &music_path);
+ /*__mf_ug_music_request_send(user_data, music_path);*/
+
+
+ if (music_path) {
+ int location = mf_ug_fm_svc_wapper_get_location(music_path);
+ int ret = MFD_ERROR_NONE;
+ if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) {
+ ret = mf_ug_db_handle_add_ringtone(music_path, NULL, location);
+ } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) {
+ ret = mf_ug_db_handle_add_alert(music_path, NULL, location);
+ }
+ Evas_Object *rbtn = elm_object_item_part_content_get(ugd->ug_MainWindow.ug_pNaviItem, TITLE_RIGHT_BTN);
+ if (rbtn) {
+ elm_object_disabled_set(rbtn, EINA_FALSE);
+ }
+ if (ret == MFD_ERROR_NONE) {/*if there isn't the record, we will add the music.*/
+ Elm_Object_Item *default_item = mf_ug_genlist_default_item_get();
+ if (default_item) {
+ mf_ug_genlist_first_item_insert(ugd, music_path, default_item);
+ } else {
+ mf_ug_genlist_first_item_append(ugd, music_path);
+ }
+ mf_ug_navi_bar_set_ctrl_item_disable(ugd);
+ } else if (ret == MFD_ERROR_FILE_EXSITED) {/*To fix P131209-06058 wangyan,if there is this record,check this record and top it*/
+ /*check this record*/
+ mf_ug_genlist_item_bringin_top(ugd, music_path);
+ mf_ug_navi_bar_set_ctrl_item_disable(ugd);
+ }
+ }
+}
+
+static void __mf_ug_layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv)
+{
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(priv == NULL, "priv is NULL");
+
+ Evas_Object *base = NULL;
+
+ base = ug_get_layout(ug);
+ if (!base) {
+ ug_destroy(ug);
+ return;
+ }
+
+ switch (mode) {
+ case UG_MODE_FULLVIEW:
+ evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(base);
+ break;
+ default:
+ break;
+ }
+}
+
+static void __mf_ug_destory_cb(ui_gadget_h ug, void *priv)
+{
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(priv == NULL, "priv is NULL");
+
+ ug_destroy(ug);
+
+ UG_TRACE_END;
+}
+
+static void __mf_ug_music_recommendation_ringtone_set(void *data, char *path, char *time)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ ug_mf_retm_if(ugd->ug == NULL, "ugd->ug is NULL"); /*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/
+
+ ug_error(" file is [%s] time is [%s]", path, time);
+ char *result = NULL;
+
+ app_control_h service = NULL;
+ result = g_strdup(path); /*mf_ug_util_get_send_result(ugd);*/
+
+ SECURE_ERROR("result is [%s]", result);
+
+ if (mf_ug_is_default_ringtone(ugd, result)) {
+ UG_SAFE_FREE_CHAR(result);
+ result = g_strdup(DEFAULT_RINGTONE_MARK);
+ if (result) {
+ SECURE_ERROR("result is [%s]", result);
+ int ret = 0;
+ ret = app_control_create(&service);
+ if (ret == APP_CONTROL_ERROR_NONE) {
+ app_control_add_extra_data(service, "result", result);
+ app_control_add_extra_data(service, "position", time);
+ app_control_add_extra_data(service, APP_CONTROL_DATA_SELECTED, result);
+ ug_send_result_full(ugd->ug, service, APP_CONTROL_RESULT_SUCCEEDED);
+ app_control_destroy(service);
+ }
+ }
+ } else {
+ int ret = 0;
+ ret = app_control_create(&service);
+ if (ret == APP_CONTROL_ERROR_NONE) {
+
+ int count = 0;
+ char **array = mf_ug_util_get_send_result_array(ugd, &count);
+ int i = 0;
+ if (array) {
+ app_control_add_extra_data_array(service, APP_CONTROL_DATA_SELECTED, (const char **)array, count);
+ app_control_add_extra_data_array(service, "path", (const char **)array, count);
+ for (i = 0; i < count; i++) {
+ UG_SAFE_FREE_CHAR(array[i]);
+ }
+ UG_SAFE_FREE_CHAR(array);
+ }
+ app_control_add_extra_data(service, "result", result);
+ app_control_add_extra_data(service, "position", time);
+ app_control_add_extra_data(service, APP_CONTROL_DATA_SELECTED, result);
+ ug_send_result_full(ugd->ug, service, APP_CONTROL_RESULT_SUCCEEDED);
+ app_control_destroy(service);
+ }
+
+ }
+ ug_destroy_me(ugd->ug);
+ ugd->ug = NULL;
+
+}
+
+void __mf_ug_reply_cb(ui_gadget_h ug, app_control_h result, void *priv)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)priv;
+ ug_mf_retm_if(ugd == NULL, "ugData is NULL");
+
+ char *music_path = NULL;
+ char *position = NULL;
+ app_control_get_extra_data(result, "uri", &music_path);
+ app_control_get_extra_data(result, "position", &position);
+ /*__mf_ug_music_request_send(user_data, music_path);*/
+ mf_ug_player_vol_set(ugd, ugd->ug_Status.ug_pEntryPath);
+
+ if (music_path && !mf_file_exists(music_path)) {
+ mf_ug_destory_music_ug();
+ char *message = MF_UG_LABEL_ADD_FAILED;
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TITLE_TEXT_BTN, MF_UG_POP_TITLE_OPERATION_ERROR, message, NULL, NULL, NULL, __mf_ug_popup_show_vk, ugd);
+ } else if (music_path) {
+ int location = mf_ug_fm_svc_wapper_get_location(music_path);
+ /*int ret = MFD_ERROR_NONE;*/
+ if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) {
+ mf_ug_db_handle_add_ringtone(music_path, NULL, location);
+ } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) {
+ mf_ug_db_handle_add_alert(music_path, NULL, location);
+ }
+ mf_ug_destory_music_ug();
+ __mf_ug_music_recommendation_ringtone_set(ugd, music_path, position);
+ return;
+ }
+ /*mf_ug_destory_music_ug();*/
+}
+
+void mf_ug_music_select(void *data)
+{
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+ ui_gadget_h ug = NULL;
+ struct ug_cbs cbs = { 0, };
+
+ app_control_h app_control;
+ int ret = 0;
+ ret = app_control_create(&app_control);
+ ug_mf_retm_if(ret != APP_CONTROL_ERROR_NONE, "app_control create failed");
+ cbs.layout_cb = __mf_ug_layout_cb;
+ cbs.result_cb = __mf_ug_reply_cb;
+ cbs.destroy_cb = __mf_ug_destory_cb;
+ cbs.priv = data;
+
+ ret = app_control_add_extra_data(app_control, "request_type", "SelectRingtone");
+ ret = app_control_add_extra_data(app_control, "select_uri", ugd->ug_Status.mark_mode);
+ if (ret != APP_CONTROL_ERROR_NONE) {
+ goto LAUNCH_END;
+ }
+
+ UG_INIT_EFL(ug_get_window(), UG_OPT_INDICATOR_ENABLE);
+
+ ug = ug_create(NULL, "music-player-efl", UG_MODE_FULLVIEW, app_control, &cbs);
+ if (ug != NULL)
+ music_ug = ug;
+LAUNCH_END:
+ if (app_control)
+ app_control_destroy(app_control);
+
+ UG_TRACE_END;
+}
+
+void mf_ug_music_launch_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugData is NULL");
+ /*To fix P131118-01579 by wangyan,the pause/play icon do not locate at the item whose radio icon is on. */
+ /*destory playfile when go to add music file option*/
+ if (0 != ugd->ug_ListPlay.ug_Player) {
+ mf_ug_list_disable_play_itc(ugd, true);
+ mf_ug_list_play_destory_playing_file(ugd);
+ ugd->ug_ListPlay.play_data = NULL;
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ }
+
+ UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pContextPopup);
+ mf_ug_music_select(ugd);
+}
+
diff --git a/src/common/mf-ug-search-internal.c b/src/common/mf-ug-search-internal.c
index 95e5c12..8975b9b 100644
--- a/src/common/mf-ug-search-internal.c
+++ b/src/common/mf-ug-search-internal.c
@@ -1,18 +1,23 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+
#include <glib.h>
#include <stdio.h>
@@ -27,8 +32,8 @@
#include "mf-ug-search-internal.h"
#include "mf-ug-fs-util.h"
-#define APPEND_SIZE 2 /* for null and slash */
-#define MF_ERR_BUF 256
+#define APPEND_SIZE 2 /* for null and slash */
+#define MF_ERR_BUF 256
#define NORMALIZE_OPTION G_NORMALIZE_NFD
@@ -46,84 +51,84 @@ int flagSearchMsg = 1;
pthread_mutex_t gLockSearchMsg;
pthread_cond_t gCondSearchMsg;
-static void __mf_ug_search_tx_wait();
+/*static void __mf_ug_search_tx_wait();*/
static void __mf_ug_search_result_publish_msg(mf_search_pipe_msg_type type, void *result, void *user_data);
inline static void __mf_ug_search_cmd_lock(ms_handle_t *handle)
{
- if (handle && handle->cmd_lock) {
- g_mutex_lock(handle->cmd_lock);
- }
- return;
+ if (handle) {
+ g_mutex_lock(&handle->cmd_lock);
+ }
+ return;
}
inline static void __mf_ug_search_cmd_unlock(ms_handle_t *handle)
{
- if (handle && handle->cmd_lock) {
- g_mutex_unlock(handle->cmd_lock);
- }
- return;
+ if (handle) {
+ g_mutex_unlock(&handle->cmd_lock);
+ }
+ return;
}
inline static void __mf_ug_search_thread_lock(ms_handle_t *handle)
{
- if (handle && handle->thread_mutex) {
- g_mutex_lock(handle->thread_mutex);
- }
- return;
+ if (handle) {
+ g_mutex_lock(&handle->thread_mutex);
+ }
+ return;
}
inline static void __mf_ug_search_thread_unlock(ms_handle_t *handle)
{
- if (handle && handle->thread_mutex) {
- g_mutex_unlock(handle->thread_mutex);
- }
- return;
+ if (handle) {
+ g_mutex_unlock(&handle->thread_mutex);
+ }
+ return;
}
inline static void __mf_ug_search_args_free(ms_args_t *args)
{
- if (args) {
- if (args->root_path) {
- g_list_foreach(args->root_path, (GFunc) g_free, NULL);
- g_list_free(args->root_path);
- args->root_path = NULL;
- }
-
- if (args->needle)
- g_free(args->needle);
-
- g_free(args);
- }
- return;
+ if (args) {
+ if (args->root_path) {
+ g_list_foreach(args->root_path, (GFunc) g_free, NULL);
+ g_list_free(args->root_path);
+ args->root_path = NULL;
+ }
+
+ if (args->needle)
+ g_free(args->needle);
+
+ g_free(args);
+ }
+ return;
}
inline static void __mf_ug_search_result_free(mf_search_result_t *result)
{
- if (result) {
- if (result->current_dir) {
- g_free(result->current_dir);
- result->current_dir = NULL;
- }
- if (result->dir_list) {
- g_list_foreach(result->dir_list, (GFunc) g_free, NULL);
- g_list_free(result->dir_list);
- result->dir_list = NULL;
- }
- if (result->file_list) {
- g_list_foreach(result->file_list, (GFunc) g_free, NULL);
- g_list_free(result->file_list);
- result->file_list = NULL;
- }
- g_free(result);
- }
- return;
+ if (result) {
+ if (result->current_dir) {
+ g_free(result->current_dir);
+ result->current_dir = NULL;
+ }
+ if (result->dir_list) {
+ g_list_foreach(result->dir_list, (GFunc) g_free, NULL);
+ g_list_free(result->dir_list);
+ result->dir_list = NULL;
+ }
+ if (result->file_list) {
+ g_list_foreach(result->file_list, (GFunc) g_free, NULL);
+ g_list_free(result->file_list);
+ result->file_list = NULL;
+ }
+ g_free(result);
+ }
+ return;
}
#ifdef CHECK_RESTRICTED_PATH
gboolean __mf_ug_search_check_licet_path(const char *path)
{
- return (gboolean) (strstr(path, ROOT_UMS) || strstr(path, ROOT_MMC));
+ return (gboolean) (strstr(path, ROOT_UMS) || strstr(path, ROOT_MMC));
}
#endif /*CHECK_RESTRICTED_PATH*/
@@ -131,752 +136,944 @@ gboolean __mf_ug_search_check_licet_path(const char *path)
/*This function is for testing and should be revised for performance before applying*/
static inline gboolean __mf_ug_search_has_nonspacing_mark(const char *nstr)
{
- if (nstr) {
- const char *p_str = nstr;
- while (p_str && *p_str) {
- gunichar uc;
- uc = g_utf8_get_char(p_str);
- if (g_unichar_type(uc) == G_UNICODE_NON_SPACING_MARK) {
- return TRUE;
- } else {
- p_str = g_utf8_next_char(p_str);
- }
- }
- }
- return FALSE;
+ if (nstr) {
+ const char *p_str = nstr;
+ while (p_str && *p_str) {
+ gunichar uc;
+ uc = g_utf8_get_char(p_str);
+ if (g_unichar_type(uc) == G_UNICODE_NON_SPACING_MARK) {
+ return TRUE;
+ } else {
+ p_str = g_utf8_next_char(p_str);
+ }
+ }
+ }
+ return FALSE;
}
static gboolean __mf_ug_search_NFD_ext(const char *str, const char *needle)
{
- int s_len = 0;
- int n_len = 0;
- if (!str) {
- return FALSE;
- }
- s_len = strlen(str);
-
- if (!needle) {
- return FALSE;
- } else {
- n_len = strlen(needle);
- if (n_len == 0) {
- return FALSE;
- }
- }
- if (s_len < n_len)
- return FALSE;
- char *pdot = strrchr(str, '.');
-
- if (!pdot) {
- return FALSE;
- } else if (pdot != str) {
- char *ext = NULL;;
- ext = g_strdup(pdot+1);
- if (g_strcmp0(ext, needle)== 0) {
- g_free(ext);
- ext = NULL;
- return TRUE;
- }
- else {
- g_free(ext);
- ext = NULL;
- return FALSE;
- }
- } else {
- return FALSE;
- }
+ int s_len = 0;
+ int n_len = 0;
+ if (!str) {
+ return FALSE;
+ }
+ s_len = strlen(str);
+
+ if (!needle) {
+ return FALSE;
+ } else {
+ n_len = strlen(needle);
+ if (n_len == 0) {
+ return FALSE;
+ }
+ }
+ if (s_len < n_len)
+ return FALSE;
+ char *pdot = strrchr(str, '.');
+
+ if (!pdot) {
+ return FALSE;
+ } else if (pdot != str) {
+ char *ext = NULL;;
+ ext = g_strdup(pdot+1);
+ if (g_strcmp0(ext, needle) == 0) {
+ g_free(ext);
+ ext = NULL;
+ return TRUE;
+ } else {
+ g_free(ext);
+ ext = NULL;
+ return FALSE;
+ }
+ } else {
+ return FALSE;
+ }
+
+}
+
+static gboolean __mf_ug_search_NFD_multi_ext(const char *str, const char *needle)
+{
+ int s_len = 0;
+ int n_len = 0;
+ int find = 0;
+ if (!str) {
+ return FALSE;
+ }
+ if (!needle) {
+ return FALSE;
+ } else {
+
+ char *seps = ";";
+ char *temp_ext = malloc(strlen(needle) + 1);
+ gchar **result = NULL;
+ gchar **params = NULL;
+
+ if (temp_ext == NULL) {
+ return FALSE ;
+ }
+ memset(temp_ext, 0, strlen(needle) + 1);
+ strncpy(temp_ext, needle, strlen(needle));
+ result = g_strsplit(temp_ext, seps, 0);
+ if (result == NULL) {
+ if (temp_ext != NULL) {
+ free(temp_ext);
+ temp_ext = NULL;
+ }
+ return FALSE;
+ }
+
+ char *pdot = strrchr(str, '.');
+ if (!pdot) {
+ if (temp_ext != NULL) {
+ free(temp_ext);
+ temp_ext = NULL;
+ }
+ return FALSE;
+ } else if (pdot != str) {
+ char *ext = NULL;
+ ext = g_strdup(pdot+1);
+
+ s_len = strlen(ext);
+
+ for (params = result; *params; params++) {
+ n_len = strlen(*params);
+
+ if (n_len == 0) {
+ continue;
+ }
+ if (s_len != n_len) {
+ continue;
+ }
+ if (strcasecmp(ext, *params) == 0) {
+ find = 1;
+ break;
+ }
+ }
+
+ g_free(ext);
+ ext = NULL;
+
+ g_strfreev(result);
+ result = NULL;
+ }
+ if (temp_ext != NULL) {
+ free(temp_ext);
+ temp_ext = NULL;
+ }
+ if (find) {
+ return TRUE;
+ } else {
+ return FALSE;
+ }
+ }
}
+
+static gboolean __mf_ug_search_NFD_is_multi_ext(const char *needle)
+{
+ if (!needle) {
+ return FALSE;
+ } else {
+
+ char *seps = ";";
+ char *temp_ext = malloc(strlen(needle) + 1);
+ gchar **result = NULL;
+
+ if (temp_ext == NULL) {
+ return FALSE ;
+ }
+ memset(temp_ext, 0, strlen(needle) + 1);
+ strncpy(temp_ext, needle, strlen(needle));
+ result = g_strsplit(temp_ext, seps, 0);
+ if (result == NULL) {
+ if (temp_ext != NULL) {
+ free(temp_ext);
+ temp_ext = NULL;
+ }
+ return FALSE;
+ }
+ int count = g_strv_length(result);
+ if (count > 0) {
+ if (temp_ext != NULL) {
+ free(temp_ext);
+ temp_ext = NULL;
+ }
+ g_strfreev(result);
+ return TRUE;
+ } else {
+ if (temp_ext != NULL) {
+ free(temp_ext);
+ temp_ext = NULL;
+ }
+ g_strfreev(result);
+ return FALSE;
+ }
+ }
+ return FALSE;
+
+}
+
static gboolean __mf_ug_search_NFD_strstr(const char *str, const char *needle)
{
- int s_len = 0;
- int n_len = 0;
-
- if (!str) {
- return FALSE;
- }
- s_len = strlen(str);
-
- if (!needle) {
- return FALSE;
- } else {
- n_len = strlen(needle);
- if (n_len == 0) {
- return FALSE;
- }
- }
-
- if (s_len < n_len)
- return FALSE;
-
- if (__mf_ug_search_has_nonspacing_mark(str)) {
- const char *p_str = str;
- const char *end = p_str + s_len - n_len;
-
- while (p_str && p_str <= end && *p_str) {
- const char *s = p_str;
- const char *n = needle;
- while (n && *n) {
- if (s && *s) {
- gunichar sc, nc;
- sc = g_utf8_get_char(s);
- nc = g_utf8_get_char(n);
- if (g_unichar_type(sc) == G_UNICODE_NON_SPACING_MARK) {
- if (g_unichar_type(nc) == G_UNICODE_NON_SPACING_MARK) {
- if (sc != nc) {
- goto next;
- } else {
- s = g_utf8_next_char(s);
- n = g_utf8_next_char(n);
- }
- } else {
- s = g_utf8_next_char(s);
- }
- } else if (sc != nc) {
- goto next;
- } else {
- s = g_utf8_next_char(s);
- n = g_utf8_next_char(n);
- }
- } else {
- return FALSE;
- }
- }
-
- return TRUE;
+ int s_len = 0;
+ int n_len = 0;
+
+ if (!str) {
+ return FALSE;
+ }
+ s_len = strlen(str);
+
+ if (!needle) {
+ return FALSE;
+ } else {
+ n_len = strlen(needle);
+ if (n_len == 0) {
+ return FALSE;
+ }
+ }
+
+ if (s_len < n_len)
+ return FALSE;
+
+ if (__mf_ug_search_has_nonspacing_mark(str)) {
+ const char *p_str = str;
+ const char *end = p_str + s_len - n_len;
+
+ while (p_str && p_str <= end && *p_str) {
+ const char *s = p_str;
+ const char *n = needle;
+ while (n && *n) {
+ if (s && *s) {
+ gunichar sc, nc;
+ sc = g_utf8_get_char(s);
+ nc = g_utf8_get_char(n);
+ if (g_unichar_type(sc) == G_UNICODE_NON_SPACING_MARK) {
+ if (g_unichar_type(nc) == G_UNICODE_NON_SPACING_MARK) {
+ if (sc != nc) {
+ goto next;
+ } else {
+ s = g_utf8_next_char(s);
+ n = g_utf8_next_char(n);
+ }
+ } else {
+ s = g_utf8_next_char(s);
+ }
+ } else if (sc != nc) {
+ goto next;
+ } else {
+ s = g_utf8_next_char(s);
+ n = g_utf8_next_char(n);
+ }
+ } else {
+ return FALSE;
+ }
+ }
+
+ return TRUE;
next:
- p_str = g_utf8_next_char(p_str);
- }
- } else {
- return (gboolean) (!(!strstr(str, needle)));
- }
- return FALSE;
+ p_str = g_utf8_next_char(p_str);
+ }
+ } else {
+ return (gboolean) (!(!strstr(str, needle)));
+ }
+ return FALSE;
}
-static GList *__mf_ug_search_do_find(const char *root, const char *needle, mf_search_option option, ms_handle_t *handle)
+static GList *__mf_ug_search_do_find(const char *root,
+ const char *needle,
+ mf_search_option option,
+ ms_handle_t *handle)
{
- DIR *directory = NULL;
- GList *candidate = NULL;
-
- char *up_needle = NULL;
- char *up_name = NULL;
-
- if (!handle) {
- ms_error("handle is NULL");
- return NULL;
- }
-
- if (!handle->result) {
- ms_error("handle->result is NULL");
- return NULL;
- }
-
- if (!root || !needle) {
- ms_error("invaild args");
- return NULL;
- }
-
- if (!g_file_test(root, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) {
- ms_error("invaild root_path : %s", root);
- return NULL;
- }
-
- directory = opendir(root);
- if (directory) {
- mf_search_result_t *result = NULL;
- struct dirent *entry = NULL;
-
- result = handle->result;
- __mf_ug_search_thread_lock(handle);
- if (result->current_dir) {
- g_free(result->current_dir);
- }
- result->current_dir = g_strdup(root);
- __mf_ug_search_thread_unlock(handle);
- while ((entry = readdir(directory)) != NULL) {
- if (!(option & MF_SEARCH_OPT_HIDDEN) && (0 == strncmp(entry->d_name, ".", 1))) {
- ms_debug("[%s] is hidden file. Skip it", entry->d_name);
- continue;
- }
-
- if (handle->is_stop == TRUE) {
- ms_debug("break from do find");
- break;
- }
-
- if (entry->d_type & DT_REG) {
- if (option & MF_SEARCH_OPT_FILE) {
- __mf_ug_search_thread_lock(handle);
- result->total_count++;
- __mf_ug_search_thread_unlock(handle);
-
- up_name = g_utf8_strup(entry->d_name, strlen(entry->d_name));
- up_needle = g_utf8_strup(needle, strlen(needle));
-
- /*Todo:*/
- /* should we check the return value for further use? */
- gchar *nor_str = g_utf8_normalize(up_name, -1, NORMALIZE_OPTION);
- if (__mf_ug_search_NFD_strstr(nor_str, up_needle))
- {
- gchar *path = NULL;
- gssize len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash*/
- path = g_malloc(sizeof(gchar) * len);
- if (path) {
- g_snprintf(path, len, "%s/%s", root, entry->d_name);
-
- __mf_ug_search_thread_lock(handle);
- result->file_list = g_list_append(result->file_list, (gpointer) path);
- result->is_end = FALSE;
- __mf_ug_search_thread_unlock(handle);
-
- __mf_ug_search_tx_wait();
- __mf_ug_search_result_publish_msg(MF_SEARCH_PIPE_MSG_RESULT_REPORT, result,
- handle->args->user_data);
- }
- /*1 TODO: how can i handle else case?*/
- }
- g_free(nor_str);
- free(up_needle);
- up_needle = NULL;
- free(up_name);
- up_name = NULL;
- }else if (option & MF_SEARCH_OPT_EXT) {
- __mf_ug_search_thread_lock(handle);
- result->total_count++;
- __mf_ug_search_thread_unlock(handle);
-
- up_name = g_utf8_strup(entry->d_name, strlen(entry->d_name));
- up_needle = g_utf8_strup(needle, strlen(needle));
-
- /*Todo:*/
- /* should we check the return value for further use? */
- gchar *nor_str = g_utf8_normalize(up_name, -1, NORMALIZE_OPTION);
- if (__mf_ug_search_NFD_ext(nor_str, up_needle))
- {
- gchar *path = NULL;
- gssize len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash*/
- path = g_malloc(sizeof(gchar) * len);
- if (path) {
- g_snprintf(path, len, "%s/%s", root, entry->d_name);
-
- __mf_ug_search_thread_lock(handle);
- result->file_list = g_list_append(result->file_list, (gpointer) path);
- result->is_end = FALSE;
- __mf_ug_search_thread_unlock(handle);
-
- __mf_ug_search_tx_wait();
- __mf_ug_search_result_publish_msg(MF_SEARCH_PIPE_MSG_RESULT_REPORT, result,
- handle->args->user_data);
- }
- /*1 TODO: how can i handle else case?*/
- }
- g_free(nor_str);
- free(up_needle);
- up_needle = NULL;
- free(up_name);
- up_name = NULL;
-
- }
- } else if (entry->d_type & DT_DIR) {
- gchar *path = NULL;
- gssize len = 0;
-
- len = strlen(entry->d_name);
- /*skip current and upper directory*/
- if (0 == strncmp(entry->d_name, ".", strlen(".")) || 0 == strncmp(entry->d_name, "..", strlen(".."))) {
- continue;
- }
- /* we are not going to search /opt/media/SLP_Debug folder */
- if ((strlen(result->current_dir) == strlen(PHONE_FOLDER)) && (strcmp(result->current_dir, PHONE_FOLDER) == 0)
- && (strlen(entry->d_name) == strlen(DEBUG_FOLDER)) && (strcmp(entry->d_name, DEBUG_FOLDER) == 0)) {
- ms_debug("[%s] is hidden folder. Skip it", entry->d_name);
- continue;
- }
-
- len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash */
- path = g_malloc(sizeof(gchar) * len);
- if (path) {
- g_snprintf(path, len, "%s/%s", root, entry->d_name);
- candidate = g_list_append(candidate, (gpointer) path);
- }
- /*1 TODO: how can i handle else case?*/
- if (option & MF_SEARCH_OPT_DIR) {
- __mf_ug_search_thread_lock(handle);
- result->total_count++;
- __mf_ug_search_thread_unlock(handle);
-
- up_name = g_utf8_strup(entry->d_name, strlen(entry->d_name));
- if (needle && strlen(needle)) {
- up_needle = g_utf8_strup(needle, strlen(needle));
- gchar *nor_str = g_utf8_normalize(up_name, -1, NORMALIZE_OPTION);
- if (__mf_ug_search_NFD_strstr(nor_str, up_needle))
- {
- __mf_ug_search_thread_lock(handle);
- result->dir_list = g_list_append(result->dir_list, (gpointer) g_strdup(path));
- result->is_end = FALSE;
- __mf_ug_search_thread_unlock(handle);
- __mf_ug_search_tx_wait();
- __mf_ug_search_result_publish_msg(MF_SEARCH_PIPE_MSG_RESULT_REPORT, result, handle->args->user_data);
- }
- g_free(nor_str);
- free(up_name);
- up_name = NULL;
-
- free(up_needle);
- up_needle = NULL;
- } else {
- free(up_name);
- up_name = NULL;
- }
- }
- }
- }
- closedir(directory);
- directory = NULL;
- }
-
- return candidate;
+ DIR *directory = NULL;
+ GList *candidate = NULL;
+
+ char *up_needle = NULL;
+ char *up_name = NULL;
+ gboolean multi_ext_flag = FALSE;
+ if (!handle) {
+ ms_error("handle is NULL");
+ return NULL;
+ }
+
+ if (!handle->result) {
+ ms_error("handle->result is NULL");
+ return NULL;
+ }
+
+ if (!root) {
+ ms_error("invaild args");
+ return NULL;
+ }
+
+ if (!needle && !handle->args->func) {
+ return NULL;
+ }
+
+ if (!g_file_test(root, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) {
+ ms_error("invaild root_path : %s", root);
+ return NULL;
+ }
+
+ directory = opendir(root);
+ if (directory) {
+ mf_search_result_t *result = NULL;
+ struct dirent *entry = NULL;
+
+ result = handle->result;
+ __mf_ug_search_thread_lock(handle);
+ if (result->current_dir) {
+ g_free(result->current_dir);
+ }
+ result->current_dir = g_strdup(root);
+ __mf_ug_search_thread_unlock(handle);
+ multi_ext_flag = __mf_ug_search_NFD_is_multi_ext(needle);
+ while ((entry = readdir(directory)) != NULL) {
+ if (!(option & MF_SEARCH_OPT_HIDDEN) && (0 == strncmp(entry->d_name, ".", 1))) {
+ SECURE_DEBUG("[%s] is hidden file. Skip it", entry->d_name);
+ continue;
+ }
+
+ if (handle->is_stop == TRUE) {
+ ms_debug("break from do find");
+ break;
+ }
+ if (entry->d_type & DT_REG) {
+ if (option & MF_SEARCH_OPT_FILE) {
+ __mf_ug_search_thread_lock(handle);
+ result->total_count++;
+ __mf_ug_search_thread_unlock(handle);
+ up_name = g_utf8_strup(entry->d_name, strlen(entry->d_name));
+ gchar *nor_str = g_utf8_normalize(up_name, -1, NORMALIZE_OPTION);
+
+ if (handle->args->func) {
+ gchar *path = NULL;
+ gssize len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash*/
+ path = g_malloc(sizeof(gchar)*len);
+ if (path) {
+ int category = handle->args->func(nor_str);
+ if (category == handle->args->category) {
+ g_snprintf(path, len, "%s/%s", root, entry->d_name);
+
+ __mf_ug_search_thread_lock(handle);
+ result->file_list = g_list_append(result->file_list, (gpointer) path);
+ result->is_end = FALSE;
+ __mf_ug_search_thread_unlock(handle);
+
+ }
+ /*1 TODO: how can i handle else case?*/
+ }
+ } else if (needle) {
+ up_needle = g_utf8_strup(needle, strlen(needle));
+
+ /*Todo:*/
+ /* should we check the return value for further use? */
+ if (up_needle && __mf_ug_search_NFD_strstr(nor_str, up_needle)) {
+ g_free(up_needle);
+ up_needle = NULL;
+ gchar *path = NULL;
+ gssize len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash*/
+ path = g_malloc(sizeof(gchar)*len);
+ if (path) {
+ g_snprintf(path, len, "%s/%s", root, entry->d_name);
+
+ __mf_ug_search_thread_lock(handle);
+ result->file_list = g_list_append(result->file_list, (gpointer) path);
+ result->is_end = FALSE;
+ __mf_ug_search_thread_unlock(handle);
+
+ }
+ /*1 TODO: how can i handle else case?*/
+ }
+ }
+ g_free(nor_str);
+ nor_str = NULL;
+ } else if ((option & MF_SEARCH_OPT_EXT) && needle) {
+ __mf_ug_search_thread_lock(handle);
+ result->total_count++;
+ __mf_ug_search_thread_unlock(handle);
+
+ up_name = g_utf8_strup(entry->d_name, strlen(entry->d_name));
+ up_needle = g_utf8_strup(needle, strlen(needle));
+
+ /*Todo:*/
+ /* should we check the return value for further use? */
+ gchar *nor_str = g_utf8_normalize(up_name, -1, NORMALIZE_OPTION);
+ if (multi_ext_flag) {
+ if (up_needle && nor_str && __mf_ug_search_NFD_multi_ext(nor_str, up_needle)) {
+ g_free(up_needle);
+ up_needle = NULL;
+ gchar *path = NULL;
+ gssize len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash*/
+ path = g_malloc(sizeof(gchar)*len);
+ if (path) {
+ g_snprintf(path, len, "%s/%s", root, entry->d_name);
+
+ __mf_ug_search_thread_lock(handle);
+ result->file_list = g_list_append(result->file_list, (gpointer) path);
+ result->is_end = FALSE;
+ __mf_ug_search_thread_unlock(handle);
+
+ }
+ /*1 TODO: how can i handle else case?*/
+ }
+ } else {
+ if (up_needle && nor_str && __mf_ug_search_NFD_ext(nor_str, up_needle)) {
+ g_free(up_needle);
+ up_needle = NULL;
+ gchar *path = NULL;
+ gssize len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash*/
+ path = g_malloc(sizeof(gchar)*len);
+ if (path) {
+ g_snprintf(path, len, "%s/%s", root, entry->d_name);
+
+ __mf_ug_search_thread_lock(handle);
+ result->file_list = g_list_append(result->file_list, (gpointer) path);
+ result->is_end = FALSE;
+ __mf_ug_search_thread_unlock(handle);
+
+ }
+ /*1 TODO: how can i handle else case?*/
+ }
+
+ }
+ g_free(nor_str);
+ nor_str = NULL;
+ } else if (((option & MF_SEARCH_OPT_MULTI_EXT) && needle)) {
+ __mf_ug_search_thread_lock(handle);
+ result->total_count++;
+ __mf_ug_search_thread_unlock(handle);
+
+ up_name = g_utf8_strup(entry->d_name, strlen(entry->d_name));
+ up_needle = g_utf8_strup(needle, strlen(needle));
+
+ /*Todo:*/
+ /* should we check the return value for further use? */
+ gchar *nor_str = g_utf8_normalize(up_name, -1, NORMALIZE_OPTION);
+
+ if (up_needle && nor_str && __mf_ug_search_NFD_multi_ext(nor_str, up_needle)) {
+ g_free(up_needle);
+ up_needle = NULL;
+ gchar *path = NULL;
+ gssize len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash*/
+ path = g_malloc(sizeof(gchar)*len);
+ if (path) {
+ g_snprintf(path, len, "%s/%s", root, entry->d_name);
+
+ __mf_ug_search_thread_lock(handle);
+ result->file_list = g_list_append(result->file_list, (gpointer) path);
+ result->is_end = FALSE;
+ __mf_ug_search_thread_unlock(handle);
+
+ }
+ /*1 TODO: how can i handle else case?*/
+ }
+ g_free(nor_str);
+ nor_str = NULL;
+ }
+ free(up_needle);
+ up_needle = NULL;
+ free(up_name);
+ up_name = NULL;
+ } else if (entry->d_type & DT_DIR) {
+ gchar *path = NULL;
+ gssize len = 0;
+
+ len = strlen(entry->d_name);
+ /*skip current and upper directory*/
+ if (0 == strncmp(entry->d_name, ".", strlen(".")) || 0 == strncmp(entry->d_name, "..", strlen(".."))) {
+ continue;
+ }
+ /* we are not going to search /opt/media/SLP_Debug folder */
+ if ((strlen(result->current_dir) == strlen(PHONE_FOLDER)) && (strcmp(result->current_dir, PHONE_FOLDER) == 0)
+ && (strlen(entry->d_name) == strlen(DEBUG_FOLDER)) && (strcmp(entry->d_name, DEBUG_FOLDER) == 0)) {
+ SECURE_DEBUG("[%s] is hidden folder. Skip it", entry->d_name);
+ continue;
+ }
+
+ len = strlen(root) + strlen(entry->d_name) + APPEND_SIZE; /* for null and slash */
+ path = g_malloc(sizeof(gchar)*len);
+ if (path) {
+ g_snprintf(path, len, "%s/%s", root, entry->d_name);
+ candidate = g_list_append(candidate, (gpointer) path);
+ }
+ /*1 TODO: how can i handle else case?*/
+ if (option & MF_SEARCH_OPT_DIR) {
+ __mf_ug_search_thread_lock(handle);
+ result->total_count++;
+ __mf_ug_search_thread_unlock(handle);
+
+ up_name = g_utf8_strup(entry->d_name, strlen(entry->d_name));
+ if (up_name && needle && strlen(needle)) {
+ up_needle = g_utf8_strup(needle, strlen(needle));
+ gchar *nor_str = g_utf8_normalize(up_name, -1, NORMALIZE_OPTION);
+ if (nor_str && up_needle && __mf_ug_search_NFD_strstr(nor_str, up_needle)) {
+ __mf_ug_search_thread_lock(handle);
+ result->dir_list = g_list_append(result->dir_list, (gpointer) g_strdup(path));
+ result->is_end = FALSE;
+ __mf_ug_search_thread_unlock(handle);
+ }
+ g_free(nor_str);
+ nor_str = NULL;
+ g_free(up_name);
+ up_name = NULL;
+
+ g_free(up_needle);
+ up_needle = NULL;
+ } else {
+ g_free(up_name);
+ up_name = NULL;
+ }
+ }
+ }
+ }
+ closedir(directory);
+ directory = NULL;
+ }
+
+ return candidate;
}
static gpointer __mf_ug_search_find_thread(gpointer data)
{
- ms_handle_t *handle = (ms_handle_t *) data;
- if (handle) {
- ms_args_t *args = NULL;
- mf_search_result_t *result = NULL;
-
- result = handle->result;
- args = handle->args;
-
- if (args && result) {
- GList *root = NULL;
- GList *candidate = NULL; /*use this list as stack*/
- root = args->root_path;
- while (root) {
- char *path = (char *)root->data;
- if (path) {
- /*push root paths to stack*/
- candidate = g_list_append(candidate, (gpointer) g_strdup(path));
- }
- root = g_list_next(root);
- }
-
- while (candidate) {
- GList *new_list = NULL;
- GList *list = NULL;
- gchar *item = NULL;
-
- __mf_ug_search_thread_lock(handle);
- if (handle->is_stop) {
- __mf_ug_search_thread_unlock(handle);
- result->is_end = TRUE;
- goto MF_FIND_THREAD_EXIT;
- }
- __mf_ug_search_thread_unlock(handle);
-
- list = g_list_first(candidate);
- /*pop one path from stack*/
- candidate = g_list_remove_link(candidate, list);
- item = (gchar *) list->data;
- if (item) {
- ms_debug("current : %s", item);
+ ms_handle_t *handle = (ms_handle_t *) data;
+ if (handle) {
+ ms_args_t *args = NULL;
+ mf_search_result_t *result = NULL;
+
+ result = handle->result;
+ args = handle->args;
+
+ if (args && result) {
+ GList *root = NULL;
+ GList *candidate = NULL; /*use this list as stack*/
+ root = args->root_path;
+ while (root) {
+ char *path = (char *)root->data;
+ if (path) {
+ /*push root paths to stack*/
+ candidate = g_list_append(candidate, (gpointer) g_strdup(path));
+ }
+ root = g_list_next(root);
+ }
+
+ while (candidate) {
+ GList *new_list = NULL;
+ GList *list = NULL;
+ gchar *item = NULL;
+
+ __mf_ug_search_thread_lock(handle);
+ if (handle->is_stop) {
+ __mf_ug_search_thread_unlock(handle);
+ result->is_end = TRUE;
+ goto MF_FIND_THREAD_EXIT;
+ }
+ __mf_ug_search_thread_unlock(handle);
+
+ list = g_list_first(candidate);
+ /*pop one path from stack*/
+ candidate = g_list_remove_link(candidate, list);
+ item = (gchar *) list->data;
+ if (item) {
+ ms_debug("current : %s", item);
#if 0
- __mf_ug_search_thread_lock(handle);
- if (result->current_dir) {
- g_free(result->current_dir);
- }
- result->current_dir = g_strdup(item);
- __mf_ug_search_thread_unlock(handle);
+ __mf_ug_search_thread_lock(handle);
+ if (result->current_dir) {
+ g_free(result->current_dir);
+ }
+ result->current_dir = g_strdup(item);
+ __mf_ug_search_thread_unlock(handle);
#endif
- /*publish root change message here*/
- __mf_ug_search_tx_wait();
- if (handle->is_stop) {
- result->is_end = TRUE;
- goto MF_FIND_THREAD_EXIT;
- }
- __mf_ug_search_result_publish_msg(MF_SEARCH_PIPE_MSG_ROOT_CHANGE, item, args->user_data);
- new_list = __mf_ug_search_do_find(item, args->needle, args->option, handle);
- g_free(item);
- item = NULL;
- g_list_free(list);
- list = NULL;
- }
- /*push new paths to stack*/
- candidate = g_list_concat(new_list, candidate);
- }
-
- __mf_ug_search_thread_lock(handle);
- result->is_end = TRUE;
- __mf_ug_search_thread_unlock(handle);
- __mf_ug_search_tx_wait();
- __mf_ug_search_result_publish_msg(MF_SEARCH_PIPE_MSG_FINISHED, handle->result, args->user_data);
+ /*publish root change message here*/
+ if (handle->is_stop) {
+ result->is_end = TRUE;
+ goto MF_FIND_THREAD_EXIT;
+ }
+ new_list = __mf_ug_search_do_find(item, args->needle, args->option, handle);
+ g_free(item);
+ item = NULL;
+ g_list_free(list);
+ list = NULL;
+ }
+ /*push new paths to stack*/
+ candidate = g_list_concat(new_list, candidate);
+ }
+
+ __mf_ug_search_thread_lock(handle);
+ result->is_end = TRUE;
+ __mf_ug_search_thread_unlock(handle);
+ __mf_ug_search_result_publish_msg(MF_SEARCH_PIPE_MSG_FINISHED, handle->result, args->user_data);
MF_FIND_THREAD_EXIT:
- if (candidate) {
- g_list_foreach(candidate, (GFunc) g_free, NULL);
- g_list_free(candidate);
- candidate = NULL;
- }
- } else {
- ms_error("args : %p or result : %p is not allocated yet!!", handle->args, handle->result);
- }
- }
- /*g_thread_exit(NULL);*/
- return NULL;
+ if (candidate) {
+ g_list_foreach(candidate, (GFunc) g_free, NULL);
+ g_list_free(candidate);
+ candidate = NULL;
+ }
+ } else {
+ ms_error("args : %p or result : %p is not allocated yet!!", handle->args, handle->result);
+ }
+ }
+ /*g_thread_exit(NULL);*/
+ return NULL;
}
int _mf_ug_search_init(ms_handle_t **handle)
{
- GMutex *lock = NULL;
- ms_handle_t *ms_handle = NULL;
-
- ms_debug("");
+ /*GMutex *lock = NULL;*/
+ ms_handle_t *ms_handle = NULL;
- if (!handle) {
- return MF_SEARCH_ERROR_INVAL_P;
- }
+ ms_debug("");
- ms_handle = g_malloc0(sizeof(ms_handle_t));
- if (ms_handle == NULL) {
- ms_error("Fail to allocate memory for handle ");
- *handle = NULL;
- return MF_SEARCH_ERROR_ALLOC;
- }
+ if (!handle) {
+ return MF_SEARCH_ERROR_INVAL_P;
+ }
- ms_handle->state = MF_SEARCH_STATE_INIT;
- ms_handle->is_stop = FALSE;
+ ms_handle = g_malloc0(sizeof(ms_handle_t));
+ if (ms_handle == NULL) {
+ ms_error("Fail to allocate memory for handle ");
+ *handle = NULL;
+ return MF_SEARCH_ERROR_ALLOC;
+ }
- lock = g_mutex_new();
- if (!lock) {
- ms_error("Fail to create cmd_lock");
- g_free(ms_handle);
- return MF_SEARCH_ERROR_ALLOC;
- }
- ms_handle->cmd_lock = lock;
-
- *handle = ms_handle;
+ ms_handle->state = MF_SEARCH_STATE_INIT;
+ ms_handle->is_stop = FALSE;
+#if 0
+ lock = g_mutex_new();
+ if (!lock) {
+ ms_error("Fail to create cmd_lock");
+ g_free(ms_handle);
+ return MF_SEARCH_ERROR_ALLOC;
+ }
+ ms_handle->cmd_lock = lock;
+#endif
+ *handle = ms_handle;
- ms_info("Success to make search handle : %p", ms_handle);
- return MF_SEARCH_ERROR_NONE;
+ ms_info("Success to make search handle : %p", ms_handle);
+ return MF_SEARCH_ERROR_NONE;
}
-int _mf_ug_search_start(ms_handle_t *handle, const char **root_path, unsigned int path_num, const char *needle, mf_search_option option, void *user_data)
+int _mf_ug_search_start(ms_handle_t *handle,
+ const char **root_path,
+ unsigned int path_num,
+ const char *needle,
+ mf_search_option option,
+ void *user_data,
+ mf_search_filter_cb func,
+ int category)
{
- ms_args_t *args = NULL;
- mf_search_result_t *result = NULL;
- mf_search_option l_opt = MF_SEARCH_OPT_NONE;
- int ret = MF_SEARCH_ERROR_NONE;
- int i = 0;
-
- if (!handle) {
- ms_error("handle is NULL");
- return MF_SEARCH_ERROR_INVAL_P;
- }
-
- if (handle->state != MF_SEARCH_STATE_INIT) {
- ms_error("invaild state : %d", handle->state);
- return MF_SEARCH_ERROR_INVAL_S;
- }
-
- if (!root_path || !needle || path_num < 1) {
- ms_error("invaild arguments - root[%p], path_num[%d], needle[%p]", root_path, path_num, needle);
- return MF_SEARCH_ERROR_INVAL_P;
- }
-
- __mf_ug_search_cmd_lock(handle);
-
- if (handle->args) {
- __mf_ug_search_args_free(handle->args);
- handle->args = NULL;
- }
- handle->args = args = g_malloc0(sizeof(ms_args_t));
- if (!args) {
- ms_error("fail to alloc args");
- ret = MF_SEARCH_ERROR_ALLOC;
- goto FAIL_FREE_MEM;
- }
-
- if (option == MF_SEARCH_OPT_NONE) {
- ms_warn("option is MF_SEARCH_OPT_NONE, set all option automatically ");
- l_opt = MF_SEARCH_OPT_HIDDEN | MF_SEARCH_OPT_DIR | MF_SEARCH_OPT_FILE;
- } else {
- l_opt = option;
- }
-
- for (i = 0; i < path_num; i++) {
- const char *path = root_path[i];
- ms_debug("%d th root path is %s", i, path);
+ ms_args_t *args = NULL;
+ mf_search_result_t *result = NULL;
+ mf_search_option l_opt = MF_SEARCH_OPT_NONE;
+ int ret = MF_SEARCH_ERROR_NONE;
+ int i = 0;
+
+ if (!handle) {
+ ms_error("handle is NULL");
+ return MF_SEARCH_ERROR_INVAL_P;
+ }
+
+ if (handle->state != MF_SEARCH_STATE_INIT) {
+ ms_error("invaild state : %d", handle->state);
+ return MF_SEARCH_ERROR_INVAL_S;
+ }
+
+ if (!root_path || path_num < 1) {
+ ms_error("invaild arguments - root[%p], path_num[%d], needle[%p]", root_path, path_num, needle);
+ return MF_SEARCH_ERROR_INVAL_P;
+ }
+ if (!needle && !func) {
+ return MF_SEARCH_ERROR_INVAL_P;
+ }
+
+ __mf_ug_search_cmd_lock(handle);
+
+ if (handle->args) {
+ __mf_ug_search_args_free(handle->args);
+ handle->args = NULL;
+ }
+ handle->args = args = g_malloc0(sizeof(ms_args_t));
+ if (!args) {
+ ms_error("fail to alloc args");
+ ret = MF_SEARCH_ERROR_ALLOC;
+ goto FAIL_FREE_MEM;
+ }
+
+ if (option == MF_SEARCH_OPT_NONE) {
+ ms_warn("option is MF_SEARCH_OPT_NONE, set all option automatically ");
+ l_opt = MF_SEARCH_OPT_HIDDEN | MF_SEARCH_OPT_DIR | MF_SEARCH_OPT_FILE;
+ } else {
+ l_opt = option;
+ }
+
+ for (i = 0; i < path_num; i++) {
+ const char *path = root_path[i];
+ ms_debug("%d th root path is %s", i, path);
#ifdef CHECK_RESTRICTED_PATH
- if (!__mf_ug_search_check_licet_path(path)) {
- ms_error("%dth root path[%s] is invaild", i, path);
- ret = MF_SEARCH_ERROR_INVAL_P;
- goto FAIL_FREE_MEM;
- }
+ if (!__mf_ug_search_check_licet_path(path)) {
+ ms_error("%dth root path[%s] is invaild", i, path);
+ ret = MF_SEARCH_ERROR_INVAL_P;
+ goto FAIL_FREE_MEM;
+ }
#endif /*CHECK_RESTRICTED_PATH*/
- if (g_file_test(path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)
- && ((l_opt & MF_SEARCH_OPT_HIDDEN) || strncmp(path, ".", 1))
- && TRUE) {
- gchar *new_path = NULL;
- gssize len = strlen(path);
-
- if (path[len - 1] == '/') {
- new_path = g_strndup(path, len - 1);
- } else {
- new_path = g_strndup(path, len);
- }
- args->root_path = g_list_append(args->root_path, (gpointer) new_path);
- } else {
- ms_error("Fail to test %dthe root path[%s]", i, path);
- ret = MF_SEARCH_ERROR_INVAL_P;
- goto FAIL_FREE_MEM;
- }
- }
- args->user_data = user_data;
-
-
- args->needle = g_utf8_normalize(needle, -1, NORMALIZE_OPTION);
- if (!args->needle) {
- ms_error("fail to alloc args->needle");
- goto FAIL_FREE_MEM;
- }
-
- args->option = l_opt;
-
- if (handle->result) {
- __mf_ug_search_result_free(handle->result);
- handle->result = NULL;
- }
- handle->result = result = g_malloc0(sizeof(ms_args_t));
- if (!result) {
- ms_error("fail to alloc result");
- ret = MF_SEARCH_ERROR_ALLOC;
- goto FAIL_FREE_MEM;
- }
-
- handle->thread_mutex = g_mutex_new();
- if (!handle->thread_mutex) {
- ms_error("fail to alloc handle->thread_mutex");
- ret = MF_SEARCH_ERROR_ALLOC;
- goto FAIL_FREE_MEM;
- }
-
- handle->is_stop = FALSE;
- handle->result->is_end = FALSE;
-
- /*create thread for find item.*/
- handle->thread_h = g_thread_create(__mf_ug_search_find_thread, handle, TRUE, NULL);
- if (!handle->thread_h) {
- ms_error("fail to create __mf_ug_search_find_thread");
- ret = MF_SEARCH_ERROR_INTERNAL;
- goto FAIL_FREE_MEM;
- }
- /*create idler for reporting find result.*/
- handle->state = MF_SEARCH_STATE_SEARCH;
- __mf_ug_search_cmd_unlock(handle);
- return MF_SEARCH_ERROR_NONE;
+ if (g_file_test(path, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)
+ && ((l_opt & MF_SEARCH_OPT_HIDDEN) || strncmp(path, ".", 1))
+ && TRUE) {
+ gchar *new_path = NULL;
+ gssize len = strlen(path);
+
+ if (path[len - 1] == '/') {
+ new_path = g_strndup(path, len - 1);
+ } else {
+ new_path = g_strndup(path, len);
+ }
+ args->root_path = g_list_append(args->root_path, (gpointer) new_path);
+ } else {
+ ms_error("Fail to test %dthe root path[%s]", i, path);
+ ret = MF_SEARCH_ERROR_INVAL_P;
+ goto FAIL_FREE_MEM;
+ }
+ }
+ args->user_data = user_data;
+
+ if (needle) {
+ args->needle = g_utf8_normalize(needle, -1, NORMALIZE_OPTION);
+ if (!args->needle) {
+ ms_error("fail to alloc args->needle");
+ goto FAIL_FREE_MEM;
+ }
+ }
+ args->option = l_opt;
+ args->func = func;
+ args->category = category;
+ if (handle->result) {
+ __mf_ug_search_result_free(handle->result);
+ handle->result = NULL;
+ }
+ handle->result = result = g_malloc0(sizeof(ms_args_t));
+ if (!result) {
+ ms_error("fail to alloc result");
+ ret = MF_SEARCH_ERROR_ALLOC;
+ goto FAIL_FREE_MEM;
+ }
+#if 0
+ handle->thread_mutex = g_mutex_new();
+ if (!handle->thread_mutex) {
+ ms_error("fail to alloc handle->thread_mutex");
+ ret = MF_SEARCH_ERROR_ALLOC;
+ goto FAIL_FREE_MEM;
+ }
+#endif
+ g_mutex_init(&handle->thread_mutex);
+ handle->is_stop = FALSE;
+ handle->result->is_end = FALSE;
+
+ /*create thread for find item.*/
+ handle->thread_h = g_thread_new(NULL, __mf_ug_search_find_thread, handle);
+ if (!handle->thread_h) {
+ ms_error("fail to create __mf_ug_search_find_thread");
+ ret = MF_SEARCH_ERROR_INTERNAL;
+ goto FAIL_FREE_MEM;
+ }
+ /*create idler for reporting find result.*/
+ handle->state = MF_SEARCH_STATE_SEARCH;
+ __mf_ug_search_cmd_unlock(handle);
+ return MF_SEARCH_ERROR_NONE;
FAIL_FREE_MEM:
- if (args) {
- __mf_ug_search_args_free(args);
- handle->args = NULL;
- }
-
- if (result) {
- __mf_ug_search_result_free(result);
- handle->result = NULL;
- }
-
- if (handle->thread_mutex) {
- g_mutex_free(handle->thread_mutex);
- handle->thread_mutex = NULL;
- }
-
- if (handle->thread_h) {
- __mf_ug_search_thread_lock(handle);
- handle->is_stop = TRUE;
- __mf_ug_search_thread_unlock(handle);
- g_thread_join(handle->thread_h);
- handle->thread_h = NULL;
- }
- __mf_ug_search_cmd_unlock(handle);
-
- return ret;
+ if (args) {
+ __mf_ug_search_args_free(args);
+ handle->args = NULL;
+ }
+
+ if (result) {
+ __mf_ug_search_result_free(result);
+ handle->result = NULL;
+ }
+
+ g_mutex_clear(&handle->thread_mutex);
+
+ if (handle->thread_h) {
+ __mf_ug_search_thread_lock(handle);
+ handle->is_stop = TRUE;
+ __mf_ug_search_thread_unlock(handle);
+ g_thread_join(handle->thread_h);
+ handle->thread_h = NULL;
+ }
+ __mf_ug_search_cmd_unlock(handle);
+
+ return ret;
}
int _mf_ug_search_stop(ms_handle_t *handle)
{
- ms_debug("");
-
- if (!handle) {
- ms_error("handle is NULL");
- return MF_SEARCH_ERROR_INVAL_P;
- }
-
- if (handle->state != MF_SEARCH_STATE_SEARCH) {
- ms_error("invaild state : %d", handle->state);
- return MF_SEARCH_ERROR_INVAL_S;
- }
-
- __mf_ug_search_cmd_lock(handle);
-
- __mf_ug_search_thread_lock(handle);
- handle->is_stop = TRUE;
- __mf_ug_search_thread_unlock(handle);
-
- pthread_mutex_lock(&gLockSearchMsg);
- if (flagSearchMsg == 0) {
- flagSearchMsg = 1;
- pthread_cond_signal(&gCondSearchMsg);
- }
- pthread_mutex_unlock(&gLockSearchMsg);
-
- if (handle->thread_h) {
- g_thread_join(handle->thread_h);
- handle->thread_h = NULL;
- }
-
- if (handle->thread_mutex) {
- g_mutex_free(handle->thread_mutex);
- handle->thread_mutex = NULL;
- }
-
- if (handle->args) {
- __mf_ug_search_args_free(handle->args);
- handle->args = NULL;
- }
- if (handle->result) {
- __mf_ug_search_result_free(handle->result);
- handle->result = NULL;
- }
-
- handle->state = MF_SEARCH_STATE_INIT;
- handle->is_stop = FALSE;
-
- __mf_ug_search_cmd_unlock(handle);
-
- return MF_SEARCH_ERROR_NONE;
+ ms_debug("");
+
+ if (!handle) {
+ ms_error("handle is NULL");
+ return MF_SEARCH_ERROR_INVAL_P;
+ }
+
+ if (handle->state != MF_SEARCH_STATE_SEARCH) {
+ ms_error("invaild state : %d", handle->state);
+ return MF_SEARCH_ERROR_INVAL_S;
+ }
+
+ __mf_ug_search_cmd_lock(handle);
+
+ __mf_ug_search_thread_lock(handle);
+ handle->is_stop = TRUE;
+ __mf_ug_search_thread_unlock(handle);
+
+ pthread_mutex_lock(&gLockSearchMsg);
+ if (flagSearchMsg == 0) {
+ flagSearchMsg = 1;
+ pthread_cond_signal(&gCondSearchMsg);
+ }
+ pthread_mutex_unlock(&gLockSearchMsg);
+
+ if (handle->thread_h) {
+ g_thread_join(handle->thread_h);
+ handle->thread_h = NULL;
+ }
+
+ g_mutex_clear(&handle->thread_mutex);
+
+ if (handle->args) {
+ __mf_ug_search_args_free(handle->args);
+ handle->args = NULL;
+ }
+ if (handle->result) {
+ __mf_ug_search_result_free(handle->result);
+ handle->result = NULL;
+ }
+
+ handle->state = MF_SEARCH_STATE_INIT;
+ handle->is_stop = FALSE;
+
+ __mf_ug_search_cmd_unlock(handle);
+
+ return MF_SEARCH_ERROR_NONE;
}
void _mf_ug_search_finalize(ms_handle_t **handle)
{
- ms_handle_t *ms_handle = *handle;
+ ms_handle_t *ms_handle = *handle;
- ms_debug("");
+ ms_debug("");
- if (!ms_handle) {
- ms_warn("invaild handle");
- return;
- }
+ if (!ms_handle) {
+ ms_warn("invaild handle");
+ return;
+ }
- if (ms_handle->state == MF_SEARCH_STATE_SEARCH) {
- mf_ug_search_stop(ms_handle);
- }
+ if (ms_handle->state == MF_SEARCH_STATE_SEARCH) {
+ mf_ug_search_stop((mf_search_handle)ms_handle);
+ }
/* __mf_ug_search_cmd_lock(ms_handle); */
/* __mf_ug_search_cmd_unlock(ms_handle); */
- if (ms_handle->cmd_lock) {
- g_mutex_free(ms_handle->cmd_lock);
- ms_handle->cmd_lock = NULL;
- }
- g_free(ms_handle);
- *handle = NULL;
+ g_mutex_clear(&ms_handle->cmd_lock);
- return;
+ g_free(ms_handle);
+ *handle = NULL;
+
+ return;
}
/*+++++++++++++++++++++++++ UTIL APIs ++++++++++++++++++++++++++++++ */
-static void __mf_ug_search_tx_wait()
+/*static void __mf_ug_search_tx_wait()
{
- pthread_mutex_lock(&gLockSearchMsg);
- while (flagSearchMsg == 0) {
- pthread_cond_wait(&gCondSearchMsg, &gLockSearchMsg);
- }
- flagSearchMsg = 0;
- pthread_mutex_unlock(&gLockSearchMsg);
-}
+ pthread_mutex_lock(&gLockSearchMsg);
+ while (flagSearchMsg == 0) {
+ pthread_cond_wait(&gCondSearchMsg, &gLockSearchMsg);
+ }
+ flagSearchMsg = 0;
+ pthread_mutex_unlock(&gLockSearchMsg);
+}*/
static void __mf_ug_search_result_publish_msg(mf_search_pipe_msg_type type, void *result, void *user_data)
{
- ugData *ugd = (ugData *)user_data;
- /*generate message block*/
- mf_search_pipe_msg msg;
- memset(&msg, 0, sizeof(mf_search_pipe_msg));
-
- msg.mf_sp_msg_type = type;
- if (msg.mf_sp_msg_type == MF_SEARCH_PIPE_MSG_RESULT_REPORT) {
- msg.report_result = g_strdup((gchar *) result);
- msg.current_path = NULL;
- } else if (msg.mf_sp_msg_type == MF_SEARCH_PIPE_MSG_ROOT_CHANGE) {
- msg.report_result = NULL;
- msg.current_path = g_strdup((gchar *) result);
- ms_debug("current path is %s", msg.current_path);
- } else if (msg.mf_sp_msg_type == MF_SEARCH_PIPE_MSG_FINISHED) {
- msg.report_result = result;
- msg.current_path = NULL;
- } else {
- msg.report_result = NULL;
- msg.current_path = NULL;
- }
-
- /*write message to pipe*/
- ecore_pipe_write(ugd->ug_UiGadget.ug_pSyncPipe, &msg, sizeof(msg));
+ ugData *ugd = (ugData *)user_data;
+ /*generate message block*/
+ mf_search_pipe_msg msg;
+ memset(&msg, 0, sizeof(mf_search_pipe_msg));
+
+ msg.mf_sp_msg_type = type;
+ if (msg.mf_sp_msg_type == MF_SEARCH_PIPE_MSG_RESULT_REPORT) {
+ msg.report_result = g_strdup((gchar *) result);
+ msg.current_path = NULL;
+ } else if (msg.mf_sp_msg_type == MF_SEARCH_PIPE_MSG_ROOT_CHANGE) {
+ msg.report_result = NULL;
+ msg.current_path = g_strdup((gchar *) result);
+ ms_debug("current path is %s", msg.current_path);
+ } else if (msg.mf_sp_msg_type == MF_SEARCH_PIPE_MSG_FINISHED) {
+ msg.report_result = result;
+ msg.current_path = NULL;
+ } else {
+ msg.report_result = NULL;
+ msg.current_path = NULL;
+ }
+
+ /*write message to pipe*/
+ ecore_pipe_write(ugd->ug_UiGadget.ug_pSyncPipe, &msg, sizeof(msg));
}
gchar *_mf_ug_search_result_dir_get(mf_search_result_t * result)
{
- gchar *name = NULL;
- if (result) {
- GList *list = NULL;
- list = result->dir_list;
- if (list && list->data) {
- gchar *item = (gchar *) list->data;
- result->dir_list = g_list_remove(list, item);
- name = item;
- }
- }
- return name;
+ gchar *name = NULL;
+ if (result) {
+ GList *list = NULL;
+ list = result->dir_list;
+ if (list && list->data) {
+ gchar *item = (gchar *) list->data;
+ result->dir_list = g_list_remove(list, item);
+ name = item;
+ }
+ }
+ return name;
}
gchar *_mf_ug_search_result_file_get(mf_search_result_t * result)
{
- gchar *name = NULL;
- if (result) {
- GList *list = NULL;
- list = result->file_list;
- if (list && list->data) {
- gchar *item = (gchar *) list->data;
- result->file_list = g_list_remove(list, item);
- name = item;
- }
- }
- return name;
+ gchar *name = NULL;
+ if (result) {
+ GList *list = NULL;
+ list = result->file_list;
+ if (list && list->data) {
+ gchar *item = (gchar *) list->data;
+ result->file_list = g_list_remove(list, item);
+ name = item;
+ }
+ }
+ return name;
}
gboolean _mf_ug_search_result_is_end(mf_search_result_t *result)
{
- gboolean end = FALSE;
- if (result) {
- end = result->is_end;
- }
- return end;
+ gboolean end = FALSE;
+ if (result) {
+ end = result->is_end;
+ }
+ return end;
}
guint _mf_ug_search_result_total_count_get(mf_search_result_t *result)
{
- guint count = 0;
- if (result) {
- count = result->total_count;
- }
- return count;
+ guint count = 0;
+ if (result) {
+ count = result->total_count;
+ }
+ return count;
}
gchar *_mf_ug_search_result_current_dir_get(mf_search_result_t * result)
{
- gchar *c_dir = NULL;
- if (result) {
- if (result->current_dir) {
- c_dir = result->current_dir;
- result->current_dir = NULL;
- }
- }
- return c_dir;
+ gchar *c_dir = NULL;
+ if (result) {
+ if (result->current_dir) {
+ c_dir = result->current_dir;
+ result->current_dir = NULL;
+ }
+ }
+ return c_dir;
}
diff --git a/src/common/mf-ug-search.c b/src/common/mf-ug-search.c
index db2ca6e..9788615 100644
--- a/src/common/mf-ug-search.c
+++ b/src/common/mf-ug-search.c
@@ -1,18 +1,19 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include <stdio.h>
#include <dirent.h>
@@ -29,97 +30,108 @@
int mf_ug_search_init(mf_search_handle *handle)
{
- int ret = 0;
- ms_handle_t *ms_handle = NULL;
-
- if (!handle) {
- return -1;
- }
- if (!g_thread_supported()) {
- g_thread_init(NULL);
- }
- ret = _mf_ug_search_init(&ms_handle);
- if (ret < 0) {
- ms_error("Fail to init search handle ");
- *handle = (mf_search_handle) 0;
- return ret;
- }
-
- *handle = (mf_search_handle) ms_handle;
-
- return MF_SEARCH_ERROR_NONE;
+ int ret = 0;
+ ms_handle_t *ms_handle = NULL;
+
+ if (!handle) {
+ return -1;
+ }
+#if 0/*Deprecated API*/
+ if (!g_thread_supported()) {
+ g_thread_init(NULL);
+ }
+#endif
+ ret = _mf_ug_search_init(&ms_handle);
+ if (ret < 0) {
+ ms_error("Fail to init search handle ");
+ *handle = (mf_search_handle) 0;
+ return ret;
+ }
+
+ *handle = (mf_search_handle) ms_handle;
+
+ return MF_SEARCH_ERROR_NONE;
}
int mf_ug_search_start(mf_search_handle handle,
- const char **root_path, unsigned int path_num, const char *needle, mf_search_option option, void *user_data)
+ const char **root_path,
+ unsigned int path_num,
+ const char *needle,
+ mf_search_option option,
+ void *user_data,
+ mf_search_filter_cb func,
+ int category)
{
- int ret = 0;
- if (!handle) {
- return MF_SEARCH_ERROR_INVAL_P;
- }
-
- if (!root_path || !needle || path_num < 1) {
- return MF_SEARCH_ERROR_INVAL_P;
- }
-
- ret = _mf_ug_search_start((ms_handle_t *) handle, root_path, path_num, needle, option, user_data);
-
- if (ret < 0) {
- ms_error("Fail to start search ");
- }
- return ret;
+ int ret = 0;
+ if (!handle) {
+ return MF_SEARCH_ERROR_INVAL_P;
+ }
+
+ if (!root_path || path_num < 1) {
+ return MF_SEARCH_ERROR_INVAL_P;
+ }
+
+ if (!needle && !func) {
+ return MF_SEARCH_ERROR_INVAL_P;
+ }
+ ret = _mf_ug_search_start((ms_handle_t *) handle, root_path, path_num, needle, option, user_data, func, category);
+
+ if (ret < 0) {
+ ms_error("Fail to start search ");
+ }
+ return ret;
}
int mf_ug_search_stop(mf_search_handle handle)
{
- int ret = 0;
+ int ret = 0;
- ret = _mf_ug_search_stop((ms_handle_t *) handle);
- if (ret < 0) {
- ms_error("Fail to stop search ");
- }
- return ret;
+ ret = _mf_ug_search_stop((ms_handle_t *) handle);
+ if (ret < 0) {
+ ms_error("Fail to stop search ");
+ }
+ return ret;
}
void mf_ug_search_finalize(mf_search_handle *handle)
{
- _mf_ug_search_finalize((ms_handle_t **) handle);
- return;
+ _mf_ug_search_finalize((ms_handle_t **) handle);
+ return;
}
/*+++++++++++++++++++++++ UTIL APIs +++++++++++++++++++++++*/
char *mf_ug_search_result_dir_get(mf_search_result_t *result)
{
- return _mf_ug_search_result_dir_get(result);
+ return _mf_ug_search_result_dir_get(result);
}
char *mf_ug_search_result_file_get(mf_search_result_t *result)
{
- return _mf_ug_search_result_file_get(result);
+ return _mf_ug_search_result_file_get(result);
}
int mf_ug_search_result_is_end(mf_search_result_t *result, int *is_end)
{
- if (result) {
- *is_end = _mf_ug_search_result_is_end(result);
- } else {
- return MF_SEARCH_ERROR_INVAL_P;
- }
- return MF_SEARCH_ERROR_NONE;
+ if (result) {
+ *is_end = _mf_ug_search_result_is_end(result);
+ } else {
+ return MF_SEARCH_ERROR_INVAL_P;
+ }
+ return MF_SEARCH_ERROR_NONE;
}
int mf_ug_search_result_total_count_get(mf_search_result_t *result, unsigned int *count)
{
- if (result) {
- *count = _mf_ug_search_result_total_count_get(result);
- } else {
- return MF_SEARCH_ERROR_INVAL_P;
- }
- return MF_SEARCH_ERROR_NONE;
+ if (result) {
+ *count = _mf_ug_search_result_total_count_get(result);
+ } else {
+ return MF_SEARCH_ERROR_INVAL_P;
+ }
+ return MF_SEARCH_ERROR_NONE;
}
char *mf_ug_search_result_current_dir_get(mf_search_result_t *result)
{
- return _mf_ug_search_result_current_dir_get(result);
+ return _mf_ug_search_result_current_dir_get(result);
}
diff --git a/src/common/mf-ug-util.c b/src/common/mf-ug-util.c
index a9ea7b7..8dcff90 100644
--- a/src/common/mf-ug-util.c
+++ b/src/common/mf-ug-util.c
@@ -1,22 +1,22 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
-#include <pthread.h>
-#include <vconf.h>
+#include <pthread.h>
#include "mf-ug-util.h"
#include "mf-ug-cb.h"
#include "mf-ug-winset.h"
@@ -24,14 +24,32 @@
#include "mf-ug-fs-util.h"
#include "mf-ug-inotify-handle.h"
#include "mf-ug-resource.h"
+#include "mf-ug-widget.h"
+#include <system_settings.h>
+#include "mf-ug-file-util.h"
#define MF_UG_TIMER_INTERVAL_VIBRATION 0.5
#define MF_UG_VIBRATION_DEVICE 0
#define MF_UG_VIBRATION_DURATION 500
#ifdef UG_OPERATION_SELECT_MODE
-#define OPERATION_SEPERATOR ";"
+#define OPERATION_SEPERATOR ";"
#endif
-#define NORMAL_SEPERATOR "?"
+#define NORMAL_SEPERATOR "?"
+
+static int __externalStorageId = 0;
+
+bool getSupportedStorages_cb(int storageId, storage_type_e type, storage_state_e state, const char *path, void *userData)
+{
+ UG_TRACE_BEGIN;
+
+ if (type == STORAGE_TYPE_EXTERNAL) {
+ __externalStorageId = storageId;
+ UG_TRACE_END;
+ return false;
+ }
+
+ return true;
+}
/******************************
** Prototype : ug_genlist_selected_state_get
@@ -50,34 +68,49 @@
******************************/
bool mf_ug_util_is_genlist_selected(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
-
- Elm_Object_Item *gli = NULL;
- Elm_Object_Item *nli = NULL;
- Evas_Object *genlist = NULL;
-
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
- ug_mf_retvm_if(pNavi_s == NULL, false, "get navigation bar in use failed");
-
- if (ugd->ug_MainWindow.ug_pNaviGenlist) {
- genlist = ugd->ug_MainWindow.ug_pNaviGenlist;
- gli = elm_genlist_first_item_get(genlist);
-
- while (gli) {
- ugListItemData *itemData = (ugListItemData *)elm_object_item_data_get(gli);
- ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL");
- if (itemData->ug_bChecked == true) {
- UG_TRACE_END;
- return true;
- }
- nli = elm_genlist_item_next_get(gli);
- gli = nli;
- }
- }
- UG_TRACE_END;
- return false;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, false, "ugd is NULL");
+
+ Elm_Object_Item *gli = NULL;
+ Elm_Object_Item *nli = NULL;
+ Evas_Object *genlist = NULL;
+
+ if (ugd->ug_MainWindow.ug_pNaviGenlist) {
+ genlist = ugd->ug_MainWindow.ug_pNaviGenlist;
+ gli = elm_genlist_first_item_get(genlist);
+
+ while (gli) {
+ ugListItemData *itemData = (ugListItemData *)elm_object_item_data_get(gli);
+ ug_mf_retvm_if(itemData == NULL, false, "itemData is NULL");
+ if (ugd->ug_Status.ug_iViewType == mf_ug_view_ringtone_del) {
+ if (itemData->ug_bChecked == true) {
+ UG_TRACE_END;
+ return true;
+ }
+ } else if (ugd->ug_MainWindow.ug_pRadioGroup) {
+ if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) == 0) {
+ UG_TRACE_END;
+ return false;
+ } else {
+ if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) == itemData->ug_iGroupValue) {
+ UG_TRACE_END;
+ return true;
+ }
+ }
+
+ } else {
+ if (itemData->ug_bChecked == true) {
+ UG_TRACE_END;
+ return true;
+ }
+ }
+ nli = elm_genlist_item_next_get(gli);
+ gli = nli;
+ }
+ }
+ UG_TRACE_END;
+ return false;
}
/******************************
@@ -98,19 +131,19 @@ bool mf_ug_util_is_genlist_selected(void *data)
******************************/
void mf_ug_util_get_params_path(Eina_List **dest_list, const char *path_list)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(dest_list == NULL, "dest_list is NULL");
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(dest_list == NULL, "dest_list is NULL");
- gchar **result = NULL;
- gchar **params = NULL;
- result = g_strsplit(path_list, "?", 0);
+ gchar **result = NULL;
+ gchar **params = NULL;
+ result = g_strsplit(path_list, "?", 0);
- for (params = result; *params; params++) {
- *dest_list = eina_list_append(*dest_list, strdup(*params));
- }
+ for (params = result; *params; params++) {
+ *dest_list = eina_list_append(*dest_list, strdup(*params));
+ }
- g_strfreev(result);
- UG_TRACE_END;
+ g_strfreev(result);
+ UG_TRACE_END;
}
/******************************
@@ -131,35 +164,47 @@ void mf_ug_util_get_params_path(Eina_List **dest_list, const char *path_list)
******************************/
void mf_ug_util_free_eina_list_data(Eina_List **list, mf_ug_eina_list_node_type node_type)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(list == NULL, "list is NULL");
- ug_mf_retm_if(*list == NULL, "*list is NULL");
-
- Eina_List *l = NULL;
- void *pNode = NULL;
- switch (node_type) {
- case NODE_TYPE_CHAR:
- case NODE_TYPE_PNODE:
- EINA_LIST_FOREACH(*list, l, pNode) {
- free(pNode);
- pNode = NULL;
- }
- break;
- case NODE_TYPE_GSTRING:
- EINA_LIST_FOREACH(*list, l, pNode) {
- if (pNode != NULL) {
- g_string_free(pNode, TRUE);
- pNode = NULL;
- }
- }
- break;
- default:
- break;
- }
-
- eina_list_free(*list);
- *list = NULL;
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(list == NULL, "list is NULL");
+ ug_mf_retm_if(*list == NULL, "*list is NULL");
+
+ Eina_List *l = NULL;
+ void *pNode = NULL;
+ switch (node_type) {
+ case NODE_TYPE_CHAR:
+ EINA_LIST_FOREACH(*list, l, pNode) {
+ free(pNode);
+ pNode = NULL;
+ }
+ break;
+
+ case NODE_TYPE_PNODE:
+ EINA_LIST_FOREACH(*list, l, pNode) {
+ ugFsNodeInfo *node = (ugFsNodeInfo *)pNode;
+ if (node) {
+ UG_SAFE_FREE_CHAR(node->path);
+ UG_SAFE_FREE_CHAR(node->name);
+ UG_SAFE_FREE_CHAR(node->ext);
+ free(node);
+ node = NULL;
+ }
+ }
+ break;
+ case NODE_TYPE_GSTRING:
+ EINA_LIST_FOREACH(*list, l, pNode) {
+ if (pNode != NULL) {
+ g_string_free(pNode, TRUE);
+ pNode = NULL;
+ }
+ }
+ break;
+ default:
+ break;
+ }
+
+ eina_list_free(*list);
+ *list = NULL;
+ UG_TRACE_END;
}
@@ -180,19 +225,19 @@ void mf_ug_util_free_eina_list_data(Eina_List **list, mf_ug_eina_list_node_type
******************************/
static void __mf_ug_util_get_marked_selected_items(Eina_List *list, Eina_List **select_list)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(select_list == NULL, "select_list is NULL");
- ug_mf_retm_if(list == NULL, "list is NULL");
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(select_list == NULL, "select_list is NULL");
+ ug_mf_retm_if(list == NULL, "list is NULL");
- Eina_List *l = NULL;
- void *pNode = NULL;
+ Eina_List *l = NULL;
+ void *pNode = NULL;
- EINA_LIST_FOREACH(list, l, pNode) {
- if (pNode != NULL) {
- *select_list = eina_list_append(*select_list, strdup(pNode));
- }
- }
- UG_TRACE_END;
+ EINA_LIST_FOREACH(list, l, pNode) {
+ if (pNode != NULL) {
+ *select_list = eina_list_append(*select_list, strdup(pNode));
+ }
+ }
+ UG_TRACE_END;
}
@@ -214,46 +259,58 @@ static void __mf_ug_util_get_marked_selected_items(Eina_List *list, Eina_List **
******************************/
static void __mf_ug_util_get_marked_off_selected_items(void *data, Eina_List **select_list)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugData is NULL");
- ug_mf_retm_if(select_list == NULL, "selected_list is NULL");
- ug_mf_retm_if(ugd->ug_MainWindow.ug_pNaviGenlist == NULL, "ugd->ug_MainWindow.ug_pNaviGenlist is NULL");
-
-
- Evas_Object *content = ugd->ug_MainWindow.ug_pNaviGenlist;
- Elm_Object_Item *gli = elm_genlist_first_item_get(content);
- int radio_id = 1;
- Elm_Object_Item *nli = NULL;
-
-
- while (gli) {
-
- ugListItemData *params = (ugListItemData *)elm_object_item_data_get(gli);
- ug_mf_retm_if(params == NULL, "params is NULL");
- if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
- if (params->ug_pRadioBox) {
- if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) == radio_id) {
- *select_list = eina_list_append(*select_list, strdup(params->ug_pItemName->str));
- break;
- }
- radio_id++;
- }
- } else if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
- if (params->ug_pCheckBox) {
- if (params->ug_bChecked == true) {
- *select_list = eina_list_append(*select_list, strdup(params->ug_pItemName->str));
- }
- }
- }
- nli = elm_genlist_item_next_get(gli);
- gli = nli;
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugData is NULL");
+ ug_mf_retm_if(select_list == NULL, "selected_list is NULL");
+ ug_mf_retm_if(ugd->ug_MainWindow.ug_pNaviGenlist == NULL, "ugd->ug_MainWindow.ug_pNaviGenlist is NULL");
+
+
+ Evas_Object *content = ugd->ug_MainWindow.ug_pNaviGenlist;
+ Elm_Object_Item *gli = elm_genlist_first_item_get(content);
+ Elm_Object_Item *nli = NULL;
+ Eina_List *l = NULL;
+ char *name = NULL;
+
+ if (ugd->ug_Status.ug_bSelectAllChecked == true
+ && (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE
+ || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE
+ || ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE)) {
+
+ EINA_LIST_FOREACH(ugd->ug_UiGadget.ug_pSearchFileList, l, name) {
+ if (name) {
+ *select_list = eina_list_append(*select_list, strdup(name));
+ }
+ }
+ } else {
+ while (gli) {
+ ugListItemData *params = (ugListItemData *)elm_object_item_data_get(gli);
+ ug_mf_retm_if(params == NULL, "params is NULL");
+ if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE
+ || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE
+ || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
+ if (params->ug_pRadioBox) {
+ if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) == params->ug_iGroupValue) {
+ *select_list = eina_list_append(*select_list, strdup(params->ug_pItemName->str));
+ break;
+ }
+ }
+ } else if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) {
+ if (params->ug_pCheckBox) {
+ if (params->ug_bChecked == true) {
+ *select_list = eina_list_append(*select_list, strdup(params->ug_pItemName->str));
+ }
+ }
+ }
+ nli = elm_genlist_item_next_get(gli);
+ gli = nli;
+ }
+ }
+ UG_TRACE_END;
}
/******************************
@@ -273,43 +330,84 @@ static void __mf_ug_util_get_marked_off_selected_items(void *data, Eina_List **s
******************************/
char *mf_ug_util_get_send_result(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, NULL, "ugData is NULL");
-
- char *file_selected = NULL;
- Eina_List *selected_list = NULL;
- Eina_List *l = NULL;
- char *pNode = NULL;
-
- if (ugd->ug_UiGadget.ug_iMarkedMode == MARKED_ON
- && (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE)) {
- __mf_ug_util_get_marked_selected_items(ugd->ug_UiGadget.ug_pMultiSelectFileList, &selected_list);
- } else {
- __mf_ug_util_get_marked_off_selected_items(ugd, &selected_list);
- }
-
- EINA_LIST_FOREACH(selected_list, l, pNode) {
- if (pNode != NULL) {
- if (file_selected == NULL) {
- file_selected = g_strconcat(pNode, NULL);
- } else {
- char *temp = file_selected;
-#ifdef UG_OPERATION_SELECT_MODE
- if (ugd->ug_UiGadget.ug_bOperationSelectFlag) {
- file_selected = g_strconcat(file_selected, OPERATION_SEPERATOR, pNode, NULL);
- } else
-#endif
- file_selected = g_strconcat(file_selected, NORMAL_SEPERATOR, pNode, NULL);
- free(temp);
- }
- }
- }
- mf_ug_util_free_eina_list_data(&selected_list, NODE_TYPE_CHAR);
- UG_TRACE_END;
- return file_selected;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, NULL, "ugData is NULL");
+
+ char *file_selected = NULL;
+ Eina_List *selected_list = NULL;
+ Eina_List *l = NULL;
+ char *pNode = NULL;
+
+ if (ugd->ug_UiGadget.ug_iMarkedMode == MARKED_ON
+ && (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE)) {
+ __mf_ug_util_get_marked_selected_items(ugd->ug_UiGadget.ug_pMultiSelectFileList, &selected_list);
+ } else {
+ __mf_ug_util_get_marked_off_selected_items(ugd, &selected_list);
+ }
+
+ ug_error(" select_list len is [%d]", eina_list_count(selected_list));
+ int a_count = 0;
+ EINA_LIST_FOREACH(selected_list, l, pNode) {
+ if (pNode != NULL) {
+ if (file_selected == NULL) {
+ file_selected = g_strconcat(pNode, NULL);
+ } else {
+ char *temp = file_selected;
+ file_selected = g_strconcat(file_selected, NORMAL_SEPERATOR, pNode, NULL);
+ free(temp);
+ }
+ SECURE_ERROR("file_selected[%d] is [%s]", a_count, file_selected);
+ a_count++;
+ }
+ }
+ mf_ug_util_free_eina_list_data(&selected_list, NODE_TYPE_CHAR);
+ if (file_selected != NULL)
+ printf("a_count is [%d] file_list is [%d][%s]\n", a_count, strlen(file_selected), file_selected);
+ UG_TRACE_END;
+ return file_selected;
}
+#ifdef UG_OPERATION_SELECT_MODE
+char **mf_ug_util_get_send_result_array(void *data, int *item_count)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, NULL, "ugData is NULL");
+
+ char **array = NULL;
+ Eina_List *selected_list = NULL;
+ Eina_List *l = NULL;
+ char *pNode = NULL;
+ int count = 0;
+
+ __mf_ug_util_get_marked_off_selected_items(ugd, &selected_list);
+
+ EINA_LIST_FOREACH(selected_list, l, pNode) {
+ if (pNode != NULL) {
+ count++;
+ }
+ }
+
+ if (count > 0) {
+ array = calloc(count, sizeof(char *));
+ count = 0;
+ EINA_LIST_FOREACH(selected_list, l, pNode) {
+ if (pNode != NULL && array != NULL) {
+ array[count] = g_strdup(pNode);
+ count++;
+ }
+ }
+ *item_count = count;
+ } else {
+ ug_error("no selection!!");
+ }
+
+ mf_ug_util_free_eina_list_data(&selected_list, NODE_TYPE_CHAR);
+ UG_TRACE_END;
+ return array;
+}
+#endif
/******************************
** Prototype : _ug_mf_set_state_as
@@ -329,12 +427,12 @@ char *mf_ug_util_get_send_result(void *data)
******************************/
void mf_ug_util_set_current_state(void *data, int state)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- ugd->ug_Status.ug_iState = state;
- UG_TRACE_END;
+ ugd->ug_Status.ug_iState = state;
+ UG_TRACE_END;
}
@@ -355,27 +453,34 @@ void mf_ug_util_set_current_state(void *data, int state)
******************************/
int mf_ug_util_get_mmc_state(int *mmc_card)
{
- UG_TRACE_BEGIN;
- int data = UG_ERROR_RETURN;
- int error_code = MYFILE_ERR_NONE;
-
- ug_mf_retvm_if(mmc_card == NULL, MYFILE_ERR_SRC_ARG_INVALID, "mmc_card is NULL");
-
- *mmc_card = 0;
- error_code = vconf_get_int(VCONFKEY_SYSMAN_MMC_STATUS, &data);
-
- if (error_code) {
- UG_TRACE_END;
- return MYFILE_ERR_GET_VCONF_FAIL;
- }
-
- if (data != VCONFKEY_SYSMAN_MMC_MOUNTED) {
- *mmc_card = MMC_OFF;
- } else {
- *mmc_card = MMC_ON;
- }
- UG_TRACE_END;
- return error_code;
+ UG_TRACE_BEGIN;
+ int error_code = STORAGE_ERROR_NONE;
+
+ ug_mf_retvm_if(mmc_card == NULL, MYFILE_ERR_SRC_ARG_INVALID, "mmc_card is NULL");
+
+ *mmc_card = 0;
+
+ error_code = storage_foreach_device_supported(getSupportedStorages_cb, NULL);
+ if (error_code != STORAGE_ERROR_NONE) {
+ UG_TRACE_END;
+ return MYFILE_ERR_GET_CONF_FAIL;
+ }
+
+ storage_state_e mmc_state;
+ error_code = storage_get_state(__externalStorageId, &mmc_state);
+ if (error_code != STORAGE_ERROR_NONE) {
+ UG_TRACE_END;
+ return MYFILE_ERR_GET_CONF_FAIL;
+ }
+
+ if (mmc_state == STORAGE_STATE_MOUNTED) {
+ *mmc_card = MMC_ON;
+ } else {
+ *mmc_card = MMC_OFF;
+ }
+
+ UG_TRACE_END;
+ return error_code;
}
/******************************
@@ -395,18 +500,18 @@ int mf_ug_util_get_mmc_state(int *mmc_card)
******************************/
int mf_ug_util_create_dir_monitor(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugData is NULL");
-
- if (ugd->ug_UiGadget.ug_pInotifyPipe) {
- ecore_pipe_del(ugd->ug_UiGadget.ug_pInotifyPipe);
- ugd->ug_UiGadget.ug_pInotifyPipe = NULL;
- }
- ugd->ug_UiGadget.ug_pInotifyPipe = ecore_pipe_add(mf_ug_cb_dir_pipe_cb, (const void *)ugd);
- UG_TRACE_END;
-
- return mf_ug_inotify_handle_init_inotify();
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugData is NULL");
+
+ if (ugd->ug_UiGadget.ug_pInotifyPipe) {
+ ecore_pipe_del(ugd->ug_UiGadget.ug_pInotifyPipe);
+ ugd->ug_UiGadget.ug_pInotifyPipe = NULL;
+ }
+ ugd->ug_UiGadget.ug_pInotifyPipe = ecore_pipe_add(mf_ug_cb_dir_pipe_cb, (const void *)ugd);
+ UG_TRACE_END;
+
+ return mf_ug_inotify_handle_init_inotify();
}
@@ -428,17 +533,17 @@ int mf_ug_util_create_dir_monitor(void *data)
******************************/
int mf_ug_util_add_dir_watch(const char *path, void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugd is NULL");
- UG_SAFE_FREE_CHAR(ugd->ug_Status.monitor_path);
- ugd->ug_Status.monitor_path = g_strdup(path);
- return mf_ug_inotify_handle_add_inotify_watch(path, mf_ug_cb_dir_update_cb, data);
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugd is NULL");
+ UG_SAFE_FREE_CHAR(ugd->ug_Status.monitor_path);
+ ugd->ug_Status.monitor_path = g_strdup(path);
+ return mf_ug_inotify_handle_add_inotify_watch(path, mf_ug_cb_dir_update_cb, data);
}
int mf_ug_util_remove_dir_watch(void)
{
- return mf_ug_inotify_handle_rm_inotify_watch();
+ return mf_ug_inotify_handle_rm_inotify_watch();
}
/******************************
@@ -458,16 +563,16 @@ int mf_ug_util_remove_dir_watch(void)
******************************/
int mf_ug_util_set_mmc_state_cb(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugd is NULL");
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugd is NULL");
- int mmc_state = MMC_OFF;
- mf_ug_util_get_mmc_state(&mmc_state);
- ugd->ug_Status.ug_iMmcFlag = mmc_state;
+ int mmc_state = MMC_OFF;
+ mf_ug_util_get_mmc_state(&mmc_state);
+ ugd->ug_Status.ug_iMmcFlag = mmc_state;
- UG_TRACE_END;
- return vconf_notify_key_changed(VCONFKEY_SYSMAN_MMC_STATUS, mf_ug_cb_mmc_changed_cb, ugd);
+ UG_TRACE_END;
+ return storage_set_state_changed_cb(__externalStorageId, mf_ug_cb_mmc_changed_cb, ugd);
}
/******************************
@@ -487,9 +592,12 @@ int mf_ug_util_set_mmc_state_cb(void *data)
******************************/
void mf_ug_util_destory_mmc_state_cb()
{
- UG_TRACE_BEGIN;
- vconf_ignore_key_changed(VCONFKEY_SYSMAN_MMC_STATUS, mf_ug_cb_mmc_changed_cb);
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ int error_code = storage_unset_state_changed_cb(__externalStorageId, mf_ug_cb_mmc_changed_cb);
+ if (error_code != STORAGE_ERROR_NONE) {
+ ug_debug("storage_unset_state_changed_cb() failed!!");
+ }
+ UG_TRACE_END;
}
/******************************
@@ -509,19 +617,19 @@ void mf_ug_util_destory_mmc_state_cb()
******************************/
void mf_ug_util_destory_dir_monitor(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- if (ugd->ug_UiGadget.ug_pInotifyPipe) {
- ecore_pipe_del(ugd->ug_UiGadget.ug_pInotifyPipe);
- ugd->ug_UiGadget.ug_pInotifyPipe = NULL;
- }
+ if (ugd->ug_UiGadget.ug_pInotifyPipe) {
+ ecore_pipe_del(ugd->ug_UiGadget.ug_pInotifyPipe);
+ ugd->ug_UiGadget.ug_pInotifyPipe = NULL;
+ }
- mf_ug_inotify_handle_finalize_inotify();
- UG_TRACE_END;
+ mf_ug_inotify_handle_finalize_inotify();
+ UG_TRACE_END;
- return;
+ return;
}
@@ -543,27 +651,85 @@ void mf_ug_util_destory_dir_monitor(void *data)
******************************/
void mf_ug_util_storage_insert_action(void *data, char *pItemLabel)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- Elm_Object_Item *pItemPhone = NULL;
- ugFsNodeInfo *pNode = NULL;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ ugFsNodeInfo *pNode = NULL;
+
+ if (ugd->ug_Status.ug_iViewType != mf_ug_view_root) {
+ return;
+ }
+
+ if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) {
+ if (ugd->ug_Status.ug_iMmcFlag) {
+ pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo));
+ if (pNode == NULL)
+ return;
+ memset(pNode, 0, sizeof(ugFsNodeInfo));
+ /*set path */
+ pNode->path = g_strdup(STORAGE_PARENT);
+ /*set name */
+ pNode->name = g_strdup(MMC_NAME);
+ pNode->type = UG_FILE_TYPE_DIR;
+ ugd->ug_UiGadget.ug_pDirList = eina_list_append(ugd->ug_UiGadget.ug_pDirList, pNode);
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, MEMORY_FOLDER, ugd, 0, &ugd->ug_Status.ug_1text1icon_itc);
+ }
+ }
+
+ UG_TRACE_END;
+}
- if (ugd->ug_Status.ug_iMmcFlag) {
- pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo));
- memset(pNode, 0, sizeof(ugFsNodeInfo));
- /*set path */
- snprintf(pNode->path, sizeof(pNode->path), "%s", STORAGE_PARENT);
- snprintf(pNode->name, sizeof(pNode->name), "%s", MMC_NAME);
- pNode->type = UG_FILE_TYPE_DIR;
- ugd->ug_UiGadget.ug_pDirList = eina_list_append(ugd->ug_UiGadget.ug_pDirList, pNode);
- mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc);
- }
+void mf_ug_util_mmc_remove_items_by_type(Evas_Object *genlist, int storage_type)
+{
+ ug_mf_retm_if(genlist == NULL, "parent is NULL");
+
+ ugListItemData *itemData = NULL;
+ Elm_Object_Item *it = NULL;
+
+ it = elm_genlist_first_item_get(genlist);
+ while (it) {
+ itemData = elm_object_item_data_get(it);
+ if (itemData->storage_type == storage_type) {
+ Elm_Object_Item *temp_item = it;
+ it = elm_genlist_item_next_get(it);
+ elm_object_item_del(temp_item);
+ continue;
+ }
+ it = elm_genlist_item_next_get(it);
+ }
- UG_TRACE_END;
}
+void mf_ug_util_mmc_remove_action(void *data)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ int optStorage = MF_UG_MMC;
+
+ if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) {
+ mf_ug_genlist_item_remove(ugd->ug_MainWindow.ug_pNaviGenlist, MF_UG_MMC);
+ } else {
+ if (mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str) == optStorage) {
+ if (0 != ugd->ug_ListPlay.ug_Player) {
+ mf_ug_list_play_destory_playing_file(ugd);
+ ugd->ug_ListPlay.play_data = NULL;
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ }
+ if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE) {
+ mf_ug_navi_bar_create_default_view(ugd);
+ } else {
+ ugd->ug_Status.ug_iViewType = mf_ug_view_root;
+ UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath);
+ ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER);
+ mf_ug_navi_bar_create_default_view(ugd);
+ }
+ mf_ug_navi_bar_set_ctrl_item_disable(ugd);
+ }
+ }
+}
/******************************
@@ -583,276 +749,396 @@ void mf_ug_util_storage_insert_action(void *data, char *pItemLabel)
******************************/
mf_ug_launch_type mf_ug_util_get_file_launch_type(char *path)
{
- if (path == NULL) {
- UG_TRACE_END;
- return LAUNCH_TYPE_UNSUPPORT;
- }
- if (ecore_file_file_get(path) == NULL) {
- UG_TRACE_END;
- return LAUNCH_TYPE_UNSUPPORT;
- }
- if (ecore_file_is_dir(path) == 1) {
- UG_TRACE_END;
- return LAUNCH_TYPE_UNSUPPORT;
- }
- if (mf_ug_file_attr_is_drm_file(path) == 0) {
- mf_ug_drm_file_mime_type drm_file_type = mf_ug_fs_oper_get_drm_type(path);
-
- if (drm_file_type == MF_UG_DRM_RINGTONE_FILE) {
- UG_TRACE_END;
- return LAUNCH_TYPE_MUSIC;
- } else if (drm_file_type == MF_UG_DRM_IMAGE_FILE) {
- UG_TRACE_END;
- return LAUNCH_TYPE_IMAGE;
- } else if (drm_file_type == MF_UG_DRM_VIDEO_FILE) {
- UG_TRACE_END;
- return LAUNCH_TYPE_VIDEO;
- } else {
- UG_TRACE_END;
- return LAUNCH_TYPE_UNSUPPORT;
- }
- } else {
- mf_ug_fs_file_type category_t = 0;
- mf_ug_file_attr_get_file_category(path, &category_t);
- if (category_t == UG_FILE_TYPE_MUSIC || category_t == UG_FILE_TYPE_SOUND || category_t == UG_FILE_TYPE_VOICE) {
- UG_TRACE_END;
- return LAUNCH_TYPE_MUSIC;
- } else if (category_t == UG_FILE_TYPE_IMAGE) {
- UG_TRACE_END;
- return LAUNCH_TYPE_IMAGE;
- } else {
- UG_TRACE_END;
- return LAUNCH_TYPE_UNSUPPORT;
- }
- }
- UG_TRACE_END;
-}
-
-mf_ug_theme_type mf_ug_util_get_theme(void)
-{
- mf_ug_theme_type theme = UG_THEME_INVALID;
- char *name;
-
- char *theme_name = vconf_get_str(VCONFKEY_SETAPPL_WIDGET_THEME_STR);
- ug_debug("theme is [%s]", theme_name);
- ug_mf_retvm_if(theme_name == NULL, UG_THEME_ERROR, "Failed to get vconf value"); /* file system exceptional handle */
-
- name = strrchr(theme_name, '/');
-
- if (!name)
- name = theme_name;
- else
- ++name;
-
- ug_debug("name is [%s]", name);
- //SETTING_TRACE("name:%s", name);
- /* special theme process.. */
- if (0 == g_strcmp0("tizen-black.edj", name) || 0 == g_strcmp0("tizen-black-hd.edj", name)) {
- theme = UG_THEME_NBEAT_BLACK;
- } else if (0 == g_strcmp0("tizen.edj", name) || 0 == g_strcmp0("tizen-hd.edj", name)
- || 0 == g_strcmp0("blue-hd.edj", name)) {
- theme = UG_THEME_NBEAT;
- } else {
- theme = UG_THEME_ERROR;
- }
- free(theme_name);
- theme_name = NULL;
- ug_debug("theme is [%d]", theme);
- return theme;
+ if (path == NULL) {
+ UG_TRACE_END;
+ return LAUNCH_TYPE_UNSUPPORT;
+ }
+ if (mf_file_get(path) == NULL) {
+ UG_TRACE_END;
+ return LAUNCH_TYPE_UNSUPPORT;
+ }
+ if (mf_is_dir(path) == 1) {
+ UG_TRACE_END;
+ return LAUNCH_TYPE_UNSUPPORT;
+ }
+ mf_ug_fs_file_type category_t = 0;
+ {
+ mf_ug_file_attr_get_file_category(path, &category_t);
+ /*P131206-01154 by wanygan,sound can not play a music file without extension
+ do not get the type,retry to get the type using the next api*/
+ if (UG_FILE_TYPE_NONE == category_t) {
+ category_t = mf_ug_file_attr_get_file_type_by_mime(path);
+ }
+ if (category_t == UG_FILE_TYPE_MUSIC || category_t == UG_FILE_TYPE_SOUND || category_t == UG_FILE_TYPE_VOICE || category_t == UG_FILE_TYPE_MP4_AUDIO) {
+ UG_TRACE_END;
+ return LAUNCH_TYPE_MUSIC;
+ } else if (category_t == UG_FILE_TYPE_IMAGE) {
+ UG_TRACE_END;
+ return LAUNCH_TYPE_IMAGE;
+ } else {
+ UG_TRACE_END;
+ return LAUNCH_TYPE_UNSUPPORT;
+ }
+ }
+ UG_TRACE_END;
}
-
char *mf_ug_util_upper_folder_name_get(void *data, GString *fullpath)
{
- ug_mf_retvm_if(data == NULL, NULL, "data is NULL");
- ug_mf_retvm_if(fullpath == NULL, NULL, "fullpath is NULL");
- ug_mf_retvm_if(fullpath->str == NULL, NULL, "fullpath is NULL");
+ ug_mf_retvm_if(data == NULL, NULL, "data is NULL");
+ ug_mf_retvm_if(fullpath == NULL, NULL, "fullpath is NULL");
+ ug_mf_retvm_if(fullpath->str == NULL, NULL, "fullpath is NULL");
- GString *parent_path = NULL;
- GString *gName = NULL;
- char *upper_name = NULL;
+ GString *parent_path = NULL;
+ GString *gName = NULL;
+ char *upper_name = NULL;
- parent_path = mf_ug_fm_svc_wrapper_get_file_parent_path(fullpath);
+ parent_path = mf_ug_fm_svc_wrapper_get_file_parent_path(fullpath);
- ug_mf_retvm_if(parent_path == NULL, NULL, "fullpath is NULL");
- ug_mf_retvm_if(parent_path->str == NULL, NULL, "fullpath is NULL");
+ ug_mf_retvm_if(parent_path == NULL, NULL, "fullpath is NULL");
+ ug_mf_retvm_if(parent_path->str == NULL, NULL, "fullpath is NULL");
- if (!g_strcmp0(parent_path->str, PHONE_FOLDER)) {
- upper_name = g_strdup(MF_UG_LABEL_PHONE);
- } else if (!g_strcmp0(parent_path->str, MEMORY_FOLDER)) {
- upper_name = g_strdup(MF_UG_LABEL_MMC);
- } else {
- gName = mf_ug_fm_svc_wapper_get_file_name(parent_path);
- UG_GSTRING_CHECK_NULL_GOTO(gName, FAILED_EXIT);
- upper_name = g_strdup(gName->str);
- }
+ if (!g_strcmp0(parent_path->str, PHONE_FOLDER)) {
+ upper_name = g_strdup(mf_ug_widget_get_text(MF_UG_LABEL_PHONE));
+ } else if (!g_strcmp0(parent_path->str, MEMORY_FOLDER)) {
+ upper_name = g_strdup(mf_ug_widget_get_text(MF_UG_LABEL_MMC));
+ } else {
+ gName = mf_ug_fm_svc_wapper_get_file_name(parent_path);
+ UG_GSTRING_CHECK_NULL_GOTO(gName, FAILED_EXIT);
+ upper_name = g_strdup(gName->str);
+ }
- UG_CHAR_CHECK_NULL_GOTO(upper_name, FAILED_EXIT);
- UG_SAFE_FREE_GSTRING(parent_path);
- UG_SAFE_FREE_GSTRING(gName);
- return upper_name;
+ UG_CHAR_CHECK_NULL_GOTO(upper_name, FAILED_EXIT);
+ UG_SAFE_FREE_GSTRING(parent_path);
+ UG_SAFE_FREE_GSTRING(gName);
+ return upper_name;
FAILED_EXIT:
- UG_SAFE_FREE_GSTRING(parent_path);
- UG_SAFE_FREE_GSTRING(gName);
- return NULL;
+ UG_SAFE_FREE_GSTRING(parent_path);
+ UG_SAFE_FREE_GSTRING(gName);
+ return NULL;
}
void mf_ug_util_sort_the_file_list(void *data)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is null");
- ugData *ugd = (ugData *)data;
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is null");
+ ugData *ugd = (ugData *)data;
- int iSortTypeValue = 0;
-
- iSortTypeValue = ugd->ug_Status.ug_iSortType;
-
- mf_ug_fs_oper_sort_list(&ugd->ug_UiGadget.ug_pFilterList, MF_UG_SORT_BY_NAME_A2Z);
- mf_ug_fs_oper_sort_list(&ugd->ug_UiGadget.ug_pDirList, MF_UG_SORT_BY_NAME_A2Z);
+ mf_ug_fs_oper_sort_list(&ugd->ug_UiGadget.ug_pFilterList, MF_UG_SORT_BY_NAME_A2Z);
+ mf_ug_fs_oper_sort_list(&ugd->ug_UiGadget.ug_pDirList, MF_UG_SORT_BY_NAME_A2Z);
+ /*mf_ug_fs_oper_sort_list(&ugd->ug_UiGadget.ug_pFilterList, iSortTypeValue);*/
+ /*need to sort folder items only By Name and Date*/
+ /*mf_ug_fs_oper_sort_list(&ugd->ug_UiGadget.ug_pDirList, iSortTypeValue);*/
}
int mf_ug_util_check_disk_space(void *data)
{
- UG_TRACE_BEGIN;
- ug_mf_retvm_if(data == NULL, MYFILE_ERR_SRC_ARG_INVALID, "data is null");
- ugData *ugd = (ugData *)data;
-
- mf_ug_storage_type state = MF_UG_NONE;
- unsigned long free_space = 0;
-
- if (ugd->ug_Status.ug_iMore == UG_MORE_CREATE_FOLDER) {
- state = mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str);
- free_space = mf_ug_fm_svc_wrapper_get_free_space(state);
- ug_debug("free size is %lu\n", free_space);
- /*
- ** in vfat fs type, sector size is 16K.
- ** it is to say that the limited size of the free space should be 16K
- ** or it will report space used up.
- ** check free_space == 0 can make sure at least 16K is free on the disk
- ** while every dir takes 4K
- */
- if (free_space == 0) {
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL,
- MF_UG_LABEL_NOT_ENOUGH_SPACE, MF_UG_LABEL_OK,
- NULL, NULL, mf_ug_cb_warning_popup_cb, ugd);
- return MYFILE_ERR_NO_FREE_SPACE;
- }
- }
-
- return MYFILE_ERR_NONE;
+ UG_TRACE_BEGIN;
+ ug_mf_retvm_if(data == NULL, MYFILE_ERR_SRC_ARG_INVALID, "data is null");
+ ugData *ugd = (ugData *)data;
+
+ int free_space = 0;
+
+ if (ugd->ug_Status.ug_iMore == UG_MORE_CREATE_FOLDER) {
+ mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str);
+ free_space = mf_ug_fm_svc_wrapper_get_free_space();
+ /*
+ ** in vfat fs type, sector size is 16K.
+ ** it is to say that the limited size of the free space should be 16K
+ ** or it will report space used up.
+ ** check free_space == 0 can make sure at least 16K is free on the disk
+ ** while every dir takes 4K
+ */
+ if (free_space == 0) {
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL,
+ MF_UG_LABEL_NOT_ENOUGH_SPACE, MF_UG_LABEL_OK,
+ NULL, NULL, mf_ug_cb_warning_popup_cb, ugd);
+ return MYFILE_ERR_NO_FREE_SPACE;
+ }
+ }
+
+ return MYFILE_ERR_NONE;
}
void mf_ug_util_operation_alloc_failed(void *data)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is null");
- ugData *ugd = (ugData *)data;
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is null");
+ ugData *ugd = (ugData *)data;
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_MEMORY_NOT_ENOUGH,
- NULL, NULL, NULL, (Evas_Smart_Cb) elm_exit, NULL);
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_NOT_ENOUGH_SPACE,
+ NULL, NULL, NULL, (Evas_Smart_Cb) elm_exit, NULL);
}
long mf_ug_util_character_count_get(const char *original)
{
- ug_mf_retvm_if(original == NULL, 0, "input string is NULL");
- long count = 0;
- char *utf8_form = g_locale_to_utf8(original, -1, NULL, NULL, NULL);
- if (utf8_form == NULL)
- return count;
- else {
- count = g_utf8_strlen(utf8_form, -1);
- free(utf8_form);
- ug_debug("utf8 count is %ld", count);
- return count;
- }
-}
-
-ugFsNodeInfo *mf_ug_util_generate_pnode(const char *path, int file_type)
-{
- ug_mf_retvm_if(path == NULL, NULL, "path is NULL");
- ugFsNodeInfo *pNode = NULL;
- int error = MYFILE_ERR_NONE;
-
- pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo));
- if (pNode == NULL) {
- return NULL;
- }
- memset(pNode, 0, sizeof(ugFsNodeInfo));
- char *parent = NULL;
- error = mf_ug_file_attr_get_parent_path(path, &parent);
- if (error == MYFILE_ERR_NONE) {
- snprintf(pNode->path, sizeof(pNode->path), "%s", parent);
- snprintf(pNode->name, sizeof(pNode->name), "%s", ecore_file_file_get(path));
- mf_ug_file_attr_get_file_stat(path, &pNode);
- if (file_type == UG_FILE_TYPE_DIR) {
- pNode->type = file_type;
- } else {
- mf_ug_file_attr_get_file_category(path, &(pNode->type));
- }
- } else {
- UG_SAFE_FREE_CHAR(pNode);
- }
- return pNode;
-}
-
-void mf_util_generate_list(Eina_List **list, const char *path, int file_type)
-{
- ug_mf_retm_if(list == NULL, "list is NULL");
- ug_mf_retm_if(path == NULL, "path is NULL");
-
- ugFsNodeInfo *pNode = mf_ug_util_generate_pnode(path, file_type);
-
- if (pNode)
- *list = eina_list_append(*list, pNode);
+ ug_mf_retvm_if(original == NULL, 0, "input string is NULL");
+ long count = 0;
+ char *utf8_form = g_locale_to_utf8(original, -1, NULL, NULL, NULL);
+ if (utf8_form == NULL)
+ return count;
+ else {
+ count = g_utf8_strlen(utf8_form, -1);
+ free(utf8_form);
+ ug_debug("utf8 count is %ld", count);
+ return count;
+ }
}
void mf_util_remove_item_from_list_by_location(Eina_List **list, int location)
{
- ug_mf_retm_if(list == NULL, "list is NULL");
+ ug_mf_retm_if(list == NULL, "list is NULL");
+
+ Eina_List *l = NULL;
+ ugFsNodeInfo *node = NULL;
+
+ EINA_LIST_FOREACH(*list, l, node) {
+ if ((ugFsNodeInfo *)node != NULL && strlen(((ugFsNodeInfo *)node)->path) != 0) {
+ if (mf_ug_fm_svc_wapper_get_location(node->path) == location) {
+ UG_SAFE_FREE_CHAR(node->ext);
+ UG_SAFE_FREE_CHAR(node->path);
+ UG_SAFE_FREE_CHAR(node->name);
+ UG_SAFE_FREE_CHAR(node);
+ *list = eina_list_remove_list(*list, l);
+ }
+ }
+ }
+}
- Eina_List *l = NULL;
- ugFsNodeInfo *node = NULL;
+int mf_ug_util_generate_root_view_file_list(Eina_List **list, int storage_state)
+{
+ UG_TRACE_BEGIN;
+
+ ugFsNodeInfo *pNode = NULL;
+ pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo));
+ if (pNode == NULL)
+ return -1;
+ memset(pNode, 0, sizeof(ugFsNodeInfo));
+ /*set path */
+ pNode->path = g_strdup(PHONE_PARENT);
+ /*set name */
+ pNode->name = g_strdup(PHONE_NAME);
+ pNode->type = UG_FILE_TYPE_DIR;
+ *list = eina_list_append(*list, pNode);
+
+ if (storage_state == MMC_ON) {
+ pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo));
+ if (pNode == NULL)
+ return -1;
+ memset(pNode, 0, sizeof(ugFsNodeInfo));
+ /*set path */
+ pNode->path = g_strdup(STORAGE_PARENT);
+ /*set name */
+ pNode->name = g_strdup(MMC_NAME);
+ pNode->type = UG_FILE_TYPE_DIR;
+ *list = eina_list_append(*list, pNode);
+ }
+
+ return 0;
+}
- EINA_LIST_FOREACH(*list, l, node) {
- if ((ugFsNodeInfo *)node != NULL && strlen(((ugFsNodeInfo *)node)->path) != 0) {
- if (mf_ug_fm_svc_wapper_get_location(node->path) == location){
- UG_SAFE_FREE_CHAR(node->ext);
- UG_SAFE_FREE_CHAR(node);
- *list = eina_list_remove_list(*list, l);
- }
- }
- }
+char *mf_ug_util_get_default_ringtone()
+{
+ char *default_ringtone = NULL;
+ int retcode = -1;
+ retcode = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_INCOMING_CALL_RINGTONE, &default_ringtone);
+
+ SECURE_INFO("default_ringtone is [%s]", default_ringtone);
+ if ((retcode == SYSTEM_SETTINGS_ERROR_NONE) && default_ringtone && mf_file_exists(default_ringtone)) {
+ return default_ringtone;
+ } else {
+ UG_SAFE_FREE_CHAR(default_ringtone);
+ default_ringtone = g_strdup(UG_SETTING_DEFAULT_RINGTONE_PATH);
+ }
+ return default_ringtone;
}
-int mf_ug_util_generate_root_view_file_list(Eina_List **list, int storage_state)
+char *mf_ug_util_get_default_alert()
+{
+ char *default_ringtone = NULL;
+ int retcode = -1;
+ retcode = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_SOUND_NOTIFICATION, &default_ringtone);
+
+ SECURE_INFO("default_ringtone is [%s]", default_ringtone);
+ if ((retcode == SYSTEM_SETTINGS_ERROR_NONE) && default_ringtone && mf_file_exists(default_ringtone)) {
+ return default_ringtone;
+ } else {
+ UG_SAFE_FREE_CHAR(default_ringtone);
+ default_ringtone = g_strdup(UG_SETTING_DEFAULT_ALERT_PATH);
+ }
+ return default_ringtone;
+}
+
+int mf_ug_util_set_default_ringtone_cb(void *data)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugd is NULL");
+
+ UG_TRACE_END;
+ return system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_INCOMING_CALL_RINGTONE, mf_ug_cb_default_ringtone_changed_cb, ugd);
+}
+
+void mf_ug_util_destory_default_ringtone_cb()
{
- UG_TRACE_BEGIN;
+ UG_TRACE_BEGIN;
+ int retcode = system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_INCOMING_CALL_RINGTONE);
+ if (retcode != SYSTEM_SETTINGS_ERROR_NONE) {
+ ug_mf_error("[ERR] failed to unset the default ringtone");
+ }
+ UG_TRACE_END;
+}
+
+int mf_ug_util_set_default_alert_cb(void *data)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, UG_ERROR_RETURN, "ugd is NULL");
+
+ UG_TRACE_END;
+ return system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_SOUND_NOTIFICATION, mf_ug_cb_default_ringtone_changed_cb, ugd);
+}
- ugFsNodeInfo *pNode = NULL;
- pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo));
- memset(pNode, 0, sizeof(ugFsNodeInfo));
- /*set path */
- snprintf(pNode->path, sizeof(pNode->path), "%s", PHONE_PARENT);
- snprintf(pNode->name, sizeof(pNode->name), "%s", PHONE_NAME);
- pNode->type = UG_FILE_TYPE_DIR;
- *list = eina_list_append(*list, pNode);
+void mf_ug_util_destory_default_alert_cb()
+{
+ UG_TRACE_BEGIN;
+ int retcode = system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_SOUND_NOTIFICATION);
+ if (retcode != SYSTEM_SETTINGS_ERROR_NONE) {
+ ug_mf_error("[ERR] failed to unset the default alert");
+ }
+ UG_TRACE_END;
+}
- if (storage_state == MMC_ON) {
- pNode = (ugFsNodeInfo *) malloc(sizeof(ugFsNodeInfo));
- memset(pNode, 0, sizeof(ugFsNodeInfo));
- /*set path */
- snprintf(pNode->path, sizeof(pNode->path), "%s", STORAGE_PARENT);
- snprintf(pNode->name, sizeof(pNode->name), "%s", MMC_NAME);
- pNode->type = UG_FILE_TYPE_DIR;
- *list = eina_list_append(*list, pNode);
- }
+bool mf_ug_util_find_item_from_pnode_list(Eina_List *list, const char *fullpath)
+{
+ Eina_List *l = NULL;
+ ugFsNodeInfo *pNode = NULL;
+ EINA_LIST_FOREACH(list, l, pNode) {
+ if (pNode) {
+ if (pNode->path && pNode->name) {
+ char *real_name = g_strconcat(pNode->path, "/", pNode->name, NULL);
+ if (g_strcmp0(real_name, fullpath) == 0) {
+ free(real_name);
+ real_name = NULL;
+ return true;
+ }
+ }
+ } else {
+ continue;
+ }
+ }
+ return false;
+}
- return 0;
+bool mf_ug_util_is_unique_view(int mode)
+{
+ bool flag = false;
+ if (mode == IMPORT_MODE
+ || mode == IMPORT_PATH_SELECT_MODE
+ || mode == IMPORT_SINGLE
+ || mode == DOCUMENT_SHARE
+ || mode == SSM_DOCUMENT_SHARE
+ ) {
+ flag = true;
+ }
+ return flag;
}
+bool mf_ug_util_is_multi_select_mode(int mode)
+{
+ bool flag = false;
+ if (mode == MULTI_FILE_MODE
+ || mode == MULTI_ALL_MODE
+ || mode == IMPORT_PATH_SELECT_MODE
+ || mode == IMPORT_MODE
+ || mode == SSM_DOCUMENT_SHARE
+ ) {
+ flag = true;
+ }
+ return flag;
+}
+bool mf_ug_util_is_single_select_mode(int mode)
+{
+ bool flag = false;
+ if (mode == SINGLE_FILE_MODE
+ || mode == SINGLE_ALL_MODE
+ || mode == IMPORT_SINGLE
+ ) {
+ flag = true;
+ }
+ return flag;
+}
+bool mf_ug_util_is_import_mode(int mode)
+{
+ bool flag = false;
+ if (mode == IMPORT_MODE
+ || mode == IMPORT_PATH_SELECT_MODE
+ || mode == IMPORT_SINGLE
+ ) {
+ flag = true;
+ }
+ return flag;
+
+}
+
+static Eina_List *path_stack = NULL;
+
+void mf_ug_util_path_push(char *path, int view_type)
+{
+ mf_ug_view_node_s *view_node = calloc(1, sizeof(mf_ug_view_node_s));
+
+ if (view_node != NULL) {
+ view_node->view_type = view_type;
+ view_node->path = g_strdup(path);
+ ug_error("path is [%s] view_type is [%d]", path, view_type);
+ path_stack = eina_list_prepend(path_stack, view_node);
+ }
+}
+
+mf_ug_view_node_s *mf_ug_util_path_pop()
+{
+
+ mf_ug_view_node_s *view_node = eina_list_nth(path_stack, 0);
+ path_stack = eina_list_remove(path_stack, view_node);
+ return view_node;
+}
+
+mf_ug_view_node_s *mf_ug_util_path_top_get()
+{
+ mf_ug_view_node_s *view_node = eina_list_nth(path_stack, 0);
+ if (view_node) {
+ ug_error("================= top path is [%s] view_type is [%d] ", view_node->path, view_node->view_type);
+ } else {
+ ug_error("Failed to get the top");
+ }
+ return view_node;
+}
+
+void mf_ug_util_view_node_free(mf_ug_view_node_s **view_node)
+{
+ if (*view_node != NULL) {
+ UG_SAFE_FREE_CHAR((*view_node)->path);
+ free(*view_node);
+ *view_node = NULL;
+ }
+}
+
+void mf_ug_util_path_stack_free()
+{
+ if (path_stack) {
+ mf_ug_view_node_s *view_node = NULL;
+ Eina_List *l = NULL;
+
+ EINA_LIST_FOREACH(path_stack, l, view_node) {
+ mf_ug_util_view_node_free(&view_node);
+ }
+ eina_list_free(path_stack);
+ path_stack = NULL;
+ }
+}
diff --git a/src/include/mf-ug-cb.h b/src/include/mf-ug-cb.h
index 4ea12e2..8060894 100644
--- a/src/include/mf-ug-cb.h
+++ b/src/include/mf-ug-cb.h
@@ -1,52 +1,50 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
#ifndef __DEF_MF_UG_CB_H_
#define __DEF_MF_UG_CB_H_
#include <Elementary.h>
-#include <vconf.h>
-#include <power.h>
+#include <device/power.h>
+#include <system_settings.h>
+#include <storage.h>
#include "mf-ug-main.h"
#include "mf-ug-util.h"
#include "mf-ug-inotify-handle.h"
-void mf_ug_cb_back_button_cb(void *data, Evas_Object *obj, void *event_info);
+Eina_Bool mf_ug_cb_back_button_cb(void *data, Elm_Object_Item *it);
void mf_ug_cb_add_button_cb(void *data, Evas_Object *obj, void *event_info);
-void mf_ug_cb_goto_myfile_button_cb(void *data, Evas_Object *obj, void *event_info);
void mf_ug_cb_mass_storage_popup_cb(void *data);
-void mf_ug_cb_tab_bar_cb(void *data, const char *path);
-void mf_ug_cb_ctrl_bar_button_cb(void *data, Evas_Object *obj, void *event_info);
+void mf_ug_cb_tab_bar_cb(void *data, char *path);
void mf_ug_cb_list_play_cb(ugListItemData *data, Evas_Object *obj, void *event_info);
void mf_ug_cb_select_info_show_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
void mf_ug_cb_select_info_hide_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
void mf_ug_cb_select_info_timeout_cb(void *data, Evas_Object *obj, void *event_info);
-void mf_ug_cb_mmc_changed_cb(keynode_t *key, void *data);
+void mf_ug_cb_mmc_changed_cb(int storage_id, storage_state_e state, void *user_data);
void mf_ug_cb_dir_update_cb(mf_ug_inotify_event event, char *name, void *data);
void mf_ug_cb_dir_pipe_cb(void *data, void *buffer, unsigned int nbyte);
-Eina_Bool mf_ug_cb_thumb_timer_cb(void *data);
int mf_ug_cb_set_mass_storage_state_cb(void *data);
-void mf_ug_cb_mass_storage_changed_cb(keynode_t *key, void *data);
void mf_ug_cb_upper_button_pressed_cb(void *data, Evas_Object * obj, void *event_info);
void mf_ug_cb_upper_button_unpressed_cb(void *data, Evas_Object * obj, void *event_info);
void mf_ug_cb_upper_click_cb(void *data, Evas_Object * obj, void *event_info);
void mf_ug_cb_home_button_pressed_cb(void *data, Evas_Object * obj, void *event_info);
void mf_ug_cb_home_button_unpressed_cb(void *data, Evas_Object * obj, void *event_info);
void mf_ug_cb_home_button_cb(void *data, Evas_Object * obj, void *event_info);
-void mf_ug_cb_sort_by_cb(void *data, Evas_Object *obj, void *event_info);
void mf_ug_search_view_enter_search_routine(void *data, Evas_Object * obj, void *event_info);
void mf_ug_cb_warning_popup_cb(void *data, Evas_Object * obj, void *event_info);
void mf_ug_cb_reach_max_len_cb(void *data, Evas_Object * obj, void *event_info);
@@ -54,12 +52,22 @@ void mf_ug_cb_eraser_clicked_cb(void *data, Evas_Object *obj, const char *emissi
void mf_ug_cb_save_cb(void *data, Evas_Object *obj, void *event_info);
void mf_ug_cb_cancel_new_folder_cb(void *data, Evas_Object * obj, void *event_info);
void mf_ug_cb_create_new_folder(void *data, Evas_Object * obj, void *event_info);
-void mf_ug_cb_lcd_state_changed_cb(power_state_e state, void *user_data);
+//void mf_ug_cb_lcd_state_changed_cb(power_state_e state, void *user_data);
Eina_Bool mf_ug_cb_popup_del_idler_cb(void *data);
void mf_ug_cb_entry_button_pressed_cb(void *data, Evas_Object * obj, void *event_info);
void mf_ug_cb_entry_button_unpressed_cb(void *data, Evas_Object * obj, void *event_info);
void mf_ug_cb_play_button_unpressed_cb(void *data, Evas_Object * obj, void *event_info);
void mf_ug_cb_play_button_pressed_cb(void *data, Evas_Object * obj, void *event_info);
void mf_ug_cb_more_cb(void *data, Evas_Object * obj, void *event_info);
-
+void mf_ug_cb_default_ringtone_changed_cb(system_settings_key_e key, void *data);
+void mf_ug_cb_cancel_button_cb(void *data, Evas_Object *obj, void *event_info);
+bool mf_ug_cb_create_thumbnail(void *data, media_thumbnail_completed_cb callback);
+void mf_ug_cb_thumb_created_cb(media_content_error_e error, const char *path, void *user_data);
+void mf_ug_cb_delete_button_cb(void *data, Evas_Object *obj, void *event_info);
+void mf_ug_ringtone_del_cb(void *data, Evas_Object *obj, void *event_info);
+void mf_ug_cb_delete_button_popup_create(void *data, Evas_Object *obj, void *event_info);
+void mf_ug_cb_delete_button_confirm_cb(void *data, Evas_Object *obj, void *event_info);
+void __mf_ug_popup_show_vk(void *data, Evas_Object *obj, void *event_info);
+void mf_ug_select_all_cb(void *data, Evas_Object *obj, void *event_info);
+void mf_ug_item_sel_all_press_cb(void *data, Evas_Object *obj, void *event_info);
#endif
diff --git a/src/include/mf-ug-conf.h b/src/include/mf-ug-conf.h
index 37c7c2d..6306bbf 100644
--- a/src/include/mf-ug-conf.h
+++ b/src/include/mf-ug-conf.h
@@ -1,80 +1,106 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+
+
#ifndef __DEF_MF_UG_CONF_H_
#define __DEF_MF_UG_CONF_H_
#include <Elementary.h>
-#define UGPACKAGE "ug-myfile-efl"
-#define UGPKGNAME_MYFILE "org.tizen.myfile"
-#define UGLOCALEDIR "/usr/ug/res/locale"
-
-#ifdef UG_OPERATION_SELECT_MODE
-#define UG_OPTION_COUNT 6
-#else
-#define UG_OPTION_COUNT 5
-#endif
-#define UG_ERROR_RETURN (-1)
-
-#define UG_SELECT_MODE_MULTI_ALL "MULTI_ALL"
-#define UG_SELECT_MODE_SINGLE_ALL "SINGLE_ALL"
-#define UG_SELECT_MODE_MULTI_FILE "MULTI_FILE"
-#define UG_SELECT_MODE_SINGLE_FILE "SINGLE_FILE"
-#define UG_SELECT_MODE_IMPORT "IMPORT"
-#define UG_SELECT_MODE_IMPORT_PATH_SELECT "IMPORT_PATH_SELECT"
-#define UG_SELECT_MODE_IMPORT_SINGLE "IMPORT_SINGLE"
-#define UG_SELECT_MODE_EXPORT "EXPORT"
-#define UG_SELECT_MODE_SHORTCUT "SHORTCUT"
-#define UG_SELECT_MODE_SAVE "SAVE"
-
-#define UG_FILE_FILTER_IMAGE "IMAGE"
-#define UG_FILE_FILTER_SOUND "SOUND"
-#define UG_FILE_FILTER_VIDEO "VIDEO"
-#define UG_FILE_FILTER_FLASH "FLASH"
-#define UG_FILE_FILTER_FOLDER "FOLDER"
-#define UG_FILE_FILTER_IV "IV"
-#define UG_FILE_FILTER_IS "IS"
-#define UG_FILE_FILTER_VS "VS"
-#define UG_FILE_FILTER_ALL "ALL"
-
-#define UG_DRM_FILTER_ALL "DRM_ALL"
-#define UG_DRM_FILTER_NONE "DRM_NONE"
-#define UG_DRM_FILTER_WITHOUT_FL "DRM_WITHOUT_FL"
-
-#define UG_MUSIC_PATH "/opt/usr/media/Sounds and music/Music"
-#define UG_RINGTION_PATH "/opt/usr/media/Sounds and music/Ringtones"
-#define UG_SETTING_RINGTONE_PATH "/opt/share/settings/Ringtones"
-#define UG_SETTING_MSG_ALERTS_PATH "/opt/share/settings/Alerts"
-#define UG_SETTING_ALERTS_PATH "/opt/share/settings/Alarms"
-
-#define MAX_MESSAGE_LEN 1024
-#define ACCUMULATED_DATE 86400 /* 24*60*60 */
-
-#define DRM_MESSAGE_LEN 256
-#define UG_LABEL_STRING_LENGTH 128
+#define PKGNAME_SYSTEM "sys_string"
+#define UGPACKAGE "ug-myfile-efl"
+#define UGPKGNAME_MYFILE "org.tizen.myfile"
+#define UGLOCALEDIR "/usr/ug/res/locale"
+#define MF_IMAGE_HEAD "myfile_"
+
+#define UG_EDJ_PATH "/usr/ug/res/edje/ug-myfile-efl"
+#define UG_ICON_PATH "/usr/apps/ug-myfile-efl/res/images/ug-myfile-efl"
+
+#define UG_EDJ_NAVIGATIONBAR UG_EDJ_PATH"/ug_navibar_layout.edj"
+#define UG_EDJ_IMAGE UG_EDJ_PATH"/ug_edc_image_macro.edj"
+
+
+#define UG_GRP_LIST "thumbnail_only"
+#define UG_GRP_NAVI_VIEW "navigation_view"
+#define UG_GRP_NO_CONTENT "noContent"
+#define UG_OPTION_COUNT 8
+#define UG_ERROR_RETURN (-1)
+
+#define UG_SELECT_MODE_MULTI_ALL "MULTI_ALL"
+#define UG_SELECT_MODE_SINGLE_ALL "SINGLE_ALL"
+#define UG_SELECT_MODE_MULTI_FILE "MULTI_FILE"
+#define UG_SELECT_MODE_SINGLE_FILE "SINGLE_FILE"
+#define UG_SELECT_MODE_IMPORT "IMPORT"
+#define UG_SELECT_MODE_IMPORT_PATH_SELECT "IMPORT_PATH_SELECT"
+#define UG_SELECT_MODE_IMPORT_SINGLE "IMPORT_SINGLE"
+#define UG_SELECT_MODE_EXPORT "EXPORT"
+#define UG_SELECT_MODE_SHORTCUT "SHORTCUT"
+#define UG_SELECT_MODE_SAVE "SAVE"
+#define UG_SELECT_MODE_DOCUMENT_SHARE "DOCUMENT_SHARE"
+#define UG_SELECT_MODE_SSM_DOCUMENT_SHARE "SSM_DOCUMENT_SHARE"
+
+#define UG_FILE_FILTER_IMAGE "IMAGE"
+#define UG_FILE_FILTER_SOUND "SOUND"
+#define UG_FILE_FILTER_VIDEO "VIDEO"
+#define UG_FILE_FILTER_FLASH "FLASH"
+#define UG_FILE_FILTER_FOLDER "FOLDER"
+#define UG_FILE_FILTER_DOCUMENT "DOCUMENT"
+#define UG_FILE_FILTER_IV "IV"
+#define UG_FILE_FILTER_IS "IS"
+#define UG_FILE_FILTER_VS "VS"
+#define UG_FILE_FILTER_ALL "ALL"
+#define UG_FILE_MIME_TYPE_IMAGE "image/*"
+#define UG_FILE_MIME_TYPE_VIDEO "video/*"
+#define UG_FILE_MIME_TYPE_AUDIO "audio/*"
+#define UG_FILE_MIME_TYPE_DOCUMENT "document/*"
+#define UG_FILE_MIME_TYPE_ALL "*/*"
+#define UG_FILE_MIME_TYPE_DIR "inode/directory"
+
+
+#define UG_VIEW_MODE_DEFAULT_SOUND_ITEM "DEFAULT_SOUND_ITEM"
+
+#define MESSAGE "message"
+#define UG_MUSIC_PATH "/opt/usr/media/Sounds and music/Music"
+#define UG_RINGTION_PATH "/opt/usr/media/Sounds and music/Ringtones"
+#define UG_SETTING_RINGTONE_PATH "/opt/usr/share/settings/Ringtones"
+#define UG_SETTING_MSG_ALERTS_PATH "/opt/usr/share/settings/Alerts"
+#define UG_SETTING_ALERTS_PATH "/opt/usr/share/settings/Alarms"
+#define UG_SETTING_SMART_ALRAMS "/opt/usr/share/settings/Smartalarms"
+#define UG_SETTING_DEFAULT_RINGTONE_PATH "/opt/usr/share/settings/Ringtones/Over_the_horizon.ogg"
+#define UG_SETTING_DEFAULT_ALERT_PATH "/opt/usr/share/settings/Alerts/Beep_Once.ogg"
+
+
+#define MAX_MESSAGE_LEN 1024
+#define ACCUMULATED_DATE 86400 /* 24*60*60 */
+
+#define UG_LABEL_STRING_LENGTH 128
#define UG_TIME_FORMAT "02u:%02u:%02u"
#define UG_TIME_ARGS(t) \
- (t) / (3600), \
- ((t) / 60) % 60, \
- (t) % 60
+ (t) / (3600), \
+ ((t) / 60) % 60, \
+ (t) % 60
#define _EDJ(o) elm_layout_edje_get(o)
-#define INTERVAL_THUMB_UPDATE 0.5
+#define INTERVAL_THUMB_UPDATE 0.5
#endif /* __DEF_MYFILE_CONF_H_ */
diff --git a/src/include/mf-ug-db-handle.h b/src/include/mf-ug-db-handle.h
new file mode 100644
index 0000000..9d18e14
--- /dev/null
+++ b/src/include/mf-ug-db-handle.h
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+
+#ifndef __MF_UG_DB_HANDLE_DEF__
+#define __MF_UG_DB_HANDLE_DEF__
+
+#include "mf-ug-media-error.h"
+
+void mf_ug_db_handle_destory();
+int mf_ug_db_handle_create();
+MFDHandle *mf_ug_db_handle_get();
+void mf_ug_db_handle_get_shortcut_files(void *data);
+void mf_ug_db_handle_get_ringtone_files(void *data);
+int mf_ug_db_handle_del_ringtone(const char *ringtone_path);
+int mf_ug_db_handle_ringtone_in_db(const char *ringtone_path);
+int mf_ug_db_handle_ringtone_get_count();
+int mf_ug_db_handle_add_ringtone(const char *ringtone_path, const char *ringtone_name, int storage_type);
+bool mf_ug_db_handle_find_ringtone(const char* path);
+
+//1 Alert
+void mf_ug_db_handle_get_alert_files(void *data);
+int mf_ug_db_handle_del_alert(const char *alert_path);
+int mf_ug_db_handle_alert_in_db(const char *alert_path);
+int mf_ug_db_handle_alert_get_count();
+int mf_ug_db_handle_add_alert(const char *alert_path, const char *alert_name, int storage_type);
+bool mf_ug_db_handle_find_alert(const char* path);
+
+#endif
diff --git a/src/include/mf-ug-dlog.h b/src/include/mf-ug-dlog.h
index 50bf513..44bfbe9 100644
--- a/src/include/mf-ug-dlog.h
+++ b/src/include/mf-ug-dlog.h
@@ -1,18 +1,22 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
#ifndef __DEF_MF_UG_DLOG_H_
#define __DEF_MF_UG_DLOG_H_
@@ -26,7 +30,7 @@
#undef LOG_TAG
#endif
-#define LOG_TAG "MYFILE-UG"
+#define LOG_TAG "MYFILE-UG"
#include <dlog.h>
@@ -34,53 +38,69 @@
#define LOG_COLOR_RED "\033[31m"
#define LOG_COLOR_RESET "\033[0m"
+#define FONT_COLOR_RESET "\033[0m"
+#define FONT_COLOR_RED "\033[31m"
+#define FONT_COLOR_GREEN "\033[32m"
+#define FONT_COLOR_YELLOW "\033[33m"
+#define FONT_COLOR_BLUE "\033[34m"
+#define FONT_COLOR_PURPLE "\033[35m"
+#define FONT_COLOR_CYAN "\033[36m"
+#define FONT_COLOR_GRAY "\033[37m"
+
+#define SECURE_DEBUG(fmt, args...) SECURE_LOGD(FONT_COLOR_BLUE fmt FONT_COLOR_RESET, ##args)
+#define SECURE_INFO(fmt, args...) SECURE_LOGI(FONT_COLOR_GREEN fmt FONT_COLOR_RESET, ##args)
+#define SECURE_ERROR(fmt, args...) SECURE_LOGE(FONT_COLOR_RED fmt FONT_COLOR_RESET, ##args)
+
#define ug_debug(fmt , args...) LOGD("[%s][%d]debug message from ug-myfile-efl is : "fmt"\n", __func__, __LINE__, ##args)
#define ug_myfile_dlog(fmt , args...) LOGD("[%s][%d]debug message from myfile is : "fmt"\n", __func__, __LINE__, ##args)
#define UG_TRACE_BEGIN do {\
- {\
- LOGD("\n\033[0;35mENTER FUNCTION: %s. \033[0m\t%s:%d\n", \
- __FUNCTION__, (char *)(strrchr(__FILE__, '/') + 1), __LINE__);\
- } \
- } while (0);
+ {\
+ LOGD("\n\033[0;35mENTER FUNCTION: %s. \033[0m\t%s:%d\n", \
+ __FUNCTION__, (char *)(strrchr(__FILE__, '/') + 1), __LINE__);\
+ } \
+ } while (0);
#define UG_TRACE_END do {\
- {\
- LOGD("\n\033[0;35mEXIT FUNCTION: %s. \033[0m\t%s:%d\n", \
- __FUNCTION__, (char *)(strrchr(__FILE__, '/') + 1), __LINE__);\
- } \
- } while (0);
-#define ug_error(fmt, arg...) LOGE(LOG_COLOR_RED"[ %s : %d] "fmt""LOG_COLOR_RESET, __FUNCTION__, __LINE__,##arg)
+ {\
+ LOGD("\n\033[0;35mEXIT FUNCTION: %s. \033[0m\t%s:%d\n", \
+ __FUNCTION__, (char *)(strrchr(__FILE__, '/') + 1), __LINE__);\
+ } \
+ } while (0) ;
+#define ug_error(fmt, arg...) LOGE(LOG_COLOR_RED"[ %s : %d] "fmt""LOG_COLOR_RESET, __FUNCTION__, __LINE__,##arg)
#else
#define ug_myfile_dlog(fmt , args...) printf("[MYFILE][%40s:%4d] "fmt"\n", __func__, __LINE__, ##args)
#endif
-#define ug_mf_debug(fmt , args...) do { (void)0; } while (0)
-#define ug_mf_warnig(fmt , args...) do { (void)0; } while (0)
-#define ug_mf_error(fmt , args...) do { (void)0; } while (0)
-#define UG_MYFILE_TRACE_ERROR(fmt, arg...) do { LOGE("[%s][%d] "fmt"\n", strrchr(__FILE__, '/') + 1, __LINE__, ##arg); } while (0)
+#define ug_mf_debug(fmt , args...) do { (void)0; } while (0)
+#define ug_mf_warnig(fmt , args...) do { (void)0; } while (0)
+#define ug_mf_error(fmt , args...) do { (void)0; } while (0)
+#define UG_MYFILE_TRACE_ERROR(fmt, arg...) do { LOGE("[%s][%d] "fmt"\n", strrchr(__FILE__, '/') + 1, __LINE__, ##arg); } while (0)
#define ug_mf_retvm_if(expr, val, fmt, arg...) do { \
- if (expr) { \
- UG_MYFILE_TRACE_ERROR(fmt, ##arg); \
- return (val); \
- } \
- } while (0)
+ if (expr) { \
+ UG_MYFILE_TRACE_ERROR(fmt, ##arg); \
+ return (val); \
+ } \
+ } while (0)
#define ug_mf_retv_if(expr, val) do { \
- if (expr) { \
- return (val); \
- } \
- } while (0)
+ if (expr) { \
+ return (val); \
+ } \
+ } while (0)
#define ug_mf_retm_if(expr, fmt, arg...) do { \
- if (expr) { \
- UG_MYFILE_TRACE_ERROR(fmt, ##arg); \
- return; \
- } \
- } while (0)
-
-#define MF_CHECK(expr) ug_mf_retm_if(!(expr),"INVALID PARAM RETURN")
+ if (expr) { \
+ UG_MYFILE_TRACE_ERROR(fmt, ##arg); \
+ return; \
+ } \
+ } while (0)
+
+#define MF_CHECK(expr) ug_mf_retm_if(!(expr),"INVALID PARAM RETURN")
+#define MF_CHECK_FALSE(expr) ug_mf_retvm_if(!(expr), false, "INVALID PARAM RETURN FALSE")
+#define MF_CHECK_NULL(expr) ug_mf_retvm_if(!(expr), NULL, "INVALID PARAM RETURN NULL")
+#define MF_CHECK_VAL(expr, val) ug_mf_retvm_if(!(expr),val,"INVALID PARM RETURN val:0x%x", val)
#endif
diff --git a/src/include/mf-ug-file-util.h b/src/include/mf-ug-file-util.h
new file mode 100644
index 0000000..11877ba
--- /dev/null
+++ b/src/include/mf-ug-file-util.h
@@ -0,0 +1,44 @@
+/*
+* Copyright 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+#ifndef __MF_UG_FILE_UTIL_H__
+#define __MF_UG_FILE_UTIL_H__
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <dirent.h>
+#include <Elementary.h>
+
+const char* mf_file_get(const char path[]);
+char* mf_dir_get(const char path[]);
+int mf_file_exists(const char *path);
+Eina_Bool mf_is_dir(const char *path);
+int mf_is_dir_empty(const char *path);
+int mf_mkdir(const char *dir);
+int mf_mkpath(const char *path);
+char *mf_strip_ext(const char *path);
+int mf_file_unlink (const char *filename);
+int mf_file_size(const char *filename);
+int mf_file_rmdir(const char *filename);
+Eina_List *mf_file_ls(const char *dir);
+int mf_file_recursive_rm(const char *dir);
+int mf_file_cp(const char *src,const char *dst);
+int mf_file_mv(const char *src, const char *dst);
+int mf_remove(const char *filename);
+#endif //__mf_FILE_UTIL_H__
diff --git a/src/include/mf-ug-fm-svc-wrapper.h b/src/include/mf-ug-fm-svc-wrapper.h
index 75d657b..bc2f2d9 100644
--- a/src/include/mf-ug-fm-svc-wrapper.h
+++ b/src/include/mf-ug-fm-svc-wrapper.h
@@ -1,18 +1,22 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
#ifndef __DEF_MF_UG_FM_SVC_WRAPPER_H_
#define __DEF_MF_UG_FM_SVC_WRAPPER_H_
@@ -20,12 +24,12 @@
#include <glib.h>
#include "mf-ug-main.h"
-#define MF_UG_PATH_INFO_MAX_LENGTH_PORTRAIT 35
+#define MF_UG_PATH_INFO_MAX_LENGTH_PORTRAIT 35
/* file information get/set */
unsigned long mf_ug_fm_svc_wapper_get_file_filter(int file_filter_mode);
-int mf_ug_fm_svc_wapper_get_drm_filter(int drm_filter_mode, unsigned long file_filter);
+
int mf_ug_fm_svc_wapper_get_file_list_by_filter(ugData *data, GString *fullpath, Eina_List **dir_list, Eina_List **filter_list);
bool mf_ug_fm_svc_wapper_is_root_path(void *data);
GString *mf_ug_fm_svc_wapper_get_file_name(GString *path);
@@ -35,11 +39,14 @@ gint mf_ug_fm_svc_wapper_get_folder_foldersystem(GString *path, bool *result);
GString *mf_ug_fm_svc_wrapper_get_file_parent_path(GString *fullpath);
char *mf_ug_fm_svc_wapper_path_info_get(char *original_path);
char *mf_ug_fm_svc_path_info_translate(char *path_info, int path_info_max_len);
-unsigned long mf_ug_fm_svc_wrapper_get_free_space(int state);
+//unsigned long mf_ug_fm_svc_wrapper_get_free_space(int state);
+int mf_ug_fm_svc_wrapper_get_free_space();
int mf_ug_fm_svc_wrapper_file_auto_rename(void *data, GString *fullpath, int file_name_type, GString **filename);
int mf_ug_fm_svc_wrapper_create_service(void *data, GString *fullpath);
bool mf_ug_fm_svc_wrapper_detect_duplication(GString *to);
int mf_ug_fm_svc_wrapper_create_p(const char *fullpath);
char *mf_ug_fm_svc_wrapper_translate_path(char *original_path);
+bool mf_ug_fm_svc_wapper_is_default_ringtone(void *data, char* selected_file);
+Eina_List *mf_ug_fm_svc_wrapper_level_path_get(const char *original_path);
#endif
diff --git a/src/include/mf-ug-fs-util.h b/src/include/mf-ug-fs-util.h
index 0027151..5d9ce15 100644
--- a/src/include/mf-ug-fs-util.h
+++ b/src/include/mf-ug-fs-util.h
@@ -1,18 +1,19 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#ifndef __DEF_MF_UG_FS_UTIL_H_
#define __DEF_MF_UG_FS_UTIL_H_
@@ -27,306 +28,304 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <linux/fs.h>
-#include <Eina.h>
-
-#include <Elementary.h>
-#include <drm_client.h>
-#include <drm_client_types.h>
-#include <media_content.h>
+#include "Eina.h"
+#include "Elementary.h"
+#include "media_content.h"
#include "mf-ug-dlog.h"
-
-/* File system related value definition */
-#define FILE_EXT_LEN_MAX 8
-#define MYFILE_DIR_PATH_LEN_MAX 4096
-#define MYFILE_FILE_NAME_LEN_MAX 255
-#define MYFILE_FILE_PATH_LEN_MAX MYFILE_DIR_PATH_LEN_MAX + MYFILE_FILE_NAME_LEN_MAX
+/* File system related value definition */
+#define FILE_EXT_LEN_MAX 8
+#define MYFILE_DIR_PATH_LEN_MAX 4096
+#define MYFILE_FILE_NAME_LEN_MAX 255
+#define MYFILE_FILE_PATH_LEN_MAX MYFILE_DIR_PATH_LEN_MAX + MYFILE_FILE_NAME_LEN_MAX
-/* File system related String definition */
-#define PHONE_FOLDER "/opt/usr/media"
-#define MEMORY_FOLDER "/opt/storage/sdcard"
-#define PHONE_PARENT "/opt/usr"
-#define PHONE_NAME "media"
-#define STORAGE_PARENT "/opt/storage"
-#define MMC_NAME "sdcard"
+/* File system related String definition */
+#define PHONE_FOLDER "/opt/usr/media"
+#define MEMORY_FOLDER "/opt/storage/sdcard"
+#define PHONE_PARENT "/opt/usr"
+#define PHONE_NAME "media"
+#define STORAGE_PARENT "/opt/storage"
+#define MMC_NAME "sdcard"
-#define SOUNDS_FOLDER "/opt/usr/media/Sounds"
-#define DEBUG_FOLDER "SLP_debug"
+#define SOUNDS_FOLDER "/opt/usr/media/Sounds"
+#define DEBUG_FOLDER "SLP_debug"
-#define MYFILE_NAME_PATTERN "[\\:;*\"<>|?/]"
+#define MYFILE_NAME_PATTERN "[\\:;*\"<>|?/]"
-#define IMAGE_AND_VIDEO "Images and videos"
-#define SOUND_AND_MUSIC "Sounds and music"
-#define DOWNLOADS "Downloads"
-#define CAMERA_SHOTS "Camera shots"
+#define IMAGE_AND_VIDEO "Images and videos"
+#define SOUND_AND_MUSIC "Sounds and music"
+#define DOWNLOADS "Downloads"
+#define CAMERA_SHOTS "Camera shots"
-#define WALLPAPER "Wallpapers"
-#define MY_PHOTO_CLIPS "My photo clips"
-#define MY_ALBUM "My album" /*/_("IDS_MF_BODY_ACCESS_MORE_MY_ALBUM") */
-#define MY_VIDEO_CLIPS "My video clips" /*/_("IDS_MF_BODY_MY_VIDEO_CLIPS") */
+#define WALLPAPER "Wallpapers"
+#define MY_PHOTO_CLIPS "My photo clips"
+#define MY_ALBUM "My album" /*/_("IDS_MF_BODY_ACCESS_MORE_MY_ALBUM") */
+#define MY_VIDEO_CLIPS "My video clips" /*/_("IDS_MF_BODY_MY_VIDEO_CLIPS") */
-#define FM_RADIO "FM Radio" /*/dgettext("sys_string", "IDS_COM_HEADER_FMRADIO") */
-#define MUSIC "Music" /*/_("IDS_MF_BODY_MUSIC") */
-#define RINGTONES "Ringtones"
-#define VOICE_RECORDER "Voice recorder" /*/dgettext("sys_string", "IDS_COM_BODY_VOICE_RECORDER") */
-#define ALERTS "Alerts"
-#define OTHERS "Others" /*/dgettext("sys_string","IDS_COM_BODY_OTHERS") */
+#define FM_RADIO "FM Radio" /*/dgettext("sys_string", "IDS_COM_HEADER_FMRADIO") */
+#define MUSIC "Music" /*/_("IDS_MF_BODY_MUSIC") */
+#define RINGTONES "Ringtones"
+#define VOICE_RECORDER "Voice recorder" /*/dgettext("sys_string", "IDS_COM_BODY_VOICE_RECORDER") */
+#define ALERTS "Alerts"
+#define OTHERS "Others" /*/dgettext("sys_string","IDS_COM_BODY_OTHERS") */
-/* File system define default folder */
+/* File system define default folder */
-/* compile option */
+/* compile option */
#define UG_DEBUG_FOLDER_OPTION
#ifndef UG_ICON_PATH
-#define UG_ICON_PATH "/usr/ug/res/images/ug-myfile-efl"
+#define UG_ICON_PATH "/usr/apps/ug-myfile-efl/res/images/ug-myfile-efl"
#endif
#ifndef UG_DEFAULT_ICON
-#define UG_DEFAULT_ICON UG_ICON_PATH"/myfile_icon_etc.png"
+#define UG_DEFAULT_ICON "myfile_icon_etc.png"
#endif
-#define UG_ICON_FOLDER UG_ICON_PATH"/myfile_icon_folder.png"
-#define UG_ICON_FOLDER_OPEN UG_ICON_PATH"/myfile_icon_folder_open.png"
-
-#define UG_ICON_IMAGE UG_ICON_PATH"/myfile_icon_images.png"
-#define UG_ICON_VIDEO UG_ICON_PATH"/myfile_icon_video.png"
-#define UG_ICON_MUSIC UG_ICON_PATH"/myfile_icon_music.png"
-#define UG_ICON_SOUND UG_ICON_PATH"/myfile_icon_music.png"
-#define UG_ICON_PDF UG_ICON_PATH"/myfile_icon_pdf.png"
-#define UG_ICON_DOC UG_ICON_PATH"/myfile_icon_word.png"
-#define UG_ICON_PPT UG_ICON_PATH"/myfile_icon_ppt.png"
-#define UG_ICON_EXCEL UG_ICON_PATH"/myfile_icon_excel.png"
-#define UG_ICON_VOICE UG_ICON_PATH"/myfile_icon_music.png"
-#define UG_ICON_HTML UG_ICON_PATH"/myfile_icon_html.png"
-#define UG_ICON_FLASH UG_ICON_PATH"/myfile_icon_swf.png"
-#define UG_ICON_TXT UG_ICON_PATH"/myfile_icon_text.png"
-#define UG_ICON_VCONTACT UG_ICON_PATH"/myfile_icon_svg.png"
-#define UG_ICON_VCALENDAR UG_ICON_PATH"/myfile_icon_svg.png"
-#define UG_ICON_VNOTE UG_ICON_PATH"/myfile_icon_text.png"
-#define UG_ICON_RSS UG_ICON_PATH"/myfile_icon_rss.png"
-#define UG_ICON_JAVA UG_ICON_PATH"/myfile_icon_java.png"
-#define UG_ICON_MEMORY_SUB UG_ICON_PATH"/myfile_icon_mmc_sub.png"
-#define UG_ICON_MUSIC_PLAY_WHITE UG_ICON_PATH"/myfile_icon_control_play.png"
-#define UG_ICON_MUSIC_PAUSE_WHITE UG_ICON_PATH"/myfile_icon_control_pause.png"
-#define UG_ICON_MUSIC_PLAY_WHITE_PRESS UG_ICON_PATH"/myfile_icon_control_play_press.png"
-#define UG_ICON_MUSIC_PAUSE_WHITE_PRESS UG_ICON_PATH"/myfile_icon_control_pause_press.png"
-#define UG_ICON_ENTRY_FOLDER UG_ICON_PATH"/myfile_icon_entry_folder.png"
-#define UG_ICON_ENTRY_FOLDER_PRESS UG_ICON_PATH"/myfile_icon_entry_folder_press.png"
-
-#define UG_ICON_BLACK_THEME_UPPER UG_ICON_PATH"/myfile_icon_upper_folder_black_theme.png"
-#define UG_ICON_WHITE_THEME_UPPER UG_ICON_PATH"/myfile_icon_upper_folder_white_theme.png"
-
-#define UG_ICON_PHONE UG_ICON_PATH"/myfile_icon_phone.png"
-#define UG_ICON_MEMORY UG_ICON_PATH"/myfile_icon_mmc.png"
-#define UG_ICON_VIDEO_PLAY UG_ICON_PATH"/myfile_icon_video_play.png"
-
-#define UG_ICON_ITEM_PHONE UG_ICON_PATH"/U01_1st_icon_phone.png"
-#define UG_ICON_ITEM_MMC UG_ICON_PATH"/U01_1st_icon_memory_card.png"
+#define UG_ICON_FOLDER "myfile_icon_folder.png"
+#define UG_ICON_ITEM_SHORTCUT "my_files_folder_favorite.png"
+
+#define UG_ICON_IMAGE "myfile_icon_images.png"
+#define UG_ICON_VIDEO "myfile_icon_video.png"
+#define UG_ICON_MUSIC "myfile_icon_music.png"
+//#define UG_ICON_SOUND "myfile_icon_music.png"
+#define UG_ICON_PDF "myfile_icon_pdf.png"
+#define UG_ICON_DOC "myfile_icon_word.png"
+#define UG_ICON_PPT "myfile_icon_ppt.png"
+#define UG_ICON_EXCEL "myfile_icon_excel.png"
+//#define UG_ICON_VOICE "myfile_icon_music.png"
+#define UG_ICON_HTML "myfile_icon_html.png"
+#define UG_ICON_FLASH "myfile_icon_swf.png"
+#define UG_ICON_TXT "myfile_icon_text.png"
+#define UG_ICON_VCONTACT "myfile_icon_vcard.png"
+#define UG_ICON_VCALENDAR "myfile_icon_vcalender.png"
+//#define UG_ICON_VNOTE "myfile_icon_text.png"
+#define UG_ICON_RSS "myfile_icon_rss.png"
+#define UG_ICON_JAVA "myfile_icon_java.png"
+#define UG_ICON_TPK "myfile_icon_tpk.png"
+#define UG_ICON_SNB "myfile_icon_snb.png"
+#define UG_ICON_HWP "myfile_icon_hwp.png"
+#define UG_ICON_GUL "myfile_icon_etc.png"
+#define UG_ICON_MUSIC_PLAY_WHITE "myfile_icon_control_play.png"
+#define UG_ICON_MUSIC_PAUSE_WHITE "myfile_icon_control_pause.png"
+#define UG_ICON_MUSIC_PLAY_WHITE_PRESS "myfile_icon_control_play_press.png"
+#define UG_ICON_MUSIC_PAUSE_WHITE_PRESS "myfile_icon_control_pause_press.png"
+#define UG_ICON_ENTRY_FOLDER "myfile_icon_entry_folder.png"
+#define UG_ICON_ENTRY_FOLDER_PRESS "myfile_icon_entry_folder_press.png"
+#define UG_ICON_VIDEO_PLAY "myfile_icon_video_play.png"
+
+//#define UG_ICON_ITEM_PHONE "myfile_icon_folder.png"
+#define UG_ICON_ITEM_MMC "myfile_icon_folder_sdcard.png"
+#define UG_ICON_MMC "myfile_icon_grid_folder_card.png"
+
+#define UG_ICON_ADD "myfile_icon_add.png"
+#define UG_ICON_DELETE "myfile_icon_delete.png"
+#define UG_ICON_CREATE_FOLDER "myfile_icon_create_folder.png"
+#define UG_ICON_MULTI_NO_CONTENTS "00_nocontents_multimedia.png"
+
+#define UG_ICON_ITEM_ROOT_PHONE "myfile_icon_root_folder_device_memory.png"
+#define UG_ICON_ITEM_ROOT_MMC "my_files_sd_card.png"
+
typedef enum _mf_ug_fs_file_type mf_ug_fs_file_type;
enum _mf_ug_fs_file_type {
- UG_FILE_TYPE_NONE = 0,
- UG_FILE_TYPE_DIR, /**< Folder category */
- UG_FILE_TYPE_FILE, /**< File category */
- UG_FILE_TYPE_IMAGE, /**< Image category */
- UG_FILE_TYPE_VIDEO, /**< Video category */
- UG_FILE_TYPE_MUSIC, /**< Music category */
- UG_FILE_TYPE_SOUND, /**< Sound category */
- UG_FILE_TYPE_PDF, /**< Pdf category */
- UG_FILE_TYPE_DOC, /**< Word category */
- UG_FILE_TYPE_PPT, /**< Powerpoint category */
- UG_FILE_TYPE_EXCEL, /**< Excel category */
- UG_FILE_TYPE_VOICE, /**< Voice category */
- UG_FILE_TYPE_HTML, /**< Html category */
- UG_FILE_TYPE_FLASH, /**< Flash category */
- UG_FILE_TYPE_GAME, /**< Game category */
- UG_FILE_TYPE_APP, /**< Application category */
- UG_FILE_TYPE_THEME, /**< Theme category */
- UG_FILE_TYPE_TXT, /**< Txt category */
- UG_FILE_TYPE_VCONTACT, /**< Vcontact category */
- UG_FILE_TYPE_VCALENDAR, /**< Vcalendar category */
- UG_FILE_TYPE_VNOTE, /**< Vnote category */
- UG_FILE_TYPE_VBOOKMARK, /**< Vbookmark category */
- UG_FILE_TYPE_VIDEO_PROJECT, /**< Video editor project category */
- UG_FILE_TYPE_RADIO_RECORDED, /**< radio recorded clips category */
- UG_FILE_TYPE_MOVIE_MAKER, /**< Movie maker project category */
- UG_FILE_TYPE_SVG, /**< Svg category */
- UG_FILE_TYPE_RSS, /**< Rss reader file, *.opml */
- UG_FILE_TYPE_CERTIFICATION, /**< certification file, *.pem */
- UG_FILE_TYPE_JAVA, /**< java file, *.jad, *.jar */
- UG_FILE_TYPE_WGT, /**< wrt , *.wgt, *.wgt */
- UG_FILE_TYPE_DRM, /**< drm file , *.dcf */
- UG_FILE_TYPE_ETC, /**< Other files category */
- UG_FILE_TYPE_MAX
+ UG_FILE_TYPE_NONE = 0,
+
+ UG_FILE_TYPE_DIR, /**< Folder category */
+ UG_FILE_TYPE_FILE, /**< File category */
+ UG_FILE_TYPE_IMAGE, /**< Image category */
+ UG_FILE_TYPE_VIDEO, /**< Video category */
+ UG_FILE_TYPE_MUSIC, /**< Music category */
+
+ UG_FILE_TYPE_SOUND, /**< Sound category */
+ UG_FILE_TYPE_PDF, /**< Pdf category */
+ UG_FILE_TYPE_DOC, /**< Word category */
+ UG_FILE_TYPE_PPT, /**< Powerpoint category */
+ UG_FILE_TYPE_EXCEL, /**< Excel category */
+
+ UG_FILE_TYPE_VOICE, /**< Voice category */
+ UG_FILE_TYPE_HTML, /**< Html category */
+ UG_FILE_TYPE_FLASH, /**< Flash category */
+ UG_FILE_TYPE_GAME, /**< Game category */
+ UG_FILE_TYPE_APP, /**< Application category */
+
+ UG_FILE_TYPE_THEME, /**< Theme category */
+ UG_FILE_TYPE_TXT, /**< Txt category */
+ UG_FILE_TYPE_VCONTACT, /**< Vcontact category */
+ UG_FILE_TYPE_VCALENDAR, /**< Vcalendar category */
+ UG_FILE_TYPE_VNOTE, /**< Vnote category */
+
+ UG_FILE_TYPE_VBOOKMARK, /**< Vbookmark category */
+ UG_FILE_TYPE_VIDEO_PROJECT, /**< Video editor project category */
+ UG_FILE_TYPE_RADIO_RECORDED, /**< radio recorded clips category */
+ UG_FILE_TYPE_MOVIE_MAKER, /**< Movie maker project category */
+ UG_FILE_TYPE_SVG, /**< Svg category */
+
+ UG_FILE_TYPE_RSS, /**< Rss reader file, *.opml */
+ UG_FILE_TYPE_CERTIFICATION, /**< certification file, *.pem */
+ UG_FILE_TYPE_JAVA, /**< java file, *.jad, *.jar */
+ UG_FILE_TYPE_WGT, /**< wrt , *.wgt, *.wgt */
+ UG_FILE_TYPE_MP4_AUDIO,
+ UG_FILE_TYPE_MP4_VIDEO,
+ UG_FILE_TYPE_TPK, /**< *.tpk>*/
+ UG_FILE_TYPE_SNB, /**<*.snb> */
+ UG_FILE_TYPE_GUL, /**<*.gul> */
+
+ UG_FILE_TYPE_HWP, /**<*.hwp> */
+ UG_FILE_TYPE_ETC, /**< Other files category */
+ UG_FILE_TYPE_MAX
};
typedef enum _mf_ug_iter_category_filter_t mf_ug_iter_category_filter_t;
enum _mf_ug_iter_category_filter_t {
- UG_FILTER_CATEGORY_NONE = 0x00000000, /**< Default */
- UG_FILTER_CATEGORY_IMAGE = 0x00000001, /**< Image category */
- UG_FILTER_CATEGORY_VIDEO = 0x00000002, /**< Video category */
- UG_FILTER_CATEGORY_SOUND = 0x00000004, /**< Sound category */
- UG_FILTER_CATEGORY_VOICE = 0x00000008, /**< Voice category */
- UG_FILTER_CATEGORY_MUSIC = 0x00000010, /**< Music category */
- UG_FILTER_CATEGORY_HTML = 0x00000020, /**< Html category */
- UG_FILTER_CATEGORY_FLASH = 0x00000040, /**< Flash category */
- UG_FILTER_CATEGORY_GAME = 0x00000080, /**< Game category */
- UG_FILTER_CATEGORY_APP = 0x00000100, /**< Application category */
- UG_FILTER_CATEGORY_THEME = 0x00000200, /**< Theme category */
- UG_FILTER_CATEGORY_DOC = 0x00000400, /**< Word category */
- UG_FILTER_CATEGORY_EXCEL = 0x00000800, /**< Excel category */
- UG_FILTER_CATEGORY_PPT = 0x00001000, /**< Powerpoint category */
- UG_FILTER_CATEGORY_PDF = 0x00002000, /**< Pdf category */
- UG_FILTER_CATEGORY_TXT = 0x00004000, /**< Txt category */
- UG_FILTER_CATEGORY_VCONTACT = 0x00008000, /**< Vcontact category */
- UG_FILTER_CATEGORY_VCALENDAR = 0x00010000, /**< Vcalendar category */
- UG_FILTER_CATEGORY_VNOTE = 0x00020000, /**< Vnote category */
- UG_FILTER_CATEGORY_VBOOKMARK = 0x00040000, /**< Vbookmark category */
- UG_FILTER_CATEGORY_VIDEO_PROJECT = 0x00080000, /**< Video editor project category */
- UG_FILTER_CATEGORY_SVG = 0x00100000, /**< SVG category */
- UG_FILTER_CATEGORY_RSS = 0x00200000, /**< RSS category */
- UG_FILTER_CATEGORY_ETC = 0x00400000, /**< Other files category */
-
+ UG_FILTER_CATEGORY_NONE = 0x00000000, /**< Default */
+ UG_FILTER_CATEGORY_IMAGE = 0x00000001, /**< Image category */
+ UG_FILTER_CATEGORY_VIDEO = 0x00000002, /**< Video category */
+ UG_FILTER_CATEGORY_SOUND = 0x00000004, /**< Sound category */
+ UG_FILTER_CATEGORY_VOICE = 0x00000008, /**< Voice category */
+ UG_FILTER_CATEGORY_MUSIC = 0x00000010, /**< Music category */
+ UG_FILTER_CATEGORY_HTML = 0x00000020, /**< Html category */
+ UG_FILTER_CATEGORY_FLASH = 0x00000040, /**< Flash category */
+ UG_FILTER_CATEGORY_GAME = 0x00000080, /**< Game category */
+ UG_FILTER_CATEGORY_APP = 0x00000100, /**< Application category */
+ UG_FILTER_CATEGORY_THEME = 0x00000200, /**< Theme category */
+ UG_FILTER_CATEGORY_DOC = 0x00000400, /**< Word category */
+ UG_FILTER_CATEGORY_EXCEL = 0x00000800, /**< Excel category */
+ UG_FILTER_CATEGORY_PPT = 0x00001000, /**< Powerpoint category */
+ UG_FILTER_CATEGORY_PDF = 0x00002000, /**< Pdf category */
+ UG_FILTER_CATEGORY_TXT = 0x00004000, /**< Txt category */
+ UG_FILTER_CATEGORY_VCONTACT = 0x00008000, /**< Vcontact category */
+ UG_FILTER_CATEGORY_VCALENDAR = 0x00010000, /**< Vcalendar category */
+ UG_FILTER_CATEGORY_VNOTE = 0x00020000, /**< Vnote category */
+ UG_FILTER_CATEGORY_VBOOKMARK = 0x00040000, /**< Vbookmark category */
+ UG_FILTER_CATEGORY_VIDEO_PROJECT = 0x00080000, /**< Video editor project category */
+ UG_FILTER_CATEGORY_SVG = 0x00100000, /**< SVG category */
+ UG_FILTER_CATEGORY_RSS = 0x00200000, /**< RSS category */
+ UG_FILTER_CATEGORY_ETC = 0x00400000, /**< Other files category */
+ UG_FILTER_CATEGORY_MP4_VIDEO = 0x00800000,
+ UG_FILTER_CATEGORY_MP4_AUDIO = 0x0100000,
+ UG_FILTER_CATEGORY_SNB = 0x0200000,
+ UG_FILTER_CATEGORY_GUL = 0x0400000,
+ UG_FILTER_CATEGORY_HWP = 0x0800000,
+ UG_FILTER_CATEGORY_ALL = 0x8000000,
};
-typedef enum _mf_ug_drm_filter mf_ug_drm_filter;
-enum _mf_ug_drm_filter {
- MF_UG_FILTER_DRM_NONE = 0x00000000, /**< Default */
- MF_UG_FILTER_DRM_ALL = 0x00000001,
- MF_UG_FILTER_DRM_WITHOUT_FL = 0x00000002,
- MF_UG_FILTER_DRM_IMAGE = 0x00000004,
- MF_UG_FILTER_DRM_RINGTONE = 0x00000008,
-};
typedef enum _mf_ug_storage_type mf_ug_storage_type;
enum _mf_ug_storage_type {
- MF_UG_NONE,
- MF_UG_PHONE,
- MF_UG_MMC,
- MF_UG_MAX
-};
-
-
-
-typedef enum _mf_ug_drm_file_mime_type mf_ug_drm_file_mime_type;
-enum _mf_ug_drm_file_mime_type {
- MF_UG_DRM_UNKNOW_FILE = 0,
- MF_UG_DRM_IMAGE_FILE,
- MF_UG_DRM_RINGTONE_FILE,
- MF_UG_DRM_VIDEO_FILE,
- MF_UG_DRM_FILE_MAX
+ MF_UG_NONE,
+ MF_UG_PHONE,
+ MF_UG_MMC,
+ MF_UG_MAX
};
typedef enum _mf_ug_sort_option mf_ug_sort_option;
enum _mf_ug_sort_option {
- MF_UG_SORT_BY_NONE = 0, /**< Sort by default */
- MF_UG_SORT_BY_NAME_A2Z, /**< Sort by file name ascending */
- MF_UG_SORT_BY_SIZE_S2L, /**< Sort by file size ascending */
- MF_UG_SORT_BY_DATE_O2R, /**< Sort by file date ascending */
- MF_UG_SORT_BY_TYPE_A2Z, /**< Sort by file type ascending */
- MF_UG_SORT_BY_NAME_Z2A, /**< Sort by file name descending */
- MF_UG_SORT_BY_SIZE_L2S, /**< Sort by file size descending */
- MF_UG_SORT_BY_DATE_R2O, /**< Sort by file date descending */
- MF_UG_SORT_BY_TYPE_Z2A, /**< Sort by file type descending */
- MF_UG_SORT_BY_MAX
+ MF_UG_SORT_BY_NONE = 0, /**< Sort by default */
+ MF_UG_SORT_BY_NAME_A2Z, /**< Sort by file name ascending */
+ MF_UG_SORT_BY_SIZE_S2L, /**< Sort by file size ascending */
+ MF_UG_SORT_BY_DATE_O2R, /**< Sort by file date ascending */
+ MF_UG_SORT_BY_TYPE_A2Z, /**< Sort by file type ascending */
+ MF_UG_SORT_BY_NAME_Z2A, /**< Sort by file name descending */
+ MF_UG_SORT_BY_SIZE_L2S, /**< Sort by file size descending */
+ MF_UG_SORT_BY_DATE_R2O, /**< Sort by file date descending */
+ MF_UG_SORT_BY_TYPE_Z2A, /**< Sort by file type descending */
+ MF_UG_SORT_BY_MAX
} ;
typedef enum __MF_UG_SORT_BY_PRIORITY_SEQUENCE MF_UG_SORT_BY_PRIORITY_SEQUENCE;
enum __MF_UG_SORT_BY_PRIORITY_SEQUENCE {
- MF_UG_SORT_BY_PRIORITY_TYPE_A2Z,
- MF_UG_SORT_BY_PRIORITY_TYPE_Z2A,
- MF_UG_SORT_BY_PRIORITY_DATE_O2R,
- MF_UG_SORT_BY_PRIORITY_DATE_R2O,
- MF_UG_SORT_BY_PRIORITY_SIZE_S2L,
- MF_UG_SORT_BY_PRIORITY_SIZE_L2S,
+ MF_UG_SORT_BY_PRIORITY_TYPE_A2Z,
+ MF_UG_SORT_BY_PRIORITY_TYPE_Z2A,
+ MF_UG_SORT_BY_PRIORITY_DATE_O2R,
+ MF_UG_SORT_BY_PRIORITY_DATE_R2O,
+ MF_UG_SORT_BY_PRIORITY_SIZE_S2L,
+ MF_UG_SORT_BY_PRIORITY_SIZE_L2S,
};
-/* File operation error check options definition */
-#define MF_ERROR_CHECK_SRC_ARG_VALID 0x0001
-#define MF_ERROR_CHECK_SRC_EXIST 0x0002
-#define MF_ERROR_CHECK_SRC_PATH_VALID 0x0004
-#define MF_ERROR_CHECK_DUPLICATED 0x0008
+/* File operation error check options definition */
+#define MF_ERROR_CHECK_SRC_ARG_VALID 0x0001
+#define MF_ERROR_CHECK_SRC_EXIST 0x0002
+#define MF_ERROR_CHECK_SRC_PATH_VALID 0x0004
+#define MF_ERROR_CHECK_DUPLICATED 0x0008
-/* File system error definition */
+/* File system error definition */
#define MF_ERROR_MASKL16 0xFFFF
-
#define MF_ERROR_SET(X) (X & MF_ERROR_MASKL16)
-
#define MID_CONTENTS_MGR_ERROR 0
-
-#define MYFILE_ERR_NONE (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x00)) /**< No error */
+#define MYFILE_ERR_NONE (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x00)) /**< No error */
/*/1-10*/
-#define MYFILE_ERR_SRC_ARG_INVALID (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x01)) /**< invalid src argument */
-#define MYFILE_ERR_DST_ARG_INVALID (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x02)) /**< invalid dst argument */
-#define MYFILE_ERR_DIR_OPEN_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x03)) /**< exception of dir open*/
-#define MYFILE_ERR_INVALID_DIR_PATH (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x04)) /**< exception of invalid dir path */
-#define MYFILE_ERR_INVALID_FILE_NAME (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x05)) /**< exception of invalid file name */
-#define MYFILE_ERR_INVALID_FILE_PATH (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x06)) /**< exception of invalid file path */
-#define MYFILE_ERR_DRM_PERMISSION_DENY (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x07)) /**< can't copy/move drm file because of permission */
-#define MYFILE_ERR_SRC_NOT_EXIST (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x08)) /**< source not found */
-#define MYFILE_ERR_STORAGE_TYPE_ERROR (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x09)) /**< storage type error */
-#define MYFILE_ERR_EXT_GET_ERROR (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0a)) /**< get ext type failed */
-#define MYFILE_ERR_GET_STAT_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0b)) /**< get stat failed */
-#define MYFILE_ERR_GET_CATEGORY_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0c)) /**< get file category failed */
-#define MYFILE_ERR_GET_VCONF_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0d)) /**< get vconf value failed */
-#define MYFILE_ERR_INVALID_ARG (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0e)) /**< argument of function is not valid */
-#define MYFILE_ERR_ALLOCATE_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0f))
-#define MYFILE_ERR_LIST_PLAY_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x10))
-#define MYFILE_ERR_INVALID_PATH (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x11)) /**< invalid path string */
-#define MYFILE_ERR_GET_THUMBNAIL_FAILED (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x12)) /**<get thumbnail failed */
-#define MYFILE_ERR_UNKNOW_ERROR (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x13)) /**<unknow error */
-#define MYFILE_ERR_NO_FREE_SPACE (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x14)) /**< get free space failed */
-#define MYFILE_ERR_DUPLICATED_NAME (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x15)) /**< exception of duplicated dir name*/
-#define MYFILE_ERR_ALLOCATE_MEMORY_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x16)) /**< exception of memory allocation */
-#define MYFILE_ERR_GET_LOGIC_PATH_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x17)) /**< get logical path failed */
-#define MYFILE_ERR_GENERATE_NAME_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x18)) /**< generate name failed */
-#define MYFILE_ERR_DIR_CREATE_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x19)) /**< exception of create dir */
-#define MYFILE_ERR_GET_PARENT_PATH_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x1a)) /**< get parent path failed */
-#define MYFILE_ERR_EXCEED_MAX_LENGTH (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x1b)) /**< length of file/dir path exceeds maximum length*/
-
-/* File system related callback definition */
-
+#define MYFILE_ERR_SRC_ARG_INVALID (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x01)) /**< invalid src argument */
+#define MYFILE_ERR_DST_ARG_INVALID (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x02)) /**< invalid dst argument */
+#define MYFILE_ERR_DIR_OPEN_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x03)) /**< exception of dir open*/
+#define MYFILE_ERR_INVALID_DIR_PATH (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x04)) /**< exception of invalid dir path */
+#define MYFILE_ERR_INVALID_FILE_NAME (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x05)) /**< exception of invalid file name */
+#define MYFILE_ERR_INVALID_FILE_PATH (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x06)) /**< exception of invalid file path */
+#define MYFILE_ERR_SRC_NOT_EXIST (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x08)) /**< source not found */
+#define MYFILE_ERR_STORAGE_TYPE_ERROR (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x09)) /**< storage type error */
+#define MYFILE_ERR_EXT_GET_ERROR (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0a)) /**< get ext type failed */
+#define MYFILE_ERR_GET_STAT_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0b)) /**< get stat failed */
+#define MYFILE_ERR_GET_CATEGORY_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0c)) /**< get file category failed */
+#define MYFILE_ERR_GET_CONF_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0d)) /**< get conf value failed */
+#define MYFILE_ERR_INVALID_ARG (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0e)) /**< argument of function is not valid */
+#define MYFILE_ERR_ALLOCATE_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x0f))
+#define MYFILE_ERR_LIST_PLAY_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x10))
+#define MYFILE_ERR_INVALID_PATH (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x11)) /**< invalid path string */
+#define MYFILE_ERR_GET_THUMBNAIL_FAILED (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x12)) /**<get thumbnail failed */
+#define MYFILE_ERR_UNKNOW_ERROR (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x13)) /**<unknow error */
+#define MYFILE_ERR_NO_FREE_SPACE (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x14)) /**< get free space failed */
+#define MYFILE_ERR_DUPLICATED_NAME (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x15)) /**< exception of duplicated dir name*/
+#define MYFILE_ERR_ALLOCATE_MEMORY_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x16)) /**< exception of memory allocation */
+#define MYFILE_ERR_GET_LOGIC_PATH_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x17)) /**< get logical path failed */
+#define MYFILE_ERR_GENERATE_NAME_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x18)) /**< generate name failed */
+#define MYFILE_ERR_DIR_CREATE_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x19)) /**< exception of create dir */
+#define MYFILE_ERR_GET_PARENT_PATH_FAIL (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x1a)) /**< get parent path failed */
+#define MYFILE_ERR_EXCEED_MAX_LENGTH (MID_CONTENTS_MGR_ERROR - MF_ERROR_SET(0x1b)) /**< length of file/dir path exceeds maximum length*/
+
+/* File system related callback definition */
typedef struct _ugFsNodeInfo ugFsNodeInfo;
struct _ugFsNodeInfo {
- char path[MYFILE_DIR_PATH_LEN_MAX];
- char name[MYFILE_FILE_NAME_LEN_MAX];
- time_t date;
- mf_ug_fs_file_type type;
- char *ext;
- unsigned int size;
+ char *path;
+ char *name;
+ time_t date;
+ mf_ug_fs_file_type type;
+ char *ext;
+ unsigned int size;
+ int storage_type;
};
-/********** File Attribute Related **********/
+/********** File Attribute Related **********/
int mf_ug_file_attr_get_file_stat(const char *filename, ugFsNodeInfo ** node);
-
-int mf_ug_file_attr_get_file_category(const char *filepath, mf_ug_fs_file_type * category);
+int mf_ug_file_attr_get_file_category(char *filepath, mf_ug_fs_file_type * category);
int mf_ug_file_attr_is_dir(const char *filepath);
int mf_ug_file_attr_get_store_type_by_full(const char *filepath, mf_ug_storage_type * store_type);
-int mf_ug_file_attr_is_drm_file(const char *file_fullpath);
int mf_ug_file_attr_get_file_ext(const char *filepath, char **file_ext);
int mf_ug_file_attr_is_right_dir_path(const char *dir_path);
int mf_ug_file_attr_is_right_file_path(const char *file_path);
int mf_ug_file_attr_is_duplicated_name(const char *dir, const char *name);
int mf_ug_file_attr_get_logical_path_by_full(const char *full_path, char **path);
int mf_ug_file_attr_is_valid_name(const char *filename);
-
-/********** File Operation Related **********/
-int mf_ug_fs_oper_read_dir(const char *path, Eina_List **dir_list, Eina_List **file_list);
-int mf_ug_fs_oper_list_filter(Eina_List *in_list, Eina_List **out_list, int option, int drm_opt);
-int mf_ug_fs_oper_list_filter_by_extension(Eina_List *in_list, Eina_List **out_list, char *ext);
-int mf_ug_file_attr_get_file_icon(const char *file_path, int *error_code, char **thumbnail);
-mf_ug_drm_file_mime_type mf_ug_fs_oper_get_drm_type(char *path);
+char *mf_ug_file_attr_default_icon_get_by_type(mf_ug_fs_file_type ftype);
int mf_ug_file_attr_is_system_dir(char *fullpath, bool * result);
+char *mf_ug_file_attr_sound_title_get(const char *fullpath);
+int mf_ug_file_attr_get_file_size(const char *filename, off_t *size);
+int mf_ug_file_attr_get_file_icon(char *file_path, int *error_code, char **thumbnail,
+ media_info_h *media_info);
+mf_ug_fs_file_type mf_ug_file_attr_get_file_type(const char *mime);
mf_ug_fs_file_type mf_ug_file_attr_get_file_type_by_mime(const char *file_path);
+
+/********** File Operation Related **********/
+int mf_ug_fs_oper_read_dir(char *path, Eina_List **dir_list, Eina_List **file_list);
+int mf_ug_fs_oper_list_filter(Eina_List *in_list, Eina_List **out_list, int option);
+int mf_ug_fs_oper_list_filter_by_extension(Eina_List *in_list, Eina_List **out_list, char *ext);
int mf_ug_fs_oper_create_dir(const char *dir);
void mf_ug_fs_oper_sort_list(Eina_List **list, int sort_opt);
-int mf_ug_fs_oper_drm_is_action_allowed(const char *path, drm_action_type_e action, drm_setas_category_e category);
-bool mf_ug_fs_oper_drm_is_valid(const char *path, drm_permission_type_e perm_type);
+
#endif
diff --git a/src/include/mf-ug-inotify-handle.h b/src/include/mf-ug-inotify-handle.h
index 8c85604..f3078dd 100644
--- a/src/include/mf-ug-inotify-handle.h
+++ b/src/include/mf-ug-inotify-handle.h
@@ -1,33 +1,38 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+
#ifndef __DEF_MF_UG_INOTIFY_HANDLE_H
#define __DEF_MF_UG_INOTIFY_HANDLE_H
typedef enum _mf_ug_inotify_event mf_ug_inotify_event;
enum _mf_ug_inotify_event {
- UG_MF_INOTI_NONE = 0,
- UG_MF_INOTI_CREATE,
- UG_MF_INOTI_DELETE,
- UG_MF_INOTI_MODIFY,
- UG_MF_INOTI_MOVE_OUT,
- UG_MF_INOTI_MOVE_IN,
- UG_MF_INOTI_DELETE_SELF,
- UG_MF_INOTI_MOVE_SELF,
- UG_MF_INOTI_MAX,
+ UG_MF_INOTI_NONE = 0,
+ UG_MF_INOTI_CREATE,
+ UG_MF_INOTI_DELETE,
+ UG_MF_INOTI_MODIFY,
+ UG_MF_INOTI_MOVE_OUT,
+ UG_MF_INOTI_MOVE_IN,
+ UG_MF_INOTI_DELETE_SELF,
+ UG_MF_INOTI_MOVE_SELF,
+ UG_MF_INOTI_MAX,
};
typedef void (*mf_ug_inotify_cb) (mf_ug_inotify_event event, char *name, void *data);
diff --git a/src/include/mf-ug-list-play.h b/src/include/mf-ug-list-play.h
index 493785d..36c9356 100644
--- a/src/include/mf-ug-list-play.h
+++ b/src/include/mf-ug-list-play.h
@@ -1,18 +1,20 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
#ifndef __MF_UG_LIST_PLAY_H
#define __MF_UG_LIST_PLAY_H
@@ -21,53 +23,60 @@
#include <sound_manager.h>
typedef enum {
- MF_PLAYER_CB_TYPE_STARTED,
- MF_PLAYER_CB_TYPE_PAUSED,
- MF_PLAYER_CB_TYPE_COMPLETED,
- MF_PLAYER_CB_TYPE_INTURRUPTED,
- MF_PLAYER_CB_TYPE_ERROR,
- MF_PLAYER_CB_TYPE_BUFFERING,
- MF_PLAYER_CB_TYPE_PREPARE,
- MF_PLAYER_CB_TYPE_NUM,
+ MF_PLAYER_CB_TYPE_STARTED,
+ MF_PLAYER_CB_TYPE_PAUSED,
+ MF_PLAYER_CB_TYPE_COMPLETED,
+ MF_PLAYER_CB_TYPE_INTURRUPTED,
+ MF_PLAYER_CB_TYPE_ERROR,
+ MF_PLAYER_CB_TYPE_BUFFERING,
+ MF_PLAYER_CB_TYPE_PREPARE,
+ MF_PLAYER_CB_TYPE_NUM,
} mf_player_cb_type;
typedef enum {
- MF_VOLUME_NONE,
- MF_VOLUME_ALERT,
- MF_VOLUME_NOTIFICATION,
- MF_VOLUME_RINGTONE,
- MF_VOLUME_NUM
+ MF_VOLUME_NONE,
+ MF_VOLUME_ALERT,
+ MF_VOLUME_NOTIFICATION,
+ MF_VOLUME_RINGTONE,
+ MF_VOLUME_NUM
} mf_player_volume_type;
typedef struct __mf_player_cbs mf_player_cbs;
struct __mf_player_cbs{
- /* player callbacks */
- /*note: start callback and paused callback for player have been removed*/
- /*player_started_cb started_cb;*/
- /*player_paused_cb paused_cb;*/
- player_completed_cb completed_cb;
- player_interrupted_cb interrupted_cb;
- player_error_cb error_cb;
- player_buffering_cb buffering_cb;
- player_prepared_cb prepare_cb;
+ /* player callbacks */
+ /*note: start callback and paused callback for player have been removed*/
+ /*player_started_cb started_cb;*/
+ /*player_paused_cb paused_cb;*/
+ player_completed_cb completed_cb;
+ player_interrupted_cb interrupted_cb;
+ player_error_cb error_cb;
+ player_buffering_cb buffering_cb;
+ player_prepared_cb prepare_cb;
- /* callback user data */
- void *user_data[MF_PLAYER_CB_TYPE_NUM];
+ /* callback user data */
+ void *user_data[MF_PLAYER_CB_TYPE_NUM];
};
typedef struct {
- mf_player_cb_type cb_type;
+ mf_player_cb_type cb_type;
- union {
- player_interrupted_code_e interrupted_code;
- int error_code;
- int percent;
- } param;
+ union {
+ player_interrupted_code_e interrupted_code;
+ int error_code;
+ int percent;
+ } param;
} mf_player_cb_extra_data;
-void mf_ug_player_vol_set(const char *path);
-void mf_ug_list_play_pause(void *data);
+void mf_ug_player_vol_set(void* data, const char *path);
+void mf_ug_player_vol_reset_default_value(void* data);
+
+bool mf_ug_list_play_pause(void *data);
+void mf_ug_list_disable_play_itc(void *data, bool disable);
+bool mf_ug_is_default_ringtone(void *data, const char *path);
+int mf_ug_list_play_earjack_monitor(void *data);
+void mf_ug_destory_earjack_monitor();
+bool mf_ug_is_silent(void *data, const char *path);
#endif
diff --git a/src/include/mf-ug-main.h b/src/include/mf-ug-main.h
index 4414940..93765ab 100644
--- a/src/include/mf-ug-main.h
+++ b/src/include/mf-ug-main.h
@@ -1,203 +1,200 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#ifndef __DEF_MF_UG_MAIN_H_
#define __DEF_MF_UG_MAIN_H_
#define __ARM__
-#include <Elementary.h>
-#include <Ethumb.h>
+#include <stdbool.h>
#include <glib.h>
-#include <Ecore.h>
#include <glib-object.h>
+
+#include <app.h>
+#include <Ecore.h>
+#include <Elementary.h>
+#include <Ethumb.h>
+#include <player.h>
#include <ui-gadget-module.h>
#include <ui-gadget.h>
-#include <app.h>
-#include <stdbool.h>
-#include <drm_client.h>
-#include <drm_client_types.h>
+#include <device/power.h>
+#include <device/callback.h>
#include <media_content.h>
-#include <player.h>
-
-
#include "mf-ug-dlog.h"
-#include "../../data/ug_edc_common.h"
#include "mf-ug-conf.h"
#include "mf-ug-search.h"
-/*********** Global Definitions ***********/
+#include "mf-ug-media-types.h"
+/*********** Global Definitions ***********/
#ifndef UG_MODULE_API
#define UG_MODULE_API __attribute__ ((visibility("default")))
#endif
-typedef void (*ugCallBack) (void *, Evas_Object *, void *);
-
-typedef struct _ugNaviBar ugNaviBar;
-
-struct _ugNaviBar {
- char *ug_pNaviLabel;
- char *ug_pNaviTitle;
- char *ug_pCurrentPath;
- bool ug_bNaviFlagInUse;
-};
+#define SILENT "silent"
+#define SILENT_SHOW "silent show"
+#define DEFAULT_RINGTONE_MARK "default ringtone"
+typedef void (*ugCallBack) (void *, Evas_Object *, void *);
typedef struct _ugMainWindow ugMainWindow;
struct _ugMainWindow {
- Evas_Object *ug_pWindow;
- Evas_Object *ug_pBackGround;
- Evas_Object *ug_pTabBackGround;
- Evas_Object *ug_pMainLayout;
- Evas_Object *ug_pNormalPopup;
- Evas_Object *ug_pSearchLabel;
- Evas_Object *ug_pSelectInfoLayout;
- Evas_Object *ug_pRadioGroup;
- Evas_Object *ug_pTabBar;
-
- Evas_Object *ug_pNaviBar;
- Evas_Object *ug_pNaviLayout;
- Evas_Object *ug_pNaviGenlist;
- Evas_Object *ug_pNaviCtrlBar;
- Evas_Object *ug_pNaviBox;
-
- Evas_Object *ug_pEditField;
- Evas_Object *ug_pEntry;
- Evas_Object *ug_pSelectAllLayout;
- Evas_Object *ug_pSelectAllCheckBox;
- Evas_Object *ug_pSearchPopup;
- Evas_Object *ug_pContextPopup;
- Evas_Object *ug_pNewFolderPopup;
-
- Elm_Object_Item *ug_pPreNaviItem;
- Elm_Object_Item *ug_pNaviItem;
- Eina_List *ug_pNaviBarList;
- Evas_Object *ug_ctrlBar;
-
+ Evas_Object *ug_pWindow;
+ Evas_Object *ug_pBackGround;
+ Evas_Object *ug_pTabBackGround;
+ Evas_Object *ug_pMainLayout;
+ Evas_Object *ug_pConformant;
+ Evas_Object *ug_pNormalPopup;
+ Evas_Object *ug_pSearchLabel;
+ Evas_Object *ug_pSelectInfoLayout;
+ Evas_Object *ug_pRadioGroup;
+
+ Evas_Object *ug_pNaviBar;
+ Evas_Object *ug_pNaviLayout;
+ Evas_Object *ug_pNaviGenlist;
+ Evas_Object *ug_pNaviCtrlBar;
+ Evas_Object *ug_pNaviBox;
+
+ Evas_Object *ug_pEditField;
+ Evas_Object *ug_pEntry;
+ Evas_Object *ug_pSelectAllLayout;
+ Evas_Object *ug_pSelectAllCheckBox;
+ Evas_Object *ug_pSearchPopup;
+ Evas_Object *ug_pContextPopup;
+ Evas_Object *ug_pNewFolderPopup;
+ Evas_Object *pPathinfo;
+ char *ug_pNaviTitle;
+
+ Elm_Object_Item *ug_pPreNaviItem;
+ Elm_Object_Item *ug_pNaviItem;
+ Eina_List *ug_pNaviBarList;
};
typedef struct _ugStatus ugStatus;
struct _ugStatus {
- GString *ug_pPath;
- int ug_iState;
- int ug_iSortType;
- int ug_iRadioOn;
- int ug_iMmcFlag;
- int ug_iCtrlBarType;
- int ug_iRadioValue; /** current the radio box selected item value **/
- int ug_iSelectedSortType;
- int ug_iMore;
- int ug_iCheckedCount;
- int ug_iTotalCount;
- int ug_iViewType;
-
- bool ug_bAudioPlayFlag;
- bool ug_bInstallFlag;
- bool ug_bSettingEntry;
- bool ug_bInSettingView;
- bool ug_bNoContentFlag;
- bool ug_bCancelDisableFlag;
- bool ug_b_NaviPushFlag;
- bool ug_bRingtoneSet;
- Eina_Bool ug_bSelectAllChecked;
- int ug_iThemeType;
- char *ug_pUpper_folder;
- char *ug_pEntryPath;
- char *monitor_path;
- bool ug_bUpperFlag;
- Elm_Genlist_Item_Class ug_itc;
- Elm_Genlist_Item_Class ug_topitc;
- Elm_Genlist_Item_Class ug_separtor_no_bottom_line_itc;
- Elm_Genlist_Item_Class ug_separtor_with_bottom_line_itc;
- Elm_Genlist_Item_Class ug_normalitc;
- Elm_Genlist_Item_Class ug_editfileditc;
- Elm_Genlist_Item_Class ug_editfiledUpperSeperatoritc;
- Elm_Genlist_Item_Class ug_editfiledBottomSeperatoritc;
- Elm_Genlist_Item_Class ug_newfolderitec;
- Elm_Genlist_Item_Class ug_pathinfoitec;
-#ifdef UG_THUMB_REAL_TIME_UPDATE
- Ecore_Timer *ug_pThumbUpdateTimer;
-#endif
- Evas_Object *ug_pRadioGroup;
- mf_search_handle search_handler;
-
- Eina_List *search_result_list;
- Ecore_Idler *search_idler;
- Ecore_Idler *popup_del_idler;
- Ecore_Idler *popup_create_idler;
- Ecore_Idler *msg_finish_idler;
- Ecore_Timer *pPopupTimer;
- Ecore_Timer *play_timer;
+ GString *ug_pPath;
+ char *ug_launch_path; /*myfile launch view path*/
+ int ug_launch_view;
+ int ug_iState;
+ int ug_iSortType;
+ int ug_iRadioOn;
+ int ug_iMmcFlag;
+ int ug_iCtrlBarType;
+ int ug_iRadioValue; /** current the radio box selected item value **/
+ int ug_iSelectedSortType;
+ int ug_iMore;
+ int ug_iCheckedCount;
+ int ug_iTotalCount;
+ int ug_iViewType;
+ Eina_Bool flagSearchStart;
+
+ bool ug_bInstallFlag;
+ bool ug_bNoContentFlag;
+ bool ug_bCancelDisableFlag;
+ Eina_Bool ug_bSelectAllChecked;
+ int ug_iThemeType;
+ char *ug_pUpper_folder;
+ char *ug_pEntryPath; /*the current ringtone file path*/
+ char *monitor_path;
+ char *mark_mode;
+ Eina_Bool ug_bDisableSelectAll;
+
+ Elm_Genlist_Item_Class ug_1text3icon_itc;
+ Elm_Genlist_Item_Class ug_1text2icon4_itc;
+ Elm_Genlist_Item_Class ug_1text2icon_itc;
+ Elm_Genlist_Item_Class ug_1text1icon_itc;
+ Evas_Object *ug_pRadioGroup;
+ mf_search_handle search_handler;
+
+ Eina_List *search_result_list;
+ Ecore_Idler *search_idler;
+ Ecore_Idler *popup_del_idler;
+ Ecore_Idler *popup_create_idler;
+ Ecore_Idler *msg_finish_idler;
+ Ecore_Timer *pSearchTimer;
+ Ecore_Timer *play_timer;
+
};
+typedef enum __mf_ug_sound_mode_e mf_ug_sound_mode_e;
+enum __mf_ug_sound_mode_e {
+ mf_ug_sound_mode_none,
+ mf_ug_sound_mode_ringtone,
+ mf_ug_sound_mode_alert
+};
typedef struct _ugUiGadget ugUiGadget;
struct _ugUiGadget {
- int ug_iFilterMode;
- int ug_iSelectMode;
- int ug_iMarkedMode;
- int ug_iDrmFilterMode;
- int ug_iImportMode;
+ int ug_iFilterMode;
+ int ug_iSelectMode;
+ int ug_iMarkedMode;
+ int ug_iImportMode;
+ int ug_iSoundMode;
#ifdef UG_OPERATION_SELECT_MODE
- int ug_bOperationSelectFlag;
+ int ug_bOperationSelectFlag;
#endif
- unsigned long ug_iFileFilter;
- int ug_iDrmFilter;
- char *ug_pExtension;
- Eina_List *ug_pDirList;
- Eina_List *ug_pFilterList;
- Eina_List *ug_pMultiSelectFileList;
- Ecore_Pipe *ug_pInotifyPipe;
- Ecore_Pipe *ug_pSyncPipe;
+ unsigned long ug_iFileFilter;
+ int ug_iMaxLength;
+ Eina_Bool ug_MaxSetFlag;
+ char *ug_pExtension;
+ char *default_ringtone;
+ char *title;
+ char *domain;
+ char *position;
+
+ Eina_Bool silent;
+ Eina_List *ug_pSearchFileList;
+ Eina_List *ug_pDirList;
+ Eina_List *ug_pFilterList;
+ Eina_List *ug_pMultiSelectFileList;
+ Ecore_Pipe *ug_pInotifyPipe;
+ Ecore_Pipe *ug_pSyncPipe;
};
-typedef struct _ugDrmInfo ugDrmInfo;
-struct _ugDrmInfo {
- int version;
- int constraint_type;
- char validity[DRM_MESSAGE_LEN];
- char description[DRM_MESSAGE_LEN];
- bool forward;
-};
-
-
typedef struct _ugListPlay ugListPlay;
struct _ugListPlay {
- char *ug_pPlayFilePath;
- player_h ug_Player;
- int ug_iPlayState;
- bool ug_bDrmContentCanPlay;
- bool ug_bDrmconsumption;
- ugDrmInfo ug_DrmInfo;
- Ecore_Idler *playing_err_idler;
+ char *ug_pPlayFilePath;
+ player_h ug_Player;
+ int ug_iPlayState;
+ Elm_Object_Item *play_data;
+ bool hiden_flag;
+ Ecore_Idler *playing_err_idler;
};
typedef struct _ugData ugData;
struct _ugData {
- ugMainWindow ug_MainWindow;
- ugStatus ug_Status;
- ugUiGadget ug_UiGadget;
- ugListPlay ug_ListPlay;
- ui_gadget_h ug;
- Ecore_Event_Handler *key_event_handler;
+ ugMainWindow ug_MainWindow;
+ ugStatus ug_Status;
+ ugUiGadget ug_UiGadget;
+ ugListPlay ug_ListPlay;
+ ui_gadget_h ug;
+
+ long long int limitsize;
+ long long int selsize;
+
+ Evas_Object *genlist;
+ Ecore_Idler *show;
};
+
Evas_Object *mf_ug_main_tab_layout_create(Evas_Object *parent);
Evas_Object *mf_ug_main_create_bg(Evas_Object *win);
-
+ugData * mf_ug_ugdata();
+void mf_ug_main_update_ctrl_in_idle(void *data);
+bool mf_ug_main_is_background();
#endif /* __DEF_MYFILE_H_ */
diff --git a/src/include/mf-ug-media-db.h b/src/include/mf-ug-media-db.h
new file mode 100644
index 0000000..4ffb59f
--- /dev/null
+++ b/src/include/mf-ug-media-db.h
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+#ifndef __MF_UG_MEDIA_DB_H__
+#define __MF_UG_MEDIA_DB_H__
+
+#include "mf-ug-media-types.h"
+#include "mf-ug-media-error.h"
+#include <sqlite3.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+int mf_ug_connect_db_with_handle(sqlite3 **db_handle);
+int mf_ug_disconnect_db_with_handle(sqlite3 *db_handle);
+
+//1 Shortcut
+int mf_ug_update_shortcut(MFDHandle *mfd_handle,const char *new_name, char *old_name);
+int mf_ug_insert_shortcut(MFDHandle *mfd_handle, const char *shortcut_path, const char *shortcut_name, int storage_type);
+int mf_ug_delete_shortcut(MFDHandle *mfd_handle, const char *shortcut_path);
+int mf_ug_delete_shortcut_by_type(MFDHandle *mfd_handle, int storage_type);
+int mf_ug_foreach_shortcut_list(MFDHandle *mfd_handle, mf_shortcut_item_cb callback, void *user_data);
+int mf_ug_get_short_count(MFDHandle *mfd_handle, int *count);
+
+//1 Recent files
+int mf_ug_insert_recent_file(MFDHandle *mfd_handle, const char *path, const char *name, int storage_type, const char *thumbnail_path);
+int mf_ug_delete_recent_files(MFDHandle *mfd_handle, const char *path);
+int mf_ug_delete_recent_files_by_type(MFDHandle *mfd_handle, int storage_type);
+int mf_ug_update_recent_files_thumbnail(MFDHandle *mfd_handle, const char *thumbnail, const char *new_thumbnail);
+int mf_ug_foreach_recent_files_list(MFDHandle *mfd_handle, mf_recent_files_item_cb callback, void *user_data);
+int mf_ug_get_recent_files_count(MFDHandle *mfd_handle, int *count);
+
+//1 Ringtone
+int mf_ug_update_ringtone(MFDHandle *mfd_handle,const char *new_name, char *old_name);
+int mf_ug_insert_ringtone(MFDHandle *mfd_handle, const char *ringtone_path, const char *ringtone_name, int storage_type);
+int mf_ug_delete_ringtone(MFDHandle *mfd_handle, const char *ringtone_path);
+int mf_ug_delete_ringtone_by_type(MFDHandle *mfd_handle, int storage_type);
+int mf_ug_foreach_ringtone_list(MFDHandle *mfd_handle, mf_ringtone_item_cb callback, void *user_data);
+int mf_ug_get_ringtone_count(MFDHandle *mfd_handle, int *count);
+int mf_ug_find_ringtone(MFDHandle *mfd_handle, const char *ringtone_path);
+
+//1 Alerts
+int mf_ug_update_alert(MFDHandle *mfd_handle,const char *new_name, char *old_name);
+int mf_ug_insert_alert(MFDHandle *mfd_handle, const char *alert_path, const char *alert_name, int storage_type);
+int mf_ug_delete_alert(MFDHandle *mfd_handle, const char *alert_path);
+int mf_ug_delete_alert_by_type(MFDHandle *mfd_handle, int storage_type);
+int mf_ug_foreach_alert_list(MFDHandle *mfd_handle, mf_ringtone_item_cb callback, void *user_data);
+int mf_ug_get_alert_count(MFDHandle *mfd_handle, int *count);
+int mf_ug_find_alert(MFDHandle *mfd_handle, const char *alert_path);
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+
+#endif /*_GALLERY_MEDIA_DB_H_*/
+
+
diff --git a/src/include/mf-ug-media-error.h b/src/include/mf-ug-media-error.h
new file mode 100644
index 0000000..4240e99
--- /dev/null
+++ b/src/include/mf-ug-media-error.h
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+#ifndef __MF_UG_MEDIA_ERROR_H_DEF__
+#define __MF_UG_MEDIA_ERROR_H_DEF__
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+//Error types definition
+#define MFD_ERROR_NONE 0 /**< base */
+#define MFD_ERROR_INVALID_PARAMETER -1 /**< invalid parameter(s) */
+#define MFD_ERROR_INVALID_MEDIA -2 /**< invalid or unknown media */
+#define MFD_ERROR_FILE_NOT_EXSITED -3 /**< file doesn't exist */
+#define MFD_ERROR_DIR_NOT_EXSITED -4 /**< folder doesn't exist */
+#define MFD_ERROR_FILE_EXSITED -5 /**< file doesn't exist */
+
+
+#define MFD_ERROR_DB_CONNECT -201 /**< connect DB error */
+#define MFD_ERROR_DB_DISCONNECT -202 /**< disconnect DB error */
+#define MFD_ERROR_DB_CREATE_TABLE -203 /**< create table error */
+#define MFD_ERROR_DB_NO_RECORD -204 /**< No record */
+#define MFD_ERROR_DB_INTERNAL -206 /**< internal db error */
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /*__MF_MEDIA_ERROR_H_DEF__*/
+
+
+
diff --git a/src/include/mf-ug-media-types.h b/src/include/mf-ug-media-types.h
new file mode 100644
index 0000000..3621a76
--- /dev/null
+++ b/src/include/mf-ug-media-types.h
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+#ifndef __MF_UG_MEDIA_TYPES_H_DEF__
+#define __MF_UG_MEDIA_TYPES_H_DEF__
+
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <glib.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+
+typedef void MFDHandle; /**< Handle */
+
+/**
+ *@enum GM_CONTENT_TYPE
+ * Enumerations of GM_CONTENT_TYPE
+ */
+
+#if 1
+//1 Shortcut
+typedef struct _MFSitem
+{
+ char *path;
+ char *name;
+}MFSitem;
+
+typedef struct _MFRitem
+{
+ char *path;
+ char *name;
+ int storyage_type;
+ char *thumbnail;
+}MFRitem;
+
+typedef struct _mfRingtone
+{
+ char *path;
+ char *name;
+}mfRingtone;
+
+
+typedef bool (*mf_shortcut_item_cb)(MFSitem *Sitem, void *user_data);
+typedef bool (*mf_recent_files_item_cb)(MFRitem *Ritem, void *user_data);
+typedef bool (*mf_ringtone_item_cb)(mfRingtone *Ritem, void *user_data);
+
+#endif
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /*__MF_UG_MEDIA_TYPES_H_DEF__*/
+
+
diff --git a/src/include/mf-ug-media.h b/src/include/mf-ug-media.h
new file mode 100644
index 0000000..c346f6b
--- /dev/null
+++ b/src/include/mf-ug-media.h
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+#ifndef __MF_UG_MEDIA_H_
+#define __MF_UG_MEDIA_H_
+
+#include "mf-ug-media-types.h"
+#include "mf-ug-media-error.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+int mf_ug_media_connect(MFDHandle **handle);
+int mf_ug_media_disconnect(MFDHandle *handle);
+int mf_ug_media_add_shortcut(MFDHandle *mfd_handle, const char *shortcut_path, const char *shortcut_name, int storage_type);
+int mf_ug_media_delete_shortcut(MFDHandle *mfd_handle, const char *path);
+int mf_ug_media_delete_shortcut_by_type(MFDHandle *mfd_handle, int storage_type);
+int mf_ug_media_add_recent_files(MFDHandle *mfd_handle, const char *path, const char *name, int storage_type, const char *thumbnail_path);
+int mf_ug_media_delete_recent_files(MFDHandle *mfd_handle, const char *path);
+int mf_ug_media_delete_recent_files_by_type(MFDHandle *mfd_handle, int storage_type);
+int mf_ug_media_update_recent_files_thumbnail(MFDHandle *mfd_handle, const char *thumbnail, const char *new_thumbnail);
+int mf_ug_media_foreach_shortcut_list(MFDHandle *mfd_handle, mf_shortcut_item_cb callback, void *user_data);
+int mf_ug_media_foreach_recent_files_list(MFDHandle *mfd_handle, mf_recent_files_item_cb callback, void *user_data);
+int mf_ug_media_get_short_count(MFDHandle *mfd_handle, int *count);
+int mf_ug_media_get_recent_files_count(MFDHandle *mfd_handle, int *count);
+int mf_ug_destroy_shortcut_item(MFSitem *sitem);
+int mf_ug_destroy_recent_files_item(MFRitem *ritem);
+
+//1 Ringtone
+int mf_ug_media_add_ringtone(MFDHandle *mfd_handle, const char *ringtone_path,
+ const char *ringtone_name, int storage_type);
+int mf_ug_media_delete_ringtone(MFDHandle *mfd_handle, const char *path);
+int mf_ug_media_delete_ringtone_by_type(MFDHandle *mfd_handle, int storage_type);
+int mf_ug_media_foreach_ringtone_list(MFDHandle *mfd_handle, mf_ringtone_item_cb callback, void *user_data);
+int mf_ug_media_get_ringtone_count(MFDHandle *mfd_handle, int *count);
+int mf_ug_destroy_ringtone_item(mfRingtone *ritem);
+
+//1 Alert
+int mf_ug_media_add_alert(MFDHandle *mfd_handle, const char *alert_path,
+ const char *alert_name, int storage_type);
+int mf_ug_media_delete_alert(MFDHandle *mfd_handle, const char *path);
+int mf_ug_media_delete_alert_by_type(MFDHandle *mfd_handle, int storage_type);
+int mf_ug_media_foreach_alert_list(MFDHandle *mfd_handle, mf_ringtone_item_cb callback, void *user_data);
+int mf_ug_media_get_alert_count(MFDHandle *mfd_handle, int *count);
+int mf_ug_destroy_alert_item(mfRingtone *ritem);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+
+#endif /*__MF_UG_MEDIA_H_*/
+
+
diff --git a/src/include/mf-ug-music.h b/src/include/mf-ug-music.h
new file mode 100644
index 0000000..c2c955f
--- /dev/null
+++ b/src/include/mf-ug-music.h
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+
+#ifndef __MF_UG_MUSIC_H_DEF__
+#define __MF_UG_MUSIC_H_DEF__
+
+void mf_ug_music_launch_cb(void *data, Evas_Object *obj, void *event_info);
+void mf_ug_destory_music_ug();
+Eina_Bool mf_ug_is_music_ug_run();
+
+#endif
diff --git a/src/include/mf-ug-resource.h b/src/include/mf-ug-resource.h
index 2b39fe9..05eb66b 100644
--- a/src/include/mf-ug-resource.h
+++ b/src/include/mf-ug-resource.h
@@ -1,83 +1,77 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
#ifndef __DEF_MF_UG_RESOURCE_H_
#define __DEF_MF_UG_RESOURCE_H_
-#include "../../data/ug_edc_common.h"
#include "mf-ug-conf.h"
-/************* system strings ************/
-#define MF_UG_LABEL_UNSUPPORT_FILE_TYPE dgettext("sys_string", "IDS_COM_BODY_UNSUPPORTED_FILE_TYPE")
-#define MF_UG_LABEL_CONNECT_FAILED dgettext("sys_string", "IDS_COM_POP_CONNECTION_FAILED")
-#define MF_UG_LABEL_PHONE dgettext("sys_string", "IDS_COM_BODY_PHONE")
-#define MF_UG_LABEL_SELECTED dgettext("sys_string", "IDS_COM_BODY_SELECTED")
-#define MF_UG_LABEL_MMC dgettext("sys_string", "IDS_COM_BODY_MEMORY_CARD")
-#define MF_UG_LABEL_UNKNOWN dgettext("sys_string", "IDS_COM_BODY_UNKNOWN")
-#define MF_UG_LABEL_SET dgettext("sys_string", "IDS_COM_SK_SET")
-#define MF_UG_LABEL_ATTACH dgettext("sys_string", "IDS_COM_POP_ATTACH")
-#define MF_UG_LABEL_CANCEL dgettext("sys_string", "IDS_COM_SK_CANCEL")
-#define MF_UG_LABEL_NO_FILES dgettext("sys_string", "IDS_COM_BODY_NO_FILES")
-#define MF_UG_LABEL_MYFILES dgettext("sys_string", "IDS_COM_BODY_MY_FILES")
-#define MF_UG_LABEL_OK dgettext("sys_string", "IDS_COM_SK_OK")
-#define MF_UG_LABEL_DATE dgettext("sys_string", "IDS_COM_POP_DATE")
-#define MF_UG_LABEL_SIZE dgettext("sys_string", "IDS_COM_POP_SIZE")
-#define MF_UG_LABEL_TYPE dgettext("sys_string", "IDS_COM_POP_TYPE")
-#define MF_UG_LABEL_NAME dgettext("sys_string", "IDS_COM_POP_NAME")
-#define MF_UG_LABEL_SEARCH dgettext("sys_string", "IDS_COM_BODY_SEARCH")
-#define MF_UG_LABEL_CANCEL dgettext("sys_string", "IDS_COM_SK_CANCEL")
-#define MF_UG_LABEL_NO_RESULT dgettext("sys_string", "IDS_COM_BODY_NO_SEARCH_RESULTS")
-#define MF_UG_LABEL_IMPORT dgettext("sys_string", "IDS_COM_OPT_IMPORT")
-#define MF_UG_LABEL_CREATE dgettext("sys_string", "IDS_COM_BODY_CREATE_FOLDER")
-#define MF_UG_LABEL_NOT_ENOUGH_SPACE dgettext("sys_string", "IDS_COM_POP_NOT_ENOUGH_MEMORY")
-#define MF_UG_LABEL_FOLDER dgettext("sys_string", "IDS_COM_POP_FOLDER")
-#define MF_UG_LABEL_SAVE dgettext("sys_string", "IDS_COM_SK_SAVE")
-#define MF_UG_LABEL_YES dgettext("sys_string", "IDS_COM_SK_YES")
-#define MF_UG_LABEL_NO dgettext("sys_string", "IDS_COM_SK_NO")
-#define MF_UG_LABEL_SELECT_ALL dgettext("sys_string", "IDS_COM_BODY_SELECT_ALL")
-#define MF_UG_LABEL_MAX_CHARACTER_REACHED dgettext("sys_string", "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED")
-#define MF_UG_LABEL_ALARM dgettext("sys_string", "IDS_COM_BODY_ALARM")
-#define MF_UG_LABEL_DONE dgettext("sys_string", "IDS_COM_POP_DONE")
-
-/************ myfile strings *************/
-#define MF_UG_LABEL_MEMORY_NOT_ENOUGH dgettext(UGPACKAGE, "IDS_MF_POP_NOT_ENOUGH_HEAP_MEMORY")
-#define MF_UG_LABEL_ASCENDING dgettext(UGPACKAGE, "IDS_MF_POP_ASCENDING")
-#define MF_UG_LABEL_DESCENDING dgettext(UGPACKAGE, "IDS_MF_POP_DESCENDING")
-#define MF_UG_LABEL_EXPORT dgettext(UGPACKAGE, "IDS_MF_BUTTON_EXPORT_HERE")
-#define MF_UG_LABEL_HOME dgettext(UGPACKAGE, "IDS_MF_BUTTON_HOME")
-#define MF_UG_LABEL_UPPER dgettext(UGPACKAGE, "IDS_MF_TAB_UP")
-#define MF_UG_LABEL_LIST_BY dgettext(UGPACKAGE, "IDS_MF_OPT_LIST_BY")
-#define MF_UG_LABEL_GO_TO_MYFILES dgettext(UGPACKAGE, "IDS_MF_BUTTON_GO_TO_MY_FILES")
-#define MF_UG_LABEL_RINGTONES dgettext(UGPACKAGE, "IDS_MF_BODY_RINGTONES")
-#define MF_UG_LABEL_DRM_UNABLE_SET dgettext(UGPACKAGE, "IDS_MF_POP_UNABLE_TO_SET_DRM_PROTECTED_CONTENT_AS_RINGTONE_OR_NOTIFICATION_ALERT")
-
-/************no design id **************/
-#define MF_UG_LABEL_OTHER_MUSIC "Other music"
-#define MF_UG_LABEL_UNABLE_TO_PLAY_DURING_CALL "Unable to play during call"
-#define MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED "Unable to play. Error occurred"
-#define MF_UG_LABEL_SAVE_HERE "Set here"
-#define MF_UG_LABEL_GET_NAME_FAILED "Get name failed. try again!"
-#define MF_UG_LABEL_NAME_INVALID ("Invalid name, retry!")
-#define MF_UG_LABEL_ILLEGAL_CHAR "Name contains illegal character, Retry!"
-#define MF_UG_LABEL_PATH_REACH_MAX_LEN "Full path length should be less than 4096,Retry!"
-#define MF_UG_LABEL_DUP_NAME "Duplicated name, retry!"
-#define MF_UG_LABEL_OPER_READ_ONLY "Operation failed: Read Only Area"
-#define MF_UG_LABEL_CREATE_DIR_FAILED "Create Directory failed"
-#define MF_UG_LABEL_EMPTY_FOLDER_NAME "Folder name can't be empty, Retry!"
-#define MF_UG_LABEL_NO_MEM_CARD "No memory card inserted"
+#define MF_UG_LABEL_PHONE "IDS_MF_BODY_DEVICE_MEMORY_ABB"
+#define MF_UG_LABEL_SELECTED "IDS_COM_BODY_PD_SELECTED"
+#define MF_UG_LABEL_MMC "IDS_MF_BODY_SD_CARD_ABB"
+#define MF_UG_LABEL_NO_FILES "IDS_COM_BODY_NO_FILES"
+#define MF_UG_LABEL_MYFILES "IDS_COM_BODY_MY_FILES"
+#define MF_UG_LABEL_OK "IDS_COM_SK_OK"
+#define MF_UG_LABEL_NO_RESULT "IDS_COM_BODY_NO_ITEMS"
+#define MF_UG_LABEL_DONE "IDS_COM_SK_DONE"
+#define MF_UG_LABEL_CANCEL "IDS_COM_SK_CANCEL"
+#define MF_UG_LABEL_DELETE "IDS_COM_BODY_DELETE"
+#define MF_UG_LABEL_UNSUPPORT_FILE_TYPE "IDS_COM_BODY_UNSUPPORTED_FILE_TYPE"
+#define MF_UG_LABEL_SELECT_ALL "IDS_COM_BODY_SELECT_ALL"
+#define MF_UG_LABEL_YES "IDS_COM_SK_YES"
+#define MF_UG_LABEL_NO "IDS_COM_SK_NO"
+#define MF_UG_LABEL_BACK "IDS_COM_SK_BACK"
+#define MF_UG_LABEL_ADD "IDS_COM_SK_ADD"
+#define MF_UG_LABEL_DELETE "IDS_COM_BODY_DELETE"
+#define MF_UG_LABEL_FAILED "IDS_COM_POP_FAILED"
+#define MF_UG_LABEL_SUCCESS "IDS_COM_POP_SUCCESS"
+#define MF_UG_LABEL_FAILED "IDS_COM_POP_FAILED"
+#define MF_UG_BUTTON_LABEL_DEL "IDS_MF_POP_DELETE_Q"
+#define MF_UG_LABEL_ADD_FAILED "IDS_MUSIC_POP_UNABLE_TO_ADD_SOME_ITEMS_DONT_EXIST"
+#define MF_UG_POP_TITLE_OPERATION_ERROR "IDS_COM_BODY_OPERATION_FAILED"
+#define MF_UG_LABEL_UNABLE_TO_PLAY_DURING_CALL "IDS_MF_POP_UNABLE_TO_PLAY_DURING_CALL"
+#define MF_UG_LABEL_UNABLE_TO_PLAY_ERROR_OCCURRED "IDS_MUSIC_POP_UNABLE_TO_PLAY_ERROR_OCCURRED"
+#define MF_UG_LABEL_GET_NAME_FAILED "IDS_MF_POP_INVALID_FILE_NAME"
+#define MF_UG_LABEL_NAME_INVALID "IDS_MF_POP_INVALID_FILE_NAME"
+#define MF_UG_LABEL_ILLEGAL_CHAR "IDS_VR_POP_INVALID_CHARACTER_ENTERED_TRY_AGAIN"
+#define MF_UG_LABEL_DUP_NAME "IDS_COM_POP_ALREDY_EXISTS"
+#define MF_UG_LABEL_OPER_READ_ONLY "Operation failed: Read Only Area"
+#define MF_UG_LABEL_CREATE_DIR_FAILED "IDS_COM_POP_FAILED"
+#define MF_UG_LABEL_EMPTY_FOLDER_NAME "IDS_MF_POP_ERR_FOLDER_NAME_EMPTY"
+#define MF_UG_LABEL_DEFAULT_RINGTONE "IDS_MF_OPT_DEFAULT_RINGTONE"
+#define MF_UG_LABEL_MAX_CHARACTER_REACHED "IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
+#define MF_UG_LABEL_CREATE "IDS_COM_BODY_CREATE_FOLDER"
+#define MF_UG_LABEL_SILENT "IDS_ST_BODY_PHONEPROFILES_SILENT"
+#define MF_UG_LABEL_NOT_ENOUGH_SPACE "IDS_COM_POP_NOT_ENOUGH_MEMORY"
+#define MF_UG_LABEL_FOLDER "IDS_COM_POP_FOLDER"
+#define MF_UG_LABEL_CONNECT_FAILED "IDS_COM_POP_CONNECTION_FAILED"
+#define MF_UG_LABEL_IMPORT_CHAP "IDS_COM_OPT_IMPORT"
+#define MF_UG_LABEL_DOCUMENTS "IDS_MF_BODY_DOCUMENTS"
+#define MF_UG_LABEL_SELECT_ITEMS "IDS_MF_HEADER_SELECT_ITEMS"
+#define MF_UG_LABEL_PROCESSING "IDS_COM_POP_PROCESSING"
+#define MF_UG_LABEL_SEARCH "IDS_COM_BODY_SEARCH"
+#define MF_UG_LABEL_DEFAULT_NOTIFICATION_SOUND "IDS_ST_BODY_DEFAULT_NOTIFICATION_SOUND_ABB"
+#define MF_UG_LABEL_REACH_MAX_SHARE_COUNT "IDS_IV_POP_YOU_CAN_SELECT_UP_TO_PD_ITEMS"
+#define MF_UG_LABEL_DONE_CAP "IDS_TPLATFORM_ACBUTTON_DONE_ABB"
+#define MF_UG_LABEL_CANCEL_CAP "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB"
+#define MF_UG_LABEL_MAXIMUM_SIZE "IDS_IM_POP_MAXIMUM_SIZE_OF_FILES_EXCEEDED"
#endif
diff --git a/src/include/mf-ug-ringtone-view.h b/src/include/mf-ug-ringtone-view.h
new file mode 100644
index 0000000..0c9ed5c
--- /dev/null
+++ b/src/include/mf-ug-ringtone-view.h
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+
+#ifndef __MF_UG_RINGTONE_VIEW_H_DEF__
+#define __MF_UG_RINGTONE_VIEW_H_DEF__
+
+void mf_ug_create_rintone_view(void *data);
+bool mf_ug_ringtone_is_default(int mode, const char *path);
+void mf_ug_ringtone_list_resume(void *data);
+
+Evas_Object *mf_ug_ringtone_list_create(void *data);
+
+#endif
diff --git a/src/include/mf-ug-search-internal.h b/src/include/mf-ug-search-internal.h
index c3a6aa3..fd9d4d5 100644
--- a/src/include/mf-ug-search-internal.h
+++ b/src/include/mf-ug-search-internal.h
@@ -1,18 +1,24 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+
+
#ifndef _MF_SEARCH_INTERNAL_H_
#define _MF_SEARCH_INTERNAL_H_
@@ -52,8 +58,14 @@
**/
int _mf_ug_search_init(ms_handle_t **handle);
-int _mf_ug_search_start(ms_handle_t *handle, const char **root_path, unsigned int path_num, const char *needle, mf_search_option option,
- void *user_data);
+int _mf_ug_search_start(ms_handle_t *handle,
+ const char **root_path,
+ unsigned int path_num,
+ const char *needle,
+ mf_search_option option,
+ void *user_data,
+ mf_search_filter_cb func,
+ int category);
int _mf_ug_search_stop(ms_handle_t *handle);
void _mf_ug_search_finalize(ms_handle_t **handle);
diff --git a/src/include/mf-ug-search.h b/src/include/mf-ug-search.h
index 037fef9..6584c8d 100644
--- a/src/include/mf-ug-search.h
+++ b/src/include/mf-ug-search.h
@@ -1,18 +1,24 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+
+
#ifndef _MF_SEARCH_H_
#define _MF_SEARCH_H_
@@ -29,73 +35,90 @@ typedef unsigned int mf_search_handle;
**/
typedef unsigned int mf_search_result;
+typedef int (*mf_search_filter_cb) (const char *);
+
+
/**
* Enumerations of search option
**/
+typedef enum _mf_search_category_type mf_search_category_type;
+enum _mf_search_category_type {
+ MF_SEARCH_CATEGORY_NONE = 0,
+ MF_SEARCH_CATEGORY_SOUND,
+ MF_SEARCH_CATEGORY_VIDEO,
+ MF_SEARCH_CATEGORY_IMAGE,
+ MF_SEARCH_CATEGORY_DOCUMENT,
+ MF_SEARCH_CATEGORY_OTHERS,
+ MF_SEARCH_CATEGORY_MAX,
+};
+
typedef enum _mf_search_option mf_search_option;
enum _mf_search_option {
- MF_SEARCH_OPT_NONE = (1 << 0),
- MF_SEARCH_OPT_HIDDEN = (1 << 1),
- MF_SEARCH_OPT_DIR = (1 << 2),
- MF_SEARCH_OPT_FILE = (1 << 3),
- MF_SEARCH_OPT_EXT = (1 << 4),
+ MF_SEARCH_OPT_NONE = (1 << 0),
+ MF_SEARCH_OPT_HIDDEN = (1 << 1),
+ MF_SEARCH_OPT_DIR = (1 << 2),
+ MF_SEARCH_OPT_FILE = (1 << 3),
+ MF_SEARCH_OPT_EXT = (1 << 4),
+ MF_SEARCH_OPT_MULTI_EXT = (1 << 5)
};
typedef enum _mf_search_pipe_msg_type mf_search_pipe_msg_type;
enum _mf_search_pipe_msg_type {
- MF_SEARCH_PIPE_MSG_NONE = 0,
- MF_SEARCH_PIPE_MSG_ROOT_CHANGE,
- MF_SEARCH_PIPE_MSG_RESULT_REPORT,
- MF_SEARCH_PIPE_MSG_FINISHED,
- MF_SEARCH_PIPE_MSG_MAX,
+ MF_SEARCH_PIPE_MSG_NONE = 0,
+ MF_SEARCH_PIPE_MSG_ROOT_CHANGE,
+ MF_SEARCH_PIPE_MSG_RESULT_REPORT,
+ MF_SEARCH_PIPE_MSG_FINISHED,
+ MF_SEARCH_PIPE_MSG_MAX,
};
typedef enum _mf_search_state mf_search_state;
enum _mf_search_state {
- MF_SEARCH_STATE_NONE = 0,
- MF_SEARCH_STATE_INIT,
- MF_SEARCH_STATE_SEARCH,
- MF_SEARCH_STATE_MAX,
+ MF_SEARCH_STATE_NONE = 0,
+ MF_SEARCH_STATE_INIT,
+ MF_SEARCH_STATE_SEARCH,
+ MF_SEARCH_STATE_MAX,
};
typedef struct _mf_search_result_t mf_search_result_t;
struct _mf_search_result_t {
- GList *dir_list;
- GList *file_list;
- gchar *current_dir;
- guint total_count;
- gboolean is_end;
+ GList *dir_list;
+ GList *file_list;
+ gchar *current_dir;
+ guint total_count;
+ gboolean is_end;
};
typedef struct _ms_args_t ms_args_t;
struct _ms_args_t {
- GList *root_path;
- gchar *needle;
- mf_search_option option;
- void *user_data;
+ GList *root_path;
+ gchar *needle;
+ mf_search_option option;
+ void *user_data;
+ mf_search_filter_cb func;
+ int category;
} ;
typedef struct _ms_handle_t ms_handle_t;
struct _ms_handle_t {
- mf_search_state state;
- GMutex *cmd_lock;
- ms_args_t *args;
-
- GThread *thread_h;
- GMutex *thread_mutex;
- /* critical section */
- gboolean is_stop;
- mf_search_result_t *result;
- /* critical section */
+ mf_search_state state;
+ GMutex cmd_lock;
+ ms_args_t *args;
+
+ GThread *thread_h;
+ GMutex thread_mutex;
+ /* critical section */
+ gboolean is_stop;
+ mf_search_result_t *result;
+ /* critical section */
};
typedef struct _mf_search_pipe_msg mf_search_pipe_msg;
struct _mf_search_pipe_msg {
- mf_search_pipe_msg_type mf_sp_msg_type;
- void *report_result;
- gchar *current_path;
+ mf_search_pipe_msg_type mf_sp_msg_type;
+ void *report_result;
+ gchar *current_path;
};
/**
@@ -108,12 +131,12 @@ typedef void (*mf_Search_Cb) (mf_search_pipe_msg_type type, mf_search_result res
/**
* Definition of error code
**/
-#define MF_SEARCH_ERROR_NONE (0)
-#define MF_SEARCH_ERROR_INTERNAL (-(1)) /* Internal error */
-#define MF_SEARCH_ERROR_INVAL_P (-(2)) /* Invalid params */
-#define MF_SEARCH_ERROR_INVAL_S (-(3)) /* Invalid status */
-#define MF_SEARCH_ERROR_ALLOC (-(4)) /* Memory allocation failed */
-#define MF_SEARCH_ERROR_FS (-(5)) /* File system error */
+#define MF_SEARCH_ERROR_NONE (0)
+#define MF_SEARCH_ERROR_INTERNAL (-(1)) /* Internal error */
+#define MF_SEARCH_ERROR_INVAL_P (-(2)) /* Invalid params */
+#define MF_SEARCH_ERROR_INVAL_S (-(3)) /* Invalid status */
+#define MF_SEARCH_ERROR_ALLOC (-(4)) /* Memory allocation failed */
+#define MF_SEARCH_ERROR_FS (-(5)) /* File system error */
/*+++++++++++++++++++++++ APIs +++++++++++++++++++++++*/
@@ -139,8 +162,14 @@ int mf_ug_search_init(mf_search_handle *handle);
* If success, #mf_search state is changed from MF_SEARCH_STATE_INIT to MF_SEARCH_STATE_SEARCH
* Return value: This function returns zero on success, or negative value.
**/
-int mf_ug_search_start(mf_search_handle handle, const char **root_path, unsigned int path_num, const char *needle, mf_search_option option,
- void *user_data);
+int mf_ug_search_start(mf_search_handle handle,
+ const char **root_path,
+ unsigned int path_num,
+ const char *needle,
+ mf_search_option option,
+ void *user_data,
+ mf_search_filter_cb func,
+ int category);
/**
* mf_ug_search_stop:
* @handle: the handle of mf_search
@@ -206,6 +235,4 @@ int mf_ug_search_result_is_end(mf_search_result_t *result, int *is_end);
**/
int mf_ug_search_result_total_count_get(mf_search_result_t *result, unsigned int *count);
-void mf_ug_search_view_item_append(void *data, void *user_data);
-
#endif
diff --git a/src/include/mf-ug-util.h b/src/include/mf-ug-util.h
index 91d258a..56636e5 100644
--- a/src/include/mf-ug-util.h
+++ b/src/include/mf-ug-util.h
@@ -1,18 +1,23 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+
#ifndef __DEF_MF_UG_UTIL_H_
#define __DEF_MF_UG_UTIL_H_
@@ -22,234 +27,252 @@
#include <glib.h>
#include "mf-ug-main.h"
+#include "mf-ug-fs-util.h"
#define UG_SAFE_FREE_CHAR(x) do {\
- if ((x) != NULL) {\
- free(x); \
- x = NULL;\
- } \
- } while (0)
+ if ((x) != NULL) {\
+ free(x); \
+ x = NULL;\
+ } \
+ } while (0)
#define UG_SAFE_FREE_GSTRING(x) do {\
- if ((x) != NULL) {\
- g_string_free(x, TRUE); \
- x = NULL;\
- } \
- } while (0)
+ if ((x) != NULL) {\
+ g_string_free(x, TRUE); \
+ x = NULL;\
+ } \
+ } while (0)
#define UG_CHAR_CHECK_NULL_GOTO(arg, dest) do {\
- if ((arg) == NULL) {\
- goto dest;\
- } \
- } while (0)
+ if ((arg) == NULL) {\
+ goto dest;\
+ } \
+ } while (0)
#define UG_GSTRING_CHECK_NULL_GOTO(arg, dest) do {\
- if ((arg) == NULL || (arg->str) == NULL) {\
- goto dest;\
- } \
- } while (0)
+ if ((arg) == NULL || (arg->str) == NULL) {\
+ goto dest;\
+ } \
+ } while (0)
#define UG_SAFE_DEL_NAVI_ITEM(x) do {\
- if ((x) != NULL) {\
- elm_object_item_del(x); \
- x = NULL;\
- } \
- } while (0)
+ if ((*x) != NULL) {\
+ elm_object_item_del(*x); \
+ *x = NULL;\
+ } \
+ } while (0)
#define UG_SAFE_FREE_OBJ(x) do {\
- if ((x) != NULL) {\
- evas_object_del(x); \
- x = NULL;\
- } \
- } while (0)
+ if ((x) != NULL) {\
+ evas_object_del(x); \
+ x = NULL;\
+ } \
+ } while (0)
#define UG_SAFE_STRCPY(dest, src) \
- do{if(!dest||!src)break;\
- strncpy (dest , src, sizeof(dest)-1);\
- dest[sizeof(dest)-1] = 0; }while(0)
+ do { if (!dest || !src) break; \
+ strncpy (dest, src, sizeof(dest)-1); \
+ dest[sizeof(dest)-1] = 0; } while (0)
#define UG_SAFE_DEL_ECORE_TIMER(timer) do { \
- if (timer) { \
- ecore_timer_del(timer);\
- timer = NULL; \
- } \
- } while (0)
+ if (timer) { \
+ ecore_timer_del(timer);\
+ timer = NULL; \
+ } \
+ } while (0)
#define goto_if(x, dest) do { \
- if (x) {\
- goto dest;\
- }\
- } while (0)
+ if (x) {\
+ goto dest;\
+ }\
+ } while (0)
#define ug_ecore_idler_del(idler) do { \
- if(idler) { \
- ecore_idler_del(idler);\
- idler = NULL; \
- } \
- } while (0)
+ if (idler) { \
+ ecore_idler_del(idler);\
+ idler = NULL; \
+ } \
+ } while (0)
typedef enum _mf_ug_list_play_state mf_ug_list_play_state;
enum _mf_ug_list_play_state {
- PLAY_STATE_INIT = 0,
- PLAY_STATE_READY,
- PLAY_STATE_PLAYING,
- PLAY_STATE_PAUSED,
- PLAY_STATE_STOP,
- PLAY_STATE_MAX
+ PLAY_STATE_INIT = 0,
+ PLAY_STATE_READY,
+ PLAY_STATE_PLAYING,
+ PLAY_STATE_PAUSED,
+ PLAY_STATE_STOP,
+ PLAY_STATE_MAX
};
typedef enum _mf_ug_select_mode mf_ug_select_mode;
enum _mf_ug_select_mode {
- SELECT_MODE = 0,
- SINGLE_FILE_MODE,
- SINGLE_ALL_MODE,
- MULTI_FILE_MODE,
- MULTI_ALL_MODE,
- EXPORT_MODE,
- IMPORT_MODE,
- IMPORT_SINGLE,
- IMPORT_PATH_SELECT_MODE,
- SAVE_MODE,
- SELECT_MODE_MAX
-};
-
-typedef enum _mf_ug_drm_mode mf_ug_drm_mode;
-enum _mf_ug_drm_mode {
- DRM_FILTER_NONE = 0,
- DRM_FILTER_ALL,
- DRM_FILTER_WITHOUT_FL,
- DRM_FILTER_IMAGE,
- DRM_FILTER_RINGTONE,
- DRM_FILTER_MAX
+ SELECT_MODE = 0,
+ SINGLE_FILE_MODE,
+ SINGLE_ALL_MODE,
+ MULTI_FILE_MODE,
+ MULTI_ALL_MODE,
+ EXPORT_MODE,
+ IMPORT_MODE,
+ IMPORT_SINGLE,
+ IMPORT_PATH_SELECT_MODE,
+ DOCUMENT_SHARE,
+ SSM_DOCUMENT_SHARE,
+ SAVE_MODE,
+ SELECT_MODE_MAX
};
typedef enum _mf_ug_marked_switch mf_ug_marked_switch;
enum _mf_ug_marked_switch {
- MARKED_OFF = 0,
- MARKED_ON,
+ MARKED_OFF = 0,
+ MARKED_ON,
};
typedef enum _mf_ug_file_filter_type mf_ug_file_filter_type;
enum _mf_ug_file_filter_type {
- SHOW_ALL_LIST = 0,
- SHOW_IMAGE_LIST,
- SHOW_SOUND_LIST,
- SHOW_VIDEO_LIST,
- SHOW_FLASH_LIST,
- SHOW_FOLDER_LIST,
- SHOW_IMAGE_VIDEO_LIST,
- SHOW_IMAGE_SOUND_LIST,
- SHOW_VIDEO_SOUND_LIST,
- SHOW_BY_EXTENSION
+ SHOW_ALL_LIST = 0,
+ SHOW_IMAGE_LIST,
+ SHOW_SOUND_LIST,
+ SHOW_VIDEO_LIST,
+ SHOW_FLASH_LIST,
+ SHOW_FOLDER_LIST,
+ SHOW_IMAGE_VIDEO_LIST,
+ SHOW_IMAGE_SOUND_LIST,
+ SHOW_VIDEO_SOUND_LIST,
+ SHOW_DOCUMENT_LIST,
+ SHOW_BY_EXTENSION
};
typedef enum _mf_ug_state_mode mf_ug_state_mode;
enum _mf_ug_state_mode {
- STATE_PHONE = 0,
- STATE_MEMORY,
- STATE_MODE_MAX
+ STATE_PHONE = 0,
+ STATE_MEMORY,
+ STATE_MODE_MAX
};
typedef enum _mf_ug_mmc_insert_state mf_ug_mmc_insert_state;
enum _mf_ug_mmc_insert_state {
- MMC_OFF = 0,
- MMC_ON
+ MMC_OFF = 0,
+ MMC_ON
};
typedef enum _mf_ug_launch_type mf_ug_launch_type;
enum _mf_ug_launch_type {
- LAUNCH_TYPE_FORK = 0,
- LAUNCH_TYPE_FAIL,
- LAUNCH_TYPE_DIR,
- LAUNCH_TYPE_IMAGE,
- LAUNCH_TYPE_MUSIC,
- LAUNCH_TYPE_VIDEO,
- LAUNCH_TYPE_UNSUPPORT,
- LAUNCH_TYPE_MAX
+ LAUNCH_TYPE_FORK = 0,
+ LAUNCH_TYPE_FAIL,
+ LAUNCH_TYPE_DIR,
+ LAUNCH_TYPE_IMAGE,
+ LAUNCH_TYPE_MUSIC,
+ LAUNCH_TYPE_VIDEO,
+ LAUNCH_TYPE_UNSUPPORT,
+ LAUNCH_TYPE_MAX
};
typedef enum _mf_ug_eina_list_node_type mf_ug_eina_list_node_type;
enum _mf_ug_eina_list_node_type {
- NODE_TYPE_NONE = 0,
- NODE_TYPE_CHAR,
- NODE_TYPE_PNODE,
- NODE_TYPE_GSTRING,
- NODE_TYPE_MAX
+ NODE_TYPE_NONE = 0,
+ NODE_TYPE_CHAR,
+ NODE_TYPE_PNODE,
+ NODE_TYPE_GSTRING,
+ NODE_TYPE_MAX
};
typedef enum _mf_ug_ctrl_bar_type mf_ug_ctrl_bar_type;
enum _mf_ug_ctrl_bar_type {
- CTRL_BAR_NORMAL = 0,
- CTRL_BAR_MUSIC,
- CTRL_BAR_RINGTONE,
- CTRL_BAR_MULTI,
- CTR_BAR_MAX
+ CTRL_BAR_NORMAL = 0,
+ CTRL_BAR_MUSIC,
+ CTRL_BAR_RINGTONE,
+ CTRL_BAR_MULTI,
+ CTR_BAR_MAX
};
typedef enum _mf_ug_view_type mf_ug_view_type;
enum _mf_ug_view_type {
- mf_ug_view_root = 0,
- mf_ug_view_normal,
- mf_ug_view_max
+ mf_ug_view_root = 0,
+ mf_ug_view_normal,
+ mf_ug_view_ringtone_del,
+ mf_ug_view_max
};
+#define INHERIT_MF_LIST \
+ int list_type;\
+ int ug_iGroupValue;\
+ int storage_type;\
+ ugData *ug_pData;
+
+typedef struct __mf_list_data_t{
+ INHERIT_MF_LIST
+}mf_list_data_t;
+
+
typedef struct _ugListItemData ugListItemData;
struct _ugListItemData {
- Evas_Object *ug_pCheckBox;
- Evas_Object *ug_pRadioBox;
- Evas_Object *ug_pPlaybtn;
- Elm_Object_Item *ug_pItem;
- char *ug_pThumbPath;
- GString *ug_pItemName;
- ugData *ug_pData;
- bool ug_bChecked;
- int ug_iGroupValue;
- bool ug_bRealThumbFlag;
+ INHERIT_MF_LIST
+ Evas_Object *ug_pCheckBox;
+ Evas_Object *ug_pRadioBox;
+ Evas_Object *ug_pPlaybtn;
+ Elm_Object_Item *ug_pItem;
+ char *ug_pThumbPath;
+ GString *ug_pItemName;
+ bool ug_bChecked;
+ bool ug_bRealThumbFlag;
+ Eina_Bool thumbnail_create;
+ media_info_h media;
+ char *sound_title;
+ bool ug_bDefaultItem;
+ double selsize;
};
typedef struct _ug_dir_event_t ug_dir_event_t;
struct _ug_dir_event_t {
- int event;
- char *name;
+ int event;
+ char *name;
};
-typedef enum _mf_ug_theme_type mf_ug_theme_type;
+typedef enum _mf_ug_theme_type mf_ug_theme_type;
enum _mf_ug_theme_type {
- UG_THEME_INVALID = -1,
- UG_THEME_NBEAT = 0,
- UG_THEME_NBEAT_BLACK = 1,
- UG_THEME_ERROR
+ UG_THEME_INVALID = -1,
+ UG_THEME_NBEAT = 0,
+ UG_THEME_NBEAT_BLACK = 1,
+ UG_THEME_ERROR
};
-typedef enum _mf_ug_more_type_e mf_ug_more_type_e;
+typedef enum _mf_ug_more_type_e mf_ug_more_type_e;
-enum _mf_ug_more_type_e{ /* softkey / contextual popup */
- UG_MORE_DEFAULT = 0,
- UG_MORE_CREATE_FOLDER,
- UG_MORE_SEARCH,
- UG_MORE_TYPE_MAX
+enum _mf_ug_more_type_e{ /* softkey / contextual popup */
+ UG_MORE_DEFAULT = 0,
+ UG_MORE_CREATE_FOLDER,
+ UG_MORE_SEARCH,
+ UG_MORE_TYPE_MAX
};
typedef enum _mf_ug_file_name_type_e mf_ug_file_name_type_e;
enum _mf_ug_file_name_type_e {
- FILE_NAME_WITH_BRACKETS,
- FILE_NAME_WITH_UNDERLINE,
- FILE_NAME_NONE,
+ FILE_NAME_WITH_BRACKETS,
+ FILE_NAME_WITH_UNDERLINE,
+ FILE_NAME_NONE,
};
typedef enum __mf_ug_thumbnail_type_e mf_ug_thumbnail_type_e;
enum __mf_ug_thumbnail_type_e {
- MF_UG_THUMBNAIL_TYPE_DEFAULT,
- MF_UG_THUMBNAIL_TYPE_THUMBNAIL,
- MF_UG_THUMBNAIL_TYPE_MAX
+ MF_UG_THUMBNAIL_TYPE_DEFAULT,
+ MF_UG_THUMBNAIL_TYPE_THUMBNAIL,
+ MF_UG_THUMBNAIL_TYPE_MAX
};
+
+typedef struct __mf_ug_view_node_s mf_ug_view_node_s;
+struct __mf_ug_view_node_s {
+ int view_type;
+ char *path;
+};
+
+
bool mf_ug_util_is_mass_storage_on();
int mf_ug_util_create_dir_monitor(void *data);
int mf_ug_util_set_mmc_state_cb(void *data);
@@ -261,6 +284,7 @@ void mf_ug_list_play_play_music_item(ugListItemData *data);
void mf_ug_list_play_destory_playing_file(void *data);
void mf_ug_list_play_update_item_icon(void *data);
+
void mf_ug_util_storage_insert_action(void *data, char *pItemLabel);
void mf_ug_util_destory_mmc_state_cb();
void mf_ug_util_destory_dir_monitor(void *data);
@@ -271,7 +295,6 @@ int mf_ug_util_add_dir_watch(const char *path, void *data);
mf_ug_launch_type mf_ug_util_get_file_launch_type(char *path);
void mf_ug_util_destory_mass_storage_callback();
-mf_ug_theme_type mf_ug_util_get_theme(void);
int mf_ug_file_attr_get_parent_path(const char *path, char **parent_path);
char *mf_ug_util_upper_folder_name_get(void *data, GString *fullpath);
void mf_ug_util_operation_alloc_failed(void *data);
@@ -279,5 +302,26 @@ int mf_ug_util_remove_dir_watch(void);
void mf_ug_util_sort_the_file_list(void *data);
int mf_ug_util_check_disk_space(void *data);
long mf_ug_util_character_count_get(const char *original);
+int mf_ug_util_generate_root_view_file_list(Eina_List **list, int storage_state);
+int mf_ug_util_set_default_ringtone_cb(void *data);
+void mf_ug_util_destory_default_ringtone_cb();
+bool mf_ug_util_is_unique_view(int mode);
+bool mf_ug_util_is_multi_select_mode(int mode);
+bool mf_ug_util_is_single_select_mode(int mode);
+bool mf_ug_util_is_import_mode(int mode);
+bool mf_ug_util_find_item_from_pnode_list(Eina_List *list, const char *fullpath);
+void mf_ug_util_destory_default_alert_cb();
+int mf_ug_util_set_default_alert_cb(void *data);
+void mf_ug_util_destory_default_ringtone_cb();
+int mf_ug_util_set_default_ringtone_cb(void *data);
+char *mf_ug_util_get_default_alert();
+char *mf_ug_util_get_default_ringtone();
+void mf_ug_util_mmc_remove_action(void *data);
+char **mf_ug_util_get_send_result_array(void *data, int *item_count);
+void mf_ug_util_path_push(char *path, int view_type);
+mf_ug_view_node_s *mf_ug_util_path_pop();
+mf_ug_view_node_s *mf_ug_util_path_top_get();
+void mf_ug_util_view_node_free(mf_ug_view_node_s **view_node);
+void mf_ug_util_path_stack_free();
#endif /* __DEF_MYFILE_UTIL_H_ */
diff --git a/src/include/mf-ug-view.h b/src/include/mf-ug-view.h
new file mode 100644
index 0000000..26bd3d1
--- /dev/null
+++ b/src/include/mf-ug-view.h
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+
+#ifndef __MF_UG_VIEW_H_DEF__
+#define __MF_UG_VIEW_H_DEF__
+
+#include <Elementary.h>
+
+void mf_ug_search_view_item_append(void *data, void *user_data);
+Evas_Object *mf_widget_create_select_all_layout(Evas_Object *parent);
+
+#endif
diff --git a/src/include/mf-ug-widget.h b/src/include/mf-ug-widget.h
new file mode 100644
index 0000000..0f51dc7
--- /dev/null
+++ b/src/include/mf-ug-widget.h
@@ -0,0 +1,58 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+#ifndef __MF_UG_WIDGET_H
+#define __MF_UG_WIDGET_H
+
+#include "mf-ug-main.h"
+
+Evas_Object *mf_ug_widget_create_button(Evas_Object *parent, const char *style,
+ const char *caption, Evas_Object *icon,
+ void (*func) (void *, Evas_Object *, void *),
+ void *data,
+ Eina_Bool flag_propagate);
+void mf_ug_widget_object_text_set(Evas_Object *obj, const char *ID, const char* part);
+void mf_ug_widget_object_item_translate_set(Elm_Object_Item *item, const char *ID);
+
+char *mf_ug_widget_get_text(const char *ID);
+Evas_Object *mf_ug_widget_toolbar_create(Evas_Object *parent);
+Elm_Object_Item *mf_ug_widget_item_tabbar_item_append(Evas_Object *obj,
+ const char *icon,
+ const char *label,
+ Evas_Smart_Cb func,
+ const void *data);
+void mf_ug_widget_object_item_text_set(Elm_Object_Item *item, const char *ID, const char* part);
+Evas_Object *mf_ug_widget_create_progressbar(Evas_Object *parent, char *style);
+Evas_Object *mf_ug_widget_nocontent_create(Evas_Object *parent, const char *text, const char *icon_path);
+Evas_Object *mf_ug_tabbar_create_path_tab(Evas_Object *parent, char *info);
+void mf_ug_navi_bar_create_default_view(void *data);
+void mf_ug_navi_bar_set_ctrl_button(void *data);
+int mf_ug_genlist_ringtone_items_add(void *data, int value);
+Elm_Object_Item *mf_ug_genlist_default_ringtone_item_append(Evas_Object *parent,
+ void *data,
+ int groudValue,
+ Elm_Genlist_Item_Class *itc);
+Elm_Object_Item *mf_ug_genlist_silent_item_append(Evas_Object *parent,
+ void *data,
+ int groudValue,
+ Elm_Genlist_Item_Class *itc);
+
+void mf_ug_object_create_select_all_layout(Evas_Object *pParent, Evas_Smart_Cb pChangeFunc,
+ Evas_Object_Event_Cb pMouseDownFunc, void *pUserData, Evas_Object **pCheckBox, Evas_Object **pSelectLayout);
+#endif
diff --git a/src/include/mf-ug-winset.h b/src/include/mf-ug-winset.h
index a18e85c..745ad40 100644
--- a/src/include/mf-ug-winset.h
+++ b/src/include/mf-ug-winset.h
@@ -1,18 +1,19 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#ifndef __DEF_MF_UG_WINSET_H_
#define __DEF_MF_UG_WINSET_H_
@@ -21,144 +22,126 @@
#include <assert.h>
#include <Elementary.h>
#include <glib.h>
-#include <vconf.h>
-#include <vconf-keys.h>
-
#include "mf-ug-main.h"
-#include "../../data/ug_edc_common.h"
#include "mf-ug-conf.h"
#include "mf-ug-fs-util.h"
/******************Navigation Bar Definition ***********/
-#define NAVI_MORE_BUTTON_PART "toolbar_more_btn"
-#define NAVI_BOTTOM_BUTTON_1_PART "toolbar_button1"
-#define NAVI_BOTTOM_BUTTON_2_PART "toolbar_button2"
-#define NAVI_BUTTON_STYLE "naviframe/toolbar/default"
-#define NAVI_BUTTON_EDIT "naviframe/more/default"
+#define NAVI_MORE_BUTTON_PART "toolbar_more_btn"
+#define NAVI_BOTTOM_BUTTON_1_PART "toolbar_button1"
+#define NAVI_BOTTOM_BUTTON_2_PART "toolbar_button2"
+#define NAVI_BUTTON_STYLE "naviframe/toolbar/default"
+#define NAVI_BUTTON_EDIT "naviframe/more/default"
-#define TITLE_BTN_STYLE "elm/button/base/naviframe/title_icon"
-#define TITLE_LEFT_BTN "title_left_btn"
-#define TITLE_RIGHT_BTN "title_right_btn"
+#define TITLE_BTN_STYLE "elm/button/base/naviframe/title_icon"
+#define TITLE_LEFT_BTN "title_left_btn"
+#define TITLE_RIGHT_BTN "title_right_btn"
#define MF_UG_NAVI_STYLE_ENABLE "basic"
-#define MF_UG_UPPER_HEIGHT (113*elm_config_scale_get())
-#define MF_UG_UPPER_WIDTH (480*elm_config_scale_get())
+#define MF_UG_UPPER_HEIGHT (113*elm_config_scale_get())
+#define MF_UG_UPPER_WIDTH (480*elm_config_scale_get())
Evas_Object *mf_ug_navi_bar_create_navi_bar(Evas_Object *parent);
void mf_ug_navi_bar_set_new_content(Evas_Object *pLayout, Evas_Object *NaviContent);
void mf_ug_navi_bar_create_default_view(void *data);
-ugNaviBar *mf_ug_navi_bar_get_in_use_navi(void *data);
-void mf_ug_navi_bar_reset_navi_object(ugNaviBar *pNavi_s);
-void mf_ug_navi_bar_refresh_navibar_recovered_view(void *data, ugNaviBar *pNaviStruct);
-void mf_ug_navi_bar_remove_navi_list_item_by_label(void *data, const char *pNaviLabel);
-void mf_ug_navi_bar_set_blocking(void *data, bool bblock_during_transition);
+
void mf_ug_navi_bar_remove_previous_contents(void *data);
-void mf_ug_navi_bar_del_item_directly(void *data);
-void mf_ug_navi_bar_create_new_folder_view(void *data);
-ugNaviBar *ug_mf_navi_bar_get_navi_from_navilist(Eina_List *navilist, const char *label);
-ugNaviBar *mf_ug_navi_bar_get_navi_struct_by_label(void *data, const char *pNaviLabel);
void mf_ug_navi_bar_title_set(void *data);
-Evas_Object *mf_ug_navibar_create_notify_popup(void *data,
- Evas_Object *parent,
- char *label,
- bool time_out,
- void func(void *data, Evas_Object *obj, void *event_info));
+void mf_ug_navi_bar_create_group_radio_box(void *data);
+void mf_ug_navi_bar_button_set_disable(void *data, bool disable);
+void mf_ug_navi_bar_set_path_state(Evas_Object *layout, Eina_Bool flag);
+Evas_Object *mf_ug_navi_bar_create_layout(Evas_Object *parent, const char *edj, const char *grp_name);
+Evas_Object *mf_genlist_create_path_info(Evas_Object *parent, const char *info, Evas_Object **pathinfo);
+Evas_Object *mf_ug_navi_bar_create_box(Evas_Object * parent);
+void mf_ug_navi_add_back_button(void *data);
+void mf_ug_navi_bar_create_delete_view(void *data);
+int mf_ug_navibar_get_ringtone_count(int mode);
-/********** Control Bar Definition ********/
-#define UG_CTRL_ICON_CANCEL UG_ICON_PATH"/myfile_icon_cancel.png"
-#define UG_CTRL_ICON_SAVE UG_ICON_PATH"/myfile_icon_done.png"
-#define UG_TITLE_ICON_HOME UG_ICON_PATH"/Controlbar/U01_controlbar_cion_home.png"
-#define UG_TITLE_ICON_HOME_PRESS UG_ICON_PATH"/Controlbar/U01_controlbar_cion_home_press.png"
-#define UG_TITLE_ICON_UPPER UG_ICON_PATH"/Controlbar/U01_controlbar_cion_up_folder.png"
-#define UG_TITLE_ICON_UPPER_PRESS UG_ICON_PATH"/Controlbar/U01_controlbar_cion_up_folder_press.png"
-
-typedef enum _eCtrlBarButtonType eCtrlBarButtonType;
-
-enum _eCtrlBarButtonType {
- CTRL_BUTTON_CANCEL = 0,
- CTRL_BUTTON_DONE,
- CTRL_BUTTON_ADD,
- CTRL_BUTTON_OTHER_RIONTONGS,
- CTRL_BUTTON_MUSIC,
- CTRL_BUTTON_MAX
-};
+/********** Control Bar Definition ********/
-void mf_ug_ctrl_bar_set(void *data, ugNaviBar *pNavi_s);
-void mf_ug_ctrl_bar_set_item_disable(void *data);
-
-
-/**********Tab Bar Definition *************/
-Evas_Object *mf_ug_tab_bar_create(Evas_Object *parent);
-Elm_Object_Item *mf_ug_tab_bar_append_item(Evas_Object *pTabBar, char *pTabIconPath, char *pTabBarLabel, void *user_data);
-void mf_ug_tab_bar_set_item_view(Evas_Object *tab_layout, Evas_Object *view);
-void mf_ug_tab_bar_remove_item_by_label(Evas_Object *pTabBar, char *pTabLabel);
-void mf_ug_tab_bar_remove_all_items(Evas_Object *pTabBar);
-void mf_ug_tab_bar_set_selected_item(Elm_Object_Item *pItem);
-void mf_ug_tab_bar_set_item_disable(Evas_Object *pTabBar, Eina_Bool disable);
-void mf_ug_ctrl_bar_recover(void *data);
-Elm_Object_Item *mf_ug_tab_bar_get_item_by_label(Evas_Object *pTabBar, char *pTabLabel);
-int mf_ug_tab_bar_items_count_get(Evas_Object *pTabBar);
-void mf_ug_navi_bar_button_set_disable(void *data, bool disable);
+#define UG_TITLE_ICON_HOME "myfile_controlbar_cion_home.png"
+#define UG_TITLE_ICON_HOME_PRESS "myfile_controlbar_cion_home_press.png"
+#define UG_TITLE_ICON_UPPER "myfile_controlbar_cion_up_folder.png"
+#define UG_TITLE_ICON_UPPER_PRESS "myfile_controlbar_cion_up_folder_press.png"
+#define UG_TITLE_ICON_SELECT_ALL "myfile_icon_select_all.png"
+#define UG_TITLE_ICON_SELECT_ALL_PRESS "myfile_icon_select_all_selected.png"
+void mf_ug_navi_bar_set_ctrl_item_disable(void *data);
-/*********** Popup Definition ************/
+/*********** Popup Definition ************/
typedef enum _mf_ug_popup_mode mf_ug_popup_mode;
enum _mf_ug_popup_mode {
- UG_POPMODE_MIN = 0,
- UG_POPMODE_TEXT,
- UG_POPMODE_TITLE_TEXT,
- UG_POPMODE_TEXT_TWO_BTN,
- UG_POPMODE_TITLE_TEXT_TWO_BTN,
- UG_POPMODE_TEXT_BTN,
- UG_POPMODE_TITLE_TEXT_BTN,
- UG_POPMODE_TITLE_TEXT_THREE_BTN,
- UG_POPMODE_PROGRESSBAR,
- UG_POPMODE_SEARCH,
- UG_POPMODE_LIST_BY,
- UG_POPMPDE_MAX
+ UG_POPMODE_MIN = 0,
+ UG_POPMODE_TEXT,
+ UG_POPMODE_TITLE_TEXT,
+ UG_POPMODE_TEXT_TWO_BTN,
+ UG_POPMODE_TITLE_TEXT_TWO_BTN,
+ UG_POPMODE_TEXT_BTN,
+ UG_POPMODE_TITLE_TEXT_BTN,
+ UG_POPMODE_TITLE_TEXT_THREE_BTN,
+ UG_POPMODE_PROGRESSBAR,
+ UG_POPMODE_SEARCH,
+ UG_POPMODE_LIST_BY,
+ UG_POPMPDE_MAX
};
typedef enum _mf_ug_popup_event_type mf_ug_popup_event_type;
enum _mf_ug_popup_event_type {
- UG_ELM_POPUP_NONE,
- UG_ELM_POPUP_YES,
- UG_ELM_POPUP_NO,
- UG_ELM_POPUP_OK,
- UG_ELM_POPUP_CANCLE,
- UG_ELM_POPUP_AUTO_RENAME,
- UG_ELM_POPUP_REPLACE,
- UG_ELM_POPUP_PHONE,
- UG_ELM_POPUP_MEMORY,
- UG_ELM_POPUP_MAX
+ UG_ELM_POPUP_NONE,
+ UG_ELM_POPUP_YES,
+ UG_ELM_POPUP_NO,
+ UG_ELM_POPUP_OK,
+ UG_ELM_POPUP_CANCLE,
+ UG_ELM_POPUP_AUTO_RENAME,
+ UG_ELM_POPUP_REPLACE,
+ UG_ELM_POPUP_PHONE,
+ UG_ELM_POPUP_MEMORY,
+ UG_ELM_POPUP_MAX
};
-/*********** Popup API ************/
+/*********** Popup API ************/
Evas_Object *mf_ug_popup_create(void *data, mf_ug_popup_mode popupMode, char *title, const char *context, const char *first_btn_text, const char *second_btn_text,
- const char *third_btn_text, Evas_Smart_Cb func, void *param);
-void mf_ug_popup_indicator_popup(const char *text);
+ const char *third_btn_text, Evas_Smart_Cb func, void *param);
+void mf_ug_popup_indicator_popup(char *text);
+Evas_Object *mf_ug_popup_create_new_folder_popup(void *data, char *context);
+Evas_Object *mf_ug_popup_create_search(void *data, Evas_Smart_Cb func, void *param);
+Evas_Object *mf_ug_progress_get();
+void mf_ug_progress_set(Evas_Object *progress);
+Eina_Bool mf_ug_popup_present_flag_get();
+
void mf_ug_context_popup_create_more(void *data, Evas_Object *parent);
+void mf_ug_resize_more_ctxpopup_cb(void *data, Evas_Object *obj, void *event_info);
/******************* Genlist API *********************/
-void mf_ug_upper_genlist_item_append(Evas_Object *pGenlist, void *data);
-void mf_ug_genlist_goto_myfile_item_append(Evas_Object *pGenlist, void *data);
-Evas_Object *mf_navi_bar_upper_create(Evas_Object *parent);
-void mf_ug_genlist_goto_myfile_style_set(void *data);
-void mf_ug_genlist_upper_style_set(void *data);
-Evas_Object *mf_ug_genlist_create_no_content(void *data);
Evas_Object *mf_ug_genlist_create_content_list_view(void *data);
Evas_Object *__mf_ug_genlist_create_gl(void *data);
-Evas_Object *mf_ug_genlist_create_list_new_folder_style(void *data);
Evas_Object *mf_ug_genlist_create_path_info(Evas_Object *parent, Elm_Genlist_Item_Class *itc, char *info);
Elm_Object_Item *mf_ug_genlist_item_append(Evas_Object *parent,
- ugFsNodeInfo *pNode,
- void *data,
- int groudValue,
- Elm_Genlist_Item_Class *itc);
+ char *real_name,
+ void *data,
+ int groudValue,
+ Elm_Genlist_Item_Class *itc);
void mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *event_info);
+void mf_ug_genlist_item_remove(Evas_Object *parent, int storage);
+Evas_Object *mf_ug_genlist_create_checkbox(Evas_Object *parent);
+
+void mf_ug_navi_bar_push_content(void *data, Evas_Object *NaviContent);
+Evas_Object *mf_popup_center_processing(Evas_Object *parent,
+ const char *context,
+ Evas_Smart_Cb func,
+ void *param);
+void mf_ug_genlist_first_item_append(void *data, char *fullpath);
+void mf_ug_select_all_layout_mouse_down_cb(void *data, Evas_Object *obj, void *event_info);
+void mf_ug_genlist_item_bringin_top(void *data, const char *music_path);
+Evas_Object *mf_ug_genlist_delete_style_create(void *data);
+int mf_ug_genlist_ringtone_delete_items_add(void *data, int value);
+void mf_ug_genlist_first_item_insert(void *data, char *fullpath, Elm_Object_Item *insert_afer);
+Elm_Object_Item *mf_ug_genlist_default_item_get();
+void mf_ug_genlist_show_select_info(void *data);
#endif
diff --git a/src/media-db/mf-ug-media-db.c b/src/media-db/mf-ug-media-db.c
new file mode 100644
index 0000000..440a726
--- /dev/null
+++ b/src/media-db/mf-ug-media-db.c
@@ -0,0 +1,1756 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+#include <sqlite3.h>
+#include <string.h>
+#include <assert.h>
+#include <Eina.h>
+#include <unistd.h>
+
+#include "mf-ug-media-error.h"
+#include "mf-ug-media-types.h"
+
+#include "mf-ug-media.h"
+#include "mf-ug-media-db.h"
+#include "mf-ug-dlog.h"
+
+
+#define MF_DB_NAME "/opt/usr/apps/org.tizen.myfile/data/.myfile_media.db"
+
+#define MF_PRAGMA_FOREIGN_KEYS_ON "PRAGMA foreign_keys = ON;"
+
+/************* Shortcut ************/
+#define MF_INSERT_INTO_SHORTCUT_TABLE "INSERT INTO %s (%s, %s, %s) VALUES ('%q', %Q, %d);"
+#define MF_DELETE_FROM_SHORTCUT_TABLE "DELETE FROM %s WHERE %s = '%q';"
+#define MF_DELETE_BY_TYPE_FROM_SHORTCUT_TABLE "DELETE FROM %s WHERE %s = %d;"
+#define MF_SELECT_SHORTCUT_TABLE "SELECT * FROM %s;"
+#define MF_SELECT_SHORTCUT_COUNT_TABLE "SELECT count(*) FROM %s;"
+
+/************ Recent files ***********/
+#define MF_INSERT_INTO_RECENT_FILES_TABLE "INSERT INTO %s (%s, %s, %s, %s) VALUES (?, ?, ?, ?);"
+#define MF_DELETE_FROM_RECENT_FILES_TABLE "DELETE FROM %s WHERE %s = '%q';"
+#define MF_DELETE_BY_TYPE_FROM_RECENT_FILES_TABLE "DELETE FROM %s WHERE %s = %d;"
+#define MF_UPDATE_SET_RECENT_FILES_TABLE "UPDATE %s SET %s = '%q' WHERE (%s = '%q');"
+#define MF_UPDATE_FAVORATE_FILES_TABLE "UPDATE %s SET %s = '%q' WHERE (%s = '%q');"
+#define MF_SELECT_RECENT_FILES_TABLE "SELECT * FROM %s;"
+#define MF_SELECT_RECENT_FILES_COUNT_TABLE "SELECT count(*) FROM %s;"
+
+#define MF_DELETE_ALL_FROM_TABLE "DELETE FROM %s;"
+
+/************ ringtone ****************/
+#define MF_INSERT_INTO_RINGTONE_TABLE "INSERT INTO %s (%s, %s, %s) VALUES ('%q', %Q, %d);"
+#define MF_DELETE_FROM_RINGTONE_TABLE "DELETE FROM %s WHERE %s = '%q';"
+#define MF_DELETE_BY_TYPE_FROM_RINGTONE_TABLE "DELETE FROM %s WHERE %s = %d;"
+#define MF_SELECT_RINGTONE_TABLE "SELECT * FROM %s;"
+#define MF_SELECT_RINGTONE_COUNT_TABLE "SELECT count(*) FROM %s;"
+#define MF_FIND_RINGTONE_TABLE "SELECT * FROM %s WHERE %s = '%q';"
+
+/************** alert *****************/
+#define MF_INSERT_INTO_ALERT_TABLE "INSERT INTO %s (%s, %s, %s) VALUES ('%q', %Q, %d);"
+#define MF_DELETE_FROM_ALERT_TABLE "DELETE FROM %s WHERE %s = '%q';"
+#define MF_DELETE_BY_TYPE_FROM_ALERT_TABLE "DELETE FROM %s WHERE %s = %d;"
+#define MF_SELECT_ALERT_TABLE "SELECT * FROM %s;"
+#define MF_SELECT_ALERT_COUNT_TABLE "SELECT count(*) FROM %s;"
+#define MF_FIND_ALERT_TABLE "SELECT * FROM %s WHERE %s = '%q';"
+
+typedef enum {
+ MF_TABLE_NONE = -1,
+ MF_TABLE_SHORTCUT,
+ MF_TABLE_RECENT_FILES,
+ MF_TABLE_RINGTONE,
+ MF_TABLE_ALERT,
+ MF_TABLE_NUM,
+} mf_tbl_name_e;
+
+typedef enum {
+ MF_FIELD_SHORTCUT_NONE = -1,
+ MF_FIELD_SHORTCUT_PATH,
+ MF_FIELD_SHORTCUT_NAME,
+ MF_FIELD_SHORTCUT_STORAGE_TYPE,
+ MF_FIELD_SHORTCUT_NUM,
+} mf_field_shortcut_e;
+
+typedef enum {
+ MF_FIELD_RECENT_FILES_NONE = -1,
+ MF_FIELD_RECENT_FILES_PATH,
+ MF_FIELD_RECENT_FILES_NAME,
+ MF_FIELD_RECENT_FILES_STORAGE_TYPE,
+ MF_FIELD_RECENT_FILES_THUMBNAIL,
+ MF_FIELD_RECENT_FILES_NUM,
+} mf_field_recent_files_e;
+
+typedef enum {
+ MF_FIELD_RINGTONE_NONE = -1,
+ MF_FIELD_RINGTONE_PATH,
+ MF_FIELD_RINGTONE_NAME,
+ MF_FIELD_RINGTONE_STORAGE_TYPE,
+ MF_FIELD_RINGTONE_NUM,
+} mf_field_ringtone_e;
+
+typedef enum {
+ MF_FIELD_ALERT_NONE = -1,
+ MF_FIELD_ALERT_PATH,
+ MF_FIELD_ALERT_NAME,
+ MF_FIELD_ALERT_STORAGE_TYPE,
+ MF_FIELD_ALERT_NUM,
+} mf_field_alert_e;
+
+typedef struct {
+ char *field_name;
+ char *field_type;
+} mf_tbl_field_s;
+
+typedef struct {
+ char *table_name;
+ mf_tbl_field_s mf_tbl_field[MF_FIELD_RECENT_FILES_NUM+1];
+} mf_tbl_s;
+
+mf_tbl_s mf_tbl[MF_TABLE_NUM] = {
+ {"shortcut", {
+ {"path", ""} /* PK */
+ ,
+ {"name", ""} /* PK */
+ ,
+ {"storage_type", ""} /* PK */
+ }
+ }
+ ,
+ {"recent_files", {
+ {"path", ""} /* PK */
+ ,
+ {"name", ""}
+ ,
+ {"storage_type", ""}
+ ,
+ {"thumbnail_path", ""}
+ }
+
+ }
+ ,
+ {"ringtone", {
+ {"path", ""} /* PK */
+ ,
+ {"name", ""} /* PK */
+ ,
+ {"storage_type", ""} /* PK */
+ }
+ }
+ ,
+ {"alert", {
+ {"path", ""} /* PK */
+ ,
+ {"name", ""} /* PK */
+ ,
+ {"storage_type", ""} /* PK */
+ }
+ }
+};
+
+static int __mf_busy_handler(void *pData, int count)
+{
+ usleep(50000);
+
+ ug_debug("web_media_busy_handler called : %d", count);
+
+ return 100 - count;
+}
+
+int mf_sqlite3_exec(
+ sqlite3 *p_db, /* An open database */
+ const char *sql, /* SQL to be evaluated */
+ int (*callback)(void*, int, char**, char**), /* Callback function */
+ void *params, /* 1st argument to callback */
+ char **errmsg /* Error msg written here */
+)
+{
+ ug_debug("mf_sqlite3_exec enter\n");
+ sqlite3_stmt *p_statement = NULL;
+ int result = sqlite3_prepare_v2(p_db, sql, -1, &p_statement, NULL);
+ if (result != SQLITE_OK) {
+ ug_debug("sqlite3_prepare_v2 error result=%d", result);
+ return result;
+ }
+ result = sqlite3_step(p_statement);
+
+ result = sqlite3_finalize(p_statement);
+ if (result != SQLITE_OK) {
+ ug_debug("sqlite3_finalize error result=%d", result);
+ }
+ ug_debug("mf_sqlite3_exec leave result=%d", result);
+ return result;
+}
+
+
+static int __mf_sqlite3_commit_trans(MFDHandle *mfd_handle)
+{
+ char *err_msg = NULL;
+
+ sqlite3 *handle = (sqlite3 *)mfd_handle;
+ if (handle == NULL) {
+ ug_debug("handle is NULL");
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ ug_debug("gm_sqlite3_commit_trans enter\n");
+ if (SQLITE_OK != mf_sqlite3_exec(handle, "COMMIT;", NULL, NULL, &err_msg)) {
+ if (err_msg) {
+ ug_debug("Error:failed to end transaction: error=%s\n",
+ err_msg);
+ sqlite3_free(err_msg);
+ }
+ return MFD_ERROR_DB_INTERNAL;
+ }
+ if (err_msg)
+ sqlite3_free(err_msg);
+ ug_debug("gm_sqlite3_commit_trans leave\n");
+ return 0;
+}
+
+static int __mf_query_bind_text(sqlite3_stmt *stmt, int pos, const char *str)
+{
+ assert(NULL != stmt);
+
+ if (str)
+ return sqlite3_bind_text(stmt, pos, (const char *)str, strlen(str), SQLITE_STATIC);
+ else
+ return sqlite3_bind_null(stmt, pos);
+}
+
+static int __mf_query_bind_int(sqlite3_stmt *stmt, int pos, int num)
+{
+ assert(NULL != stmt);
+ assert(pos > -1);
+ return sqlite3_bind_int(stmt, pos, num);
+}
+
+static char *__mf_query_table_column_text(sqlite3_stmt *stmt, int pos)
+{
+ assert(NULL != stmt);
+ assert(pos > -1);
+ return (char *)sqlite3_column_text(stmt, pos);
+}
+
+static int __mf_query_table_column_int(sqlite3_stmt *stmt, int pos)
+{
+ assert(NULL != stmt);
+ assert(pos > -1);
+ return sqlite3_column_int(stmt, pos);
+}
+
+static void __mf_data_to_text(char *textbuf, char **output)
+{
+ if (textbuf && strlen(textbuf) > 0) {
+ if (*output) {
+ free(*output);
+ *output = NULL;
+ }
+ *output = strdup(textbuf);
+ }
+}
+
+
+static int __mf_query_sql(MFDHandle *mfd_handle, char *query_str)
+{
+ int err = -1;
+ char *err_msg = NULL;
+
+ sqlite3 *handle = (sqlite3 *)mfd_handle;
+ if (handle == NULL) {
+ ug_debug("handle is NULL");
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ ug_debug("SQL = %s\n", query_str);
+
+ err = mf_sqlite3_exec(handle, query_str, NULL, NULL, &err_msg);
+ if (SQLITE_OK != err) {
+ if (err_msg) {
+ ug_debug("failed to query[%s]", err_msg);
+ sqlite3_free(err_msg);
+ }
+ ug_debug("Query fails : query_string[%s]", query_str);
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ if (err_msg)
+ sqlite3_free(err_msg);
+ ug_debug("query success\n");
+
+ return err;
+}
+
+static int __mf_sqlite3_begin_trans(MFDHandle *mfd_handle)
+{
+ char *err_msg = NULL;
+
+ sqlite3 *handle = (sqlite3 *)mfd_handle;
+ if (handle == NULL) {
+ ug_debug("handle is NULL");
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ ug_debug("gm_sqlite3_begin_trans enter\n");
+ if (SQLITE_OK !=
+ mf_sqlite3_exec(handle, "BEGIN IMMEDIATE;", NULL, NULL, &err_msg)) {
+ if (err_msg) {
+ ug_debug("Error:failed to begin transaction: error=%s\n",
+ err_msg);
+ sqlite3_free(err_msg);
+ }
+ return MFD_ERROR_DB_INTERNAL;
+ }
+ if (err_msg)
+ sqlite3_free(err_msg);
+ ug_debug("gm_sqlite3_begin_trans leave\n");
+ return 0;
+}
+
+static int __mf_sqlite3_rollback_trans(MFDHandle *mfd_handle)
+{
+ char *err_msg = NULL;
+
+ sqlite3 *handle = (sqlite3 *)mfd_handle;
+ if (handle == NULL) {
+ ug_debug("handle is NULL");
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ ug_debug("gm_sqlite3_rollback_trans enter\n");
+ if (SQLITE_OK !=
+ mf_sqlite3_exec(handle, "ROLLBACK;", NULL, NULL, &err_msg)) {
+ if (err_msg) {
+ ug_debug("Error:failed to rollback transaction: error=%s\n",
+ err_msg);
+ sqlite3_free(err_msg);
+ }
+ return MFD_ERROR_DB_INTERNAL;
+ }
+ if (err_msg)
+ sqlite3_free(err_msg);
+ ug_debug("gm_sqlite3_rollback_trans leave\n");
+ return 0;
+}
+
+
+static void __mf_convert_recent_files_column_to_citem(sqlite3_stmt *stmt, MFRitem *ritem)
+{
+ char *textbuf = NULL;
+
+ textbuf = __mf_query_table_column_text(stmt, MF_FIELD_RECENT_FILES_PATH);
+ __mf_data_to_text(textbuf, &(ritem->path));
+
+ textbuf = __mf_query_table_column_text(stmt, MF_FIELD_RECENT_FILES_NAME);
+ __mf_data_to_text(textbuf, &(ritem->name));
+
+ ritem->storyage_type = __mf_query_table_column_int(stmt, MF_FIELD_RECENT_FILES_STORAGE_TYPE);
+
+ textbuf = __mf_query_table_column_text(stmt, MF_FIELD_RECENT_FILES_THUMBNAIL);
+ __mf_data_to_text(textbuf, &(ritem->thumbnail));
+
+}
+
+static void __mf_foreach_recent_files_ritem_cb(mf_recent_files_item_cb callback, void *data, void *user_data)
+{
+ Eina_List *list = (Eina_List *)data;
+ Eina_List *iter = NULL;
+
+ for (iter = list; iter != NULL; iter = eina_list_next(iter)) {
+ MFRitem *ritem = NULL;
+ ritem = (MFRitem *)iter->data;
+
+ if (callback(ritem, user_data) == FALSE)
+ break;
+ }
+}
+
+static void __mf_free_recent_files_list(void *data)
+{
+ mf_ug_destroy_recent_files_item(data);
+}
+
+static void __mf_media_db_eina_list_free_full(Eina_List **list, void (*func)(void *data))
+{
+ ug_mf_retm_if(*list == NULL, "list is NULL");
+
+ void *pNode = NULL;
+ Eina_List *l = NULL;
+ EINA_LIST_FOREACH(*list, l, pNode) {
+ func(pNode);
+ }
+ eina_list_free(*list);
+ *list = NULL;
+}
+
+int mf_ug_connect_db_with_handle(sqlite3 **db_handle)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (db_handle == NULL) {
+ ug_debug("error invalid arguments");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ /*Connect DB*/
+ ret = sqlite3_open(MF_DB_NAME, db_handle);
+ if (SQLITE_OK != ret) {
+
+ ug_debug("error when db open");
+ *db_handle = NULL;
+ return MFD_ERROR_DB_CONNECT;
+ }
+
+ /*Register busy handler*/
+ ret = sqlite3_busy_handler(*db_handle, NULL, NULL);
+ if (SQLITE_OK != ret) {
+
+ if (*db_handle) {
+ ug_debug("[error when register busy handler] %s\n", sqlite3_errmsg(*db_handle));
+ }
+
+ ret = sqlite3_close(*db_handle);
+ *db_handle = NULL;
+
+ return MFD_ERROR_DB_CONNECT;
+ }
+
+ /* set foreign_keys */
+ char *query_string = NULL;
+ query_string =
+ sqlite3_mprintf(MF_PRAGMA_FOREIGN_KEYS_ON);
+
+ ug_debug("Query : %s", query_string);
+
+ ret = __mf_query_sql(*db_handle, query_string);
+ sqlite3_free(query_string);
+
+ return MFD_ERROR_NONE;
+}
+
+int mf_ug_disconnect_db_with_handle(sqlite3 *db_handle)
+{
+ int ret = MFD_ERROR_NONE;
+
+ ret = sqlite3_close(db_handle);
+ if (SQLITE_OK != ret) {
+ ug_debug("error when db close");
+ ug_debug("Error : %s", sqlite3_errmsg(db_handle));
+ db_handle = NULL;
+ return MFD_ERROR_DB_DISCONNECT;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+/*1 Shortcut*/
+
+static void __mf_convert_shortcut_column_to_sitem(sqlite3_stmt *stmt, MFSitem *sitem)
+{
+ char *textbuf = NULL;
+
+ textbuf = __mf_query_table_column_text(stmt, MF_FIELD_SHORTCUT_PATH);
+ __mf_data_to_text(textbuf, &(sitem->path));
+}
+
+static void __mf_foreach_shortcut_sitem_cb(mf_shortcut_item_cb callback, void *data, void *user_data)
+{
+ Eina_List *list = (Eina_List *)data;
+ Eina_List *iter = NULL;
+
+ for (iter = list; iter != NULL; iter = eina_list_next(iter)) {
+ MFSitem *sitem = NULL;
+ sitem = (MFSitem *)iter->data;
+
+ if (callback(sitem, user_data) == FALSE)
+ break;
+ }
+}
+
+static void __mf_free_shortcut_list(void *data)
+{
+ mf_ug_destroy_shortcut_item(data);
+}
+
+int mf_ug_update_shortcut(MFDHandle *mfd_handle, const char *new_name, char *old_name)
+{
+ if (new_name == NULL) {
+ ug_debug("device_id is null");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ug_error("mf_ug_update_shortcut");
+ int err = -1;
+ mf_tbl_field_s *mf_tbl_field;
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_SHORTCUT;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+
+
+ query_string =
+ sqlite3_mprintf(MF_UPDATE_FAVORATE_FILES_TABLE,
+ mf_tbl[field_seq].table_name,
+ /*mf_tbl_field[MF_FIELD_SHORTCUT_PATH].field_name,*/
+ mf_tbl_field[MF_FIELD_SHORTCUT_PATH].field_name,
+ new_name,
+ mf_tbl_field[MF_FIELD_SHORTCUT_PATH].field_name,
+ old_name
+ );
+
+ ug_error("Query : %s", query_string);
+
+ err = __mf_query_sql(mfd_handle, query_string);
+ sqlite3_free(query_string);
+
+ if (err < 0) {
+ ug_debug("Inserting device table failed\n");
+ ug_debug("query string is %s\n", query_string);
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+
+
+int mf_ug_insert_shortcut(MFDHandle *mfd_handle, const char *shortcut_path, const char *shortcut_name, int storage_type)
+{
+ ug_debug("");
+
+ if (shortcut_path == NULL) {
+ ug_debug("device_id is null");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ int err = -1;
+ mf_tbl_field_s *mf_tbl_field;
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_SHORTCUT;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+
+
+ query_string =
+ sqlite3_mprintf(MF_INSERT_INTO_SHORTCUT_TABLE,
+ mf_tbl[field_seq].table_name,
+ mf_tbl_field[MF_FIELD_SHORTCUT_PATH].field_name,
+ mf_tbl_field[MF_FIELD_SHORTCUT_NAME].field_name,
+ mf_tbl_field[MF_FIELD_SHORTCUT_STORAGE_TYPE].field_name,
+ shortcut_path,
+ shortcut_name,
+ storage_type);
+
+ ug_debug("Query : %s", query_string);
+
+ err = __mf_query_sql(mfd_handle, query_string);
+ sqlite3_free(query_string);
+
+ if (err < 0) {
+ ug_debug("Inserting device table failed\n");
+ ug_debug("query string is %s\n", query_string);
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+int mf_ug_delete_shortcut(MFDHandle *mfd_handle, const char *shortcut_path)
+{
+ ug_debug("");
+
+ if (shortcut_path == NULL) {
+ ug_debug("shortcut_path is null");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ int err = -1;
+ mf_tbl_field_s *mf_tbl_field;
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_SHORTCUT;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+
+ query_string =
+ sqlite3_mprintf(MF_DELETE_FROM_SHORTCUT_TABLE,
+ mf_tbl[field_seq].table_name,
+ mf_tbl_field[MF_FIELD_SHORTCUT_PATH].field_name,
+ shortcut_path);
+
+ ug_debug("Query : %s", query_string);
+
+ err = __mf_sqlite3_begin_trans(mfd_handle);
+ if (err < 0) {
+ ug_debug("gm_sqlite3_begin_trans failed");
+ return err;
+ }
+
+ err = __mf_query_sql(mfd_handle, query_string);
+ sqlite3_free(query_string);
+
+ if (err < 0) {
+ ug_debug("delete content by content_id failed.. Now start to rollback");
+ __mf_sqlite3_rollback_trans(mfd_handle);
+ return err;
+ }
+
+ err = __mf_sqlite3_commit_trans(mfd_handle);
+ if (err < 0) {
+ ug_debug("gm_sqlite3_commit_trans failed.. Now start to rollback\n");
+ __mf_sqlite3_rollback_trans(mfd_handle);
+ return err;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+int mf_ug_delete_shortcut_by_type(MFDHandle *mfd_handle, int storage_type)
+{
+ ug_debug("");
+
+ int err = -1;
+ mf_tbl_field_s *mf_tbl_field;
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_SHORTCUT;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+
+ query_string =
+ sqlite3_mprintf(MF_DELETE_BY_TYPE_FROM_SHORTCUT_TABLE,
+ mf_tbl[field_seq].table_name,
+ mf_tbl_field[MF_FIELD_SHORTCUT_STORAGE_TYPE].field_name,
+ storage_type);
+
+ ug_debug("Query : %s", query_string);
+
+ err = __mf_sqlite3_begin_trans(mfd_handle);
+ if (err < 0) {
+ ug_debug("gm_sqlite3_begin_trans failed");
+ return err;
+ }
+
+ err = __mf_query_sql(mfd_handle, query_string);
+ sqlite3_free(query_string);
+
+ if (err < 0) {
+ ug_debug("delete content by content_id failed.. Now start to rollback");
+ __mf_sqlite3_rollback_trans(mfd_handle);
+ return err;
+ }
+
+ err = __mf_sqlite3_commit_trans(mfd_handle);
+ if (err < 0) {
+ ug_debug("gm_sqlite3_commit_trans failed.. Now start to rollback\n");
+ __mf_sqlite3_rollback_trans(mfd_handle);
+ return err;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+int mf_ug_foreach_shortcut_list(MFDHandle *mfd_handle, mf_shortcut_item_cb callback, void *user_data)
+{
+ ug_debug("");
+
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_SHORTCUT;
+ sqlite3_stmt *stmt = NULL;
+ int rc = 0;
+
+ query_string =
+ sqlite3_mprintf(MF_SELECT_SHORTCUT_TABLE,
+ mf_tbl[field_seq].table_name);
+
+ ug_debug("Query : %s", query_string);
+
+ rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL);
+ sqlite3_free(query_string);
+ if (SQLITE_OK != rc) {
+ ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle));
+ ug_debug("Query fails : query_string[%s]", query_string);
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ rc = sqlite3_step(stmt);
+ if (SQLITE_ROW != rc) {
+ ug_debug("No result");
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+ return MFD_ERROR_DB_NO_RECORD;
+ }
+
+ Eina_List *shortcut_list = NULL;
+ MFSitem *sitem = NULL;
+
+ while (SQLITE_ROW == rc) {
+ sitem = (MFSitem *)calloc(1, sizeof(MFSitem));
+ if (!sitem) {
+ ug_debug("allocation failed");
+ return MFD_ERROR_DB_INTERNAL;
+ }
+ __mf_convert_shortcut_column_to_sitem(stmt, sitem);
+ shortcut_list = eina_list_append(shortcut_list, sitem);
+ rc = sqlite3_step(stmt);
+ ug_debug("");
+ }
+
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+
+ __mf_foreach_shortcut_sitem_cb(callback, shortcut_list, user_data);
+
+ if (shortcut_list) {
+ __mf_media_db_eina_list_free_full(&shortcut_list, __mf_free_shortcut_list);
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+int mf_ug_get_short_count(MFDHandle *mfd_handle, int *count)
+{
+ ug_debug("");
+
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_SHORTCUT;
+ sqlite3_stmt *stmt = NULL;
+ int rc = 0;
+
+ query_string =
+ sqlite3_mprintf(MF_SELECT_SHORTCUT_COUNT_TABLE,
+ mf_tbl[field_seq].table_name);
+
+ ug_debug("Query : %s", query_string);
+
+ rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL);
+ sqlite3_free(query_string);
+ if (SQLITE_OK != rc) {
+ ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle));
+ ug_debug("Query fails : query_string[%s]", query_string);
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ rc = sqlite3_step(stmt);
+ if (SQLITE_ROW != rc) {
+ ug_debug("No result");
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+ *count = 0;
+ return MFD_ERROR_DB_NO_RECORD;
+ }
+
+ *count = sqlite3_column_int(stmt, 0);
+ ug_debug("count : %d", *count);
+
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+/*1 Recent files*/
+
+
+
+int mf_ug_insert_recent_file(MFDHandle *mfd_handle, const char *path, const char *name, int storage_type, const char *thumbnail_path)
+{
+ ug_debug("");
+ ug_mf_retvm_if (path == NULL, MFD_ERROR_INVALID_PARAMETER, "path is NULL");
+ /*mf_retvm_if (name == NULL, MFD_ERROR_INVALID_PARAMETER, "path is NULL");
+ mf_retvm_if (thumbnail_path == NULL, MFD_ERROR_INVALID_PARAMETER, "path is NULL");*/
+
+
+ sqlite3_stmt *stmt = NULL;
+ int err = -1;
+
+ char query_string[255];
+ memset(query_string, 0, sizeof(query_string));
+ mf_tbl_field_s *mf_tbl_field;
+ mf_tbl_name_e field_seq = MF_TABLE_RECENT_FILES;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+
+ snprintf(query_string, sizeof(query_string), MF_INSERT_INTO_RECENT_FILES_TABLE,
+ mf_tbl[field_seq].table_name,
+ mf_tbl_field[MF_FIELD_RECENT_FILES_PATH].field_name,
+ mf_tbl_field[MF_FIELD_RECENT_FILES_NAME].field_name,
+ mf_tbl_field[MF_FIELD_RECENT_FILES_STORAGE_TYPE].field_name,
+ mf_tbl_field[MF_FIELD_RECENT_FILES_THUMBNAIL].field_name);
+
+ err = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL);
+ if (err != SQLITE_OK) {
+ ug_debug("sqlite3_prepare_v2");
+ goto INSERT_FAIL;
+ }
+
+ __mf_query_bind_text(stmt, 1, path);
+ __mf_query_bind_text(stmt, 2, name);
+ __mf_query_bind_int(stmt, 3, storage_type);
+ __mf_query_bind_text(stmt, 4, thumbnail_path);
+
+INSERT_FAIL:
+ err = sqlite3_step(stmt);
+ if (err != SQLITE_DONE) {
+ SECURE_DEBUG("Inserting content table failed. %s", sqlite3_errmsg(mfd_handle));
+ if (SQLITE_OK != sqlite3_finalize(stmt)) {
+ ug_debug("sqlite3_finalize failed");
+ }
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ if (SQLITE_OK != sqlite3_finalize(stmt)) {
+ ug_debug("sqlite3_finalize failed");
+ }
+ ug_debug("Query : %s", query_string);
+
+ return MFD_ERROR_NONE;
+}
+
+int mf_ug_delete_recent_files(MFDHandle *mfd_handle, const char *path)
+{
+ ug_debug("");
+
+ if (path == NULL) {
+ ug_debug("shortcut_path is null");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ int err = -1;
+ mf_tbl_field_s *mf_tbl_field;
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_RECENT_FILES;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+
+ query_string =
+ sqlite3_mprintf(MF_DELETE_FROM_RECENT_FILES_TABLE,
+ mf_tbl[field_seq].table_name,
+ mf_tbl_field[MF_FIELD_RECENT_FILES_PATH].field_name,
+ path);
+
+ ug_debug("Query : %s", query_string);
+
+ err = __mf_sqlite3_begin_trans(mfd_handle);
+ if (err < 0) {
+ ug_debug("gm_sqlite3_begin_trans failed");
+ return err;
+ }
+
+ err = __mf_query_sql(mfd_handle, query_string);
+ sqlite3_free(query_string);
+
+ if (err < 0) {
+ ug_debug("delete content by content_id failed.. Now start to rollback");
+ __mf_sqlite3_rollback_trans(mfd_handle);
+ return err;
+ }
+
+ err = __mf_sqlite3_commit_trans(mfd_handle);
+ if (err < 0) {
+ ug_debug("gm_sqlite3_commit_trans failed.. Now start to rollback\n");
+ __mf_sqlite3_rollback_trans(mfd_handle);
+ return err;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+int mf_ug_delete_recent_files_by_type(MFDHandle *mfd_handle, int storage_type)
+{
+ ug_debug("");
+
+ int err = -1;
+ mf_tbl_field_s *mf_tbl_field;
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_RECENT_FILES;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+
+ query_string =
+ sqlite3_mprintf(MF_DELETE_BY_TYPE_FROM_RECENT_FILES_TABLE,
+ mf_tbl[field_seq].table_name,
+ mf_tbl_field[MF_FIELD_RECENT_FILES_STORAGE_TYPE].field_name,
+ storage_type);
+
+ ug_debug("Query : %s", query_string);
+
+ err = __mf_sqlite3_begin_trans(mfd_handle);
+ if (err < 0) {
+ ug_debug("gm_sqlite3_begin_trans failed");
+ return err;
+ }
+
+ err = __mf_query_sql(mfd_handle, query_string);
+ sqlite3_free(query_string);
+
+ if (err < 0) {
+ ug_debug("delete content by content_id failed.. Now start to rollback");
+ __mf_sqlite3_rollback_trans(mfd_handle);
+ return err;
+ }
+
+ err = __mf_sqlite3_commit_trans(mfd_handle);
+ if (err < 0) {
+ ug_debug("gm_sqlite3_commit_trans failed.. Now start to rollback\n");
+ __mf_sqlite3_rollback_trans(mfd_handle);
+ return err;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+int mf_ug_update_recent_files_thumbnail(MFDHandle *mfd_handle, const char *thumbnail, const char *new_thumbnail)
+{
+ ug_debug("");
+
+ if (thumbnail == NULL) {
+ ug_debug("thumbnail is null");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+ if (new_thumbnail == NULL) {
+ ug_debug("new_thumbnail is null");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ int err = -1;
+
+ mf_tbl_field_s *mf_tbl_field;
+ mf_tbl_name_e field_seq = MF_TABLE_RECENT_FILES;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+ char *query_string = NULL;
+
+ query_string =
+ sqlite3_mprintf(MF_UPDATE_SET_RECENT_FILES_TABLE,
+ mf_tbl[field_seq].table_name,
+ mf_tbl_field[MF_FIELD_RECENT_FILES_THUMBNAIL].field_name,
+ new_thumbnail,
+ mf_tbl_field[MF_FIELD_RECENT_FILES_THUMBNAIL].field_name,
+ thumbnail);
+
+ ug_debug("Query : %s", query_string);
+
+ err = __mf_query_sql(mfd_handle, query_string);
+ sqlite3_free(query_string);
+
+ if (err < 0) {
+ ug_debug("Updating content table failed");
+ ug_debug("query string is %s", query_string);
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+
+
+int mf_ug_foreach_recent_files_list(MFDHandle *mfd_handle, mf_recent_files_item_cb callback, void *user_data)
+{
+ ug_debug("");
+
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_RECENT_FILES;
+ sqlite3_stmt *stmt = NULL;
+ int rc = 0;
+
+ query_string = sqlite3_mprintf(MF_SELECT_RECENT_FILES_TABLE, mf_tbl[field_seq].table_name);
+
+ ug_debug("Query : %s", query_string);
+
+ rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL);
+ sqlite3_free(query_string);
+ if (SQLITE_OK != rc) {
+ ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle));
+ ug_debug("Query fails : query_string[%s]", query_string);
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ rc = sqlite3_step(stmt);
+ if (SQLITE_ROW != rc) {
+ ug_debug("No result");
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+ return MFD_ERROR_DB_NO_RECORD;
+ }
+
+ Eina_List *recent_files_list = NULL;
+ MFRitem *ritem = NULL;
+
+ while (SQLITE_ROW == rc) {
+ ritem = (MFRitem *)calloc(1, sizeof(MFRitem));
+ if (!ritem) {
+ ug_debug("allocation failed");
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ __mf_convert_recent_files_column_to_citem(stmt, ritem);
+ recent_files_list = eina_list_append(recent_files_list, ritem);
+ rc = sqlite3_step(stmt);
+ ug_debug("");
+ }
+
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+
+ __mf_foreach_recent_files_ritem_cb(callback, recent_files_list, user_data);
+
+ if (recent_files_list) {
+ __mf_media_db_eina_list_free_full(&recent_files_list, __mf_free_recent_files_list);
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+
+int mf_ug_get_recent_files_count(MFDHandle *mfd_handle, int *count)
+{
+ ug_debug("");
+
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_RECENT_FILES;
+ sqlite3_stmt *stmt = NULL;
+ int rc = 0;
+
+ query_string = sqlite3_mprintf(MF_SELECT_RECENT_FILES_COUNT_TABLE, mf_tbl[field_seq].table_name);
+
+ ug_debug("Query : %s", query_string);
+
+ rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL);
+ sqlite3_free(query_string);
+ if (SQLITE_OK != rc) {
+ ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle));
+ ug_debug("Query fails : query_string[%s]", query_string);
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ rc = sqlite3_step(stmt);
+ if (SQLITE_ROW != rc) {
+ ug_debug("No result");
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+ *count = 0;
+ return MFD_ERROR_DB_NO_RECORD;
+ }
+
+ *count = sqlite3_column_int(stmt, 0);
+ ug_debug("count : %d", *count);
+
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+/*1 Ringtones*/
+
+static void __mf_convert_ringtone_column_to_ringtone_item(sqlite3_stmt *stmt, mfRingtone *ritem)
+{
+ char *textbuf = NULL;
+
+ textbuf = __mf_query_table_column_text(stmt, MF_FIELD_SHORTCUT_PATH);
+ __mf_data_to_text(textbuf, &(ritem->path));
+}
+
+static void __mf_foreach_ringtone_item_cb(mf_ringtone_item_cb callback, void *data, void *user_data)
+{
+ Eina_List *list = (Eina_List *)data;
+ Eina_List *iter = NULL;
+
+ for (iter = list; iter != NULL; iter = eina_list_next(iter)) {
+ mfRingtone *ritem = NULL;
+ ritem = (mfRingtone *)iter->data;
+
+ if (callback(ritem, user_data) == FALSE)
+ break;
+ }
+}
+
+static void __mf_free_ringtone_list(void *data)
+{
+ mf_ug_destroy_ringtone_item(data);
+}
+
+int mf_ug_update_ringtone(MFDHandle *mfd_handle, const char *new_name, char *old_name)
+{
+ if (new_name == NULL) {
+ ug_debug("device_id is null");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ug_error("mf_ug_update_shortcut");
+ int err = -1;
+ mf_tbl_field_s *mf_tbl_field;
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_RINGTONE;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+
+
+ query_string =
+ sqlite3_mprintf(MF_UPDATE_FAVORATE_FILES_TABLE,
+ mf_tbl[field_seq].table_name,
+ /*mf_tbl_field[MF_FIELD_SHORTCUT_PATH].field_name,*/
+ mf_tbl_field[MF_FIELD_RINGTONE_PATH].field_name,
+ new_name,
+ mf_tbl_field[MF_FIELD_RINGTONE_PATH].field_name,
+ old_name
+ );
+
+ ug_error("Query : %s", query_string);
+
+ err = __mf_query_sql(mfd_handle, query_string);
+ sqlite3_free(query_string);
+
+ if (err < 0) {
+ ug_debug("Inserting device table failed\n");
+ ug_debug("query string is %s\n", query_string);
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+
+
+int mf_ug_insert_ringtone(MFDHandle *mfd_handle, const char *ringtone_path, const char *ringtone_name, int storage_type)
+{
+ ug_debug("");
+
+ if (ringtone_path == NULL) {
+ ug_debug("device_id is null");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ int err = -1;
+ mf_tbl_field_s *mf_tbl_field;
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_RINGTONE;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+
+
+ query_string =
+ sqlite3_mprintf(MF_INSERT_INTO_RINGTONE_TABLE,
+ mf_tbl[field_seq].table_name,
+ mf_tbl_field[MF_FIELD_RINGTONE_PATH].field_name,
+ mf_tbl_field[MF_FIELD_RINGTONE_NAME].field_name,
+ mf_tbl_field[MF_FIELD_RINGTONE_STORAGE_TYPE].field_name,
+ ringtone_path,
+ ringtone_name,
+ storage_type);
+
+ ug_debug("Query : %s", query_string);
+
+ err = __mf_query_sql(mfd_handle, query_string);
+ sqlite3_free(query_string);
+
+ if (err < 0) {
+ ug_debug("Inserting device table failed\n");
+ ug_debug("query string is %s\n", query_string);
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+int mf_ug_delete_ringtone(MFDHandle *mfd_handle, const char *ringtone_path)
+{
+ ug_debug("");
+
+ if (ringtone_path == NULL) {
+ ug_debug("shortcut_path is null");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ int err = -1;
+ mf_tbl_field_s *mf_tbl_field;
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_RINGTONE;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+
+ query_string =
+ sqlite3_mprintf(MF_DELETE_FROM_RINGTONE_TABLE,
+ mf_tbl[field_seq].table_name,
+ mf_tbl_field[MF_FIELD_RINGTONE_PATH].field_name,
+ ringtone_path);
+
+ ug_debug("Query : %s", query_string);
+
+ err = __mf_sqlite3_begin_trans(mfd_handle);
+ if (err < 0) {
+ ug_debug("gm_sqlite3_begin_trans failed");
+ return err;
+ }
+
+ err = __mf_query_sql(mfd_handle, query_string);
+ sqlite3_free(query_string);
+
+ if (err < 0) {
+ ug_debug("delete content by content_id failed.. Now start to rollback");
+ __mf_sqlite3_rollback_trans(mfd_handle);
+ return err;
+ }
+
+ err = __mf_sqlite3_commit_trans(mfd_handle);
+ if (err < 0) {
+ ug_debug("gm_sqlite3_commit_trans failed.. Now start to rollback\n");
+ __mf_sqlite3_rollback_trans(mfd_handle);
+ return err;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+int mf_ug_find_ringtone(MFDHandle *mfd_handle, const char *ringtone_path)
+{
+ ug_debug("");
+
+ mf_tbl_field_s *mf_tbl_field;
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_RINGTONE;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+ sqlite3_stmt *stmt = NULL;
+ int rc = 0;
+ int find = 0;
+ query_string =
+ sqlite3_mprintf(MF_FIND_RINGTONE_TABLE,
+ mf_tbl[field_seq].table_name,
+ mf_tbl_field[MF_FIELD_RINGTONE_PATH].field_name,
+ ringtone_path);
+
+ ug_debug("Query : %s", query_string);
+
+ rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL);
+ sqlite3_free(query_string);
+ if (SQLITE_OK != rc) {
+ ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle));
+ ug_debug("Query fails : query_string[%s]", query_string);
+ return find;
+ }
+
+ rc = sqlite3_step(stmt);
+ if (SQLITE_ROW != rc) {
+ ug_debug("No result");
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+ return find;
+ }
+
+
+ while (SQLITE_ROW == rc) {
+
+ find = 1;
+ rc = sqlite3_step(stmt);
+ ug_debug("");
+ }
+
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+ return find;
+}
+
+
+
+int mf_ug_delete_ringtone_by_type(MFDHandle *mfd_handle, int storage_type)
+{
+ ug_debug("");
+
+ int err = -1;
+ mf_tbl_field_s *mf_tbl_field;
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_RINGTONE;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+
+ query_string =
+ sqlite3_mprintf(MF_DELETE_BY_TYPE_FROM_RINGTONE_TABLE,
+ mf_tbl[field_seq].table_name,
+ mf_tbl_field[MF_FIELD_RINGTONE_STORAGE_TYPE].field_name,
+ storage_type);
+
+ ug_debug("Query : %s", query_string);
+
+ err = __mf_sqlite3_begin_trans(mfd_handle);
+ if (err < 0) {
+ ug_debug("gm_sqlite3_begin_trans failed");
+ return err;
+ }
+
+ err = __mf_query_sql(mfd_handle, query_string);
+ sqlite3_free(query_string);
+
+ if (err < 0) {
+ ug_debug("delete content by content_id failed.. Now start to rollback");
+ __mf_sqlite3_rollback_trans(mfd_handle);
+ return err;
+ }
+
+ err = __mf_sqlite3_commit_trans(mfd_handle);
+ if (err < 0) {
+ ug_debug("gm_sqlite3_commit_trans failed.. Now start to rollback\n");
+ __mf_sqlite3_rollback_trans(mfd_handle);
+ return err;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+int mf_ug_foreach_ringtone_list(MFDHandle *mfd_handle, mf_ringtone_item_cb callback, void *user_data)
+{
+ ug_debug("");
+
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_RINGTONE;
+ sqlite3_stmt *stmt = NULL;
+ int rc = 0;
+
+ query_string =
+ sqlite3_mprintf(MF_SELECT_RINGTONE_TABLE,
+ mf_tbl[field_seq].table_name);
+
+ ug_debug("Query : %s", query_string);
+
+ rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL);
+ sqlite3_free(query_string);
+ if (SQLITE_OK != rc) {
+ ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle));
+ ug_debug("Query fails : query_string[%s]", query_string);
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ rc = sqlite3_step(stmt);
+ if (SQLITE_ROW != rc) {
+ ug_debug("No result");
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+ return MFD_ERROR_DB_NO_RECORD;
+ }
+
+ Eina_List *ringtone_list = NULL;
+ mfRingtone *ritem = NULL;
+
+ while (SQLITE_ROW == rc) {
+ ritem = (mfRingtone *)calloc(1, sizeof(mfRingtone));
+ if (ritem) {
+ __mf_convert_ringtone_column_to_ringtone_item(stmt, ritem);
+ ringtone_list = eina_list_append(ringtone_list, ritem);
+ }
+ rc = sqlite3_step(stmt);
+ ug_debug("");
+ }
+
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+
+ __mf_foreach_ringtone_item_cb(callback, ringtone_list, user_data);
+
+ if (ringtone_list) {
+ __mf_media_db_eina_list_free_full(&ringtone_list, __mf_free_ringtone_list);
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+int mf_ug_get_ringtone_count(MFDHandle *mfd_handle, int *count)
+{
+ ug_debug("");
+
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_RINGTONE;
+ sqlite3_stmt *stmt = NULL;
+ int rc = 0;
+
+ query_string =
+ sqlite3_mprintf(MF_SELECT_RINGTONE_COUNT_TABLE,
+ mf_tbl[field_seq].table_name);
+
+ ug_debug("Query : %s", query_string);
+
+ rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL);
+ sqlite3_free(query_string);
+ if (SQLITE_OK != rc) {
+ ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle));
+ ug_debug("Query fails : query_string[%s]", query_string);
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ rc = sqlite3_step(stmt);
+ if (SQLITE_ROW != rc) {
+ ug_debug("No result");
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+ *count = 0;
+ return MFD_ERROR_DB_NO_RECORD;
+ }
+
+ *count = sqlite3_column_int(stmt, 0);
+ ug_debug("count : %d", *count);
+
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+
+int mf_ug_update_alert(MFDHandle *mfd_handle, const char *new_name, char *old_name)
+{
+ if (new_name == NULL) {
+ ug_debug("device_id is null");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ug_error("mf_ug_update_shortcut");
+ int err = -1;
+ mf_tbl_field_s *mf_tbl_field;
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_ALERT;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+
+
+ query_string =
+ sqlite3_mprintf(MF_UPDATE_FAVORATE_FILES_TABLE,
+ mf_tbl[field_seq].table_name,
+ /*mf_tbl_field[MF_FIELD_SHORTCUT_PATH].field_name,*/
+ mf_tbl_field[MF_FIELD_ALERT_PATH].field_name,
+ new_name,
+ mf_tbl_field[MF_FIELD_ALERT_PATH].field_name,
+ old_name
+ );
+
+ ug_error("Query : %s", query_string);
+
+ err = __mf_query_sql(mfd_handle, query_string);
+ sqlite3_free(query_string);
+
+ if (err < 0) {
+ ug_debug("Inserting device table failed\n");
+ ug_debug("query string is %s\n", query_string);
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+
+
+int mf_ug_insert_alert(MFDHandle *mfd_handle, const char *alert_path, const char *alert_name, int storage_type)
+{
+ ug_debug("");
+
+ if (alert_path == NULL) {
+ ug_debug("device_id is null");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ int err = -1;
+ mf_tbl_field_s *mf_tbl_field;
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_ALERT;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+
+
+ query_string =
+ sqlite3_mprintf(MF_INSERT_INTO_ALERT_TABLE,
+ mf_tbl[field_seq].table_name,
+ mf_tbl_field[MF_FIELD_ALERT_PATH].field_name,
+ mf_tbl_field[MF_FIELD_ALERT_NAME].field_name,
+ mf_tbl_field[MF_FIELD_ALERT_STORAGE_TYPE].field_name,
+ alert_path,
+ alert_name,
+ storage_type);
+
+ ug_debug("Query : %s", query_string);
+
+ err = __mf_query_sql(mfd_handle, query_string);
+ sqlite3_free(query_string);
+
+ if (err < 0) {
+ ug_debug("Inserting device table failed\n");
+ ug_debug("query string is %s\n", query_string);
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+int mf_ug_delete_alert(MFDHandle *mfd_handle, const char *alert_path)
+{
+ ug_debug("");
+
+ if (alert_path == NULL) {
+ ug_debug("shortcut_path is null");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ int err = -1;
+ mf_tbl_field_s *mf_tbl_field;
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_ALERT;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+
+ query_string =
+ sqlite3_mprintf(MF_DELETE_FROM_ALERT_TABLE,
+ mf_tbl[field_seq].table_name,
+ mf_tbl_field[MF_FIELD_ALERT_PATH].field_name,
+ alert_path);
+
+ ug_debug("Query : %s", query_string);
+
+ err = __mf_sqlite3_begin_trans(mfd_handle);
+ if (err < 0) {
+ ug_debug("gm_sqlite3_begin_trans failed");
+ return err;
+ }
+
+ err = __mf_query_sql(mfd_handle, query_string);
+ sqlite3_free(query_string);
+
+ if (err < 0) {
+ ug_debug("delete content by content_id failed.. Now start to rollback");
+ __mf_sqlite3_rollback_trans(mfd_handle);
+ return err;
+ }
+
+ err = __mf_sqlite3_commit_trans(mfd_handle);
+ if (err < 0) {
+ ug_debug("gm_sqlite3_commit_trans failed.. Now start to rollback\n");
+ __mf_sqlite3_rollback_trans(mfd_handle);
+ return err;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+int mf_ug_find_alert(MFDHandle *mfd_handle, const char *alert_path)
+{
+ ug_debug("");
+
+ mf_tbl_field_s *mf_tbl_field;
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_ALERT;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+ sqlite3_stmt *stmt = NULL;
+ int rc = 0;
+ int find = 0;
+ query_string =
+ sqlite3_mprintf(MF_FIND_ALERT_TABLE,
+ mf_tbl[field_seq].table_name,
+ mf_tbl_field[MF_FIELD_ALERT_PATH].field_name,
+ alert_path);
+
+ ug_debug("Query : %s", query_string);
+
+ rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL);
+ sqlite3_free(query_string);
+ if (SQLITE_OK != rc) {
+ ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle));
+ ug_debug("Query fails : query_string[%s]", query_string);
+ return find;
+ }
+
+ rc = sqlite3_step(stmt);
+ if (SQLITE_ROW != rc) {
+ ug_debug("No result");
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+ return find;
+ }
+
+
+ while (SQLITE_ROW == rc) {
+
+ find = 1;
+ rc = sqlite3_step(stmt);
+ ug_debug("");
+ }
+
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+ return find;
+}
+
+
+
+int mf_ug_delete_alert_by_type(MFDHandle *mfd_handle, int storage_type)
+{
+ ug_debug("");
+
+ int err = -1;
+ mf_tbl_field_s *mf_tbl_field;
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_ALERT;
+ mf_tbl_field = mf_tbl[field_seq].mf_tbl_field;
+
+ query_string =
+ sqlite3_mprintf(MF_DELETE_BY_TYPE_FROM_ALERT_TABLE,
+ mf_tbl[field_seq].table_name,
+ mf_tbl_field[MF_FIELD_ALERT_STORAGE_TYPE].field_name,
+ storage_type);
+
+ ug_debug("Query : %s", query_string);
+
+ err = __mf_sqlite3_begin_trans(mfd_handle);
+ if (err < 0) {
+ ug_debug("gm_sqlite3_begin_trans failed");
+ return err;
+ }
+
+ err = __mf_query_sql(mfd_handle, query_string);
+ sqlite3_free(query_string);
+
+ if (err < 0) {
+ ug_debug("delete content by content_id failed.. Now start to rollback");
+ __mf_sqlite3_rollback_trans(mfd_handle);
+ return err;
+ }
+
+ err = __mf_sqlite3_commit_trans(mfd_handle);
+ if (err < 0) {
+ ug_debug("gm_sqlite3_commit_trans failed.. Now start to rollback\n");
+ __mf_sqlite3_rollback_trans(mfd_handle);
+ return err;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+int mf_ug_foreach_alert_list(MFDHandle *mfd_handle, mf_ringtone_item_cb callback, void *user_data)
+{
+ ug_debug("");
+
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_ALERT;
+ sqlite3_stmt *stmt = NULL;
+ int rc = 0;
+
+ query_string =
+ sqlite3_mprintf(MF_SELECT_ALERT_TABLE,
+ mf_tbl[field_seq].table_name);
+
+ ug_debug("Query : %s", query_string);
+
+ rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL);
+ sqlite3_free(query_string);
+ if (SQLITE_OK != rc) {
+ ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle));
+ ug_debug("Query fails : query_string[%s]", query_string);
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ rc = sqlite3_step(stmt);
+ if (SQLITE_ROW != rc) {
+ ug_debug("No result");
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+ return MFD_ERROR_DB_NO_RECORD;
+ }
+
+ Eina_List *alert_list = NULL;
+ mfRingtone *ritem = NULL;
+
+ while (SQLITE_ROW == rc) {
+ ritem = (mfRingtone *)calloc(1, sizeof(mfRingtone));
+ if (!ritem) {
+ ug_debug("allocation failed");
+ return MFD_ERROR_DB_INTERNAL;
+ }
+ __mf_convert_ringtone_column_to_ringtone_item(stmt, ritem);
+ alert_list = eina_list_append(alert_list, ritem);
+ rc = sqlite3_step(stmt);
+ ug_debug("");
+ }
+
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+
+ __mf_foreach_ringtone_item_cb(callback, alert_list, user_data);
+
+ if (alert_list) {
+ __mf_media_db_eina_list_free_full(&alert_list, __mf_free_ringtone_list);
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+int mf_ug_get_alert_count(MFDHandle *mfd_handle, int *count)
+{
+ ug_debug("");
+
+ char *query_string = NULL;
+ mf_tbl_name_e field_seq = MF_TABLE_ALERT;
+ sqlite3_stmt *stmt = NULL;
+ int rc = 0;
+
+ query_string =
+ sqlite3_mprintf(MF_SELECT_ALERT_COUNT_TABLE,
+ mf_tbl[field_seq].table_name);
+
+ ug_debug("Query : %s", query_string);
+
+ rc = sqlite3_prepare_v2(mfd_handle, query_string, strlen(query_string), &stmt, NULL);
+ sqlite3_free(query_string);
+ if (SQLITE_OK != rc) {
+ ug_debug("failed to query[%s]", sqlite3_errmsg(mfd_handle));
+ ug_debug("Query fails : query_string[%s]", query_string);
+ return MFD_ERROR_DB_INTERNAL;
+ }
+
+ rc = sqlite3_step(stmt);
+ if (SQLITE_ROW != rc) {
+ ug_debug("No result");
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+ *count = 0;
+ return MFD_ERROR_DB_NO_RECORD;
+ }
+
+ *count = sqlite3_column_int(stmt, 0);
+ ug_debug("count : %d", *count);
+
+ rc = sqlite3_finalize(stmt);
+ if (SQLITE_OK != rc) {
+ ug_debug("sqlite3_finalize fail, rc : %d, db_error : %s", rc, sqlite3_errmsg(mfd_handle));
+ }
+
+ return MFD_ERROR_NONE;
+}
+
diff --git a/src/media-db/mf-ug-media.c b/src/media-db/mf-ug-media.c
new file mode 100644
index 0000000..1f31ae7
--- /dev/null
+++ b/src/media-db/mf-ug-media.c
@@ -0,0 +1,533 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+#include <sqlite3.h>
+#include <string.h>
+#include "mf-ug-media.h"
+#include "mf-ug-media-db.h"
+#include "mf-ug-media-error.h"
+#include "mf-ug-dlog.h"
+#include "mf-ug-media-types.h"
+
+int mf_ug_media_connect(MFDHandle **handle)
+{
+ int ret = MFD_ERROR_NONE;
+ sqlite3 *db_handle = NULL;
+
+ ret = mf_ug_connect_db_with_handle(&db_handle);
+ if (ret != MFD_ERROR_NONE) {
+ return ret;
+ }
+
+ *handle = db_handle;
+ return MFD_ERROR_NONE;
+
+}
+
+int mf_ug_media_disconnect(MFDHandle *handle)
+{
+ sqlite3 * db_handle = (sqlite3 *)handle;
+
+ if (handle == NULL) {
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ return mf_ug_disconnect_db_with_handle(db_handle);
+}
+
+/*1 Shortcut*/
+
+int mf_ug_media_add_shortcut(MFDHandle *mfd_handle, const char *shortcut_path,
+ const char *shortcut_name, int storage_type)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_insert_shortcut(mfd_handle, shortcut_path, shortcut_name, storage_type);
+ if (ret != MFD_ERROR_NONE) {
+ ug_debug("insert device info into devices table failed");
+ return ret;
+ }
+
+ return ret;
+}
+
+
+
+int mf_ug_media_delete_shortcut(MFDHandle *mfd_handle, const char *path)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_delete_shortcut(mfd_handle, path);
+ if (ret != MFD_ERROR_NONE) {
+ ug_debug("delete device info into devices table failed");
+ return ret;
+ }
+
+ return ret;
+}
+
+int mf_ug_media_delete_shortcut_by_type(MFDHandle *mfd_handle, int storage_type)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+ ret = mf_ug_delete_shortcut_by_type(mfd_handle, storage_type);
+
+ if (ret != MFD_ERROR_NONE) {
+ ug_debug("delete device info into devices table failed");
+ return ret;
+ }
+
+ return ret;
+}
+
+int mf_ug_media_foreach_shortcut_list(MFDHandle *mfd_handle, mf_shortcut_item_cb callback, void *user_data)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_foreach_shortcut_list(mfd_handle, callback, user_data);
+ if (ret != MFD_ERROR_NONE && ret != MFD_ERROR_DB_NO_RECORD) {
+ ug_debug
+ ("foreach content list fail");
+ return ret;
+ }
+
+ return ret;
+}
+
+int mf_ug_media_get_short_count(MFDHandle *mfd_handle, int *count)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_get_short_count(mfd_handle, count);
+ if (ret != MFD_ERROR_NONE && ret != MFD_ERROR_DB_NO_RECORD) {
+ ug_debug
+ ("foreach content list fail");
+ return ret;
+ }
+
+ return ret;
+}
+
+int mf_ug_destroy_shortcut_item(MFSitem *sitem)
+{
+ if (sitem == NULL) {
+ ug_debug("ditem is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+ if (sitem->path) {
+ free(sitem->path);
+ sitem->path = NULL;
+ }
+ if (sitem->name) {
+ free(sitem->name);
+ sitem->name = NULL;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+/*1 Recent files*/
+int mf_ug_media_add_recent_files(MFDHandle *mfd_handle, const char *path, const char *name, int storage_type, const char *thumbnail_path)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_insert_recent_file(mfd_handle, path, name, storage_type, thumbnail_path);
+ if (ret != MFD_ERROR_NONE) {
+ ug_debug("insert content info into folder table failed");
+ return ret;
+ }
+
+ return ret;
+}
+
+int mf_ug_media_delete_recent_files(MFDHandle *mfd_handle, const char *path)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_delete_recent_files(mfd_handle, path);
+ if (ret != MFD_ERROR_NONE) {
+ ug_debug("delete device info into devices table failed");
+ return ret;
+ }
+
+ return ret;
+}
+
+int mf_ug_media_delete_recent_files_by_type(MFDHandle *mfd_handle, int storage_type)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_delete_recent_files_by_type(mfd_handle, storage_type);
+ if (ret != MFD_ERROR_NONE) {
+ ug_debug("delete device info into devices table failed");
+ return ret;
+ }
+
+ return ret;
+}
+
+int mf_ug_media_update_recent_files_thumbnail(MFDHandle *mfd_handle, const char *thumbnail, const char *new_thumbnail)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_update_recent_files_thumbnail(mfd_handle, thumbnail, new_thumbnail);
+ if (ret != MFD_ERROR_NONE) {
+ ug_debug
+ ("update device icon failed");
+ return ret;
+ }
+
+ return ret;
+
+}
+
+
+
+int mf_ug_media_foreach_recent_files_list(MFDHandle *mfd_handle, mf_recent_files_item_cb callback, void *user_data)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_foreach_recent_files_list(mfd_handle, callback, user_data);
+ if (ret != MFD_ERROR_NONE && ret != MFD_ERROR_DB_NO_RECORD) {
+ ug_debug("foreach content list fail");
+ return ret;
+ }
+
+ return ret;
+}
+
+
+int mf_ug_media_get_recent_files_count(MFDHandle *mfd_handle, int *count)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_get_recent_files_count(mfd_handle, count);
+ if (ret != MFD_ERROR_NONE && ret != MFD_ERROR_DB_NO_RECORD) {
+ ug_debug
+ ("foreach content list fail");
+ return ret;
+ }
+
+ return ret;
+}
+
+
+
+int mf_ug_destroy_recent_files_item(MFRitem *ritem)
+{
+ if (ritem == NULL) {
+ ug_debug("citem is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+ if (ritem->path) {
+ free(ritem->path);
+ ritem->path = NULL;
+ }
+ if (ritem->name) {
+ free(ritem->name);
+ ritem->name = NULL;
+ }
+ if (ritem->thumbnail) {
+ free(ritem->thumbnail);
+ ritem->thumbnail = NULL;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+/*1 Ringtone*/
+int mf_ug_media_add_ringtone(MFDHandle *mfd_handle, const char *ringtone_path,
+ const char *ringtone_name, int storage_type)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_insert_ringtone(mfd_handle, ringtone_path, ringtone_name, storage_type);
+ if (ret != MFD_ERROR_NONE) {
+ ug_debug("insert device info into devices table failed");
+ return ret;
+ }
+
+ return ret;
+}
+
+
+
+int mf_ug_media_delete_ringtone(MFDHandle *mfd_handle, const char *path)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_delete_ringtone(mfd_handle, path);
+ if (ret != MFD_ERROR_NONE) {
+ ug_debug("delete device info into devices table failed");
+ return ret;
+ }
+
+ return ret;
+}
+
+int mf_ug_media_delete_ringtone_by_type(MFDHandle *mfd_handle, int storage_type)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+ ret = mf_ug_delete_ringtone_by_type(mfd_handle, storage_type);
+
+ if (ret != MFD_ERROR_NONE) {
+ ug_debug("delete device info into devices table failed");
+ return ret;
+ }
+
+ return ret;
+}
+
+int mf_ug_media_foreach_ringtone_list(MFDHandle *mfd_handle, mf_ringtone_item_cb callback, void *user_data)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_foreach_ringtone_list(mfd_handle, callback, user_data);
+ if (ret != MFD_ERROR_NONE && ret != MFD_ERROR_DB_NO_RECORD) {
+ ug_debug
+ ("foreach content list fail");
+ return ret;
+ }
+
+ return ret;
+}
+
+int mf_ug_media_get_ringtone_count(MFDHandle *mfd_handle, int *count)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_get_ringtone_count(mfd_handle, count);
+ if (ret != MFD_ERROR_NONE && ret != MFD_ERROR_DB_NO_RECORD) {
+ ug_debug
+ ("foreach content list fail");
+ return ret;
+ }
+
+ return ret;
+}
+
+int mf_ug_destroy_ringtone_item(mfRingtone *ritem)
+{
+ if (ritem == NULL) {
+ ug_debug("ditem is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+ if (ritem->path) {
+ free(ritem->path);
+ ritem->path = NULL;
+ }
+ if (ritem->name) {
+ free(ritem->name);
+ ritem->name = NULL;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
+/*1 Alert*/
+int mf_ug_media_add_alert(MFDHandle *mfd_handle, const char *alert_path,
+ const char *alert_name, int storage_type)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_insert_alert(mfd_handle, alert_path, alert_name, storage_type);
+ if (ret != MFD_ERROR_NONE) {
+ ug_debug("insert device info into devices table failed");
+ return ret;
+ }
+
+ return ret;
+}
+
+
+
+int mf_ug_media_delete_alert(MFDHandle *mfd_handle, const char *path)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_delete_alert(mfd_handle, path);
+ if (ret != MFD_ERROR_NONE) {
+ ug_debug("delete device info into devices table failed");
+ return ret;
+ }
+
+ return ret;
+}
+
+int mf_ug_media_delete_alert_by_type(MFDHandle *mfd_handle, int storage_type)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+ ret = mf_ug_delete_alert_by_type(mfd_handle, storage_type);
+
+ if (ret != MFD_ERROR_NONE) {
+ ug_debug("delete device info into devices table failed");
+ return ret;
+ }
+
+ return ret;
+}
+
+int mf_ug_media_foreach_alert_list(MFDHandle *mfd_handle, mf_ringtone_item_cb callback, void *user_data)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_foreach_alert_list(mfd_handle, callback, user_data);
+ if (ret != MFD_ERROR_NONE && ret != MFD_ERROR_DB_NO_RECORD) {
+ ug_debug
+ ("foreach content list fail");
+ return ret;
+ }
+
+ return ret;
+}
+
+int mf_ug_media_get_alert_count(MFDHandle *mfd_handle, int *count)
+{
+ int ret = MFD_ERROR_NONE;
+
+ if (mfd_handle == NULL) {
+ ug_debug("media service handle is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+
+ ret = mf_ug_get_alert_count(mfd_handle, count);
+ if (ret != MFD_ERROR_NONE && ret != MFD_ERROR_DB_NO_RECORD) {
+ ug_debug
+ ("foreach content list fail");
+ return ret;
+ }
+
+ return ret;
+}
+
+int mf_ug_destroy_alert_item(mfRingtone *ritem)
+{
+ if (ritem == NULL) {
+ ug_debug("ditem is NULL");
+ return MFD_ERROR_INVALID_PARAMETER;
+ }
+ if (ritem->path) {
+ free(ritem->path);
+ ritem->path = NULL;
+ }
+ if (ritem->name) {
+ free(ritem->name);
+ ritem->name = NULL;
+ }
+
+ return MFD_ERROR_NONE;
+}
+
diff --git a/src/mf-ug-main.c b/src/mf-ug-main.c
index 0430646..6ee0eec 100644
--- a/src/mf-ug-main.c
+++ b/src/mf-ug-main.c
@@ -1,31 +1,34 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
#include <sys/time.h>
-#include <Elementary.h>
-#include <Ecore_X.h>
-#include <vconf.h>
+
+#include <appsvc.h>
#include <media_content.h>
-#include <utilX.h>
-#include <assert.h>
+#include <Ecore_X.h>
+#include <Elementary.h>
+#include <system_settings.h>
#include "mf-ug-main.h"
#include "mf-ug-fs-util.h"
#include "mf-ug-util.h"
-#include "../data/ug_edc_common.h"
#include "mf-ug-conf.h"
#include "mf-ug-dlog.h"
#include "mf-ug-winset.h"
@@ -33,6 +36,13 @@
#include "mf-ug-resource.h"
#include "mf-ug-cb.h"
#include "mf-ug-list-play.h"
+#include "mf-ug-widget.h"
+#include "mf-ug-media.h"
+#include "mf-ug-db-handle.h"
+#include "mf-ug-music.h"
+#include "mf-ug-ringtone-view.h"
+#include "mf-ug-file-util.h"
+
#ifdef UG_OPERATION_SELECT_MODE
@@ -41,6 +51,82 @@
#define MF_BUNDLE_SELECTION_MODE_MULTI "multiple"
#endif
+#define MF_DEFAULT_RINGTONE_SHOW "show"
+
+static int exit_flag = EINA_FALSE;
+static Ecore_Idler *ctrlbar_state_idler = NULL;
+static Elm_Win_Indicator_Opacity_Mode indi_o_mode;
+static Elm_Win_Indicator_Mode indi_mode;
+static bool overlap_mode = false;
+static bool b_hide_indicator = false;
+static bool b_is_background = false;
+
+ugData *mf_ug_data = NULL;
+ugData *mf_ug_ugdata()
+{
+ return mf_ug_data;
+}
+
+bool mf_ug_main_is_background()
+{
+ return b_is_background;
+}
+
+int __mf_ug_get_indicator_state(ugData *ugd)
+{
+ ug_mf_retvm_if(ugd == NULL, -1, "ugd is NULL");
+ /* Save old view's indicator values */
+ indi_mode = elm_win_indicator_mode_get(ugd->ug_MainWindow.ug_pWindow);
+ indi_o_mode = elm_win_indicator_opacity_get(ugd->ug_MainWindow.ug_pWindow);
+ ug_debug("indi_o_mode: %d, indi_mode: %d", indi_o_mode, indi_mode);
+ /* Save old view's overlap mode */
+ overlap_mode = (int)evas_object_data_get(ugd->ug_MainWindow.ug_pConformant, "overlap");
+ ug_debug("overlap_mode: %d", overlap_mode);
+ return 0;
+}
+
+int _mf_ug_indicator_state_set(ugData *ugd, bool flag_hide)
+{
+ ug_mf_retvm_if(ugd == NULL, -1, "ugd is NULL");
+ /* transparent indicator setting */
+ if (!flag_hide) {
+ elm_win_indicator_mode_set(ugd->ug_MainWindow.ug_pWindow, ELM_WIN_INDICATOR_SHOW);
+ elm_win_indicator_opacity_set(ugd->ug_MainWindow.ug_pWindow, ELM_WIN_INDICATOR_OPAQUE);
+ elm_object_signal_emit(ugd->ug_MainWindow.ug_pConformant,
+ "elm,state,indicator,nooverlap", "");
+ evas_object_data_set(ugd->ug_MainWindow.ug_pConformant, "overlap", NULL);
+ } else {
+ elm_win_indicator_mode_set(ugd->ug_MainWindow.ug_pWindow, ELM_WIN_INDICATOR_SHOW);
+ elm_win_indicator_opacity_set(ugd->ug_MainWindow.ug_pWindow, ELM_WIN_INDICATOR_TRANSPARENT);
+ elm_object_signal_emit(ugd->ug_MainWindow.ug_pConformant, "elm,state,indicator,overlap", "");
+ evas_object_data_set(ugd->ug_MainWindow.ug_pConformant, "overlap", (void *)EINA_TRUE);
+ }
+ return 0;
+}
+
+int _mf_ug_reset_indicator(ugData *ugd)
+{
+ ug_mf_retvm_if(ugd == NULL, -1, "ugd is NULL");
+ ug_debug("indi_o_mode: %d, indi_mode: %d", indi_o_mode,
+ indi_mode);
+ ug_debug("overlap_mode: %d", overlap_mode);
+ /* Set old view's indicator */
+ elm_win_indicator_mode_set(ugd->ug_MainWindow.ug_pWindow, indi_mode);
+ elm_win_indicator_opacity_set(ugd->ug_MainWindow.ug_pWindow, indi_o_mode);
+ /* set old view's conformant overlap mode
+ if layout is different with new view and needs starts from (0,60) */
+ if (!overlap_mode) {
+ elm_object_signal_emit(ugd->ug_MainWindow.ug_pConformant,
+ "elm,state,indicator,nooverlap", "");
+ evas_object_data_set(ugd->ug_MainWindow.ug_pConformant, "overlap", NULL);
+ } else {
+ elm_object_signal_emit(ugd->ug_MainWindow.ug_pConformant, "elm,state,indicator,overlap", "");
+ evas_object_data_set(ugd->ug_MainWindow.ug_pConformant, "overlap", (void *)EINA_TRUE);
+ }
+ ug_debug("indicator restored done!");
+ return 0;
+}
+
/******************************
** Prototype : __mf_ug_main_init_data
** Description :
@@ -58,42 +144,38 @@
******************************/
static void __mf_ug_main_init_data(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugData is NULL");
-
- if (ugd->ug_Status.ug_pPath != NULL)
- {
- g_string_free(ugd->ug_Status.ug_pPath, TRUE);
- ugd->ug_Status.ug_pPath = NULL;
- }
- ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER);
- ugd->ug_Status.ug_iState = STATE_PHONE;
- ugd->ug_Status.ug_iRadioOn = 0;
- ugd->ug_Status.ug_iMmcFlag = false;
- ugd->ug_Status.ug_bAudioPlayFlag = false;
- ugd->ug_Status.ug_bInstallFlag = true;
- ugd->ug_Status.ug_bInSettingView = false;
- ugd->ug_Status.ug_bSettingEntry = false;
- ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT;
-
- ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE;
- ugd->ug_UiGadget.ug_iFilterMode = SHOW_ALL_LIST;
- ugd->ug_UiGadget.ug_pExtension = NULL;
- ugd->ug_UiGadget.ug_iDrmFilter = DRM_FILTER_NONE;
- ugd->ug_UiGadget.ug_iMarkedMode = MARKED_OFF;
- ugd->ug_UiGadget.ug_pMultiSelectFileList = NULL;
-
- ugd->ug_ListPlay.ug_pPlayFilePath = NULL;
- ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_INIT;
-#ifdef UG_OPERATION_SELECT_MODE
- ugd->ug_UiGadget.ug_bOperationSelectFlag = false;
-#endif
-
-
- mf_ug_util_create_dir_monitor(ugd);
- mf_ug_util_set_mmc_state_cb(ugd);
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugData is NULL");
+
+ if (ugd->ug_Status.ug_pPath != NULL) {
+ g_string_free(ugd->ug_Status.ug_pPath, TRUE);
+ ugd->ug_Status.ug_pPath = NULL;
+ }
+ ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER);
+ ugd->ug_Status.ug_iState = STATE_PHONE;
+ ugd->ug_Status.ug_iRadioOn = 0;
+ ugd->ug_Status.ug_iMmcFlag = false;
+ ugd->ug_Status.ug_bInstallFlag = true;
+ ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT;
+ ugd->ug_Status.ug_iViewType = mf_ug_view_root;
+
+ ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE;
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_ALL_LIST;
+ ugd->ug_UiGadget.ug_pExtension = NULL;
+
+ ugd->ug_UiGadget.ug_iMarkedMode = MARKED_OFF;
+ ugd->ug_UiGadget.ug_pMultiSelectFileList = NULL;
+ ugd->ug_UiGadget.ug_iSoundMode = mf_ug_sound_mode_none;
+
+ ugd->ug_ListPlay.ug_pPlayFilePath = NULL;
+ ugd->ug_ListPlay.play_data = NULL;
+ ugd->ug_ListPlay.ug_iPlayState = PLAY_STATE_INIT;
+
+ mf_ug_util_create_dir_monitor(ugd);
+ mf_ug_util_set_mmc_state_cb(ugd);
+ /*mf_ug_list_play_earjack_monitor(ugd); UG was not launching due to this function*/
+ UG_TRACE_END;
}
/******************************
@@ -113,47 +195,56 @@ static void __mf_ug_main_init_data(void *data)
******************************/
static void __mf_ug_main_free_data(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugData is NULL");
-
- if (ugd->ug_Status.ug_pPath)
- {
- g_string_free(ugd->ug_Status.ug_pPath, TRUE);
- ugd->ug_Status.ug_pPath = NULL;
- }
- if (ugd->ug_UiGadget.ug_pMultiSelectFileList)
- {
- mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pMultiSelectFileList, NODE_TYPE_CHAR);
- ugd->ug_UiGadget.ug_pMultiSelectFileList = NULL;
- }
- if (ugd->ug_UiGadget.ug_pDirList)
- {
- mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pDirList, NODE_TYPE_PNODE);
- ugd->ug_UiGadget.ug_pDirList = NULL;
- }
- if (ugd->ug_UiGadget.ug_pFilterList)
- {
- mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pFilterList, NODE_TYPE_PNODE);
- ugd->ug_UiGadget.ug_pFilterList = NULL;
- }
-
- if (ugd->ug_Status.ug_pUpper_folder)
- {
- free(ugd->ug_Status.ug_pUpper_folder);
- ugd->ug_Status.ug_pUpper_folder = NULL;
- }
- if (ugd->ug_Status.ug_pEntryPath)
- {
- free(ugd->ug_Status.ug_pEntryPath);
- ugd->ug_Status.ug_pEntryPath = NULL;
- }
-
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugData is NULL");
+
+ if (ugd->ug_Status.ug_pPath) {
+ g_string_free(ugd->ug_Status.ug_pPath, TRUE);
+ ugd->ug_Status.ug_pPath = NULL;
+ }
+ if (ugd->ug_UiGadget.ug_pMultiSelectFileList) {
+ mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pMultiSelectFileList, NODE_TYPE_CHAR);
+ ugd->ug_UiGadget.ug_pMultiSelectFileList = NULL;
+ }
+ if (ugd->ug_UiGadget.ug_pDirList) {
+ mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pDirList, NODE_TYPE_PNODE);
+ ugd->ug_UiGadget.ug_pDirList = NULL;
+ }
+ if (ugd->ug_UiGadget.ug_pFilterList) {
+ mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pFilterList, NODE_TYPE_PNODE);
+ ugd->ug_UiGadget.ug_pFilterList = NULL;
+ }
+
+ if (ugd->ug_Status.ug_pUpper_folder) {
+ free(ugd->ug_Status.ug_pUpper_folder);
+ ugd->ug_Status.ug_pUpper_folder = NULL;
+ }
+ if (ugd->ug_Status.ug_pEntryPath) {
+ free(ugd->ug_Status.ug_pEntryPath);
+ ugd->ug_Status.ug_pEntryPath = NULL;
+ }
+ if (ugd->ug_UiGadget.title) {
+ free(ugd->ug_UiGadget.title);
+ ugd->ug_UiGadget.title = NULL;
+ }
+ if (ugd->ug_Status.mark_mode) {
+ free(ugd->ug_Status.mark_mode);
+ ugd->ug_Status.mark_mode = NULL;
+ }
+
+ UG_SAFE_FREE_CHAR(ugd->ug_MainWindow.ug_pNaviTitle);
+ UG_SAFE_FREE_CHAR(ugd->ug_Status.monitor_path);
+ UG_SAFE_FREE_CHAR(ugd->ug_Status.ug_launch_path);
+ UG_SAFE_FREE_CHAR(ugd->ug_UiGadget.ug_pExtension);
+ UG_SAFE_FREE_CHAR(ugd->ug_UiGadget.default_ringtone);
+ UG_SAFE_FREE_CHAR(ugd->ug_UiGadget.domain);
+ UG_SAFE_FREE_CHAR(ugd->ug_UiGadget.position);
+
+ UG_TRACE_END;
}
-
/******************************
** Prototype : __mf_ug_main_free_evas_object
** Description : Samsung
@@ -172,74 +263,46 @@ static void __mf_ug_main_free_data(void *data)
static void __mf_ug_main_free_evas_object(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugData is NULL");
-
- int iNaviListLen = 0;
- int index = 0;
-
- if (ugd->ug_MainWindow.ug_pNormalPopup != NULL)
- {
-
- evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup);
- ugd->ug_MainWindow.ug_pNormalPopup = NULL;
- }
- if (ugd->ug_MainWindow.ug_pRadioGroup != NULL)
- {
-
- evas_object_del(ugd->ug_MainWindow.ug_pRadioGroup);
- ugd->ug_MainWindow.ug_pRadioGroup = NULL;
- }
-
- iNaviListLen = eina_list_count(ugd->ug_MainWindow.ug_pNaviBarList);
- for (index = 0; index < iNaviListLen; index++)
- {
- ugNaviBar *pNavi_s = NULL;
- pNavi_s = (ugNaviBar *)eina_list_nth(ugd->ug_MainWindow.ug_pNaviBarList, index);
- if (pNavi_s->ug_pNaviLabel != NULL)
- {
- free(pNavi_s->ug_pNaviLabel);
- pNavi_s->ug_pNaviLabel = NULL;
- }
- if (pNavi_s->ug_pNaviTitle != NULL)
- {
- free(pNavi_s->ug_pNaviTitle);
- pNavi_s->ug_pNaviTitle = NULL;
- }
- }
-
- if (ugd->ug_MainWindow.ug_pTabBar != NULL)
- {
- evas_object_del(ugd->ug_MainWindow.ug_pTabBar);
- ugd->ug_MainWindow.ug_pTabBar = NULL;
- }
-
-
- if (ugd->ug_MainWindow.ug_pBackGround != NULL)
- {
- evas_object_del(ugd->ug_MainWindow.ug_pBackGround);
- ugd->ug_MainWindow.ug_pBackGround = NULL;
- }
-
- if (ugd->ug_MainWindow.ug_pMainLayout != NULL)
- {
- evas_object_del(ugd->ug_MainWindow.ug_pMainLayout);
- ugd->ug_MainWindow.ug_pMainLayout = NULL;
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugData is NULL");
+
+ if (ugd->ug_MainWindow.ug_pNormalPopup != NULL) {
+ evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup);
+ ugd->ug_MainWindow.ug_pNormalPopup = NULL;
+ }
+ if (ugd->ug_MainWindow.ug_pRadioGroup != NULL) {
+ evas_object_del(ugd->ug_MainWindow.ug_pRadioGroup);
+ ugd->ug_MainWindow.ug_pRadioGroup = NULL;
+ }
+
+ if (ugd->ug_MainWindow.ug_pBackGround != NULL) {
+ evas_object_del(ugd->ug_MainWindow.ug_pBackGround);
+ ugd->ug_MainWindow.ug_pBackGround = NULL;
+ }
+
+ if (ugd->ug_MainWindow.ug_pMainLayout != NULL) {
+ evas_object_del(ugd->ug_MainWindow.ug_pMainLayout);
+ ugd->ug_MainWindow.ug_pMainLayout = NULL;
+ }
+ if (ugd->ug_MainWindow.ug_pContextPopup != NULL) {
+ evas_object_del(ugd->ug_MainWindow.ug_pContextPopup);
+ ugd->ug_MainWindow.ug_pContextPopup = NULL;
+ }
+
+ UG_TRACE_END;
}
Evas_Object *mf_ug_main_create_bg(Evas_Object *win)
{
- ug_mf_retv_if(win == NULL, NULL);
- Evas_Object *bg = elm_bg_add(win);
+ ug_mf_retv_if(win == NULL, NULL);
+ Evas_Object *bg = elm_bg_add(win);
- evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(bg);
+ evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(bg);
- return bg;
+ return bg;
}
/******************************
@@ -259,38 +322,40 @@ Evas_Object *mf_ug_main_create_bg(Evas_Object *win)
******************************/
static Evas_Object *__mf_ug_main_create_main_layout(Evas_Object *parent)
{
- UG_TRACE_BEGIN;
- Evas_Object *layout = NULL;
- ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
+ UG_TRACE_BEGIN;
+ Evas_Object *layout = NULL;
+ ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
- layout = elm_layout_add(parent);
- ug_mf_retvm_if(layout == NULL, NULL, "Failed elm_layout_add.\n");
+ layout = elm_layout_add(parent);
- elm_layout_theme_set(layout, "layout", "application", "default");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(layout);
- UG_TRACE_END;
+ ug_mf_retvm_if(layout == NULL, NULL, "Failed elm_layout_add.\n");
- return layout;
+ elm_layout_theme_set(layout, "layout", "application", "default");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(layout);
+ UG_TRACE_END;
+
+ return layout;
}
Evas_Object *mf_ug_main_tab_layout_create(Evas_Object *parent)
{
- Evas_Object *layout;
+ Evas_Object *layout;
- ug_mf_retv_if(parent == NULL, NULL);
+ ug_mf_retv_if(parent == NULL, NULL);
- layout = elm_layout_add(parent);
- ug_mf_retvm_if(layout == NULL, NULL, "Failed elm_layout_add.\n");
- elm_object_focus_set(layout, EINA_FALSE);
+ layout = elm_layout_add(parent);
+ ug_mf_retvm_if(layout == NULL, NULL, "Failed elm_layout_add.\n");
+ elm_object_focus_set(layout, EINA_FALSE);
- elm_layout_theme_set(layout, "layout", "tabbar", "default");
+ /*elm_layout_theme_set(layout, "layout", "application", "tabbar");*/
+ elm_layout_theme_set(layout, "layout", "tabbar", "default");
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_hide(layout);
- return layout;
+ evas_object_hide(layout);
+ return layout;
}
/******************************
@@ -309,117 +374,145 @@ Evas_Object *mf_ug_main_tab_layout_create(Evas_Object *parent)
** Modification : Created function
**
******************************/
-static int __mf_ug_main_set_path_option(void *data, const char *path)
+int __mf_ug_main_get_atoi(const char *number)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL");
- ug_mf_retvm_if(path == NULL, MYFILE_ERR_SRC_ARG_INVALID, "path is NULL");
-
- int error_code = MYFILE_ERR_NONE;
- char *entry_path = NULL;
-
- if (strncmp(path, PHONE_FOLDER, strlen(PHONE_FOLDER)) == 0 || strncmp(path, MEMORY_FOLDER, strlen(MEMORY_FOLDER)) == 0)
- {
-
- /**check whether is /opt/media or /mnt/mmc */
- entry_path = strdup(path);
- if (entry_path == NULL)
- {
- return MYFILE_ERR_ALLOCATE_FAIL;
- }
- }
- else if (strncmp(path, UG_SETTING_RINGTONE_PATH, strlen(UG_SETTING_RINGTONE_PATH)) == 0
- || strncmp(path, UG_SETTING_ALERTS_PATH, strlen(UG_SETTING_ALERTS_PATH)) == 0
- || strncmp(path, UG_SETTING_MSG_ALERTS_PATH, strlen(UG_SETTING_MSG_ALERTS_PATH)) == 0)
- {
-
- /**check whether is setting ringtone or alerts path */
- entry_path = strdup(path);
- if (entry_path == NULL)
- {
- return MYFILE_ERR_ALLOCATE_FAIL;
- }
- ugd->ug_Status.ug_bInSettingView = true;
- ugd->ug_Status.ug_bSettingEntry = true;
- ugd->ug_Status.ug_bRingtoneSet = true;
- }
- else if (strlen(path) == 1 && strncmp(path, "/", 1))
- {
- /**chech the path whether is "/" */
- entry_path = strdup(PHONE_FOLDER);
- if (entry_path == NULL)
- {
- return MYFILE_ERR_ALLOCATE_FAIL;
- }
- }
- else
- {
- /**not begin with /mnt/mmc and /opt/media , so append it to /opt/media*/
- char *temp = strdup(PHONE_FOLDER);
- if (temp == NULL)
- {
- return MYFILE_ERR_ALLOCATE_FAIL;
- }
- entry_path = g_strconcat(temp, path, NULL);
- free(temp);
- }
-
- if (entry_path != NULL)
- {
- /** if there is a '/' at the end of the path, can't be recognized */
- if (entry_path[strlen(entry_path) - 1] == '/')
- {
- entry_path[strlen(entry_path) - 1] = '\0';
- }
-
- if (ecore_file_exists(entry_path) == false)
- {
-
- if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE)
- {
- error_code = mf_ug_fm_svc_wrapper_create_p(entry_path);
- if (error_code != MYFILE_ERR_NONE)
- {
- free(entry_path);
- return MYFILE_ERR_INVALID_FILE_PATH;
- }
- }
- else
- {
- free(entry_path);
- return MYFILE_ERR_INVALID_FILE_PATH;
- }
- }
- if (ecore_file_is_dir(entry_path) == false)
- {
- ug_mf_debug("path is not a directory");
- free(entry_path);
- return MYFILE_ERR_INVALID_DIR_PATH;
- }
-
- if (ugd->ug_Status.ug_pPath)
- {
- g_string_free(ugd->ug_Status.ug_pPath, TRUE);
- ugd->ug_Status.ug_pPath = NULL;
- }
- ugd->ug_Status.ug_pEntryPath = g_strdup(entry_path);
- ugd->ug_Status.ug_pPath = g_string_new(entry_path);
- ugd->ug_Status.ug_iViewType = mf_ug_view_normal;
- free(entry_path);
- }
- else
- {
- return MYFILE_ERR_ALLOCATE_FAIL;
- }
- UG_TRACE_END;
- return error_code;
+ char *endptr = NULL;
+ long val = 0;
+
+ errno = 0;
+
+ val = strtol(number, &endptr, 10);
+
+ if ((errno == ERANGE && (val == LONG_MAX || val == LONG_MIN)) || (errno != 0 && val == 0)) {
+ ug_error("strtol, val = %d", val);
+ return -1;
+ }
+
+ if (endptr == number) {
+ ug_error("No digits were found, number = %s", number);
+ return -1;
+ }
+
+ return (int)val;
}
+static void __mf_ug_main_set_max_len_option(void *data, const char *number)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_error("number is [%s]", number);
+ ugd->ug_UiGadget.ug_MaxSetFlag = EINA_FALSE;
+
+ if (number == NULL) {
+ ugd->ug_UiGadget.ug_iMaxLength = 500;
+
+ } else {
+ int max_len = __mf_ug_main_get_atoi(number);
+ if (max_len <= 0 || max_len > 500) {
+ ugd->ug_UiGadget.ug_iMaxLength = 500;
+ } else {
+ ugd->ug_UiGadget.ug_iMaxLength = max_len;
+ ugd->ug_UiGadget.ug_MaxSetFlag = EINA_TRUE;
+ }
+ }
+ ug_error("ugd->ug_UiGadget.ug_iMaxLength is [%d]", ugd->ug_UiGadget.ug_iMaxLength);
+}
+
+static int __mf_ug_main_set_path_option(void *data, const char *path)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL");
+ ug_mf_retvm_if(path == NULL, MYFILE_ERR_SRC_ARG_INVALID, "path is NULL");
+
+ int error_code = MYFILE_ERR_NONE;
+ char *entry_path = NULL;
+
+ if (strncmp(path, PHONE_FOLDER, strlen(PHONE_FOLDER)) == 0 || strncmp(path, MEMORY_FOLDER, strlen(MEMORY_FOLDER)) == 0) {
+
+ /**check whether is /opt/media or /mnt/mmc */
+ entry_path = strdup(path);
+ if (entry_path == NULL) {
+ return MYFILE_ERR_ALLOCATE_FAIL;
+ }
+ } else if (strncmp(path, UG_SETTING_RINGTONE_PATH, strlen(UG_SETTING_RINGTONE_PATH)) == 0
+ || strncmp(path, UG_SETTING_ALERTS_PATH, strlen(UG_SETTING_ALERTS_PATH)) == 0
+ || strncmp(path, UG_SETTING_MSG_ALERTS_PATH, strlen(UG_SETTING_MSG_ALERTS_PATH)) == 0
+ || strncmp(path, UG_SETTING_SMART_ALRAMS, strlen(UG_SETTING_SMART_ALRAMS)) == 0) {
+
+ /**check whether is setting ringtone or alerts path */
+ entry_path = strdup(path);
+ if (entry_path == NULL) {
+ return MYFILE_ERR_ALLOCATE_FAIL;
+ }
+ if (g_strcmp0(entry_path, UG_SETTING_MSG_ALERTS_PATH) != 0) {
+ ugd->ug_UiGadget.ug_iSoundMode = mf_ug_sound_mode_ringtone;
+ } else {
+ ugd->ug_UiGadget.ug_iSoundMode = mf_ug_sound_mode_alert;
+ }
+ } else if (strlen(path) == 1 && strncmp(path, "/", 1)) {
+ /**chech the path whether is "/" */
+ entry_path = strdup(PHONE_FOLDER);
+ if (entry_path == NULL) {
+ return MYFILE_ERR_ALLOCATE_FAIL;
+ }
+ } else {
+ /**not begin with /mnt/mmc and /opt/media , so append it to /opt/media*/
+ char *temp = strdup(PHONE_FOLDER);
+ if (temp == NULL) {
+ return MYFILE_ERR_ALLOCATE_FAIL;
+ }
+ entry_path = g_strconcat(temp, path, NULL);
+ free(temp);
+ }
+
+ if (entry_path != NULL) {
+ /** if there is a '/' at the end of the path, can't be recognized */
+ if (entry_path[strlen(entry_path) - 1] == '/') {
+ entry_path[strlen(entry_path) - 1] = '\0';
+ }
+
+ if (mf_file_exists(entry_path) == false) {
+
+ if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
+ error_code = mf_ug_fm_svc_wrapper_create_p(entry_path);
+ if (error_code != MYFILE_ERR_NONE) {
+ free(entry_path);
+ return MYFILE_ERR_INVALID_FILE_PATH;
+ }
+ } else {
+ free(entry_path);
+ return MYFILE_ERR_INVALID_FILE_PATH;
+ }
+ }
+ if (mf_is_dir(entry_path) == false) {
+ ug_mf_debug("path is not a directory");
+ free(entry_path);
+ return MYFILE_ERR_INVALID_DIR_PATH;
+ }
+
+ if (ugd->ug_Status.ug_pPath) {
+ g_string_free(ugd->ug_Status.ug_pPath, TRUE);
+ ugd->ug_Status.ug_pPath = NULL;
+ }
+ ugd->ug_Status.ug_pEntryPath = g_strdup(entry_path);
+ ugd->ug_Status.ug_pPath = g_string_new(entry_path);
+ if (g_strcmp0(entry_path, PHONE_FOLDER) == 0) {
+ ugd->ug_Status.ug_iViewType = mf_ug_view_root;
+ } else {
+ ugd->ug_Status.ug_iViewType = mf_ug_view_normal;
+ }
+ free(entry_path);
+ } else {
+ return MYFILE_ERR_ALLOCATE_FAIL;
+ }
+ UG_TRACE_END;
+ return error_code;
+}
/******************************
** Prototype : __mf_ug_main_set_select_mode
@@ -437,66 +530,79 @@ static int __mf_ug_main_set_path_option(void *data, const char *path)
** Modification : Created function
**
******************************/
-
static void __mf_ug_main_set_select_mode(void *data, const char *select_mode)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- if (select_mode != NULL)
- {
- if (!strncmp(select_mode, UG_SELECT_MODE_SINGLE_FILE, strlen(select_mode)))
- {
- ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE;
- }
- else if (!strncmp(select_mode, UG_SELECT_MODE_MULTI_FILE, strlen(select_mode)))
- {
- ugd->ug_UiGadget.ug_iSelectMode = MULTI_FILE_MODE;
- }
- else if (!strncmp(select_mode, UG_SELECT_MODE_SINGLE_ALL, strlen(select_mode)))
- {
- ugd->ug_UiGadget.ug_iSelectMode = SINGLE_ALL_MODE;
- }
- else if (!strncmp(select_mode, UG_SELECT_MODE_MULTI_ALL, strlen(select_mode)))
- {
- ugd->ug_UiGadget.ug_iSelectMode = MULTI_ALL_MODE;
- }
- else if(!strncmp(select_mode, UG_SELECT_MODE_IMPORT, strlen(select_mode)))
- {
- ugd->ug_UiGadget.ug_iSelectMode = IMPORT_MODE;
- }
- else if(!strncmp(select_mode, UG_SELECT_MODE_IMPORT_PATH_SELECT, strlen(select_mode)))
- {
- ugd->ug_UiGadget.ug_iSelectMode = IMPORT_PATH_SELECT_MODE;
- }
- else if(!strncmp(select_mode, UG_SELECT_MODE_EXPORT, strlen(select_mode)))
- {
- ugd->ug_UiGadget.ug_iSelectMode = EXPORT_MODE;
- }
- else if (!strncmp(select_mode, UG_SELECT_MODE_IMPORT_SINGLE, strlen(select_mode)))
- {
- ugd->ug_UiGadget.ug_iSelectMode = IMPORT_SINGLE;
- ugd->ug_Status.ug_iViewType = mf_ug_view_normal;
- }
- else if (!strncmp(select_mode, UG_SELECT_MODE_SAVE, strlen(select_mode)))
- {
- ugd->ug_UiGadget.ug_iSelectMode = SAVE_MODE;
- }
- else
- {
- ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE;
- }
- }
- else
- {
- ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE;
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ if (select_mode != NULL) {
+ if (!strncmp(select_mode, UG_SELECT_MODE_SINGLE_FILE, strlen(select_mode))) {
+ ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE;
+ } else if (!strncmp(select_mode, UG_SELECT_MODE_MULTI_FILE, strlen(select_mode))) {
+ ugd->ug_UiGadget.ug_iSelectMode = MULTI_FILE_MODE;
+ } else if (!strncmp(select_mode, UG_SELECT_MODE_SINGLE_ALL, strlen(select_mode))) {
+ ugd->ug_UiGadget.ug_iSelectMode = SINGLE_ALL_MODE;
+ } else if (!strncmp(select_mode, UG_SELECT_MODE_MULTI_ALL, strlen(select_mode))) {
+ ugd->ug_UiGadget.ug_iSelectMode = MULTI_ALL_MODE;
+ } else if (!strncmp(select_mode, UG_SELECT_MODE_IMPORT, strlen(select_mode))) {
+ ugd->ug_UiGadget.ug_iSelectMode = IMPORT_MODE;
+ } else if (!strncmp(select_mode, UG_SELECT_MODE_IMPORT_PATH_SELECT, strlen(select_mode))) {
+ ugd->ug_UiGadget.ug_iSelectMode = IMPORT_PATH_SELECT_MODE;
+ } else if (!strncmp(select_mode, UG_SELECT_MODE_EXPORT, strlen(select_mode))) {
+ ugd->ug_UiGadget.ug_iSelectMode = EXPORT_MODE;
+ } else if (!strncmp(select_mode, UG_SELECT_MODE_IMPORT_SINGLE, strlen(select_mode))) {
+ ugd->ug_UiGadget.ug_iSelectMode = IMPORT_SINGLE;
+ ugd->ug_Status.ug_iViewType = mf_ug_view_normal;
+ } else if (!strncmp(select_mode, UG_SELECT_MODE_SAVE, strlen(select_mode))) {
+ ugd->ug_UiGadget.ug_iSelectMode = SAVE_MODE;
+ } else if (!strncmp(select_mode, UG_SELECT_MODE_DOCUMENT_SHARE, strlen(select_mode))) {
+ ugd->ug_UiGadget.ug_iSelectMode = DOCUMENT_SHARE;
+ } else if (!strncmp(select_mode, UG_SELECT_MODE_SSM_DOCUMENT_SHARE, strlen(select_mode))) {
+ ugd->ug_UiGadget.ug_iSelectMode = SSM_DOCUMENT_SHARE;
+ } else {
+ ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE;
+ }
+ } else {
+ ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE;
+ }
+ UG_TRACE_END;
}
-
+static void __mf_ug_main_set_filter_by_mime(void *data, const char *mime_type)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ if (mime_type != NULL) {
+ if (!strncmp(mime_type, UG_FILE_MIME_TYPE_IMAGE, strlen(mime_type))) {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_IMAGE_LIST;
+ } else if (!strncmp(mime_type, UG_FILE_MIME_TYPE_VIDEO, strlen(mime_type))) {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_VIDEO_LIST;
+ } else if (!strncmp(mime_type, UG_FILE_MIME_TYPE_AUDIO, strlen(mime_type))) {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_SOUND_LIST;
+ } else if (!strncmp(mime_type, UG_FILE_MIME_TYPE_DOCUMENT, strlen(mime_type))) {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_DOCUMENT_LIST;
+ } else if (!strncmp(mime_type, UG_FILE_MIME_TYPE_DIR, strlen(mime_type))) {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_FOLDER_LIST;
+ } else if (!strncmp(mime_type, UG_FILE_MIME_TYPE_ALL, strlen(mime_type))) {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_ALL_LIST;
+ }
+ }
+ if (ugd->ug_UiGadget.ug_iFilterMode != SHOW_BY_EXTENSION) {
+ ugd->ug_UiGadget.ug_iFileFilter = mf_ug_fm_svc_wapper_get_file_filter(ugd->ug_UiGadget.ug_iFilterMode);
+ }
+
+
+ if (ugd->ug_UiGadget.ug_iFilterMode == SHOW_SOUND_LIST && ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
+ ugd->ug_Status.ug_iCtrlBarType = CTRL_BAR_MUSIC;
+ } else {
+ ugd->ug_Status.ug_iCtrlBarType = CTRL_BAR_MULTI;
+ }
+ UG_TRACE_END;
+}
/******************************
** Prototype : __mf_ug_main_set_filter_mode
@@ -514,86 +620,58 @@ static void __mf_ug_main_set_select_mode(void *data, const char *select_mode)
** Modification : Created function
**
******************************/
-
static void __mf_ug_main_set_filter_mode(void *data, const char *file_filter)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- if (file_filter != NULL)
- {
- if (!strncmp(file_filter, UG_FILE_FILTER_ALL, strlen(file_filter)))
- {
- ugd->ug_UiGadget.ug_iFilterMode = SHOW_ALL_LIST;
- }
- else if (!strncmp(file_filter, UG_FILE_FILTER_IMAGE, strlen(file_filter)))
- {
- ugd->ug_UiGadget.ug_iFilterMode = SHOW_IMAGE_LIST;
- }
- else if (!strncmp(file_filter, UG_FILE_FILTER_SOUND, strlen(file_filter)))
- {
- ugd->ug_UiGadget.ug_iFilterMode = SHOW_SOUND_LIST;
- }
- else if (!strncmp(file_filter, UG_FILE_FILTER_VIDEO, strlen(file_filter)))
- {
- ugd->ug_UiGadget.ug_iFilterMode = SHOW_VIDEO_LIST;
- }
- else if (!strncmp(file_filter, UG_FILE_FILTER_FLASH, strlen(file_filter)))
- {
- ugd->ug_UiGadget.ug_iFilterMode = SHOW_FLASH_LIST;
- }
- else if (!strncmp(file_filter, UG_FILE_FILTER_FOLDER, strlen(file_filter)))
- {
- ugd->ug_UiGadget.ug_iFilterMode = SHOW_FOLDER_LIST;
- }
- else if (!strncmp(file_filter, UG_FILE_FILTER_IV, strlen(file_filter)))
- {
- ugd->ug_UiGadget.ug_iFilterMode = SHOW_IMAGE_VIDEO_LIST;
- }
- else if (!strncmp(file_filter, UG_FILE_FILTER_IS, strlen(file_filter)))
- {
- ugd->ug_UiGadget.ug_iFilterMode = SHOW_IMAGE_SOUND_LIST;
- }
- else if (!strncmp(file_filter, UG_FILE_FILTER_VS, strlen(file_filter)))
- {
- ugd->ug_UiGadget.ug_iFilterMode = SHOW_VIDEO_SOUND_LIST;
- }
- else
- {
- ugd->ug_UiGadget.ug_iFilterMode = SHOW_BY_EXTENSION;
- ugd->ug_UiGadget.ug_pExtension = strdup(file_filter);
- if (g_strcmp0(file_filter, "opml") == 0)
- {
- ugd->ug_UiGadget.ug_iImportMode = 1;
- }
- }
- }
- else
- {
- ugd->ug_UiGadget.ug_iFilterMode = SHOW_ALL_LIST;
- ugd->ug_UiGadget.ug_pExtension = NULL;
- }
-
- if (ugd->ug_UiGadget.ug_iFilterMode != SHOW_BY_EXTENSION)
- {
- ugd->ug_UiGadget.ug_iFileFilter = mf_ug_fm_svc_wapper_get_file_filter(ugd->ug_UiGadget.ug_iFilterMode);
- }
-
-
- if (ugd->ug_UiGadget.ug_iFilterMode == SHOW_SOUND_LIST && ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE)
- {
- ugd->ug_Status.ug_iCtrlBarType = CTRL_BAR_MUSIC;
- }
- else
- {
- ugd->ug_Status.ug_iCtrlBarType = CTRL_BAR_MULTI;
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ if (file_filter != NULL) {
+ if (!strncmp(file_filter, UG_FILE_FILTER_ALL, strlen(file_filter))) {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_ALL_LIST;
+ } else if (!strncmp(file_filter, UG_FILE_FILTER_IMAGE, strlen(file_filter))) {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_IMAGE_LIST;
+ } else if (!strncmp(file_filter, UG_FILE_FILTER_SOUND, strlen(file_filter))) {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_SOUND_LIST;
+ } else if (!strncmp(file_filter, UG_FILE_FILTER_VIDEO, strlen(file_filter))) {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_VIDEO_LIST;
+ } else if (!strncmp(file_filter, UG_FILE_FILTER_FLASH, strlen(file_filter))) {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_FLASH_LIST;
+ } else if (!strncmp(file_filter, UG_FILE_FILTER_FOLDER, strlen(file_filter))) {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_FOLDER_LIST;
+ } else if (!strncmp(file_filter, UG_FILE_FILTER_IV, strlen(file_filter))) {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_IMAGE_VIDEO_LIST;
+ } else if (!strncmp(file_filter, UG_FILE_FILTER_IS, strlen(file_filter))) {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_IMAGE_SOUND_LIST;
+ } else if (!strncmp(file_filter, UG_FILE_FILTER_VS, strlen(file_filter))) {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_VIDEO_SOUND_LIST;
+ } else if (!strncmp(file_filter, UG_FILE_FILTER_DOCUMENT, strlen(file_filter))) {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_DOCUMENT_LIST;
+ } else {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_BY_EXTENSION;
+ ugd->ug_UiGadget.ug_pExtension = strdup(file_filter);
+ if (g_strcmp0(file_filter, "opml") == 0) {
+ ugd->ug_UiGadget.ug_iImportMode = 1;
+ }
+ }
+ } else {
+ ugd->ug_UiGadget.ug_iFilterMode = SHOW_ALL_LIST;
+ ugd->ug_UiGadget.ug_pExtension = NULL;
+ }
+
+ if (ugd->ug_UiGadget.ug_iFilterMode != SHOW_BY_EXTENSION) {
+ ugd->ug_UiGadget.ug_iFileFilter = mf_ug_fm_svc_wapper_get_file_filter(ugd->ug_UiGadget.ug_iFilterMode);
+ }
+
+
+ if (ugd->ug_UiGadget.ug_iFilterMode == SHOW_SOUND_LIST && ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
+ ugd->ug_Status.ug_iCtrlBarType = CTRL_BAR_MUSIC;
+ } else {
+ ugd->ug_Status.ug_iCtrlBarType = CTRL_BAR_MULTI;
+ }
+ UG_TRACE_END;
}
-
-
/******************************
** Prototype : __mf_ug_main_set_marked_mode
** Description : Samsung
@@ -610,110 +688,94 @@ static void __mf_ug_main_set_filter_mode(void *data, const char *file_filter)
** Modification : Created function
**
******************************/
-
static void __mf_ug_main_set_marked_mode(void *data, const char *marked_mode)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- if (marked_mode != NULL)
- {
- ugd->ug_UiGadget.ug_iMarkedMode = MARKED_ON;
- mf_ug_util_get_params_path(&ugd->ug_UiGadget.ug_pMultiSelectFileList, marked_mode);
- }
- else
- {
- ugd->ug_UiGadget.ug_iMarkedMode = MARKED_OFF;
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ if (marked_mode != NULL) {
+ ugd->ug_UiGadget.ug_iMarkedMode = MARKED_ON;
+ mf_ug_util_get_params_path(&ugd->ug_UiGadget.ug_pMultiSelectFileList, marked_mode);
+ } else {
+ ugd->ug_UiGadget.ug_iMarkedMode = MARKED_OFF;
+ }
+ UG_TRACE_END;
}
-/******************************
-** Prototype : __mf_ug_main_set_drm_filter_mode
-** Description : Samsung
-** Input : void *data
-** char *drm_filter
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-
-static void __mf_ug_main_set_drm_filter_mode(void *data, const char *drm_filter)
+static int __mf_ug_main_set_view_mode(void *data, const char *view_mode, const char *path)
{
-
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- if (drm_filter != NULL)
- {
- if (!strncmp(drm_filter, UG_DRM_FILTER_NONE, strlen(drm_filter)))
- {
- ugd->ug_UiGadget.ug_iDrmFilterMode = DRM_FILTER_NONE;
- }
- else if (!strncmp(drm_filter, UG_DRM_FILTER_ALL, strlen(drm_filter)))
- {
- ugd->ug_UiGadget.ug_iDrmFilterMode = DRM_FILTER_ALL;
- }
- else if (!strncmp(drm_filter, UG_DRM_FILTER_WITHOUT_FL, strlen(drm_filter)))
- {
- ugd->ug_UiGadget.ug_iDrmFilterMode = DRM_FILTER_WITHOUT_FL;
- }
- else
- {
- ugd->ug_UiGadget.ug_iDrmFilterMode = DRM_FILTER_ALL;
- }
- }
- else
- {
- ugd->ug_UiGadget.ug_iDrmFilterMode = DRM_FILTER_ALL;
- }
-
- ugd->ug_UiGadget.ug_iDrmFilter = mf_ug_fm_svc_wapper_get_drm_filter(ugd->ug_UiGadget.ug_iDrmFilterMode, ugd->ug_UiGadget.ug_iFileFilter);
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, MYFILE_ERR_SRC_ARG_INVALID, "ugd is NULL");
+ ug_mf_retvm_if(view_mode == NULL, MYFILE_ERR_SRC_ARG_INVALID, "view_mode is NULL");
+ ug_mf_retvm_if(path == NULL, MYFILE_ERR_SRC_ARG_INVALID, "path is NULL");
+
+ int error_code = MYFILE_ERR_ALLOCATE_FAIL;
+ char *entry_path = NULL;
+
+ if (view_mode != NULL) {
+ if (!strncmp(view_mode, UG_VIEW_MODE_DEFAULT_SOUND_ITEM, strlen(view_mode))) {
+ entry_path = strdup(path);
+ if (entry_path == NULL) {
+ error_code = MYFILE_ERR_ALLOCATE_FAIL;
+ return error_code;
+ }
+
+ if (entry_path[strlen(entry_path) - 1] == '/') {
+ entry_path[strlen(entry_path) - 1] = '\0';
+ }
+ if (ugd->ug_Status.ug_pPath) {
+ g_string_free(ugd->ug_Status.ug_pPath, TRUE);
+ ugd->ug_Status.ug_pPath = NULL;
+ }
+ if (mf_file_exists(entry_path) == false || mf_is_dir(entry_path) == false) {
+ error_code = MYFILE_ERR_ALLOCATE_FAIL;
+ } else {
+ ugd->ug_Status.ug_pEntryPath = g_strdup(entry_path);
+ ugd->ug_Status.ug_pPath = g_string_new(entry_path);
+ if (g_strcmp0(entry_path, PHONE_FOLDER) == 0) {
+ ugd->ug_Status.ug_iViewType = mf_ug_view_root;
+ } else {
+ ugd->ug_Status.ug_iViewType = mf_ug_view_normal;
+ }
+ error_code = MYFILE_ERR_NONE;
+ }
+ free(entry_path);
+ }
+ }
+ return error_code;
}
#ifdef UG_OPERATION_SELECT_MODE
static void __mf_ug_main_set_operation_select_mode(void *data, const char *select_mode)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- if (select_mode != NULL)
- {
- if (!strncmp(select_mode, MF_BUNDLE_SELECTION_MODE_SINGLE, strlen(select_mode)))
- {
- ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE;
- }
- else if (!strncmp(select_mode, MF_BUNDLE_SELECTION_MODE_MULTI, strlen(select_mode)))
- {
- ugd->ug_UiGadget.ug_iSelectMode = MULTI_FILE_MODE;
- }
- else
- {
- ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE;
- }
- ugd->ug_UiGadget.ug_bOperationSelectFlag = true;
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ if (select_mode != NULL) {
+ if (!strcasecmp(select_mode, MF_BUNDLE_SELECTION_MODE_SINGLE)) {
+ ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE;
+ } else if (!strcasecmp(select_mode, MF_BUNDLE_SELECTION_MODE_MULTI)) {
+ ugd->ug_UiGadget.ug_iSelectMode = MULTI_FILE_MODE;
+ } else {
+ ugd->ug_UiGadget.ug_iSelectMode = SINGLE_FILE_MODE;
+ }
+ ugd->ug_UiGadget.ug_bOperationSelectFlag = true;
+ }
+ UG_TRACE_END;
}
#endif
+
/******************************
** Prototype : __mf_ug_main_set_option_status
** Description : Samsung
** Input : void *data
-** service_h service
+** app_control_h app_control
** Output : None
** Return Value :
** Calls :
@@ -725,40 +787,135 @@ static void __mf_ug_main_set_operation_select_mode(void *data, const char *selec
** Modification : Created function
**
******************************/
-
-static void __mf_ug_main_set_option_status(void *data, service_h service)
+static void __mf_ug_main_set_option_status(void *data, app_control_h app_control)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- char *path = NULL;
- char *select_mode = NULL;
- char *filter_mode = NULL;
- char *marked_mode = NULL;
- char *drm_filter_mode = NULL;
-#ifdef UG_OPERATION_SELECT_MODE
- char *key[UG_OPTION_COUNT] = { "path", "select_type", "file_type", "marked_mode", "drm_type", MF_BUNDLE_SELECTION_MODE};
- char *operation_select_mode = NULL;
-#else
- char *key[UG_OPTION_COUNT] = { "path", "select_type", "file_type", "marked_mode", "drm_type"};
-#endif
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ char *path = NULL;
+ char *select_mode = NULL;
+ char *filter_mode = NULL;
+ char *marked_mode = NULL;
+ char *default_ringtone = NULL;
+ char *view_mode = NULL;
+ char *mime_type = NULL;
+ char *title = NULL;
+ char *domain = NULL;
+ char *key[UG_OPTION_COUNT] = { "path", "select_type", "file_type",
+ "marked_mode", "default ringtone",
+ "view_mode", "title", "domain"};
+
+ char *operation = NULL;
+ app_control_get_operation(app_control, &operation);
+ ug_error("operation is [%s]", operation);
+ app_control_get_extra_data(app_control, key[0], &path);
+ app_control_get_extra_data(app_control, key[1], &select_mode);
+ app_control_get_extra_data(app_control, key[2], &filter_mode);
+ app_control_get_extra_data(app_control, key[3], &marked_mode);
+ app_control_get_extra_data(app_control, key[4], &default_ringtone);
+ app_control_get_extra_data(app_control, key[5], &view_mode);
+ app_control_get_extra_data(app_control, key[6], &title);
+ app_control_get_extra_data(app_control, key[7], &domain);
+ app_control_get_mime(app_control, &mime_type);
+ SECURE_ERROR("path is [%s] select_mode is [%s] filter_mode is [%s] marked_mode is [%s] default_ringtone is [%s] view_mode is [%s] title is [%s] domain is [%s]",
+ path, select_mode, filter_mode, marked_mode, default_ringtone, view_mode, title, domain);
+
+ if (__mf_ug_main_set_view_mode(ugd, view_mode, path) != MYFILE_ERR_NONE) {
+ __mf_ug_main_set_path_option(ugd, path);
+ }
+
+ char *indicator = NULL;
+ app_control_get_extra_data(app_control, "indicator-state", &indicator);
+
+ /* add indicator state for PLM P131108-02061, leo */
+ if (indicator) {
+ ug_debug("indicator: %s", indicator);
+ if (!strcasecmp(indicator, "hide"))
+ b_hide_indicator = true;
+ UG_SAFE_FREE_CHAR(indicator);
+ }
+
+ if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) {
+
+ ugd->ug_Status.mark_mode = g_strdup(marked_mode);
+ if (default_ringtone) {
+ if (g_strcmp0(default_ringtone, MF_DEFAULT_RINGTONE_SHOW) == 0) {
+ if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) {
+ ugd->ug_UiGadget.default_ringtone = mf_ug_util_get_default_ringtone();
+ mf_ug_util_set_default_ringtone_cb(ugd);
+ } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) {
+ ugd->ug_UiGadget.default_ringtone = mf_ug_util_get_default_alert();
+ mf_ug_util_set_default_alert_cb(ugd);
+ }
+ }
+ if (marked_mode && g_strcmp0(DEFAULT_RINGTONE_MARK, marked_mode) == 0) {
+ UG_SAFE_FREE_CHAR(marked_mode);
+ marked_mode = g_strdup(MF_UG_LABEL_DEFAULT_RINGTONE);
+ }
+ }
+ if (title) {
+ ugd->ug_UiGadget.title = g_strdup(title);
+ UG_SAFE_FREE_CHAR(title);
+ }
+ if (domain) {
+ ugd->ug_UiGadget.domain = g_strdup(domain);
+ UG_SAFE_FREE_CHAR(domain);
+ }
+
+ char *silent = NULL;
+ app_control_get_extra_data(app_control, "silent", &silent);
+ if (silent) {
+ ug_debug("silent: %s", silent);
+ if (g_strcmp0(SILENT_SHOW, silent) == 0) {
+ ugd->ug_UiGadget.silent = EINA_TRUE;
+ }
+ if (marked_mode && g_strcmp0(SILENT, marked_mode) == 0) {
+ UG_SAFE_FREE_CHAR(marked_mode);
+ marked_mode = g_strdup(MF_UG_LABEL_SILENT);
+ }
+ }
+ } else {
+ __mf_ug_main_set_select_mode(ugd, select_mode);
+
+ ug_error("mime_type is [%s]", mime_type);
+ if (mime_type) {
+ __mf_ug_main_set_filter_by_mime(ugd, mime_type);
+ } else {
+ __mf_ug_main_set_filter_mode(ugd, filter_mode);
+ }
- service_get_extra_data(service, key[0], &path);
- service_get_extra_data(service, key[1], &select_mode);
- service_get_extra_data(service, key[2], &filter_mode);
- service_get_extra_data(service, key[3], &marked_mode);
- service_get_extra_data(service, key[4], &drm_filter_mode);
-
- __mf_ug_main_set_select_mode(ugd, select_mode);
- __mf_ug_main_set_path_option(ugd, path);
- __mf_ug_main_set_filter_mode(ugd, filter_mode);
- __mf_ug_main_set_marked_mode(ugd, marked_mode);
- __mf_ug_main_set_drm_filter_mode(ugd, drm_filter_mode);
#ifdef UG_OPERATION_SELECT_MODE
- service_get_extra_data(service, key[5], &operation_select_mode);
- __mf_ug_main_set_operation_select_mode(ugd, operation_select_mode);
+ char *operation_select_mode = NULL;
+ app_control_get_extra_data(app_control, APPSVC_DATA_SELECTION_MODE, &operation_select_mode);
+ ug_error("operation_select_mode is [%s]", operation_select_mode);
+ __mf_ug_main_set_operation_select_mode(ugd, operation_select_mode);
+ UG_SAFE_FREE_CHAR(operation_select_mode);
#endif
- UG_TRACE_END;
+
+ }
+ __mf_ug_main_set_marked_mode(ugd, marked_mode);
+ ugd->limitsize = -1;
+ char *max_size = NULL;
+ app_control_get_extra_data(app_control, APP_CONTROL_DATA_TOTAL_SIZE, &(max_size));
+ if (max_size) {
+ ugd->limitsize = atoi(max_size);
+ UG_SAFE_FREE_CHAR(max_size);
+ }
+ char *number = NULL;
+ app_control_get_extra_data(app_control, APP_CONTROL_DATA_TOTAL_COUNT, &number);
+ __mf_ug_main_set_max_len_option(ugd, number);
+
+ UG_SAFE_FREE_CHAR(number);
+ UG_SAFE_FREE_CHAR(path);
+ UG_SAFE_FREE_CHAR(select_mode);
+ UG_SAFE_FREE_CHAR(filter_mode);
+ UG_SAFE_FREE_CHAR(marked_mode);
+ UG_SAFE_FREE_CHAR(default_ringtone);
+ UG_SAFE_FREE_CHAR(mime_type);
+ UG_SAFE_FREE_CHAR(view_mode);
+
+ ugd->ug_Status.ug_launch_path = g_strdup(ugd->ug_Status.ug_pPath->str);
+ UG_TRACE_END;
}
/******************************
@@ -779,51 +936,22 @@ static void __mf_ug_main_set_option_status(void *data, service_h service)
******************************/
static Evas_Object *__mf_ug_main_create_default_layout(Evas_Object *parent, void *data)
{
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
- ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
- Evas_Object *pContent = NULL;
- int tab_item_count = 1;
-
- int mmc_card = 0;
- int error_code = 0;
- /*/check if mmc mounted */
- error_code = mf_ug_util_get_mmc_state(&mmc_card);
- if (error_code == 0 && mmc_card == 1)
- {
- tab_item_count++;
- }
- /*/check if usb otg mounted
- {
- Todo: we need to add something to record what should on
- }
- create phone navi */
- ugNaviBar *pNavi_phone = calloc(1, sizeof(ugNaviBar));
- ug_mf_retvm_if(pNavi_phone == NULL, NULL, "pNavi_phone is NULL");
-
- ugd->ug_MainWindow.ug_pNaviBar = mf_ug_navi_bar_create_navi_bar(parent);
- if (ugd->ug_MainWindow.ug_pNaviBar == NULL)
- {
- ug_debug("ugd->ug_MainWindow.ug_pNaviBar is NULL");
- free(pNavi_phone);
- pNavi_phone = NULL;
- UG_TRACE_END;
- return NULL;
- }
-
- pNavi_phone->ug_bNaviFlagInUse = TRUE;
-
- UG_SAFE_FREE_CHAR(pNavi_phone->ug_pCurrentPath);
- pNavi_phone->ug_pCurrentPath = g_strdup(ugd->ug_Status.ug_pPath->str);
-
- UG_SAFE_FREE_CHAR(pNavi_phone->ug_pNaviLabel);
- pNavi_phone->ug_pNaviLabel = strdup(MF_UG_LABEL_PHONE);
- /*/insert phone navi into the navi_list */
- /** Todo: if we need to check ap->mf_MainWindow.plistNaviBar?*/
- ugd->ug_MainWindow.ug_pNaviBarList = eina_list_append(ugd->ug_MainWindow.ug_pNaviBarList, pNavi_phone);
-
- UG_TRACE_END;
- return ugd->ug_MainWindow.ug_pNaviBar;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
+ ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
+ int tab_item_count = 1;
+
+ int mmc_card = 0;
+ int error_code = 0;
+ /*/check if mmc mounted */
+ error_code = mf_ug_util_get_mmc_state(&mmc_card);
+ if (error_code == 0 && mmc_card == 1) {
+ tab_item_count++;
+ }
+ ugd->ug_MainWindow.ug_pNaviBar = mf_ug_navi_bar_create_navi_bar(parent);
+
+ UG_TRACE_END;
+ return ugd->ug_MainWindow.ug_pNaviBar;
}
/******************************
@@ -841,81 +969,62 @@ static Evas_Object *__mf_ug_main_create_default_layout(Evas_Object *parent, void
** Modification : Created function
**
******************************/
-
-static void __mf_ug_main_start(void *data)
+static Eina_Bool __mf_ug_ctrlbar_state_idler(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- Evas_Object *pContent = NULL;
- int error_code = 0;
- int mmc_card = 0;
-
- pContent = __mf_ug_main_create_default_layout(ugd->ug_MainWindow.ug_pMainLayout, ugd);
-
- if (pContent != NULL)
- {
- elm_object_part_content_set(ugd->ug_MainWindow.ug_pMainLayout, "elm.swallow.content", pContent);
- mf_ug_navi_bar_create_default_view(ugd);
- mf_ug_ctrl_bar_set_item_disable(ugd);
- mf_ug_navi_bar_set_blocking(data, false);
- }
- else
- {
- return;
- }
- ug_debug("done");
- UG_TRACE_END;
-
- return;
-}
+ UG_TRACE_BEGIN;
+ ctrlbar_state_idler = NULL;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, EINA_FALSE, "ugd is NULL");
+ mf_ug_navi_bar_set_ctrl_item_disable(ugd);
+ return EINA_FALSE;
+}
-static Eina_Bool ug_callback_hw_key_down( void *data, int type __attribute__((unused)), void *event )
+void mf_ug_main_update_ctrl_in_idle(void *data)
{
- assert(data != NULL);
- assert(event != NULL);
-
- if(data == NULL)
- {
- return ECORE_CALLBACK_DONE;
- }
- if(event == NULL)
- {
- return ECORE_CALLBACK_DONE;
- }
-
- ugData *ugd = data;
- Ecore_Event_Key *key_event = event;
-
- if (strcmp(key_event->keyname, KEY_BACK) == 0)
- {
- if (mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath))
- {
- ug_destroy_me(ugd->ug);
- }
- else
- {
- mf_ug_cb_upper_click_cb(ugd, NULL, NULL);
- }
- }
- else if (strcmp(key_event->keyname, KEY_MENU) == 0)
- {
- //TODO: Add menu handler here.
- return ECORE_CALLBACK_DONE;
- }
-
- return ECORE_CALLBACK_DONE;
+ ug_ecore_idler_del(ctrlbar_state_idler);
+ ctrlbar_state_idler = ecore_idler_add(__mf_ug_ctrlbar_state_idler, data);
}
+static void __mf_ug_main_start(void *data)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ Evas_Object *pContent = NULL;
+
+ pContent = __mf_ug_main_create_default_layout(ugd->ug_MainWindow.ug_pMainLayout, ugd);
+
+ if (pContent != NULL) {
+ elm_object_part_content_set(ugd->ug_MainWindow.ug_pMainLayout, "elm.swallow.content", pContent);
+ {
+ if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) {
+ mf_ug_create_rintone_view(ugd);
+ /*Fix the P130902-01617, refer to the android galaxy S4.*/
+ mf_ug_player_vol_set(ugd, ugd->ug_Status.ug_pEntryPath);
+
+ } else {
+ mf_ug_navi_bar_create_default_view(ugd);
+
+ }
+ mf_ug_util_path_push(ugd->ug_Status.ug_pPath->str, ugd->ug_Status.ug_iViewType);
+ }
+ mf_ug_main_update_ctrl_in_idle(ugd);
+ } else {
+ return;
+ }
+ UG_TRACE_END;
+
+ return;
+}
/******************************
** Prototype : on_create
** Description : Samsung
** Input : ui_gadget_h ug
** enum ug_mode mode
-** service_h service
+** app_control_h app_control
** void *priv
** Output : None
** Return Value :
@@ -928,63 +1037,68 @@ static Eina_Bool ug_callback_hw_key_down( void *data, int type __attribute__((un
** Modification : Created function
**
******************************/
-
-static void *on_create(ui_gadget_h ug, enum ug_mode mode, service_h service, void *priv)
+static void *on_create(ui_gadget_h ug, enum ug_mode mode, app_control_h app_control, void *priv)
{
- UG_TRACE_BEGIN;
+ UG_TRACE_BEGIN;
+
+ Evas_Object *win = NULL;
+ ugData *ugd = NULL;
- ug_mf_retv_if(NULL == priv, NULL);
+ ug_mf_retv_if(NULL == priv, NULL);
- ugData *ugd = priv;
+ ugd = priv;
+ ugd->ug = ug;
+ bindtextdomain(UGPACKAGE, UGLOCALEDIR);
+ elm_theme_extension_add(NULL, UG_EDJ_NAVIGATIONBAR);
- ugd->ug = ug;
+ win = (Evas_Object *)ug_get_window();
+ ug_mf_retv_if(NULL == win, NULL);
+ ugd->ug_MainWindow.ug_pConformant = ug_get_conformant();
+ ug_mf_retv_if(NULL == ugd->ug_MainWindow.ug_pConformant, NULL);
- bindtextdomain(UGPACKAGE, UGLOCALEDIR);
+ ugd->ug_MainWindow.ug_pWindow = win;
+ ugd->ug_Status.ug_bInstallFlag = false;
+ ugd->ug_Status.ug_bCancelDisableFlag = false;
+ ugd->ug_UiGadget.ug_iImportMode = 0;
- Evas_Object *win = ug_get_window();
- ug_mf_retv_if(NULL == win, NULL);
+ /*evas_object_event_callback_add(ugd->ug_MainWindow.ug_pWindow, EVAS_CALLBACK_RESIZE, mf_ug_resize_more_ctxpopup_cb, ugd);*/
- if (elm_win_wm_rotation_supported_get(win))
- {
- int rotations[] =
- {
- APP_DEVICE_ORIENTATION_0,
- APP_DEVICE_ORIENTATION_180,
- };
+ ugd->ug_MainWindow.ug_pMainLayout = __mf_ug_main_create_main_layout(ugd->ug_MainWindow.ug_pWindow);
+ ugd->ug_MainWindow.ug_pBackGround = mf_ug_main_create_bg(ugd->ug_MainWindow.ug_pWindow);
+ elm_object_part_content_set(ugd->ug_MainWindow.ug_pMainLayout, "elm.swallow.bg", ugd->ug_MainWindow.ug_pBackGround);
- elm_win_wm_rotation_available_rotations_set(win, rotations, sizeof(rotations) / sizeof(rotations[0]));
- }
+ __mf_ug_get_indicator_state(ugd);
- ugd->ug_MainWindow.ug_pWindow = win;
- ugd->ug_Status.ug_bInstallFlag = false;
- ugd->ug_Status.ug_bCancelDisableFlag = false;
- ugd->ug_UiGadget.ug_iImportMode = 0;
- ugd->ug_MainWindow.ug_pMainLayout = __mf_ug_main_create_main_layout(ugd->ug_MainWindow.ug_pWindow);
- ugd->ug_MainWindow.ug_pBackGround = mf_ug_main_create_bg(ugd->ug_MainWindow.ug_pWindow);
- elm_object_part_content_set(ugd->ug_MainWindow.ug_pMainLayout, "elm.swallow.bg", ugd->ug_MainWindow.ug_pBackGround);
+ __mf_ug_main_init_data(ugd);
+ __mf_ug_main_set_option_status(ugd, app_control);
+ ug_error("b_hide_indicator is [%d]", b_hide_indicator);
+ _mf_ug_indicator_state_set(ugd, b_hide_indicator);
+ int err = media_content_connect();
+ if (err != MEDIA_CONTENT_ERROR_NONE) {
+ ug_debug("media_content_connect failed!");
+ }
- __mf_ug_main_init_data(ugd);
- __mf_ug_main_set_option_status(ugd, service);
- int err = media_content_connect();
- if (err != MEDIA_CONTENT_ERROR_NONE)
- {
- ug_debug("media_content_connect failed!");
- }
+ /*device_add_callback(DEVICE_CALLBACK_POWER_STATE, mf_ug_cb_lcd_state_changed_cb, ugd);*/
- ugd->key_event_handler = ecore_event_handler_add( ECORE_EVENT_KEY_DOWN, ug_callback_hw_key_down, ugd );
- power_set_changed_cb(mf_ug_cb_lcd_state_changed_cb, ugd);
+ int ret = mf_ug_db_handle_create();
+ if (ret == MFD_ERROR_NONE) {
+ ug_error("db open success");
+ } else {
+ ug_error("db open failed");
+ }
- __mf_ug_main_start(ugd);
+ __mf_ug_main_start(ugd);
+ ugd->ug_Status.ug_launch_view = ugd->ug_Status.ug_iViewType;
- UG_TRACE_END;
- return ugd->ug_MainWindow.ug_pMainLayout;
+ UG_TRACE_END;
+ return ugd->ug_MainWindow.ug_pMainLayout;
}
/******************************
** Prototype : on_start
** Description :
** Input : ui_gadget_h ug
-** service_h service
+** app_control_h app_control
** void *priv
** Output : None
** Return Value :
@@ -997,8 +1111,9 @@ static void *on_create(ui_gadget_h ug, enum ug_mode mode, service_h service, voi
** Modification : Created function
**
******************************/
-static void on_start(ui_gadget_h ug, service_h service, void *priv)
+static void on_start(ui_gadget_h ug, app_control_h app_control, void *priv)
{
+
}
@@ -1006,7 +1121,7 @@ static void on_start(ui_gadget_h ug, service_h service, void *priv)
** Prototype : on_pause
** Description :
** Input : ui_gadget_h ug
-** service_h service
+** app_control_h app_control
** void *priv
** Output : None
** Return Value :
@@ -1019,17 +1134,23 @@ static void on_start(ui_gadget_h ug, service_h service, void *priv)
** Modification : Created function
**
******************************/
-static void on_pause(ui_gadget_h ug, service_h service, void *priv)
+static void on_pause(ui_gadget_h ug, app_control_h app_control, void *priv)
{
- UG_TRACE_BEGIN;
- if (!priv)
- return;
- ugData *ugd = (ugData *)priv;
-
- if (0 != ugd->ug_ListPlay.ug_Player)
- {
- mf_ug_list_play_pause(ugd);
- }
+ UG_TRACE_BEGIN;
+ if (!priv)
+ return;
+ ugData *ugd = (ugData *)priv;
+
+
+ if (0 != ugd->ug_ListPlay.ug_Player) {
+ if (!mf_ug_list_play_pause(ugd)) {
+ ug_error("===========================");
+ mf_ug_list_play_destory_playing_file(ugd);
+ }
+
+ }
+ /*Fix the P130902-01617, refer to the android galaxy S4.*/
+ mf_ug_player_vol_reset_default_value(ugd);
}
/******************************
@@ -1051,75 +1172,74 @@ static void on_pause(ui_gadget_h ug, service_h service, void *priv)
******************************/
inline bool __mf_ug_main_check_exist(const char *path)
{
- if (path && (access(path, F_OK) == 0))
- {
- return true;
- }
- return false;
+ if (path && (access(path, F_OK) == 0)) {
+ return true;
+ }
+ return false;
}
-static void on_resume(ui_gadget_h ug, service_h service, void *priv)
+static void on_resume(ui_gadget_h ug, app_control_h app_control, void *priv)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(NULL == priv, "priv is NULL");
- ugData *ugd = priv;
-
- if (!__mf_ug_main_check_exist(ugd->ug_Status.ug_pPath->str))
- {
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
- GString *parent_path = mf_ug_fm_svc_wrapper_get_file_parent_path(ugd->ug_Status.ug_pPath);
- int storage = mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str);
-
- g_string_free(ugd->ug_Status.ug_pPath, TRUE);
- ugd->ug_Status.ug_pPath = NULL;
- free(pNavi_s->ug_pCurrentPath);
- pNavi_s->ug_pCurrentPath = NULL;
-
- if (parent_path && parent_path->str)
- {
- if (__mf_ug_main_check_exist(parent_path->str))
- {
- ug_debug("paretn is [%s] exit", parent_path->str);
- ugd->ug_Status.ug_pPath = g_string_new(parent_path->str);
- pNavi_s->ug_pCurrentPath = g_strdup(parent_path->str);
- }
- else
- {
- ug_debug("paretn is [%s] not exit", parent_path->str);
- if (storage == MF_UG_PHONE)
- {
- ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER);
- pNavi_s->ug_pCurrentPath = strdup(PHONE_FOLDER);
- }
- else
- {
- ugd->ug_Status.ug_pPath = g_string_new(MEMORY_FOLDER);
- pNavi_s->ug_pCurrentPath = strdup(MEMORY_FOLDER);
- }
- }
- }
- else
- {
- ug_debug("get parent failed");
- if (storage == MF_UG_PHONE)
- {
- ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER);
- pNavi_s->ug_pCurrentPath = strdup(PHONE_FOLDER);
- }
- else
- {
- ugd->ug_Status.ug_pPath = g_string_new(MEMORY_FOLDER);
- pNavi_s->ug_pCurrentPath = strdup(MEMORY_FOLDER);
- }
- }
-
- mf_ug_navi_bar_create_default_view(ugd);
- mf_ug_ctrl_bar_set_item_disable(ugd);
- g_string_free(parent_path, TRUE);
- parent_path = NULL;
- }
-
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+
+ b_is_background = false;
+ ug_mf_retm_if(NULL == priv, "priv is NULL");
+ ugData *ugd = priv;
+
+ if (mf_ug_util_is_unique_view(ugd->ug_UiGadget.ug_iSelectMode)) {
+ return;
+ }
+ if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) {
+ if (ugd->ug_Status.ug_iViewType == mf_ug_view_ringtone_del) {
+ int count = mf_ug_navibar_get_ringtone_count(ugd->ug_UiGadget.ug_iSoundMode);
+ int item_count = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist);
+ if (count != item_count) {
+ /*To fix P140507-02173, there is no need to update delete view when reenter settings
+ UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNormalPopup);
+ mf_ug_navi_bar_create_delete_view(ugd);*/
+ }
+ }
+ /*Fix the P130902-01617, refer to the android galaxy S4.*/
+ if (!mf_ug_is_music_ug_run()) {
+ ug_error("========================== music ug is not running");
+ mf_ug_player_vol_set(ugd, ugd->ug_Status.ug_pEntryPath);
+ }
+ mf_ug_ringtone_list_resume(ugd);
+ return;
+ }
+ if (!__mf_ug_main_check_exist(ugd->ug_Status.ug_pPath->str)) {
+ GString *parent_path = mf_ug_fm_svc_wrapper_get_file_parent_path(ugd->ug_Status.ug_pPath);
+ int storage = mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.ug_pPath->str);
+
+ g_string_free(ugd->ug_Status.ug_pPath, TRUE);
+ ugd->ug_Status.ug_pPath = NULL;
+
+ if (parent_path && parent_path->str) {
+ if (__mf_ug_main_check_exist(parent_path->str)) {
+ ugd->ug_Status.ug_pPath = g_string_new(parent_path->str);
+ } else {
+ if (storage == MF_UG_PHONE) {
+ ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER);
+ } else {
+ ugd->ug_Status.ug_pPath = g_string_new(MEMORY_FOLDER);
+ }
+ }
+ } else {
+ if (storage == MF_UG_PHONE) {
+ ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER);
+ } else {
+ ugd->ug_Status.ug_pPath = g_string_new(MEMORY_FOLDER);
+ }
+ }
+
+ mf_ug_navi_bar_create_default_view(ugd);
+ mf_ug_navi_bar_set_ctrl_item_disable(ugd);
+ g_string_free(parent_path, TRUE);
+ parent_path = NULL;
+ }
+
+
+ UG_TRACE_END;
}
/******************************
@@ -1140,8 +1260,75 @@ static void on_resume(ui_gadget_h ug, service_h service, void *priv)
** Modification : Created function
**
******************************/
-static void on_message(ui_gadget_h ug, service_h msg, service_h service, void *priv)
+static void on_message(ui_gadget_h ug, app_control_h msg, app_control_h app_control, void *priv)
+{
+}
+
+void __mf_ug_subtitle_show(void *data)
{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ ugListItemData *itemData = NULL ;
+
+ int iDirCount = 0, iFileCount = 0;
+ Elm_Object_Item *it = NULL;
+ Evas_Object *pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist;
+
+ it = elm_genlist_first_item_get(pGenlist);
+ while (it) {
+ itemData = elm_object_item_data_get(it);
+ if (itemData->ug_bChecked) {
+ if (mf_is_dir(itemData->ug_pItemName->str)) {
+ iDirCount++;
+ } else {
+ iFileCount++;
+ }
+ }
+
+ it = elm_genlist_item_next_get(it);
+ }
+ int count = 0;
+ count = iDirCount + iFileCount;
+ if (count > 0) {
+ char *label = NULL;
+ label = g_strdup_printf(mf_ug_widget_get_text(MF_UG_LABEL_SELECTED), count);
+ if (ugd->ug_MainWindow.ug_pNaviItem != NULL) {
+ ug_error("label = %s", label);
+ }
+ elm_object_item_part_text_set(ugd->ug_MainWindow.ug_pNaviItem, "subtitle", label);
+ ug_error("label = %s", label);
+ UG_SAFE_FREE_CHAR(label);
+ } else {
+ elm_object_item_part_text_set(ugd->ug_MainWindow.ug_pNaviItem, "subtitle", "");
+ elm_object_item_signal_emit(ugd->ug_MainWindow.ug_pNaviItem, "elm,state,subtitle,hide", "elm");
+ }
+ UG_TRACE_END;
+
+}
+
+static void __ug_language_changed_cb(void *user_data)
+{
+ ug_error("__ug_language_changed_cb");
+ ugData *ugd = (ugData *)user_data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ char *locale = NULL;
+ int retcode = -1;
+ retcode = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE, &locale);
+ if (retcode != SYSTEM_SETTINGS_ERROR_NONE) {
+ ug_mf_error("[ERR] failed to update the language");
+ }
+ if (locale) {
+ ug_error("locale is [%s]", locale);
+ elm_language_set(locale);
+ if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE) {
+ __mf_ug_subtitle_show(ugd);
+ }
+ }
}
/******************************
@@ -1149,7 +1336,7 @@ static void on_message(ui_gadget_h ug, service_h msg, service_h service, void *p
** Description :
** Input : ui_gadget_h ug
** enum ug_event event
-** service_h service
+** app_control_h app_control
** void *priv
** Output : None
** Return Value :
@@ -1162,32 +1349,44 @@ static void on_message(ui_gadget_h ug, service_h msg, service_h service, void *p
** Modification : Created function
**
******************************/
-static void on_event(ui_gadget_h ug, enum ug_event event, service_h service, void *priv)
+static void on_event(ui_gadget_h ug, enum ug_event event, app_control_h app_control, void *priv)
{
- UG_TRACE_BEGIN;
- switch (event)
- {
- case UG_EVENT_LOW_MEMORY:
- break;
+ ugData *ugd = NULL;
+
+ ug_mf_retm_if(NULL == priv, "priv is NULL");
+
+ ugd = priv;
+ ugd->ug = ug;
- case UG_EVENT_LOW_BATTERY:
- break;
+ UG_TRACE_BEGIN;
+ switch (event) {
+ case UG_EVENT_LOW_MEMORY:
+ break;
- case UG_EVENT_LANG_CHANGE:
- break;
+ case UG_EVENT_LOW_BATTERY:
+ break;
- case UG_EVENT_ROTATE_PORTRAIT:
- case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
- case UG_EVENT_ROTATE_LANDSCAPE:
- case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
- break;
+ case UG_EVENT_LANG_CHANGE:
+ __ug_language_changed_cb(ugd);
+ break;
- default:
- break;
- }
+ case UG_EVENT_ROTATE_PORTRAIT:
+ break;
- UG_TRACE_END;
+ case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
+ break;
+
+ case UG_EVENT_ROTATE_LANDSCAPE:
+ break;
+
+ case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
+ break;
+
+ default:
+ break;
+ }
+ UG_TRACE_END;
}
@@ -1197,7 +1396,7 @@ static void on_event(ui_gadget_h ug, enum ug_event event, service_h service, voi
** Description : Samsung
** Input : ui_gadget_h ug
** enum ug_key_event event
-** service_h service
+** app_contrul_h app_contrul
** void *priv
** Output : None
** Return Value :
@@ -1211,38 +1410,36 @@ static void on_event(ui_gadget_h ug, enum ug_event event, service_h service, voi
**
******************************/
-static void on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h service, void *priv)
+static void on_key_event(ui_gadget_h ug, enum ug_key_event event, app_control_h app_control, void *priv)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)priv;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- switch (event)
- {
- case UG_KEY_EVENT_END:
- if (ugd->ug_MainWindow.ug_pNormalPopup)
- {
- evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup);
- ugd->ug_MainWindow.ug_pNormalPopup = NULL;
- }
- if (0 != ugd->ug_ListPlay.ug_Player)
- {
- mf_ug_list_play_destory_playing_file(ugd);
- UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
- }
- ug_destroy_me(ug);
- break;
- default:
- break;
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)priv;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ switch (event) {
+ case UG_KEY_EVENT_END:
+ if (ugd->ug_MainWindow.ug_pNormalPopup) {
+ evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup);
+ ugd->ug_MainWindow.ug_pNormalPopup = NULL;
+ }
+ if (0 != ugd->ug_ListPlay.ug_Player) {
+ mf_ug_list_play_destory_playing_file(ugd);
+ ugd->ug_ListPlay.play_data = NULL;
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ }
+ ug_destroy_me(ug);
+ break;
+ default:
+ break;
+ }
+ UG_TRACE_END;
}
/******************************
** Prototype : on_destroy
** Description :
** Input : ui_gadget_h ug
-** service_h service
+** app_control_h app_control
** void *priv
** Output : None
** Return Value :
@@ -1255,45 +1452,92 @@ static void on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h serv
** Modification : Created function
**
******************************/
-static void on_destroy(ui_gadget_h ug, service_h service, void *priv)
+static void on_destroy(ui_gadget_h ug, app_control_h app_control, void *priv)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)priv;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- __mf_ug_main_free_data(ugd);
-
- if (ugd->ug_Status.ug_bInstallFlag == true)
- {
- mf_ug_util_destory_dir_monitor(ugd);
- mf_ug_util_destory_mmc_state_cb();
- media_content_disconnect();
- power_unset_changed_cb();
- }
-
- ug_ecore_idler_del(ugd->ug_Status.search_idler);
- ug_ecore_idler_del(ugd->ug_Status.popup_del_idler);
- ug_ecore_idler_del(ugd->ug_Status.popup_create_idler);
- ug_ecore_idler_del(ugd->ug_Status.msg_finish_idler);
- UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.pPopupTimer);
-
- if (0 != ugd->ug_ListPlay.ug_Player)
- {
- mf_ug_list_play_destory_playing_file(ugd);
- UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
- }
-
- UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.ug_pThumbUpdateTimer);
- UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.play_timer);
- __mf_ug_main_free_evas_object(ugd);
- if(ugd->key_event_handler)
- {
- ecore_event_handler_del(ugd->key_event_handler);
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)priv;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ if (exit_flag) {
+ return;
+ }
+ /*close_rec_ext_handle();*/
+ exit_flag = EINA_TRUE;
+ mf_ug_util_path_stack_free();
+ mf_ug_destory_music_ug();
+ __mf_ug_main_free_data(ugd);
+ if (ugd->show) {/*no destroy the idle after UG destroy, Fixed the P131014-03517 by jian12.li*/
+ ecore_idler_del(ugd->show);
+ ugd->show = NULL;
+ }
+ if (ugd->ug_ListPlay.playing_err_idler) {/*no destroy the idle after UG destroy, Fixed the P131014-03517 by jian12.li*/
+ ecore_idler_del(ugd->ug_ListPlay.playing_err_idler);
+ ugd->ug_ListPlay.playing_err_idler = NULL;
+ }
+ if (ugd->ug_Status.popup_del_idler) {/*no destroy the idle after UG destroy, Fixed the P131014-03517 by jian12.li*/
+ ecore_idler_del(ugd->ug_Status.popup_del_idler);
+ ugd->ug_Status.popup_del_idler = NULL;
+ }
+
+ if (ugd->ug_Status.search_idler) {/*no destroy the idle after UG destroy, Fixed the P131014-03517 by jian12.li*/
+ ecore_idler_del(ugd->ug_Status.search_idler);
+ ugd->ug_Status.search_idler = NULL;
+ }
+ if (ugd->ug_Status.ug_bInstallFlag == true) {
+ mf_ug_util_destory_dir_monitor(ugd);
+ mf_ug_util_destory_mmc_state_cb();
+ mf_ug_destory_earjack_monitor();
+ if (media_content_disconnect() != MEDIA_CONTENT_ERROR_NONE) {
+ ug_error("media content disconnect failed.");
+ }
+ /*power_unset_changed_cb();*/
+ }
+
+ ug_ecore_idler_del(ctrlbar_state_idler);
+
+ if (ugd->ug_Status.search_handler > 0) {
+ mf_ug_search_stop(ugd->ug_Status.search_handler);
+ }
+
+
+ if (ugd->ug_Status.search_handler > 0) {
+ mf_ug_search_finalize(&ugd->ug_Status.search_handler);
+ }
+ if (ugd->ug_UiGadget.ug_pSyncPipe != NULL) {
+ ecore_pipe_del(ugd->ug_UiGadget.ug_pSyncPipe);
+ ugd->ug_UiGadget.ug_pSyncPipe = NULL;
+ }
+
+ /*evas_object_event_callback_del(ugd->ug_MainWindow.ug_pWindow, EVAS_CALLBACK_RESIZE, mf_ug_resize_more_ctxpopup_cb);*/
+
+ mf_ug_db_handle_destory();
+ if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) {
+ mf_ug_util_destory_default_ringtone_cb();
+ } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) {
+ mf_ug_util_destory_default_alert_cb();
+ }
+ ug_ecore_idler_del(ugd->ug_Status.search_idler);
+ ug_ecore_idler_del(ugd->ug_Status.popup_del_idler);
+ ug_ecore_idler_del(ugd->ug_Status.popup_create_idler);
+ ug_ecore_idler_del(ugd->ug_Status.msg_finish_idler);
+ UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.pSearchTimer);
+
+ if (0 != ugd->ug_ListPlay.ug_Player) {
+ mf_ug_list_play_destory_playing_file(ugd);
+ ugd->ug_ListPlay.play_data = NULL;
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ }
+
+ UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.play_timer);
+ _mf_ug_reset_indicator(ugd);
+ __mf_ug_main_free_evas_object(ugd);
+
+ /*Fix the P130902-01617, refer to the android galaxy S4.*/
+ mf_ug_player_vol_reset_default_value(ugd);
+
+ UG_TRACE_END;
}
-
/******************************
** Prototype : UG_MODULE_INIT
** Description :
@@ -1311,36 +1555,33 @@ static void on_destroy(ui_gadget_h ug, service_h service, void *priv)
******************************/
UG_MODULE_API int UG_MODULE_INIT(struct ug_module_ops *ops)
{
- UG_TRACE_BEGIN;
- ugData *ugd;
-
- if (!ops)
- {
- return -1;
- }
-
- ugd = calloc(1, sizeof(ugData));
- if (!ugd)
- {
- return -1;
- }
-
- ops->create = on_create;
- ops->start = on_start;
- ops->pause = on_pause;
- ops->resume = on_resume;
- ops->destroy = on_destroy;
- ops->message = on_message;
- ops->event = on_event;
- ops->key_event = on_key_event;
- ops->priv = ugd;
- ops->opt = UG_OPT_INDICATOR_ENABLE;
- UG_TRACE_END;
- return 0;
+ UG_TRACE_BEGIN;
+ ugData *ugd;
+
+ if (!ops) {
+ return -1;
+ }
+
+ ugd = calloc(1, sizeof(ugData));
+ if (!ugd) {
+ return -1;
+ }
+
+ mf_ug_data = ugd;
+ ops->create = on_create;
+ ops->start = on_start;
+ ops->pause = on_pause;
+ ops->resume = on_resume;
+ ops->destroy = on_destroy;
+ ops->message = on_message;
+ ops->event = on_event;
+ ops->key_event = on_key_event;
+ ops->priv = ugd;
+ ops->opt = UG_OPT_INDICATOR_ENABLE;
+ UG_TRACE_END;
+ return 0;
}
-
-
/******************************
** Prototype : UG_MODULE_EXIT
** Description :
@@ -1358,18 +1599,16 @@ UG_MODULE_API int UG_MODULE_INIT(struct ug_module_ops *ops)
******************************/
UG_MODULE_API void UG_MODULE_EXIT(struct ug_module_ops *ops)
{
- UG_TRACE_BEGIN;
- ugData *ugd;
-
- if (!ops)
- {
- return;
- }
- ugd = ops->priv;
-
- if (ugd)
- {
- free(ugd);
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd;
+
+ if (!ops || (!ops->priv)) {
+ return;
+ }
+ ugd = ops->priv;
+
+ if (ugd) {
+ free(ugd);
+ }
+ UG_TRACE_END;
}
diff --git a/src/widget/mf-ug-ctrl-bar.c b/src/widget/mf-ug-ctrl-bar.c
deleted file mode 100644
index 6153099..0000000
--- a/src/widget/mf-ug-ctrl-bar.c
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <Eina.h>
-#include <Elementary.h>
-
-#include "mf-ug-winset.h"
-#include "mf-ug-cb.h"
-#include "mf-ug-fm-svc-wrapper.h"
-#include "mf-ug-util.h"
-#include "mf-ug-resource.h"
-
-#define UG_CTRL_STYLE_TYPE "controlbar"
-
-
-/******************************
-** Prototype : __mf_ug_ctrl_bar_create
-** Description : Samsung
-** Input : Evas_Object *parent
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-static Evas_Object *__mf_ug_ctrl_bar_create(Evas_Object *parent)
-{
- UG_TRACE_BEGIN;
- ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
-
- Evas_Object *pCtrlBar = NULL;
-
- pCtrlBar = elm_toolbar_add(parent);
- elm_toolbar_shrink_mode_set(pCtrlBar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_object_style_set(pCtrlBar, "naviframe");
- elm_object_focus_set(pCtrlBar, EINA_FALSE);
- evas_object_show(pCtrlBar);
- UG_TRACE_END;
- return pCtrlBar;
-}
-
-
-/******************************
-** Prototype : __mf_ug_ctrl_bar_append_item
-** Description : Samsung
-** Input : void *data
-** Evas_Object *ctrl_bar
-** int type
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-static void __mf_ug_ctrl_bar_append_item(void *data, Evas_Object *ctrl_bar, int type)
-{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- Evas_Object *pCtrlBar = ctrl_bar;
- ug_mf_retm_if(pCtrlBar == NULL, "pCtrlBar is NULL");
- Elm_Object_Item *item = NULL;
- if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
- item = elm_toolbar_item_append(pCtrlBar, NULL, NULL, NULL, NULL);
- elm_object_item_disabled_set(item, EINA_TRUE);
- item = elm_toolbar_item_append(pCtrlBar, NULL, NULL, NULL, NULL);
- elm_object_item_disabled_set(item, EINA_TRUE);
- item = elm_toolbar_item_append(pCtrlBar, NULL, NULL, NULL, NULL);
- elm_object_item_disabled_set(item, EINA_TRUE);
- //elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_SET, (Evas_Smart_Cb) mf_ug_cb_add_button_cb, ugd);
- } else {
- if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
- elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_IMPORT, (Evas_Smart_Cb) mf_ug_cb_add_button_cb, ugd);
- item = elm_toolbar_item_append(pCtrlBar, NULL, NULL, NULL, NULL);
- elm_object_item_disabled_set(item, EINA_TRUE);
- //elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_SEARCH, (Evas_Smart_Cb) mf_ug_search_view_enter_search_routine, ugd);
- } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) {
- elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_EXPORT, (Evas_Smart_Cb) mf_ug_cb_add_button_cb, ugd);
- elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_CREATE, (Evas_Smart_Cb) mf_ug_cb_create_new_folder, ugd);
- } else {
- elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_ATTACH, (Evas_Smart_Cb) mf_ug_cb_add_button_cb, ugd);
- }
- }
-
- elm_toolbar_item_append(pCtrlBar, NULL, MF_UG_LABEL_CANCEL, (Evas_Smart_Cb) mf_ug_cb_back_button_cb, ugd);
-
-
- UG_TRACE_END;
-}
-
-
-/******************************
-** Prototype : mf_ug_ctrl_bar_set
-** Description : Samsung
-** Input : void* data
-** ugNaviBar *pNavi_s
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-void mf_ug_ctrl_bar_set(void *data, ugNaviBar *pNavi_s)
-{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- Evas_Object *pNaviBar = ugd->ug_MainWindow.ug_pNaviBar;
- Evas_Object *pCtrlBar = NULL;
-
- int type = ugd->ug_Status.ug_iCtrlBarType;
- pCtrlBar = __mf_ug_ctrl_bar_create(pNaviBar);
- ugd->ug_MainWindow.ug_pNaviCtrlBar = pCtrlBar;
- type = CTRL_BAR_NORMAL;
- __mf_ug_ctrl_bar_append_item(ugd, pCtrlBar, type);
- evas_object_show(pCtrlBar);
- elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, UG_CTRL_STYLE_TYPE, pCtrlBar);
- UG_TRACE_END;
-}
-
-/******************************
-** Prototype : mf_ug_ctrl_bar_disable_item
-** Description : Samsung
-** Input : void *data
-** bool disable
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-void mf_ug_ctrl_bar_disable_item(void *data, bool disable)
-{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- Evas_Object *pCtrlBar = NULL;
-
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
- ug_mf_retm_if(pNavi_s == NULL, "get navigation bar in use failed");
-
- pCtrlBar = ugd->ug_MainWindow.ug_pNaviCtrlBar;
-
- Elm_Object_Item *it = NULL;
- it = elm_toolbar_first_item_get(pCtrlBar);
-
- while(it) {
- const char *button_label = elm_object_item_text_get(it);
- const char *disable_labe = NULL;
- if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
- disable_labe = MF_UG_LABEL_SET;
- } else if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
- disable_labe = MF_UG_LABEL_IMPORT;
- } else {
- disable_labe = MF_UG_LABEL_ATTACH;
- }
- if (g_strcmp0(button_label, disable_labe) == 0) {
- elm_object_item_disabled_set(it, !disable);
- }
- it = elm_toolbar_item_next_get(it);
- }
-}
-
-/******************************
-** Prototype : mf_ug_ctrl_bar_set_item_disable
-** Description : Samsung
-** Input : void *data
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-void mf_ug_ctrl_bar_set_item_disable(void *data)
-{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- bool disable = false;
-
- if (ugd->ug_Status.ug_bNoContentFlag == true) {
- mf_ug_navi_bar_button_set_disable(ugd, true);
- } else {
- disable = mf_ug_util_is_genlist_selected(ugd);
- mf_ug_navi_bar_button_set_disable(ugd, !disable);
- }
- UG_TRACE_END;
-}
-
-void mf_ug_ctrl_bar_recover(void *data)
-{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
- ug_mf_retm_if(pNavi_s == NULL, "get navi failed");
-
- Evas_Object *naviBar = ugd->ug_MainWindow.ug_pNaviBar;
- Evas_Object *ctrl_bar = NULL;
-
- ug_mf_retm_if(naviBar == NULL, "navi is NULL");
- ctrl_bar = elm_object_item_part_content_get(ugd->ug_MainWindow.ug_pNaviItem, UG_CTRL_STYLE_TYPE);
- ugd->ug_MainWindow.ug_pNaviCtrlBar = ctrl_bar;
-}
diff --git a/src/widget/mf-ug-genlist.c b/src/widget/mf-ug-genlist.c
index 86b8f52..a774bcb 100644
--- a/src/widget/mf-ug-genlist.c
+++ b/src/widget/mf-ug-genlist.c
@@ -1,32 +1,68 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include <Eina.h>
#include "mf-ug-winset.h"
+#include "mf-ug-widget.h"
#include "mf-ug-util.h"
#include "mf-ug-fm-svc-wrapper.h"
#include "mf-ug-fs-util.h"
#include "mf-ug-resource.h"
#include "mf-ug-cb.h"
+#include "mf-ug-db-handle.h"
+#include "mf-ug-list-play.h"
+#include "mf-ug-file-util.h"
+#define MF_LIST_THUMBNAIL_SIZE 72
-#define MF_UG_SELECTED_ITEM_BRING_UP_COUNT 7
-#define MF_UG_SELECTED_ITEM_BRING_UP_COUNT_MAX 8
+#define MF_UG_SELECTED_ITEM_BRING_UP_COUNT 7
+#define MF_UG_SELECTED_ITEM_BRING_UP_COUNT_MAX 8
+
+#define MF_UG_LIST_PLAY_TIME_OUT 0.01
+
+#define MF_UG_GENLIST_REALIZE_ITEM_COUNT 10
+
+static Elm_Object_Item *default_item = NULL;
+static int global_radio_max = 0;
+bool g_ug_bDefaultItem = false;
+void mf_ug_main_sound_title_in_idle(void *data);
+int __mf_update_sound_title(void *app_data);
+
+void mf_ug_radio_max_set(int value)
+{
+ global_radio_max = value;
+}
+
+int mf_ug_radio_max_get()
+{
+ return global_radio_max;
+}
+
+Elm_Object_Item *mf_ug_genlist_default_item_get()
+{
+ return default_item;
+}
+
+void mf_ug_genlist_default_item_set(Elm_Object_Item *item)
+{
+ default_item = item;
+
+}
-#define MF_UG_LIST_PLAY_TIME_OUT 0.5
/******************************
** Prototype : __mf_ug_genlist_is_file_marked
** Description : Samsung
@@ -45,30 +81,30 @@
******************************/
static gboolean __mf_ug_genlist_is_file_marked(Eina_List *source, GString *path)
{
- UG_TRACE_BEGIN;
- ug_mf_retvm_if(source == NULL, false, "source is NULL");
- ug_mf_retvm_if(path == NULL, false, "path is NULL");
-
- bool flag = false;
- Eina_List *l = NULL;
- void *data = NULL;
-
- EINA_LIST_FOREACH(source, l, data) {
- char *source_path = strdup(data);
- if (source_path != NULL) {
- if (strcmp(source_path, path->str) == 0) {
- flag = true;
- free(source_path);
- source_path = NULL;
- break;
- } else {
- free(source_path);
- source_path = NULL;
- }
- }
- }
- UG_TRACE_END;
- return flag;
+ UG_TRACE_BEGIN;
+ ug_mf_retvm_if(source == NULL, false, "source is NULL");
+ ug_mf_retvm_if(path == NULL, false, "path is NULL");
+
+ bool flag = false;
+ Eina_List *l = NULL;
+ void *data = NULL;
+
+ EINA_LIST_FOREACH(source, l, data) {
+ char *source_path = strdup(data);
+ if (source_path != NULL) {
+ if (strcmp(source_path, path->str) == 0) {
+ flag = true;
+ free(source_path);
+ source_path = NULL;
+ break;
+ } else {
+ free(source_path);
+ source_path = NULL;
+ }
+ }
+ }
+ UG_TRACE_END;
+ return flag;
}
@@ -90,40 +126,40 @@ static gboolean __mf_ug_genlist_is_file_marked(Eina_List *source, GString *path)
******************************/
static void __mf_ug_genlist_set_marked_path(Eina_List **source, GString *path)
{
- UG_TRACE_BEGIN;
- bool file_exist_flag = false;
- char *source_path;
- Eina_List *l = NULL;
- void *data = NULL;
-
- ug_mf_retm_if(source == NULL, "source is NULL");
- ug_mf_retm_if(path == NULL, "path is NULL");
-
- if (NULL == *source || eina_list_count(*source) == 0) {
- *source = eina_list_append(*source, strdup(path->str));
- } else {
-
- EINA_LIST_FOREACH(*source, l, data) {
- source_path = (char *)data;
- if (source_path != NULL) {
- if (strcmp(source_path, path->str) == 0) {
- file_exist_flag = true;
- break;
- }
- }
- }
- if (file_exist_flag == true) {
- *source = eina_list_remove(*source, source_path);
- } else {
- *source = eina_list_append(*source, strdup(path->str));
- }
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ bool file_exist_flag = false;
+ char *source_path;
+ Eina_List *l = NULL;
+ void *data = NULL;
+
+ ug_mf_retm_if(source == NULL, "source is NULL");
+ ug_mf_retm_if(path == NULL, "path is NULL");
+
+ if (NULL == *source || eina_list_count(*source) == 0) {
+ *source = eina_list_append(*source, strdup(path->str));
+ } else {
+
+ EINA_LIST_FOREACH(*source, l, data) {
+ source_path = (char *)data;
+ if (source_path != NULL) {
+ if (strcmp(source_path, path->str) == 0) {
+ file_exist_flag = true;
+ break;
+ }
+ }
+ }
+ if (file_exist_flag == true) {
+ *source = eina_list_remove(*source, source_path);
+ } else {
+ *source = eina_list_append(*source, strdup(path->str));
+ }
+ }
+ UG_TRACE_END;
}
/******************************
-** Prototype : __mf_ug_genlist_create_checkbox
+** Prototype : mf_ug_genlist_create_checkbox
** Description : Samsung
** Input : Evas_Object *parent
** Output : None
@@ -137,66 +173,75 @@ static void __mf_ug_genlist_set_marked_path(Eina_List **source, GString *path)
** Modification : Created function
**
******************************/
-static Evas_Object *__mf_ug_genlist_create_checkbox(Evas_Object *parent)
+Evas_Object *mf_ug_genlist_create_checkbox(Evas_Object *parent)
{
- UG_TRACE_BEGIN;
- Evas_Object *ck_box = NULL;
-
- ck_box = elm_check_add(parent);
- evas_object_size_hint_weight_set(ck_box, 1.0, 1.0);
- evas_object_size_hint_align_set(ck_box, -1.0, 0.5);
- elm_check_state_set(ck_box, 0);
- evas_object_show(ck_box);
- evas_object_repeat_events_set(ck_box, 0);
- UG_TRACE_END;
- return ck_box;
+ UG_TRACE_BEGIN;
+ Evas_Object *ck_box = NULL;
+
+ ck_box = elm_check_add(parent);
+ elm_object_style_set(ck_box, "default");
+ /*evas_object_size_hint_weight_set(ck_box, 1.0, 1.0);
+ evas_object_size_hint_align_set(ck_box, -1.0, 0.5);*/
+ elm_check_state_set(ck_box, 0);
+ evas_object_show(ck_box);
+ evas_object_repeat_events_set(ck_box, 0);
+ UG_TRACE_END;
+ return ck_box;
}
-static void __mf_ug_genlist_show_select_info(void *data)
+void mf_ug_genlist_show_select_info(void *data)
{
- UG_TRACE_BEGIN;
- ugListItemData *itemData = (ugListItemData *)data;
- ug_mf_retm_if(itemData == NULL, "itemData is NULL");
-
- ugData *ugd = itemData->ug_pData;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- int iDirCount = 0, iFileCount = 0;
- Elm_Object_Item *it = NULL;
-
- Evas_Object *pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist;
-
- it = elm_genlist_first_item_get(pGenlist);
- while (it) {
- itemData = elm_object_item_data_get(it);
- if (itemData->ug_bChecked) {
- if (ecore_file_is_dir(itemData->ug_pItemName->str)) {
- iDirCount++;
- } else {
- iFileCount++;
- }
- }
-
- it = elm_genlist_item_next_get(it);
- }
- int count = 0;
- count = iDirCount + iFileCount;
- if (count > 0) {
- Evas_Object *notify_popup = NULL;
- char lable_file[UG_LABEL_STRING_LENGTH] = { '\0', };
- char *label = NULL;
- /*1 TODO: need to update for multi-language */
-
- snprintf(lable_file, sizeof(lable_file), "%d", count);
- label = g_strconcat(MF_UG_LABEL_SELECTED, "(", lable_file, ")", NULL);
- notify_popup = mf_ug_navibar_create_notify_popup(itemData->ug_pData, ugd->ug_MainWindow.ug_pNaviLayout, label, false, NULL);
- ugd->ug_MainWindow.ug_pSelectInfoLayout = notify_popup;
- UG_SAFE_FREE_CHAR(label);
-
- } else {
- UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSelectInfoLayout);
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ int iDirCount = 0, iFileCount = 0;
+ Elm_Object_Item *it = NULL;
+ ugListItemData *itemData = NULL;
+
+ Evas_Object *pGenlist = ugd->ug_MainWindow.ug_pNaviGenlist;
+
+ it = elm_genlist_first_item_get(pGenlist);
+ while (it) {
+ itemData = elm_object_item_data_get(it);
+ if (itemData->ug_bChecked) {
+ if (mf_is_dir(itemData->ug_pItemName->str)) {
+ iDirCount++;
+ } else {
+ iFileCount++;
+ }
+ }
+
+ it = elm_genlist_item_next_get(it);
+ }
+ int count = 0;
+ count = iFileCount;
+ if (count > 0) {
+ char *label = NULL;
+ label = g_strdup_printf(mf_ug_widget_get_text(MF_UG_LABEL_SELECTED), count);
+ elm_object_item_part_text_set(ugd->ug_MainWindow.ug_pNaviItem, "elm.text.title", label);
+ UG_SAFE_FREE_CHAR(label);
+ } else {
+ if (mf_ug_util_is_import_mode(ugd->ug_UiGadget.ug_iSelectMode)) {
+ mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, MF_UG_LABEL_IMPORT_CHAP, "elm.text.title");
+ } else if (ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE || ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) {
+ mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, MF_UG_LABEL_DOCUMENTS, "elm.text.title");
+ } else {
+
+ /*ug_error("ugd->ug_UiGadget.ug_iSelectMode is [%d]", ugd->ug_UiGadget.ug_iSelectMode);*/
+ if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE) {
+ elm_object_item_part_text_set(ugd->ug_MainWindow.ug_pNaviItem, "elm.text.title", mf_file_get(ugd->ug_Status.ug_pPath->str));
+ } else {
+ char *label = NULL;
+ label = g_strdup(mf_ug_widget_get_text(MF_UG_LABEL_SELECT_ITEMS));
+ elm_object_item_part_text_set(ugd->ug_MainWindow.ug_pNaviItem, "elm.text.title", label);
+ UG_SAFE_FREE_CHAR(label);
+ }
+ }
+ }
+ UG_TRACE_END;
}
@@ -219,38 +264,82 @@ static void __mf_ug_genlist_show_select_info(void *data)
******************************/
static void __mf_ug_genlist_checkbox_cb(void *data, Evas_Object *obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ugListItemData *itemData = (ugListItemData *)data;
- ug_mf_retm_if(itemData == NULL, "itemData is NULL");
- ugData *ugd = (ugData *)itemData->ug_pData;
-
- if (itemData->ug_bChecked == false) {
- itemData->ug_bChecked = true;
- } else {
- itemData->ug_bChecked = false;
- }
-
- if (itemData->ug_pData->ug_UiGadget.ug_iMarkedMode == MARKED_ON) {
- __mf_ug_genlist_set_marked_path(&itemData->ug_pData->ug_UiGadget.ug_pMultiSelectFileList, itemData->ug_pItemName);
- }
- if (itemData->ug_bChecked) {
- ugd->ug_Status.ug_iCheckedCount++;
- } else {
- ugd->ug_Status.ug_iCheckedCount--;
- }
- if (ugd->ug_MainWindow.ug_pSelectAllCheckBox) {
- if (ugd->ug_Status.ug_iTotalCount == ugd->ug_Status.ug_iCheckedCount) {
- ugd->ug_Status.ug_bSelectAllChecked = EINA_TRUE;
- } else {
- ugd->ug_Status.ug_bSelectAllChecked = EINA_FALSE;
- }
- elm_check_state_pointer_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, &ugd->ug_Status.ug_bSelectAllChecked);
- }
-
- __mf_ug_genlist_show_select_info(itemData);
- mf_ug_ctrl_bar_set_item_disable(itemData->ug_pData);
-
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugListItemData *itemData = (ugListItemData *)data;
+ ug_mf_retm_if(itemData == NULL, "itemData is NULL");
+ ugData *ugd = (ugData *)itemData->ug_pData;
+
+ if (itemData->ug_bChecked == false) {
+ itemData->ug_bChecked = true;
+ } else {
+ itemData->ug_bChecked = false;
+ }
+
+ if (itemData->ug_pData->ug_UiGadget.ug_iMarkedMode == MARKED_ON) {
+ __mf_ug_genlist_set_marked_path(&itemData->ug_pData->ug_UiGadget.ug_pMultiSelectFileList, itemData->ug_pItemName);
+ }
+
+ struct stat stFileInfo;
+ if (itemData->ug_bChecked) {
+ ugd->ug_Status.ug_iCheckedCount++;
+ stat(itemData->ug_pItemName->str, &stFileInfo);
+ if (ugd->limitsize > 0 && ugd->selsize + stFileInfo.st_size > ugd->limitsize) {
+ char *noti = NULL;
+ noti = g_strdup_printf(mf_ug_widget_get_text(MF_UG_LABEL_MAXIMUM_SIZE));
+ mf_ug_popup_indicator_popup(noti);
+ if (itemData->ug_bChecked == 0) {
+ itemData->ug_bChecked = 1;
+ } else {
+ itemData->ug_bChecked = 0;
+ }
+ elm_check_state_set(itemData->ug_pCheckBox, itemData->ug_bChecked);
+ UG_SAFE_FREE_CHAR(noti);
+ return;
+ }
+ ugd->selsize += stFileInfo.st_size;
+ } else {
+ ugd->ug_Status.ug_iCheckedCount--;
+ stat(itemData->ug_pItemName->str, &stFileInfo);
+ ugd->selsize = ugd->selsize - stFileInfo.st_size;
+ }
+ if (ugd->ug_Status.ug_iCheckedCount > ugd->ug_UiGadget.ug_iMaxLength) {
+ char *reach_string = mf_ug_widget_get_text(MF_UG_LABEL_REACH_MAX_SHARE_COUNT);
+ char *max_string = g_strdup_printf(reach_string, ugd->ug_UiGadget.ug_iMaxLength);
+ ug_error("max_string is [%s]", max_string);
+ /*UG_SAFE_FREE_CHAR(reach_string);*/
+ mf_ug_popup_indicator_popup(max_string);
+ UG_SAFE_FREE_CHAR(max_string);
+ if (itemData->ug_bChecked == 0) {
+ itemData->ug_bChecked = 1;
+ } else {
+ itemData->ug_bChecked = 0;
+ }
+ if (itemData->ug_bChecked) {
+ ugd->ug_Status.ug_iCheckedCount++;
+ } else {
+ ugd->ug_Status.ug_iCheckedCount--;
+ }
+ elm_check_state_set(itemData->ug_pCheckBox, itemData->ug_bChecked);
+ return;
+ }
+ ugd->ug_Status.ug_iTotalCount = eina_list_count(ugd->ug_UiGadget.ug_pFilterList);
+ if (ugd->ug_Status.ug_iTotalCount == ugd->ug_Status.ug_iCheckedCount) {
+ ugd->ug_Status.ug_bSelectAllChecked = EINA_TRUE;
+ } else {
+ ugd->ug_Status.ug_bSelectAllChecked = EINA_FALSE;
+ }
+ if (ugd->ug_Status.ug_bSelectAllChecked) {
+ elm_check_state_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, 1);
+ } else {
+ elm_check_state_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, 0);
+ }
+
+ ug_error("========= ugd->ug_Status.ug_iCheckedCount is [%d]", ugd->ug_Status.ug_iCheckedCount);
+
+ mf_ug_genlist_show_select_info(ugd);
+ mf_ug_navi_bar_set_ctrl_item_disable(itemData->ug_pData);
+
+ UG_TRACE_END;
}
@@ -272,51 +361,48 @@ static void __mf_ug_genlist_checkbox_cb(void *data, Evas_Object *obj, void *even
******************************/
static Evas_Object *__mf_ug_genlist_create_radio_box(Evas_Object *parent, ugListItemData *params)
{
- UG_TRACE_BEGIN;
-
- ugListItemData *itemData = (ugListItemData *)params;
- ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL");
-
- ugData *ugd = (ugData *)(itemData->ug_pData);
- ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
-
- Evas_Object *radio_box = NULL;
- radio_box = elm_radio_add(parent);
- elm_radio_state_value_set(radio_box, itemData->ug_iGroupValue);
- elm_radio_group_add(radio_box, ugd->ug_MainWindow.ug_pRadioGroup);
- elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, ugd->ug_Status.ug_iRadioOn);
- UG_TRACE_END;
- return radio_box;
+ UG_TRACE_BEGIN;
+
+ ugListItemData *itemData = (ugListItemData *)params;
+ ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL");
+
+ ugData *ugd = (ugData *)(itemData->ug_pData);
+ ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
+
+ Evas_Object *radio_box = NULL;
+ radio_box = elm_radio_add(parent);
+ if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) {
+ elm_object_style_set(radio_box, "silent");
+ }
+ elm_radio_state_value_set(radio_box, itemData->ug_iGroupValue);
+ elm_radio_group_add(radio_box, ugd->ug_MainWindow.ug_pRadioGroup);
+ elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, ugd->ug_Status.ug_iRadioOn);
+ UG_TRACE_END;
+ return radio_box;
}
-
+#if 0 /* Currently not used */
static bool __mf_ug_list_play_timer_cb(void *data)
{
- ugListItemData *item_data = (ugListItemData *)data;
- ugData *ugd = (ugData *)item_data->ug_pData;
-
-
- if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING || ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) {
- if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, item_data->ug_pItemName->str) == 0) {
- mf_ug_list_play_destory_playing_file(ugd);
- //mf_ug_list_disable_play_itc(ugd, true);
- //mf_ug_list_play_update_item_icon(ugd);
- UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
- } else {
- //mf_ug_list_paly_hide_play_icon(ugd);
- }
- }
- mf_ug_cb_list_play_cb(item_data, NULL, NULL);
- if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) != item_data->ug_iGroupValue) {
- ugd->ug_Status.ug_iRadioOn = item_data->ug_iGroupValue;
- item_data->ug_bChecked = true;
- elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, item_data->ug_iGroupValue);
- }
-
- item_data->ug_pData->ug_Status.play_timer = NULL;
- return ECORE_CALLBACK_CANCEL;
-
+ ugListItemData *item_data = (ugListItemData *)data;
+ ugData *ugd = (ugData *)item_data->ug_pData;
+
+ ugd->ug_ListPlay.hiden_flag = false;
+
+ if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING || ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) {
+ if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, item_data->ug_pItemName->str) == 0) {
+ mf_ug_list_play_destory_playing_file(ugd);
+ ugd->ug_ListPlay.play_data = NULL;
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ }
+ }
+ mf_ug_cb_list_play_cb(item_data, NULL, NULL);
+ item_data->ug_pData->ug_Status.play_timer = NULL;
+ ugd->ug_ListPlay.play_data = item_data->ug_pItem;
+ elm_genlist_select_mode_set(ugd->ug_MainWindow.ug_pNaviGenlist, ELM_OBJECT_SELECT_MODE_ALWAYS);
+ return ECORE_CALLBACK_CANCEL;
}
+#endif
/******************************
** Prototype : __mf_ug_genlist_radio_box_cb
@@ -338,30 +424,34 @@ static bool __mf_ug_list_play_timer_cb(void *data)
static void __mf_ug_genlist_radio_box_cb(void *data, Evas_Object *obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ugListItemData *itemData = (ugListItemData *)data;
- ug_mf_retm_if(itemData == NULL, "ugListItemData is NULL");
- ugData *ugd = (ugData *)itemData->ug_pData;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- itemData->ug_bChecked = true;
- itemData->ug_pData->ug_Status.ug_iRadioOn = itemData->ug_iGroupValue;
- elm_radio_value_set(itemData->ug_pData->ug_MainWindow.ug_pRadioGroup, itemData->ug_iGroupValue);
- mf_ug_ctrl_bar_set_item_disable(itemData->ug_pData);
-
-
- mf_ug_launch_type launch_type = mf_ug_util_get_file_launch_type(itemData->ug_pItemName->str);
- if (launch_type == LAUNCH_TYPE_MUSIC) {
- if (ugd->ug_Status.play_timer == NULL) {
- ug_error(">>>>>>>>>>>>>> entry list play");
- ugd->ug_Status.play_timer = ecore_timer_add(MF_UG_LIST_PLAY_TIME_OUT, (Ecore_Task_Cb)__mf_ug_list_play_timer_cb, itemData);
- } else {
- ug_error(">>>>>>>>>>>>>> Faild entry list play");
-
- }
- }
-
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugListItemData *itemData = (ugListItemData *)data;
+ ug_mf_retm_if(itemData == NULL, "ugListItemData is NULL");
+ ugData *ugd = (ugData *)itemData->ug_pData;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ itemData->ug_bChecked = true;
+ itemData->ug_pData->ug_Status.ug_iRadioOn = itemData->ug_iGroupValue;
+ elm_radio_value_set(itemData->ug_pData->ug_MainWindow.ug_pRadioGroup, itemData->ug_iGroupValue);
+ mf_ug_navi_bar_set_ctrl_item_disable(itemData->ug_pData);
+ /*
+ mf_ug_launch_type launch_type = LAUNCH_TYPE_UNSUPPORT;
+ if (mf_ug_is_default_ringtone(ugd, itemData->ug_pItemName->str)) {
+ launch_type = LAUNCH_TYPE_MUSIC;
+ } else {
+ launch_type = mf_ug_util_get_file_launch_type(itemData->ug_pItemName->str);
+ }
+ if (launch_type == LAUNCH_TYPE_MUSIC) {
+ if (ugd->ug_Status.play_timer == NULL) {
+ ug_error(">>>>>>>>>>>>>> entry list play");
+ ugd->ug_Status.play_timer = ecore_timer_add(MF_UG_LIST_PLAY_TIME_OUT, (Ecore_Task_Cb)__mf_ug_list_play_timer_cb, itemData);
+ } else {
+ ug_error(">>>>>>>>>>>>>> Faild entry list play");
+
+ }
+ }
+ */
+ UG_TRACE_END;
}
@@ -384,26 +474,79 @@ static void __mf_ug_genlist_radio_box_cb(void *data, Evas_Object *obj, void *eve
******************************/
static char *__mf_ug_genlist_get_gl_label(void *data, Evas_Object *obj, const char *part)
{
- UG_TRACE_BEGIN;
- ugListItemData *itemData = (ugListItemData *)data;
- ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL");
-
- if (strcmp(part, "elm.text") == 0) {
- UG_TRACE_END;
- if (g_strcmp0(itemData->ug_pItemName->str, PHONE_FOLDER) == 0) {
- return g_strdup(MF_UG_LABEL_PHONE);
- } else if (g_strcmp0(itemData->ug_pItemName->str, MEMORY_FOLDER) == 0) {
- return g_strdup(MF_UG_LABEL_MMC);
- } else {
- return strdup(ecore_file_file_get(itemData->ug_pItemName->str));
- }
- } else if (strcmp(part, "elm.uptitle.text") == 0) {
- UG_TRACE_END;
- return strdup(("Upper Level"));
- } else {
- UG_TRACE_END;
- return strdup("");
- }
+ UG_TRACE_BEGIN;
+ ugListItemData *itemData = (ugListItemData *)data;
+ ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL");
+ if (strcmp(part, "elm.text.main.left") == 0) {
+ UG_TRACE_END;
+ if (g_strcmp0(itemData->ug_pItemName->str, PHONE_FOLDER) == 0) {
+ return g_strdup(mf_ug_widget_get_text(MF_UG_LABEL_PHONE));
+ } else if (g_strcmp0(itemData->ug_pItemName->str, MEMORY_FOLDER) == 0) {
+ return g_strdup(mf_ug_widget_get_text(MF_UG_LABEL_MMC));
+ } else {
+ if (itemData->ug_pData->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) {
+ if (g_strcmp0(MF_UG_LABEL_DEFAULT_RINGTONE, itemData->ug_pItemName->str) == 0) {
+ if (itemData->ug_pData->ug_UiGadget.domain && 0 == g_strcmp0(itemData->ug_pData->ug_UiGadget.domain, MESSAGE)
+ && itemData->ug_pData->ug_Status.ug_launch_path && 0 == g_strcmp0(itemData->ug_pData->ug_Status.ug_launch_path, UG_SETTING_MSG_ALERTS_PATH)) {/*just for message-> more -> Notificaion sound*/
+ return g_strdup(mf_ug_widget_get_text(MF_UG_LABEL_DEFAULT_NOTIFICATION_SOUND));
+ } else {
+ return g_strdup(mf_ug_widget_get_text(itemData->ug_pItemName->str));
+ }
+ } else if (g_strcmp0(MF_UG_LABEL_SILENT, itemData->ug_pItemName->str) == 0) {
+ return g_strdup(mf_ug_widget_get_text(itemData->ug_pItemName->str));
+ }
+ if (!itemData->sound_title) {
+ /*char *fullpath = NULL;
+ if (g_strcmp0(MF_UG_LABEL_DEFAULT_RINGTONE, itemData->ug_pItemName->str)==0) {
+ fullpath = itemData->ug_pData->ug_UiGadget.default_ringtone;
+ } else {
+ fullpath = itemData->ug_pItemName->str;
+ }
+ itemData->sound_title = mf_ug_file_attr_sound_title_get(fullpath);*/
+ }
+ if (itemData->sound_title) {
+ return g_strdup(itemData->sound_title);
+ } else {
+#if 0
+ char *title = mf_ug_file_attr_sound_title_get(itemData->ug_pItemName->str);
+ if (title) {
+ return title;
+ } else
+#endif
+ {
+ char *filename = (char *)mf_file_get((const char *)itemData->ug_pItemName->str);
+ char *newFileName = g_strdup(filename);
+ char *newFileName1 = newFileName;
+ for (; *newFileName1 != '\0'; newFileName1++) {
+ if (*newFileName1 == '_')
+ *newFileName1 = ' ';
+ }
+ char *file_strip_ext = mf_strip_ext(newFileName);
+ if (itemData->ug_bDefaultItem == true && file_strip_ext != NULL && g_str_has_prefix(file_strip_ext, "Alarm ")) {/*Fixed the plm bug(P140620-05330 ).*/
+ int len = strlen(file_strip_ext);
+ char *file_strip_ext1 = (char *)calloc(1, len);
+
+ if (file_strip_ext1 != NULL) {
+ strncpy(file_strip_ext1, &file_strip_ext[6], len);
+ g_free(file_strip_ext);
+ file_strip_ext = file_strip_ext1;
+ }
+ }
+ g_free(newFileName);
+ return file_strip_ext;
+ }
+ }
+ /*UG_TRACE_END;*/
+ }
+ return strdup(mf_file_get(itemData->ug_pItemName->str));
+ }
+ } else if (strcmp(part, "elm.uptitle.text") == 0) {
+ UG_TRACE_END;
+ return strdup(("Upper Level"));
+ } else {
+ UG_TRACE_END;
+ return strdup("");
+ }
}
@@ -424,64 +567,82 @@ static char *__mf_ug_genlist_get_gl_label(void *data, Evas_Object *obj, const ch
******************************/
static void __mf_ug_genlist_get_thumbnail(void *data)
{
- UG_TRACE_BEGIN;
- ugListItemData *itemData = (ugListItemData *)data;
- ug_mf_retm_if(itemData == NULL, "itemData is NULL");
-
- const char *dir_icon_path = UG_ICON_FOLDER;
- //const char *dir_create_icon_path = UG_ICON_FOLDER_CREATED;
- char *icon_path = NULL;
- int error_code = MYFILE_ERR_NONE;
- int thumbnail_type = 0;
-
- if (itemData->ug_pThumbPath == NULL) {
- if (ecore_file_is_dir(itemData->ug_pItemName->str)) {
- itemData->ug_pThumbPath = strdup(dir_icon_path);
- itemData->ug_bRealThumbFlag = true;
- } else {
- thumbnail_type = mf_ug_file_attr_get_file_icon(itemData->ug_pItemName->str, &error_code, &icon_path);
- if (icon_path) {
- itemData->ug_pThumbPath = strdup(icon_path);
- itemData->ug_bRealThumbFlag = true;
- free(icon_path);
- icon_path = NULL;
- } else { /*/must be image/video file */
-
- mf_ug_fs_file_type type = UG_FILE_TYPE_NONE;
- type = mf_ug_file_attr_get_file_type_by_mime(itemData->ug_pItemName->str);
-
- if (type == UG_FILE_TYPE_VIDEO) {
- itemData->ug_pThumbPath = strdup(UG_ICON_VIDEO);
- } else if (type == UG_FILE_TYPE_IMAGE) {
- itemData->ug_pThumbPath = strdup(UG_ICON_IMAGE);
- } else {
- itemData->ug_pThumbPath = strdup(UG_DEFAULT_ICON);
- }
- itemData->ug_bRealThumbFlag = false;
- error_code = MYFILE_ERR_GET_THUMBNAIL_FAILED;
- }
- }
- } else if (itemData->ug_pThumbPath && ecore_file_exists(itemData->ug_pThumbPath)) {
- if (itemData->ug_bRealThumbFlag == false) {
- error_code = MYFILE_ERR_GET_THUMBNAIL_FAILED;
- }
- } else if (!ecore_file_exists(itemData->ug_pThumbPath)) {
-
- ug_debug("ug_pThumbPath[%s] is not exist", itemData->ug_pThumbPath);
- free(itemData->ug_pThumbPath);
- itemData->ug_pThumbPath = NULL;
- /*/set default icon */
- itemData->ug_pThumbPath = strdup(UG_DEFAULT_ICON);
- itemData->ug_bRealThumbFlag = false;
- error_code = MYFILE_ERR_GET_THUMBNAIL_FAILED;
- }
-#ifdef UG_THUMB_REAL_TIME_UPDATE
- /*/check if we need to add refresh timer */
- if (error_code != 0 && itemData->ug_pData->ug_Status.ug_pThumbUpdateTimer == NULL) {
- itemData->ug_pData->ug_Status.ug_pThumbUpdateTimer = ecore_timer_add(INTERVAL_THUMB_UPDATE, mf_ug_cb_thumb_timer_cb, itemData);
- }
-#endif
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugListItemData *itemData = (ugListItemData *)data;
+ ug_mf_retm_if(itemData == NULL, "itemData is NULL");
+
+ const char *dir_icon_path = UG_ICON_FOLDER;
+ /*const char *dir_create_icon_path = UG_ICON_FOLDER_CREATED;*/
+ char *icon_path = NULL;
+ int error_code = MYFILE_ERR_NONE;
+
+ if (itemData->ug_pThumbPath == NULL) {
+ if (mf_is_dir(itemData->ug_pItemName->str)) {
+ if (g_strcmp0(itemData->ug_pItemName->str, PHONE_FOLDER) == 0) {
+ itemData->ug_pThumbPath = strdup(UG_ICON_ITEM_ROOT_PHONE);
+ itemData->ug_bRealThumbFlag = true;
+ } else if (g_strcmp0(itemData->ug_pItemName->str, MEMORY_FOLDER) == 0) {
+ itemData->ug_pThumbPath = strdup(UG_ICON_ITEM_ROOT_MMC);
+ itemData->ug_bRealThumbFlag = true;
+ } else {
+ itemData->ug_pThumbPath = strdup(dir_icon_path);
+ itemData->ug_bRealThumbFlag = true;
+ }
+ } else {
+ if (itemData->media) {
+ if (itemData->thumbnail_create == EINA_TRUE) {
+ media_info_cancel_thumbnail(itemData->media);
+ itemData->thumbnail_create = EINA_FALSE;
+ }
+ media_info_destroy(itemData->media);
+ itemData->media = NULL;
+ }
+ mf_ug_file_attr_get_file_icon(itemData->ug_pItemName->str, &error_code, &icon_path, &itemData->media);
+ if (icon_path) {
+ itemData->ug_pThumbPath = strdup(icon_path);
+ itemData->ug_bRealThumbFlag = true;
+ free(icon_path);
+ icon_path = NULL;
+ } else { /*/must be image/video file */
+ mf_ug_fs_file_type type = UG_FILE_TYPE_NONE;
+ type = mf_ug_file_attr_get_file_type_by_mime(itemData->ug_pItemName->str);
+
+ if (type == UG_FILE_TYPE_VIDEO) {
+ itemData->ug_pThumbPath = strdup(UG_ICON_VIDEO);
+ } else if (type == UG_FILE_TYPE_IMAGE) {
+ itemData->ug_pThumbPath = strdup(UG_ICON_IMAGE);
+ } else {
+ itemData->ug_pThumbPath = strdup(UG_DEFAULT_ICON);
+ }
+ itemData->ug_bRealThumbFlag = false;
+ error_code = MYFILE_ERR_GET_THUMBNAIL_FAILED;
+ }
+ }
+ } else {
+ if (strncmp(itemData->ug_pThumbPath, MF_IMAGE_HEAD, strlen(MF_IMAGE_HEAD)) == 0) {
+ /*do nothing;*/
+ } else {
+ if (mf_file_exists(itemData->ug_pThumbPath)) {
+ if (itemData->ug_bRealThumbFlag == false) {
+ error_code = MYFILE_ERR_GET_THUMBNAIL_FAILED;
+ }
+ } else {
+ free(itemData->ug_pThumbPath);
+ itemData->ug_pThumbPath = NULL;
+ /*/set default icon */
+ itemData->ug_pThumbPath = strdup(UG_DEFAULT_ICON);
+ itemData->ug_bRealThumbFlag = false;
+ error_code = MYFILE_ERR_GET_THUMBNAIL_FAILED;
+ }
+ }
+ }
+ if (error_code != 0) {
+ if (itemData->thumbnail_create == EINA_FALSE) {
+ mf_ug_cb_create_thumbnail(itemData, mf_ug_cb_thumb_created_cb);
+ itemData->thumbnail_create = EINA_TRUE;
+ }
+ }
+ UG_TRACE_END;
}
@@ -501,74 +662,44 @@ static void __mf_ug_genlist_get_thumbnail(void *data)
** Modification : Created function
**
******************************/
-static Evas_Object *__mf_ug_genlist_create_thumbnail(void *data, Evas_Object *parent)
-{
-
- UG_TRACE_BEGIN;
- ugListItemData *itemData = (ugListItemData *)data;
- ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL");
-
- Evas_Object *thumb = NULL;
-
-#ifdef USE_IMAGE_OBJECT
- thumb = evas_object_image_add(evas_object_evas_get(parent));
-#else
- thumb = elm_image_add(parent);
-#endif
- if (thumb == NULL) {
- ug_debug("thumb is NULL");
- }
- if (thumb) {
-#ifdef USE_IMAGE_OBJECT
- int load_err = EVAS_LOAD_ERROR_NONE;
- evas_object_image_file_set(thumb, itemData->ug_pThumbPath, NULL);
- load_err = evas_object_image_load_error_get(thumb);
-
- if (load_err != EVAS_LOAD_ERROR_NONE) {
- evas_object_del(thumb);
- thumb = NULL;
- } else {
- evas_object_image_filled_set(thumb, EINA_TRUE);
- }
-#else
- elm_image_file_set(thumb, itemData->ug_pThumbPath, NULL);
-#endif
- }
- UG_TRACE_END;
- return thumb;
-}
-
-
-/******************************
-** Prototype : __mf_ug_genlist_create_mmc_icon
-** Description : Samsung
-** Input : Evas_Object *parent
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-static Evas_Object *__mf_ug_genlist_create_mmc_icon(Evas_Object *parent)
+static Evas_Object *__mf_ug_genlist_create_thumbnail(void *data, Evas_Object *obj)
{
- UG_TRACE_BEGIN;
- Evas_Object *ic_memory = NULL;
- const char *memory_icon_path = UG_ICON_MEMORY_SUB;
-
- ic_memory = elm_image_add(parent);
- elm_image_file_set(ic_memory, memory_icon_path, NULL);
- evas_object_show(ic_memory);
- UG_TRACE_END;
- return ic_memory;
+ UG_TRACE_BEGIN;
+ ugListItemData *listItemData = (ugListItemData *)data;
+ ug_mf_retvm_if(listItemData == NULL, NULL, "listItemData is NULL");
+ ug_mf_retvm_if(obj == NULL, NULL, "obj is NULL");
+
+ Evas_Object *layout = NULL;
+ Evas_Object *thumb = NULL;
+
+ layout = elm_layout_add(obj);
+ elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, UG_GRP_LIST);
+ evas_object_repeat_events_set(layout, EINA_TRUE);
+
+ thumb = elm_image_add(layout);
+ elm_image_prescale_set(thumb, MF_LIST_THUMBNAIL_SIZE);
+ elm_image_fill_outside_set(thumb, EINA_TRUE);
+ elm_image_smooth_set(thumb, EINA_FALSE);
+
+ if (listItemData->ug_pThumbPath && strncmp(listItemData->ug_pThumbPath, MF_IMAGE_HEAD, strlen(MF_IMAGE_HEAD)) == 0) {
+ elm_image_file_set(thumb, UG_EDJ_IMAGE, listItemData->ug_pThumbPath); /*Todo*/
+ } else {
+ elm_image_file_set(thumb, listItemData->ug_pThumbPath, NULL); /*Todo*/
+ }
+
+ elm_object_part_content_set(layout, "thumbnail", thumb);
+ if (!mf_ug_file_attr_is_dir(listItemData->ug_pItemName->str)) {
+ mf_ug_fs_file_type type = UG_FILE_TYPE_NONE;
+ type = mf_ug_file_attr_get_file_type_by_mime(listItemData->ug_pItemName->str);
+ if (type == UG_FILE_TYPE_VIDEO) {
+ elm_object_signal_emit(layout, "elm.video.show", "elm");
+ }
+ }
+ UG_TRACE_END;
+ return layout;
}
-
/******************************
** Prototype : __mf_ug_genlist_add_checkbox
** Description : Samsung
@@ -587,23 +718,26 @@ static Evas_Object *__mf_ug_genlist_create_mmc_icon(Evas_Object *parent)
******************************/
static Evas_Object *__mf_ug_genlist_add_checkbox(void *data, Evas_Object *parent)
{
- UG_TRACE_BEGIN;
- ugListItemData *itemData = (ugListItemData *)data;
- ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL");
+ UG_TRACE_BEGIN;
+ ugListItemData *itemData = (ugListItemData *)data;
+ ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL");
- Evas_Object *check_box = __mf_ug_genlist_create_checkbox(parent);
- evas_object_propagate_events_set(check_box, 0);
+ Evas_Object *check_box = mf_ug_genlist_create_checkbox(parent);
+ evas_object_propagate_events_set(check_box, 0);
- elm_check_state_set(check_box, itemData->ug_bChecked);
+ elm_check_state_set(check_box, itemData->ug_bChecked);
- itemData->ug_pCheckBox = check_box;
- evas_object_smart_callback_add(check_box, "changed", __mf_ug_genlist_checkbox_cb, itemData);
+ itemData->ug_pCheckBox = check_box;
+ evas_object_smart_callback_add(check_box, "changed", __mf_ug_genlist_checkbox_cb, itemData);
- UG_TRACE_END;
- return check_box;
+ UG_TRACE_END;
+ return check_box;
}
-
+static void _myfile_popup_change_category_radio_toggle_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ __mf_ug_genlist_radio_box_cb(data, obj, NULL);
+}
/******************************
** Prototype : __mf_ug_genlist_add_radio_box
@@ -623,62 +757,21 @@ static Evas_Object *__mf_ug_genlist_add_checkbox(void *data, Evas_Object *parent
******************************/
static Evas_Object *__mf_ug_genlist_add_radio_box(void *data, Evas_Object *parent)
{
- UG_TRACE_BEGIN;
- ugListItemData *itemData = (ugListItemData *)data;
- ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL");
+ UG_TRACE_BEGIN;
+ ugListItemData *itemData = (ugListItemData *)data;
+ ug_mf_retvm_if(itemData == NULL, NULL, "itemData is NULL");
- Evas_Object *radio_box = __mf_ug_genlist_create_radio_box(parent, itemData);
+ Evas_Object *radio_box = __mf_ug_genlist_create_radio_box(parent, itemData);
- evas_object_propagate_events_set(radio_box, 0);
- itemData->ug_pRadioBox = radio_box;
- evas_object_smart_callback_add(radio_box, "changed", __mf_ug_genlist_radio_box_cb, itemData);
+ evas_object_propagate_events_set(radio_box, 0);
+ itemData->ug_pRadioBox = radio_box;
+/* evas_object_smart_callback_add(radio_box, "changed", __mf_ug_genlist_radio_box_cb, itemData);*/
+ elm_object_signal_callback_add(radio_box, "elm,action,radio,toggle", "",
+ _myfile_popup_change_category_radio_toggle_cb,
+ itemData);
- UG_TRACE_END;
- return radio_box;
-}
-
-
-static Evas_Object *__mf_ug_genlist_gl_upper_icon_get(void *data, Evas_Object * obj, const char *part)
-{
- UG_TRACE_BEGIN;
- ugListItemData *listItemData = (ugListItemData *)data;
-
- ug_mf_retvm_if(listItemData == NULL, NULL, "listItemData is NULL");
- ug_mf_retvm_if(listItemData->ug_pItemName == NULL, NULL, "m_ItemName is NULL");
- ug_mf_retvm_if(part == NULL, NULL, "part is NULL");
- ug_mf_retvm_if(obj == NULL, NULL, "obj is NULL");
-
- Evas_Object *thumb = NULL;
- if (!strcmp(part, "elm.icon")) {
- thumb = elm_image_add(obj);
- elm_object_focus_set(thumb, EINA_FALSE);
- if (thumb) {
- elm_image_file_set(thumb, listItemData->ug_pThumbPath, NULL);
- }
- }
- return thumb;
-}
-
-
-static Evas_Object *__mf_ug_genlist_upper_icon_get(void *data, Evas_Object * obj, const char *part)
-{
- ug_mf_retvm_if(data == NULL, NULL, "data is NULL");
- ug_mf_retvm_if(obj == NULL, NULL, "obj is NULL");
-
- ugData *ugd = (ugData *)data;
-
- if (!strcmp(part, "elm.icon.1")) {
- Evas_Object *btn = elm_button_add(obj);
- elm_object_text_set(btn, MF_UG_LABEL_HOME);
- evas_object_smart_callback_add(btn, "clicked", mf_ug_cb_home_button_cb, ugd);
- return btn;
- } else if (!strcmp(part, "elm.icon.2")) {
- Evas_Object *btn = elm_button_add(obj);
- elm_object_text_set(btn, MF_UG_LABEL_UPPER);
- evas_object_smart_callback_add(btn, "clicked", mf_ug_cb_upper_click_cb, ugd);
- return btn;
- }
- return NULL;
+ UG_TRACE_END;
+ return radio_box;
}
/******************************
@@ -698,143 +791,328 @@ static Evas_Object *__mf_ug_genlist_upper_icon_get(void *data, Evas_Object * obj
** Modification : Created function
**
******************************/
-static Evas_Object *__mf_ug_genlist_get_gl_icon(void *data, Evas_Object *obj, const char *part)
+/*static Evas_Object *__mf_ug_genlist_ringtone_play_icon_create(void *data, Evas_Object *obj)
{
- UG_TRACE_BEGIN;
- Evas_Object *thumb = NULL, *ic_memory = NULL;
- Evas_Object *layout = NULL;
- Evas_Object *selected_box = NULL;
-
- mf_ug_storage_type is_in_mmc = 0;
- ugListItemData *listItemData = (ugListItemData *)data;
- ug_mf_retv_if(listItemData == NULL, NULL);
- ugData *ugd = listItemData->ug_pData;
- ug_mf_retv_if(ugd == NULL, NULL);
-
- if (!strcmp(part, "elm.icon")) {
- __mf_ug_genlist_get_thumbnail(listItemData);
- thumb = __mf_ug_genlist_create_thumbnail(listItemData, obj);
- layout = elm_layout_add(obj);
- elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, UG_GRP_LIST);
- elm_object_part_content_set(layout, "swallow_thumb", thumb);
-
- mf_ug_file_attr_get_store_type_by_full(listItemData->ug_pItemName->str, &is_in_mmc);
- if (is_in_mmc == MF_UG_MMC) {
- ic_memory = __mf_ug_genlist_create_mmc_icon(obj);
- elm_object_part_content_set(layout, "myfile.memory_icon.sub", ic_memory);
- }
- UG_TRACE_END;
- return layout;
- } else if (!strcmp(part, "elm.icon.1")) {
- if (ugd->ug_UiGadget.ug_pMultiSelectFileList) {
- if (__mf_ug_genlist_is_file_marked(ugd->ug_UiGadget.ug_pMultiSelectFileList, listItemData->ug_pItemName)) {
- listItemData->ug_bChecked = true;
- }
- }
- if (ecore_file_is_dir(listItemData->ug_pItemName->str)) {
- if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE) {
- selected_box = __mf_ug_genlist_add_checkbox(listItemData, obj);
- } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE) {
- selected_box = __mf_ug_genlist_add_radio_box(listItemData, obj);
- }
- } else {
- if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE
- || ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE
- || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE
- || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE) {
- selected_box = __mf_ug_genlist_add_checkbox(listItemData, obj);
- } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE
- || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE
- || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
-
- selected_box = __mf_ug_genlist_add_radio_box(listItemData, obj);
- }
- }
- evas_object_propagate_events_set(selected_box, EINA_FALSE);
- return selected_box;
- } else if (!strcmp(part, "elm.icon.2")) {
- __mf_ug_genlist_get_thumbnail(listItemData);
- thumb = __mf_ug_genlist_create_thumbnail(listItemData, obj);
- return thumb;
- } else if (!strcmp(part, "elm.icon.3")) {
-#ifdef LIST_PLAY_SUPPORT
- if (!ecore_file_is_dir(listItemData->ug_pItemName->str)) {
- Evas_Object *music_icon = NULL;
- Evas_Object *music_button = NULL;
- mf_ug_launch_type launch_type = mf_ug_util_get_file_launch_type(listItemData->ug_pItemName->str);
- ug_error("item name is [%s]", listItemData->ug_pItemName->str);
- if (launch_type == LAUNCH_TYPE_MUSIC) {
- if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, listItemData->ug_pItemName->str) == 0) {
- char *play_icon = NULL;
- char *pause_icon = NULL;
-
- music_button = elm_button_add(obj);
- elm_object_style_set(music_button, "circle/empty");
-
- music_icon = elm_image_add(music_button);
- if (ugd->ug_ListPlay.ug_pPlayFilePath) {
- if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, listItemData->ug_pItemName->str) == 0) {
- if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING) {
- pause_icon = strdup(UG_ICON_MUSIC_PAUSE_WHITE);
- elm_image_file_set(music_icon, pause_icon, NULL);
- } else if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) {
- play_icon = strdup(UG_ICON_MUSIC_PLAY_WHITE);
- elm_image_file_set(music_icon, play_icon, NULL);
- } else {
- play_icon = strdup(UG_ICON_MUSIC_PLAY_WHITE);
- elm_image_file_set(music_icon, play_icon, NULL);
- }
- } else {
- play_icon = strdup(UG_ICON_MUSIC_PLAY_WHITE);
- elm_image_file_set(music_icon, play_icon, NULL);
- }
- } else {
- play_icon = strdup(UG_ICON_MUSIC_PLAY_WHITE);
- elm_image_file_set(music_icon, play_icon, NULL);
- }
- evas_object_size_hint_aspect_set(music_icon, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
- elm_object_part_content_set(music_button, "icon", music_icon);
- evas_object_propagate_events_set(music_button, EINA_FALSE);
- evas_object_smart_callback_add(music_button, "clicked", (Evas_Smart_Cb)mf_ug_cb_list_play_cb, (void*)listItemData);
- evas_object_smart_callback_add(music_button, "pressed", mf_ug_cb_play_button_pressed_cb, ugd);
- evas_object_smart_callback_add(music_button, "unpressed", mf_ug_cb_play_button_unpressed_cb, ugd);
- listItemData->ug_pPlaybtn = music_button;
- UG_TRACE_END;
- return music_button;
- }
- }
- }
+ ugListItemData *listItemData = (ugListItemData *)data;
+ ug_mf_retv_if(listItemData == NULL, NULL);
+ ugData *ugd = listItemData->ug_pData;
+ ug_mf_retv_if(ugd == NULL, NULL);
+ Evas_Object *music_icon = NULL;
+ Evas_Object *music_button = NULL;
+ if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, listItemData->ug_pItemName->str) == 0) {
+ const char *play_icon = NULL;
+ char *pause_icon = NULL;
+
+ music_button = elm_button_add(obj);
+ //elm_object_style_set(music_button, "circle/empty");
+ elm_object_style_set(music_button, "myfile_play");
+ music_icon = elm_image_add(music_button);
+ if (ugd->ug_ListPlay.ug_pPlayFilePath) {
+ if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, listItemData->ug_pItemName->str) == 0) {
+ if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING) {
+ pause_icon = UG_ICON_MUSIC_PAUSE_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, pause_icon);
+ } else if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ } else {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ }
+ } else {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ }
+ } else {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ }
+ evas_object_size_hint_min_set(music_icon, 45, 45);
+ evas_object_size_hint_aspect_set(music_icon, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
+ elm_object_part_content_set(music_button, "icon", music_icon);
+ evas_object_propagate_events_set(music_button, EINA_FALSE);
+ evas_object_smart_callback_add(music_button, "clicked", (Evas_Smart_Cb)mf_ug_cb_list_play_cb, (void*)listItemData);
+ evas_object_smart_callback_add(music_button, "pressed", mf_ug_cb_play_button_pressed_cb, ugd);
+ evas_object_smart_callback_add(music_button, "unpressed", mf_ug_cb_play_button_unpressed_cb, ugd);
+ listItemData->ug_pPlaybtn = music_button;
+ UG_TRACE_END;
+ }
+ return music_button;
+}*/
+
+/*static Evas_Object *__mf_ug_genlist_normal_play_icon_create(void *data, Evas_Object *obj)
+{
+ ugListItemData *listItemData = (ugListItemData *)data;
+ ug_mf_retv_if(listItemData == NULL, NULL);
+ ugData *ugd = listItemData->ug_pData;
+ ug_mf_retv_if(ugd == NULL, NULL);
+ Evas_Object *music_icon = NULL;
+ Evas_Object *music_button = NULL;
+
+ const char *play_icon = NULL;
+ char *pause_icon = NULL;
+
+ music_button = elm_button_add(obj);
+ //elm_object_style_set(music_button, "circle/empty");
+ elm_object_style_set(music_button, "myfile_play");
+ music_icon = elm_image_add(music_button);
+ if (ugd->ug_ListPlay.ug_pPlayFilePath) {
+ if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, listItemData->ug_pItemName->str) == 0) {
+ ug_error("===================");
+ if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING) {
+ pause_icon = UG_ICON_MUSIC_PAUSE_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, pause_icon);
+ } else if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ } else {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ }
+ } else {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ }
+ } else {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ }
+ evas_object_size_hint_min_set(music_icon, 45, 45);
+ evas_object_size_hint_aspect_set(music_icon, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
+ elm_object_part_content_set(music_button, "icon", music_icon);
+ evas_object_propagate_events_set(music_button, EINA_FALSE);
+ evas_object_smart_callback_add(music_button, "clicked", (Evas_Smart_Cb)mf_ug_cb_list_play_cb, (void*)listItemData);
+ //evas_object_smart_callback_add(music_button, "pressed", mf_ug_cb_play_button_pressed_cb, ugd);
+ //evas_object_smart_callback_add(music_button, "unpressed", mf_ug_cb_play_button_unpressed_cb, ugd);
+ listItemData->ug_pPlaybtn = music_button;
+ UG_TRACE_END;
+ return music_button;
+}*/
+
+#if 0 /* Currently not used */
+static Evas_Object *__mf_ug_genlist_play_icon_create(void *data, Evas_Object *obj)
+{
+ ugListItemData *listItemData = (ugListItemData *)data;
+ ug_mf_retv_if(listItemData == NULL, NULL);
+ ugData *ugd = listItemData->ug_pData;
+ ug_mf_retv_if(ugd == NULL, NULL);
+
+ Evas_Object *music_button = NULL;
+ if (!mf_is_dir(listItemData->ug_pItemName->str)) {
+ mf_ug_launch_type launch_type = LAUNCH_TYPE_UNSUPPORT;
+ if (mf_ug_is_default_ringtone(ugd, listItemData->ug_pItemName->str)) {
+ launch_type = LAUNCH_TYPE_MUSIC;
+ } else {
+ launch_type = mf_ug_util_get_file_launch_type(listItemData->ug_pItemName->str);
+ }
+ SECURE_DEBUG("item name is [%s]", listItemData->ug_pItemName->str);
+
+ if (ugd->ug_ListPlay.hiden_flag == true) {
+ return NULL;
+ }
+ if (launch_type == LAUNCH_TYPE_MUSIC) {
+ if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) {
+ music_button = __mf_ug_genlist_ringtone_play_icon_create(data, obj);
+ } else {
+ music_button = __mf_ug_genlist_normal_play_icon_create(data, obj);
+ }
+ }
+ }
+ return music_button;
+
+}
#endif
- UG_TRACE_END;
- return NULL;
+static Evas_Object *__mf_ug_genlist_delete_get_gl_icon(void *data, Evas_Object *obj, const char *part)
+{
+ UG_TRACE_BEGIN;
+ Evas_Object *selected_box = NULL;
+
+ ugListItemData *listItemData = (ugListItemData *)data;
+ ug_mf_retv_if(listItemData == NULL, NULL);
+ ugData *ugd = listItemData->ug_pData;
+ ug_mf_retv_if(ugd == NULL, NULL);
+
+ if (!strcmp(part, "elm.icon.2")) {
+ Evas_Object *content = elm_layout_add(obj);
+ elm_layout_theme_set(content, "layout",
+ "list/C/type.2", "default");
+
+ selected_box = __mf_ug_genlist_add_checkbox(listItemData, obj);
+ evas_object_propagate_events_set(selected_box, EINA_FALSE);
+
+ elm_layout_content_set(content, "elm.swallow.content", selected_box);
+ return content;
+ } else {
+ UG_TRACE_END;
+ return NULL;
+ }
+}
- } else {
- UG_TRACE_END;
- return NULL;
- }
+static Evas_Object *__mf_ug_genlist_get_gl_icon(void *data, Evas_Object *obj, const char *part)
+{
+ UG_TRACE_BEGIN;
+ Evas_Object *thumb = NULL;
+ Evas_Object *layout = NULL;
+ Evas_Object *selected_box = NULL;
+
+ ugListItemData *listItemData = (ugListItemData *)data;
+ ug_mf_retv_if(listItemData == NULL, NULL);
+ ugData *ugd = listItemData->ug_pData;
+ ug_mf_retv_if(ugd == NULL, NULL);
+
+ if (!strcmp(part, "elm.icon.1")) {
+ __mf_ug_genlist_get_thumbnail(listItemData);
+ layout = elm_layout_add(obj);
+ elm_layout_theme_set(layout, "layout",
+ "list/B/type.2", "default");
+ thumb = __mf_ug_genlist_create_thumbnail(listItemData, obj);
+ UG_TRACE_END;
+ elm_layout_content_set(layout, "elm.swallow.content", thumb);
+ return layout;
+ } else if (!strcmp(part, "elm.icon.2")) {
+ if (ugd->ug_UiGadget.ug_pMultiSelectFileList) {
+ /*if (__mf_ug_genlist_is_file_marked(ugd->ug_UiGadget.ug_pMultiSelectFileList, listItemData->ug_pItemName)) {
+ listItemData->ug_bChecked = true;
+ }*/
+ }
+ if (mf_is_dir(listItemData->ug_pItemName->str)) {
+ if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE) {
+ selected_box = __mf_ug_genlist_add_checkbox(listItemData, obj);
+ } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE) {
+ selected_box = __mf_ug_genlist_add_radio_box(listItemData, obj);
+ }
+ } else {
+ if (mf_ug_util_is_multi_select_mode(ugd->ug_UiGadget.ug_iSelectMode)) {
+ printf("============================== checkbox\n");
+ selected_box = __mf_ug_genlist_add_checkbox(listItemData, obj);
+ printf("==============================checkbox[%p] listItemData is [%s]\n", selected_box, listItemData->ug_pItemName->str);
+ } else if (mf_ug_util_is_single_select_mode(ugd->ug_UiGadget.ug_iSelectMode)) {
+ printf("==============================radiobox\n");
+ selected_box = __mf_ug_genlist_add_radio_box(listItemData, obj);
+ printf("==============================radiobox[%p] listItemData is [%s]\n", selected_box, listItemData->ug_pItemName->str);
+ }
+ }
+ evas_object_propagate_events_set(selected_box, EINA_FALSE);
+ layout = elm_layout_add(obj);
+ elm_layout_theme_set(layout, "layout",
+ "list/C/type.2", "default");
+ elm_layout_content_set(layout, "elm.swallow.content", selected_box);
+ return layout;
+ /* } else if (!strcmp(part, "elm.icon.2")) { */
+ /* __mf_ug_genlist_get_thumbnail(listItemData); */
+ /* thumb = __mf_ug_genlist_create_thumbnail(listItemData, obj); */
+ /* return thumb; */
+ } else if (!strcmp(part, "elm.icon.right")) {
+ /*Evas_Object *play_btn = __mf_ug_genlist_play_icon_create(listItemData, obj);
+ return play_btn;*/
+ UG_TRACE_END;
+
+ return NULL;
+
+ } else {
+ UG_TRACE_END;
+ return NULL;
+ }
}
-static Evas_Object *__mf_ug_genlist_get_gl_editfiled_icon(void *data, Evas_Object *obj, const char *part)
+static Evas_Object *__mf_ug_genlist_ringtone_get_gl_icon(void *data, Evas_Object *obj, const char *part)
{
- ugListItemData *listItemData = (ugListItemData *)data;
- ug_mf_retv_if(listItemData == NULL, NULL);
- ugData *ugd = listItemData->ug_pData;
- ug_mf_retv_if(ugd == NULL, NULL);
-
- ug_debug("listItemData is [%p]", listItemData);
-
- if (!strcmp(part, "elm.icon")) {
- Evas_Object *button = NULL;
- button = elm_button_add(obj);
- evas_object_propagate_events_set(button, EINA_FALSE);
- elm_object_text_set(button, MF_UG_LABEL_GO_TO_MYFILES);
- evas_object_smart_callback_add(button, "clicked", mf_ug_cb_goto_myfile_button_cb, ugd);
- if(listItemData->ug_pItem)
- elm_genlist_item_select_mode_set(listItemData->ug_pItem, ELM_OBJECT_SELECT_MODE_NONE);
- return button;
- }
- return NULL;
+ UG_TRACE_BEGIN;
+ Evas_Object *selected_box = NULL;
+
+ ugListItemData *listItemData = (ugListItemData *)data;
+ ug_mf_retv_if(listItemData == NULL, NULL);
+ ugData *ugd = listItemData->ug_pData;
+ ug_mf_retv_if(ugd == NULL, NULL);
+
+ if (!strcmp(part, "elm.icon.2")) {
+ if (mf_is_dir(listItemData->ug_pItemName->str)) {
+ if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_ALL_MODE) {
+ selected_box = __mf_ug_genlist_add_checkbox(listItemData, obj);
+ } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE) {
+ selected_box = __mf_ug_genlist_add_radio_box(listItemData, obj);
+ }
+ } else {
+ if (mf_ug_util_is_multi_select_mode(ugd->ug_UiGadget.ug_iSelectMode)) {
+ selected_box = __mf_ug_genlist_add_checkbox(listItemData, obj);
+ } else if (mf_ug_util_is_single_select_mode(ugd->ug_UiGadget.ug_iSelectMode)) {
+ selected_box = __mf_ug_genlist_add_radio_box(listItemData, obj);
+ }
+ }
+ evas_object_propagate_events_set(selected_box, EINA_FALSE);
+ Evas_Object *layout = elm_layout_add(obj);
+ elm_layout_theme_set(layout, "layout",
+ "list/C/type.2", "default");
+ elm_layout_content_set(layout, "elm.swallow.content", selected_box);
+ return layout;
+ } else if (!strcmp(part, "elm.icon.right")) {
+#ifdef LIST_PLAY_SUPPORT
+ if (!mf_is_dir(listItemData->ug_pItemName->str)) {
+ Evas_Object *music_icon = NULL;
+ Evas_Object *music_button = NULL;
+
+ mf_ug_launch_type launch_type = LAUNCH_TYPE_UNSUPPORT;
+ if (mf_ug_is_default_ringtone(ugd, listItemData->ug_pItemName->str)) {
+ launch_type = LAUNCH_TYPE_MUSIC;
+ } else {
+ launch_type = mf_ug_util_get_file_launch_type(listItemData->ug_pItemName->str);
+ }
+
+ if (ugd->ug_ListPlay.hiden_flag == true) {
+ return NULL;
+ }
+ if (launch_type == LAUNCH_TYPE_MUSIC) {
+ if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, listItemData->ug_pItemName->str) == 0) {
+ const char *play_icon = NULL;
+ char *pause_icon = NULL;
+
+ music_button = elm_button_add(obj);
+ /*elm_object_style_set(music_button, "circle/empty");*/
+ elm_object_style_set(music_button, "myfile_play");
+ music_icon = elm_image_add(music_button);
+ if (ugd->ug_ListPlay.ug_pPlayFilePath) {
+ if (g_strcmp0(ugd->ug_ListPlay.ug_pPlayFilePath, listItemData->ug_pItemName->str) == 0) {
+ if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING) {
+ pause_icon = UG_ICON_MUSIC_PAUSE_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, pause_icon);
+ } else if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ } else {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ }
+ } else {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ }
+ } else {
+ play_icon = UG_ICON_MUSIC_PLAY_WHITE;
+ elm_image_file_set(music_icon, UG_EDJ_IMAGE, play_icon);
+ }
+ evas_object_size_hint_min_set(music_icon, ELM_SCALE_SIZE(45), ELM_SCALE_SIZE(45));
+ evas_object_size_hint_aspect_set(music_icon, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
+ elm_object_part_content_set(music_button, "icon", music_icon);
+ evas_object_propagate_events_set(music_button, EINA_FALSE);
+ evas_object_smart_callback_add(music_button, "clicked", (Evas_Smart_Cb)mf_ug_cb_list_play_cb, (void *)listItemData);
+ evas_object_smart_callback_add(music_button, "pressed", mf_ug_cb_play_button_pressed_cb, ugd);
+ evas_object_smart_callback_add(music_button, "unpressed", mf_ug_cb_play_button_unpressed_cb, ugd);
+ listItemData->ug_pPlaybtn = music_button;
+ UG_TRACE_END;
+ return music_button;
+ }
+ }
+ }
+#endif
+ UG_TRACE_END;
+
+ return NULL;
+
+ } else {
+ UG_TRACE_END;
+ return NULL;
+ }
}
/******************************
@@ -856,7 +1134,7 @@ static Evas_Object *__mf_ug_genlist_get_gl_editfiled_icon(void *data, Evas_Objec
******************************/
static Eina_Bool __mf_ug_genlist_get_gl_state(void *data, Evas_Object *obj, const char *part)
{
- return EINA_FALSE;
+ return EINA_FALSE;
}
@@ -878,21 +1156,28 @@ static Eina_Bool __mf_ug_genlist_get_gl_state(void *data, Evas_Object *obj, cons
******************************/
static void __mf_ug_genlist_del_gl(void *data, Evas_Object *obj)
{
- UG_TRACE_BEGIN;
- ugListItemData *itemData = (ugListItemData *)data;
- ug_mf_retm_if(itemData == NULL, "itemData is NULL");
- if (itemData->ug_pItemName && itemData->ug_pItemName->str) {
- g_string_free(itemData->ug_pItemName, TRUE);
- itemData->ug_pItemName = NULL;
- }
- if (itemData->ug_pThumbPath) {
- free(itemData->ug_pThumbPath);
- itemData->ug_pThumbPath = NULL;
- }
- free(itemData);
- itemData = NULL;
- UG_TRACE_END;
- return;
+ UG_TRACE_BEGIN;
+ ugListItemData *itemData = (ugListItemData *)data;
+ ug_mf_retm_if(itemData == NULL, "itemData is NULL");
+ if (itemData->ug_pItemName && itemData->ug_pItemName->str) {
+ g_string_free(itemData->ug_pItemName, TRUE);
+ itemData->ug_pItemName = NULL;
+ }
+ if (itemData->ug_pThumbPath) {
+ free(itemData->ug_pThumbPath);
+ itemData->ug_pThumbPath = NULL;
+ }
+ if (itemData->media) {
+ if (itemData->thumbnail_create == EINA_TRUE) {
+ media_info_cancel_thumbnail(itemData->media);
+ }
+ media_info_destroy(itemData->media);
+ itemData->media = NULL;
+ }
+ free(itemData);
+ itemData = NULL;
+ UG_TRACE_END;
+ return;
}
@@ -914,207 +1199,199 @@ static void __mf_ug_genlist_del_gl(void *data, Evas_Object *obj)
** Modification : Created function
**
******************************/
-
-void mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *event_info)
+void mf_ug_genlist_sel(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- int error_code = 0;
- int mmc_card = 0;
- error_code = mf_ug_util_get_mmc_state(&mmc_card);
-
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
- if (item != NULL) {
- ugListItemData *selected = (ugListItemData *)elm_object_item_data_get(item);
- fprintf(stdout, "selected text %s\n", (char *)selected->ug_pItemName->str);
- elm_genlist_item_selected_set(item, EINA_FALSE);
- if (ugd->ug_Status.ug_b_NaviPushFlag)
- return;
- if (!ecore_file_is_dir(selected->ug_pItemName->str)) {
-
- if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) {
- return;
- }
- if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE) {
- mf_ug_launch_type launch_type = mf_ug_util_get_file_launch_type(selected->ug_pItemName->str);
- if (launch_type == LAUNCH_TYPE_MUSIC) {
- if (ugd->ug_Status.play_timer == NULL) {
- ug_error(">>>>>>>>>>>>>> entry list play");
- ugd->ug_Status.play_timer = ecore_timer_add(MF_UG_LIST_PLAY_TIME_OUT, (Ecore_Task_Cb)__mf_ug_list_play_timer_cb, selected);
- } else {
- ug_error(">>>>>>>>>>>>>> Faild entry list play");
-
- }
- } else {
- if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) != selected->ug_iGroupValue) {
- ugd->ug_Status.ug_iRadioOn = selected->ug_iGroupValue;
- selected->ug_bChecked = true;
- elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, selected->ug_iGroupValue);
- }
- }
-
-
- } else {
- if (selected->ug_bChecked == 0) {
- selected->ug_bChecked = 1;
- } else {
- selected->ug_bChecked = 0;
- }
- elm_check_state_set(selected->ug_pCheckBox, selected->ug_bChecked);
-
- if (selected->ug_bChecked) {
- ugd->ug_Status.ug_iCheckedCount++;
- } else {
- ugd->ug_Status.ug_iCheckedCount--;
- }
- if (ugd->ug_MainWindow.ug_pSelectAllCheckBox) {
- if (ugd->ug_Status.ug_iTotalCount == ugd->ug_Status.ug_iCheckedCount) {
- ugd->ug_Status.ug_bSelectAllChecked = EINA_TRUE;
- } else {
- ugd->ug_Status.ug_bSelectAllChecked = EINA_FALSE;
- }
- elm_check_state_pointer_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, &ugd->ug_Status.ug_bSelectAllChecked);
- }
- __mf_ug_genlist_show_select_info(selected);
- }
- } else if (ecore_file_is_dir(selected->ug_pItemName->str) && strcmp(selected->ug_pItemName->str, "Upper Level")) {
- if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING || ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) {
- mf_ug_list_play_destory_playing_file(ugd);
- UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
- }
- if (ugd->ug_Status.ug_pPath) {
- g_string_free(ugd->ug_Status.ug_pPath, TRUE);
- ugd->ug_Status.ug_pPath = NULL;
- }
- ugd->ug_Status.ug_pPath = g_string_new(selected->ug_pItemName->str);
- ugd->ug_Status.ug_b_NaviPushFlag = true;
-
- if (pNavi_s->ug_pCurrentPath != NULL) {
- free(pNavi_s->ug_pCurrentPath);
- pNavi_s->ug_pCurrentPath = NULL;
- }
- pNavi_s->ug_pCurrentPath = strdup(selected->ug_pItemName->str);
- mf_ug_navi_bar_create_default_view(ugd);
- }
-
- mf_ug_ctrl_bar_set_item_disable(ugd);
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ Elm_Object_Item *item = (Elm_Object_Item *) data;
+ ugListItemData *selected = (ugListItemData *)elm_object_item_data_get(item);
+ ugData *ugd = (ugData *)selected->ug_pData;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");/*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/
+ ug_mf_retm_if(ugd->ug == NULL, "ugd->ug is NULL");/*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/
+
+ {
+ fprintf(stdout, "selected text %s\n", (char *)selected->ug_pItemName->str);
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+ if (ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE) {
+ ug_error();
+ char *result = NULL;
+ app_control_h app_control = NULL;
+ result = g_strdup(selected->ug_pItemName->str);
+ if (result) {
+ int ret = 0;
+ ret = app_control_create(&app_control);
+ if (ret == APP_CONTROL_ERROR_NONE) {
+ ug_error();
+ app_control_add_extra_data(app_control, "result", result);
+ ug_send_result(ugd->ug, app_control);
+ app_control_destroy(app_control);
+ }
+ ug_debug("result is [%s]", result);
+ UG_SAFE_FREE_CHAR(result);
+ ug_destroy_me(ugd->ug);
+ ugd->ug = NULL;
+ }
+ return;
+ }
+ if (!mf_is_dir(selected->ug_pItemName->str)) {
+
+ if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) {
+ return;
+ }
+ if (mf_ug_util_is_single_select_mode(ugd->ug_UiGadget.ug_iSelectMode)) {
+
+ if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) != selected->ug_iGroupValue) {
+ ugd->ug_Status.ug_iRadioOn = selected->ug_iGroupValue;
+ selected->ug_bChecked = true;
+ elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, selected->ug_iGroupValue);
+ }
+ /*
+ mf_ug_launch_type launch_type = LAUNCH_TYPE_UNSUPPORT;
+ if (mf_ug_is_default_ringtone(ugd, selected->ug_pItemName->str)) {
+ launch_type = LAUNCH_TYPE_MUSIC;
+ } else {
+ launch_type = mf_ug_util_get_file_launch_type(selected->ug_pItemName->str);
+ }
+ if (launch_type == LAUNCH_TYPE_MUSIC) {
+ //elm_genlist_select_mode_set(ugd->ug_MainWindow.ug_pNaviGenlist, ELM_OBJECT_SELECT_MODE_NONE);
+ if (ugd->ug_ListPlay.play_data) {
+ ugd->ug_ListPlay.hiden_flag = true;
+ elm_genlist_item_fields_update(ugd->ug_ListPlay.play_data, "elm.icon.2", ELM_GENLIST_ITEM_FIELD_CONTENT);
+ }
+ if (ugd->ug_Status.play_timer == NULL) {
+ ug_error(">>>>>>>>>>>>>> entry list play");
+ if (ugd->show) {
+ ecore_idler_del(ugd->show);
+ ugd->show = NULL;
+ }
+ ugd->ug_Status.play_timer = ecore_timer_add(MF_UG_LIST_PLAY_TIME_OUT, (Ecore_Task_Cb)__mf_ug_list_play_timer_cb, selected);
+ } else {
+ ug_error(">>>>>>>>>>>>>> Faild entry list play");
+
+ }
+ }
+ */
+ } else {
+ /*
+ mf_ug_launch_type launch_type = LAUNCH_TYPE_UNSUPPORT;
+ launch_type = mf_ug_util_get_file_launch_type(selected->ug_pItemName->str);
+ if (launch_type == LAUNCH_TYPE_MUSIC) {
+ //P131128-07671,Messages > Compose > Attach > Audio > click audio item , music should not play
+ //mf_ug_cb_list_play_cb(selected, NULL, NULL);
+ }
+ */
+ if (selected->ug_bChecked == 0) {
+ selected->ug_bChecked = 1;
+ } else {
+ selected->ug_bChecked = 0;
+ }
+
+ struct stat stFileInfo;
+ stat(selected->ug_pItemName->str, &stFileInfo);
+ if (selected->ug_bChecked) {
+ ugd->ug_Status.ug_iCheckedCount++;
+ if (ugd->limitsize > 0 && ugd->selsize + stFileInfo.st_size > ugd->limitsize) {
+ char *noti = NULL;
+ noti = g_strdup_printf(mf_ug_widget_get_text(MF_UG_LABEL_MAXIMUM_SIZE));
+ mf_ug_popup_indicator_popup(noti);
+ if (selected->ug_bChecked == 0) {
+ selected->ug_bChecked = 1;
+ } else {
+ selected->ug_bChecked = 0;
+ }
+ UG_SAFE_FREE_CHAR(noti);
+ return;
+ }
+ ugd->selsize += stFileInfo.st_size;
+ } else {
+ ugd->ug_Status.ug_iCheckedCount--;
+ ugd->selsize -= stFileInfo.st_size;
+ }
+ ug_error("========= ugd->ug_Status.ug_iCheckedCount is [%d]", ugd->ug_Status.ug_iCheckedCount);
+ if (ugd->ug_Status.ug_iCheckedCount > ugd->ug_UiGadget.ug_iMaxLength) {
+ ug_error();
+ char *reach_string = mf_ug_widget_get_text(MF_UG_LABEL_REACH_MAX_SHARE_COUNT);
+ char *max_string = g_strdup_printf(reach_string, ugd->ug_UiGadget.ug_iMaxLength);
+ /*UG_SAFE_FREE_CHAR(reach_string);*/
+ ug_error("max_string is [%s]", max_string);
+ mf_ug_popup_indicator_popup(max_string);
+ UG_SAFE_FREE_CHAR(max_string);
+ if (selected->ug_bChecked == 0) {
+ selected->ug_bChecked = 1;
+ } else {
+ selected->ug_bChecked = 0;
+ }
+ if (selected->ug_bChecked) {
+ ugd->ug_Status.ug_iCheckedCount++;
+ } else {
+ ugd->ug_Status.ug_iCheckedCount--;
+ }
+ return;
+ } else {
+ ug_error();
+ elm_check_state_set(selected->ug_pCheckBox, selected->ug_bChecked);
+ }
+ ugd->ug_Status.ug_iTotalCount = eina_list_count(ugd->ug_UiGadget.ug_pFilterList);
+ if (ugd->ug_Status.ug_iTotalCount == ugd->ug_Status.ug_iCheckedCount) {
+ ugd->ug_Status.ug_bSelectAllChecked = EINA_TRUE;
+ } else {
+ ugd->ug_Status.ug_bSelectAllChecked = EINA_FALSE;
+ }
+ if(ugd->ug_Status.ug_bSelectAllChecked) {
+ elm_check_state_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, 1);
+ } else {
+ elm_check_state_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, 0);
+ }
+ mf_ug_genlist_show_select_info(ugd);
+ }
+ } else if (mf_is_dir(selected->ug_pItemName->str)) {
+ if (ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PLAYING || ugd->ug_ListPlay.ug_iPlayState == PLAY_STATE_PAUSED) {
+ mf_ug_list_play_destory_playing_file(ugd);
+ ugd->ug_ListPlay.play_data = NULL;
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ }
+ if (ugd->ug_Status.ug_pPath) {
+ g_string_free(ugd->ug_Status.ug_pPath, TRUE);
+ ugd->ug_Status.ug_pPath = NULL;
+ }
+ ug_error(">>>>>>>>>>>>>>>>> selected->ug_pItemName->str is [%s]", selected->ug_pItemName->str);
+ ugd->ug_Status.ug_pPath = g_string_new(selected->ug_pItemName->str);
+
+ if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) {
+ ugd->ug_Status.ug_iViewType = mf_ug_view_normal;
+ mf_ug_navi_bar_create_default_view(ugd);
+ mf_ug_util_path_push(ugd->ug_Status.ug_pPath->str, ugd->ug_Status.ug_iViewType);
+ } else {
+ mf_ug_navi_bar_create_default_view(ugd);
+ mf_ug_util_path_push(ugd->ug_Status.ug_pPath->str, ugd->ug_Status.ug_iViewType);
+ }
+ }
+
+ mf_ug_navi_bar_set_ctrl_item_disable(ugd);
+ }
+ UG_TRACE_END;
}
-
-
-static Evas_Object *__mf_ug_genlist_create_editfield(Evas_Object *parent, Evas_Object **pEntry)
+void mf_ug_genlist_selected_gl(void *data, Evas_Object *obj, void *event_info)
{
- ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
-
- Evas_Object *layout = elm_layout_add(parent);
- elm_layout_theme_set(layout, "layout", "editfield", "default");
- Evas_Object *entry = elm_entry_add(parent);
- elm_object_part_content_set(layout, "elm.swallow.content", entry);
- *pEntry = entry;
- return layout;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+ if (item != NULL) {
+ {
+ ug_error();
+ mf_ug_genlist_sel(item);
+ }
+ }
+ UG_TRACE_END;
}
-static Evas_Object *__mf_ug_genlist_gl_new_folder_icon_get(void *data, Evas_Object * obj, const char *part)
+static void __mf_ug_genlist_lang_changed(void *data, Evas_Object *obj, void *ei)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
-
- if (!strcmp(part, "elm.icon")) {
- int error_code = 0;
- char *fileName = NULL;
- char *fullpath = (char *)malloc(sizeof(char) * MYFILE_FILE_PATH_LEN_MAX);
- if (fullpath == NULL) {
- return NULL;
- }
- GString *dest_fullpath;
- static Elm_Entry_Filter_Limit_Size limit_filter;
- Evas_Object *entry = NULL;
-
- Evas_Object *edit_field = __mf_ug_genlist_create_editfield(obj, &entry);
-
- elm_entry_single_line_set(entry, EINA_TRUE);
- elm_entry_scrollable_set(entry, EINA_TRUE);
-
- elm_object_signal_emit(edit_field, "elm,state,eraser,show", "elm");
-
- evas_object_size_hint_weight_set(edit_field, 1, 1);
- evas_object_size_hint_align_set(edit_field, 1, 0.5);
- //evas_object_show(edit_field);
- ugd->ug_MainWindow.ug_pEditField = edit_field;
-
- ugd->ug_MainWindow.ug_pEntry = entry;
-
- limit_filter.max_char_count = MYFILE_FILE_NAME_LEN_MAX;
- limit_filter.max_byte_count = 0;
-
- memset(fullpath, 0, MYFILE_FILE_PATH_LEN_MAX);
- fileName = elm_entry_markup_to_utf8(MF_UG_LABEL_FOLDER);
- snprintf(fullpath, (MYFILE_FILE_PATH_LEN_MAX), "%s/%s", (char *)ugd->ug_Status.ug_pPath->str, fileName);
-
- dest_fullpath = g_string_new(fullpath);
-
- elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, &limit_filter);
- evas_object_smart_callback_add(entry, "maxlength,reached", mf_ug_cb_reach_max_len_cb, ugd);
-
- if (mf_ug_fm_svc_wrapper_detect_duplication(dest_fullpath)) {
- ug_debug("dectetion result is TRUE\ndest_fullpath is %s\n", dest_fullpath->str);
- error_code = mf_ug_fm_svc_wrapper_file_auto_rename(ugd, dest_fullpath, FILE_NAME_WITH_BRACKETS, &dest_fullpath);
- ug_debug("rename result is %s\n", dest_fullpath->str);
- memset(fullpath, 0, strlen(fullpath));
- int len = strlen(ugd->ug_Status.ug_pPath->str) + 1;
- strncpy(fullpath, dest_fullpath->str + len, MYFILE_FILE_PATH_LEN_MAX);
- /*memset(fileName,0,strlen(fileName));*/
-
- UG_SAFE_FREE_CHAR(fileName);
- fileName = elm_entry_markup_to_utf8(fullpath);
- }
-
- /*elm_entry_entry_set(entry, ecore_file_file_get(params->m_ItemName->str));*/
-
- elm_object_signal_callback_add(edit_field, "elm,eraser,clicked", "elm", mf_ug_cb_eraser_clicked_cb, entry);
-
- evas_object_show(entry);
- elm_object_focus_set(entry, EINA_TRUE);
-
- elm_entry_entry_set(entry, fileName);
- elm_entry_cursor_end_set(entry);
- UG_SAFE_FREE_CHAR(fullpath);
- UG_SAFE_FREE_GSTRING(dest_fullpath);
- UG_SAFE_FREE_CHAR(fileName);
- return edit_field;
- }
- return NULL;
-}
-
-Evas_Object *mf_ug_genlist_create_list_new_folder_style(void *data)
-{
-
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
-
- Evas_Object *genlist = NULL;
- Evas_Object *pNaviBar = NULL;
-
- pNaviBar = ugd->ug_MainWindow.ug_pNaviBar;
-
- genlist = elm_genlist_add(pNaviBar);
- elm_object_focus_set(genlist, EINA_FALSE);
-
- ugd->ug_Status.ug_newfolderitec.item_style = "1icon";
- ugd->ug_Status.ug_newfolderitec.func.text_get = NULL;
- ugd->ug_Status.ug_newfolderitec.func.content_get = __mf_ug_genlist_gl_new_folder_icon_get;
- ugd->ug_Status.ug_newfolderitec.func.state_get = NULL;
- ugd->ug_Status.ug_newfolderitec.func.del = NULL;
-
- Elm_Object_Item *it = elm_genlist_item_append(genlist, &ugd->ug_Status.ug_newfolderitec, ugd, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_NONE);
- return genlist;
+ UG_TRACE_BEGIN
+ ug_mf_retm_if(obj == NULL, "obj is NULL");
+ elm_genlist_realized_items_update(obj);
+ UG_TRACE_END
}
/******************************
@@ -1132,53 +1409,141 @@ Evas_Object *mf_ug_genlist_create_list_new_folder_style(void *data)
** Modification : Created function
**
******************************/
-Evas_Object *__mf_ug_genlist_create_gl(void *data)
+void mf_ug_genlist_delete_sel(void *data)
{
+ UG_TRACE_BEGIN;
+ Elm_Object_Item *item = (Elm_Object_Item *) data;
+ ugListItemData *selected = (ugListItemData *)elm_object_item_data_get(item);
+ ugData *ugd = (ugData *)selected->ug_pData;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");/*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/
+ ug_mf_retm_if(ugd->ug == NULL, "ugd->ug is NULL");/*Fixed the P131011-01548 by jian12.li, sometimes, if the ug is extised, we still send the result to other app.*/
+
+ {
+ fprintf(stdout, "selected text %s\n", (char *)selected->ug_pItemName->str);
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+ if (!mf_is_dir(selected->ug_pItemName->str)) {
+
+ if (selected->ug_bChecked == 0) {
+ selected->ug_bChecked = 1;
+ } else {
+ selected->ug_bChecked = 0;
+ }
+ elm_check_state_set(selected->ug_pCheckBox, selected->ug_bChecked);
+
+ if (selected->ug_bChecked) {
+ ugd->ug_Status.ug_iCheckedCount++;
+ } else {
+ ugd->ug_Status.ug_iCheckedCount--;
+ }
+
+ if (ugd->ug_Status.ug_iTotalCount == ugd->ug_Status.ug_iCheckedCount) {
+ ugd->ug_Status.ug_bSelectAllChecked = EINA_TRUE;
+ } else {
+ ugd->ug_Status.ug_bSelectAllChecked = EINA_FALSE;
+ }
+ mf_ug_genlist_show_select_info(ugd);
+ }
+
+ mf_ug_navi_bar_set_ctrl_item_disable(ugd);
+ }
+ UG_TRACE_END;
+}
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
+void mf_ug_genlist_delete_selected_gl(void *data, Evas_Object *obj, void *event_info)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+ mf_ug_genlist_delete_sel(item);
+ UG_TRACE_END;
+}
- ugNaviBar *pNaviInUse = mf_ug_navi_bar_get_in_use_navi(ugd);
- ug_mf_retvm_if(pNaviInUse == NULL, NULL, "pNaviInUse is NULL");
+Evas_Object *mf_ug_genlist_delete_style_create(void *data)
+{
- Evas_Object *genlist;
- genlist = elm_genlist_add(ugd->ug_MainWindow.ug_pNaviBar);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
- evas_object_smart_callback_add(genlist, "selected", mf_ug_genlist_selected_gl, ugd);
-#ifdef UG_THUMB_REAL_TIME_UPDATE
- if (ugd->ug_Status.ug_pThumbUpdateTimer != NULL) {
- ecore_timer_del(ugd->ug_Status.ug_pThumbUpdateTimer);
- ugd->ug_Status.ug_pThumbUpdateTimer = NULL;
- }
-#endif
+ Evas_Object *genlist;
+ genlist = elm_genlist_add(ugd->ug_MainWindow.ug_pNaviBar);
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+ evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
+ evas_object_smart_callback_add(genlist, "selected", mf_ug_genlist_delete_selected_gl, ugd);
+ evas_object_smart_callback_add(genlist, "language,changed", __mf_ug_genlist_lang_changed, ugd);
+
+ ugd->ug_Status.ug_1text2icon4_itc.item_style = "1line";
+ ugd->ug_Status.ug_1text2icon4_itc.func.text_get = __mf_ug_genlist_get_gl_label;
+ ugd->ug_Status.ug_1text2icon4_itc.func.content_get = __mf_ug_genlist_delete_get_gl_icon;
+ ugd->ug_Status.ug_1text2icon4_itc.func.state_get = __mf_ug_genlist_get_gl_state;
+ ugd->ug_Status.ug_1text2icon4_itc.func.del = __mf_ug_genlist_del_gl;
+
+ UG_TRACE_END;
+
+ return genlist;
+}
+
+Evas_Object *__mf_ug_genlist_create_gl(void *data)
+{
- ugd->ug_Status.ug_itc.item_style = "1text.3icon";
- ugd->ug_Status.ug_itc.func.text_get = __mf_ug_genlist_get_gl_label;
- ugd->ug_Status.ug_itc.func.content_get = __mf_ug_genlist_get_gl_icon;
- ugd->ug_Status.ug_itc.func.state_get = __mf_ug_genlist_get_gl_state;
- ugd->ug_Status.ug_itc.func.del = __mf_ug_genlist_del_gl;
-
- if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
- ugd->ug_Status.ug_normalitc.item_style = "1text.1icon.2";
- ugd->ug_Status.ug_normalitc.func.text_get = __mf_ug_genlist_get_gl_label;
- ugd->ug_Status.ug_normalitc.func.content_get = __mf_ug_genlist_get_gl_icon;
- ugd->ug_Status.ug_normalitc.func.state_get = __mf_ug_genlist_get_gl_state;
- ugd->ug_Status.ug_normalitc.func.del = __mf_ug_genlist_del_gl;
- }
-
- UG_TRACE_END;
-
- return genlist;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
+
+ Evas_Object *genlist;
+ genlist = elm_genlist_add(ugd->ug_MainWindow.ug_pNaviBar);
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+ evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
+ evas_object_smart_callback_add(genlist, "selected", mf_ug_genlist_selected_gl, ugd);
+ evas_object_smart_callback_add(genlist, "language,changed", __mf_ug_genlist_lang_changed, ugd);
+
+ ugd->ug_Status.ug_1text3icon_itc.item_style = "1line";
+ ugd->ug_Status.ug_1text3icon_itc.func.text_get = __mf_ug_genlist_get_gl_label;
+ ugd->ug_Status.ug_1text3icon_itc.func.content_get = __mf_ug_genlist_get_gl_icon;
+ ugd->ug_Status.ug_1text3icon_itc.func.state_get = __mf_ug_genlist_get_gl_state;
+ ugd->ug_Status.ug_1text3icon_itc.func.del = __mf_ug_genlist_del_gl;
+
+ if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) {
+ /*ugd->ug_Status.ug_1text2icon4_itc.item_style = "1text.2icon.4";
+ ugd->ug_Status.ug_1text2icon4_itc.item_style = "myfile.1text.2icon.6";*/
+ ugd->ug_Status.ug_1text2icon4_itc.item_style = "1line";
+ ugd->ug_Status.ug_1text2icon4_itc.func.text_get = __mf_ug_genlist_get_gl_label;
+ ugd->ug_Status.ug_1text2icon4_itc.func.content_get = __mf_ug_genlist_ringtone_get_gl_icon;
+ ugd->ug_Status.ug_1text2icon4_itc.func.state_get = __mf_ug_genlist_get_gl_state;
+ ugd->ug_Status.ug_1text2icon4_itc.func.del = __mf_ug_genlist_del_gl;
+ }
+ ugd->ug_Status.ug_1text2icon_itc.item_style = "1line";
+ ugd->ug_Status.ug_1text2icon_itc.func.text_get = __mf_ug_genlist_get_gl_label;
+ ugd->ug_Status.ug_1text2icon_itc.func.content_get = __mf_ug_genlist_get_gl_icon;
+ ugd->ug_Status.ug_1text2icon_itc.func.state_get = __mf_ug_genlist_get_gl_state;
+ ugd->ug_Status.ug_1text2icon_itc.func.del = __mf_ug_genlist_del_gl;
+ if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE ||
+ ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE
+ ) {
+ ugd->ug_Status.ug_1text1icon_itc.item_style = "1line";
+ ugd->ug_Status.ug_1text1icon_itc.func.text_get = __mf_ug_genlist_get_gl_label;
+ ugd->ug_Status.ug_1text1icon_itc.func.content_get = __mf_ug_genlist_get_gl_icon;
+ ugd->ug_Status.ug_1text1icon_itc.func.state_get = __mf_ug_genlist_get_gl_state;
+ ugd->ug_Status.ug_1text1icon_itc.func.del = __mf_ug_genlist_del_gl;
+ }
+
+ UG_TRACE_END;
+
+ return genlist;
}
@@ -1202,33 +1567,33 @@ Evas_Object *__mf_ug_genlist_create_gl(void *data)
static void __mf_ug_genlist_init_item_data(void *data, ugListItemData **itemData, char *fullname)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ugListItemData **ug_ItemData = itemData;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- ug_mf_retm_if(ug_ItemData == NULL, "ug_ItemData is NULL");
-
- *ug_ItemData = (ugListItemData *)malloc(sizeof(ugListItemData));
- if (*ug_ItemData == NULL) {
- ug_debug("ug_ItemData malloc failed");
- } else {
- memset(*ug_ItemData, 0, sizeof(ugListItemData));
- if (fullname) {
- (*ug_ItemData)->ug_pItemName = g_string_new(fullname);
- } else {
- (*ug_ItemData)->ug_pItemName = NULL;
- }
- (*ug_ItemData)->ug_bChecked = false;
- (*ug_ItemData)->ug_pRadioBox = NULL;
- (*ug_ItemData)->ug_pCheckBox = NULL;
- (*ug_ItemData)->ug_pPlaybtn = NULL;
- (*ug_ItemData)->ug_iGroupValue = 0;
- (*ug_ItemData)->ug_pItem = NULL;
- (*ug_ItemData)->ug_pThumbPath = NULL;
- (*ug_ItemData)->ug_bRealThumbFlag = false;
- (*ug_ItemData)->ug_pData = ugd;
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ugListItemData **ug_ItemData = itemData;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ ug_mf_retm_if(ug_ItemData == NULL, "ug_ItemData is NULL");
+
+ *ug_ItemData = (ugListItemData *)malloc(sizeof(ugListItemData));
+ if (*ug_ItemData == NULL) {
+ ug_debug("ug_ItemData malloc failed");
+ } else {
+ memset(*ug_ItemData, 0, sizeof(ugListItemData));
+ if (fullname) {
+ (*ug_ItemData)->ug_pItemName = g_string_new(fullname);
+ } else {
+ (*ug_ItemData)->ug_pItemName = NULL;
+ }
+ (*ug_ItemData)->ug_bChecked = false;
+ (*ug_ItemData)->ug_pRadioBox = NULL;
+ (*ug_ItemData)->ug_pCheckBox = NULL;
+ (*ug_ItemData)->ug_pPlaybtn = NULL;
+ (*ug_ItemData)->ug_iGroupValue = 0;
+ (*ug_ItemData)->ug_pItem = NULL;
+ (*ug_ItemData)->ug_pThumbPath = NULL;
+ (*ug_ItemData)->ug_bRealThumbFlag = false;
+ (*ug_ItemData)->ug_pData = ugd;
+ }
+ UG_TRACE_END;
}
/******************************
@@ -1246,404 +1611,588 @@ static void __mf_ug_genlist_init_item_data(void *data, ugListItemData **itemData
** Modification : Created function
**
******************************/
-void mf_ug_genlist_upper_style_set(void *data)
+Elm_Object_Item *mf_ug_genlist_default_ringtone_item_append(Evas_Object *parent,
+ void *data,
+ int groudValue,
+ Elm_Genlist_Item_Class *itc)
{
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
- ugd->ug_Status.ug_topitc.item_style = "1text.1icon.2";
- ugd->ug_Status.ug_topitc.func.text_get = __mf_ug_genlist_get_gl_label;
- ugd->ug_Status.ug_topitc.func.content_get = __mf_ug_genlist_gl_upper_icon_get;
- ugd->ug_Status.ug_topitc.func.state_get = __mf_ug_genlist_get_gl_state;
- ugd->ug_Status.ug_topitc.func.del = __mf_ug_genlist_del_gl;
+ ug_mf_retvm_if(parent == NULL, NULL, "pGenlist is NULL");
+ ug_mf_retvm_if(data == NULL, NULL, "data is NULL");
+ ug_mf_retvm_if(itc == NULL, NULL, "itc is NULL");
+
+ ugData *ugd = (ugData *)data;
+ ugListItemData *ug_ItemData = NULL;
+ Elm_Object_Item *it = NULL;
+ char *real_name = NULL;
+
+ real_name = g_strdup(MF_UG_LABEL_DEFAULT_RINGTONE);
+ __mf_ug_genlist_init_item_data(ugd, &ug_ItemData, real_name);
+ if (ug_ItemData == NULL) {
+ ug_debug("alloc memory error\n");
+ if (real_name) {
+ free(real_name);
+ real_name = NULL;
+ }
+ return NULL;
+ }
+ ug_ItemData->ug_pThumbPath = g_strdup(UG_ICON_MUSIC);
+ ug_ItemData->ug_bRealThumbFlag = true;
+
+ ug_ItemData->ug_iGroupValue = groudValue;
+ if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
+ if (__mf_ug_genlist_is_file_marked(ugd->ug_UiGadget.ug_pMultiSelectFileList, ug_ItemData->ug_pItemName)) {
+ ug_ItemData->ug_bChecked = true;
+ ugd->ug_Status.ug_iRadioOn = ug_ItemData->ug_iGroupValue;
+ }
+ }
+ it = elm_genlist_item_append(parent, itc, ug_ItemData, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ ug_ItemData->ug_pItem = it;
+ mf_ug_genlist_default_item_set(it);
+
+ if (real_name) {
+ free(real_name);
+ real_name = NULL;
+ }
+
+ return it;
}
-void mf_ug_genlist_goto_myfile_style_set(void *data)
+Elm_Object_Item *mf_ug_genlist_silent_item_append(Evas_Object *parent,
+ void *data,
+ int groudValue,
+ Elm_Genlist_Item_Class *itc)
{
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
- ugd->ug_Status.ug_editfileditc.item_style = "1icon";
- ugd->ug_Status.ug_editfileditc.func.text_get = NULL;
- ugd->ug_Status.ug_editfileditc.func.content_get = __mf_ug_genlist_get_gl_editfiled_icon;
- ugd->ug_Status.ug_editfileditc.func.state_get = NULL;
- ugd->ug_Status.ug_editfileditc.func.del = __mf_ug_genlist_del_gl;
-
- ugd->ug_Status.ug_editfiledBottomSeperatoritc.item_style = "dialogue/separator/11/with_line";
- ugd->ug_Status.ug_editfiledBottomSeperatoritc.func.text_get = NULL;
- ugd->ug_Status.ug_editfiledBottomSeperatoritc.func.content_get = NULL;
- ugd->ug_Status.ug_editfiledBottomSeperatoritc.func.state_get = NULL;
- ugd->ug_Status.ug_editfiledBottomSeperatoritc.func.del = NULL;
-
- ugd->ug_Status.ug_editfiledUpperSeperatoritc.item_style = "dialogue/separator/10";
- ugd->ug_Status.ug_editfiledUpperSeperatoritc.func.text_get = NULL;
- ugd->ug_Status.ug_editfiledUpperSeperatoritc.func.content_get = NULL;
- ugd->ug_Status.ug_editfiledUpperSeperatoritc.func.state_get = NULL;
- ugd->ug_Status.ug_editfiledUpperSeperatoritc.func.del = NULL;
-
+ ug_mf_retvm_if(parent == NULL, NULL, "pGenlist is NULL");
+ ug_mf_retvm_if(data == NULL, NULL, "data is NULL");
+ ug_mf_retvm_if(itc == NULL, NULL, "itc is NULL");
+
+ ugData *ugd = (ugData *)data;
+ ugListItemData *ug_ItemData = NULL;
+ Elm_Object_Item *it = NULL;
+ char *real_name = NULL;
+
+ real_name = g_strdup(MF_UG_LABEL_SILENT);
+ __mf_ug_genlist_init_item_data(ugd, &ug_ItemData, real_name);
+ if (ug_ItemData == NULL) {
+ ug_debug("alloc memory error\n");
+ if (real_name) {
+ free(real_name);
+ real_name = NULL;
+ }
+ return NULL;
+ }
+ ug_ItemData->ug_pThumbPath = g_strdup(UG_ICON_MUSIC);
+ ug_ItemData->ug_bRealThumbFlag = true;
+
+ ug_ItemData->ug_iGroupValue = groudValue;
+ if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
+ if (__mf_ug_genlist_is_file_marked(ugd->ug_UiGadget.ug_pMultiSelectFileList, ug_ItemData->ug_pItemName)) {
+ ug_ItemData->ug_bChecked = true;
+ ugd->ug_Status.ug_iRadioOn = ug_ItemData->ug_iGroupValue;
+ }
+ }
+ it = elm_genlist_item_append(parent, itc, ug_ItemData, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ ug_ItemData->ug_pItem = it;
+
+ if (real_name) {
+ free(real_name);
+ real_name = NULL;
+ }
+
+ return it;
}
-Evas_Object *mf_navi_bar_upper_create(Evas_Object *parent)
+Elm_Object_Item *mf_ug_genlist_item_append(Evas_Object *parent,
+ char *real_name,
+ void *data,
+ int groudValue,
+ Elm_Genlist_Item_Class *itc)
{
- UG_TRACE_BEGIN;
- ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
-
- Evas_Object *upper_genlist = NULL;
- upper_genlist = elm_genlist_add(parent);
- ug_mf_retvm_if(upper_genlist == NULL, NULL, "upper_genlist is NULL");
- elm_object_focus_set(upper_genlist, EINA_FALSE);
- evas_object_size_hint_weight_set(upper_genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(upper_genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_scroller_bounce_set(upper_genlist, EINA_FALSE, EINA_FALSE);
- evas_object_show(upper_genlist);
- UG_TRACE_END;
- return upper_genlist;
-
+ ug_mf_retvm_if(parent == NULL, NULL, "pGenlist is NULL");
+ ug_mf_retvm_if(real_name == NULL, NULL, "real_name is NULL");
+ ug_mf_retvm_if(data == NULL, NULL, "data is NULL");
+ ug_mf_retvm_if(itc == NULL, NULL, "itc is NULL");
+
+ ugData *ugd = (ugData *)data;
+ ugListItemData *ug_ItemData = NULL;
+ Elm_Object_Item *it = NULL;
+
+ __mf_ug_genlist_init_item_data(ugd, &ug_ItemData, real_name);
+ if (ug_ItemData == NULL) {
+ ug_debug("alloc memory error\n");
+ return NULL;
+ }
+ ug_ItemData->ug_bDefaultItem = g_ug_bDefaultItem;
+
+ if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) {
+ if (g_strcmp0(real_name, PHONE_FOLDER) == 0) {
+ ug_ItemData->ug_pThumbPath = strdup(UG_ICON_FOLDER);
+ ug_ItemData->ug_bRealThumbFlag = true;
+
+ } else if (g_strcmp0(real_name, MEMORY_FOLDER) == 0) {
+ ug_ItemData->ug_pThumbPath = strdup(UG_ICON_ITEM_MMC);
+ ug_ItemData->ug_bRealThumbFlag = true;
+ }
+ }
+ ug_ItemData->storage_type = mf_ug_fm_svc_wapper_get_location(real_name);
+
+ ug_ItemData->ug_iGroupValue = groudValue;
+ if (ugd->ug_Status.ug_iViewType != mf_ug_view_ringtone_del) {
+ if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
+ if (__mf_ug_genlist_is_file_marked(ugd->ug_UiGadget.ug_pMultiSelectFileList, ug_ItemData->ug_pItemName)) {
+ ug_ItemData->ug_bChecked = true;
+ ugd->ug_Status.ug_iRadioOn = ug_ItemData->ug_iGroupValue;
+ }
+ }
+ } else {
+ ug_ItemData->ug_bChecked = false;
+ }
+ it = elm_genlist_item_append(parent, itc, ug_ItemData, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ ug_ItemData->ug_pItem = it;
+ return it;
}
-
-void mf_ug_upper_genlist_item_append(Evas_Object *pGenlist, void *data)
+Elm_Object_Item *mf_ug_genlist_item_prepend(Evas_Object *parent,
+ char *real_name,
+ void *data,
+ int groudValue,
+ Elm_Genlist_Item_Class *itc)
{
- ug_mf_retm_if(data == NULL, "data is NULL");
- ug_mf_retm_if(pGenlist == NULL, "pGenlist is NULL");
- ugData *ugd = (ugData *)data;
-
- Elm_Object_Item *item = NULL;
-
- ugd->ug_Status.ug_topitc.item_style = "dialogue/bg/2icon";
- ugd->ug_Status.ug_topitc.func.text_get = NULL;
- ugd->ug_Status.ug_topitc.func.content_get = __mf_ug_genlist_upper_icon_get;
- ugd->ug_Status.ug_topitc.func.state_get = NULL;
- ugd->ug_Status.ug_topitc.func.del = NULL;
- ugd->ug_Status.ug_separtor_no_bottom_line_itc.item_style = "dialogue/seperator.4";
- ugd->ug_Status.ug_separtor_no_bottom_line_itc.func.text_get = NULL;
- ugd->ug_Status.ug_separtor_no_bottom_line_itc.func.content_get = NULL;
- ugd->ug_Status.ug_separtor_no_bottom_line_itc.func.state_get = NULL;
- ugd->ug_Status.ug_separtor_no_bottom_line_itc.func.del = NULL;
-
- ugd->ug_Status.ug_separtor_with_bottom_line_itc.item_style = "dialogue/seperator.2";
- ugd->ug_Status.ug_separtor_with_bottom_line_itc.func.text_get = NULL;
- ugd->ug_Status.ug_separtor_with_bottom_line_itc.func.content_get = NULL;
- ugd->ug_Status.ug_separtor_with_bottom_line_itc.func.state_get = NULL;
- ugd->ug_Status.ug_separtor_with_bottom_line_itc.func.del = NULL;
-
- // separator with no bottom line
- item = elm_genlist_item_append(pGenlist, &ugd->ug_Status.ug_separtor_no_bottom_line_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- // button for dialogue item (dialogue bg)
- elm_genlist_item_append(pGenlist, &ugd->ug_Status.ug_topitc, (void *) ugd, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
-
- // separator with bottom line
- item = elm_genlist_item_append(pGenlist, &ugd->ug_Status.ug_separtor_with_bottom_line_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ ug_mf_retvm_if(parent == NULL, NULL, "pGenlist is NULL");
+ ug_mf_retvm_if(real_name == NULL, NULL, "real_name is NULL");
+ ug_mf_retvm_if(data == NULL, NULL, "data is NULL");
+ ug_mf_retvm_if(itc == NULL, NULL, "itc is NULL");
+
+ ugData *ugd = (ugData *)data;
+ ugListItemData *ug_ItemData = NULL;
+ Elm_Object_Item *it = NULL;
+
+ __mf_ug_genlist_init_item_data(ugd, &ug_ItemData, real_name);
+ if (ug_ItemData == NULL) {
+ ug_debug("alloc memory error\n");
+ return NULL;
+ }
+
+ if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) {
+ if (g_strcmp0(real_name, PHONE_FOLDER) == 0) {
+ ug_ItemData->ug_pThumbPath = strdup(UG_ICON_FOLDER);
+ ug_ItemData->ug_bRealThumbFlag = true;
+
+ } else if (g_strcmp0(real_name, MEMORY_FOLDER) == 0) {
+ ug_ItemData->ug_pThumbPath = strdup(UG_ICON_ITEM_MMC);
+ ug_ItemData->ug_bRealThumbFlag = true;
+ }
+ }
+
+ ug_ItemData->ug_iGroupValue = groudValue;
+ ug_ItemData->ug_bChecked = true;
+ ugd->ug_Status.ug_iRadioOn = ug_ItemData->ug_iGroupValue;
+ it = elm_genlist_item_prepend(parent, itc, ug_ItemData, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ ug_ItemData->ug_pItem = it;
+ return it;
}
-void mf_ug_genlist_goto_myfile_item_append(Evas_Object *pGenlist, void *data)
+Elm_Object_Item *mf_ug_genlist_item_insert(Evas_Object *parent,
+ char *real_name,
+ void *data,
+ int groudValue,
+ Elm_Genlist_Item_Class *itc,
+ Elm_Object_Item *after_item)
{
- ug_mf_retm_if(pGenlist == NULL, "pGenlist is NULL");
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
-
- ugListItemData *ug_ItemData;
- Elm_Object_Item *it = NULL;
-
- __mf_ug_genlist_init_item_data(ugd, &ug_ItemData, NULL);
- ug_debug("ug_ItemData is [%p]", &ug_ItemData);
-
- //it = elm_genlist_item_append(pGenlist, &ugd->ug_Status.ug_editfiledUpperSeperatoritc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL,
- // NULL);
- //elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- it = elm_genlist_item_append(pGenlist, &ugd->ug_Status.ug_editfileditc, ug_ItemData, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- ug_ItemData->ug_pItem = it;
- //elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
-
- //it = elm_genlist_item_append(pGenlist, &ugd->ug_Status.ug_editfiledBottomSeperatoritc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL,
- // NULL);
- //elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ ug_mf_retvm_if(parent == NULL, NULL, "pGenlist is NULL");
+ ug_mf_retvm_if(real_name == NULL, NULL, "real_name is NULL");
+ ug_mf_retvm_if(data == NULL, NULL, "data is NULL");
+ ug_mf_retvm_if(itc == NULL, NULL, "itc is NULL");
+
+ ugData *ugd = (ugData *)data;
+ ugListItemData *ug_ItemData = NULL;
+ Elm_Object_Item *it = NULL;
+
+ __mf_ug_genlist_init_item_data(ugd, &ug_ItemData, real_name);
+ if (ug_ItemData == NULL) {
+ ug_debug("alloc memory error\n");
+ return NULL;
+ }
+
+ if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) {
+ if (g_strcmp0(real_name, PHONE_FOLDER) == 0) {
+ ug_ItemData->ug_pThumbPath = strdup(UG_ICON_FOLDER);
+ ug_ItemData->ug_bRealThumbFlag = true;
+
+ } else if (g_strcmp0(real_name, MEMORY_FOLDER) == 0) {
+ ug_ItemData->ug_pThumbPath = strdup(UG_ICON_ITEM_MMC);
+ ug_ItemData->ug_bRealThumbFlag = true;
+ }
+ }
+
+ ug_ItemData->ug_iGroupValue = groudValue;
+ ug_ItemData->ug_bChecked = true;
+ ugd->ug_Status.ug_iRadioOn = ug_ItemData->ug_iGroupValue;
+ it = elm_genlist_item_insert_after(parent, itc, ug_ItemData, NULL, after_item, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ ug_ItemData->ug_pItem = it;
+ return it;
}
-Elm_Object_Item *mf_ug_genlist_item_append(Evas_Object *parent,
- ugFsNodeInfo *pNode,
- void *data,
- int groudValue,
- Elm_Genlist_Item_Class *itc)
+void mf_ug_genlist_shortcuts_append(void *data, Evas_Object *parent, Elm_Genlist_Item_Class *itc)
{
- ug_mf_retvm_if(parent == NULL, NULL, "pGenlist is NULL");
- ug_mf_retvm_if(pNode == NULL, NULL, "pNode is NULL");
- ug_mf_retvm_if(data == NULL, NULL, "data is NULL");
- ug_mf_retvm_if(itc == NULL, NULL, "itc is NULL");
-
- ugData *ugd = (ugData *)data;
- ugListItemData *ug_ItemData = NULL;
- Elm_Object_Item *it = NULL;
- char *real_name = NULL;
-
- real_name = g_strconcat(pNode->path, "/", pNode->name, NULL);
- __mf_ug_genlist_init_item_data(ugd, &ug_ItemData, real_name);
- if (ug_ItemData == NULL) {
- ug_debug("alloc memory error\n");
- if (real_name) {
- free(real_name);
- real_name = NULL;
- }
- return NULL;
- }
-
- if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) {
- if(g_strcmp0(real_name, PHONE_FOLDER) == 0) {
- ug_ItemData->ug_pThumbPath = strdup(UG_ICON_ITEM_PHONE);
- ug_ItemData->ug_bRealThumbFlag = true;
-
- } else if(g_strcmp0(real_name, MEMORY_FOLDER) == 0) {
- ug_ItemData->ug_pThumbPath = strdup(UG_ICON_ITEM_MMC);
- ug_ItemData->ug_bRealThumbFlag = true;
- }
- }
-
- ug_ItemData->ug_iGroupValue = groudValue;
- if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
- if (__mf_ug_genlist_is_file_marked(ugd->ug_UiGadget.ug_pMultiSelectFileList, ug_ItemData->ug_pItemName)) {
- ug_ItemData->ug_bChecked = true;
- ugd->ug_Status.ug_iRadioOn = ug_ItemData->ug_iGroupValue;
- }
- }
- it = elm_genlist_item_append(parent, itc, ug_ItemData, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- ug_ItemData->ug_pItem = it;
-
- if (real_name) {
- free(real_name);
- real_name = NULL;
- }
-
- return it;
+ ugData *ugd = (ugData *)data;
+
+ Eina_List *shortcut = NULL;
+ mf_ug_db_handle_get_shortcut_files(&shortcut);
+ if (shortcut) {
+ Eina_List *l = NULL;
+ char *filename = NULL;
+ EINA_LIST_FOREACH(shortcut, l, filename) {
+ ugListItemData *ug_ItemData = NULL;
+ Elm_Object_Item *it = NULL;
+ __mf_ug_genlist_init_item_data(ugd, &ug_ItemData, filename);
+ ug_ItemData->ug_pThumbPath = strdup(UG_ICON_ITEM_SHORTCUT);
+ ug_ItemData->ug_bRealThumbFlag = true;
+ it = elm_genlist_item_append(parent, itc, ug_ItemData, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ ug_ItemData->ug_pItem = it;
+
+ }
+
+ }
}
-
-Evas_Object *mf_ug_genlist_create_layout(Evas_Object *parent, const char *group_name,
- double x_weight, double y_weight,
- double x_align, double y_align)
+void mf_ug_genlist_delete_ringtone_items_add(void *data)
{
- ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
- ug_mf_retvm_if(group_name == NULL, NULL, "group_name is NULL");
-
- Evas_Object *layout = elm_layout_add(parent);
-
- ug_mf_retvm_if(layout == NULL, NULL, "layout is NULL");
-
- elm_object_focus_set(layout, EINA_FALSE);
-
- Eina_Bool result = elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, group_name);
-
- if (result == EINA_TRUE)
- {
- evas_object_size_hint_weight_set(layout, x_weight, y_weight);
- evas_object_size_hint_align_set(layout, x_align, y_align);
-
- evas_object_show(layout);
- }
-
- return layout;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) {
+ Eina_List *ringtone_list = NULL;
+ if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) {
+ mf_ug_db_handle_get_ringtone_files(&ringtone_list);
+ } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) {
+ mf_ug_db_handle_get_alert_files(&ringtone_list);
+ }
+
+ Eina_List *l = NULL;
+ char *filename = NULL;
+ EINA_LIST_FOREACH(ringtone_list, l, filename) {
+ if (filename) {
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, filename, ugd, 0, &ugd->ug_Status.ug_1text2icon4_itc);
+ }
+
+ }
+ }
}
-
-Evas_Object *mf_ug_genlist_create_default_layout(Evas_Object *parent, const char *group_name)
+int mf_ug_genlist_ringtone_delete_items_add(void *data, int value)
{
- return mf_ug_genlist_create_layout(parent, group_name,
- EVAS_HINT_EXPAND, EVAS_HINT_EXPAND,
- EVAS_HINT_FILL, EVAS_HINT_FILL);
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, -1, "ugd is NULL");
+ int groupValue = value;
+
+ if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) {
+ Eina_List *ringtone_list = NULL;
+ if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) {
+ mf_ug_db_handle_get_ringtone_files(&ringtone_list);
+ } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) {
+ mf_ug_db_handle_get_alert_files(&ringtone_list);
+ }
+
+ Eina_List *l = NULL;
+ char *filename = NULL;
+ EINA_LIST_FOREACH(ringtone_list, l, filename) {
+ if (filename) {
+ /*P131205-01044 by wangyan , if setted ringtone in db , do not add it in delete genlist to avoid to be deleted*/
+ if (g_strcmp0(filename, ugd->ug_Status.mark_mode) != 0) {
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, filename, ugd, groupValue, &ugd->ug_Status.ug_1text2icon4_itc);
+ groupValue++;
+ }
+ }
+ }
+ }
+ return groupValue;
}
-
-Evas_Object *mf_ug_genlist_no_mem_card(void *data)
+int mf_ug_genlist_ringtone_items_add(void *data, int value)
{
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
-
- Evas_Object *nocontent = mf_ug_genlist_create_default_layout(ugd->ug_MainWindow.ug_pMainLayout, UG_GRP_NO_CONTENT);
- elm_object_signal_emit(nocontent, "show,no,memcard", "elm");
- elm_object_part_text_set(nocontent, "message", MF_UG_LABEL_NO_MEM_CARD);
-
- ugd->ug_Status.ug_bNoContentFlag = true;
- return nocontent;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, -1, "ugd is NULL");
+ int groupValue = value;
+
+ if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) {
+ Eina_List *ringtone_list = NULL;
+ if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) {
+ mf_ug_db_handle_get_ringtone_files(&ringtone_list);
+ } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) {
+ mf_ug_db_handle_get_alert_files(&ringtone_list);
+ }
+
+ Eina_List *l = NULL;
+ char *filename = NULL;
+ EINA_LIST_FOREACH(ringtone_list, l, filename) {
+ if (filename) {
+ mf_ug_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, filename, ugd, groupValue, &ugd->ug_Status.ug_1text2icon4_itc);
+ groupValue++;
+ }
+
+ }
+ }
+ return groupValue;
}
-
-Evas_Object *mf_ug_genlist_create_no_content(void *data)
+void mf_ug_genlist_first_item_append(void *data, char *fullpath)
{
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
- Evas_Object *nocontent = NULL;
-
- nocontent = elm_layout_add(ugd->ug_MainWindow.ug_pMainLayout);
- elm_layout_theme_set(nocontent, "layout", "nocontents", "text");
- elm_object_part_text_set(nocontent, "elm.text", MF_UG_LABEL_NO_FILES);
-
- ugd->ug_Status.ug_bNoContentFlag = true;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ ug_mf_retm_if(fullpath == NULL, "fullpath is NULL");
+ Evas_Object *genlist = ugd->ug_MainWindow.ug_pNaviGenlist;
+ int value = mf_ug_radio_max_get();
+ Elm_Object_Item *it = NULL;
+
+ it = mf_ug_genlist_item_prepend(genlist, fullpath, ugd, value+1, &ugd->ug_Status.ug_1text2icon4_itc);
+ mf_ug_radio_max_set(value+1);
+
+ elm_genlist_item_bring_in(it, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ UG_TRACE_END;
+}
- return nocontent;
+void mf_ug_genlist_first_item_insert(void *data, char *fullpath, Elm_Object_Item *insert_afer)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ ug_mf_retm_if(fullpath == NULL, "fullpath is NULL");
+ Evas_Object *genlist = ugd->ug_MainWindow.ug_pNaviGenlist;
+ int value = mf_ug_radio_max_get();
+ Elm_Object_Item *it = NULL;
+
+ it = mf_ug_genlist_item_insert(genlist, fullpath, ugd, value+1, &ugd->ug_Status.ug_1text2icon4_itc, insert_afer);
+ mf_ug_radio_max_set(value+1);
+
+ elm_genlist_item_bring_in(it, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ UG_TRACE_END;
+}
+/*To fix P131209-06058 wangyan*/
+void mf_ug_genlist_item_bringin_top(void *data, const char *music_path)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ ug_mf_retm_if(music_path == NULL, "music_path is NULL");
+ Elm_Object_Item *it = NULL;
+ ugListItemData *itemData = NULL;
+ it = elm_genlist_first_item_get(ugd->ug_MainWindow.ug_pNaviGenlist);
+ while (it) {
+ itemData = elm_object_item_data_get(it);
+ if (itemData->ug_pItemName == NULL || itemData->ug_pItemName->str == NULL) {
+ continue;
+ }
+ if (g_strcmp0(music_path, itemData->ug_pItemName->str) == 0) {
+ itemData->ug_bChecked = true;
+ ugd->ug_Status.ug_iRadioOn = itemData->ug_iGroupValue;
+ elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, itemData->ug_iGroupValue);
+ ug_debug("music file [%s] is brought to top", music_path);
+ elm_genlist_item_bring_in(it, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ break;
+ }
+ it = elm_genlist_item_next_get(it);
+ }
+ UG_TRACE_END;
}
+
Evas_Object *mf_ug_genlist_create_content_list_view(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
- ugNaviBar *pNaviInUse = mf_ug_navi_bar_get_in_use_navi(ugd);
- ug_mf_retvm_if(pNaviInUse == NULL, NULL, "pNaviInUse is NULL");
-
- Evas_Object *genlist;
- int error_code = 0;
- Eina_List *dir_list = NULL;
- Eina_List *file_list = NULL;
- Elm_Object_Item *it = NULL;
- int groupValue = 1;
- int count = 0;
-
- ugListItemData *ug_ItemData;
-
- ugd->ug_Status.ug_iRadioOn = 0;
- ugd->ug_Status.ug_bNoContentFlag = false;
-
-
- GString *fullpath = g_string_new(ugd->ug_Status.ug_pPath->str);
-
-
-
- error_code = mf_ug_fm_svc_wapper_get_file_list_by_filter(ugd, fullpath, &dir_list, &file_list);
- if (error_code == 0) {
-
- if (ugd->ug_UiGadget.ug_pDirList) {
- mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pDirList, NODE_TYPE_PNODE);
- ugd->ug_UiGadget.ug_pDirList = NULL;
- }
- if (ugd->ug_UiGadget.ug_pFilterList) {
- mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pFilterList, NODE_TYPE_PNODE);
- ugd->ug_UiGadget.ug_pFilterList = NULL;
- }
-
- ugd->ug_UiGadget.ug_pFilterList = file_list;
- ugd->ug_UiGadget.ug_pDirList = dir_list;
- mf_ug_util_sort_the_file_list(ugd);
-
- }
-
-
- /* list option set */
- unsigned int dir_list_len = eina_list_count(dir_list);
- unsigned int filter_file_list_len = eina_list_count(ugd->ug_UiGadget.ug_pFilterList);
- ug_debug("error_code is [%d]dir_list_len is [%d]file_list_len is [%d]\n", error_code, dir_list_len, filter_file_list_len);
-
-
- if ((dir_list_len == 0 && filter_file_list_len == 0)) {
- ug_debug("=========================================== create the no content view");
- mf_ug_util_add_dir_watch(fullpath->str, ugd);
- g_string_free(fullpath, true);
- fullpath = NULL;
- return mf_ug_genlist_create_no_content(ugd);
- }
-
- genlist = __mf_ug_genlist_create_gl(ugd);
-
- ugd->ug_MainWindow.ug_pNaviGenlist = genlist;
- ugFsNodeInfo *pNode = NULL;
- Eina_List *l = NULL;
-
- EINA_LIST_FOREACH(ugd->ug_UiGadget.ug_pDirList, l, pNode) {
- count++;
-
-
- if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE ||
- ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
-
- mf_ug_genlist_item_append(genlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc);
- } else {
- mf_ug_genlist_item_append(genlist, pNode, ugd, groupValue, &ugd->ug_Status.ug_itc);
- groupValue++;
- }
- }
-
- EINA_LIST_FOREACH(ugd->ug_UiGadget.ug_pFilterList, l, pNode) {
- count++;
- if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
- mf_ug_genlist_item_append(genlist, pNode, ugd, groupValue, &ugd->ug_Status.ug_itc);
- groupValue++;
- } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) {
- mf_ug_genlist_item_append(genlist, pNode, ugd, 0, &ugd->ug_Status.ug_normalitc);
- } else {
- mf_ug_genlist_item_append(genlist, pNode, ugd, 0, &ugd->ug_Status.ug_itc);
- }
- }
-
- if (fullpath != NULL) {
- if ( !mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath) ) {
- mf_ug_util_add_dir_watch(fullpath->str, ugd);
- }
- g_string_free(fullpath, TRUE);
- }
- UG_TRACE_END;
- return genlist;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
+
+ Evas_Object *genlist;
+ int error_code = 0;
+ Eina_List *dir_list = NULL;
+ Eina_List *file_list = NULL;
+ int groupValue = 1;
+ int count = 0;
+ unsigned int dir_list_len = 0;
+ unsigned int filter_file_list_len = 0;
+ ugd->ug_Status.ug_iRadioOn = 0;
+ ugd->ug_Status.ug_bNoContentFlag = false;
+
+ GString *fullpath = g_string_new(ugd->ug_Status.ug_pPath->str);
+
+ if (ugd->ug_Status.ug_iViewType == mf_ug_view_root && ugd->ug_Status.ug_iMore != UG_MORE_SEARCH) {
+ mf_ug_util_generate_root_view_file_list(&dir_list, ugd->ug_Status.ug_iMmcFlag);
+ ugd->ug_UiGadget.ug_pDirList = dir_list;
+ ugd->ug_UiGadget.ug_pFilterList = NULL;
+ mf_ug_util_sort_the_file_list(ugd);
+ dir_list_len = eina_list_count(dir_list);
+
+ } else {
+ error_code = mf_ug_fm_svc_wapper_get_file_list_by_filter(ugd, fullpath, &dir_list, &file_list);
+ if (error_code == 0) {
+
+ if (ugd->ug_UiGadget.ug_pDirList) {
+ mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pDirList, NODE_TYPE_PNODE);
+ ugd->ug_UiGadget.ug_pDirList = NULL;
+ }
+ if (ugd->ug_UiGadget.ug_pFilterList) {
+ mf_ug_util_free_eina_list_data(&ugd->ug_UiGadget.ug_pFilterList, NODE_TYPE_PNODE);
+ ugd->ug_UiGadget.ug_pFilterList = NULL;
+ }
+
+ ugd->ug_UiGadget.ug_pFilterList = file_list;
+ ugd->ug_UiGadget.ug_pDirList = dir_list;
+ mf_ug_util_sort_the_file_list(ugd);
+ dir_list_len = eina_list_count(dir_list);
+ filter_file_list_len = eina_list_count(ugd->ug_UiGadget.ug_pFilterList);
+ }
+
+ }
+
+ /* list option set */
+ ug_debug("error_code is [%d]dir_list_len is [%d]file_list_len is [%d]\n", error_code, dir_list_len, filter_file_list_len);
+
+
+ if ((dir_list_len == 0 && filter_file_list_len == 0)) {
+ Evas_Object *nocontent = mf_ug_widget_nocontent_create(ugd->ug_MainWindow.ug_pMainLayout, MF_UG_LABEL_NO_RESULT, UG_ICON_MULTI_NO_CONTENTS);
+ ugd->ug_Status.ug_bNoContentFlag = true;
+ mf_ug_util_add_dir_watch(fullpath->str, ugd);
+ g_string_free(fullpath, true);
+ fullpath = NULL;
+ return nocontent;
+ }
+
+ genlist = __mf_ug_genlist_create_gl(ugd);
+ elm_genlist_block_count_set(genlist, MF_UG_GENLIST_REALIZE_ITEM_COUNT);
+
+ ugd->ug_MainWindow.ug_pNaviGenlist = genlist;
+ ugFsNodeInfo *pNode = NULL;
+ char *real_name = NULL;
+ Eina_List *l = NULL;
+
+ EINA_LIST_FOREACH(ugd->ug_UiGadget.ug_pDirList, l, pNode) {
+ if (pNode) {
+ if (pNode->path && pNode->name) {
+ real_name = g_strconcat(pNode->path, "/", pNode->name, NULL);
+ }
+ } else {
+ continue;
+ }
+ count++;
+
+
+ if (ugd->ug_UiGadget.ug_iSelectMode == MULTI_FILE_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE ||
+ ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE) {
+ mf_ug_genlist_item_append(genlist, real_name, ugd, 0, &ugd->ug_Status.ug_1text1icon_itc);
+ } else {
+ mf_ug_genlist_item_append(genlist, real_name, ugd, groupValue, &ugd->ug_Status.ug_1text3icon_itc);
+ groupValue++;
+ }
+ UG_SAFE_FREE_CHAR(real_name);
+ }
+
+ if (ugd->ug_Status.ug_iViewType == mf_ug_view_root && ugd->ug_Status.ug_iMore != UG_MORE_SEARCH) {
+ mf_ug_genlist_shortcuts_append(ugd, genlist, &ugd->ug_Status.ug_1text1icon_itc);
+ }
+
+ EINA_LIST_FOREACH(ugd->ug_UiGadget.ug_pFilterList, l, pNode) {
+ if (pNode) {
+ if (pNode->path && pNode->name) {
+ real_name = g_strconcat(pNode->path, "/", pNode->name, NULL);
+ }
+ } else {
+ continue;
+ }
+ count++;
+ if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
+ mf_ug_genlist_item_append(genlist, real_name, ugd, groupValue, &ugd->ug_Status.ug_1text3icon_itc);
+ groupValue++;
+ } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) {
+ mf_ug_genlist_item_append(genlist, real_name, ugd, 0, &ugd->ug_Status.ug_1text1icon_itc);
+ } else {
+ mf_ug_genlist_item_append(genlist, real_name, ugd, 0, &ugd->ug_Status.ug_1text3icon_itc);
+ }
+ UG_SAFE_FREE_CHAR(real_name);
+ }
+
+ if (fullpath != NULL) {
+ if (ugd->ug_Status.ug_iViewType != mf_ug_view_root) {
+ mf_ug_util_add_dir_watch(fullpath->str, ugd);
+ }
+ g_string_free(fullpath, TRUE);
+ }
+ mf_ug_radio_max_set(groupValue);
+ UG_TRACE_END;
+ return genlist;
}
static char *__get_title_gl_text(void *data, Evas_Object *obj, const char *part)
{
- if (data)
- return g_strdup((char *)data);
- else
- return NULL;
+ if (data)
+ return g_strdup((char *)data);
+ else
+ return NULL;
}
static void __del_title_gl(void *data, Evas_Object * obj)
{
- UG_SAFE_FREE_CHAR(data);
+ UG_SAFE_FREE_CHAR(data);
}
Evas_Object *mf_ug_genlist_create_path_info(Evas_Object *parent, Elm_Genlist_Item_Class *itc, char *info)
{
- ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
+ ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
- Evas_Object *genlist = NULL;
- Elm_Object_Item *git=NULL;
+ Evas_Object *genlist = NULL;
+ Elm_Object_Item *git = NULL;
- genlist = elm_genlist_add(parent);
- elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+ genlist = elm_genlist_add(parent);
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+ elm_genlist_homogeneous_set(genlist, EINA_TRUE);
- itc->item_style = "grouptitle";
- itc->func.text_get = __get_title_gl_text;
- itc->func.del = __del_title_gl;
+ itc->item_style = "groupindex";
+ itc->func.text_get = __get_title_gl_text;
+ itc->func.del = __del_title_gl;
- git = elm_genlist_item_append(genlist, itc, info, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ git = elm_genlist_item_append(genlist, itc, info, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
- return genlist;
+ return genlist;
}
-void mf_ug_genlist_item_remove(Evas_Object *parent, const char *path)
+void mf_ug_genlist_item_remove(Evas_Object *parent, int storage)
{
- ug_debug("path is [%s]", path);
- ug_mf_retm_if(parent == NULL, "parent is NULL");
- ug_mf_retm_if(path == NULL, "path is NULL");
-
- ugListItemData *itemData = NULL;
- Elm_Object_Item *it = NULL;
-
- it = elm_genlist_first_item_get(parent);
- while (it) {
- itemData = elm_object_item_data_get(it);
- if (itemData->ug_pItemName == NULL || itemData->ug_pItemName->str == NULL) {
- continue;
- }
- ug_debug("itemData->m_ItemName->str is [%s]", itemData->ug_pItemName->str);
- if (g_strcmp0(path, itemData->ug_pItemName->str) == 0) {
- elm_object_item_del(it);
- break;
- }
-
- it = elm_genlist_item_next_get(it);
- }
-
+ ug_mf_retm_if(parent == NULL, "parent is NULL");
+
+ ugListItemData *itemData = NULL;
+ Elm_Object_Item *it = NULL;
+
+ it = elm_genlist_first_item_get(parent);
+ while (it) {
+ itemData = elm_object_item_data_get(it);
+ ug_debug("itemData->m_ItemName->str is [%s]", itemData->ug_pItemName->str);
+ if (storage == itemData->storage_type) {
+ Elm_Object_Item *temp_item = it;
+ it = elm_genlist_item_next_get(it);
+ elm_object_item_del(temp_item);
+ continue;
+ }
+
+ it = elm_genlist_item_next_get(it);
+ }
}
+
+Elm_Object_Item *mf_ug_genlist_first_item_get(Evas_Object *genlist)
+{
+ int x = 300;
+ int y = 220;
+ int posret = 0;
+ Elm_Object_Item *it = NULL;
+ it = elm_genlist_at_xy_item_get(genlist, x, y, &posret);
+ return it;
+}
diff --git a/src/widget/mf-ug-navi-bar.c b/src/widget/mf-ug-navi-bar.c
index d50e530..de3ebd6 100644
--- a/src/widget/mf-ug-navi-bar.c
+++ b/src/widget/mf-ug-navi-bar.c
@@ -1,18 +1,21 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+#include <efl_extension.h>
#include "mf-ug-winset.h"
#include "mf-ug-cb.h"
@@ -20,10 +23,17 @@
#include "mf-ug-util.h"
#include "mf-ug-fs-util.h"
#include "mf-ug-resource.h"
+#include "mf-ug-widget.h"
+#include "mf-ug-music.h"
+#include "mf-ug-view.h"
+#include "mf-ug-db-handle.h"
+#include "mf-ug-file-util.h"
+#define PROGRESSBAR_W 100
+#define PROGRESSBAR_H 72
/******************************
-** Prototype : __mf_ug_navi_bar_create_group_radio_box
+** Prototype : mf_ug_navi_bar_create_group_radio_box
** Description : Samsung
** Input : void *data
** Output : None
@@ -37,32 +47,32 @@
** Modification : Created function
**
******************************/
-static void __mf_ug_navi_bar_create_group_radio_box(void *data)
+void mf_ug_navi_bar_create_group_radio_box(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- Evas_Object *group_radio = NULL;
+ Evas_Object *group_radio = NULL;
- if (ugd->ug_MainWindow.ug_pRadioGroup != NULL) {
- evas_object_del(ugd->ug_MainWindow.ug_pRadioGroup);
- ugd->ug_MainWindow.ug_pRadioGroup = NULL;
- }
+ if (ugd->ug_MainWindow.ug_pRadioGroup != NULL) {
+ evas_object_del(ugd->ug_MainWindow.ug_pRadioGroup);
+ ugd->ug_MainWindow.ug_pRadioGroup = NULL;
+ }
- group_radio = elm_radio_add(ugd->ug_MainWindow.ug_pMainLayout);
- ug_mf_retm_if(group_radio == NULL, "ugd is NULL");
+ group_radio = elm_radio_add(ugd->ug_MainWindow.ug_pMainLayout);
+ ug_mf_retm_if(group_radio == NULL, "ugd is NULL");
- elm_radio_value_set(group_radio, 0);
- evas_object_hide(group_radio);
- /*/Internal/invisible Radio Objects used to group the radio buttons in the list. */
- ugd->ug_MainWindow.ug_pRadioGroup = group_radio;
- UG_TRACE_END;
+ elm_radio_value_set(group_radio, 0);
+ evas_object_hide(group_radio);
+ /*/Internal/invisible Radio Objects used to group the radio buttons in the list. */
+ ugd->ug_MainWindow.ug_pRadioGroup = group_radio;
+ UG_TRACE_END;
}
/******************************
-** Prototype : __mf_ug_navi_bar_push_content
+** Prototype : mf_ug_navi_bar_push_content
** Description : Samsung
** Input : ugData *data
** Evas_Object *NaviContent
@@ -77,102 +87,56 @@ static void __mf_ug_navi_bar_create_group_radio_box(void *data)
** Modification : Created function
**
******************************/
-static void __mf_ug_navi_bar_push_content(void *data, Evas_Object *NaviContent)
+void mf_ug_navi_bar_push_content(void *data, Evas_Object *NaviContent)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "pNavi_s is NULL");
- ugData *ugd = (ugData *)data;
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
-
- Evas_Object *NaviBar = ugd->ug_MainWindow.ug_pNaviBar;
- char *title = NULL;
-
- ugd->ug_MainWindow.ug_pPreNaviItem = ugd->ug_MainWindow.ug_pNaviItem;
-
- if (pNavi_s) {
- if(!g_strcmp0(pNavi_s->ug_pNaviTitle, "Ringtones")) {
- if (pNavi_s->ug_pNaviTitle) {
- g_free(pNavi_s->ug_pNaviTitle);
- pNavi_s->ug_pNaviTitle = NULL;
- }
- pNavi_s->ug_pNaviTitle = g_strdup(MF_UG_LABEL_RINGTONES);
- } else if(!g_strcmp0(pNavi_s->ug_pNaviTitle, "Alarms")) {
- if (pNavi_s->ug_pNaviTitle) {
- g_free(pNavi_s->ug_pNaviTitle);
- pNavi_s->ug_pNaviTitle = NULL;
- }
- pNavi_s->ug_pNaviTitle = g_strdup(MF_UG_LABEL_ALARM);
- } else if (!g_strcmp0(pNavi_s->ug_pNaviTitle, "Alerts")) {
- }
- title = pNavi_s->ug_pNaviTitle;
- }
- ug_debug("title=%s", title);
-
- ugd->ug_MainWindow.ug_pNaviItem = elm_naviframe_item_push(NaviBar, title, NULL, NULL, NaviContent, NULL);
-
- UG_TRACE_END;
-}
-
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "pNavi_s is NULL");
+ ugData *ugd = (ugData *)data;
-static Eina_Bool __mf_widget_notify_popup_timer_cb(void *data)
-{
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, EINA_FALSE, "ugd is null");
+ Evas_Object *NaviBar = ugd->ug_MainWindow.ug_pNaviBar;
+ ug_error("NaviBar is [%p]", NaviBar);
+ ugd->ug_MainWindow.ug_pPreNaviItem = ugd->ug_MainWindow.ug_pNaviItem;
- elm_object_part_content_unset(ugd->ug_MainWindow.ug_pNaviLayout,
- "sel_contents");
- UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSelectInfoLayout);
- ugd->ug_Status.pPopupTimer = NULL;
- return false;
+ if (ugd->ug_MainWindow.ug_pPreNaviItem) {
+ ugd->ug_MainWindow.ug_pNaviItem = elm_naviframe_item_insert_after(NaviBar, ugd->ug_MainWindow.ug_pPreNaviItem, NULL, NULL, NULL, NaviContent, NULL);
+ } else {
+ ugd->ug_MainWindow.ug_pNaviItem = elm_naviframe_item_push(NaviBar, "", NULL, NULL, NaviContent, NULL);
+ }
+ UG_TRACE_END;
}
-Evas_Object *mf_ug_navibar_create_notify_popup(void *data,
- Evas_Object *parent,
- char *label,
- bool time_out,
- void func(void *data, Evas_Object *obj, void *event_info))
-{
- UG_TRACE_BEGIN;
- ug_mf_retvm_if(data == NULL, NULL, "data is NULL");
- ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
- ug_mf_retvm_if(label == NULL, NULL, "label is NULL");
- ugData *ugd = (ugData *)data;
-
-
- Evas_Object *countlabel = NULL;
- if (ugd->ug_MainWindow.ug_pSelectInfoLayout && ugd->ug_Status.pPopupTimer) {
- elm_object_part_text_set(ugd->ug_MainWindow.ug_pSelectInfoLayout, "elm.text", label);
- countlabel = ugd->ug_MainWindow.ug_pSelectInfoLayout;
- } else {
- elm_object_part_content_unset(ugd->ug_MainWindow.ug_pNaviLayout,
- "sel_contents");
- UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSelectInfoLayout);
- countlabel = elm_layout_add(parent);
- evas_object_size_hint_weight_set(countlabel,
- EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(countlabel,
- EVAS_HINT_FILL,
- EVAS_HINT_FILL);
- elm_layout_theme_set(countlabel, "standard", "selectioninfo", "center_text");
- elm_object_part_text_set(countlabel, "elm.text", label);
- elm_object_part_content_set(parent,
- "sel_contents",
- countlabel);
- elm_object_signal_emit(countlabel, "show,selection,info", "elm");
- }
-
- UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.pPopupTimer);
- if (time_out) {
- ugd->ug_Status.pPopupTimer = ecore_timer_add(3, __mf_widget_notify_popup_timer_cb, ugd);
- }
-
- evas_object_show(countlabel);
- UG_TRACE_END;
- return countlabel;
-
+/******************************
+** Prototype : mf_ug_navi_bar_set_ctrl_item_disable
+** Description : Samsung
+** Input : void *data
+** Output : None
+** Return Value :
+** Calls :
+** Called By :
+**
+** History :
+** 1.Date : 2010/12/10
+** Author : Samsung
+** Modification : Created function
+**
+******************************/
+void mf_ug_navi_bar_set_ctrl_item_disable(void *data)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ bool disable = false;
+
+ if (ugd->ug_Status.ug_bNoContentFlag == true) {
+ mf_ug_navi_bar_button_set_disable(ugd, true);
+ } else {
+ disable = mf_ug_util_is_genlist_selected(ugd);
+ mf_ug_navi_bar_button_set_disable(ugd, !disable);
+ }
+
+ UG_TRACE_END;
}
/******************************
@@ -192,21 +156,22 @@ Evas_Object *mf_ug_navibar_create_notify_popup(void *data,
******************************/
Evas_Object *mf_ug_navi_bar_create_navi_bar(Evas_Object *parent)
{
- UG_TRACE_BEGIN;
- Evas_Object *navi_bar = NULL;
- ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
+ UG_TRACE_BEGIN;
+ Evas_Object *navi_bar = NULL;
+ ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
- navi_bar = elm_naviframe_add(parent);
- ug_mf_retvm_if(navi_bar == NULL, NULL, "Failed elm_navigationbar_add");
- elm_naviframe_prev_btn_auto_pushed_set(navi_bar, EINA_FALSE);
+ navi_bar = elm_naviframe_add(parent);
+ ug_mf_retvm_if(navi_bar == NULL, NULL, "Failed elm_navigationbar_add");
+ elm_naviframe_prev_btn_auto_pushed_set(navi_bar, EINA_FALSE);
- evas_object_show(navi_bar);
+ evas_object_show(navi_bar);
+ eext_object_event_callback_add(navi_bar, EEXT_CALLBACK_BACK, eext_naviframe_back_cb, NULL);
+ eext_object_event_callback_add(navi_bar, EEXT_CALLBACK_MORE, eext_naviframe_more_cb, NULL);
- UG_TRACE_END;
- return navi_bar;
+ UG_TRACE_END;
+ return navi_bar;
}
-
/******************************
** Prototype : mf_ug_navi_bar_set_new_content
** Description : Samsung
@@ -225,49 +190,49 @@ Evas_Object *mf_ug_navi_bar_create_navi_bar(Evas_Object *parent)
******************************/
void mf_ug_navi_bar_set_new_content(Evas_Object *pLayout, Evas_Object *NaviContent)
{
- UG_TRACE_BEGIN;
- Evas_Object *unUsed = elm_object_part_content_unset(pLayout, "part1");
- evas_object_del(unUsed);
- elm_object_part_content_set(pLayout, "part1", NaviContent);
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ Evas_Object *unUsed = elm_object_part_content_unset(pLayout, "part1");
+ evas_object_del(unUsed);
+ elm_object_part_content_set(pLayout, "part1", NaviContent);
+ UG_TRACE_END;
}
Evas_Object *mf_ug_navi_bar_create_box(Evas_Object * parent)
{
- UG_TRACE_BEGIN;
- ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
-
- Evas_Object *box = NULL;
- box = elm_box_add(parent);
- ug_mf_retvm_if(box == NULL, NULL, "box is NULL");
- elm_object_focus_set(box, EINA_FALSE);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
- evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_box_clear(box);
- evas_object_show(box);
- UG_TRACE_END;
- return box;
+ UG_TRACE_BEGIN;
+ ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
+
+ Evas_Object *box = NULL;
+ box = elm_box_add(parent);
+ ug_mf_retvm_if(box == NULL, NULL, "box is NULL");
+ elm_object_focus_set(box, EINA_FALSE);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
+ evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_box_clear(box);
+ evas_object_show(box);
+ UG_TRACE_END;
+ return box;
}
Evas_Object *mf_ug_navi_bar_create_layout(Evas_Object *parent, const char *edj, const char *grp_name)
{
- UG_TRACE_BEGIN;
- ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
- ug_mf_retvm_if(edj == NULL, NULL, "edj is NULL");
- ug_mf_retvm_if(grp_name == NULL, NULL, "grp_name is NULL");
-
- Evas_Object *layout = NULL;
-
- layout = elm_layout_add(parent);
- ug_mf_retvm_if(layout == NULL, NULL, "layout is NULL");
- elm_object_focus_set(layout, EINA_FALSE);
- elm_layout_file_set(layout, edj, grp_name);
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(layout);
- UG_TRACE_END;
- return layout;
+ UG_TRACE_BEGIN;
+ ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
+ ug_mf_retvm_if(edj == NULL, NULL, "edj is NULL");
+ ug_mf_retvm_if(grp_name == NULL, NULL, "grp_name is NULL");
+
+ Evas_Object *layout = NULL;
+
+ layout = elm_layout_add(parent);
+ ug_mf_retvm_if(layout == NULL, NULL, "layout is NULL");
+ elm_object_focus_set(layout, EINA_FALSE);
+ elm_layout_file_set(layout, edj, grp_name);
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(layout);
+ UG_TRACE_END;
+ return layout;
}
@@ -286,671 +251,624 @@ Evas_Object *mf_ug_navi_bar_create_layout(Evas_Object *parent, const char *edj,
** Modification : Created function
**
******************************/
-Evas_Object *__mf_ug_navi_bar_pathinfo_create(Evas_Object *parent, const char *content)
+static void __mf_ug_search_select_all_check_changed_cb(void *data, Evas_Object * obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
- ug_mf_retvm_if(content == NULL, NULL, "content is NULL");
-
- Evas_Object *layout = NULL;
-
- layout = elm_layout_add(parent);
- elm_object_focus_set(layout, EINA_FALSE);
- elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, UG_GRP_PATH_INFO);
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- elm_object_part_text_set(layout, "info", content);
- evas_object_show(layout);
- UG_TRACE_END;
- return layout;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ Evas_Object *genlist = ugd->ug_MainWindow.ug_pNaviGenlist;
+ if (ugd->ug_Status.ug_bSelectAllChecked) {
+ ugd->ug_Status.ug_iCheckedCount = ugd->ug_Status.ug_iTotalCount;
+ } else {
+ ugd->ug_Status.ug_iCheckedCount = 0;
+ }
+
+ ugListItemData *it_data;
+ Elm_Object_Item *it;
+ int count = 0;
+
+ it = elm_genlist_first_item_get(genlist);
+ while (it) {
+ it_data = elm_object_item_data_get(it);
+ if (it_data) {
+ it_data->ug_bChecked = ugd->ug_Status.ug_bSelectAllChecked;
+ count++;
+ }
+ it = elm_genlist_item_next_get(it);
+ }
+ elm_genlist_realized_items_update(genlist);
+
+ if (count > 0 && ugd->ug_Status.ug_bSelectAllChecked) {
+ char *label = NULL;
+ /*1 TODO: need to update for multi-language */
+
+ label = g_strdup_printf(mf_ug_widget_get_text(MF_UG_LABEL_SELECTED), count);
+
+ elm_object_item_part_text_set(ugd->ug_MainWindow.ug_pNaviItem, "elm.text.title", label);
+ UG_SAFE_FREE_CHAR(label);
+
+ } else {
+ if (mf_ug_util_is_import_mode(ugd->ug_UiGadget.ug_iSelectMode)) {
+ mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, MF_UG_LABEL_IMPORT_CHAP, "elm.text.title");
+ } else if (ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE || ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) {
+ mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, MF_UG_LABEL_DOCUMENTS, "elm.text.title");
+ } else {
+ char *label = NULL;
+ label = g_strdup(mf_ug_widget_get_text(MF_UG_LABEL_SELECT_ITEMS));
+ ug_error("label = %s", label);
+ elm_object_item_part_text_set(ugd->ug_MainWindow.ug_pNaviItem, "elm.text.title", label);
+ UG_SAFE_FREE_CHAR(label);
+ }
+ }
+ mf_ug_navi_bar_set_ctrl_item_disable(ugd);
+
+ UG_TRACE_END;
}
-
-void mf_ug_navi_bar_title_set(void *data)
+void mf_ug_select_all_layout_mouse_down_cb(void *data, Evas_Object *obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE
- || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE
- || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
- elm_object_part_text_set(ugd->ug_MainWindow.ug_pNaviBar, "elm.text.title", MF_UG_LABEL_IMPORT);
- } else if (!(ugd->ug_Status.ug_bSettingEntry == true && ugd->ug_Status.ug_bInSettingView == true)) {
- Evas_Object *home_btn = elm_button_add(ugd->ug_MainWindow.ug_pNaviBar);
- elm_object_style_set(home_btn, "naviframe/title_icon");
- Evas_Object *home_ic = elm_image_add(ugd->ug_MainWindow.ug_pNaviBar);
- elm_image_file_set(home_ic, UG_TITLE_ICON_HOME, NULL);
- elm_image_resizable_set(home_ic, EINA_TRUE, EINA_TRUE);
- elm_object_content_set(home_btn, home_ic);
- evas_object_smart_callback_add(home_btn, "clicked", mf_ug_cb_home_button_cb, ugd);
- evas_object_smart_callback_add(home_btn, "pressed", mf_ug_cb_home_button_pressed_cb, home_ic);
- evas_object_smart_callback_add(home_btn, "unpressed", mf_ug_cb_home_button_unpressed_cb, home_ic);
- evas_object_show(home_btn);
- elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_LEFT_BTN, home_btn);
-
- Evas_Object *up_btn = elm_button_add(ugd->ug_MainWindow.ug_pNaviBar);
- elm_object_style_set(up_btn, "naviframe/title_icon");
- Evas_Object *up_ic = elm_image_add(ugd->ug_MainWindow.ug_pNaviBar);
- elm_image_file_set(up_ic, UG_TITLE_ICON_UPPER, NULL);
- elm_image_resizable_set(up_ic, EINA_TRUE, EINA_TRUE);
- elm_object_content_set(up_btn, up_ic);
- evas_object_smart_callback_add(up_btn, "clicked", mf_ug_cb_upper_click_cb, ugd);
- evas_object_smart_callback_add(up_btn, "pressed", mf_ug_cb_upper_button_pressed_cb, up_ic);
- evas_object_smart_callback_add(up_btn, "unpressed", mf_ug_cb_upper_button_unpressed_cb, up_ic);
- evas_object_show(up_btn);
-
- elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_RIGHT_BTN, up_btn);
- }
- elm_naviframe_item_title_visible_set(ugd->ug_MainWindow.ug_pNaviItem, EINA_TRUE);
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ ugd->ug_Status.ug_bSelectAllChecked = !ugd->ug_Status.ug_bSelectAllChecked;
+ __mf_ug_search_select_all_check_changed_cb(ugd, NULL, NULL);
+ UG_TRACE_END;
}
-Eina_Bool mf_ug_navi_search_idler_cb(void *data)
+Evas_Object *__mf_ug_navibar_btn_create(Evas_Object *parent, const char *text)
{
- UG_TRACE_BEGIN;
- ug_mf_retvm_if(data == NULL, ECORE_CALLBACK_CANCEL, "data is NULL");
- ugData *ugd = (ugData *)data;
-
- mf_ug_search_view_enter_search_routine(ugd, NULL, NULL);
- ugd->ug_Status.search_idler = NULL;
-
- return ECORE_CALLBACK_CANCEL;
+ Evas_Object *btn = elm_button_add(parent);
+ if (!btn) return NULL;
+ elm_object_style_set(btn, "naviframe/title_text");
+ mf_ug_widget_object_text_set(btn, text, NULL);
+ return btn;
}
-Evas_Object *__mf_ug_navi_bar_backbutton_create(Evas_Object *parent)
+int mf_ug_navibar_get_ringtone_count(int mode)
{
- UG_TRACE_BEGIN;
- ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
-
- Evas_Object *btn = NULL;
- btn = elm_button_add(parent);
- elm_object_style_set(btn, "naviframe/end_btn/default");
- evas_object_show(btn);
- return btn;
+ int count = 0;
+ if (mode == mf_ug_sound_mode_ringtone) {
+ count = mf_ug_db_handle_ringtone_get_count();
+ } else if (mode == mf_ug_sound_mode_alert) {
+ count = mf_ug_db_handle_alert_get_count();
+ }
+ return count;
}
-
-void mf_ug_navi_add_back_button(void *data)
+bool mf_ug_navibar_ringtone_in_db(int mode, const char *path)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
-
- Evas_Object *pBackButton = NULL;
-
- pBackButton = __mf_ug_navi_bar_backbutton_create(ugd->ug_MainWindow.ug_pNaviBar);
- if (pBackButton) {
- elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, "prev_btn", pBackButton);
- evas_object_smart_callback_add(pBackButton, "clicked", mf_ug_cb_back_button_cb, ugd);
- }
+ if (mode == mf_ug_sound_mode_ringtone) {
+ return mf_ug_db_handle_find_ringtone(path);
+ } else if (mode == mf_ug_sound_mode_alert) {
+ return mf_ug_db_handle_find_alert(path);
+ }
+ return false;
}
-void mf_ug_callback_tab_click(void *data)
+void mf_ug_navi_bar_title_set(void *data)
{
- int mmc_card = 0;
- int error_code = 0;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
- Evas_Object *newContent = NULL;
- newContent = mf_ug_genlist_create_content_list_view(ugd);
- Elm_Object_Item * selected_item = elm_toolbar_selected_item_get(ugd->ug_MainWindow.ug_pTabBar);
- char *name = elm_object_item_text_get(selected_item);
-
- if(!strcmp(name, MF_UG_LABEL_MMC))
- {
- error_code = mf_ug_util_get_mmc_state(&mmc_card);
- if (error_code == 0 && mmc_card == 0)
- {
- newContent = mf_ug_genlist_no_mem_card(ugd);
- }
- }
-
- Evas_Object *playout = ugd->ug_MainWindow.ug_pNaviLayout;
- ug_mf_retm_if(playout == NULL, "get conformant failed");
- Evas_Object *unUsed = elm_object_part_content_unset(playout, "part1");
- evas_object_del(unUsed);
-
- elm_object_part_content_set(playout, "part1", newContent);
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ ug_error("ugd->ug_Status.ug_iViewType = %d", ugd->ug_Status.ug_iViewType);
+ if (mf_ug_util_is_import_mode(ugd->ug_UiGadget.ug_iSelectMode)) {
+ mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, MF_UG_LABEL_IMPORT_CHAP, "elm.text.title");
+ } else if (ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE || ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) {
+ mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, MF_UG_LABEL_DOCUMENTS, "elm.text.title");
+ } else if (ugd->ug_Status.ug_iViewType == mf_ug_view_ringtone_del) {
+ ug_error("~~~~~~~~~~~~~~~~~~~~~~~~~");
+ Evas_Object *pSelectAllLayout = NULL;
+ ugd->ug_Status.ug_bSelectAllChecked = false;
+ ugd->ug_Status.ug_iTotalCount = elm_genlist_items_count(ugd->ug_MainWindow.ug_pNaviGenlist);
+ ugd->ug_Status.ug_iCheckedCount = 0;
+
+ pSelectAllLayout = mf_widget_create_select_all_layout(ugd->ug_MainWindow.ug_pNaviBox);
+ ug_mf_retm_if(pSelectAllLayout == NULL, "pSelectAllLayout is NULL");
+ ugd->ug_MainWindow.ug_pSelectAllLayout = pSelectAllLayout;
+ evas_object_smart_callback_add(pSelectAllLayout, "clicked", mf_ug_select_all_layout_mouse_down_cb, ugd);
+
+ evas_object_show(pSelectAllLayout);
+ elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_RIGHT_BTN, pSelectAllLayout);
+ mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, MF_UG_LABEL_SELECT_ITEMS, "elm.text.title");
+ if (ugd->ug_Status.ug_iTotalCount == 0/* || ugd->ug_Status.ug_bDisableSelectAll == EINA_TRUE*/) {
+ elm_object_disabled_set(pSelectAllLayout, EINA_TRUE);
+ }
+ } else if (ugd->ug_Status.ug_iViewType != mf_ug_view_root && ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_none) {
+#if 0/*Don't support home button at Kiran*/
+ Evas_Object *home_ic = elm_image_add(ugd->ug_MainWindow.ug_pNaviBar);
+ elm_image_file_set(home_ic, UG_EDJ_IMAGE, UG_TITLE_ICON_HOME);
+ elm_image_resizable_set(home_ic, EINA_TRUE, EINA_TRUE);
+
+ Evas_Object *home_btn = mf_ug_widget_create_button(ugd->ug_MainWindow.ug_pNaviBar,
+ "naviframe/title_icon",
+ NULL,
+ home_ic,
+ mf_ug_cb_home_button_cb,
+ ugd,
+ EINA_FALSE);
+ evas_object_smart_callback_add(home_btn, "pressed", mf_ug_cb_home_button_pressed_cb, home_ic);
+ evas_object_smart_callback_add(home_btn, "unpressed", mf_ug_cb_home_button_unpressed_cb, home_ic);
+ /*elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_LEFT_BTN, home_btn);*/
+ elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_LEFT_BTN, home_btn);
+
+
+#if 0
+ Evas_Object *up_ic = elm_image_add(ugd->ug_MainWindow.ug_pNaviBar);
+ elm_image_file_set(up_ic, UG_EDJ_IMAGE, UG_TITLE_ICON_UPPER);
+ elm_image_resizable_set(up_ic, EINA_TRUE, EINA_TRUE);
+
+ Evas_Object *up_btn = mf_ug_widget_create_button(ugd->ug_MainWindow.ug_pNaviBar,
+ "naviframe/title_icon",
+ NULL,
+ up_ic,
+ mf_ug_cb_upper_click_cb,
+ ugd,
+ EINA_FALSE);
+
+ evas_object_smart_callback_add(up_btn, "pressed", mf_ug_cb_upper_button_pressed_cb, up_ic);
+ evas_object_smart_callback_add(up_btn, "unpressed", mf_ug_cb_upper_button_unpressed_cb, up_ic);
+ elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_RIGHT_BTN, up_btn);
+#endif
+#endif/*Don't support home button at Kiran*/
+ mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, ugd->ug_MainWindow.ug_pNaviTitle, "elm.text.title");
+ } else if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) {
+ if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) {
+ Evas_Object *add_ic = elm_image_add(ugd->ug_MainWindow.ug_pNaviBar);
+ elm_image_file_set(add_ic, UG_EDJ_IMAGE, UG_ICON_ADD);
+ elm_image_resizable_set(add_ic, EINA_TRUE, EINA_TRUE);
+
+ Evas_Object *add_btn = mf_ug_widget_create_button(ugd->ug_MainWindow.ug_pNaviBar,
+ "naviframe/title_icon",
+ NULL,
+ add_ic,
+ mf_ug_music_launch_cb,
+ ugd,
+ EINA_FALSE);
+ /*elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_LEFT_BTN, home_btn);*/
+ elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_LEFT_BTN, add_btn);
+
+ Evas_Object *del_ic = elm_image_add(ugd->ug_MainWindow.ug_pNaviBar);
+ elm_image_file_set(del_ic, UG_EDJ_IMAGE, UG_ICON_DELETE);
+ elm_image_resizable_set(del_ic, EINA_TRUE, EINA_TRUE);
+
+ Evas_Object *del_btn = mf_ug_widget_create_button(ugd->ug_MainWindow.ug_pNaviBar,
+ "naviframe/title_icon",
+ NULL,
+ del_ic,
+ mf_ug_ringtone_del_cb,
+ ugd,
+ EINA_FALSE);
+ elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_RIGHT_BTN, del_btn);
+ /*P131205-01044 by wangyan Dec 13,if 0, or only setted ringtone in db , do not add it in delete genlist to avoid to be deleted,*/
+ int count = mf_ug_navibar_get_ringtone_count(ugd->ug_UiGadget.ug_iSoundMode);
+ if (count == 0) {
+ elm_object_disabled_set(del_btn, EINA_TRUE);
+ } else if (count == 1 && mf_ug_navibar_ringtone_in_db(ugd->ug_UiGadget.ug_iSoundMode, ugd->ug_Status.mark_mode)) {
+ elm_object_disabled_set(del_btn, EINA_TRUE);
+ }
+ /*end*/
+
+ }
+ if (ugd->ug_UiGadget.title) {
+ elm_object_item_domain_translatable_part_text_set(ugd->ug_MainWindow.ug_pNaviItem, "elm.text.title", ugd->ug_UiGadget.domain, ugd->ug_UiGadget.title);
+ } else if (ugd->ug_MainWindow.ug_pNaviTitle) {
+ mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, ugd->ug_MainWindow.ug_pNaviTitle, "elm.text.title");
+ }
+ } else if (ugd->ug_Status.ug_iViewType == mf_ug_view_root) {
+ mf_ug_widget_object_item_text_set(ugd->ug_MainWindow.ug_pNaviItem, MF_UG_LABEL_MYFILES, "elm.text.title");
+ }
+ /*elm_naviframe_item_title_visible_set(ugd->ug_MainWindow.ug_pNaviItem, EINA_TRUE);*/
}
-void mf_ug_tab_bar_generate(void *data)
+Eina_Bool mf_ug_navi_search_idler_cb(void *data)
{
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
+ UG_TRACE_BEGIN;
+ ug_mf_retvm_if(data == NULL, ECORE_CALLBACK_CANCEL, "data is NULL");
+ ugData *ugd = (ugData *)data;
- Elm_Object_Item *item_1 = NULL;
- Elm_Object_Item *item_2 = NULL;
- Evas_Object *parent = ugd->ug_MainWindow.ug_pNaviBar;
+ mf_ug_search_view_enter_search_routine(ugd, NULL, NULL);
+ ugd->ug_Status.search_idler = NULL;
- Evas_Object *layout = mf_ug_navi_bar_create_layout(parent, UG_EDJ_NAVIGATIONBAR, UG_GRP_CTRL_BAR);
- Evas_Object * tab_bar = elm_toolbar_add(layout);
- ugd->ug_MainWindow.ug_pTabBar = tab_bar;
- elm_object_focus_set(tab_bar, EINA_FALSE);
- elm_toolbar_shrink_mode_set(tab_bar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_object_style_set(tab_bar, "tabbar");
- elm_toolbar_transverse_expanded_set(tab_bar, EINA_TRUE);
- elm_toolbar_select_mode_set(tab_bar, ELM_OBJECT_SELECT_MODE_ALWAYS);
+ return ECORE_CALLBACK_CANCEL;
+}
- evas_object_size_hint_weight_set(tab_bar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(tab_bar, EVAS_HINT_FILL, EVAS_HINT_FILL);
+Evas_Object *__mf_ug_navi_bar_backbutton_create(Evas_Object *parent)
+{
+ UG_TRACE_BEGIN;
+ ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
+ Evas_Object *btn = NULL;
+ btn = elm_button_add(parent);
+ elm_object_style_set(btn, "naviframe/end_btn/default");
- elm_object_part_content_set(layout, "content", tab_bar);
- elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "title", layout);
- item_1 = elm_toolbar_item_append(tab_bar, UG_ICON_PHONE, MF_UG_LABEL_PHONE, mf_ug_callback_tab_click, ugd);
- item_2 = elm_toolbar_item_append(tab_bar, UG_ICON_MEMORY, MF_UG_LABEL_MMC, mf_ug_callback_tab_click, ugd);
- elm_object_signal_emit(ugd->ug_MainWindow.ug_pNaviLayout, "show,title,button", "elm");
+ elm_access_info_set(btn, ELM_ACCESS_INFO, mf_ug_widget_get_text(MF_UG_LABEL_BACK));
+ evas_object_show(btn);
+ return btn;
}
-void mf_ug_navi_bar_set_ctrl_button(void *data)
+void mf_ug_navi_add_back_button(void *data)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
- Elm_Object_Item *navi_it = ugd->ug_MainWindow.ug_pNaviItem;//ap->mf_MainWindow.pNaviItem;
- Evas_Object *pNavi = ugd->ug_MainWindow.ug_pNaviBar;
- Elm_Object_Item *item_1 = NULL;
- Elm_Object_Item *item_2 = NULL;
-
-
- Evas_Object *layout = mf_ug_navi_bar_create_layout(pNavi, UG_EDJ_NAVIGATIONBAR, UG_GRP_CTRL_BAR);
- Evas_Object * tab_bar = elm_toolbar_add(layout);
- elm_object_focus_set(tab_bar, EINA_FALSE);
- elm_toolbar_shrink_mode_set(tab_bar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_object_style_set(tab_bar, "transparent");
- elm_toolbar_transverse_expanded_set(tab_bar, EINA_TRUE);
- elm_toolbar_select_mode_set(tab_bar, ELM_OBJECT_SELECT_MODE_DEFAULT);
-
- evas_object_size_hint_weight_set(tab_bar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(tab_bar, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
-
- elm_object_part_content_set(layout, "content", tab_bar);
-
- if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE
- || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE
- || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
- item_1 = elm_toolbar_item_append(tab_bar, NULL, MF_UG_LABEL_IMPORT, mf_ug_cb_add_button_cb, ugd);
- evas_object_show(tab_bar);
-
- } else if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) {
- item_1 = elm_toolbar_item_append(tab_bar, NULL, MF_UG_LABEL_EXPORT, mf_ug_cb_add_button_cb, ugd);
- item_2 = elm_toolbar_item_append(tab_bar, NULL, MF_UG_LABEL_CREATE, mf_ug_cb_more_cb, ugd);
- } else if (ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) {
- item_1 = elm_toolbar_item_append(tab_bar, NULL, MF_UG_LABEL_SAVE_HERE, mf_ug_cb_add_button_cb, ugd);
- item_2 = elm_toolbar_item_append(tab_bar, NULL, MF_UG_LABEL_CREATE, mf_ug_cb_more_cb, ugd);
- } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
- item_1 = elm_toolbar_item_append(tab_bar, NULL, MF_UG_LABEL_DONE, mf_ug_cb_add_button_cb, ugd);
- }
- else if (!(ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE)) {
- item_1 = elm_toolbar_item_append(tab_bar, NULL, MF_UG_LABEL_ATTACH, mf_ug_cb_add_button_cb, ugd);
- }
- if (item_1 || item_2)
- {
- elm_object_signal_emit(ugd->ug_MainWindow.ug_pNaviLayout, "show,toolbar,button", "elm");
- }
- elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "toolbar_button", layout);
- mf_ug_navi_add_back_button(ugd);
-
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+
+// Evas_Object *pBackButton = NULL;
+//
+// pBackButton = __mf_ug_navi_bar_backbutton_create(ugd->ug_MainWindow.ug_pNaviBar);
+// if (pBackButton) {
+// elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, "prev_btn", pBackButton);
+// elm_naviframe_item_pop_cb_set(ugd->ug_MainWindow.ug_pNaviItem, mf_ug_cb_back_button_cb, ugd);
+// }
+ elm_naviframe_item_pop_cb_set(ugd->ug_MainWindow.ug_pNaviItem, mf_ug_cb_back_button_cb, ugd);
}
+Evas_Object *mf_naviframe_left_cancel_button_create(Evas_Object *pParent, Elm_Object_Item *pNaviItem,
+ Evas_Smart_Cb pFunc, void *pUserData)
+{
+ Evas_Object *btn = elm_button_add(pParent);
+ elm_object_style_set(btn, "naviframe/title_left");
+ mf_ug_widget_object_item_translate_set(btn, MF_UG_LABEL_CANCEL_CAP);
+ evas_object_smart_callback_add(btn, "clicked", pFunc, pUserData);
+ elm_object_item_part_content_set(pNaviItem, "title_left_btn", btn);
+ evas_object_show(btn);
-void mf_ug_navi_bar_create_default_view(void *data)
-{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- GString *title = NULL;
- Evas_Object *pNaviLayout = NULL;
- Evas_Object *newContent = NULL;
- Evas_Object *box = NULL;
- Evas_Object *top_layout = NULL;
- Evas_Object *upper_genlist = NULL;
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
- ug_mf_retm_if(pNavi_s == NULL, "get navigation bar in use failed");
-
-
- /*if the muisc is playing, destory the play */
- if (0 != ugd->ug_ListPlay.ug_Player) {
- mf_ug_list_play_destory_playing_file(ugd);
- UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
- }
-
- box = mf_ug_navi_bar_create_box(ugd->ug_MainWindow.ug_pNaviBar);
- pNaviLayout = mf_ug_navi_bar_create_layout(box, UG_EDJ_NAVIGATIONBAR, UG_GRP_NAVI_VIEW);
- ugd->ug_MainWindow.ug_pNaviLayout = pNaviLayout;
- elm_object_signal_emit(ugd->ug_MainWindow.ug_pNaviLayout, "hide,toolbar,button", "elm");
-
-
- if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE
- || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE
- || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
- newContent = __mf_ug_genlist_create_gl(ugd);
- ugd->ug_MainWindow.ug_pNaviGenlist = newContent;
-
- } else {
- if (ugd->ug_Status.ug_bSettingEntry == true && ugd->ug_Status.ug_bInSettingView == true) {
- top_layout = mf_ug_navi_bar_create_box(box);
- evas_object_size_hint_min_set(top_layout, MF_UG_UPPER_WIDTH, MF_UG_UPPER_HEIGHT);
- upper_genlist = mf_navi_bar_upper_create(top_layout);
- elm_object_scroll_freeze_push(upper_genlist);
- elm_genlist_scroller_policy_set(upper_genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
- mf_ug_genlist_goto_myfile_style_set(ugd);
- mf_ug_genlist_goto_myfile_item_append(upper_genlist, ugd);
- ugd->ug_Status.ug_bUpperFlag = true;
- elm_box_pack_end(top_layout, upper_genlist);
- }
- if (top_layout) {
- elm_box_pack_start(box, top_layout);
- } else {
- ugd->ug_Status.ug_bUpperFlag = true;
- }
- /*set content */
- if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
- __mf_ug_navi_bar_create_group_radio_box(ugd);
- }
- newContent = mf_ug_genlist_create_content_list_view(ugd);
- ugd->ug_MainWindow.ug_pNaviGenlist = newContent;
- /*set title segment or title */
- if (mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath)) {
- title = g_string_new(MF_UG_LABEL_MYFILES);
- } else {
- title = mf_ug_fm_svc_wapper_get_file_name(ugd->ug_Status.ug_pPath);
- }
-
- if (title != NULL) {
- pNavi_s->ug_pNaviTitle = g_strdup(title->str);
- g_string_free(title, TRUE);
- title = NULL;
- }
- }
-
- /*navigation view integration */
- evas_object_show(newContent);
- elm_object_part_content_set(pNaviLayout, "part1", newContent);
-
- elm_box_pack_end(box, pNaviLayout);
- ugd->ug_MainWindow.ug_pNaviBox = box;
- __mf_ug_navi_bar_push_content(ugd, box);
-
- /*add control bar for navigation bar */
- elm_naviframe_item_title_visible_set(ugd->ug_MainWindow.ug_pNaviItem, EINA_FALSE);
- if(mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath))
- {
- mf_ug_tab_bar_generate(ugd);
- }
- else
- {
- elm_object_signal_emit(ugd->ug_MainWindow.ug_pNaviLayout, "hide,title,button", "elm");
- mf_ug_navi_bar_set_ctrl_button(ugd);
- mf_ug_navi_bar_title_set(ugd);
- }
-
- mf_ug_navi_bar_remove_previous_contents(ugd);
-
- if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE
- || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE
- || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
- ug_ecore_idler_del(ugd->ug_Status.search_idler);
- ugd->ug_Status.search_idler = ecore_idler_add(mf_ug_navi_search_idler_cb, ugd);
- }
- UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.play_timer);
- UG_TRACE_END;
+ return btn;
}
-void mf_ug_navi_bar_create_new_folder_view(void *data)
+Evas_Object *mf_naviframe_right_save_button_create(Evas_Object *pParent, Elm_Object_Item *pNaviItem,
+ Evas_Smart_Cb pFunc, void *pUserData)
{
+ Evas_Object *btn = elm_button_add(pParent);
+ elm_object_style_set(btn, "naviframe/title_right");
+ mf_ug_widget_object_item_translate_set(btn, MF_UG_LABEL_DONE_CAP);
+ evas_object_smart_callback_add(btn, "clicked", pFunc, pUserData);
+ elm_object_item_part_content_set(pNaviItem, "title_right_btn", btn);
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- Evas_Object *newContent = NULL;
-
- Evas_Object *pNaviBar = NULL;
- GString *title = NULL;
-
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
- ug_mf_retm_if(pNavi_s == NULL, "pNavi_s is NULL");
-
- pNaviBar = ugd->ug_MainWindow.ug_pNaviBar;
-
- /*set content*/
- newContent = mf_ug_genlist_create_list_new_folder_style(ugd);
- /*set title segment or title*/
- title = g_string_new(MF_UG_LABEL_CREATE);
-
- if (title != NULL) {
- pNavi_s->ug_pNaviTitle = g_strdup(title->str);
- g_string_free(title, TRUE);
- title = NULL;
- }
- /*navigation view integration*/
- __mf_ug_navi_bar_push_content(ugd, newContent);
-
- Evas_Object *l_bt = NULL;
- Evas_Object *r_bt = NULL;
-
- l_bt = elm_button_add(pNaviBar);
- elm_object_focus_set(l_bt, EINA_FALSE);
- elm_object_style_set(l_bt, "naviframe/title/default");
- elm_object_text_set(l_bt, MF_UG_LABEL_SAVE);
- evas_object_smart_callback_add(l_bt, "clicked", mf_ug_cb_save_cb, ugd);
- evas_object_show(l_bt);
- elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, "title_toolbar_button1", l_bt);
-
- r_bt = elm_button_add(pNaviBar);
- elm_object_focus_set(r_bt, EINA_FALSE);
- elm_object_style_set(r_bt, "naviframe/end_btn/default");
- evas_object_smart_callback_add(r_bt, "clicked", mf_ug_cb_cancel_new_folder_cb, ugd);
- evas_object_show(r_bt);
- elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, "title_prev_btn", r_bt);
- elm_object_item_signal_emit(ugd->ug_MainWindow.ug_pNaviItem, "elm,state,sip,shown", "");
-
- elm_object_focus_set(ugd->ug_MainWindow.ug_pEntry, EINA_TRUE);
- UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.play_timer);
-}
+ evas_object_show(btn);
-/******************************
-** Prototype : mf_ug_navi_bar_get_in_use_navi
-** Description : Samsung
-** Input : void* data
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-ugNaviBar *mf_ug_navi_bar_get_in_use_navi(void *data)
-{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
-
- Eina_List *pNaviList = ugd->ug_MainWindow.ug_pNaviBarList;
- ug_mf_retvm_if(pNaviList == NULL, NULL, "pNavi_sList is NULL");
-
- ugNaviBar *ret = NULL;
- Eina_List *l = NULL;
- void *item;
-
- EINA_LIST_FOREACH(pNaviList, l, item) {
- ret = (ugNaviBar *)item;
- if (ret->ug_bNaviFlagInUse == TRUE) {
- break;
- } else {
- ret = NULL;
- }
- }
- UG_TRACE_END;
- return ret;
+ return btn;
}
-
-/******************************
-** Prototype : mf_ug_navi_bar_reset_navi_object
-** Description : Samsung
-** Input : ugNaviBar *pNavi_s
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-void mf_ug_navi_bar_reset_navi_object(ugNaviBar *pNavi_s)
+void mf_ug_navi_bar_set_ctrl_button(void *data)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(pNavi_s == NULL, "pNavi_s is NULL");
-
- pNavi_s->ug_pNaviTitle = NULL;
- if (pNavi_s->ug_pCurrentPath != NULL) {
- free(pNavi_s->ug_pCurrentPath);
- pNavi_s->ug_pCurrentPath = NULL;
- }
- if (pNavi_s->ug_pNaviLabel != NULL)
- free(pNavi_s->ug_pNaviLabel);
- pNavi_s->ug_pNaviLabel = NULL;
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+ Elm_Object_Item *navi_it = ugd->ug_MainWindow.ug_pNaviItem;/*ap->mf_MainWindow.pNaviItem;*/
+ Evas_Object *pNavi = ugd->ug_MainWindow.ug_pNaviBar;
+ /*Evas_Object *ctrlbar = NULL;*/
+ if (mf_ug_util_is_import_mode(ugd->ug_UiGadget.ug_iSelectMode)) {
+ /*ctrlbar = mf_ug_widget_toolbar_create(pNavi);
+ mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_DONE, mf_ug_cb_add_button_cb, ugd);*/
+ mf_naviframe_left_cancel_button_create(pNavi, navi_it, mf_ug_cb_cancel_button_cb, ugd);
+ mf_naviframe_right_save_button_create(pNavi, navi_it, mf_ug_cb_add_button_cb, ugd);
+ } else if (ugd->ug_Status.ug_iViewType == mf_ug_view_ringtone_del) {
+ /*ctrlbar = mf_ug_widget_toolbar_create(pNavi);
+ mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_CANCEL, mf_ug_cb_cancel_button_cb, ugd);
+ mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_DELETE, mf_ug_cb_delete_button_popup_create, ugd);*/
+ mf_naviframe_left_cancel_button_create(pNavi, navi_it, mf_ug_cb_cancel_button_cb, ugd);
+ mf_naviframe_right_save_button_create(pNavi, navi_it, mf_ug_cb_delete_button_popup_create, ugd);
+ } else if (ugd->ug_Status.ug_iViewType != mf_ug_view_root) {
+ if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) {
+ /*ctrlbar = mf_ug_widget_toolbar_create(pNavi);
+ Evas_Object *more_bt = mf_ug_widget_create_button(pNavi, NAVI_BUTTON_EDIT, NULL, NULL, mf_ug_cb_more_cb, ugd, EINA_FALSE);
+ mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_CANCEL, mf_ug_cb_cancel_button_cb, ugd);
+ mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_EXPORT, mf_ug_cb_add_button_cb, ugd);
+ if (more_bt) {
+ elm_object_item_part_content_set(navi_it, NAVI_MORE_BUTTON_PART, more_bt);
+ }*/
+ mf_naviframe_left_cancel_button_create(pNavi, navi_it, mf_ug_cb_cancel_button_cb, ugd);
+ mf_naviframe_right_save_button_create(pNavi, navi_it, mf_ug_cb_add_button_cb, ugd);
+ } else if (ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) {
+ /*ctrlbar = mf_ug_widget_toolbar_create(pNavi);
+ Evas_Object *more_bt = mf_ug_widget_create_button(pNavi, NAVI_BUTTON_EDIT, NULL, NULL, mf_ug_cb_more_cb, ugd, EINA_FALSE);
+ mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_CANCEL, mf_ug_cb_cancel_button_cb, ugd);
+ mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_SAVE_HERE, mf_ug_cb_add_button_cb, ugd);
+ if (more_bt) {
+ elm_object_item_part_content_set(navi_it, NAVI_MORE_BUTTON_PART, more_bt);
+ }*/
+ mf_naviframe_left_cancel_button_create(pNavi, navi_it, mf_ug_cb_cancel_button_cb, ugd);
+ mf_naviframe_right_save_button_create(pNavi, navi_it, mf_ug_cb_add_button_cb, ugd);
+ } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
+ /*ctrlbar = mf_ug_widget_toolbar_create(pNavi);
+
+ mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_CANCEL, mf_ug_cb_cancel_button_cb, ugd);
+ mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_SET, mf_ug_cb_add_button_cb, ugd);*/
+ mf_naviframe_left_cancel_button_create(pNavi, navi_it, mf_ug_cb_cancel_button_cb, ugd);
+ mf_naviframe_right_save_button_create(pNavi, navi_it, mf_ug_cb_add_button_cb, ugd);
+ } else if (!(ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE)) {
+ /*ctrlbar = mf_ug_widget_toolbar_create(pNavi);
+ mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_CANCEL, mf_ug_cb_cancel_button_cb, ugd);
+ mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_DONE, mf_ug_cb_add_button_cb, ugd);*/
+ mf_naviframe_left_cancel_button_create(pNavi, navi_it, mf_ug_cb_cancel_button_cb, ugd);
+ mf_naviframe_right_save_button_create(pNavi, navi_it, mf_ug_cb_add_button_cb, ugd);
+ }
+ }
+ if (ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) {
+ /*ctrlbar = mf_ug_widget_toolbar_create(pNavi);
+ mf_ug_widget_item_tabbar_item_append(ctrlbar, NULL, MF_UG_LABEL_DONE, mf_ug_cb_add_button_cb, ugd);*/
+ mf_naviframe_left_cancel_button_create(pNavi, navi_it, mf_ug_cb_cancel_button_cb, ugd);
+ mf_naviframe_right_save_button_create(pNavi, navi_it, mf_ug_cb_add_button_cb, ugd);
+ }
+ /*if (ctrlbar) {
+ ugd->ug_MainWindow.ug_pNaviCtrlBar = ctrlbar;
+ elm_object_item_part_content_set(navi_it, "toolbar", ctrlbar);
+ }*/
+ mf_ug_navi_add_back_button(ugd);
}
-/******************************
-** Prototype : mf_ug_navi_bar_get_navi_struct_by_label
-** Description : Samsung
-** Input : void* data
-** const char* pNaviLabel
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-ugNaviBar *mf_ug_navi_bar_get_navi_struct_by_label(void *data, const char *pNaviLabel)
+static void _index_clicked(void *data, Evas_Object *obj, const char *em, const char *src)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
- ug_mf_retvm_if(pNaviLabel == NULL, NULL, "pNaviLabel is NULL");
-
- Eina_List *l = NULL;
- void *item = NULL;
-
- ugNaviBar *ret = NULL;
- EINA_LIST_FOREACH(ugd->ug_MainWindow.ug_pNaviBarList, l, item) {
- if (g_strcmp0(((ugNaviBar *)item)->ug_pNaviLabel, pNaviLabel) == 0) {
- ret = (ugNaviBar *)item;
- break;
- }
- }
- UG_TRACE_END;
- return ret;
+ if (!obj)
+ return;
+ elm_object_signal_emit(obj, "elm,state,slide,start", "");
}
-
-/******************************
-** Prototype : mf_ug_navi_bar_remove_navi_list_item_by_label
-** Description : Samsung
-** Input : void *data
-** const char* pNaviLabel
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-void mf_ug_navi_bar_remove_navi_list_item_by_label(void *data, const char *pNaviLabel)
+Evas_Object *mf_genlist_create_path_info(Evas_Object *parent, const char *info, Evas_Object **pathinfo)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- ug_mf_retm_if(pNaviLabel == NULL, "pNaviLabel is NULL");
-
- bool bInUseFlag = FALSE;
-
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_navi_struct_by_label(ugd, pNaviLabel);
-
- if (pNavi_s == NULL) {
- return;
- }
- Eina_List *plistNaviMMC = eina_list_data_find_list(ugd->ug_MainWindow.ug_pNaviBarList, pNavi_s);
- ugd->ug_MainWindow.ug_pNaviBarList = eina_list_remove_list(ugd->ug_MainWindow.ug_pNaviBarList, plistNaviMMC);
-
- if (pNavi_s->ug_bNaviFlagInUse == TRUE) {
- bInUseFlag = TRUE;
- }
-
- mf_ug_navi_bar_reset_navi_object(pNavi_s);
-
- if (bInUseFlag == TRUE) {
- pNavi_s = (ugNaviBar *)eina_list_nth(ugd->ug_MainWindow.ug_pNaviBarList, 0);
- pNavi_s->ug_bNaviFlagInUse = TRUE;
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN
+
+ Evas_Object *bx = elm_box_add(parent);
+ Evas_Object *ly = elm_layout_add(parent);
+ elm_layout_theme_set(ly, "genlist/item", "groupindex", "default");
+ evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, 0);
+ evas_object_size_hint_align_set(ly, -1, -1);
+ mf_ug_widget_object_text_set(ly, info, "elm.text");
+ elm_layout_signal_callback_add(ly, "mouse,clicked,1", "*", _index_clicked, NULL);
+ evas_object_show(ly);
+ elm_box_pack_end(bx, ly);
+ if (pathinfo) {
+ *pathinfo = ly;
+ }
+ return bx;
}
-
-/******************************
-** Prototype : mf_ug_navi_bar_refresh_navibar_recovered_view
-** Description : Samsung
-** Input : void *data
-** ugNaviBar* pNaviStruct
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-void mf_ug_navi_bar_refresh_navibar_recovered_view(void *data, ugNaviBar *pNaviStruct)
+void mf_ug_navi_bar_set_path_state(Evas_Object *layout, Eina_Bool flag)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- ug_mf_retm_if(pNaviStruct == NULL, "pNaviStruct is NULL");
-
- if (ugd->ug_Status.ug_pPath != NULL) {
- g_string_free(ugd->ug_Status.ug_pPath, TRUE);
- ugd->ug_Status.ug_pPath = NULL;
- }
- ugd->ug_Status.ug_pPath = g_string_new(pNaviStruct->ug_pCurrentPath);
- mf_ug_navi_bar_create_default_view(ugd);
-
- UG_TRACE_END;
+ if (!flag) {
+ ug_error();
+ elm_object_signal_emit(layout, "elm.pathinfo.hide", "elm");
+ } else {
+ ug_error();
+ elm_object_signal_emit(layout, "elm.pathinfo.show", "elm");
+ }
}
-void mf_ug_navi_bar_transition_finished_cb(void *data, Evas_Object *obj, void *event_info)
+static Eina_Bool __selected_item_show(void *data)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
- ug_mf_retm_if(obj == NULL, "obj is NULL");
- ugData *ugd = (ugData *)data;
- Elm_Object_Item *it = ugd->ug_MainWindow.ug_pPreNaviItem;
- UG_SAFE_DEL_NAVI_ITEM(it);
- ugd->ug_MainWindow.ug_pPreNaviItem = NULL;
- mf_ug_navi_bar_set_blocking(data, false);
- evas_object_smart_callback_del(obj, "transition,finished", mf_ug_navi_bar_transition_finished_cb);
- UG_TRACE_END;
+ ugData *ugd = (ugData *)data;
+
+ Elm_Object_Item *defaultitem = NULL;
+
+ if (!ugd->ug_Status.ug_bNoContentFlag && (ugd->ug_Status.ug_iRadioOn > 1)) {
+ defaultitem = elm_genlist_nth_item_get(ugd->ug_MainWindow.ug_pNaviGenlist, ugd->ug_Status.ug_iRadioOn-1);
+ if (NULL != defaultitem) {
+ ug_error("ugd->ug_Status.ug_iRadioOn = %d", ugd->ug_Status.ug_iRadioOn);
+ elm_genlist_item_show(defaultitem, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ }
+ }
+
+ ugd->show = NULL;
+ return ECORE_CALLBACK_CANCEL;
}
-void mf_ug_navi_bar_remove_previous_contents(void *data)
+void mf_ug_navi_bar_create_default_view(void *data)
{
- UG_TRACE_BEGIN;
-
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
- Evas_Object *pNaviBar = NULL;
- if (ugd->ug_MainWindow.ug_pNaviBar) {
- pNaviBar = ugd->ug_MainWindow.ug_pNaviBar;
- mf_ug_navi_bar_set_blocking(data, true);
- evas_object_smart_callback_add(pNaviBar, "transition,finished", mf_ug_navi_bar_transition_finished_cb, ugd);
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ Evas_Object *pNaviLayout = NULL;
+ Evas_Object *newContent = NULL;
+ Evas_Object *box = NULL;
+
+ /*if the muisc is playing, destory the play */
+ if (0 != ugd->ug_ListPlay.ug_Player) {
+ mf_ug_list_play_destory_playing_file(ugd);
+ ugd->ug_ListPlay.play_data = NULL;
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ }
+ ugd->ug_Status.ug_iCheckedCount = 0;
+ box = mf_ug_navi_bar_create_box(ugd->ug_MainWindow.ug_pNaviBar);
+ pNaviLayout = mf_ug_navi_bar_create_layout(box, UG_EDJ_NAVIGATIONBAR, UG_GRP_NAVI_VIEW);
+ ugd->ug_MainWindow.ug_pNaviLayout = pNaviLayout;
+
+
+ ug_error("ugd->ug_UiGadget.ug_iSelectMode = %d", ugd->ug_UiGadget.ug_iSelectMode);
+ if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE
+ || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE
+ || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE
+ || ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE
+ || ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) {
+ if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
+ mf_ug_navi_bar_create_group_radio_box(ugd);
+ }
+ mf_ug_navi_bar_set_path_state(pNaviLayout, EINA_FALSE);
+ newContent = __mf_ug_genlist_create_gl(ugd);
+ ugd->ug_MainWindow.ug_pNaviGenlist = newContent;
+ } else {
+ if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) {
+ mf_ug_navi_bar_set_path_state(pNaviLayout, EINA_FALSE);
+ } else if (ugd->ug_Status.ug_iViewType != mf_ug_view_root) {
+ Evas_Object *pathinfo_layout = NULL;
+ char *info = NULL;
+ pathinfo_layout = mf_ug_tabbar_create_path_tab(pNaviLayout, ugd->ug_Status.ug_pPath->str);/*mf_genlist_create_path_info(top_layout,info,&ugd->ug_MainWindow.pPathinfo);*/
+ elm_object_part_content_set(pNaviLayout, "pathinfo", pathinfo_layout);
+ UG_SAFE_FREE_CHAR(info);
+ } else {
+ mf_ug_navi_bar_set_path_state(pNaviLayout, EINA_FALSE);
+ }
+
+ /*set content */
+ if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE
+ || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
+ mf_ug_navi_bar_create_group_radio_box(ugd);
+ }
+
+ newContent = mf_ug_genlist_create_content_list_view(ugd);
+ if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
+ if (!ugd->show) {
+ ugd->show = ecore_idler_add(__selected_item_show, ugd);
+ }
+ }
+ ugd->ug_MainWindow.ug_pNaviGenlist = newContent;
+ UG_SAFE_FREE_CHAR(ugd->ug_MainWindow.ug_pNaviTitle);
+ /*set title segment or title */
+ if (ugd->ug_UiGadget.title) {
+ ugd->ug_MainWindow.ug_pNaviTitle = g_strdup(ugd->ug_UiGadget.title);
+ } else {
+ if (mf_ug_fm_svc_wapper_is_root_path(ugd->ug_Status.ug_pPath->str) || ugd->ug_Status.ug_iViewType == mf_ug_view_root) {
+ ugd->ug_MainWindow.ug_pNaviTitle = g_strdup(MF_UG_LABEL_MYFILES);
+ } else {
+ ugd->ug_MainWindow.ug_pNaviTitle = g_strdup(mf_file_get(ugd->ug_Status.ug_pPath->str));
+ }
+
+ }
+ }
+
+ /*navigation view integration */
+ evas_object_show(newContent);
+ elm_box_pack_end(box, newContent);
+ ugd->ug_MainWindow.ug_pNaviBox = box;
+ elm_object_part_content_set(pNaviLayout, "part1", box);
+
+ if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE ||
+ ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
+ mf_ug_navi_bar_push_content(ugd, pNaviLayout);
+ } else {
+ if (eina_list_count(ugd->ug_UiGadget.ug_pFilterList) != 0) {
+ if (ugd->ug_MainWindow.ug_pNaviBox) {
+ Evas_Object *pSelectAllLayout = NULL;
+ Evas_Object *pSelectAllCheckBox = NULL;
+ mf_ug_object_create_select_all_layout(ugd->ug_MainWindow.ug_pNaviBar, mf_ug_select_all_cb, (Evas_Object_Event_Cb)mf_ug_item_sel_all_press_cb , ugd, &pSelectAllCheckBox, &pSelectAllLayout);
+ ugd->ug_MainWindow.ug_pSelectAllCheckBox = pSelectAllCheckBox;
+ if (pSelectAllLayout && pSelectAllCheckBox) {
+ elm_box_pack_start(ugd->ug_MainWindow.ug_pNaviBox, pSelectAllLayout);
+ }
+ }
+ }
+ mf_ug_navi_bar_push_content(ugd, pNaviLayout);
+ }
+ /*add control bar for navigation bar */
+ /*mf_ug_ctrl_bar_set(ugd, pNavi_s);*/
+ mf_ug_navi_bar_set_ctrl_button(ugd);
+
+ mf_ug_navi_bar_title_set(ugd);
+ mf_ug_navi_bar_remove_previous_contents(ugd);
+
+ if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE
+ || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE
+ || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE
+ || ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE
+ || ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) {
+ ug_ecore_idler_del(ugd->ug_Status.search_idler);
+ ugd->ug_Status.search_idler = ecore_idler_add(mf_ug_navi_search_idler_cb, ugd);
+ }
+ UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.play_timer);
+ UG_TRACE_END;
}
-void mf_ug_navi_bar_del_item_directly(void *data)
+void mf_ug_navi_bar_create_delete_view(void *data)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
-
- if (ugd->ug_Status.ug_b_NaviPushFlag) {
- ugNaviBar *pNavi_s_previous = NULL;
- pNavi_s_previous = mf_ug_navi_bar_get_in_use_navi(ugd) ;
- if(pNavi_s_previous && ugd->ug_MainWindow.ug_pPreNaviItem)
- {
- UG_SAFE_DEL_NAVI_ITEM(ugd->ug_MainWindow.ug_pPreNaviItem);
- mf_ug_navi_bar_set_blocking(ugd, false);
- evas_object_smart_callback_del(ugd->ug_MainWindow.ug_pNaviBar, "transition,finished", mf_ug_navi_bar_transition_finished_cb);
- }
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ Evas_Object *pNaviLayout = NULL;
+ Evas_Object *newContent = NULL;
+ Evas_Object *box = NULL;
+
+ /*if the muisc is playing, destory the play */
+ if (0 != ugd->ug_ListPlay.ug_Player) {
+ mf_ug_list_play_destory_playing_file(ugd);
+ ugd->ug_ListPlay.play_data = NULL;
+ UG_SAFE_FREE_CHAR(ugd->ug_ListPlay.ug_pPlayFilePath);
+ }
+
+ box = mf_ug_navi_bar_create_box(ugd->ug_MainWindow.ug_pNaviBar);
+ pNaviLayout = mf_ug_navi_bar_create_layout(box, UG_EDJ_NAVIGATIONBAR, UG_GRP_NAVI_VIEW);
+ ugd->ug_MainWindow.ug_pNaviLayout = pNaviLayout;
+
+ ug_error("ugd->ug_UiGadget.ug_iSelectMode = %d", ugd->ug_UiGadget.ug_iSelectMode);
+ mf_ug_navi_bar_set_path_state(pNaviLayout, EINA_FALSE);
+ newContent = mf_ug_genlist_delete_style_create(ugd);
+ ugd->ug_MainWindow.ug_pNaviGenlist = newContent;
+ if (ugd->ug_UiGadget.ug_iSoundMode != mf_ug_sound_mode_none) {
+ /*P131205-01044 by wangyan*/
+ mf_ug_genlist_ringtone_delete_items_add(ugd, 0);
+ }
+
+ /*navigation view integration */
+ evas_object_show(newContent);
+ elm_object_part_content_set(pNaviLayout, "part1", newContent);
+ elm_box_pack_end(box, pNaviLayout);
+ ugd->ug_MainWindow.ug_pNaviBox = box;
+ mf_ug_navi_bar_push_content(ugd, box);
+
+ mf_ug_navi_bar_set_ctrl_button(ugd);
+
+ mf_ug_navi_bar_title_set(ugd);
+ mf_ug_navi_bar_set_ctrl_item_disable(ugd);
+ mf_ug_navi_bar_remove_previous_contents(ugd);
+ UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.play_timer);
+ UG_TRACE_END;
}
-void mf_ug_navi_bar_set_blocking(void *data, bool bblock_during_transition)
+void mf_ug_navi_bar_remove_previous_contents(void *data)
{
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
+ UG_TRACE_BEGIN;
- ugd->ug_Status.ug_bCancelDisableFlag = bblock_during_transition;
- ugd->ug_Status.ug_b_NaviPushFlag = bblock_during_transition;
- return;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+ UG_SAFE_DEL_NAVI_ITEM(&ugd->ug_MainWindow.ug_pPreNaviItem);
+ UG_TRACE_END;
}
-ugNaviBar *ug_mf_navi_bar_get_navi_from_navilist(Eina_List *navilist, const char *label)
-{
-
- UG_TRACE_BEGIN;
- ug_mf_retvm_if(navilist == NULL, NULL, "navilist is NULL");
- ug_mf_retvm_if(label == NULL, NULL, "label is NULL");
-
- void *data = NULL;
- ugNaviBar *pNavi = NULL;
- Eina_List *l = NULL;
- EINA_LIST_FOREACH(navilist, l, data) {
- if (data) {
- pNavi = (ugNaviBar *)data;
- if (pNavi && pNavi->ug_pNaviLabel && g_strcmp0(label, pNavi->ug_pNaviLabel) == 0)
- return pNavi;
- else
- continue;
- }
- }
- return NULL;
-}
void mf_ug_navi_bar_button_set_disable(void *data, bool disable)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- Evas_Object *btn = NULL;
- Elm_Object_Item *navi_it = ugd->ug_MainWindow.ug_pNaviItem;
-
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
- ug_mf_retm_if(pNavi_s == NULL, "get navigation bar in use failed");
-
- const char *disable_labe = NULL;
- if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE
- || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_PATH_SELECT_MODE
- || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
- disable_labe = MF_UG_LABEL_IMPORT;
- } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
- disable_labe = MF_UG_LABEL_SET;
- }
- else {
- disable_labe = MF_UG_LABEL_ATTACH;
- }
- btn = elm_object_item_part_content_get(navi_it, NAVI_BOTTOM_BUTTON_1_PART);
- const char *button_label = elm_object_text_get(btn);
- if (g_strcmp0(button_label, disable_labe) == 0)
- elm_object_disabled_set(btn, disable);
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ Elm_Object_Item *navi_it = ugd->ug_MainWindow.ug_pNaviItem;
+#if 0
+ Evas_Object *ctrlbar = elm_object_item_part_content_get(navi_it, "toolbar");
+ Elm_Object_Item *item = NULL;
+ const char *button_label = NULL;
+ item = elm_toolbar_first_item_get(ctrlbar);
+
+ while (item) {
+ button_label = elm_object_item_part_text_get(item, "elm.text");
+
+ if (ugd->ug_Status.ug_iViewType == mf_ug_view_ringtone_del) {
+ if (g_strcmp0(button_label, mf_ug_widget_get_text(MF_UG_LABEL_DELETE)) == 0
+ || g_strcmp0(button_label, MF_UG_LABEL_DELETE) == 0)
+ elm_object_item_disabled_set(item, disable);
+ } else if (mf_ug_util_is_import_mode(ugd->ug_UiGadget.ug_iSelectMode)) {
+ if (g_strcmp0(button_label, mf_ug_widget_get_text(MF_UG_LABEL_DONE)) == 0
+ || g_strcmp0(button_label, MF_UG_LABEL_DONE) == 0)
+ elm_object_item_disabled_set(item, disable);
+ } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_ALL_MODE || ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
+ if (g_strcmp0(button_label, mf_ug_widget_get_text(MF_UG_LABEL_SET)) == 0
+ || g_strcmp0(button_label, MF_UG_LABEL_SET) == 0)
+ elm_object_item_disabled_set(item, disable);
+ } else {
+ if (g_strcmp0(button_label, mf_ug_widget_get_text(MF_UG_LABEL_DONE)) == 0
+ || g_strcmp0(button_label, MF_UG_LABEL_DONE) == 0)
+ elm_object_item_disabled_set(item, disable);
+ }
+ button_label = NULL;
+ item = elm_toolbar_item_next_get(item);
+
+ }
+#endif
+ Evas_Object *btn = elm_object_item_part_content_get(navi_it, "title_right_btn");
+ if (btn) {
+ elm_object_disabled_set(btn, disable);
+ }
}
-
diff --git a/src/widget/mf-ug-popup.c b/src/widget/mf-ug-popup.c
index d789a51..348d52a 100644
--- a/src/widget/mf-ug-popup.c
+++ b/src/widget/mf-ug-popup.c
@@ -1,137 +1,103 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include <notification.h>
+#include <efl_extension.h>
#include "mf-ug-util.h"
#include "mf-ug-winset.h"
+#include "mf-ug-widget.h"
#include "mf-ug-fs-util.h"
#include "mf-ug-cb.h"
+#include "mf-ug-fm-svc-wrapper.h"
#include "mf-ug-resource.h"
+#include "mf-ug-music.h"
+#include "mf-ug-db-handle.h"
+#define MF_UG_POPUP_BTN_STYLE "popup_button/default"
#define MF_UG_POPUP_STYLE_MIN_MENUSTYLE "min_menustyle"
#define MF_UG_POPUP_MENUSTYLE_WIDTH (614*elm_config_scale_get())
#define MF_UG_POPUP_MENUSTYLE_HEIGHT(x) ((113*x-1)*elm_config_scale_get())
#define MF_UG_POPUP_MENUSTYLE_HEIGHT_MAX (408*elm_config_scale_get())
-Elm_Genlist_Item_Class ug_listby_itc;
-#define MF_UG_ITEM_COUNT 4
+#define MF_UG_ITEM_COUNT 4
-typedef struct {
- int index;
- ugData* ugd;
-} ugListByData_s;
+#define MF_CTXPOPUP_OBJ_DATA_KEY "mf_ctxpopup_data_key"
+#define MF_CTXPOPUP_OBJ_MORE_BTN_KEY "mf_ctxpopup_more_btn_key"
+#define MF_CTXPOPUP_OBJ_ROTATE_KEY "mf_ctxpopup_rotate_key"
+#define MF_CTXPOPUP_STYLE_MORE "more/default"
-static int __mf_ug_popup_get_list_by_selected_item(void *data)
+static Eina_Bool present_flag = EINA_FALSE;
+
+static Evas_Object *global_progress = NULL;
+
+void mf_ug_progress_set(Evas_Object *progress)
{
- ug_mf_retvm_if(data == NULL, 0, "data is NULL");
- ugData *ugd = (ugData *)data;
-
- int iSortTypeValue = ugd->ug_Status.ug_iSortType;
-
- int ret = -1;
- switch (iSortTypeValue) {
- case MF_UG_SORT_BY_DATE_O2R:
- case MF_UG_SORT_BY_DATE_R2O:
- ret = 1;
- break;
- case MF_UG_SORT_BY_TYPE_A2Z:
- case MF_UG_SORT_BY_TYPE_Z2A:
- ret = 3;
- break;
- case MF_UG_SORT_BY_NAME_A2Z:
- case MF_UG_SORT_BY_NAME_Z2A:
- ret = 0;
- break;
- case MF_UG_SORT_BY_SIZE_S2L:
- case MF_UG_SORT_BY_SIZE_L2S:
- ret = 2;
- break;
- default:
- ret = 0;
- break;
- }
- return ret;
+ global_progress = progress;
}
+Evas_Object *mf_ug_progress_get()
+{
+ return global_progress;
+}
-static char *__mf_ug_popup_get_genlist_label(void *data, Evas_Object * obj, const char *part)
+void mf_ug_popup_present_flag_set(Eina_Bool flag)
{
- ugListByData_s *params = (ugListByData_s *) data;
- assert(params);
- ugData *ugd = params->ugd;
- assert(ugd);
- assert(part);
-
- char *ret = NULL;
- if (!strcmp(part, "elm.text")) {
- switch (params->index) {
- case 0: /**< Sort by file name ascending */
- ret = g_strdup(MF_UG_LABEL_NAME);
- break;
- case 1: /**< Sort by file size ascending */
- ret = g_strdup(MF_UG_LABEL_DATE);
- break;
- case 2: /**< Sort by file date ascending */
- ret = g_strdup(MF_UG_LABEL_SIZE);
- break;
- case 3: /**< Sort by file type ascending */
- ret = g_strdup(MF_UG_LABEL_TYPE);
- break;
- default:
- break;
- }
- return ret;
- }
- return NULL;
+ present_flag = flag;
+
}
-static Evas_Object* __mf_ug_popup_get_genlist_icon(void *data, Evas_Object * obj, const char *part)
+Eina_Bool mf_ug_popup_present_flag_get()
{
- ugListByData_s *params = (ugListByData_s *) data;
- assert(params);
- ugData *ugd = params->ugd;
- assert(ugd);
- assert(part);
-
- if (!strcmp(part, "elm.icon")) {
- Evas_Object *radio = NULL;
- radio = elm_radio_add(obj);
- elm_object_focus_set(radio, EINA_FALSE);
- elm_radio_state_value_set(radio, params->index);
- elm_radio_group_add(radio, ugd->ug_Status.ug_pRadioGroup);
- elm_radio_value_set(radio, ugd->ug_Status.ug_iRadioValue);
- evas_object_show(radio);
- return radio;
- }
- return NULL;
+ return present_flag;
}
-static void __mf_ug_popup_genlist_select(void *data, Evas_Object * obj, void *event_info)
+void mf_ug_popup_present_del(const char *fullpath, const char *present_path)
{
- assert(data);
- assert(event_info);
- ugListByData_s *params = NULL;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- if (item != NULL) {
- params = (ugListByData_s *) elm_object_item_data_get(item);
- if (params != NULL && params->ugd != NULL) {
- params->ugd->ug_Status.ug_iSelectedSortType = params->index;
- elm_radio_value_set(params->ugd->ug_Status.ug_pRadioGroup, params->index);
- }
- }
+ ug_mf_retm_if(fullpath == NULL, "fullpath is NULL");
+ ug_mf_retm_if(present_path == NULL, "present_path is NULL");
+
+ if (g_strcmp0(fullpath, present_path) == 0) {
+ mf_ug_popup_present_flag_set(EINA_TRUE);
+ }
+}
+static void __mf_popup_new_folder_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNewFolderPopup);
+ ugd->ug_Status.ug_iMore = UG_MORE_DEFAULT;
+
+}
+static void __mf_popup_search_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ ugd->ug_MainWindow.ug_pSearchPopup = NULL;
+ ugd->ug_MainWindow.ug_pSearchLabel = NULL;
+
+}
+static void __mf_popup_normal_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ ugd->ug_MainWindow.ug_pNormalPopup = NULL;
+
}
/******************************
@@ -157,443 +123,609 @@ static void __mf_ug_popup_genlist_select(void *data, Evas_Object * obj, void *ev
** Modification : Created function
**
******************************/
-static Evas_Object *__ug_mf_popup_button_create(Evas_Object *parent, const char *label)
+Evas_Object *mf_ug_popup_create_search(void *data, Evas_Smart_Cb back_func, void *back_param)
{
- Evas_Object *btn = NULL;
- btn = elm_button_add(parent);
- if (label) {
- elm_object_text_set(btn, label);
- }
- return btn;
-
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
+ /*To fix P131203-07786 by wangyan[S Note]"Processing..." information is not centered on displayed popup.*/
+ Evas_Object *popup;
+ Evas_Object *progressbar;
+ Evas_Object *layout;
+
+ popup = elm_popup_add(ugd->ug_MainWindow.ug_pMainLayout);
+ layout = elm_layout_add(popup);
+ elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, "popup_processingview_1button");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ /*get the processing object
+ label = elm_layout_add(layout);
+ elm_object_part_content_set(layout, "elm.swallow.text", label);
+ ugd->ug_MainWindow.ug_pSearchLabel = label;*/
+
+ mf_ug_widget_object_text_set(popup, MF_UG_LABEL_SEARCH, "title,text");
+ mf_ug_widget_object_text_set(layout, MF_UG_LABEL_PROCESSING, "elm.text");
+
+ progressbar = elm_progressbar_add(popup);
+ elm_progressbar_pulse(progressbar, EINA_TRUE);
+ elm_object_style_set(progressbar, "process_large");
+ elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
+ evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(progressbar);
+ elm_object_part_content_set(layout, "elm.swallow.content", progressbar);
+
+ elm_object_content_set(popup, layout);
+ if (back_func) {
+ Evas_Object *btn1 = mf_ug_widget_create_button(popup,
+ "popup_button/default",
+ MF_UG_LABEL_CANCEL,
+ NULL,
+ back_func,
+ back_param,
+ EINA_FALSE);
+ elm_object_part_content_set(popup, "button1", btn1);
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, back_func, back_param);
+ } else {
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, data);
+ }
+ evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL, __mf_popup_search_del_cb, ugd);
+ evas_object_show(popup);
+ return popup;
}
-static Evas_Object *__mf_ug_popup_box_set(Evas_Object *parent, Evas_Object *content, int item_cnt)
+void mf_ug_popup_del_by_timeout(void *data, Evas_Object *obj, void *event_info)
{
- ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
- ug_mf_retvm_if(content == NULL, NULL, "content is NULL");
- ug_mf_retvm_if(item_cnt < 0, NULL, "content is NULL");
-
- Evas_Object *box = elm_box_add(parent);
- if (item_cnt > MF_UG_ITEM_COUNT) {
- evas_object_size_hint_min_set(box, MF_UG_POPUP_MENUSTYLE_WIDTH,
- MF_UG_POPUP_MENUSTYLE_HEIGHT(item_cnt));
- } else {
- evas_object_size_hint_min_set(box, MF_UG_POPUP_MENUSTYLE_WIDTH,
- MF_UG_POPUP_MENUSTYLE_HEIGHT(item_cnt));
- }
-
- evas_object_show(content);
- elm_box_pack_end(box, content);
- return box;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ if (ugd->ug_MainWindow.ug_pNormalPopup) {/*Add the protection*/
+ evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup);
+ ugd->ug_MainWindow.ug_pNormalPopup = NULL;
+ }
+ if (ugd->ug_MainWindow.ug_pWindow) {
+ elm_object_focus_set(ugd->ug_MainWindow.ug_pWindow, EINA_TRUE);
+ }
+ UG_TRACE_END;
+
}
-Evas_Object *mf_ug_popup_create_search(void *data, Evas_Smart_Cb func, void *param)
+Evas_Object *mf_ug_popup_create(void *data, mf_ug_popup_mode popupMode, char *title, const char *context, const char *first_btn_text, const char *second_btn_text,
+ const char *third_btn_text, Evas_Smart_Cb func, void *param)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
- Evas_Object *popup = NULL;
- Evas_Object *btn1 = NULL;
- Evas_Object *box = NULL;
- Evas_Object *content = NULL;
- Evas_Object *label = NULL;
-
- popup = elm_popup_add(ugd->ug_MainWindow.ug_pMainLayout);
- elm_object_style_set(popup,"min_menustyle");
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- ugd->ug_MainWindow.ug_pNormalPopup = popup;
-
-
-
- btn1 = elm_button_add(popup);
- elm_object_text_set(btn1, MF_UG_LABEL_CANCEL);
- elm_object_part_content_set(popup, "button1", btn1);
- evas_object_smart_callback_add(btn1, "clicked", func, param);
-
- box = elm_box_add(popup);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- content = elm_layout_add(popup);
- elm_layout_file_set(content, UG_EDJ_NAVIGATIONBAR, UG_GRP_SEARCH_PATH);
-
- evas_object_size_hint_weight_set(content, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(content, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
- label = elm_label_add(content);
- ugd->ug_MainWindow.ug_pSearchLabel = label;
- elm_object_style_set(label, "popup/default");
- elm_label_wrap_width_set(label, 720);
- elm_label_ellipsis_set(label, EINA_TRUE);
- evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_text_set(label, "Test");
-
-
- elm_object_part_content_set(content, "path", label);
- evas_object_show(label);
- elm_box_pack_end(box, content);
-
- evas_object_size_hint_min_set(box, 720, 300);
- evas_object_size_hint_max_set(box, 720, 300);
-
- evas_object_show(btn1);
- evas_object_show(content);
- evas_object_show(box);
+ Evas_Object *popup;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
+
+ Evas_Object *btn1 = NULL;
+ Evas_Object *btn2 = NULL;
+ popup = elm_popup_add(ugd->ug_MainWindow.ug_pMainLayout);
+
+ ugd->ug_MainWindow.ug_pNormalPopup = popup;
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ if (title) {
+ mf_ug_widget_object_text_set(popup, title, "title,text");
+ }
+ if (context && popupMode != UG_POPMODE_PROGRESSBAR) {
+ mf_ug_widget_object_text_set(popup, context, NULL);
+ }
+ switch (popupMode) {
+ case UG_POPMODE_TEXT:
+ case UG_POPMODE_TITLE_TEXT:
+ elm_popup_timeout_set(popup, 3);
+ if (func) {
+ evas_object_smart_callback_add(popup, "timeout", (Evas_Smart_Cb) func, param);
+ } else {
+ evas_object_smart_callback_add(popup, "timeout", (Evas_Smart_Cb) mf_ug_popup_del_by_timeout, ugd);
+ }
+ break;
+ case UG_POPMODE_TEXT_TWO_BTN:
+ case UG_POPMODE_TITLE_TEXT_TWO_BTN:
+
+ btn1 = mf_ug_widget_create_button(popup,
+ MF_UG_POPUP_BTN_STYLE,
+ first_btn_text,
+ NULL,
+ func,
+ param,
+ EINA_FALSE);
+ btn2 = mf_ug_widget_create_button(popup,
+ MF_UG_POPUP_BTN_STYLE,
+ second_btn_text,
+ NULL,
+ func,
+ param,
+ EINA_FALSE);
+ elm_object_part_content_set(popup, "button1", btn1);
+ elm_object_part_content_set(popup, "button2", btn2);
+ break;
+ case UG_POPMODE_TEXT_BTN:
+ case UG_POPMODE_TITLE_TEXT_BTN:
+ btn1 = mf_ug_widget_create_button(popup,
+ MF_UG_POPUP_BTN_STYLE,
+ MF_UG_LABEL_OK,
+ NULL,
+ func,
+ param,
+ EINA_TRUE);
+ elm_object_part_content_set(popup, "button1", btn1);
+ break;
+ case UG_POPMODE_SEARCH:
+ btn1 = mf_ug_widget_create_button(popup,
+ MF_UG_POPUP_BTN_STYLE,
+ MF_UG_LABEL_CANCEL,
+ NULL,
+ func,
+ param,
+ EINA_TRUE);
+ elm_object_part_content_set(popup, "button1", btn1);
+ break;
+ default:
+ evas_object_del(popup);
+ return NULL;
+ }
+ evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL, __mf_popup_normal_del_cb, ugd);
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, data);
+ evas_object_show(popup);
+ return popup;
+}
- elm_object_content_set(popup, box);
+void mf_ug_popup_indicator_popup(char *text)
+{
+ ug_mf_retm_if(text == NULL, "text is NULL");
+ int ret = notification_status_message_post(text);
+ ug_debug("status_message_post()... [0x%x]!", ret);
+ if (ret != 0) {
+ ug_debug("status_message_post()... [0x%x]!", ret);
+ }
+ return ;
+}
- evas_object_show(popup);
- return popup;
+static void _move_more_ctxpopup(void *data, Evas_Object *win, Evas_Object *ctxpopup)
+{
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ Evas_Coord w, h;
+ int pos = -1;
+ elm_win_screen_size_get(win, NULL, NULL, &w, &h);
+ pos = elm_win_rotation_get(win);
+ switch (pos) {
+ case 0:
+ case 180:
+ evas_object_move(ctxpopup, 0, h);
+ break;
+ case 90:
+ evas_object_move(ctxpopup, 0, w);
+ break;
+ case 270:
+ evas_object_move(ctxpopup, h, w);
+ break;
+ }
}
-Evas_Object *mf_ug_popup_create(void *data, mf_ug_popup_mode popupMode, char *title, const char *context, const char *first_btn_text, const char *second_btn_text,
- const char *third_btn_text, Evas_Smart_Cb func, void *param)
+static void __mf_ctxpopup_hide_cb(void *data, Evas_Object *obj, void *ei)
{
- Evas_Object *popup;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
-
- Evas_Object *genlist;
- Evas_Object *radio_group = NULL;
- Evas_Object *box = NULL;
- Evas_Object *btn1 = NULL;
- Evas_Object *btn2 = NULL;
- int index = 0;
- int listby_selected= 0;
-
- popup = elm_popup_add(ugd->ug_MainWindow.ug_pMainLayout);
- ugd->ug_MainWindow.ug_pNormalPopup = popup;
- evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- if (title) {
- elm_object_part_text_set(popup, "title,text", title);
- }
- if (context && popupMode != UG_POPMODE_PROGRESSBAR) {
- elm_object_text_set(popup, context);
- }
- switch (popupMode) {
- case UG_POPMODE_TEXT:
- case UG_POPMODE_TITLE_TEXT:
- elm_popup_timeout_set(popup, 3);
- if (func) {
- evas_object_smart_callback_add(popup, "timeout", (Evas_Smart_Cb) func, param);
- }
- break;
- case UG_POPMODE_TEXT_TWO_BTN:
- case UG_POPMODE_TITLE_TEXT_TWO_BTN:
- btn1 = __ug_mf_popup_button_create(popup, first_btn_text);
- btn2 = __ug_mf_popup_button_create(popup, second_btn_text);
-
- evas_object_smart_callback_add(btn1, "clicked", func, param);
- evas_object_smart_callback_add(btn2, "clicked", func, param);
- elm_object_part_content_set(popup, "button1", btn1);
- elm_object_part_content_set(popup, "button2", btn2);
- break;
- case UG_POPMODE_TEXT_BTN:
- case UG_POPMODE_TITLE_TEXT_BTN:
- btn1 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_OK);
- evas_object_smart_callback_add(btn1, "clicked", func, param);
- elm_object_part_content_set(popup, "button1", btn1);
- break;
- case UG_POPMODE_SEARCH:
- btn1 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_CANCEL);
- evas_object_smart_callback_add(btn1, "clicked", func, param);
- elm_object_part_content_set(popup, "button1", btn1);
- break;
- case UG_POPMODE_LIST_BY:
- elm_object_style_set(popup, MF_UG_POPUP_STYLE_MIN_MENUSTYLE);
-
- btn1 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_ASCENDING);
- evas_object_smart_callback_add(btn1, "clicked", func, param);
- elm_object_part_content_set(popup, "button1", btn1);
-
- btn2 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_DESCENDING);
- evas_object_smart_callback_add(btn2, "clicked", func, param);
- elm_object_part_content_set(popup, "button2", btn2);
-
- if (ugd->ug_Status.ug_pRadioGroup) {
- evas_object_del(ugd->ug_Status.ug_pRadioGroup);
- ugd->ug_Status.ug_pRadioGroup = NULL;
- }
-
- radio_group = elm_radio_add(ugd->ug_MainWindow.ug_pWindow);
- elm_object_focus_set(radio_group, EINA_FALSE);
- elm_radio_value_set(radio_group, 0);
- evas_object_hide(radio_group);
- ugd->ug_Status.ug_pRadioGroup = radio_group;
-
- listby_selected = __mf_ug_popup_get_list_by_selected_item(ugd);
- ugd->ug_Status.ug_iRadioValue = listby_selected;
-
- ug_listby_itc.item_style = "1text.1icon.2";
- ug_listby_itc.func.text_get = __mf_ug_popup_get_genlist_label;
- ug_listby_itc.func.content_get = __mf_ug_popup_get_genlist_icon;
- ug_listby_itc.func.state_get = NULL;
- ug_listby_itc.func.del = NULL;
- genlist = elm_genlist_add(popup);
- elm_object_focus_set(genlist, EINA_FALSE);
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- for (index = 0; index < MF_UG_ITEM_COUNT; index++) {
- ugListByData_s *item_data = malloc(sizeof(ugListByData_s));
- if (item_data == NULL)
- continue;
-
- item_data->index = index;
- item_data->ugd = ugd;
- elm_genlist_item_append(genlist, &ug_listby_itc, (void *)item_data, NULL,
- ELM_GENLIST_ITEM_NONE, __mf_ug_popup_genlist_select, popup);
- }
-
- box = __mf_ug_popup_box_set(popup, genlist, MF_UG_ITEM_COUNT);
- elm_object_content_set(popup, box);
- evas_object_smart_callback_add(popup, "response", func, param);
-
- break;
- default:
- evas_object_del(popup);
- return NULL;
- }
- evas_object_show(popup);
- return popup;
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(!data, "data is NULL");
+ ug_mf_retm_if(!obj, "obj is NULL");
+ ugData *ugd = (ugData *)data;
+
+ bool ct_rotate = (bool)evas_object_data_get(obj,
+ MF_CTXPOPUP_OBJ_ROTATE_KEY);
+
+ if (!ct_rotate) {
+ ug_debug("ctxpopup is dismissed");
+ evas_object_del(obj);
+ ugd->ug_MainWindow.ug_pContextPopup = NULL;
+ } else {
+ ug_debug("ctxpopup is not dismissed");
+ /* when "dismissed" cb is called next time,
+ * ctxpopup should be dismissed if device is not rotated. */
+ evas_object_data_set(obj, MF_CTXPOPUP_OBJ_ROTATE_KEY,
+ (void *)false);
+ /* If ctxpopup is not dismissed, then it must be shown again.
+ * Otherwise "dismissed" cb will be called one more time. */
+ if (ugd->ug_MainWindow.ug_pContextPopup) {
+ _move_more_ctxpopup(ugd, ugd->ug_MainWindow.ug_pWindow, ugd->ug_MainWindow.ug_pContextPopup);
+ evas_object_show(ugd->ug_MainWindow.ug_pContextPopup);
+ }
+ }
}
-void mf_ug_popup_indicator_popup(const char *text)
+static void __mf_ctxpopup_parent_resize_cb(void *data, Evas *e,
+ Evas_Object *obj, void *ei)
{
- ug_mf_retm_if(text == NULL, "text is NULL");
- int ret = notification_status_message_post(text);
- ug_debug("status_message_post()... [0x%x]!", ret);
- if (ret != 0) {
- ug_debug("status_message_post()... [0x%x]!", ret);
- }
- return ;
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(!data, "data is NULL");
+ evas_object_data_set((Evas_Object *)data, MF_CTXPOPUP_OBJ_ROTATE_KEY,
+ (void *)true);
}
+/*
+static void __mf_ctxpopup_items_update_cb(void *data, Evas_Object *obj, void *ei)
+{
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(!data, "data is NULL");
+ int (*update_cb)(void *data, Evas_Object *parent);
+ update_cb = evas_object_data_get((Evas_Object *)data,
+ "mf_ctxpopup_update_items_cb");
+ mf_sdbg("callback: %p", update_cb);
+ if (update_cb)
+ update_cb(ei, (Evas_Object *)data);
+}
+*/
-static void _move_ctxpopup(void *data, Evas_Object *parent, Evas_Object *ctxpopup )
+static void __mf_ctxpopup_rotate_cb(void *data, Evas_Object *obj, void *ei)
{
- elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_UP,
- ELM_CTXPOPUP_DIRECTION_LEFT,
- ELM_CTXPOPUP_DIRECTION_RIGHT,
- ELM_CTXPOPUP_DIRECTION_DOWN);
-
- if (parent) {
- int x = 0;
- int y = 0;
- int w = 0;
- int h = 0;
-
- evas_object_geometry_get(parent, &x, &y, &w, &h);
- evas_object_move(ctxpopup, x+w/2,
- y + h/2);
- }
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(!data, "data is NULL");
+ ugData *ugd = (ugData *)data;
+
+ /*Evas_Object *more_btn = NULL;
+ more_btn = (Evas_Object *)evas_object_data_get(ugd->ug_MainWindow.ug_pContextPopup,
+ MF_CTXPOPUP_OBJ_MORE_BTN_KEY);
+ ug_mf_retm_if(!more_btn, "more_btn is NULL");*/
+ if (ugd->ug_MainWindow.ug_pContextPopup) {
+ _move_more_ctxpopup(ugd, ugd->ug_MainWindow.ug_pWindow, ugd->ug_MainWindow.ug_pContextPopup);
+ evas_object_show(ugd->ug_MainWindow.ug_pContextPopup);
+ }
+ /*__mf_ctxpopup_show(data, more_btn, ugd->ug_MainWindow.ug_pContextPopup);*/
}
-static void _ctxpopup_hide_cb(void *data, Evas_Object *obj, void *event_info)
+
+static void __mf_ctxpopup_del_cb(void *data, Evas *e, Evas_Object *obj, void *ei)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(obj == NULL, "obj is NULL");
- evas_object_del(obj);
- obj = NULL;
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(!data, "data is NULL");
+ ug_mf_retm_if(!obj, "obj is NULL");
+ Evas_Object *ctxpopup = obj;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(!ugd->ug_MainWindow.ug_pWindow, "ugd->ug_MainWindow.ug_pWindow is NULL");
+
+ evas_object_data_del(ctxpopup, MF_CTXPOPUP_OBJ_MORE_BTN_KEY);
+ evas_object_data_del(ctxpopup, MF_CTXPOPUP_OBJ_ROTATE_KEY);
+ evas_object_smart_callback_del(ctxpopup, "dismissed",
+ __mf_ctxpopup_hide_cb);
+ evas_object_event_callback_del(ctxpopup, EVAS_CALLBACK_DEL,
+ __mf_ctxpopup_del_cb);
+ evas_object_event_callback_del(ugd->ug_MainWindow.ug_pWindow,
+ EVAS_CALLBACK_RESIZE,
+ __mf_ctxpopup_parent_resize_cb);
+ /*evas_object_smart_callback_del(ugd->maininfo.naviframe,
+ "ctxpopup,items,update",
+ __mf_ctxpopup_items_update_cb);*/
+ evas_object_smart_callback_del(elm_object_top_widget_get(ctxpopup),
+ "rotation,changed",
+ __mf_ctxpopup_rotate_cb);
+
+ ug_debug("done");
}
+static int __mf_ctxpopup_add_callbacks(void *data, Evas_Object *ctxpopup)
+{
+ ug_mf_retvm_if(!data, -1, "data is NULL");
+ ug_mf_retvm_if(!ctxpopup, -1, "ctxpopup is NULL");
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(!ugd->ug_MainWindow.ug_pWindow, -1, "ugd->ug_MainWindow.ug_pWindow is NULL");
+
+ /*evas_object_event_callback_del(ugd->ug_MainWindow.ug_pWindow, EVAS_CALLBACK_RESIZE, mf_ug_resize_more_ctxpopup_cb);
+ evas_object_event_callback_add(ugd->ug_MainWindow.ug_pWindow, EVAS_CALLBACK_RESIZE, (Evas_Object_Event_Cb)mf_ug_resize_more_ctxpopup_cb, ugd);*/
+
+ evas_object_smart_callback_add(ctxpopup, "dismissed",
+ __mf_ctxpopup_hide_cb, data);
+ evas_object_event_callback_add(ctxpopup, EVAS_CALLBACK_DEL,
+ __mf_ctxpopup_del_cb, data);
+ evas_object_event_callback_add(ugd->ug_MainWindow.ug_pWindow,
+ EVAS_CALLBACK_RESIZE,
+ __mf_ctxpopup_parent_resize_cb,
+ ctxpopup);
+ /*evas_object_smart_callback_add(ugd->ug_MainWindow.ug_pWindow,
+ "ctxpopup,items,update",
+ __mf_ctxpopup_items_update_cb, ctxpopup);*/
+ evas_object_smart_callback_add(elm_object_top_widget_get(ctxpopup),
+ "rotation,changed",
+ __mf_ctxpopup_rotate_cb, data);
+ eext_object_event_callback_add(ctxpopup, EEXT_CALLBACK_BACK, eext_ctxpopup_back_cb, NULL);
+ eext_object_event_callback_add(ctxpopup, EEXT_CALLBACK_MORE, eext_ctxpopup_back_cb, NULL);
+ ug_debug("done");
+ return 0;
+}
void mf_ug_context_popup_create_more(void *data, Evas_Object *parent)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
-
- UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pContextPopup);
-
- Evas_Object *ctxpopup = elm_ctxpopup_add(ugd->ug_MainWindow.ug_pNaviBar);
- ugd->ug_MainWindow.ug_pContextPopup = ctxpopup;
- Elm_Object_Item *it = NULL;
-
- if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) {
- /*Search*/
- it = elm_ctxpopup_item_append(ctxpopup, MF_UG_LABEL_CREATE, NULL, mf_ug_cb_create_new_folder, ugd);
- }
- _move_ctxpopup(ugd, parent, ctxpopup);
- evas_object_show(ctxpopup);
-
- if(ctxpopup)
- {
- evas_object_smart_callback_add(ctxpopup,"dismissed", _ctxpopup_hide_cb, ugd);
- }
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+ Evas_Object *image = NULL;
+
+ UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pContextPopup);
+
+ Evas_Object *ctxpopup = elm_ctxpopup_add(ugd->ug_MainWindow.ug_pWindow);
+ elm_object_style_set(ctxpopup, "more/default");
+
+ elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_UP,
+ ELM_CTXPOPUP_DIRECTION_UNKNOWN,
+ ELM_CTXPOPUP_DIRECTION_UNKNOWN,
+ ELM_CTXPOPUP_DIRECTION_UNKNOWN);
+ UG_TRACE_END;
+ ugd->ug_MainWindow.ug_pContextPopup = ctxpopup;
+ Elm_Object_Item *it = NULL;
+ if (ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == SAVE_MODE) {
+ /*Search*/
+ image = elm_image_add(ctxpopup);
+ elm_image_file_set(image, UG_EDJ_IMAGE, UG_ICON_CREATE_FOLDER);
+
+ it = elm_ctxpopup_item_append(ctxpopup, MF_UG_LABEL_CREATE, image, mf_ug_cb_create_new_folder, ugd);
+ mf_ug_widget_object_item_translate_set(it, MF_UG_LABEL_CREATE);
+ } else if (ugd->ug_UiGadget.ug_iSelectMode == SINGLE_FILE_MODE) {
+ image = elm_image_add(ctxpopup);
+ elm_image_file_set(image, UG_EDJ_IMAGE, UG_ICON_ADD);
+ it = elm_ctxpopup_item_append(ctxpopup, MF_UG_LABEL_ADD, image, mf_ug_music_launch_cb, ugd);
+ mf_ug_widget_object_item_translate_set(it, MF_UG_LABEL_ADD);
+
+ image = elm_image_add(ctxpopup);
+ elm_image_file_set(image, UG_EDJ_IMAGE, UG_ICON_DELETE);
+ it = elm_ctxpopup_item_append(ctxpopup, MF_UG_LABEL_DELETE, image, mf_ug_ringtone_del_cb, ugd);
+ mf_ug_widget_object_item_translate_set(it, MF_UG_LABEL_DELETE);
+
+ Evas_Object *content = ugd->ug_MainWindow.ug_pNaviGenlist;
+ Elm_Object_Item *gli = elm_genlist_first_item_get(content);
+ Elm_Object_Item *nli = NULL;
+ ugListItemData *selected_data = NULL;
+
+ while (gli) {
+ ugListItemData *params = (ugListItemData *)elm_object_item_data_get(gli);
+ ug_mf_retm_if(params == NULL, "params is NULL");
+ if (params->ug_pRadioBox) {
+ if (elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup) == params->ug_iGroupValue) {
+ selected_data = params;
+ break;
+ }
+ }
+ nli = elm_genlist_item_next_get(gli);
+ gli = nli;
+ }
+
+ if (selected_data) {
+ char *select_item = selected_data->ug_pItemName->str;
+ if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) {
+ if (mf_ug_db_handle_ringtone_in_db(select_item)) {
+ elm_object_item_disabled_set(it, EINA_FALSE);
+ } else {
+ elm_object_item_disabled_set(it, EINA_TRUE);
+ }
+ } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) {
+ if (mf_ug_db_handle_alert_in_db(select_item)) {
+ elm_object_item_disabled_set(it, EINA_FALSE);
+ } else {
+ elm_object_item_disabled_set(it, EINA_TRUE);
+ }
+ }
+ } else {
+ elm_object_item_disabled_set(it, EINA_TRUE);
+ }
+ }
+ _move_more_ctxpopup(ugd, ugd->ug_MainWindow.ug_pWindow, ctxpopup);
+ evas_object_show(ctxpopup);
+
+ if (ctxpopup) {
+ /*evas_object_smart_callback_add(ctxpopup,"dismissed", _ctxpopup_hide_cb, ugd);*/
+ __mf_ctxpopup_add_callbacks(ugd, ctxpopup);
+ }
+ UG_TRACE_END;
}
static Evas_Object *__mf_ug_popup_entry_create(Evas_Object *parent)
{
- Evas_Object *en = NULL;
+ Evas_Object *en = NULL;
- en = elm_entry_add(parent);
- elm_entry_scrollable_set(en, EINA_TRUE);
- elm_entry_select_all(en);
- elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF,
- ELM_SCROLLER_POLICY_AUTO);
+ en = elm_entry_add(parent);/*Using the style to instead of the entry, it will include the other style.*/
+ elm_entry_scrollable_set(en, EINA_TRUE);
+ elm_entry_select_all(en);
+ elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF,
+ ELM_SCROLLER_POLICY_AUTO);
- Ecore_IMF_Context *imf_context = elm_entry_imf_context_get(en);
+ elm_entry_single_line_set(en, EINA_TRUE);
+ evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND,
+ EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(en);
- elm_entry_single_line_set(en, EINA_TRUE);
- evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND,
- EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(en);
-
- return en;
+ return en;
}
static char *__new_folder_text_get(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
-
- int error_code = 0;
- char *fileName = NULL;
- char *fullpath = (char *)malloc(sizeof(char) * MYFILE_FILE_PATH_LEN_MAX);
- if (fullpath == NULL) {
- return NULL;
- }
- GString *dest_fullpath = NULL;
-
- memset(fullpath, 0, MYFILE_FILE_PATH_LEN_MAX);
- fileName = elm_entry_markup_to_utf8(MF_UG_LABEL_FOLDER);
- snprintf(fullpath, (MYFILE_FILE_PATH_LEN_MAX), "%s/%s", (char *)ugd->ug_Status.ug_pPath->str, fileName);
-
- dest_fullpath = g_string_new(fullpath);
-
-
- if (mf_ug_fm_svc_wrapper_detect_duplication(dest_fullpath)) {
- ug_debug("dectetion result is TRUE\ndest_fullpath is %s\n", dest_fullpath->str);
- error_code = mf_ug_fm_svc_wrapper_file_auto_rename(ugd, dest_fullpath, FILE_NAME_WITH_BRACKETS, &dest_fullpath);
- ug_debug("rename result is %s\n", dest_fullpath->str);
- memset(fullpath, 0, strlen(fullpath));
- int len = strlen(ugd->ug_Status.ug_pPath->str) + 1;
- strncpy(fullpath, dest_fullpath->str + len, MYFILE_FILE_PATH_LEN_MAX);
- /*memset(fileName,0,strlen(fileName));*/
-
- UG_SAFE_FREE_CHAR(fileName);
- fileName = elm_entry_markup_to_utf8(fullpath);
- }
-
- /*elm_entry_entry_set(entry, ecore_file_file_get(params->m_ItemName->str));*/
-
-
- UG_SAFE_FREE_CHAR(fullpath);
- UG_SAFE_FREE_GSTRING(dest_fullpath);
- return fileName;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
+
+ char *fileName = NULL;
+ char *fullpath = (char *)malloc(sizeof(char)*MYFILE_FILE_PATH_LEN_MAX);
+ if (fullpath == NULL) {
+ return NULL;
+ }
+ GString *dest_fullpath = NULL;
+
+ memset(fullpath, 0, MYFILE_FILE_PATH_LEN_MAX);
+ fileName = elm_entry_markup_to_utf8(mf_ug_widget_get_text(MF_UG_LABEL_FOLDER));
+ snprintf(fullpath, (MYFILE_FILE_PATH_LEN_MAX), "%s/%s", (char *)ugd->ug_Status.ug_pPath->str, fileName);
+
+ dest_fullpath = g_string_new(fullpath);
+
+
+ if (mf_ug_fm_svc_wrapper_detect_duplication(dest_fullpath)) {
+ mf_ug_fm_svc_wrapper_file_auto_rename(ugd, dest_fullpath, FILE_NAME_WITH_BRACKETS, &dest_fullpath);
+ memset(fullpath, 0, strlen(fullpath));
+ int len = strlen(ugd->ug_Status.ug_pPath->str) + 1;
+ strncpy(fullpath, dest_fullpath->str + len, MYFILE_FILE_PATH_LEN_MAX);
+ /*memset(fileName,0,strlen(fileName));*/
+
+ UG_SAFE_FREE_CHAR(fileName);
+ fileName = elm_entry_markup_to_utf8(fullpath);
+ }
+ /*elm_entry_entry_set(entry, ecore_file_file_get(params->m_ItemName->str));*/
+ UG_SAFE_FREE_CHAR(fullpath);
+ UG_SAFE_FREE_GSTRING(dest_fullpath);
+ return fileName;
}
+
static void __mf_ug_popup_show_vk_cb(void *data, Evas_Object *obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
-
- Evas_Object *pEntry = NULL;
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
- evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup);
+ if (ugd->ug_MainWindow.ug_pNormalPopup) { /*add protection*/
+ evas_object_del(ugd->ug_MainWindow.ug_pNormalPopup);
+ ugd->ug_MainWindow.ug_pNormalPopup = NULL;
+ }
- ugd->ug_MainWindow.ug_pNormalPopup = NULL;
-
- pEntry = ugd->ug_MainWindow.ug_pEntry;
- elm_entry_cursor_end_set(ugd->ug_MainWindow.ug_pEntry);
-
- elm_object_focus_set(ugd->ug_MainWindow.ug_pEntry, EINA_TRUE);
-
- UG_TRACE_END;
+ if (ugd->ug_MainWindow.ug_pEntry) { /*add protection*/
+ elm_entry_cursor_end_set(ugd->ug_MainWindow.ug_pEntry);
+ elm_object_focus_set(ugd->ug_MainWindow.ug_pEntry, EINA_TRUE);
+ }
+ UG_TRACE_END;
}
-
static void __mf_ug_popup_create_folder_imf_changed_cb(void *data, Evas_Object *obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(data == NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
-
- const char *entry_data = NULL;
- char *name = NULL;
- char new_str[MYFILE_FILE_NAME_LEN_MAX] = { '\0', };
-
- entry_data = elm_entry_entry_get(ugd->ug_MainWindow.ug_pEntry);
- ug_mf_retm_if(entry_data == NULL, "entry_data is null");
- name = elm_entry_markup_to_utf8(entry_data);
- ug_mf_retm_if(name == NULL, "name is null");
-
- ug_error("name is [%s]", name);
- if (mf_ug_file_attr_is_valid_name(name) != MYFILE_ERR_NONE) {
- strncpy(new_str, name, MYFILE_FILE_NAME_LEN_MAX - 1);
- if (strlen(name) > 0)
- new_str[strlen(name) - 1] = '\0';
- elm_entry_entry_set(ugd->ug_MainWindow.ug_pEntry, new_str);
- elm_entry_cursor_end_set(ugd->ug_MainWindow.ug_pEntry);
- elm_object_focus_set(ugd->ug_MainWindow.ug_pEntry, EINA_FALSE);
-
- UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNormalPopup);
- ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL, MF_UG_LABEL_ILLEGAL_CHAR, NULL, NULL,
- NULL, __mf_ug_popup_show_vk_cb, ugd);
- }
- UG_SAFE_FREE_CHAR(name);
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(data == NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+
+ const char *entry_data = NULL;
+ char *name = NULL;
+ char new_str[MYFILE_FILE_NAME_LEN_MAX] = { '\0', };
+
+ entry_data = elm_entry_entry_get(ugd->ug_MainWindow.ug_pEntry);
+ ug_mf_retm_if(entry_data == NULL, "entry_data is null");
+ name = elm_entry_markup_to_utf8(entry_data);
+ ug_mf_retm_if(name == NULL, "name is null");
+
+ SECURE_DEBUG("name is [%s]", name);
+ if (mf_ug_file_attr_is_valid_name(name) != MYFILE_ERR_NONE) {
+ strncpy(new_str, name, MYFILE_FILE_NAME_LEN_MAX - 1);
+ if (strlen(name) > 0)
+ new_str[strlen(name) - 1] = '\0';
+ elm_entry_entry_set(ugd->ug_MainWindow.ug_pEntry, new_str);
+ elm_entry_cursor_end_set(ugd->ug_MainWindow.ug_pEntry);
+ elm_object_focus_set(ugd->ug_MainWindow.ug_pEntry, EINA_FALSE);
+
+ UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pNormalPopup);
+ ugd->ug_MainWindow.ug_pNormalPopup = mf_ug_popup_create(ugd, UG_POPMODE_TEXT, NULL,
+ MF_UG_LABEL_ILLEGAL_CHAR, NULL, NULL,
+ NULL, __mf_ug_popup_show_vk_cb, ugd);
+ }
+
+ UG_SAFE_FREE_CHAR(name);
+ UG_TRACE_END;
}
Evas_Object *mf_ug_popup_create_new_folder_popup(void *data, char *context)
{
+ UG_TRACE_BEGIN;
+ ug_mf_retvm_if(data == NULL, NULL, "data is NULL");
+ ugData *ugd = (ugData *)data;
+
+ Evas_Object *popup;
+ Evas_Object *layout;
+ char *text = NULL;
+ static Elm_Entry_Filter_Limit_Size limit_filter_data;
+
+ popup = elm_popup_add(ugd->ug_MainWindow.ug_pMainLayout);
+
+ elm_object_focus_set(popup, EINA_FALSE);
+
+ layout = elm_layout_add(popup);
+ elm_object_focus_set(layout, EINA_FALSE);
+ elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, "popup_new_folder");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+ Evas_Object *en = NULL;
+ en = __mf_ug_popup_entry_create(layout);
+
+ text = __new_folder_text_get(ugd);
+ limit_filter_data.max_char_count = MYFILE_FILE_NAME_LEN_MAX;
+ elm_entry_entry_set(en, text);
+ elm_entry_cursor_end_set(en);
+ UG_SAFE_FREE_CHAR(text);
+
+ elm_entry_markup_filter_append(en, elm_entry_filter_limit_size,
+ &limit_filter_data);
+ elm_object_part_content_set(layout, "elm.swallow.content", en);
+ mf_ug_widget_object_text_set(popup, context, "title,text");
+
+ evas_object_smart_callback_add(en, "maxlength,reached", mf_ug_cb_reach_max_len_cb, ugd);
+ evas_object_smart_callback_add(en, "changed", __mf_ug_popup_create_folder_imf_changed_cb, ugd);
+ evas_object_smart_callback_add(en, "activated", mf_ug_cb_save_cb, ugd);
+ elm_entry_input_panel_return_key_type_set(en, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE);
+ ugd->ug_MainWindow.ug_pEntry = en;
+
+ elm_object_content_set(popup, layout);
+
+ Evas_Object *btn1 = NULL;
+ Evas_Object *btn2 = NULL;
+
+ btn1 = mf_ug_widget_create_button(popup,
+ MF_UG_POPUP_BTN_STYLE,
+ MF_UG_LABEL_CANCEL,
+ NULL,
+ mf_ug_cb_cancel_new_folder_cb,
+ ugd,
+ EINA_FALSE);
+ btn2 = mf_ug_widget_create_button(popup,
+ MF_UG_POPUP_BTN_STYLE,
+ MF_UG_LABEL_OK,
+ NULL,
+ mf_ug_cb_save_cb,
+ ugd,
+ EINA_FALSE);
+
+ elm_object_part_content_set(popup, "button1", btn1);
+ elm_object_part_content_set(popup, "button2", btn2);
+
+ evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL, __mf_popup_new_folder_del_cb, ugd);
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, data);
+
+ evas_object_show(popup);
+
+ return popup;
+}
- UG_TRACE_BEGIN;
- ug_mf_retvm_if(data == NULL, NULL, "data is NULL");
- ugData *ugd = (ugData *)data;
-
- Evas_Object *popup;
- Evas_Object *layout;
- char *text = NULL;
- static Elm_Entry_Filter_Limit_Size limit_filter_data;
-
- popup = elm_popup_add(ugd->ug_MainWindow.ug_pMainLayout);
- elm_object_focus_set(popup, EINA_FALSE);
-
- layout = elm_layout_add(popup);
- elm_object_focus_set(layout, EINA_FALSE);
- elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, UG_GRP_POPUP);
- evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-
- Evas_Object *en = NULL;
- en = __mf_ug_popup_entry_create(layout);
-
- text = __new_folder_text_get(ugd);
- limit_filter_data.max_char_count = MYFILE_FILE_NAME_LEN_MAX;
- elm_entry_entry_set(en, text);
- elm_entry_cursor_end_set(en);
- UG_SAFE_FREE_CHAR(text);
-
- elm_entry_markup_filter_append(en, elm_entry_filter_limit_size,
- &limit_filter_data);
- elm_object_part_content_set(layout, "elm.swallow.content", en);
+Evas_Object *mf_popup_center_processing(Evas_Object *parent,
+ const char *context,
+ Evas_Smart_Cb func,
+ void *param)
+{
+ Evas_Object *popup;
+ Evas_Object *progressbar;
+ Evas_Object *layout;
+ popup = elm_popup_add(parent);
- edje_object_part_text_set(elm_layout_edje_get(layout), "title.text", context);
- evas_object_smart_callback_add(en, "maxlength,reached", mf_ug_cb_reach_max_len_cb, ugd);
- evas_object_smart_callback_add(en, "changed", __mf_ug_popup_create_folder_imf_changed_cb, ugd);
- ugd->ug_MainWindow.ug_pEntry = en;
+ layout = elm_layout_add(popup);
+ elm_layout_file_set(layout, UG_EDJ_NAVIGATIONBAR, "popup_progress_text");
+ evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_content_set(popup, layout);
+ progressbar = elm_progressbar_add(popup);
+ elm_progressbar_pulse(progressbar, EINA_TRUE);
+ elm_object_style_set(progressbar, "list_process");
+ elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
+ evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(progressbar);
+ mf_ug_progress_set(progressbar);
+ mf_ug_widget_object_text_set(layout, context, "elm.title");
- Evas_Object *btn1 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_OK);
- elm_object_style_set(btn1, "popup_button/default");
- Evas_Object *btn2 = __ug_mf_popup_button_create(popup, MF_UG_LABEL_CANCEL);
- elm_object_style_set(btn2, "popup_button/default");
+ elm_object_part_content_set(layout, "elm.swallow.content", progressbar);
+ /*elm_object_part_content_set(layout, "elm.swallow.text", label);*/
- evas_object_smart_callback_add(btn1, "clicked", mf_ug_cb_save_cb, ugd);
- evas_object_smart_callback_add(btn2, "clicked", mf_ug_cb_cancel_new_folder_cb, ugd);
- elm_object_part_content_set(popup, "button1", btn1);
- elm_object_part_content_set(popup, "button2", btn2);
+ elm_object_content_set(popup, layout);
+ evas_object_show(popup);
- evas_object_show(popup);
- return popup;
+ eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, func, param);
+ return popup;
}
diff --git a/src/widget/mf-ug-ringtone-view.c b/src/widget/mf-ug-ringtone-view.c
new file mode 100644
index 0000000..f43ef1a
--- /dev/null
+++ b/src/widget/mf-ug-ringtone-view.c
@@ -0,0 +1,251 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+#include "mf-ug-main.h"
+#include "mf-ug-widget.h"
+#include "mf-ug-winset.h"
+#include "mf-ug-resource.h"
+#include "mf-ug-dlog.h"
+#include "mf-ug-util.h"
+#include "mf-ug-ringtone-view.h"
+#include "mf-ug-fm-svc-wrapper.h"
+#include "mf-ug-db-handle.h"
+#include "mf-ug-list-play.h"
+#include "mf-ug-file-util.h"
+
+static Ecore_Idler *ug_ringtone_idler = NULL;
+extern bool g_ug_bDefaultItem;
+
+Evas_Object *mf_ug_ringtone_list_create(void *data)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, NULL, "ugd is NULL");
+ Evas_Object *genlist = NULL;
+ Eina_List *file_list = NULL;
+ Eina_List *dir_list = NULL;
+ int groupValue = 1;
+ g_ug_bDefaultItem = false;
+
+ genlist = __mf_ug_genlist_create_gl(ugd);
+ ug_error("=========================================== block count set");
+ elm_genlist_block_count_set(genlist, 3);
+
+ mf_ug_fm_svc_wapper_get_file_list_by_filter(ugd, ugd->ug_Status.ug_pPath, &dir_list, &file_list);
+ ugd->ug_UiGadget.ug_pFilterList = file_list;
+ mf_ug_util_sort_the_file_list(ugd);
+
+ ugd->ug_MainWindow.ug_pNaviGenlist = genlist;
+ ugFsNodeInfo *pNode = NULL;
+ char *real_name = NULL;
+ Eina_List *l = NULL;
+
+ if (ugd->ug_UiGadget.default_ringtone) {
+ mf_ug_genlist_default_ringtone_item_append(genlist, ugd, groupValue, &ugd->ug_Status.ug_1text2icon4_itc);
+ groupValue++;
+ }
+
+ if (ugd->ug_UiGadget.silent) {
+ mf_ug_genlist_silent_item_append(genlist, ugd, groupValue, &ugd->ug_Status.ug_1text2icon4_itc);
+ groupValue++;
+ }
+
+ groupValue = mf_ug_genlist_ringtone_items_add(ugd, groupValue);
+
+
+ bool exist_flag = true;
+ /*To fix P131210-01329 wangyan, check whether the passed file exists*/
+ if (ugd->ug_Status.mark_mode && mf_file_exists(ugd->ug_Status.mark_mode)) {
+ if (g_strcmp0(ugd->ug_Status.mark_mode, DEFAULT_RINGTONE_MARK) && g_strcmp0(ugd->ug_Status.mark_mode, SILENT)) {
+
+ if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) {
+ exist_flag = mf_ug_db_handle_find_ringtone(ugd->ug_Status.mark_mode);
+ } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) {
+ exist_flag = mf_ug_db_handle_find_alert(ugd->ug_Status.mark_mode);
+ }
+ if (!exist_flag) {
+ if (mf_ug_util_find_item_from_pnode_list(ugd->ug_UiGadget.ug_pFilterList, ugd->ug_Status.mark_mode) != false) {
+ exist_flag = true;
+ } else {
+ exist_flag = false;
+ }
+ }
+
+ if (!exist_flag) {
+ mf_ug_genlist_item_append(genlist, ugd->ug_Status.mark_mode, ugd, groupValue, &ugd->ug_Status.ug_1text2icon4_itc);
+ groupValue++;
+ /*To fix P131128-01215 by wangyan,phone>menu>call settings>Ringtone and keypad tones>Ringtones
+ >menu>delete setpath-> (not set but)back-> go to ringtone again ->delete menu is gray.
+ the ringtone or alert is not in db ,add it */
+ int location = mf_ug_fm_svc_wapper_get_location(ugd->ug_Status.mark_mode);
+ if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_ringtone) {
+ mf_ug_db_handle_add_ringtone(ugd->ug_Status.mark_mode, NULL, location);
+ } else if (ugd->ug_UiGadget.ug_iSoundMode == mf_ug_sound_mode_alert) {
+ mf_ug_db_handle_add_alert(ugd->ug_Status.mark_mode, NULL, location);
+ }
+ }
+ }
+ }
+ g_ug_bDefaultItem = true;
+ EINA_LIST_FOREACH(ugd->ug_UiGadget.ug_pFilterList, l, pNode) {
+ if (pNode) {
+ if (pNode->path && pNode->name) {
+ real_name = g_strconcat(pNode->path, "/", pNode->name, NULL);
+ }
+ } else {
+ continue;
+ }
+ mf_ug_genlist_item_append(genlist, real_name, ugd, groupValue, &ugd->ug_Status.ug_1text2icon4_itc);
+ groupValue++;
+
+ UG_SAFE_FREE_CHAR(real_name);
+ }
+ g_ug_bDefaultItem = false;
+ return genlist;
+}
+
+
+static Eina_Bool __selected_item_show(void *data)
+{
+ ugData *ugd = (ugData *)data;
+
+ Elm_Object_Item *defaultitem = NULL;
+
+ if (!ugd->ug_Status.ug_bNoContentFlag && (ugd->ug_Status.ug_iRadioOn > 1)) {
+ defaultitem = elm_genlist_nth_item_get(ugd->ug_MainWindow.ug_pNaviGenlist, ugd->ug_Status.ug_iRadioOn-1);
+ if (NULL != defaultitem) {
+ ug_error("ugd->ug_Status.ug_iRadioOn = %d", ugd->ug_Status.ug_iRadioOn);
+ elm_genlist_item_show(defaultitem, ELM_GENLIST_ITEM_SCROLLTO_TOP);
+ }
+ }
+ /*if (mf_ug_main_is_help_mode()) {
+ ug_error("=============== create help===================");
+ mf_ug_genlist_show_help_on_item(ugd);
+ }*/
+
+ ugd->show = NULL;
+ return ECORE_CALLBACK_CANCEL;
+}
+
+Eina_Bool mf_ug_ringtone_view_idler(void *data)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+
+ Evas_Object *newContent = NULL;
+
+ newContent = mf_ug_ringtone_list_create(ugd);
+ if (!ugd->show) {
+ ugd->show = ecore_idler_add(__selected_item_show, ugd);
+ }
+ ugd->ug_MainWindow.ug_pNaviGenlist = newContent;
+ UG_SAFE_FREE_CHAR(ugd->ug_MainWindow.ug_pNaviTitle);
+ /*set title segment or title */
+
+ /*navigation view integration */
+ evas_object_show(newContent);
+ elm_object_part_content_set(ugd->ug_MainWindow.ug_pNaviLayout, "part1", newContent);
+ ug_ringtone_idler = NULL;
+ /*mf_ug_navi_bar_set_ctrl_item_disable(ugd);*/
+ mf_ug_main_update_ctrl_in_idle(ugd);
+ return ECORE_CALLBACK_CANCEL;
+
+}
+void mf_ug_create_rintone_view(void *data)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ Evas_Object *pNaviLayout = NULL;
+ /*Evas_Object *newContent = NULL;
+ Evas_Object *top_layout = NULL;*/
+
+ pNaviLayout = mf_ug_navi_bar_create_layout(ugd->ug_MainWindow.ug_pNaviBar, UG_EDJ_NAVIGATIONBAR, UG_GRP_NAVI_VIEW);
+ ugd->ug_MainWindow.ug_pNaviLayout = pNaviLayout;
+ mf_ug_navi_bar_set_path_state(pNaviLayout, EINA_FALSE);
+ /*set content */
+ mf_ug_navi_bar_create_group_radio_box(ugd);
+
+ if (ugd->ug_UiGadget.title) {
+ ugd->ug_MainWindow.ug_pNaviTitle = g_strdup(ugd->ug_UiGadget.title);
+ }
+ mf_ug_navi_bar_push_content(ugd, pNaviLayout);
+
+ mf_ug_navi_bar_set_ctrl_button(ugd);
+
+ mf_ug_navi_bar_title_set(ugd);
+ mf_ug_navi_bar_remove_previous_contents(ugd);
+ /*ug_ecore_idler_del(ug_ringtone_idler);
+ ug_ringtone_idler = ecore_idler_add(mf_ug_ringtone_view_idler, ugd);*/
+ mf_ug_ringtone_view_idler(ugd);
+}
+
+bool mf_ug_ringtone_is_default(int mode, const char *path)
+{
+ bool default_flag = false;
+ if (mode == mf_ug_sound_mode_ringtone) {
+ ug_error();
+ default_flag = mf_ug_db_handle_find_ringtone(path);
+ } else if (mode == mf_ug_sound_mode_alert) {
+ ug_error();
+ default_flag = mf_ug_db_handle_find_alert(path);
+ }
+ ug_error("default_flag is [%d]", default_flag);
+ return !default_flag;
+}
+
+void mf_ug_ringtone_list_resume(void *data)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ ug_error();
+ Evas_Object *genlist = ugd->ug_MainWindow.ug_pNaviGenlist;
+ Elm_Object_Item *it;
+ it = elm_genlist_first_item_get(genlist);
+
+ int index = elm_radio_value_get(ugd->ug_MainWindow.ug_pRadioGroup);
+ int delete_index = -1;
+ while (it) {
+ ugListItemData *ug_ItemData = elm_object_item_data_get(it);
+ if (ug_ItemData && ug_ItemData->ug_pItemName && ug_ItemData->ug_pItemName->str) {
+ if (mf_ug_is_default_ringtone(ugd, ug_ItemData->ug_pItemName->str)) {
+ it = elm_genlist_item_next_get(it);
+ continue;
+ }
+ if (!mf_file_exists(ug_ItemData->ug_pItemName->str)) {
+ ug_error();
+ delete_index = ug_ItemData->ug_iGroupValue;
+ Elm_Object_Item *temp = it;
+ it = elm_genlist_item_next_get(it);
+ elm_object_item_del(temp);
+ if (delete_index == index) {
+ ugd->ug_Status.ug_iRadioOn = 0;
+ elm_radio_value_set(ugd->ug_MainWindow.ug_pRadioGroup, 0);
+ /*delete_index = -1;*/
+ mf_ug_navi_bar_button_set_disable(ugd, true);
+ }
+ continue;
+ }
+ }
+ it = elm_genlist_item_next_get(it);
+ }
+}
diff --git a/src/widget/mf-ug-search-view.c b/src/widget/mf-ug-search-view.c
index 2ff7215..8770058 100644
--- a/src/widget/mf-ug-search-view.c
+++ b/src/widget/mf-ug-search-view.c
@@ -1,18 +1,22 @@
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
#include <Eina.h>
#include <Ecore_X.h>
@@ -22,434 +26,503 @@
#include "mf-ug-winset.h"
#include "mf-ug-fs-util.h"
#include "mf-ug-resource.h"
+#include "mf-ug-fm-svc-wrapper.h"
#include "mf-ug-cb.h"
+#include "mf-ug-widget.h"
+#include <time.h>
+
#define MF_SEARCH_OPTION_DEF (MF_SEARCH_OPT_EXT)
-#define MF_SEARCH_ROOT_NUM 2
+#define MF_SEARCH_ROOT_NUM 3
#define MF_SEARCH_TIMER_INTERVAL 0.5
extern int flagSearchMsg;
extern pthread_mutex_t gLockSearchMsg;
extern pthread_cond_t gCondSearchMsg;
+time_t searchtime_begin = 0;
+time_t searchtime_end = 0;
+
typedef struct {
- char *size;
- char *create_date;
+ char *size;
+ char *create_date;
} mf_search_detail_infor_s;
-static void __mf_ug_search_select_all_check_changed_cb(void *data, Evas_Object * obj, void *event_info);
-
-Evas_Object *mf_ug_search_view_create_no_content(Evas_Object *parent)
-{
- Evas_Object *nocontent = elm_layout_add(parent);
- elm_layout_theme_set(nocontent, "layout", "nocontents", "text");
- elm_object_focus_set(nocontent, EINA_FALSE);
- elm_object_part_text_set(nocontent, "elm.text", MF_UG_LABEL_NO_RESULT);
- return nocontent;
-}
void mf_ug_search_view_item_append(void *data, void *user_data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)user_data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)user_data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ char *item_name = (char *)data;
+ ug_mf_retm_if(item_name == NULL, "input item_name error");
+
+ ugListItemData *m_TempItem = NULL;
+ GString *search_path = g_string_new(item_name);
+
+
+ g_string_free(search_path, TRUE);
+ search_path = NULL;
+
+ m_TempItem = (ugListItemData *) malloc(sizeof(ugListItemData));
+
+ if (m_TempItem == NULL) {
+ return;
+ }
+ memset(m_TempItem, 0, sizeof(ugListItemData));
+
+ m_TempItem->ug_pItemName = g_string_new(item_name);
+ m_TempItem->ug_iGroupValue = 0;
+ m_TempItem->ug_pRadioBox = NULL;
+ m_TempItem->ug_bChecked = FALSE;
+ m_TempItem->ug_pCheckBox = NULL;
+ m_TempItem->ug_pThumbPath = NULL;
+ m_TempItem->ug_bRealThumbFlag = FALSE;
+ m_TempItem->ug_pData = ugd;
+ m_TempItem->ug_pItem = NULL;
+ m_TempItem->storage_type = mf_ug_fm_svc_wapper_get_location(item_name);
+
+ /*delete timer if exists*/
+
+ Elm_Object_Item *it = NULL;
+
+ if (ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE) {
+ it = elm_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, &ugd->ug_Status.ug_1text1icon_itc, m_TempItem, NULL, ELM_GENLIST_ITEM_NONE, NULL, ugd);
+ } else if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == EXPORT_MODE) {
+ if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
+ static int GroupValue = 1;
+ m_TempItem->ug_iGroupValue = GroupValue;
+ GroupValue++;
+ }
+ it = elm_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, &ugd->ug_Status.ug_1text2icon_itc, m_TempItem, NULL, ELM_GENLIST_ITEM_NONE, NULL, ugd);
+ } else if (ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) {
+ it = elm_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, &ugd->ug_Status.ug_1text2icon_itc, m_TempItem, NULL, ELM_GENLIST_ITEM_NONE, NULL, ugd);
+ } else {
+ it = elm_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, &ugd->ug_Status.ug_1text3icon_itc, m_TempItem, NULL, ELM_GENLIST_ITEM_NONE, NULL, ugd);
+ }
+ m_TempItem->ug_pItem = it;
+ UG_TRACE_END;
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
- ug_mf_retm_if(pNavi_s == NULL, "get navi failed");
-
- char *item_name = (char *)data;
- ug_mf_retm_if(item_name == NULL, "input item_name error");
-
- ugListItemData *m_TempItem = NULL;
- GString *search_path = g_string_new(item_name);
-
-
- g_string_free(search_path, TRUE);
- search_path = NULL;
+}
- m_TempItem = (ugListItemData *) malloc(sizeof(ugListItemData));
- if (m_TempItem == NULL) {
- return;
- }
- memset(m_TempItem, 0, sizeof(ugListItemData));
+Evas_Object *mf_widget_create_select_all_layout(Evas_Object *parent)
+{
+ UG_TRACE_BEGIN
- m_TempItem->ug_pItemName = g_string_new(item_name);
- m_TempItem->ug_iGroupValue = 0;
- m_TempItem->ug_pRadioBox = NULL;
- m_TempItem->ug_bChecked = FALSE;
- m_TempItem->ug_pCheckBox = NULL;
- m_TempItem->ug_pThumbPath = NULL;
- m_TempItem->ug_bRealThumbFlag = FALSE;
- m_TempItem->ug_pData = ugd;
- m_TempItem->ug_pItem = NULL;
+ ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
- /*delete timer if exists*/
+ Evas_Object *select_all_ic = elm_image_add(parent);
+ elm_image_file_set(select_all_ic, UG_EDJ_IMAGE, UG_TITLE_ICON_SELECT_ALL);
+ elm_image_resizable_set(select_all_ic, EINA_TRUE, EINA_TRUE);
+ evas_object_show(select_all_ic);
-#ifdef UG_THUMB_REAL_TIME_UPDATE
- if (ugd->ug_Status.ug_pThumbUpdateTimer != NULL) {
- ecore_timer_del(ugd->ug_Status.ug_pThumbUpdateTimer);
- ugd->ug_Status.ug_pThumbUpdateTimer = NULL;
- }
-#endif
- Elm_Object_Item *it = NULL;
+ Evas_Object *btn;
- it = elm_genlist_item_append(ugd->ug_MainWindow.ug_pNaviGenlist, &ugd->ug_Status.ug_itc, m_TempItem, NULL, ELM_GENLIST_ITEM_NONE, NULL, ugd);
- m_TempItem->ug_pItem = it;
- UG_TRACE_END;
+ btn = elm_button_add(parent);
-}
+ elm_object_style_set(btn, "naviframe/title_icon");
-Evas_Object *mf_ug_search_create_select_all_layout(Evas_Object *parent)
-{
+ if (select_all_ic)
+ elm_object_content_set(btn, select_all_ic);
- ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
-
- Evas_Object *pSelectedAllLayout = NULL;
- pSelectedAllLayout = elm_layout_add(parent);
- elm_object_focus_set(pSelectedAllLayout, EINA_FALSE);
- elm_layout_theme_set(pSelectedAllLayout, "genlist", "item", "select_all/default");
- evas_object_size_hint_weight_set(pSelectedAllLayout, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
- evas_object_size_hint_align_set(pSelectedAllLayout, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_object_part_text_set(pSelectedAllLayout, "elm.text", MF_UG_LABEL_SELECT_ALL);
- evas_object_show(pSelectedAllLayout);
- return pSelectedAllLayout;
-}
+ evas_object_propagate_events_set(btn, EINA_FALSE);
-Evas_Object *mf_ug_search_create_check_box(Evas_Object *parent)
-{
- ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
-
- Evas_Object *checkbox = NULL;
- checkbox = elm_check_add(parent);
- elm_object_focus_set(checkbox, EINA_FALSE);
- evas_object_propagate_events_set(checkbox, EINA_FALSE);
- evas_object_show(checkbox);
- return checkbox;
-}
+ evas_object_show(btn);
-void __mf_ug_search_select_all_layout_mouse_down_cb(void *data, Evas * evas, Evas_Object * obj, void *event_info)
-{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ UG_TRACE_END
- ugd->ug_Status.ug_bSelectAllChecked = !ugd->ug_Status.ug_bSelectAllChecked;
- elm_check_state_pointer_set(ugd->ug_MainWindow.ug_pSelectAllCheckBox, &ugd->ug_Status.ug_bSelectAllChecked);
+ return btn;
- __mf_ug_search_select_all_check_changed_cb(ugd, NULL, NULL);
- UG_TRACE_END;
}
-static void __mf_ug_search_select_all_check_changed_cb(void *data, Evas_Object * obj, void *event_info)
+static void __mf_ug_search_list_item_append(void *data, void *user_data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
- Evas_Object *genlist = ugd->ug_MainWindow.ug_pNaviGenlist;
- ug_debug("ugd->ug_Status.ug_iTotalCount is [%d]", ugd->ug_Status.ug_iTotalCount);
- if (ugd->ug_Status.ug_bSelectAllChecked) {
- ug_debug();
- ugd->ug_Status.ug_iCheckedCount = ugd->ug_Status.ug_iTotalCount;
- } else {
- ug_debug();
- ugd->ug_Status.ug_iCheckedCount = 0;
- }
-
- ugListItemData *it_data;
- Elm_Object_Item *it;
- int count = 0;
-
- it = elm_genlist_first_item_get(genlist);
- while (it) {
- ug_debug();
- it_data = elm_object_item_data_get(it);
- if (it_data) {
- ug_debug();
- it_data->ug_bChecked = ugd->ug_Status.ug_bSelectAllChecked;
- count++;
- }
- it = elm_genlist_item_next_get(it);
- }
- elm_genlist_realized_items_update(genlist);
-
- if (count > 0 && ugd->ug_Status.ug_bSelectAllChecked) {
- Evas_Object *notify_popup = NULL;
- char lable_file[UG_LABEL_STRING_LENGTH] = { '\0', };
- char *label = NULL;
- /*1 TODO: need to update for multi-language */
-
- snprintf(lable_file, sizeof(lable_file), "%d", count);
- label = g_strconcat(MF_UG_LABEL_SELECTED, "(", lable_file, ")", NULL);
- notify_popup = mf_ug_navibar_create_notify_popup(ugd, ugd->ug_MainWindow.ug_pNaviLayout, label, false, NULL);
- ugd->ug_MainWindow.ug_pSelectInfoLayout = notify_popup;
- UG_SAFE_FREE_CHAR(label);
-
- } else {
- UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSelectInfoLayout);
- }
- mf_ug_ctrl_bar_set_item_disable(ugd);
-
- UG_TRACE_END;
+ Eina_List **list = (Eina_List **)user_data;
+ if (data) {
+ *list = eina_list_append(*list, g_strdup((char *)data));
+ }
}
-
-
static void __mf_ug_search_view_result_cb(mf_search_result_t *result, void *user_data)
{
- ug_mf_retm_if(result == NULL, "result is NULL");
-
- ugData *ugd = (ugData *)user_data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
- ug_mf_retm_if(pNavi_s == NULL, "get navi failed");
-
- Evas_Object *playout = ugd->ug_MainWindow.ug_pNaviLayout;
- ug_mf_retm_if(playout == NULL, "get conformant failed");
- Evas_Object *newContent = NULL;
- Evas_Object *unUsed = elm_object_part_content_unset(playout, "part1");
- if (unUsed) {
- evas_object_del(unUsed);
- unUsed = NULL;
- }
-
- if (g_list_length(result->dir_list) + g_list_length(result->file_list) == 0) {
- ug_ecore_idler_del(ugd->ug_Status.popup_create_idler);
- newContent = mf_ug_search_view_create_no_content(playout);
- elm_object_part_content_set(playout, "part1", newContent);
- mf_ug_navi_bar_button_set_disable(ugd, true);
- } else {
-
-
-
- //newContent = mf_ug_genlist_create_content_list_view(ugd);
- newContent = __mf_ug_genlist_create_gl(ugd);
- ugd->ug_MainWindow.ug_pNaviGenlist = newContent;
-
- elm_object_part_content_set(playout, "part1", newContent);
-
- if (result->file_list != NULL) {
- Evas_Object *pSelectAllLayout = NULL;
- Evas_Object *pSelectAllCheckBox = NULL;
- ugd->ug_Status.ug_bSelectAllChecked = false;
- ugd->ug_Status.ug_iTotalCount = g_list_length(result->file_list);
- ugd->ug_Status.ug_iCheckedCount = 0;
-
- pSelectAllLayout = mf_ug_search_create_select_all_layout(ugd->ug_MainWindow.ug_pNaviBox);
- ug_mf_retm_if(pSelectAllLayout == NULL, "pSelectAllLayout is NULL");
- ugd->ug_MainWindow.ug_pSelectAllLayout = pSelectAllLayout;
- evas_object_event_callback_add(pSelectAllLayout, EVAS_CALLBACK_MOUSE_DOWN, __mf_ug_search_select_all_layout_mouse_down_cb, ugd);
- pSelectAllCheckBox = mf_ug_search_create_check_box(pSelectAllLayout);
- ugd->ug_MainWindow.ug_pSelectAllCheckBox = pSelectAllCheckBox;
- elm_check_state_pointer_set(pSelectAllCheckBox, &ugd->ug_Status.ug_bSelectAllChecked);
- evas_object_smart_callback_add(pSelectAllCheckBox, "changed", __mf_ug_search_select_all_check_changed_cb, ugd);
-
- elm_object_part_content_set(pSelectAllLayout, "elm.icon", pSelectAllCheckBox);
- elm_box_pack_start(ugd->ug_MainWindow.ug_pNaviBox, pSelectAllLayout);
- }
- if (result->dir_list != NULL) {
- g_list_foreach(result->dir_list, mf_ug_search_view_item_append, ugd);
- }
- if (result->file_list != NULL) {
- g_list_foreach(result->file_list, mf_ug_search_view_item_append, ugd);
- }
- }
+ UG_TRACE_BEGIN;
+ ug_mf_retm_if(result == NULL, "result is NULL");
+
+ ugData *ugd = (ugData *)user_data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ Evas_Object *playout = ugd->ug_MainWindow.ug_pNaviLayout;
+ ug_mf_retm_if(playout == NULL, "get conformant failed");
+ Evas_Object *newContent = NULL;
+ Evas_Object *unUsed = elm_object_part_content_unset(playout, "part1");
+ if (unUsed) {
+ evas_object_del(unUsed);
+ unUsed = NULL;
+ }
+ ugd->ug_UiGadget.ug_pSearchFileList = NULL;
+ int total_count = g_list_length(result->dir_list) + g_list_length(result->file_list);
+ if (total_count == 0) {
+ ug_ecore_idler_del(ugd->ug_Status.popup_create_idler);
+ newContent = mf_ug_widget_nocontent_create(playout, MF_UG_LABEL_NO_RESULT, UG_ICON_MULTI_NO_CONTENTS);
+ elm_object_part_content_set(playout, "part1", newContent);
+ mf_ug_navi_bar_button_set_disable(ugd, true);
+ } else {
+
+
+
+ /*newContent = mf_ug_genlist_create_content_list_view(ugd);*/
+ newContent = __mf_ug_genlist_create_gl(ugd);
+ ugd->ug_MainWindow.ug_pNaviGenlist = newContent;
+
+ elm_object_part_content_set(playout, "part1", newContent);
+ if (ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
+ } else {
+ if (result->file_list != NULL) {
+ /*Evas_Object *pSelectAllLayout = NULL;
+ Evas_Object *pSelectAllCheckBox = NULL;*/
+ ugd->ug_Status.ug_bSelectAllChecked = false;
+ ugd->ug_Status.ug_iTotalCount = g_list_length(result->file_list);
+ ugd->ug_Status.ug_iCheckedCount = 0;
+ if (!ugd->ug_UiGadget.ug_MaxSetFlag || ugd->ug_Status.ug_iTotalCount <= ugd->ug_UiGadget.ug_iMaxLength) {
+ /*pSelectAllLayout = mf_widget_create_select_all_layout(ugd->ug_MainWindow.ug_pNaviBox);
+ ug_mf_retm_if(pSelectAllLayout == NULL, "pSelectAllLayout is NULL");
+ ugd->ug_MainWindow.ug_pSelectAllLayout = pSelectAllLayout;
+ evas_object_smart_callback_add(pSelectAllLayout, "clicked", mf_ug_select_all_layout_mouse_down_cb, ugd);
+ ugd->ug_MainWindow.ug_pSelectAllCheckBox = pSelectAllCheckBox;
+
+ evas_object_show(pSelectAllLayout);
+ elm_object_item_part_content_set(ugd->ug_MainWindow.ug_pNaviItem, TITLE_RIGHT_BTN, pSelectAllLayout);*//*don't need the select all button.*/
+ }
+
+ }
+ }
+ if (result->dir_list != NULL) {
+ g_list_foreach(result->dir_list, mf_ug_search_view_item_append, ugd);
+ }
+ if (result->file_list != NULL) {
+ g_list_foreach(result->file_list, __mf_ug_search_list_item_append, &ugd->ug_UiGadget.ug_pSearchFileList);
+ g_list_foreach(result->file_list, mf_ug_search_view_item_append, ugd);
+ }
+ }
+ UG_TRACE_END;
}
static Eina_Bool __mf_ug_search_view_stop(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retvm_if(ugd == NULL, ECORE_CALLBACK_CANCEL, "ugd is NULL");
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retvm_if(ugd == NULL, ECORE_CALLBACK_CANCEL, "ugd is NULL");
+ ugd->ug_MainWindow.ug_pSearchLabel = NULL;
+ __mf_ug_search_view_result_cb(((ms_handle_t *) ugd->ug_Status.search_handler)->result, ugd);
- UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSearchPopup);
+ if (ugd->ug_Status.search_handler > 0) {
+ mf_ug_search_stop(ugd->ug_Status.search_handler);
+ }
- if (ugd->ug_UiGadget.ug_pSyncPipe != NULL) {
- ecore_pipe_del(ugd->ug_UiGadget.ug_pSyncPipe);
- ugd->ug_UiGadget.ug_pSyncPipe = NULL;
- }
- __mf_ug_search_view_result_cb(((ms_handle_t *) ugd->ug_Status.search_handler)->result, ugd);
- if (ugd->ug_Status.search_handler > 0) {
- mf_ug_search_stop(ugd->ug_Status.search_handler);
- }
+ if (ugd->ug_Status.search_handler > 0) {
+ mf_ug_search_finalize(&ugd->ug_Status.search_handler);
+ }
+ if (ugd->ug_UiGadget.ug_pSyncPipe != NULL) {
+ ecore_pipe_del(ugd->ug_UiGadget.ug_pSyncPipe);
+ ugd->ug_UiGadget.ug_pSyncPipe = NULL;
+ }
- if (ugd->ug_Status.search_handler > 0) {
- mf_ug_search_finalize(&ugd->ug_Status.search_handler);
- }
+ ugd->ug_Status.flagSearchStart = EINA_FALSE;
+
+ UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSearchPopup);
- UG_TRACE_END;
- return ECORE_CALLBACK_CANCEL;
-}
-static void __mf_ug_search_view_stop_cb(void *data, Evas_Object * obj, void *event_info) {
+ UG_TRACE_END;
+ return ECORE_CALLBACK_CANCEL;
+}
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+static void __mf_ug_search_view_stop_cb(void *data, Evas_Object *obj, void *event_info)
+{
- __mf_ug_search_view_stop(ugd);
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+ /*P131202-00454 by wangyan [Fatal error] It pop up force close when tap searching popup cancel.*/
+ UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.pSearchTimer);
+ __mf_ug_search_view_stop(ugd);
- UG_TRACE_END;
+ UG_TRACE_END;
}
static int __mf_ug_search_view_idle_search_msg_cope_finished(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- if (ugd == NULL || ugd->ug_Status.msg_finish_idler == NULL) {
- return ECORE_CALLBACK_CANCEL;
- }
- pthread_mutex_lock(&gLockSearchMsg);
- if (flagSearchMsg == 0) {
- flagSearchMsg = 1;
- pthread_cond_signal(&gCondSearchMsg);
- }
- pthread_mutex_unlock(&gLockSearchMsg);
- ugd->ug_Status.msg_finish_idler = NULL;
-
- return ECORE_CALLBACK_CANCEL;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ if (ugd == NULL || ugd->ug_Status.msg_finish_idler == NULL) {
+ return ECORE_CALLBACK_CANCEL;
+ }
+ pthread_mutex_lock(&gLockSearchMsg);
+ if (flagSearchMsg == 0) {
+ flagSearchMsg = 1;
+ pthread_cond_signal(&gCondSearchMsg);
+ }
+ pthread_mutex_unlock(&gLockSearchMsg);
+ ugd->ug_Status.msg_finish_idler = NULL;
+
+ return ECORE_CALLBACK_CANCEL;
+}
+static int __mf_ug_search_result_show(mf_search_result_t *result)
+{
+ UG_TRACE_BEGIN;
+ ugData *ugd = mf_ug_ugdata();
+ if (ugd == NULL) {
+ ug_debug("input ugd is NULL");
+ return ECORE_CALLBACK_CANCEL;
+ }
+
+ ug_debug("get ugd is [%p]", ugd);
+ UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSearchPopup);
+ ugd->ug_MainWindow.ug_pSearchLabel = NULL;
+ __mf_ug_search_view_result_cb((mf_search_result_t *) result, (void *)ugd);
+
+ UG_TRACE_END;
+ return ECORE_CALLBACK_CANCEL;
}
-
static void __mf_ug_search_view_pipe_cb(void *data, void *buffer, unsigned int nbyte)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- if (ugd == NULL) {
- ug_debug("input ugd is NULL");
- return;
- }
-
- mf_search_pipe_msg *pSearchMsg = (mf_search_pipe_msg *) buffer;
- if (pSearchMsg == NULL) {
- ug_debug("received message is NULL");
- goto MF_CONTINURE_SEARCH;
- }
-
- if (pSearchMsg->mf_sp_msg_type == MF_SEARCH_PIPE_MSG_RESULT_REPORT) {
- ug_debug("result get");
- } else if (pSearchMsg->mf_sp_msg_type == MF_SEARCH_PIPE_MSG_ROOT_CHANGE) {
- ug_debug("root change ");
-
- char *new_desc = mf_ug_fm_svc_wrapper_translate_path(pSearchMsg->current_path);
- //elm_object_text_set(ugd->ug_MainWindow.ug_pSearchPopup, new_desc);
- elm_object_text_set(ugd->ug_MainWindow.ug_pSearchLabel, new_desc);
- //elm_object_part_text_set(ugd->ug_MainWindow.ug_pSearchLabel, "path", new_desc);
- if (pSearchMsg->current_path) {
- free(pSearchMsg->current_path);
- pSearchMsg->current_path = NULL;
- }
- if (new_desc != NULL) {
- free(new_desc);
- new_desc = NULL;
- }
- } else if (pSearchMsg->mf_sp_msg_type == MF_SEARCH_PIPE_MSG_FINISHED) {
-
- ug_ecore_idler_del(ugd->ug_Status.popup_del_idler);
- UG_SAFE_FREE_OBJ(ugd->ug_MainWindow.ug_pSearchPopup);
- //ugd->ug_Status.popup_del_idler = ecore_idler_add(mf_ug_cb_popup_del_idler_cb, ugd);
- __mf_ug_search_view_result_cb((mf_search_result_t *) pSearchMsg->report_result, data);
- }
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ if (ugd == NULL) {
+ ug_debug("input ugd is NULL");
+ return;
+ }
+
+ mf_search_pipe_msg *pSearchMsg = (mf_search_pipe_msg *) buffer;
+ if (pSearchMsg == NULL) {
+ ug_debug("received message is NULL");
+ goto MF_CONTINURE_SEARCH;
+ }
+
+ if (pSearchMsg->mf_sp_msg_type == MF_SEARCH_PIPE_MSG_RESULT_REPORT) {
+ ug_debug("result get");
+ } else if (pSearchMsg->mf_sp_msg_type == MF_SEARCH_PIPE_MSG_ROOT_CHANGE) {
+ ug_debug("root change ");
+
+ /*char *new_desc = mf_ug_fm_svc_wrapper_translate_path(pSearchMsg->current_path);*/
+ if (ugd->ug_MainWindow.ug_pSearchLabel) {
+ /*elm_object_text_set(ugd->ug_MainWindow.ug_pSearchLabel, new_desc);*/
+ }
+ if (pSearchMsg->current_path) {
+ free(pSearchMsg->current_path);
+ pSearchMsg->current_path = NULL;
+ }
+ /*if (new_desc != NULL) {
+ free(new_desc);
+ new_desc = NULL;
+ }*/
+ } else if (pSearchMsg->mf_sp_msg_type == MF_SEARCH_PIPE_MSG_FINISHED) {
+ ugd->ug_Status.flagSearchStart = EINA_FALSE;
+ /*fix P131122-06150 by wangyan,[Contacts] Import from Device - Processing glimpse.
+ To keep the processing popup showing not less then 2 seconds*/
+ time(&searchtime_end);
+ int delay = (int)(searchtime_end - searchtime_begin);
+ ug_error("searchtime_end is [%d], searchtime_begin is [%d], delay is [%d]", searchtime_end, searchtime_begin, delay);
+ delay = (delay >= 2) ? 0 : (2-delay);
+ ug_error("delay is [%d]", delay);
+
+ UG_SAFE_DEL_ECORE_TIMER(ugd->ug_Status.pSearchTimer);
+ ugd->ug_Status.pSearchTimer = ecore_timer_add(delay, (Ecore_Task_Cb)__mf_ug_search_result_show, (mf_search_result_t *) pSearchMsg->report_result);
+ }
MF_CONTINURE_SEARCH:
- ug_ecore_idler_del(ugd->ug_Status.msg_finish_idler);
- ugd->ug_Status.msg_finish_idler = ecore_idler_add((Ecore_Task_Cb)__mf_ug_search_view_idle_search_msg_cope_finished, ugd);
- //__mf_ug_search_view_idle_search_msg_cope_finished(NULL);
- UG_TRACE_END;
+ ug_ecore_idler_del(ugd->ug_Status.msg_finish_idler);
+ ugd->ug_Status.msg_finish_idler = ecore_idler_add((Ecore_Task_Cb)__mf_ug_search_view_idle_search_msg_cope_finished, ugd);
+ /*__mf_ug_search_view_idle_search_msg_cope_finished(NULL);*/
+ UG_TRACE_END;
+}
+
+int mf_ug_search_item_type_get(char *path)
+{
+ char *ext = NULL;
+ mf_ug_file_attr_get_file_ext(path, &ext);
+ if (ext) {
+ if (strcasecmp("DOCM", ext) == 0
+ || strcasecmp("XLT", ext) == 0
+ || strcasecmp("XLSM", ext) == 0) {
+ UG_SAFE_FREE_CHAR(ext);
+ return MF_SEARCH_CATEGORY_NONE;
+ }
+ UG_SAFE_FREE_CHAR(ext);
+ }
+ int type = mf_ug_file_attr_get_file_type_by_mime(path);
+ if (type == UG_FILE_TYPE_GUL) {
+ mf_ug_fs_file_type file_type = UG_FILE_TYPE_NONE;
+ mf_ug_file_attr_get_file_category(path, &file_type);
+ if (file_type == UG_FILE_TYPE_TXT) {
+ type = UG_FILE_TYPE_TXT;
+ }
+ }
+ int category = MF_SEARCH_CATEGORY_NONE;
+ switch (type) {
+ case UG_FILE_TYPE_IMAGE:
+ category = MF_SEARCH_CATEGORY_IMAGE;
+ break;
+ case UG_FILE_TYPE_VIDEO:
+ case UG_FILE_TYPE_MP4_VIDEO:
+ category = MF_SEARCH_CATEGORY_VIDEO;
+ break;
+ case UG_FILE_TYPE_SOUND:
+ case UG_FILE_TYPE_MUSIC:
+ case UG_FILE_TYPE_MP4_AUDIO:
+ category = MF_SEARCH_CATEGORY_SOUND;
+ break;
+ case UG_FILE_TYPE_DOC:
+ case UG_FILE_TYPE_PDF:
+ case UG_FILE_TYPE_PPT:
+ case UG_FILE_TYPE_EXCEL:
+ case UG_FILE_TYPE_TXT:
+ category = MF_SEARCH_CATEGORY_DOCUMENT;
+ break;
+ case UG_FILE_TYPE_DIR:
+ category = MF_SEARCH_CATEGORY_NONE;
+ break;
+ default:
+ category = MF_SEARCH_CATEGORY_OTHERS;
+ break;
+ }
+ return category;
}
static void __mf_ug_search_view_idle_search_start(void *data)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
- ugNaviBar *pNavi_s = mf_ug_navi_bar_get_in_use_navi(ugd);
- ug_mf_retm_if(pNavi_s == NULL, "pNavi_s is NULL");
- char *text = NULL;
-
- if (ugd->ug_UiGadget.ug_pExtension)
- text = g_strdup(ugd->ug_UiGadget.ug_pExtension);
-
- int root_num = 0;
- const char *SearchRoot[MF_SEARCH_ROOT_NUM] = {0};
- ug_debug("text is [%s] path is [%s]", text, ugd->ug_Status.ug_pPath->str);
- if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE || ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
- root_num = 2;
- SearchRoot[0] = PHONE_FOLDER;
-
- SearchRoot[1] = MEMORY_FOLDER;
- } else {
- root_num = 1;
- SearchRoot[0] = ugd->ug_Status.ug_pPath->str;
-
- }
- //const char *SearchRoot[MF_SEARCH_ROOT_NUM] = { ugd->ug_Status.ug_pPath->str};
- //ug_debug("search path is [%s]", ugd->ug_Status.ug_pPath->str);
- /*Start Search routine*/
- if (!mf_ug_search_start(ugd->ug_Status.search_handler, SearchRoot, root_num, \
- ((text) ? text : NULL), MF_SEARCH_OPTION_DEF, (void *)ugd)) {
- ug_debug("start success");
- /*generate the popup used to show search path
- **it's sure that new_desc is not NULL even if original path is NULL*/
- //ugd->ug_MainWindow.ug_pSearchPopup = mf_ug_popup_create(ugd, UG_POPMODE_SEARCH, NULL, MF_UG_LABEL_SEARCH, NULL, NULL, NULL, __mf_ug_search_view_stop_cb, ugd);
- ugd->ug_MainWindow.ug_pSearchPopup = mf_ug_popup_create_search(ugd, __mf_ug_search_view_stop_cb, ugd);
- } else {
- ug_debug("start failed");
- }
- ug_debug();
-
-
- if (text != NULL) {
- free(text);
- text = NULL;
- }
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ char *text = NULL;
+ if (ugd->ug_Status.flagSearchStart == EINA_TRUE) {
+ return;
+ } else {
+ ugd->ug_Status.flagSearchStart = EINA_TRUE;
+ time(&searchtime_begin);
+ }
+
+ if (ugd->ug_UiGadget.ug_pExtension)
+ text = g_strdup(ugd->ug_UiGadget.ug_pExtension);
+
+ int root_num = 0;
+ const char *SearchRoot[MF_SEARCH_ROOT_NUM] = {0};
+ ug_debug("ugd->ug_UiGadget.ug_iSelectMode is [%d]text is [%s] path is [%s]", ugd->ug_UiGadget.ug_iSelectMode, text, ugd->ug_Status.ug_pPath->str);
+ if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_SINGLE) {
+ if (g_strcmp0(ugd->ug_Status.ug_pPath->str, PHONE_FOLDER) == 0) {
+ ug_error("*********************");
+ SearchRoot[root_num] = PHONE_FOLDER;
+ root_num++;
+ } else if (g_strcmp0(ugd->ug_Status.ug_pPath->str, MEMORY_FOLDER) == 0) {
+ ug_error("*********************");
+ SearchRoot[root_num] = MEMORY_FOLDER;
+ root_num++;
+ } else {
+ ug_error("*********************");
+ SearchRoot[root_num] = PHONE_FOLDER;
+ root_num++;
+
+ SearchRoot[root_num] = MEMORY_FOLDER;
+ root_num++;
+ }
+ } else if (ugd->ug_UiGadget.ug_iSelectMode == IMPORT_MODE
+ || ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE
+ || ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) {
+ SearchRoot[root_num] = PHONE_FOLDER;
+ root_num++;
+
+ SearchRoot[root_num] = MEMORY_FOLDER;
+ root_num++;
+ } else {
+ root_num = 1;
+ SearchRoot[0] = ugd->ug_Status.ug_pPath->str;
+
+ }
+ /*const char *SearchRoot[MF_SEARCH_ROOT_NUM] = { ugd->ug_Status.ug_pPath->str};
+ ug_debug("search path is [%s]", ugd->ug_Status.ug_pPath->str);*/
+ /*Start Search routine*/
+ if (ugd->ug_UiGadget.ug_iSelectMode == DOCUMENT_SHARE || ugd->ug_UiGadget.ug_iSelectMode == SSM_DOCUMENT_SHARE) {
+ if (text) {
+ if (!mf_ug_search_start(ugd->ug_Status.search_handler, SearchRoot, root_num, \
+ /*((text) ? text : NULL), MF_SEARCH_OPT_FILE, (void *)ugd, mf_ug_search_item_type_get, MF_SEARCH_CATEGORY_DOCUMENT)) {*/
+ text, MF_SEARCH_OPT_MULTI_EXT, (void *)ugd, (mf_search_filter_cb)NULL, 0)) {
+ ugd->ug_MainWindow.ug_pSearchPopup = mf_ug_popup_create_search(ugd, __mf_ug_search_view_stop_cb, ugd);
+ ug_debug("start success");
+ } else {
+ ugd->ug_Status.flagSearchStart = EINA_FALSE;
+ ug_debug("start failed");
+ }
+ } else {
+ if (!mf_ug_search_start(ugd->ug_Status.search_handler, SearchRoot, root_num, \
+ text, MF_SEARCH_OPT_FILE, (void *)ugd, (mf_search_filter_cb)mf_ug_search_item_type_get, MF_SEARCH_CATEGORY_DOCUMENT)) {
+ ugd->ug_MainWindow.ug_pSearchPopup = mf_ug_popup_create_search(ugd, __mf_ug_search_view_stop_cb, ugd);
+ ug_debug("start success");
+ } else {
+ ugd->ug_Status.flagSearchStart = EINA_FALSE;
+ ug_debug("start failed");
+ }
+ }
+
+ } else {
+ if (!mf_ug_search_start(ugd->ug_Status.search_handler, SearchRoot, root_num, \
+ ((text) ? text : NULL), MF_SEARCH_OPTION_DEF, (void *)ugd, (mf_search_filter_cb)NULL, 0)) {
+ ug_debug("start success");
+ /*generate the popup used to show search path
+ **it's sure that new_desc is not NULL even if original path is NULL*/
+ ugd->ug_MainWindow.ug_pSearchPopup = mf_ug_popup_create_search(ugd, __mf_ug_search_view_stop_cb, ugd);
+ } else {
+ ugd->ug_Status.flagSearchStart = EINA_FALSE;
+ ug_debug("start failed");
+ }
+
+ }
+
+ if (text != NULL) {
+ free(text);
+ text = NULL;
+ }
}
void mf_ug_search_view_enter_search_routine(void *data, Evas_Object * obj, void *event_info)
{
- UG_TRACE_BEGIN;
- ugData *ugd = (ugData *)data;
- ug_mf_retm_if(ugd == NULL, "ugd is NULL");
-
-#ifdef UG_THUMB_REAL_TIME_UPDATE
- if (ugd->ug_Status.ug_pThumbUpdateTimer != NULL) {
- ecore_timer_del(ugd->ug_Status.ug_pThumbUpdateTimer);
- ugd->ug_Status.ug_pThumbUpdateTimer = NULL;
- }
-#endif
- //ugd->ug_Status.ug_iMore = UG_MORE_SEARCH;
-
- if (ugd->ug_Status.search_handler > 0)
- mf_ug_search_finalize(&ugd->ug_Status.search_handler);
-
- int ret = mf_ug_search_init(&ugd->ug_Status.search_handler);
- ug_mf_retm_if(ret < 0, "Fail to mf_ug_search_init()");
-
- if (ugd->ug_UiGadget.ug_pSyncPipe != NULL) {
- ecore_pipe_del(ugd->ug_UiGadget.ug_pSyncPipe);
- ugd->ug_UiGadget.ug_pSyncPipe = NULL;
- }
- ugd->ug_UiGadget.ug_pSyncPipe = ecore_pipe_add(__mf_ug_search_view_pipe_cb, ugd);
-
- if (ugd->ug_UiGadget.ug_pSyncPipe == NULL) {
- ug_debug("add pipe failed");
- }
- /*this is to init global variable to ensure the first message can be transmitted correctly*/
- /*flagSearchMsg is to indicate the condition wait to sync data of threads*/
- pthread_mutex_lock(&gLockSearchMsg);
- flagSearchMsg = 1;
- pthread_mutex_unlock(&gLockSearchMsg);
-
- /*delete guide text label in the box*/
- /*evas_object_del(elm_object_content_unset(pNavi_s->pNaviConform));*/
- __mf_ug_search_view_idle_search_start(ugd);
-
- UG_TRACE_END;
+ UG_TRACE_BEGIN;
+ ugData *ugd = (ugData *)data;
+ ug_mf_retm_if(ugd == NULL, "ugd is NULL");
+
+ /*ugd->ug_Status.ug_iMore = UG_MORE_SEARCH;*/
+
+ if (ugd->ug_Status.search_handler > 0)
+ mf_ug_search_finalize(&ugd->ug_Status.search_handler);
+
+ int ret = mf_ug_search_init(&ugd->ug_Status.search_handler);
+ ug_mf_retm_if(ret < 0, "Fail to mf_ug_search_init()");
+
+ if (ugd->ug_UiGadget.ug_pSyncPipe != NULL) {
+ ecore_pipe_del(ugd->ug_UiGadget.ug_pSyncPipe);
+ ugd->ug_UiGadget.ug_pSyncPipe = NULL;
+ }
+ ugd->ug_UiGadget.ug_pSyncPipe = ecore_pipe_add(__mf_ug_search_view_pipe_cb, ugd);
+
+ if (ugd->ug_UiGadget.ug_pSyncPipe == NULL) {
+ ug_debug("add pipe failed");
+ }
+ /*this is to init global variable to ensure the first message can be transmitted correctly*/
+ /*flagSearchMsg is to indicate the condition wait to sync data of threads*/
+ pthread_mutex_lock(&gLockSearchMsg);
+ flagSearchMsg = 1;
+ pthread_mutex_unlock(&gLockSearchMsg);
+
+ /*delete guide text label in the box*/
+ /*evas_object_del(elm_object_content_unset(pNavi_s->pNaviConform));*/
+ __mf_ug_search_view_idle_search_start(ugd);
+
+ UG_TRACE_END;
}
diff --git a/src/widget/mf-ug-tab-bar.c b/src/widget/mf-ug-tab-bar.c
deleted file mode 100644
index 6aa4751..0000000
--- a/src/widget/mf-ug-tab-bar.c
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "mf-ug-winset.h"
-#include "mf-ug-util.h"
-#include "mf-ug-fs-util.h"
-#include "mf-ug-fm-svc-wrapper.h"
-#include "mf-ug-cb.h"
-#include "mf-ug-resource.h"
-
-/******************************
-** Prototype : mf_ug_tab_bar_create
-** Description : Samsung
-** Input : Evas_Object *parent
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-Evas_Object *mf_ug_tab_bar_create(Evas_Object *parent)
-{
- UG_TRACE_BEGIN;
- ug_mf_retv_if(parent == NULL, NULL);
- Evas_Object *toolbar = elm_toolbar_add(parent);
- elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_object_style_set(toolbar, "tabbar/item_horizontal");
- elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_ALWAYS);
- elm_toolbar_homogeneous_set(toolbar, EINA_FALSE);
- elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
-
- UG_TRACE_BEGIN;
- return toolbar;
-}
-
-
-/******************************
-** Prototype : mf_ug_tab_bar_append_item
-** Description : Samsung
-** Input : Evas_Object *pTabBar
-** char *pTabIconPath
-** char *pTabBarLabel
-** Evas_Object *pTabView
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-Elm_Object_Item *mf_ug_tab_bar_append_item(Evas_Object *pTabBar, char *pTabIconPath, char *pTabBarLabel, void *user_data)
-{
- UG_TRACE_BEGIN;
- ug_mf_retv_if(pTabBar == NULL, NULL);
-
- Elm_Object_Item *pItem = NULL;
- pItem = elm_toolbar_item_append(pTabBar, pTabIconPath, pTabBarLabel, mf_ug_cb_tab_bar_cb, user_data);
- UG_TRACE_END;
- return pItem;
-}
-
-
-/******************************
-** Prototype : mf_ug_tab_bar_set_item_view
-** Description : Samsung
-** Input : Elm_Object_Item *it
-** Evas_Object * view
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-void mf_ug_tab_bar_set_item_view(Evas_Object *tab_layout, Evas_Object *view)
-{
- UG_TRACE_BEGIN;
- ug_mf_retm_if(tab_layout == NULL, "tab_layout is NULL");
- ug_mf_retm_if(view == NULL, "view is NULL");
- Evas_Object *layout = tab_layout;
- Evas_Object *unset = elm_object_part_content_get(layout, "elm.swallow.content");
- if (unset) {
- elm_object_part_content_unset(layout, "elm.swallow.content");
- evas_object_hide(unset);
- }
-
- elm_object_part_content_set(layout, "elm.swallow.content", view);
- UG_TRACE_END;
-}
-
-
-/******************************
-** Prototype : mf_ug_tab_bar_remove_item_by_label
-** Description : Samsung
-** Input : Evas_Object *pTabBar
-** char *pTabLabel
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-void mf_ug_tab_bar_remove_item_by_label(Evas_Object *pTabBar, char *pTabLabel)
-{
- UG_TRACE_BEGIN;
- Elm_Object_Item *pItem = NULL;
- pItem = elm_toolbar_first_item_get(pTabBar);
-
- while(pItem) {
- if (g_strcmp0(pTabLabel, elm_object_item_text_get(pItem)) == 0) {
- elm_object_item_del(pItem);
- return;
- }
- pItem = elm_toolbar_item_next_get(pItem);
- }
- UG_TRACE_END;
-}
-
-/******************************
-** Prototype : mf_ug_tab_bar_remove_all_items
-** Description : Samsung
-** Input : Evas_Object *pTabBar
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-void mf_ug_tab_bar_remove_all_items(Evas_Object *pTabBar)
-{
-
- UG_TRACE_BEGIN;
- Elm_Object_Item *it = NULL;
- Elm_Object_Item *pNext = NULL;
-
- it = elm_toolbar_first_item_get(pTabBar);
- while(it) {
- pNext = elm_toolbar_item_next_get(it);
- elm_object_item_del(it);
- it = pNext;
- }
- UG_TRACE_END;
-}
-
-
-/******************************
-** Prototype : mf_ug_tab_bar_set_selected_item
-** Description : Samsung
-** Input : Elm_Object_Item* pItem
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-void mf_ug_tab_bar_set_selected_item(Elm_Object_Item *pItem)
-{
- UG_TRACE_BEGIN;
- elm_toolbar_item_selected_set(pItem, EINA_TRUE);
- UG_TRACE_END;
-}
-
-
-/******************************
-** Prototype : mf_ug_tab_bar_set_item_disable
-** Description : Samsung
-** Input : Evas_Object *pTabBar
-** Eina_Bool disable
-** Output : None
-** Return Value :
-** Calls :
-** Called By :
-**
-** History :
-** 1.Date : 2010/12/10
-** Author : Samsung
-** Modification : Created function
-**
-******************************/
-void mf_ug_tab_bar_set_item_disable(Evas_Object *pTabBar, Eina_Bool disable)
-{
- Elm_Object_Item *pCurrentItem = NULL;
-
- if (pTabBar != NULL) {
-
- pCurrentItem = elm_toolbar_first_item_get(pTabBar);
- while(pCurrentItem) {
- elm_object_item_disabled_set(pCurrentItem, disable);
- pCurrentItem = elm_toolbar_item_next_get(pCurrentItem);
- }
- }
-}
-
-int mf_ug_tab_bar_items_count_get(Evas_Object *pTabBar)
-{
- ug_mf_retvm_if(pTabBar == NULL, 0, "pTabBar is NULL");
-
- Elm_Object_Item *pCurrentItem = NULL;
- int count = 0;
-
- pCurrentItem = elm_toolbar_first_item_get(pTabBar);
- while(pCurrentItem) {
- count++;
- pCurrentItem = elm_toolbar_item_next_get(pCurrentItem);
- }
-
- return count;
-}
-
-Elm_Object_Item *mf_ug_tab_bar_get_item_by_label(Evas_Object *pTabBar, char *pTabLabel)
-{
- ug_mf_retvm_if(pTabBar == NULL, NULL, "pTabBar is NULL");
- ug_mf_retvm_if(pTabLabel == NULL, NULL, "pTabLabel is NULL");
- Elm_Object_Item *pItem = NULL;
-
- pItem = elm_toolbar_first_item_get(pTabBar);
- while(pItem) {
- if (g_strcmp0(pTabLabel, elm_object_item_text_get(pItem)) == 0) {
- return pItem;
- }
- pItem = elm_toolbar_item_next_get(pItem);
- }
- return NULL;
-}
-
diff --git a/src/widget/mf-ug-widget.c b/src/widget/mf-ug-widget.c
new file mode 100644
index 0000000..5fd7364
--- /dev/null
+++ b/src/widget/mf-ug-widget.c
@@ -0,0 +1,319 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+#include <Elementary.h>
+#include "mf-ug-dlog.h"
+#include "mf-ug-conf.h"
+#include "mf-ug-main.h"
+#include "mf-ug-fs-util.h"
+#include "mf-ug-util.h"
+#include "mf-ug-resource.h"
+#include "mf-ug-fm-svc-wrapper.h"
+#include "mf-ug-winset.h"
+#include "mf-ug-file-util.h"
+
+char *mf_ug_widget_get_text(const char *ID)
+{
+ ug_mf_retvm_if(ID == NULL, NULL, "ID is NULL");
+
+ char *str;
+
+ if (strstr(ID, "IDS_COM")) {
+ str = dgettext("sys_string", ID);
+ } else {
+ str = dgettext(UGPACKAGE, ID);
+ }
+
+ /** Fix P140626-02426
+ * if got text from sys failed, try to
+ * get it from UGPACKAGE.
+ */
+ if (strncmp(ID, str, strlen(ID)) == 0)
+ str = dgettext(UGPACKAGE, ID);
+ else
+ goto END;
+
+ /** Fix P140710-04855
+ * if got text from package failed, try to
+ * get it from myfile.
+ */
+ if (strncmp(ID, str, strlen(ID)) == 0)
+ str = dgettext("myfile", ID);
+ else
+ goto END;
+
+ /** at worst case, try gettext() */
+ if (strncmp(ID, str, strlen(ID)) == 0)
+ str = gettext(ID);
+END:
+ return str;
+}
+
+void mf_ug_widget_object_text_set(Evas_Object *obj, const char *ID, const char* part)
+{
+ ug_mf_retm_if(ID == NULL, "ID is NULL");
+ ug_mf_retm_if(obj == NULL, "obj is NULL");
+
+ const char *domain;
+
+ if (strstr(ID, "IDS_COM"))
+ domain = PKGNAME_SYSTEM;
+ else
+ domain = UGPACKAGE;/*PKGNAME_MYFILE;*/
+
+ elm_object_domain_translatable_part_text_set(obj, part, domain, ID);
+}
+
+
+void mf_ug_widget_object_item_text_set(Elm_Object_Item *item, const char *ID, const char* part)
+{
+ ug_mf_retm_if(ID == NULL, "ID is NULL");
+ ug_mf_retm_if(item == NULL, "item is NULL");
+ const char *domain;
+
+ if (strstr(ID, "IDS_COM"))
+ domain = PKGNAME_SYSTEM;
+ else
+ domain = UGPACKAGE;/*PKGNAME_MYFILE;*/
+ elm_object_item_domain_translatable_part_text_set(item, part, domain, ID);
+}
+
+void mf_ug_widget_object_item_translate_set(Elm_Object_Item *item, const char *ID)
+{
+ ug_mf_retm_if(ID == NULL, "ID is NULL");
+ ug_mf_retm_if(item == NULL, "item is NULL");
+ const char *domain;
+
+ if (strstr(ID, "IDS_COM"))
+ domain = PKGNAME_SYSTEM;
+ else
+ domain = UGPACKAGE;
+
+ SECURE_DEBUG(">>>>>>>>>>>>>>> ID is [%s] domain is [%s]", ID, domain);
+ //elm_object_item_domain_text_translatable_set(item, domain, EINA_TRUE);
+ elm_object_domain_translatable_text_set(item, domain, ID);
+}
+
+Evas_Object *mf_ug_widget_create_progressbar(Evas_Object *parent, char *style)
+{
+ UG_TRACE_BEGIN;
+ if (!parent)
+ return NULL;
+
+ Evas_Object *progressbar = elm_progressbar_add(parent);
+ if (style) {
+ elm_object_style_set(progressbar, style);
+ }
+ evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
+ evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(progressbar);
+ elm_progressbar_pulse(progressbar, EINA_TRUE);
+ evas_object_show(progressbar);
+ return progressbar;
+}
+
+Evas_Object *mf_ug_widget_create_button(Evas_Object *parent, const char *style,
+ const char *caption, Evas_Object *icon,
+ void (*func) (void *, Evas_Object *, void *),
+ void *data,
+ Eina_Bool flag_propagate)
+{
+ UG_TRACE_BEGIN;
+ if (!parent)
+ return NULL;
+
+ Evas_Object *btn;
+
+ btn = elm_button_add(parent);
+
+ if (style) {
+ elm_object_style_set(btn, style);
+ }
+ if (caption) {
+ mf_ug_widget_object_text_set(btn, caption, NULL);
+ elm_access_info_set(btn, ELM_ACCESS_INFO, mf_ug_widget_get_text(caption));
+ }
+
+ if (icon)
+ elm_object_content_set(btn, icon);
+
+ evas_object_propagate_events_set(btn, flag_propagate);
+
+ evas_object_smart_callback_add(btn, "clicked", func, (void *)data);
+ evas_object_show(btn);
+ UG_TRACE_END;
+
+ return btn;
+}
+
+Evas_Object *mf_ug_widget_toolbar_create(Evas_Object *parent)
+{
+ Evas_Object *toolbar = NULL;
+ toolbar = elm_toolbar_add(parent);
+ elm_object_style_set(toolbar, "default");
+ elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND);
+ elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE);
+ elm_toolbar_select_mode_set(toolbar, ELM_OBJECT_SELECT_MODE_NONE);
+ return toolbar;
+}
+
+Elm_Object_Item *mf_ug_widget_item_tabbar_item_append(Evas_Object *obj,
+ const char *icon,
+ const char *label,
+ Evas_Smart_Cb func,
+ const void *data)
+{
+ Elm_Object_Item *item = elm_toolbar_item_append(obj, icon, label, func, data);
+
+ mf_ug_widget_object_item_translate_set(item, label);
+ return item;
+}
+
+Evas_Object *mf_ug_widget_nocontent_create(Evas_Object *parent, const char *text, const char *icon_path)
+{
+ Evas_Object *nocontent = elm_layout_add(parent);
+ elm_layout_theme_set(nocontent, "layout", "nocontents", "text");
+ elm_object_focus_set(nocontent, EINA_FALSE);
+
+ Evas_Object *icon = elm_image_add(nocontent);
+ elm_image_file_set(icon, UG_EDJ_IMAGE, icon_path);
+ elm_object_part_content_set(nocontent, "nocontents.image", icon);
+ mf_ug_widget_object_text_set(nocontent, text, "elm.text");
+ return nocontent;
+}
+
+Evas_Object *mf_ug_tabbar_path_widget_create(Evas_Object *parent)
+{
+ Evas_Object *obj;
+ obj = elm_toolbar_add(parent);
+ elm_toolbar_homogeneous_set(obj, EINA_FALSE);
+ elm_toolbar_align_set(obj, 0.0);
+ if (obj == NULL)
+ return NULL;
+ elm_object_style_set(obj, "navigationbar");
+ elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_SCROLL);
+ elm_toolbar_transverse_expanded_set(obj, EINA_TRUE);
+ elm_toolbar_select_mode_set(obj, ELM_OBJECT_SELECT_MODE_NONE);
+
+ return obj;
+}
+
+Elm_Object_Item *mf_ug_tabbar_item_append(Evas_Object *obj,
+ const char *icon,
+ const char *label,
+ Evas_Smart_Cb func,
+ const void *data)
+{
+ Elm_Object_Item *item = elm_toolbar_item_append(obj, icon, label, func, data);
+
+ mf_ug_widget_object_item_translate_set(item, label);
+ return item;
+}
+
+void mf_ug_tabbar_path_item_cb(void *data, Evas_Object * obj, void *event_info)
+{
+ ugData *ugd = mf_ug_ugdata();
+ char *fullpath = (char *)data;
+ ug_error("~~~~~~~~~~~~~~~~~~ fullpath is [%s], current path is [%s]", fullpath, ugd->ug_Status.ug_pPath->str);
+ if (fullpath == NULL || !mf_file_exists(fullpath)) {
+ UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath);
+ ugd->ug_Status.ug_pPath = g_string_new(PHONE_FOLDER);
+ ugd->ug_Status.ug_iViewType = mf_ug_view_root;
+ mf_ug_navi_bar_create_default_view(ugd);
+ } else {
+ if (g_strcmp0(ugd->ug_Status.ug_pPath->str, fullpath) == 0) {
+ ug_error("The same folder selected");
+ return;
+ } else {
+ UG_SAFE_FREE_GSTRING(ugd->ug_Status.ug_pPath);
+ ugd->ug_Status.ug_pPath = g_string_new(fullpath);
+ mf_ug_navi_bar_create_default_view(ugd);
+ }
+ }
+}
+
+Evas_Object *mf_ug_tabbar_create_path_tab(Evas_Object *parent, char *info)
+{
+ ug_error();
+ UG_TRACE_BEGIN;
+ ug_mf_retvm_if(parent == NULL, NULL, "parent is NULL");
+ Evas_Object *tab = NULL;
+ int location = mf_ug_fm_svc_wapper_get_location(info);
+ ug_error();
+ Eina_List *path_list = (Eina_List *)mf_ug_fm_svc_wrapper_level_path_get(info);
+ ug_error();
+ if (path_list) {
+ ug_error();
+ tab = mf_ug_tabbar_path_widget_create(parent);
+ ug_error();
+ Eina_List *l = NULL;
+ char *path = NULL;
+ const char *label = NULL;
+ int count = 1;
+ EINA_LIST_FOREACH(path_list, l, path) {
+ if (path) {
+ ug_error("path is [%s]", path);
+ if (count == 1) {
+ switch (location) {
+ case MF_UG_PHONE:
+ label = MF_UG_LABEL_PHONE;
+ break;
+ case MF_UG_MMC:
+ label = MF_UG_LABEL_MMC;
+ break;
+ default:
+ return NULL;
+ }
+ mf_ug_tabbar_item_append(tab, NULL, mf_ug_widget_get_text(label), mf_ug_tabbar_path_item_cb, g_strdup(path));
+ count++;
+ } else {
+ label = mf_file_get(path);
+ mf_ug_tabbar_item_append(tab, NULL, mf_ug_widget_get_text(label), mf_ug_tabbar_path_item_cb, g_strdup(path));
+ count++;
+ }
+ }
+ }
+ ug_error();
+ Elm_Object_Item *last_item = elm_toolbar_last_item_get(tab);
+ elm_object_item_disabled_set(last_item, EINA_TRUE);
+ elm_toolbar_item_show(last_item, ELM_TOOLBAR_ITEM_SCROLLTO_LAST);
+ ug_error();
+ }
+ ug_error();
+ mf_ug_util_free_eina_list_data(&path_list, NODE_TYPE_CHAR);
+ ug_error();
+ return tab;
+}
+
+
+void mf_ug_object_create_select_all_layout(Evas_Object *pParent, Evas_Smart_Cb pChangeFunc,
+ Evas_Object_Event_Cb pMouseDownFunc, void *pUserData, Evas_Object **pCheckBox, Evas_Object **pSelectLayout)
+{
+ Evas_Object *pSelectAllLayout = elm_layout_add(pParent);
+ elm_layout_file_set(pSelectAllLayout, UG_EDJ_NAVIGATIONBAR, "select.all.layout");
+ evas_object_size_hint_weight_set(pSelectAllLayout, EVAS_HINT_EXPAND, EVAS_HINT_FILL);
+ evas_object_size_hint_align_set(pSelectAllLayout, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_event_callback_add(pSelectAllLayout, EVAS_CALLBACK_MOUSE_DOWN, pMouseDownFunc, pUserData);
+ *pSelectLayout = pSelectAllLayout;
+ elm_object_part_text_set(pSelectAllLayout, "elm.text", mf_ug_widget_get_text(MF_UG_LABEL_SELECT_ALL));
+ Evas_Object *pSelectAllCheckbox = elm_check_add(pSelectAllLayout);
+ evas_object_smart_callback_add(pSelectAllCheckbox, "changed", pChangeFunc, pUserData);
+ evas_object_propagate_events_set(pSelectAllCheckbox, EINA_FALSE);
+ elm_object_part_content_set(pSelectAllLayout, "elm.icon", pSelectAllCheckbox);
+ evas_object_show(pSelectAllLayout);
+ *pCheckBox = pSelectAllCheckbox;
+}
diff --git a/tests/ugmyfiletestapp/CMakeLists.txt b/tests/ugmyfiletestapp/CMakeLists.txt
index 200d102..0adf2c3 100644
--- a/tests/ugmyfiletestapp/CMakeLists.txt
+++ b/tests/ugmyfiletestapp/CMakeLists.txt
@@ -32,7 +32,6 @@ pkg_check_modules(pkgs REQUIRED
capi-appfw-application
capi-content-media-content
elementary
-vconf
glib-2.0
gthread-2.0
drm-client
@@ -47,7 +46,6 @@ ecore
ecore-file
ecore-input
capi-system-power
-utilX
)
# org.tizen.live-myfile
# debian
diff --git a/tests/ugmyfiletestapp/edj/layoutedj.edc b/tests/ugmyfiletestapp/edj/layoutedj.edc
index 4705c2b..4e4ceda 100644
--- a/tests/ugmyfiletestapp/edj/layoutedj.edc
+++ b/tests/ugmyfiletestapp/edj/layoutedj.edc
@@ -1,3 +1,20 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
collections
{
@@ -63,4 +80,4 @@ collections
}
}
-} \ No newline at end of file
+}
diff --git a/tests/ugmyfiletestapp/include/dbg.h b/tests/ugmyfiletestapp/include/dbg.h
index e9aa55f..87c0e86 100644
--- a/tests/ugmyfiletestapp/include/dbg.h
+++ b/tests/ugmyfiletestapp/include/dbg.h
@@ -1,18 +1,19 @@
/*
- * Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#ifndef __DBG_H__
diff --git a/tests/ugmyfiletestapp/include/main.h b/tests/ugmyfiletestapp/include/main.h
index 83debcf..9ba32b6 100644
--- a/tests/ugmyfiletestapp/include/main.h
+++ b/tests/ugmyfiletestapp/include/main.h
@@ -1,3 +1,19 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#ifndef _MAIN_H_
#define _MAIN_H_
diff --git a/tests/ugmyfiletestapp/packaging/org.tizen.ugmyfiletestapp.spec b/tests/ugmyfiletestapp/packaging/org.tizen.ugmyfiletestapp.spec
index d1fb093..880b802 100644
--- a/tests/ugmyfiletestapp/packaging/org.tizen.ugmyfiletestapp.spec
+++ b/tests/ugmyfiletestapp/packaging/org.tizen.ugmyfiletestapp.spec
@@ -1,9 +1,9 @@
Name: org.tizen.ugmyfiletestapp
Version: 0.0.1
Release: 1
-License: To be filled
+License: Apache-2.0
Summary: Hello EFL Application
-Group: Application
+Group: Applications
Source0: %{name}-%{version}.tar.gz
BuildRequires: cmake
@@ -11,7 +11,6 @@ BuildRequires: pkgconfig(capi-appfw-application)
BuildRequires: pkgconfig(elementary)
BuildRequires: gettext-devel
BuildRequires: pkgconfig(capi-content-media-content)
-BuildRequires: pkgconfig(vconf)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gthread-2.0)
BuildRequires: pkgconfig(ui-gadget-1)
@@ -24,7 +23,6 @@ BuildRequires: pkgconfig(ecore)
BuildRequires: pkgconfig(ecore-file)
BuildRequires: pkgconfig(ecore-input)
BuildRequires: pkgconfig(capi-system-power)
-BuildRequires: pkgconfig(utilX)
%description
Platform Project
diff --git a/tests/ugmyfiletestapp/src/main.c b/tests/ugmyfiletestapp/src/main.c
index 7067b02..2b6d9bb 100644
--- a/tests/ugmyfiletestapp/src/main.c
+++ b/tests/ugmyfiletestapp/src/main.c
@@ -1,24 +1,24 @@
/*
- * Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
#include <app.h>
#include <Elementary.h>
#include <assert.h>
#include <ui-gadget.h>
-#include <utilX.h>
#ifdef UNIT_TESTS
#include "run-tests.h"
@@ -39,30 +39,29 @@ struct _appdata {
static void ug_layout_callback(ui_gadget_h ug, enum ug_mode mode, void *priv)
{
- printf("%s\n",__FUNCTION__);
+ printf("%s\n", __FUNCTION__);
struct _appdata *ad = priv;
Evas_Object *base = (Evas_Object *)ug_get_layout(ug);
Evas_Object *win = ug_get_window();
if (!base) {
- printf("!base -> Call ug_destroy\n");
- ug_destroy(ug);
- return;
+ printf("!base -> Call ug_destroy\n");
+ ug_destroy(ug);
+ return;
}
- switch (mode)
- {
+ switch (mode) {
case UG_MODE_FULLVIEW:
- evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(win, base);
+ evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(win, base);
evas_object_show(base);
break;
case UG_MODE_FRAMEVIEW:
- evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_part_content_set(ad->layout, "custom", base);
+ evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_part_content_set(ad->layout, "custom", base);
break;
default:
- break;
+ break;
}
}
@@ -87,9 +86,8 @@ static void on_click(void *data, Evas_Object *obj, void *event_info)
service_h service;
int ret = service_create(&service);
- if(ret != SERVICE_ERROR_NONE)
- {
- printf("service create failed\n");
+ if (ret != SERVICE_ERROR_NONE) {
+ printf("service create failed\n");
}
service_add_extra_data(service, "path", "/");
@@ -109,14 +107,14 @@ static Evas_Object *_add_win(const char *name)
win = elm_win_util_standard_add(name, "ugmyfiletestapp");
if (!win)
- return NULL;
+ return NULL;
evas_object_show(win);
return win;
}
-static void _add_button(const char* name, Evas_Object* box, struct _appdata *ad)
+static void _add_button(const char *name, Evas_Object *box, struct _appdata *ad)
{
Evas_Object *btn;
btn = elm_button_add(box);
@@ -129,54 +127,43 @@ static void _add_button(const char* name, Evas_Object* box, struct _appdata *ad)
}
-static Eina_Bool callback_hw_key_down( void *data, int type __attribute__((unused)), void *event )
+static Eina_Bool callback_hw_key_down(void *data, int type __attribute__((unused)), void *event)
{
assert(data != NULL);
assert(event != NULL);
- if(data == NULL)
- {
- return ECORE_CALLBACK_DONE;
+ if (data == NULL) {
+ return ECORE_CALLBACK_DONE;
}
- if(event == NULL)
- {
- return ECORE_CALLBACK_DONE;
+ if (event == NULL) {
+ return ECORE_CALLBACK_DONE;
}
struct _appdata *ad = data;
Ecore_Event_Key *key_event = event;
- if (strcmp(key_event->keyname, KEY_BACK) == 0)
- {
- if (ad->ug)
- {
- return ECORE_CALLBACK_PASS_ON;
- }
- else
- {
- elm_exit();
+ if (strcmp(key_event->keyname, "XF86Back") == 0) {
+ if (ad->ug) {
+ return ECORE_CALLBACK_PASS_ON;
+ } else {
+ elm_exit();
}
}
- else if (strcmp(key_event->keyname, KEY_MENU) == 0)
- {
- return ECORE_CALLBACK_DONE;
- }
return ECORE_CALLBACK_DONE;
}
-
static bool _create(void *user_data)
{
char *btn_name[] = { "MULTI_ALL",
- "SINGLE_ALL",
- "MULTI_FILE",
- "SINGLE_FILE",
- "IMPORT",
- "EXPORT",
- "SHORTCUT",
- "SAVE"
- };
+ "SINGLE_ALL",
+ "MULTI_FILE",
+ "SINGLE_FILE",
+ "IMPORT",
+ "EXPORT",
+ "SHORTCUT",
+ "SAVE"
+ };
struct _appdata *ad;
Evas_Object *win;
@@ -185,13 +172,13 @@ static bool _create(void *user_data)
Evas_Object *layout;
if (!user_data)
- return false;
+ return false;
ad = user_data;
win = _add_win(ad->name);
if (!win)
- return false;
+ return false;
layout = elm_layout_add(win);
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, layout);
@@ -199,16 +186,15 @@ static bool _create(void *user_data)
evas_object_show(layout);
const char *title = elm_layout_data_get(layout, "title");
- if (title)
- {
- elm_win_title_set(win, title);
- elm_object_part_text_set(layout, "title", title);
+ if (title) {
+ elm_win_title_set(win, title);
+ elm_object_part_text_set(layout, "title", title);
}
bx = elm_box_add(win);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
- //elm_win_resize_object_add(win, bx);
+ /*elm_win_resize_object_add(win, bx);*/
elm_box_horizontal_set(bx, EINA_FALSE);
elm_object_part_content_set(layout, "custom", bx);
evas_object_show(bx);
@@ -218,15 +204,14 @@ static bool _create(void *user_data)
int i = 0;
int len = sizeof(btn_name)/sizeof(btn_name[0]);
- for ( ;i < len; ++i)
- {
- /* code */
- _add_button(btn_name[i], bx, ad);
+ for ( ; i < len; ++i) {
+ /* code */
+ _add_button(btn_name[i], bx, ad);
}
elm_object_part_content_set(layout, "custom", bx);
- ad->key_event_handler = ecore_event_handler_add( ECORE_EVENT_KEY_DOWN, callback_hw_key_down, ad );
+ ad->key_event_handler = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, callback_hw_key_down, ad);
UG_INIT_EFL(win, UG_OPT_INDICATOR_ENABLE);
ad->win = win;
@@ -239,22 +224,21 @@ static void _terminate(void *user_data)
struct _appdata *ad;
if (!user_data)
- return;
+ return;
ad = user_data;
if (ad->win)
- evas_object_del(ad->win);
- if (ad->key_event_handler)
- {
- ecore_event_handler_del(ad->key_event_handler);
+ evas_object_del(ad->win);
+ if (ad->key_event_handler) {
+ ecore_event_handler_del(ad->key_event_handler);
}
}
static void _pause(void *user_data)
{
- if (!user_data)
- return;
+ if (!user_data)
+ return;
}
static void _resume(void *user_data)
@@ -274,7 +258,7 @@ static void _low_battery(void *user_data)
}
static void _dev_orientation_changed(app_device_orientation_e orientation,
- void *user_data)
+ void *user_data)
{
}
@@ -290,30 +274,28 @@ void _init_and_run(int argc, char **argv)
{
struct _appdata ad;
app_event_callback_s cbs = {
- .create = _create,
- .terminate = _terminate,
- .pause = _pause,
- .resume = _resume,
- .service = _service,
- .low_memory = _low_memory,
- .low_battery = _low_battery,
- .device_orientation = _dev_orientation_changed,
- .language_changed = _lang_changed,
- .region_format_changed = _region_fmt_changed,
+ .create = _create,
+ .terminate = _terminate,
+ .pause = _pause,
+ .resume = _resume,
+ .service = _service,
+ .low_memory = _low_memory,
+ .low_battery = _low_battery,
+ .device_orientation = _dev_orientation_changed,
+ .language_changed = _lang_changed,
+ .region_format_changed = _region_fmt_changed,
};
memset(&ad, 0x00, sizeof(ad));
- ad.name= "testug";
+ ad.name = "testug";
app_efl_main(&argc, &argv, &cbs, &ad);
-
}
int main(int argc, char **argv)
{
-
#ifdef UNIT_TESTS
- return run_tests( argc, argv );
+ return run_tests(argc, argv);
#endif /* UNIT_TESTS */
_init_and_run(argc, argv);
diff --git a/ug-myfile-button.edc b/ug-myfile-button.edc
new file mode 100644
index 0000000..c410d2e
--- /dev/null
+++ b/ug-myfile-button.edc
@@ -0,0 +1,288 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+
+#define BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC 72 72
+#define BUTTON_CIRCLE_STYLE_IMAGE_MIN_MAX_INC 45 45
+#define BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC 45 45
+#define BUTTON_CIRCLE_STYLE_LEFT_PADDING_MIN_MAX_INC 13 13
+#define BUTTON_CIRCLE_STYLE_RIGHT_PADDING_MIN_MAX_INC 14 14
+#define BUTTON_CIRCLE_NORMAL_MIN_WIDTH_INC 72
+#define BUTTON_CIRCLE_NORMAL_MIN_HEIGHT_INC 72
+
+group { name: "elm/button/base/myfile_play";
+ data {
+ item: "focus_highlight" "on";
+ }
+ images {
+ image: 00_circle_button_focus.png COMP;
+ image: 00_circle_button_bg.png COMP;
+ }
+ script {
+ public mouse_down = 0;
+ public multi_down = 0;
+ }
+ parts {
+ part { name: "button_image";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC;
+ max: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "button_bg";
+ scale: 1;
+ description { state: "default" 0.0;
+ min: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC;
+ max: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC;
+ image.normal: "00_circle_button_bg.png";
+ rel1.to: "button_image";
+ rel2.to: "button_image";
+ visible: 1 ;
+ color_class: "W011";
+ }
+ description { state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ visible: 1 ;
+ color_class: "B042";
+ }
+ }
+ part { name: "left_top_padding";
+ scale: 1;
+ type: SPACER;
+ description { state: "default" 0.0;
+ min: BUTTON_CIRCLE_STYLE_LEFT_PADDING_MIN_MAX_INC;
+ max: BUTTON_CIRCLE_STYLE_LEFT_PADDING_MIN_MAX_INC;
+ fixed: 1 1;
+ align: 0.0 0.0;
+ rel1.to: "button_image";
+ rel2.to: "button_image";
+ }
+ }
+ part { name: "right_bottom_padding";
+ scale: 1;
+ type: SPACER;
+ description { state: "default" 0.0;
+ min: BUTTON_CIRCLE_STYLE_RIGHT_PADDING_MIN_MAX_INC;
+ max: BUTTON_CIRCLE_STYLE_RIGHT_PADDING_MIN_MAX_INC;
+ fixed: 1 1;
+ align: 1.0 1.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "button_image";
+ }
+ rel2.to: "button_image";
+ }
+ }
+ part { name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ clip_to: "icon_clipper";
+ description { state: "default" 0.0;
+ min: BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC;
+ max: BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to: "left_top_padding";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "right_bottom_padding";
+ }
+ }
+ }
+ part { name: "icon_clipper";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ // color_class: "F032L1";
+ }
+ description { state: "pressed" 0.0;
+ color_class: "F032L1P";
+ }
+ description { state: "disabled" 0.0;
+ color_class: "F032L1D";
+ }
+ }
+ part { name: "focus_image";
+ scale: 1;
+ mouse_events: 0;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ min: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC;
+ max: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC;
+ visible: 0;
+ rel1.to : "button_image";
+ rel2.to : "button_image";
+ image {
+ normal: "00_circle_button_focus.png";
+ }
+ }
+ description { state: "focused" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ color_class: "W161";
+ }
+ }
+ part { name: "over1";
+ type: RECT;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "over2";
+ type: RECT;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "disabler";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ visible: 0;
+ }
+ description { state: "disabled" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ }
+ programs {
+ program { name: "button_press";
+ signal: "mouse,down,1*";
+ source: "over1";
+ script {
+ if ((get_int(multi_down) == 0) && (get_int(mouse_down) == 0))
+ {
+ set_int(mouse_down, 1);
+ run_program(PROGRAM:"button_press2");
+ }
+ }
+ }
+ program { name: "button_press2";
+ action: SIGNAL_EMIT "elm,action,press" "";
+ after: "button_press_anim";
+ }
+ program { name: "button_press_anim";
+ action: STATE_SET "pressed" 0.0;
+ target: "button_bg";
+ target: "icon_clipper";
+ }
+ program { name: "key_press";
+ signal: "elm,action,pressed";
+ source: "elm";
+ action: STATE_SET "pressed" 0.0;
+ target: "button_bg";
+ target: "icon_clipper";
+ }
+ program { name: "key_unpress";
+ signal: "elm,action,unpressed";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "button_bg";
+ target: "icon_clipper";
+ }
+ program { name: "button_click";
+ signal: "mouse,clicked,1";
+ source: "over1";
+ script {
+ if (get_int(multi_down) == 0) {
+ run_program(PROGRAM:"play_sound");
+ run_program(PROGRAM:"button_click2");
+ }
+ }
+ }
+ program { name: "play_sound";
+ action: RUN_PLUGIN "touch_sound";
+ }
+ program { name: "button_click2";
+ action: SIGNAL_EMIT "elm,action,click" "";
+ }
+ program { name: "button_unpress";
+ signal: "mouse,up,1*";
+ source: "over2";
+ script {
+ if (get_int(mouse_down) == 1)
+ {
+ set_int(mouse_down, 0);
+ run_program(PROGRAM:"button_unpress2");
+ run_program(PROGRAM:"button_unpress_anim");
+ }
+ }
+ }
+ program { name: "button_unpress2";
+ action: SIGNAL_EMIT "elm,action,unpress" "";
+ }
+ program { name: "button_unpress_anim";
+ action: STATE_SET "default" 0.0;
+ target: "button_bg";
+ target: "icon_clipper";
+ }
+ program { name: "disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "disabler";
+ target: "icon_clipper";
+ }
+ program { name: "enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "disabler";
+ target: "icon_clipper";
+ }
+ program { name: "action_focus";
+ signal: "elm,action,focus_highlight,show";
+ source: "elm";
+ action: STATE_SET "focused" 0.0;
+ target: "focus_image";
+ }
+ program { name: "action_unfocus";
+ signal: "elm,action,focus_highlight,hide";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "focus_image";
+ }
+ program {
+ name: "multi_down";
+ signal: "elm,action,multi,down";
+ source: "elm";
+ script {
+ set_int(multi_down, 1);
+ }
+ }
+ program {
+ name: "multi_up";
+ signal: "elm,action,multi,up";
+ source: "elm";
+ script {
+ set_int(multi_down, 0);
+ }
+ }
+ }
+}
+
diff --git a/ug-myfile-efl.manifest b/ug-myfile-efl.manifest
index c00c25b..6df3846 100644
--- a/ug-myfile-efl.manifest
+++ b/ug-myfile-efl.manifest
@@ -1,4 +1,10 @@
<manifest>
+ <define>
+ <domain name="ug-myfile-efl" policy="shared"/>
+ <request>
+ <smack request="org.tizen.myfile" type="rwx"/>
+ </request>
+ </define>
<request>
<domain name="_" />
</request>
diff --git a/ug-myfile-efl.png b/ug-myfile-efl.png
new file mode 100644
index 0000000..995f808
--- /dev/null
+++ b/ug-myfile-efl.png
Binary files differ
diff --git a/ug-myfile-efl.xml b/ug-myfile-efl.xml
index d2c1eed..9efa604 100644
--- a/ug-myfile-efl.xml
+++ b/ug-myfile-efl.xml
@@ -1,34 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="myfile-efl" version="0.1" install-location="internal-only">
- <label>myfile-efl</label>
- <author email="gliang.wang@samsung.com" href="www.samsung.com">Guangliang Wang</author>
- <description>My Files Application</description>
- <ui-application appid="myfile-efl" exec="/usr/ug/bin/myfile-efl" nodisplay="true" multiple="true" type="capp" taskmanage="false">
- <icon>ug-myfile-efl.png</icon>
- <label>My Files Appcontrol</label>
- <label xml:lang="en-us">My Files Appcontrol</label>
- <label xml:lang="nl-nl">My Files</label>
- <label xml:lang="de-de">My Files</label>
- <label xml:lang="zh-hk">My Files</label>
- <label xml:lang="zh-cn">My Files</label>
- <label xml:lang="ru-ru">My Files</label>
- <label xml:lang="zh-tw">My Files</label>
- <label xml:lang="ja-jp">My Files</label>
- <label xml:lang="es-es">My Files</label>
- <label xml:lang="el-gr">My Files</label>
- <label xml:lang="it-it">My Files</label>
- <label xml:lang="tr-tr">My Files</label>
- <label xml:lang="pt-pt">My Files</label>
- <label xml:lang="fr-fr">My Files</label>
- <label xml:lang="ko-kr">My Files</label>
- <application-service>
- <operation name="http://tizen.org/appcontrol/operation/pick"/>
- </application-service>
- <application-service>
- <operation name="http://tizen.org/appcontrol/operation/pick"/>
- <mime name="image/*"/>
- <mime name="video/*"/>
- </application-service>
+<manifest xmlns="http://tizen.org/ns/packages" package="ug-myfile-efl" version="0.0.2" install-location="internal-only">
+ <label>My Files Appcontrol</label>
+ <label xml:lang="hy-am">My Files Appcontrol</label>
+ <label xml:lang="az-az">My Files Appcontrol</label>
+ <label xml:lang="eu-es">My Files Appcontrol</label>
+ <label xml:lang="bg-bg">My Files Appcontrol</label>
+ <label xml:lang="ca-es">My Files Appcontrol</label>
+ <label xml:lang="zh-cn">My Files Appcontrol</label>
+ <label xml:lang="zh-hk">My Files Appcontrol</label>
+ <label xml:lang="zh-tw">My Files Appcontrol</label>
+ <label xml:lang="hr-hr">My Files Appcontrol</label>
+ <label xml:lang="cs-cz">My Files Appcontrol</label>
+ <label xml:lang="da-dk">My Files Appcontrol</label>
+ <label xml:lang="nl-nl">My Files Appcontrol</label>
+ <label xml:lang="en-gb">My Files Appcontrol</label>
+ <label xml:lang="en-us">My Files Appcontrol</label>
+ <label xml:lang="et-ee">My Files Appcontrol</label>
+ <label xml:lang="fi-fi">My Files Appcontrol</label>
+ <label xml:lang="fr-fr">My Files Appcontrol</label>
+ <label xml:lang="gl-es">My Files Appcontrol</label>
+ <label xml:lang="ka-ge">My Files Appcontrol</label>
+ <label xml:lang="de-de">My Files Appcontrol</label>
+ <label xml:lang="el-gr">My Files Appcontrol</label>
+ <label xml:lang="hu-hu">My Files Appcontrol</label>
+ <label xml:lang="is-is">My Files Appcontrol</label>
+ <label xml:lang="ga-ie">My Files Appcontrol</label>
+ <label xml:lang="it-it">My Files Appcontrol</label>
+ <label xml:lang="ja-jp">My Files Appcontrol</label>
+ <label xml:lang="kk-kz">My Files Appcontrol</label>
+ <label xml:lang="ko-kr">My Files Appcontrol</label>
+ <label xml:lang="lv-lv">My Files Appcontrol</label>
+ <label xml:lang="lt-lt">My Files Appcontrol</label>
+ <label xml:lang="mk-mk">My Files Appcontrol</label>
+ <label xml:lang="nb-no">My Files Appcontrol</label>
+ <label xml:lang="pl-pl">My Files Appcontrol</label>
+ <label xml:lang="pt-pt">My Files Appcontrol</label>
+ <label xml:lang="pt-br">My Files Appcontrol</label>
+ <label xml:lang="ro-ro">My Files Appcontrol</label>
+ <label xml:lang="ru-ru">My Files Appcontrol</label>
+ <label xml:lang="sr-rs">My Files Appcontrol</label>
+ <label xml:lang="sk-sk">My Files Appcontrol</label>
+ <label xml:lang="sl-si">My Files Appcontrol</label>
+ <label xml:lang="es-es">My Files Appcontrol</label>
+ <label xml:lang="es-us">My Files Appcontrol</label>
+ <label xml:lang="sv-se">My Files Appcontrol</label>
+ <label xml:lang="tr-tr">My Files Appcontrol</label>
+ <label xml:lang="uk-ua">My Files Appcontrol</label>
+ <label xml:lang="uz-uz">My Files Appcontrol</label>
+ <label xml:lang="ar-ae">My Files Appcontrol</label>
+ <label xml:lang="zh-sg">My Files Appcontrol</label>
+ <label xml:lang="hi-in">My Files Appcontrol</label>
+ <label xml:lang="en-ph">My Files Appcontrol</label>
+ <label xml:lang="fr-ca">My Files Appcontrol</label>
+ <label xml:lang="es-mx">My Files Appcontrol</label>
+ <author email="gliang.wang@samsung.com" href="www.samsung.com">Guangliang Wang</author>
+ <description>Myfiles Application</description>
+ <ui-application appid="ug-myfile-efl" exec="/usr/ug/bin/myfile-efl" ui-gadget="true" nodisplay="true" multiple="true" type="capp" taskmanage="false" process-pool="true" launch_mode="caller">
+ <icon>/usr/share/icons/default/small/ug-myfile-efl.png</icon>
+ <label>My Files</label>
+ <label xml:lang="hy-am">Իմ Ֆայլերը</label>
+ <label xml:lang="az-az">Mənim fayllarım</label>
+ <label xml:lang="eu-es">Nire Fitxategiak</label>
+ <label xml:lang="bg-bg">Моите файлове</label>
+ <label xml:lang="ca-es">Els meus fitxers</label>
+ <label xml:lang="zh-cn">我的文件</label>
+ <label xml:lang="zh-hk">我的檔案</label>
+ <label xml:lang="zh-tw">我的檔案</label>
+ <label xml:lang="hr-hr">Moje datoteke</label>
+ <label xml:lang="cs-cz">Moje soubory</label>
+ <label xml:lang="da-dk">Mine filer</label>
+ <label xml:lang="nl-nl">Mijn bestanden</label>
+ <label xml:lang="en-gb">My Files</label>
+ <label xml:lang="en-us">My Files</label>
+ <label xml:lang="et-ee">Minu Failid</label>
+ <label xml:lang="fi-fi">Omat tiedostot</label>
+ <label xml:lang="fr-fr">Mes fichiers</label>
+ <label xml:lang="gl-es">Os Meus Arquivos</label>
+ <label xml:lang="ka-ge">ჩემი ფაილები</label>
+ <label xml:lang="de-de">Eigene Dateien</label>
+ <label xml:lang="el-gr">Τα Αρχεία Μου</label>
+ <label xml:lang="hu-hu">Saját fájlok</label>
+ <label xml:lang="is-is">Skrárnar mínar</label>
+ <label xml:lang="ga-ie">Mo Chomhaid</label>
+ <label xml:lang="it-it">Archivio</label>
+ <label xml:lang="ja-jp">マイ​ファイル</label>
+ <label xml:lang="kk-kz">Менің файлдарым</label>
+ <label xml:lang="ko-kr">내 파일</label>
+ <label xml:lang="lv-lv">Mani faili</label>
+ <label xml:lang="lt-lt">Mano failai</label>
+ <label xml:lang="mk-mk">Мои фајлови</label>
+ <label xml:lang="nb-no">Mine Filer</label>
+ <label xml:lang="pl-pl">Moje pliki</label>
+ <label xml:lang="pt-pt">Os Meus Ficheiros</label>
+ <label xml:lang="pt-br">Meus Arquivos</label>
+ <label xml:lang="ro-ro">Fişierele mele</label>
+ <label xml:lang="ru-ru">Мои файлы</label>
+ <label xml:lang="sr-rs">Moji fajlovi</label>
+ <label xml:lang="sk-sk">Moje súbory</label>
+ <label xml:lang="sl-si">Moje datoteke</label>
+ <label xml:lang="es-es">Mis archivos</label>
+ <label xml:lang="es-us">Mis Archivos</label>
+ <label xml:lang="sv-se">Mina filer</label>
+ <label xml:lang="tr-tr">Dosyalarım</label>
+ <label xml:lang="uk-ua">Мої файли</label>
+ <label xml:lang="uz-uz">Mening fayllarim</label>
+ <label xml:lang="ar-ae">ملفاتي</label>
+ <label xml:lang="zh-sg">我的文件</label>
+ <label xml:lang="hi-in">मेरी फाइलें</label>
+ <label xml:lang="en-ph">My Files</label>
+ <label xml:lang="fr-ca">Mes fichiers</label>
+ <label xml:lang="es-mx">Mis Archivos</label>
+ <application-service>
+ <operation name="http://tizen.org/appcontrol/operation/pick"/>
+ </application-service>
+ <application-service>
+ <operation name="http://tizen.org/appcontrol/operation/pick"/>
+ <mime name="image/*"/>
+ <mime name="video/*"/>
+ </application-service>
- </ui-application>
+ </ui-application>
</manifest>
diff --git a/ug-myfile-toolbar.edc b/ug-myfile-toolbar.edc
new file mode 100644
index 0000000..1127cdd
--- /dev/null
+++ b/ug-myfile-toolbar.edc
@@ -0,0 +1,840 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+#define ITEM_STATE_ENABLED 0
+#define ITEM_STATE_DISABLED 1
+#define TOOLBAR_SLIDING_PER_FPS 2
+#define TOOLBAR_SLIDING_FPS 40.0
+#define TOOLBAR_SLIDING_TEXT_GAP 40
+#define TOOLBAR_SLIDING_TEXT_OFFSET 5
+#define TOOLBAR_SLIDING_WAIT_TIME 1.2
+#define TOOLBAR_ITEM_DIVIDER_SIZE 1 48
+
+// sliding motion
+#define TOOLBAR_SLIDING_NO_EFFECT 0
+#define TOOLBAR_SLIDING_DOING 1
+#define TOOLBAR_SLIDING_END 2
+
+#define TABBAR_BOTTOM_LINE_H_INC 1
+#define TABBAR_ITEM_ICON_SIZE_INC 24 24
+#define TABBAR_BADGE_ONE_ITEM_PADDING_SIZE 10 10
+#define TABBAR_BADGE_TWO_ITEMS_PADDING_SIZE 6 10
+#define TABBAR_BADGE_THREE_ITEMS_PADDING_SIZE 4 10
+#define TABBAR_ITEM_DIVIDER_SIZE 1
+
+#if 1
+#define TOOLBAR_TEXT_STYLE(_font_size) \
+ style { name: "toolbar_text_style_"_font_size; \
+ base: "font=Tizen:style=Bold font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=ATO005 color_class=T042 linegap=0"; \
+ tag: "br" "\n"; \
+ tag: "ps" "ps"; \
+ tag: "hilight" "+ font_weight=Bold"; \
+ tag: "b" "+ font_weight=Bold"; \
+ tag: "tab" "\t"; \
+ }
+
+#define TOOLBAR_PRESSED_TEXT_STYLE(_font_size) \
+ style { name: "toolbar_pressed_text_style_"_font_size; \
+ base: "font=Tizen:style=Bold font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=ATO005P color_class=T042P linegap=0"; \
+ tag: "br" "\n"; \
+ tag: "ps" "ps"; \
+ tag: "hilight" "+ font_weight=Bold"; \
+ tag: "b" "+ font_weight=Bold"; \
+ tag: "tab" "\t"; \
+ }
+
+#define TOOLBAR_DISABLED_TEXT_STYLE(_font_size) \
+ style { name: "toolbar_disabled_text_style_"_font_size; \
+ base: "font=Tizen:style=Bold font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=ATO005D color_class=T042D linegap=0"; \
+ tag: "br" "\n"; \
+ tag: "ps" "ps"; \
+ tag: "hilight" "+ font_weight=Bold"; \
+ tag: "b" "+ font_weight=Bold"; \
+ tag: "tab" "\t"; \
+ }
+
+#endif
+
+#define TABBAR_TEXT_STYLE(_font_size) \
+ style { name: "tabbar_text_style_"_font_size; \
+ base: "font=Tizen:style=regular font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=T111 color_class=T111 linegap=0"; \
+ tag: "br" "\n"; \
+ tag: "ps" "ps"; \
+ tag: "hilight" "+ font_weight=Bold"; \
+ tag: "b" "+ font_weight=Bold"; \
+ tag: "tab" "\t"; \
+ }
+
+#define TABBAR_SELECTED_TEXT_STYLE(_font_size) \
+ style { name: "tabbar_selected_text_style_"_font_size; \
+ base: "font=Tizen:style=Bold font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=T111S color_class=T111S linegap=0"; \
+ tag: "br" "\n"; \
+ tag: "ps" "ps"; \
+ tag: "hilight" "+ font_weight=Bold"; \
+ tag: "b" "+ font_weight=Bold"; \
+ tag: "tab" "\t"; \
+ }
+
+#define TABBAR_PRESSED_TEXT_STYLE(_font_size) \
+ style { name: "tabbar_pressed_text_style_"_font_size; \
+ base: "font=Tizen:style=regular font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=T111P color_class=T111P linegap=0"; \
+ tag: "br" "\n"; \
+ tag: "ps" "ps"; \
+ tag: "hilight" "+ font_weight=Bold"; \
+ tag: "b" "+ font_weight=Bold"; \
+ tag: "tab" "\t"; \
+ }
+
+#define TABBAR_DISABLED_TEXT_STYLE(_font_size) \
+ style { name: "tabbar_disabled_text_style_"_font_size; \
+ base: "font=Tizen:style=regular font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=T111D color_class=T111D linegap=0"; \
+ tag: "br" "\n"; \
+ tag: "ps" "ps"; \
+ tag: "hilight" "+ font_weight=Bold"; \
+ tag: "b" "+ font_weight=Bold"; \
+ tag: "tab" "\t"; \
+ }
+
+#define TABBAR_WITH_TITLE_TEXT_STYLE(_font_size) \
+ style { name: "tabbar_with_title_text_style_"_font_size; \
+ base: "font=Tizen:style=regular font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=T1112 color_class=T1112 linegap=0"; \
+ tag: "br" "\n"; \
+ tag: "ps" "ps"; \
+ tag: "hilight" "+ font_weight=Bold"; \
+ tag: "b" "+ font_weight=Bold"; \
+ tag: "tab" "\t"; \
+ }
+
+#define TABBAR_WITH_TITLE_SELECTED_TEXT_STYLE(_font_size) \
+ style { name: "tabbar_with_title_selected_text_style_"_font_size; \
+ base: "font=Tizen:style=Bold font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=T1112S color_class=T1112S linegap=0"; \
+ tag: "br" "\n"; \
+ tag: "ps" "ps"; \
+ tag: "hilight" "+ font_weight=Bold"; \
+ tag: "b" "+ font_weight=Bold"; \
+ tag: "tab" "\t"; \
+ }
+
+#define TABBAR_WITH_TITLE_PRESSED_TEXT_STYLE(_font_size) \
+ style { name: "tabbar_with_title_pressed_text_style_"_font_size; \
+ base: "font=Tizen:style=regular font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=T1112P color_class=T1112P linegap=0"; \
+ tag: "br" "\n"; \
+ tag: "ps" "ps"; \
+ tag: "hilight" "+ font_weight=Bold"; \
+ tag: "b" "+ font_weight=Bold"; \
+ tag: "tab" "\t"; \
+ }
+
+#define TABBAR_WITH_TITLE_DISABLED_TEXT_STYLE(_font_size) \
+ style { name: "tabbar_with_title_disabled_text_style_"_font_size; \
+ base: "font=Tizen:style=regular font_size="_font_size" align=center color=#000000 wrap=word ellipsis=1 text_class=T1112D color_class=T1112D linegap=0"; \
+ tag: "br" "\n"; \
+ tag: "ps" "ps"; \
+ tag: "hilight" "+ font_weight=Bold"; \
+ tag: "b" "+ font_weight=Bold"; \
+ tag: "tab" "\t"; \
+ }
+
+styles{
+ TABBAR_TEXT_STYLE(18)
+ TABBAR_SELECTED_TEXT_STYLE(18)
+ TABBAR_PRESSED_TEXT_STYLE(18)
+ TABBAR_DISABLED_TEXT_STYLE(18)
+ TABBAR_WITH_TITLE_TEXT_STYLE(18)
+ TABBAR_WITH_TITLE_SELECTED_TEXT_STYLE(18)
+ TABBAR_WITH_TITLE_PRESSED_TEXT_STYLE(18)
+ TABBAR_WITH_TITLE_DISABLED_TEXT_STYLE(18)
+
+ TOOLBAR_TEXT_STYLE(20)
+ TOOLBAR_PRESSED_TEXT_STYLE(20)
+ TOOLBAR_DISABLED_TEXT_STYLE(20)
+}
+
+
+#define TAB_ITEM_HEIGHT 115
+#define TAB_DIVIDER_WIDTH 12 //28
+#define TAB_REIGHT_DIVIDER_WIDTH 10 //26
+
+group { name: "elm/toolbar/base/path_info";
+ data {
+ item: "focus_highlight" "on";
+ }
+ parts {
+ part { name: "base";
+ type: RECT;
+ description { state: "default" 0.0;
+ min: 0 TAB_ITEM_HEIGHT;
+ max: -1 TAB_ITEM_HEIGHT;
+ fixed: 0 1;
+ color_class: "B012";
+ }
+ }
+ part { name: "pad";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ min: 16 TAB_ITEM_HEIGHT;
+ max: 16 TAB_ITEM_HEIGHT;
+ fixed: 1 1;
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "base";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "base";
+ }
+ color_class: "B012L1";
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "clipper";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 1.0 0.0;
+ to_x: "pad";
+ to_y: "base";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "base";
+ }
+ }
+ }
+ part { name: "elm.swallow.content";
+ clip_to: "clipper";
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ rel1.to: "clipper";
+ rel2.to: "clipper";
+ }
+ }
+ part { name: "event";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+
+ }
+}
+
+group { name: "elm/toolbar/item/path_info";
+ images {
+ image: "U01_subdepth_tail.png" COMP;
+ image: "U01_subdepth_folder_arrow.png" COMP;
+ }
+ data.item: "transition_animation_on" "0";
+ script {
+ public item_state = ITEM_STATE_ENABLED;
+ public items_number = 0;
+ public mouse_down = 0;
+ public multi_down = 0;
+ }
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description { state: "default" 0.0;
+ min: 0 0;
+ align: 0.0 0.0;
+ color_class: "B012L1";//"B0515";
+ }
+ }
+ part { name: "divider";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: TAB_DIVIDER_WIDTH TAB_ITEM_HEIGHT;
+ max: TAB_DIVIDER_WIDTH TAB_ITEM_HEIGHT;
+ fixed: 1 1;
+ color: 0 0 0 0;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ align: 1.0 1.0;
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "divider_image";
+ type: IMAGE;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: TAB_DIVIDER_WIDTH TAB_ITEM_HEIGHT;
+ max: TAB_DIVIDER_WIDTH TAB_ITEM_HEIGHT;
+ fixed: 1 1;
+ visible: 0;
+ rel1.to: "divider";
+ rel2.to: "divider";
+ image.normal: "U01_subdepth_folder_arrow.png";
+ color_class: "B012L3";//"B0515";
+
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "left_pad";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min:1 10;
+ fixed: 1 1;
+ align: 1.0 1.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ rel1 {
+ relative: 0.0 1.0;
+ to: "divider";
+ }
+ }
+ }
+ part { name: "elm.text";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ scale: 1;
+ clip_to: "elm.text.clipper";
+ description { state: "default" 0.0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "left_padding";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "left_pad";
+ }
+ max: 9999 60;
+ text {
+ style: "toolbar_text_style_20";/*ATO005*/
+ min: 1 1;
+ max: 0 1;
+ align: 0.5 0.5;
+ }
+ }
+ description { state: "hidden" 0.0;
+ visible: 1;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "left_padding";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "right_padding_rect";
+ }
+ max: 9999 48;
+ text {
+ style: "toolbar_text_style_20";/*ATO005*/
+ //style: "toolbar_disabled_text_style_20";
+ min: 1 1;
+ max: 0 1;
+ align: 0.5 0.5;
+ }
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "pressed" 0.0;
+ inherit: visible;
+ text.style: "toolbar_pressed_text_style_20";/*ATO005P*/
+ //text.style: "toolbar_pressed_text_style_20";/*ATO005P*/
+ // color: 255 0 0 255;/*test*/
+ }
+ description { state: "disabled" 0.0;
+ inherit: visible;
+ text.style: "toolbar_disabled_text_style_20";/*ATO005D*/
+ // text.style: "toolbar_disabled_text_style_20";/*ATO005D*/
+ // color: 255 255 0 255;/*test*/
+ }
+ description { state: "focused" 0.0;
+ inherit: visible;
+ text.style: "toolbar_focused_text_style_20";/*ATO005F*/
+ // text.style: "toolbar_focused_text_style_20";/*ATO005F*/
+ // color: 255 0 255 255;/*test*/
+ }
+ description { state: "selected" 0.0;
+ inherit: visible;
+ text.style: "toolbar_selected_text_style_20";/*ATO005S*/
+ // text.style: "toolbar_selected_text_style_20";/*ATO005S*/
+ // color: 0 0 255 255;/*test*/
+ }
+ }
+ part { name: "elm.text.clipper";
+ type: RECT;
+ description { state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description { state: "animation" 0.0;
+ color: 255 255 255 0;
+ }
+ description { state: "disabled" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+ part { name: "left_padding";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: 1 TAB_ITEM_HEIGHT;
+ max: 1 TAB_ITEM_HEIGHT;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "bg";
+ }
+ color: 0 0 0 0;
+ align: 0.0 0.0;
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ min: 0 TAB_ITEM_HEIGHT;
+ max: 0 TAB_ITEM_HEIGHT;
+ }
+ }
+ part { name: "right_padding_rect";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: TAB_REIGHT_DIVIDER_WIDTH TAB_ITEM_HEIGHT;
+ max: TAB_REIGHT_DIVIDER_WIDTH TAB_ITEM_HEIGHT;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "bg";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "bg";
+ }
+ align: 1.0 1.0;
+ color_class: "B012";
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part { name: "right_padding";
+ type: IMAGE;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 1;
+ min: TAB_REIGHT_DIVIDER_WIDTH TAB_ITEM_HEIGHT;
+ max: TAB_REIGHT_DIVIDER_WIDTH TAB_ITEM_HEIGHT;
+ color_class: "B012L1";//"B0515";
+ fixed: 1 1;
+ rel1.to: "right_padding_rect";
+ rel2.to: "right_padding_rect";
+ image.normal: "U01_subdepth_tail.png";
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ description { state: "visible" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "event";
+ type: RECT;
+ mouse_events: 1;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ part { name: "event2";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+ }
+ programs {
+ program { name: "key,pressed";
+ signal: "elm,action,pressed";
+ source: "elm";
+ after: "pressed";
+ }
+ program { name: "pressed";
+ signal: "mouse,down,1";
+ source: "event";
+ script {
+ new st[31];
+ if ((get_int(item_state) != ITEM_STATE_DISABLED)
+ && get_int(multi_down) == 0
+ && get_int(mouse_down) == 0)
+ {
+ set_int(mouse_down, 1);
+ set_state(PART:"bg", "pressed", 0.0);
+ if (strcmp(st, "visible"))
+ {
+ set_state(PART:"elm.text", "pressed", 0.0);
+ }
+ }
+ }
+ }
+ program { name: "key,unpressed";
+ signal: "elm,action,unpressed";
+ source: "elm";
+ after: "unpressed";
+ }
+ program { name: "unpressed";
+ signal: "mouse,up,1";
+ source: "event2";
+ script {
+ new st[31];
+ if ((get_int(item_state) != ITEM_STATE_DISABLED)
+ && get_int(mouse_down) == 1)
+ {
+ set_int(mouse_down, 0);
+ set_state(PART:"bg", "default", 0.0);
+ if (strcmp(st, "visible"))
+ {
+ set_state(PART:"elm.text", "visible", 0.0);
+ }
+ }
+ }
+ }
+ program { name: "go";
+ signal: "mouse,clicked,1";
+ source: "event";
+ script {
+ if (get_int(multi_down) == 0) {
+ emit("elm,action,click", "elm");
+ if (get_int(item_state) != ITEM_STATE_DISABLED)
+ run_program(PROGRAM:"play_sound");
+ }
+ }
+ }
+ program { name: "play_sound";
+ action: RUN_PLUGIN "touch_sound";
+ }
+ program { name: "mouse,in";
+ signal: "mouse,in";
+ source: "event";
+ script {
+ if (get_int(multi_down) == 0)
+ emit("elm,mouse,in", "elm");
+ }
+ }
+ program { name: "mouse,out";
+ signal: "mouse,out";
+ source: "event";
+ script {
+ if ((get_int(multi_down) == 0) && (get_int(mouse_down) == 0))
+ emit("elm,mouse,out", "elm");
+ }
+ }
+ program { name: "disable";
+ signal: "elm,state,disabled";
+ source: "elm";
+ script {
+ new st[31];
+ set_int(item_state, ITEM_STATE_DISABLED);
+ set_state(PART:"bg", "disabled", 0.0);
+ if (strcmp(st, "visible"))
+ set_state(PART:"elm.text", "disabled", 0.0);
+ else
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"elm.text.clipper", "disabled", 0.0);
+ run_program(PROGRAM:"label_set,animation,done");
+ }
+ }
+ program { name: "multi_down";
+ signal: "elm,action,multi,down";
+ source: "elm";
+ script{
+ set_int(multi_down, 1);
+ }
+ }
+ program { name: "multi_up";
+ signal: "elm,action,multi,cancel";
+ source: "elm";
+ script {
+ set_int(multi_down, 0);
+ }
+ }
+ program { name: "enable";
+ signal: "elm,state,enabled";
+ source: "elm";
+ script {
+ new st[31];
+ set_int(item_state, ITEM_STATE_ENABLED);
+ set_state(PART:"bg", "default", 0.0);
+ if (strcmp(st, "visible"))
+ set_state(PART:"elm.text", "visible", 0.0);
+ else
+ set_state(PART:"elm.text", "default", 0.0);
+ set_state(PART:"elm.text.clipper", "default", 0.0);
+ run_program(PROGRAM:"label_set,animation,done");
+ }
+ }
+ program { name: "label_set,animation,forward";
+ signal: "elm,state,label_set,forward";
+ source: "elm";
+ after: "label_set,sync";
+ }
+ program { name: "label_set,animation,backward";
+ signal: "elm,state,label_set,backward";
+ source: "elm";
+ after: "label_set,sync";
+ }
+ program { name: "label_set,sync";
+ signal: "elm,state,label_set";
+ source: "elm";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"elm.text", st, 30, vl);
+ }
+ after: "label_set,animation";
+ }
+ program { name: "label_set,animation";
+ action: STATE_SET "animation" 0.0;
+ target: "elm.text.clipper";
+ after: "label_set,animation,done";
+ }
+ program { name: "label_set,animation,done";
+ action: SIGNAL_EMIT "elm,state,label_set,done" "elm";
+ }
+ program { name: "label,reset";
+ signal: "elm,state,label,reset";
+ source: "elm";
+ script {
+ if (get_int(item_state) != ITEM_STATE_DISABLED)
+ set_state(PART:"elm.text.clipper", "default", 0.0);
+ else
+ set_state(PART:"elm.text.clipper", "disabled", 0.0);
+ }
+ }
+ program { name: "text_show";
+ signal: "elm,state,text,visible";
+ source: "elm";
+ script {
+ new st[31];
+ if (strcmp(st, "visible"))
+ {
+ if (get_int(item_state) != ITEM_STATE_DISABLED)
+ set_state(PART:"elm.text", "visible", 0.0);
+ else
+ set_state(PART:"elm.text", "disabled", 0.0);
+ }
+ }
+ }
+ program { name: "text_hide";
+ signal: "elm,state,text,hidden";
+ source: "elm";
+ script {
+ set_state(PART:"elm.text", "default", 0.0);
+ }
+ }
+ program { name: "divider_visible_1";
+ signal: "elm,order,first,item";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "left_padding";
+ target: "divider";
+ //target: "divider_image";
+ target: "right_padding_rect";
+ target: "right_padding";
+ after:"divider_visible_1_for_arrow";
+ after:"divider_visible_1_for_tail";
+ }
+
+ program { name: "divider_visible_2";
+ signal: "elm,order,default,item";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "divider";
+ //target: "divider_image";
+ target: "right_padding_rect";
+ target: "right_padding";
+ after: "divider_visible_1_for_arrow";
+ after:"divider_visible_1_for_tail";
+ after: "label_set,animation1";
+ }
+ program {name: "divider_visible_1_for_arrow";
+ action: STATE_SET "show" 0.0;
+ target: "divider_image";
+ }
+ program {name: "divider_visible_1_for_tail";
+ action: STATE_SET "visible" 0.0;
+ target: "right_padding";
+ }
+ program { name: "label_set,animation1";
+ action: STATE_SET "hidden" 0.0;
+ target: "left_padding";
+ }
+ program { name: "divider_hidden";
+ signal: "elm,order,last,item";
+ source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ //target: "left_padding";
+ target: "divider";
+ target: "divider_image";
+ target: "right_padding_rect";
+ target: "right_padding";
+ target: "elm.text";
+
+ }
+ program { name: "highlight_on";
+ signal: "elm,highlight,on";
+ source: "elm";
+ action: STATE_SET "focused" 0.0;
+ target: "elm.text";
+ }
+ program { name: "highlight_off";
+ signal: "elm,highlight,off";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.text";
+ }
+ program { name: "go_active";
+ signal: "elm,state,selected";
+ source: "elm";
+ action: STATE_SET "selected" 0.0;
+ target: "elm.text";
+ }
+ program { name: "go_passive";
+ signal: "elm,state,unselected";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "elm.text";
+ }
+ }
+}
+
+group { name: "elm/toolbar/separator/path_info";
+ images {
+ image: "U01_subdepth_folder_arrow.png" COMP;
+ }
+ parts {
+ part { name: "divider";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 28 46;
+ max: 28 46;
+ color_class: "B0515";
+ fixed: 1 1;
+ }
+ }
+ part { name: "divider_image";
+ type: IMAGE;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "divider";
+ rel2.to: "divider";
+ image.normal: "U01_subdepth_folder_arrow.png";
+ }
+ }
+ }
+}
+
+group { name: "elm/toolbar/object/path_info";
+ parts {
+ part { name: "elm.swallow.object"; // object group
+ type: SWALLOW;
+ description {
+ state: "default" 0.0;
+ min: 120 0;
+ }
+ }
+ part { name: "divider";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: TOOLBAR_ITEM_DIVIDER_SIZE;
+ max: TOOLBAR_ITEM_DIVIDER_SIZE;
+ fixed: 1 1;
+ color_class: "B0552";
+ rel1 {
+ relative: 1.0 0.5;
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ }
+ }
+ description { state: "hidden" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ }
+ }
+ programs {
+ program { name: "divider_visible_1";
+ signal: "elm,order,first,item";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "divider";
+ }
+ program { name: "divider_visible_2";
+ signal: "elm,order,default,item";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "divider";
+ }
+ program { name: "divider_hidden";
+ signal: "elm,order,last,item";
+ source: "elm";
+ action: STATE_SET "hidden" 0.0;
+ target: "divider";
+ }
+ }
+}
+
diff --git a/ug_edc_image_macro.edc b/ug_edc_image_macro.edc
new file mode 100644
index 0000000..be4a9f9
--- /dev/null
+++ b/ug_edc_image_macro.edc
@@ -0,0 +1,159 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+
+#define UG_DEFAULT_ICON "myfile_icon_etc.png"
+
+#define UG_TITLE_ICON_HOME "myfile_controlbar_cion_home.png"
+#define UG_TITLE_ICON_HOME_PRESS "myfile_controlbar_cion_home_press.png"
+#define UG_TITLE_ICON_UPPER "myfile_controlbar_cion_up_folder.png"
+#define UG_TITLE_ICON_UPPER_PRESS "myfile_controlbar_cion_up_folder_press.png"
+#define UG_ICON_FOLDER "myfile_icon_folder.png"
+#define UG_TITLE_ICON_SELECT_ALL "myfile_icon_select_all.png"
+#define UG_TITLE_ICON_SELECT_ALL_PRESS "myfile_icon_select_all_selected.png"
+
+#define UG_ICON_IMAGE "myfile_icon_images.png"
+#define UG_ICON_VIDEO "myfile_icon_video.png"
+#define UG_ICON_MUSIC "myfile_icon_music.png"
+//#define UG_ICON_SOUND "myfile_icon_music.png"
+#define UG_ICON_PDF "myfile_icon_pdf.png"
+#define UG_ICON_DOC "myfile_icon_word.png"
+#define UG_ICON_PPT "myfile_icon_ppt.png"
+#define UG_ICON_EXCEL "myfile_icon_excel.png"
+//#define UG_ICON_VOICE "myfile_icon_music.png"
+#define UG_ICON_HTML "myfile_icon_html.png"
+#define UG_ICON_FLASH "myfile_icon_swf.png"
+#define UG_ICON_TXT "myfile_icon_text.png"
+#define UG_ICON_VCONTACT "myfile_icon_vcard.png"
+#define UG_ICON_VCALENDAR "myfile_icon_vcalender.png"
+//#define UG_ICON_VNOTE "myfile_icon_text.png"
+#define UG_ICON_RSS "myfile_icon_rss.png"
+#define UG_ICON_JAVA "myfile_icon_java.png"
+#define UG_ICON_TPK "myfile_icon_tpk.png"
+#define UG_ICON_SNB "myfile_icon_etc.png"
+#define UG_ICON_HWP "myfile_icon_hwp.png"
+#define UG_ICON_GUL "myfile_icon_etc.png"
+
+#define UG_ICON_MUSIC_PLAY_WHITE "myfile_icon_control_play.png"
+#define UG_ICON_MUSIC_PAUSE_WHITE "myfile_icon_control_pause.png"
+#define UG_ICON_MUSIC_PLAY_WHITE_PRESS "myfile_icon_control_play_press.png"
+#define UG_ICON_MUSIC_PAUSE_WHITE_PRESS "myfile_icon_control_pause_press.png"
+#define UG_ICON_ENTRY_FOLDER "myfile_icon_entry_folder.png"
+#define UG_ICON_ENTRY_FOLDER_PRESS "myfile_icon_entry_folder_press.png"
+#define UG_ICON_VIDEO_PLAY "myfile_icon_video_play.png"
+
+//#define UG_ICON_ITEM_PHONE "myfile_icon_folder.png"
+#define UG_ICON_ITEM_MMC "myfile_icon_folder_sdcard.png"
+#define UG_ICON_MMC "myfile_icon_grid_folder_card.png"
+#define UG_ICON_ITEM_SHORTCUT "myfile_icon_folder_shortcut.png"
+#define UG_ICON_ITEM_ROOT_PHONE "myfile_icon_root_folder_device_memory.png"
+#define UG_ICON_ITEM_ROOT_MMC "myfile_icon_root_folder_sdcard.png"
+
+#define UG_ICON_ADD "myfile_icon_add.png"
+#define UG_ICON_DELETE "myfile_icon_delete.png"
+#define UG_ICON_CREATE_FOLDER "myfile_icon_create_folder.png"
+#define UG_ICON_MULTI_NO_CONTENTS "00_nocontents_multimedia.png"
+
+
+#define RESOURCE_IMAGE( FILE_NAME ) \
+ group { \
+ name: FILE_NAME; \
+ images.image: FILE_NAME COMP; \
+ parts { \
+ part { name: "image"; \
+ description { \
+ state: "default" 0.0; \
+ image.normal: FILE_NAME; \
+ aspect: 1 1; \
+ aspect_preference: BOTH; \
+ } \
+ } \
+ } \
+ }
+
+#define RESOURCE_IMAGE_LOSSY( FILE_NAME ) \
+ group { \
+ name: FILE_NAME; \
+ images.image: FILE_NAME LOSSY 85; \
+ parts { \
+ part { name: "image"; \
+ description { \
+ state: "default" 0.0; \
+ image.normal: FILE_NAME; \
+ aspect: 1 1; \
+ aspect_preference: BOTH; \
+ } \
+ } \
+ } \
+ }
+
+
+
+collections {
+ RESOURCE_IMAGE(UG_DEFAULT_ICON);
+ RESOURCE_IMAGE(UG_TITLE_ICON_HOME_PRESS);
+ RESOURCE_IMAGE(UG_TITLE_ICON_HOME);
+ RESOURCE_IMAGE(UG_TITLE_ICON_UPPER);
+ RESOURCE_IMAGE(UG_TITLE_ICON_UPPER_PRESS);
+ RESOURCE_IMAGE(UG_ICON_FOLDER);
+ RESOURCE_IMAGE(UG_TITLE_ICON_SELECT_ALL);
+ RESOURCE_IMAGE(UG_TITLE_ICON_SELECT_ALL_PRESS);
+
+
+ RESOURCE_IMAGE(UG_ICON_IMAGE);
+ RESOURCE_IMAGE(UG_ICON_VIDEO);
+ RESOURCE_IMAGE(UG_ICON_MUSIC);
+ //RESOURCE_IMAGE(UG_ICON_SOUND);
+ RESOURCE_IMAGE(UG_ICON_PDF);
+
+ RESOURCE_IMAGE(UG_ICON_DOC);
+ RESOURCE_IMAGE(UG_ICON_PPT);
+ RESOURCE_IMAGE(UG_ICON_EXCEL);
+ //RESOURCE_IMAGE(UG_ICON_VOICE);
+ RESOURCE_IMAGE(UG_ICON_HTML);
+
+ RESOURCE_IMAGE(UG_ICON_FLASH);
+ RESOURCE_IMAGE(UG_ICON_TXT);
+ RESOURCE_IMAGE(UG_ICON_VCONTACT);
+ RESOURCE_IMAGE(UG_ICON_VCALENDAR);
+ //RESOURCE_IMAGE(UG_ICON_VNOTE);
+
+ RESOURCE_IMAGE(UG_ICON_RSS);
+ RESOURCE_IMAGE(UG_ICON_JAVA);
+ RESOURCE_IMAGE(UG_ICON_MUSIC_PLAY_WHITE);
+ RESOURCE_IMAGE(UG_ICON_MUSIC_PAUSE_WHITE);
+ RESOURCE_IMAGE(UG_ICON_MUSIC_PLAY_WHITE_PRESS);
+ RESOURCE_IMAGE(UG_ICON_MUSIC_PAUSE_WHITE_PRESS);
+ RESOURCE_IMAGE(UG_ICON_ENTRY_FOLDER);
+ RESOURCE_IMAGE(UG_ICON_ENTRY_FOLDER_PRESS);
+ RESOURCE_IMAGE(UG_ICON_VIDEO_PLAY);
+ //RESOURCE_IMAGE(UG_ICON_ITEM_PHONE);
+ RESOURCE_IMAGE(UG_ICON_ITEM_MMC);
+ RESOURCE_IMAGE(UG_ICON_MMC);
+
+ RESOURCE_IMAGE(UG_ICON_HWP);
+ RESOURCE_IMAGE(UG_ICON_TPK);
+ RESOURCE_IMAGE(UG_ICON_ITEM_SHORTCUT);
+ RESOURCE_IMAGE(UG_ICON_ADD);
+ RESOURCE_IMAGE(UG_ICON_MULTI_NO_CONTENTS);
+ RESOURCE_IMAGE(UG_ICON_DELETE);
+ RESOURCE_IMAGE(UG_ICON_CREATE_FOLDER);
+ RESOURCE_IMAGE(UG_ICON_ITEM_ROOT_PHONE);
+ RESOURCE_IMAGE(UG_ICON_ITEM_ROOT_MMC);
+}
diff --git a/ug_genlist.edc b/ug_genlist.edc
new file mode 100644
index 0000000..d37444b
--- /dev/null
+++ b/ug_genlist.edc
@@ -0,0 +1,1268 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+#define GENLIST_PADDING_SIZE_DEFAULT 16
+#define GENLIST_PADDING_SIZE_LEFT 26
+#define GENLIST_PADDING_SIZE_RIGHT 26
+#define GENLIST_ICON_STAR_SIZE 45
+#define GENLIST_PART_LIST_LINE_HEIGHT 1
+#define GENLIST_TREESIZE_DEFAULT 26
+
+#define GENLIST_HEIGHT_2LINE_MAIN 57
+#define GENLIST_HEIGHT_MULTILINE_SUB 38
+#define GENLIST_LIST_SUB_TEXT_SIZE 32
+#define GENLIST_ICON_SMALL_SIZE 45
+
+#define GENLIST_PADDING_SIZE_TOP 5
+#define GENLIST_PADDING_SIZE_BOTTOM 5
+
+#define GENLIST_PART_MATCH_TAG_COLOR "+ color=#FF5400"
+
+#define STYLE_TAG \
+ tag: "br" "\n";\
+ tag: "ps" "ps";\
+ tag: "tab" "\t";\
+ tag: "b" "+ font_weight=Bold";
+
+#define STYLE_TAG_MATCH \
+ tag: "match" GENLIST_PART_MATCH_TAG_COLOR;
+styles
+{
+
+ style { name: "genlist_style_list_sub_text_default_wrap";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color=#ffffff color_class=T024 text_class=T024 wrap=mixed";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_sub_text_default_dim_wrap";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color=#ffffff color_class=T024D text_class=T024D wrap=mixed";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+ style { name: "genlist_style_list_sub_text_default_press_wrap";
+ base: "font=Tizen:style=Bold font_size="GENLIST_LIST_SUB_TEXT_SIZE" color=#ffffff color_class=T024P text_class=T024P wrap=mixed";
+ STYLE_TAG
+ STYLE_TAG_MATCH
+ }
+}
+
+ #define DESC_FROM_L( PARAM ) \
+ description { state: "default" 0.0;\
+ fixed: 1 0; \
+ align: 0.0 0.5; \
+ rel2.relative: 0.0 1.0; \
+ PARAM\
+ }
+
+// ------------------
+// HERE <-- |
+// ------------------
+ #define DESC_FROM_R( PARAM ) \
+ description { state: "default" 0.0;\
+ fixed: 1 0; \
+ align: 1.0 0.5; \
+ rel1.relative: 1 0; \
+ PARAM\
+ }
+
+#define DESC_FROM_B( PARAM ) \
+ description { state: "default" 0.0;\
+ fixed: 0 1; \
+ rel1.relative: 0.0 1.0; \
+ align: 0.5 1.0; \
+ PARAM\
+ }
+
+#define DESC_FROM_T( PARAM ) \
+ description { state: "default" 0.0;\
+ fixed: 0 1; \
+ align: 0.5 0.0; \
+ rel2.relative: 1.0 0.0; \
+ PARAM\
+ }
+
+
+#define DESC_LRT( LEFT, RIGHT, TOP, PARAM ) \
+ description { state: "default" 0.0;\
+ align: 0.5 0;\
+ rel1 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 0 1;\
+ to_x: RIGHT;\
+ to_y: TOP;\
+ }\
+ PARAM\
+ }
+
+
+#define DESC_L( LEFT, PARAM ) \
+ description { state: "default" 0.0;\
+ align: 0 0.5; \
+ fixed: 1 0; \
+ rel1 { \
+ relative: 1 0; \
+ to_x: LEFT; \
+ }\
+ rel2 { \
+ relative: 1 1;\
+ to_x: LEFT; \
+ }\
+ PARAM\
+ }
+
+
+#define PART_LIST_BG_NORMAL \
+ PART(RECT, "bg_clip", \
+ description { state: "default" 0.0; \
+ visible: 1; \
+ } \
+ description { state: "decorate" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ description { state: "reorder" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ description { state: "decorate_reorder" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ ) \
+ PART(RECT, "bg", \
+ clip_to: "bg_clip"; \
+ description { state: "default" 0.0; \
+ color_class: "B011"; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ color_class: "B041P"; \
+ } \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+ ) \
+ PART(RECT, "bg_reorder_clip", \
+ description { state: "default" 0.0; \
+ visible: 0; \
+ } \
+ description { state: "decorate" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ description { state: "reorder" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ } \
+ description { state: "decorate_reorder" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ description { state: "reorder_flip" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ ) \
+ PART(SPACER, "bg_reorder_left", \
+ DESC_FROM_L( \
+ min: 16 0; \
+ max: 16 -1; \
+ ) \
+ ) \
+ PART(SPACER, "bg_reorder_right", \
+ DESC_FROM_R( \
+ min: 16 0; \
+ max: 16 -1; \
+ ) \
+ ) \
+ PART(SPACER, "bg_reorder_top", \
+ DESC_FROM_T( \
+ min: 0 2; \
+ max: -1 2; \
+ ) \
+ ) \
+ PART(SPACER, "bg_reorder_bottom", \
+ DESC_FROM_B( \
+ min: 0 2; \
+ max: -1 2; \
+ ) \
+ ) \
+ PART(IMAGE, "bg_reorder", \
+ clip_to: "bg_reorder_clip"; \
+ DESC_LRTB("bg_reorder_left", "bg_reorder_right", \
+ "bg_reorder_top", "bg_reorder_bottom", \
+ image { \
+ normal: "00_list_group_bg.#.png"; \
+ } \
+ color_class: "B0217L1"; \
+ ) \
+ description { state: "pressed" 0.0; \
+ inherit: "default"; \
+ color_class: "B041P"; \
+ } \
+ description { state: "flipped" 0.0; \
+ inherit: "default"; \
+ visible: 0; \
+ } \
+ ) \
+ PART(IMAGE, "bg_reorder_ef", \
+ clip_to: "bg_reorder_clip"; \
+ DESC_LRTB("bg_reorder_left", "bg_reorder_right", \
+ "bg_reorder_top", "bg_reorder_bottom", \
+ image { \
+ normal: "00_list_group_bg_ef.#.png"; \
+ } \
+ color_class: "B0217L2"; \
+ ) \
+ description { state: "pressed" 0.0; \
+ inherit: "default"; \
+ } \
+ description { state: "flipped" 0.0; \
+ inherit: "default"; \
+ visible: 0; \
+ } \
+ )
+
+#define PART_LIST_BOTTOMLINE \
+ PART(RECT, "bottom_line_clip", \
+ description { state: "default" 0.0; \
+ } \
+ description { state: "decorate" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ description { state: "reorder" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ description { state: "decorate_reorder" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ description { state: "hide" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ ) \
+ PART(RECT, "bottom_line", \
+ mouse_events: 0; \
+ clip_to: "bottom_line_clip"; \
+ description { state: "default" 0.0; \
+ min: 0 GENLIST_PART_LIST_LINE_HEIGHT; \
+ max: -1 GENLIST_PART_LIST_LINE_HEIGHT; \
+ fixed: 0 1; \
+ align: 0.5 1; \
+ color_class: "B0621L2"; \
+ rel1.offset: -1 -1; \
+ } \
+ description { state: "flipped" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ description { state: "hidden" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ )
+
+#define DESC_LIST_PADDINGS \
+ description { state: "decorate" 0.0; \
+ inherit: "default" 0.0; \
+ min: 0 0; \
+ max: 0 0; \
+ } \
+ description { state: "decorate_reorder" 0.0; \
+ inherit: "default" 0.0; \
+ min: 0 0; \
+ max: 0 0; \
+ } \
+ description { state: "reorder" 0.0; \
+ inherit: "default" 0.0; \
+ min: 32 0; \
+ max: 32 -1; \
+ }
+
+
+#define PART_LIST_PADDINGS(LEFT_SIZE, RIGHT_SIZE, TOP_SIZE, BOTTOM_SIZE) \
+ PART(SWALLOW, "elm.swallow.pad", \
+ mouse_events: 0; \
+ DESC_FROM_L( ; ) \
+ ) \
+ PART(SWALLOW, "elm.swallow.colorbar", \
+ mouse_events: 0; \
+ DESC_L("elm.swallow.pad", ) \
+ ) \
+ PART(SPACER, "elm.padding.left", \
+ DESC_L("elm.swallow.pad", \
+ min: LEFT_SIZE 0; \
+ max: LEFT_SIZE -1; \
+ ) \
+ DESC_LIST_PADDINGS \
+ ) \
+ PART(SPACER, "elm.padding.right", \
+ DESC_FROM_R( \
+ min: RIGHT_SIZE 0; \
+ max: RIGHT_SIZE -1; \
+ ) \
+ DESC_LIST_PADDINGS \
+ ) \
+ PART(SPACER, "elm.padding.top", \
+ DESC_FROM_T( \
+ min: 0 TOP_SIZE; \
+ max: -1 TOP_SIZE; \
+ ) \
+ DESC_LIST_PADDINGS \
+ ) \
+ PART(SPACER, "elm.padding.bottom", \
+ DESC_FROM_B( \
+ min: 0 BOTTOM_SIZE; \
+ max: -1 BOTTOM_SIZE; \
+ ) \
+ DESC_LIST_PADDINGS \
+ )
+
+#define GENLIST_PART_BASE_SIZE(HEIGHT) \
+ part { name: "base"; \
+ type: RECT; \
+ mouse_events: 0; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ color: 0 0 0 0; \
+ min: 0 HEIGHT; \
+ } \
+ } \
+ part { name: "state"; \
+ type: RECT; \
+ mouse_events: 0; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ color: 0 0 0 0; \
+ } \
+ description { state: "decorate" 0.0; \
+ inherit: "default"; \
+ } \
+ description { state: "reorder" 0.0; \
+ inherit: "default"; \
+ } \
+ description { state: "decorate_reorder" 0.0; \
+ inherit: "default"; \
+ } \
+ }
+
+#define GENLIST_PART_BASE \
+ GENLIST_PART_BASE_SIZE(0)
+
+
+#define GENLIST_NAME(NAME) \
+ name: "elm/genlist/item/"NAME;
+
+#define PART(TYPE, NAME, DESCRIPION) \
+ part { name: NAME; \
+ scale: 1; \
+ type: TYPE; \
+ DESCRIPION \
+ }
+
+#define DESC_LRTB( LEFT, RIGHT, TOP, BOTTOM, PARAM ) \
+ description { state: "default" 0.0;\
+ rel1 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 0 0;\
+ to_x: RIGHT;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+#define DESC_RTB( RIGHT, TOP, BOTTOM, PARAM ) \
+ description { state: "default" 0.0;\
+ align: 1 0.5;\
+ rel1 { \
+ relative: 0 1; \
+ to_x: RIGHT; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 0 0;\
+ to_x: RIGHT;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+#define GENLIST_PARAM_SUBITEM_DEFAULT_TB_WRAP \
+ text { \
+ min: 0 1; \
+ style: "genlist_style_list_sub_text_default_wrap"; \
+ }
+
+#define GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB_WRAP \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ text.style: "genlist_style_list_sub_text_default_dim_wrap"; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ text.style: "genlist_style_list_sub_text_default_press_wrap"; \
+ }
+
+#define PROLOG_LIST \
+ data.item: "treesize" 0; \
+ data.item: "flips" "elm.flip.icon elm.flip.content"; \
+ data.item: "focus_highlight" "on";
+
+#define PROLOG_LIST_NORMAL \
+ PROLOG_LIST \
+ data.item: "treesize" GENLIST_TREESIZE_DEFAULT; \
+ images { \
+ image : "00_list_group_bg.#.png" COMP; \
+ image : "00_list_group_bg_ef.#.png" COMP; \
+ image : "00_focus_01.#.png" COMP; \
+ }
+
+#define GENLIST_DESCRIPTION_LISTITEM_OTHERS \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ color_class: "T023D"; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ color_class: "T023P"; \
+ }
+
+
+#define GENLIST_PART_LISTITEM(NAME, DESCRIPTION) \
+ PART(TEXT, NAME, \
+ DESCRIPTION \
+ GENLIST_DESCRIPTION_LISTITEM_OTHERS \
+ )
+
+#define GENLIST_PARAM_ICON_STAR \
+ min: GENLIST_ICON_STAR_SIZE GENLIST_ICON_STAR_SIZE; \
+ max: GENLIST_ICON_STAR_SIZE GENLIST_ICON_STAR_SIZE; \
+
+#define GENLIST_PARAM_LISTITEM \
+ color_class: "T023"; \
+ text { \
+ align: 0 0.5; \
+ min: 0 1; \
+ text_class: "T023"; \
+ }
+
+#define GENLIST_PART_ICON(NAME, DESCRIPION) \
+ part { name: NAME; \
+ scale: 1; \
+ type: SWALLOW; \
+ DESCRIPION \
+ }
+
+#define GENLIST_PART_ICON_STAR_RTB(NAME, RIGHT, TOP, BOTTOM) \
+ GENLIST_PART_ICON(NAME, \
+ DESC_RTB(RIGHT, TOP, BOTTOM, \
+ GENLIST_PARAM_ICON_STAR \
+ fixed: 1 1; \
+ ) \
+ )
+
+#define GENLIST_PART_PADDING_R( NAME, RIGHT ) \
+ PART(SPACER, NAME, \
+ description { state: "default" 0.0; \
+ fixed: 1 0; \
+ min: GENLIST_PADDING_SIZE_DEFAULT 0; \
+ max: GENLIST_PADDING_SIZE_DEFAULT -1; \
+ align: 1 0.5; \
+ rel1 { \
+ relative: 0 0; \
+ to_x: RIGHT; \
+ } \
+ rel2 { \
+ relative: 0 1; \
+ to_x: RIGHT; \
+ } \
+ } \
+ )
+
+
+#define GENLIST_PART_PADDING_T_SIZE( NAME, TOP, SIZE ) \
+ PART(SPACER, NAME, \
+ description { state: "default" 0.0; \
+ min: 0 SIZE; \
+ max: -1 SIZE; \
+ fixed: 0 1; \
+ align: 0.5 0; \
+ rel1 { \
+ relative: 0 1; \
+ to: TOP; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to: TOP; \
+ } \
+ } \
+ )
+
+#define GENLIST_PART_FLIP \
+ PART(RECT, "elm.flip.bg", \
+ mouse_events: 0; \
+ description { state: "default" 0.0;\
+ rel2.offset: 0 -3; \
+ color_class: "B011"; \
+ visible: 0; \
+ } \
+ description { state: "flipped" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ }\
+ ) \
+ PART(SPACER, "elm.flip.padding.right", \
+ description { state: "default" 0.0; \
+ min: 26 0; \
+ max: 26 -1; \
+ fixed: 1 0; \
+ align: 1 0.5; \
+ rel1.relative: 1 0; \
+ } \
+ ) \
+ GENLIST_PART_ICON("elm.flip.content", \
+ DESC_LRTB("elm.padding.left", "elm.flip.padding.icon.left", \
+ "elm.padding.top", "elm.padding.bottom", \
+ visible: 1; /* FIXME: object(entry) should be visible when focused. if not, it will be unfocused immediately */ \
+ min: 0 96; \
+ ) \
+ description { state: "flipped" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ } \
+ ) \
+ GENLIST_PART_PADDING_R("elm.flip.padding.icon.left", "elm.flip.icon") \
+ GENLIST_PART_ICON( "elm.flip.icon", \
+ DESC_RTB("elm.flip.padding.right", \
+ "elm.padding.top", "elm.padding.bottom", \
+ visible: 0; \
+ aspect: 1 1; \
+ align: 1 0.5; \
+ max: 158 74; \
+ ) \
+ description { state: "flipped" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ } \
+ )
+
+#define GENLIST_PART_FOCUS \
+ PART(IMAGE, "focus_part", \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ visible: 0; \
+ image { \
+ normal: "00_focus_01.#.png"; \
+ } \
+ color_class: "W161"; \
+ } \
+ description { state: "focused" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ } \
+ ) \
+
+#define GENLIST_PART_FOCUS_REORDER \
+ PART(IMAGE, "focus_part_reorder", \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ rel1 { \
+ relative: 1 1; \
+ to_x: "bg_reorder_left"; \
+ to_y: "bg_reorder_top"; \
+ } \
+ rel2 { \
+ relative: 0 0; \
+ to_x: "bg_reorder_right"; \
+ to_y: "bg_reorder_bottom"; \
+ } \
+ visible: 0; \
+ image { \
+ normal: "00_focus_01.#.png"; \
+ } \
+ color_class: "W161"; \
+ } \
+ description { state: "focused" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ } \
+ )
+
+#define GENLIST_PART_FOCUS_NORMAL \
+ GENLIST_PART_FOCUS \
+ GENLIST_PART_FOCUS_REORDER
+
+#define GENLIST_PROGRAM_DEFAULT( TARGET ) \
+ program { name: "default"; \
+ signal: "elm,state,default"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ TARGET \
+ } \
+
+#define GENLIST_PROGRAM_DISABLED( TARGET ) \
+ program { name: "enabled"; \
+ signal: "elm,state,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ TARGET \
+ } \
+ program { name: "disabled"; \
+ signal: "elm,state,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "disabled" 0.0; \
+ TARGET \
+ }
+
+#define GENLIST_PROGRAM_BOTTOMLINE \
+ program { name : "hide_bottomline"; \
+ signal: "elm,state,bottomline,hide"; \
+ source: ""; \
+ action: STATE_SET "hidden" 0.0; \
+ target: "bottom_line"; \
+ } \
+ program { name : "show_bottomline"; \
+ signal: "elm,state,bottomline,show"; \
+ source: ""; \
+ action: STATE_SET "default" 0.0; \
+ target: "bottom_line"; \
+ }
+
+#define GENLIST_PROGRAM_FOCUS \
+ program { name: "focused"; \
+ signal: "elm,action,focus_highlight,show"; \
+ source: "elm"; \
+ action: STATE_SET "focused" 0.0; \
+ target: "focus_part"; \
+ } \
+ program { name: "unfocused"; \
+ signal: "elm,action,focus_highlight,hide"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "focus_part"; \
+ }
+
+#define GENLIST_PROGRAM_FOCUS_NORMAL \
+ program { name: "focused"; \
+ signal: "elm,action,focus_highlight,show"; \
+ source: "elm"; \
+ script { \
+ new st[31]; \
+ new Float:vl; \
+ get_state(PART:"bg_reorder_clip", st, 30, vl); \
+ if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) \
+ set_state(PART:"focus_part_reorder", "focused", 0.0); \
+ else \
+ set_state(PART:"focus_part", "focused", 0.0); \
+ } \
+ } \
+ program { name: "unfocused"; \
+ signal: "elm,action,focus_highlight,hide"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "focus_part_reorder"; \
+ target: "focus_part"; \
+ }
+
+#define PROGRAM_LIST_SOUND \
+ program { name: "play_sound"; \
+ signal: "elm,state,clicked"; \
+ source: "elm"; \
+ action: RUN_PLUGIN "touch_sound";\
+ }
+
+#define GENLIST_PROGRAM_SELECT( TARGET ) \
+ program { name: "pressed"; \
+ signal: "elm,state,selected"; \
+ source: "elm"; \
+ action: STATE_SET "pressed" 0.0; \
+ TARGET \
+ } \
+ program { name: "unselected"; \
+ signal: "elm,state,unselected"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ TARGET \
+ }
+
+#define GENLIST_PROGRAM_REORDER( TARGET ) \
+ program { name: "reorder_enabled"; \
+ signal: "elm,state,reorder,mode_set"; \
+ source: "elm"; \
+ action: STATE_SET "reorder" 0.0; \
+ TARGET \
+ } \
+ program { name: "reorder_disabled"; \
+ signal: "elm,state,reorder,mode_unset"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ TARGET \
+ }
+
+#define GENLIST_PROGRAM_DECORATE_REORDER( NAME, TARGET ) \
+ program { name: "reorder_enabled"NAME; \
+ signal: "elm,state,reorder,mode_set"; \
+ source: "elm"; \
+ script { \
+ new st[31]; \
+ new Float:vl; \
+ get_state(PART:"state", st, 30, vl); \
+ if (!strcmp(st, "decorate") || !strcmp(st, "decorate_reorder")) { \
+ run_program(PROGRAM:"decorate_reorder_set"NAME); \
+ } else { \
+ run_program(PROGRAM:"reorder_set"NAME); \
+ } \
+ } \
+ } \
+ program { name: "reorder_disabled"NAME; \
+ signal: "elm,state,reorder,mode_unset"; \
+ source: "elm"; \
+ script { \
+ new st[31]; \
+ new Float:vl; \
+ get_state(PART:"state", st, 30, vl); \
+ if (!strcmp(st, "decorate") || !strcmp(st, "decorate_reorder")) { \
+ run_program(PROGRAM:"decorate_set"NAME); \
+ } else { \
+ run_program(PROGRAM:"default_set"NAME); \
+ } \
+ } \
+ } \
+ program { name: "decorate_enabled_effect"NAME; \
+ signal: "elm,state,decorate,enabled,effect";\
+ source: "elm";\
+ script { \
+ new st[31]; \
+ new Float:vl; \
+ get_state(PART:"state", st, 30, vl); \
+ if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
+ run_program(PROGRAM:"decorate_reorder_set"NAME); \
+ } else { \
+ run_program(PROGRAM:"decorate_set"NAME); \
+ } \
+ } \
+ }\
+ program { name: "decorate_disabled_effect"NAME;\
+ signal: "elm,state,decorate,disabled,effect";\
+ source: "elm";\
+ script { \
+ new st[31]; \
+ new Float:vl; \
+ get_state(PART:"state", st, 30, vl); \
+ if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
+ run_program(PROGRAM:"reorder_set"NAME); \
+ } else { \
+ run_program(PROGRAM:"default_set"NAME); \
+ } \
+ } \
+ }\
+ program { name: "decorate_enabled"NAME;\
+ signal: "elm,state,decorate,enabled";\
+ source: "elm";\
+ script { \
+ new st[31]; \
+ new Float:vl; \
+ get_state(PART:"state", st, 30, vl); \
+ if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
+ run_program(PROGRAM:"decorate_reorder_set"NAME); \
+ } else { \
+ run_program(PROGRAM:"decorate_set"NAME); \
+ } \
+ } \
+ }\
+ program { name: "decorate_disabled"NAME;\
+ signal: "elm,state,decorate,disabled";\
+ source: "elm";\
+ script { \
+ new st[31]; \
+ new Float:vl; \
+ get_state(PART:"state", st, 30, vl); \
+ if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
+ run_program(PROGRAM:"reorder_set"NAME); \
+ } else { \
+ run_program(PROGRAM:"default_set"NAME); \
+ } \
+ } \
+ } \
+ program { name: "default_set"NAME; \
+ action: STATE_SET "default" 0.0;\
+ target: "state"; \
+ TARGET \
+ } \
+ program { name: "decorate_set"NAME; \
+ action: STATE_SET "decorate" 0.0;\
+ target: "state"; \
+ TARGET \
+ } \
+ program { name: "reorder_set"NAME; \
+ action: STATE_SET "reorder" 0.0;\
+ target: "state"; \
+ TARGET \
+ } \
+ program { name: "decorate_reorder_set"NAME; \
+ action: STATE_SET "decorate_reorder" 0.0;\
+ target: "state"; \
+ TARGET \
+ }
+
+#define GENLIST_PROGRAM_FLIP \
+ program { name: "flip_enabled"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ transition: DECELERATE 0.5; \
+ action: STATE_SET "flipped" 0.0; \
+ target: "elm.flip.content"; \
+ target: "elm.flip.icon"; \
+ } \
+ program { name: "flip_disabled"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ transition: DECELERATE 0.5; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.flip.content"; \
+ target: "elm.flip.icon"; \
+ } \
+ program { name: "flip_enabled_bg"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "flipped" 0.0; \
+ target: "elm.flip.bg"; \
+ } \
+ program { name: "flip_disabled_bg"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.flip.bg"; \
+ }
+
+#define GENLIST_PROGRAMS_NORMAL( TARGET ) \
+ programs { \
+ GENLIST_PROGRAM_DEFAULT( TARGET \
+ target: "bg"; \
+ target: "bg_clip"; \
+ target: "bottom_line"; \
+ target: "bottom_line_clip"; \
+ target: "bg_reorder"; \
+ target: "bg_reorder_ef"; \
+ target: "bg_reorder_clip"; \
+ target: "elm.padding.left"; \
+ target: "elm.padding.right"; \
+ target: "elm.padding.top"; \
+ target: "elm.padding.bottom"; \
+ target: "focus_part"; \
+ target: "focus_part_reorder"; \
+ ) \
+ GENLIST_PROGRAM_DISABLED( TARGET \
+ target: "bg"; \
+ target: "bg_reorder"; \
+ target: "bg_reorder_ef"; \
+ ) \
+ GENLIST_PROGRAM_BOTTOMLINE \
+ GENLIST_PROGRAM_FOCUS_NORMAL \
+ GENLIST_PROGRAM_SELECT( TARGET \
+ target: "bg"; \
+ target: "bg_reorder"; \
+ target: "bg_reorder_ef"; \
+ ) \
+ PROGRAM_LIST_SOUND \
+ GENLIST_PROGRAM_DECORATE_REORDER("normal", TARGET \
+ target: "bg_clip"; \
+ target: "bg_reorder_clip"; \
+ target: "bottom_line_clip"; \
+ target: "elm.padding.left"; \
+ target: "elm.padding.right"; \
+ target: "elm.padding.top"; \
+ target: "elm.padding.bottom"; \
+ ) \
+ GENLIST_PROGRAM_FLIP \
+ }
+
+#define GENLIST_PROGRAMS_NORMAL_SILENT( TARGET ) \
+ programs { \
+ GENLIST_PROGRAM_DEFAULT( TARGET \
+ target: "bg"; \
+ target: "bg_clip"; \
+ target: "bottom_line"; \
+ target: "bottom_line_clip"; \
+ target: "bg_reorder"; \
+ target: "bg_reorder_ef"; \
+ target: "bg_reorder_clip"; \
+ target: "elm.padding.left"; \
+ target: "elm.padding.right"; \
+ target: "elm.padding.top"; \
+ target: "elm.padding.bottom"; \
+ target: "focus_part"; \
+ target: "focus_part_reorder"; \
+ ) \
+ GENLIST_PROGRAM_DISABLED( TARGET \
+ target: "bg"; \
+ target: "bg_reorder"; \
+ target: "bg_reorder_ef"; \
+ ) \
+ GENLIST_PROGRAM_BOTTOMLINE \
+ GENLIST_PROGRAM_FOCUS_NORMAL \
+ GENLIST_PROGRAM_SELECT( TARGET \
+ target: "bg"; \
+ target: "bg_reorder"; \
+ target: "bg_reorder_ef"; \
+ ) \
+ GENLIST_PROGRAM_DECORATE_REORDER("normal", TARGET \
+ target: "bg_clip"; \
+ target: "bg_reorder_clip"; \
+ target: "bottom_line_clip"; \
+ target: "elm.padding.left"; \
+ target: "elm.padding.right"; \
+ target: "elm.padding.top"; \
+ target: "elm.padding.bottom"; \
+ ) \
+ GENLIST_PROGRAM_FLIP \
+ }
+
+#define GENLIST_PART_PADDING_L( NAME, LEFT ) \
+ PART(SPACER, NAME, \
+ description { state: "default" 0.0; \
+ fixed: 1 0; \
+ min: GENLIST_PADDING_SIZE_DEFAULT 0; \
+ max: GENLIST_PADDING_SIZE_DEFAULT -1; \
+ align: 0 0.5; \
+ rel1 { \
+ relative: 1 0; \
+ to_x: LEFT; \
+ } \
+ rel2 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ } \
+ } \
+ )
+
+#define DESC_LTB( LEFT, TOP, BOTTOM, PARAM ) \
+ description { state: "default" 0.0;\
+ align: 0 0.5;\
+ rel1 { \
+ relative: 1 1; \
+ to_x: LEFT; \
+ to_y: TOP; \
+ }\
+ rel2 {\
+ relative: 1 0;\
+ to_x: LEFT;\
+ to_y: BOTTOM;\
+ }\
+ PARAM\
+ }
+
+#define GENLIST_PARAM_ICON_SMALL \
+ min: GENLIST_ICON_SMALL_SIZE GENLIST_ICON_SMALL_SIZE; \
+ max: GENLIST_ICON_SMALL_SIZE GENLIST_ICON_SMALL_SIZE;
+
+#define GENLIST_ICON_MEDIUM_SIZE 81
+
+#define GENLIST_PARAM_ICON_MEDIUM \
+ min: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE; \
+ max: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE;
+
+#define GENLIST_PART_ICON_SMALL_LTB(NAME, LEFT, TOP, BOTTOM) \
+ GENLIST_PART_ICON(NAME, \
+ DESC_LTB(LEFT, TOP, BOTTOM, \
+ GENLIST_PARAM_ICON_MEDIUM \
+ fixed: 1 1; \
+ ) \
+ )
+
+#define GENLIST_PART_ICON_MEDIUM_L(NAME, LEFT) \
+ GENLIST_PART_ICON(NAME, \
+ DESC_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \
+ GENLIST_PARAM_ICON_MEDIUM \
+ fixed: 1 1; \
+ ) \
+ )
+
+#define GENLIST_POPUP_PADDING_SIZE_LEFT 47
+#define GENLIST_POPUP_PADDING_SIZE_RIGHT 47
+
+#define GENLIST_POPUP_STYLE(NAME) \
+ group { GENLIST_NAME(NAME"/popup/default") \
+ inherit: "elm/genlist/item/"NAME"/default"; \
+ parts { \
+ PART(RECT, "bg", \
+ description { state: "default" 0.0; \
+ color_class: "B061L1"; \
+ } \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ color_class: "B061L1"; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ color_class: "B061L41P"; \
+ } \
+ ) \
+ PART(SPACER, "elm.padding.left", \
+ DESC_L("elm.swallow.pad", \
+ min: GENLIST_POPUP_PADDING_SIZE_LEFT 0; \
+ max: GENLIST_POPUP_PADDING_SIZE_LEFT -1; \
+ ) \
+ DESC_LIST_PADDINGS \
+ ) \
+ PART(SPACER, "elm.padding.right", \
+ DESC_FROM_R( \
+ min: GENLIST_POPUP_PADDING_SIZE_RIGHT 0; \
+ max: GENLIST_POPUP_PADDING_SIZE_RIGHT -1; \
+ ) \
+ DESC_LIST_PADDINGS \
+ ) \
+ PART(RECT, "bottom_line", \
+ description { state: "default" 0.0; \
+ color_class: "B0621L2"; \
+ rel1.to_x: "bg"; \
+ rel2.to_x: "bg"; \
+ rel1.offset: 1 0; \
+ rel2.offset: -2 5; \
+ } \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ ) \
+ } \
+ }
+
+#define GENLIST_PARAM_PROGRESS_MAIN \
+ color_class: "T0212"; \
+ text { \
+ align: 0 0.5; \
+ min: 0 1; \
+ text_class: "T0212"; \
+ }
+#define GENLIST_DESCRIPTION_PROGRESS_MAIN_OTHERS \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ color_class: "T028D"; \
+ } \
+ description { state: "read" 0.0; \
+ inherit: "default" 0.0; \
+ color_class: "T028R"; \
+ } \
+ description { state: "read,disabled" 0.0; \
+ inherit: "default" 0.0; \
+ color_class: "T028RD"; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ color_class: "T028P"; \
+ }
+
+group { GENLIST_NAME("myfile/recommendation_multiline_no_icon/default")
+
+ PROLOG_LIST_NORMAL
+ data.item: "texts" "elm.text.1";
+ data.item: "contents" "elm.swallow.progress";
+
+ parts {
+ GENLIST_PART_BASE
+ PART_LIST_BG_NORMAL
+ PART_LIST_BOTTOMLINE
+ PART_LIST_PADDINGS(
+ GENLIST_PADDING_SIZE_LEFT, GENLIST_PADDING_SIZE_RIGHT, 16, 16
+ )
+
+ //GENLIST_PART_ICON_MEDIUM_L("elm.icon.1", "elm.padding.left")
+ //GENLIST_PART_PADDING_L("elm.padding.icon1.right", "elm.icon.1")
+ GENLIST_PART_LISTITEM("elm.text.1",
+ DESC_LRT("elm.padding.left", "elm.padding.right",
+ "elm.padding.top",
+ min: 0 59;
+ GENLIST_PARAM_LISTITEM
+ fixed: 0 1;
+ )
+ GENLIST_DESCRIPTION_LISTITEM_OTHERS
+ )
+ GENLIST_PART_ICON("elm.swallow.progress",
+ DESC_LRTB("elm.padding.left", "elm.padding.right", "elm.text.1", "elm.padding.bottom",
+ min: 0 80;
+ )
+ )
+ GENLIST_PART_FLIP
+ GENLIST_PART_FOCUS_NORMAL
+ }
+ GENLIST_PROGRAMS_NORMAL( target: "elm.text.1"; target: "elm.swallow.progress";)
+}
+
+group { GENLIST_NAME("myfile/recommendation_multiline/default")
+
+ PROLOG_LIST_NORMAL
+ data.item: "texts" "elm.text.1";
+ data.item: "contents" "elm.icon.1 elm.swallow.progress";
+
+ parts {
+ GENLIST_PART_BASE
+ PART_LIST_BG_NORMAL
+ PART_LIST_BOTTOMLINE
+ PART_LIST_PADDINGS(
+ GENLIST_PADDING_SIZE_LEFT, GENLIST_PADDING_SIZE_RIGHT, 16, 16
+ )
+
+ GENLIST_PART_ICON_MEDIUM_L("elm.icon.1", "elm.padding.left")
+ GENLIST_PART_PADDING_L("elm.padding.icon1.right", "elm.icon.1")
+ GENLIST_PART_LISTITEM("elm.text.1",
+ DESC_LRT("elm.padding.icon1.right", "elm.padding.right",
+ "elm.padding.top",
+ min: 0 59;
+ GENLIST_PARAM_LISTITEM
+ fixed: 0 1;
+ )
+ GENLIST_DESCRIPTION_LISTITEM_OTHERS
+ )
+ GENLIST_PART_ICON("elm.swallow.progress",
+ DESC_LRTB("elm.padding.icon1.right", "elm.padding.right", "elm.text.1", "elm.padding.bottom",
+ min: 0 80;
+ )
+ )
+ GENLIST_PART_FLIP
+ GENLIST_PART_FOCUS_NORMAL
+ }
+ GENLIST_PROGRAMS_NORMAL( target: "elm.text.1"; target: "elm.icon.1"; target: "elm.swallow.progress";)
+}
+
+GENLIST_POPUP_STYLE("myfile/recommendation_multiline_no_icon")
+
+#define GENLIST_PART_TEXT(NAME, DESCRIPION) \
+ part { name: NAME; \
+ scale: 1; \
+ type: TEXT; \
+ repeat_events: 1; \
+ DESCRIPION \
+ }
+
+#define GENLIST_DESCRIPTION( left, right, top, bottom, param ) \
+ description { state: "default" 0.0;\
+ rel1 { \
+ relative: 1 1; \
+ to_x: left; \
+ to_y: top; \
+ }\
+ rel2 {\
+ relative: 0 0;\
+ to_x: right;\
+ to_y: bottom;\
+ }\
+ param\
+ }
+
+#define GENLIST_PART_LISTITEM_LR(NAME, HEIGHT, LEFT, RIGHT, PARAM) \
+ GENLIST_PART_TEXT(NAME, \
+ GENLIST_DESCRIPTION(LEFT, RIGHT, "elm.padding.top", "elm.padding.bottom", \
+ min: 0 HEIGHT; \
+ GENLIST_PARAM_LISTITEM \
+ PARAM \
+ ) \
+ GENLIST_DESCRIPTION_LISTITEM_OTHERS \
+ )
+
+#define GENLIST_DESCRIPTION_RTB( right, top, bottom, param ) \
+ description { state: "default" 0.0;\
+ align: 1 0.5;\
+ rel1 { \
+ relative: 0 1; \
+ to_x: right; \
+ to_y: top; \
+ }\
+ rel2 {\
+ relative: 0 0;\
+ to_x: right;\
+ to_y: bottom;\
+ }\
+ param\
+ }
+
+#define GENLIST_BTN_01_HEIGHT 74
+
+#define GENLIST_PARAM_ICON_BTN_01 \
+ min: 0 GENLIST_BTN_01_HEIGHT; \
+ max: -1 GENLIST_BTN_01_HEIGHT;
+
+#define GENLIST_PART_ICON_BTN_01_RTB(NAME, RIGHT, TOP, BOTTOM) \
+ GENLIST_PART_ICON(NAME, \
+ GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM,\
+ GENLIST_PARAM_ICON_BTN_01 \
+ fixed: 1 1; \
+ ) \
+ )
+
+#define GENLIST_HEIGHT_1LINE 104 // (114 - top/bottom padding)
+#define GENLIST_BTN_02_SIZE 72
+
+#define GENLIST_PARAM_ICON_BTN_02 \
+ min: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE; \
+ max: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE;
+
+#define GENLIST_PART_ICON_BTN_02_RTB(NAME, RIGHT, TOP, BOTTOM) \
+ GENLIST_PART_ICON(NAME, \
+ GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM,\
+ GENLIST_PARAM_ICON_BTN_02 \
+ fixed: 1 1; \
+ ) \
+ )
+
+group { GENLIST_NAME("1text.2icon/default")
+ PROLOG_LIST_NORMAL
+ data.item: "texts" "elm.text";
+ data.item: "contents" "elm.icon.1 elm.icon.2";
+
+ parts {
+ GENLIST_PART_BASE
+ PART_LIST_BG_NORMAL
+ PART_LIST_BOTTOMLINE
+ PART_LIST_PADDINGS(
+ GENLIST_PADDING_SIZE_LEFT, GENLIST_PADDING_SIZE_RIGHT,
+ GENLIST_PADDING_SIZE_TOP, GENLIST_PADDING_SIZE_BOTTOM
+ )
+
+ GENLIST_PART_ICON_MEDIUM_L( "elm.icon.1", "elm.padding.left")
+ GENLIST_PART_PADDING_L("elm.padding.icon1.right", "elm.icon.1")
+ GENLIST_PART_LISTITEM_LR("elm.text", GENLIST_HEIGHT_1LINE, "elm.padding.icon1.right", "elm.padding.icon2.left",)
+ GENLIST_PART_PADDING_R("elm.padding.icon2.left", "elm.icon.2")
+ GENLIST_PART_ICON_BTN_01_RTB("elm.icon.2", "elm.padding.right", "elm.padding.top", "elm.padding.bottom")
+ GENLIST_PART_FLIP
+ GENLIST_PART_FOCUS_NORMAL
+ }
+ GENLIST_PROGRAMS_NORMAL_SILENT( target: "elm.text"; target: "elm.icon.1"; target: "elm.icon.2"; )
+}
+
+group { GENLIST_NAME("myfile.1text.2icon.6/default")
+ inherit: "elm/genlist/item/1text.2icon/default";
+
+ parts {
+ GENLIST_PART_ICON_BTN_02_RTB("elm.icon.2", "elm.padding.right", "elm.padding.top", "elm.padding.bottom")
+
+ }
+}
+
diff --git a/ug_navibar_layout.edc b/ug_navibar_layout.edc
new file mode 100644
index 0000000..d66bc16
--- /dev/null
+++ b/ug_navibar_layout.edc
@@ -0,0 +1,834 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+
+
+
+
+#define GROUP_INDEX_H 48
+#define FONT_NANE "Tizen:style=Medium"
+
+
+collections
+{
+ plugins {
+ plugin {
+ name: "touch_sound"; // Name run by RUN_PLUGIN
+ source: "feedback"; // External edje plugin name
+ param: "1 0";
+
+ }
+ }
+#include "ug_genlist.edc"
+#include "ug-myfile-button.edc"
+#include "ug_radio.edc"
+#include "ug-myfile-toolbar.edc"
+
+#define SELECT_ALL_PART_H 54
+#define SELECT_ALL_PART_PADDING_L 15
+#define SELECT_ALL_PART_PADDING_R 10
+#define SELECT_ALL_TXT_PADDING_R 25
+#define SELECT_ALL_ICON_SIZE 22
+#define SELECT_ALL_PART_PADDING_T 0
+#define SELECT_ALL_PART_PADDING_B 0
+#define SELECT_ALL_PART_INDEX_H 1
+
+group {
+ name: "select.all.layout";
+
+ parts {
+ part {
+ name: "base";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 0 SELECT_ALL_PART_H;
+ max: -1 SELECT_ALL_PART_H;
+ align: 0.5 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 0.0; }
+ visible: 0;
+ }
+ }
+ part {
+ name: "text.bg";
+ type: RECT;
+ scale : 1;
+ description {
+ state: "default" 0.0;
+ fixed: 0 1;
+ min: 0 (SELECT_ALL_PART_H-SELECT_ALL_PART_INDEX_H);
+ max: -1 (SELECT_ALL_PART_H-SELECT_ALL_PART_INDEX_H);
+ align: 0.5 0.5;
+ color: 255 255 255 255;
+ rel1 { relative: 0.0 0.0; to: "base"; }
+ rel2 { relative: 1.0 1.0; to: "base"; }
+ }
+ }
+ part { name: "pad.left";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: SELECT_ALL_PART_PADDING_L 0;
+ max: SELECT_ALL_PART_PADDING_L -1;
+ fixed: 1 0;
+ align: 0.0 0.5;
+ //rel2.relative: 0.0 1.0;
+ rel1 { relative: 0.0 0.0; to: "text.bg"; }
+ rel2 { relative: 0.0 1.0; to: "text.bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "pad.right";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: SELECT_ALL_PART_PADDING_R 0;
+ max: SELECT_ALL_PART_PADDING_R -1;
+ fixed: 1 0;
+ align: 1.0 0.5;
+ //rel1.relative: 1 0;
+ rel1 { relative: 1.0 0.0; to: "text.bg"; }
+ rel2 { relative: 1.0 1.0; to: "text.bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "pad.top";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 0 SELECT_ALL_PART_PADDING_T;
+ max: -1 SELECT_ALL_PART_PADDING_T;
+ fixed: 0 1;
+ align: 0.5 0.0;
+ //rel2.relative: 1.0 0.0;
+ rel1 { relative: 0.0 0.0; to: "text.bg"; }
+ rel2 { relative: 1.0 0.0; to: "text.bg"; }
+ visible: 0;
+ }
+ }
+ part { name: "pad.bottom";
+ type: RECT;
+ scale: 1;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 0 SELECT_ALL_PART_PADDING_B;
+ max: -1 SELECT_ALL_PART_PADDING_B;
+ fixed: 0 1;
+ align: 0.5 1.0;
+ //rel1.relative: 0.0 1.0;
+ rel1 { relative: 0.0 1.0; to: "text.bg"; }
+ rel2 { relative: 1.0 1.0; to: "text.bg"; }
+ visible: 0;
+ }
+ }
+
+ part {
+ name: "elm.swallow.bg";
+ type: RECT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: SELECT_ALL_ICON_SIZE SELECT_ALL_ICON_SIZE;
+ max: SELECT_ALL_ICON_SIZE SELECT_ALL_ICON_SIZE;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ rel1 { relative: 0 1.0;
+ to_x: "pad.right";
+ to_y: "pad.top";
+ }
+ rel2 { relative: 0 0.0;
+ to_x: "pad.right";
+ to_y: "pad.bottom";
+ }
+ visible: 0;
+ }
+ }
+ part {
+ name: "elm.icon";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0; to: "elm.swallow.bg"; }
+ rel2 { relative: 1.0 1.0; to: "elm.swallow.bg"; }
+ }
+ }
+
+ part {
+ name: "elm.text";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.0 0.5;
+ fixed: 1 0;
+ rel1 { relative: 1 1;
+ to_x: "pad.left";
+ to_y: "pad.top";
+ }
+ rel2 { relative: 0 0;
+ to_x: "elm.swallow.bg";
+ to_y: "pad.bottom";
+ }
+
+ color: 77 77 77 255;
+
+ text {
+ align: 0.0 0.5;
+ min: 0 1;
+ //text_class: "T024";
+ size: 18;
+ }
+ }
+ }
+
+ part {
+ name: "index.bar";
+ type: RECT;
+ scale : 1;
+ description {
+ state: "default" 0.0;
+ min: 0 SELECT_ALL_PART_INDEX_H;
+ max: -1 SELECT_ALL_PART_INDEX_H;
+ fixed: 0 1;
+ align: 0.5 1.0;
+ color: 217 217 217 255;
+ rel1 { relative: 0.0 1.0; to: "text.bg";}
+ rel2 { relative: 1.0 1.0; to: "base";}
+ visible: 1;
+ }
+ }
+
+ }
+ /*programs {
+ program { name: "image_clicked";
+ source: "elm.icon";
+ signal: "mouse,clicked,1";
+ action: PLAY_SAMPLE "button-pressed" 1.0;
+ }
+ }*/
+}
+
+ group { name: "navigation_view";
+ parts {
+ part { name: "background";
+ type: RECT;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color:255 255 255 0;
+ }
+ }
+
+ part {
+ name: "pathinfo";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 GROUP_INDEX_H;
+ fixed: 0 1;
+ align: 0.5 0;
+ rel1 { relative: 0.0 0.0; to:"background";}
+ rel2 { relative: 1.0 0.0; to:"background";}
+ }
+ description {
+ state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ min: 0 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 0.0 0.0; }
+ }
+ }
+
+ part {
+ name: "part1";
+ type: SWALLOW;
+ scale: 1;
+ repeat_events: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0;
+ fixed: 0 1;
+ rel1 { relative: 0.0 1.0; to_y: "pathinfo";}
+ rel2 { relative: 1.0 1.0;}
+ }
+ description {
+ state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ min: 0 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 0.0 0.0; }
+ }
+ description {
+ state: "only" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+
+ }
+ programs {
+ program {
+ name:"disable_pathinfo";
+ signal: "elm.pathinfo.hide";
+ source: "elm";
+ action: STATE_SET "hide" 0.0;
+ target: "pathinfo";
+ }
+ program {
+ name:"enable_pathinfo";
+ signal: "elm.pathinfo.show";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "pathinfo";
+ }
+ }
+ }
+ group
+ {
+ name: "noContent";
+ parts
+ {
+ part
+ {
+ name: "myfile.noContent.upper";
+ type: SWALLOW;
+ scale: 1;
+ description
+ {
+ state: "default" 0.0;
+ rel1
+ {
+ relative: 0.0 0.0;
+ }
+ rel2
+ {
+ relative: 1.0 0.0; offset: 0 90;
+ }
+ }
+ }
+ part
+ {
+ name: "myfile.noContent.content";
+ type: SWALLOW;
+ scale: 1;
+ description
+ {
+ state: "default" 0.0;
+ rel1
+ {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_y: "myfile.noContent.upper";
+ }
+ rel2
+ {
+ relative: 1.0 1.0;
+ }
+ }
+ }
+
+ }
+ }
+
+ group
+ {
+ name:"thumbnail_only";
+ images {
+ image: "myfile_icon_video_play.png" COMP;
+ }
+ parts
+ {
+ part
+ {
+ name:"base";
+ type:RECT;
+ scale: 1;
+ description
+ {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 1.0 1.0; }
+ color: 8 8 8 0;
+ }
+ }
+ part
+ {
+ name:"bg";
+ type:RECT;
+ scale: 1;
+ description
+ {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0; to:"base";}
+ rel2 { relative: 1.0 1.0; to:"base";}
+ color: 8 8 8 0;
+ }
+ }
+ part
+ {
+ name:"file_icon_clipper";
+ type:RECT;
+ scale: 1;
+ description
+ {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to:"bg";}
+ rel2 { relative: 1.0 1.0; to:"bg";}
+ }
+ }
+
+ part
+ {
+ name:"thumbnail";
+ type:SWALLOW;
+ clip_to: "file_icon_clipper";
+ scale: 1;
+ description
+ {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to:"file_icon_clipper";}
+ rel2 { relative: 1.0 1.0; to:"file_icon_clipper";}
+ }
+ }
+ part
+ {
+ name:"default_thumbnail";
+ type:SWALLOW;
+ scale: 1;
+ description
+ {
+ state: "default" 0.0;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0; to:"bg";}
+ rel2 { relative: 1.0 1.0; to:"bg";}
+ }
+ }
+
+ part
+ {
+ name:"video_play";
+ type:IMAGE;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ visible: 0;
+ min: 0 0;
+ rel1 { relative: 0.0 0.0; }
+ rel2 { relative: 0.0 0.0; }
+ }
+ description
+ {
+ state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ min: 32 32;
+ max: 32 32;
+ align: 0.5 0.5;
+ rel1 { relative: 0.0 0.0; to:"bg";}
+ rel2 { relative: 1.0 1.0; to:"bg";}
+ image.normal: "myfile_icon_video_play.png";
+ }
+ }
+
+ part
+ {
+ name: "myfile.memory_icon_multi.sub";
+ type: SWALLOW;
+ scale: 1;
+ description
+ {
+ state: "default" 0.0;
+ rel1 { relative:0.0 0.0; to:"thumbnail";}
+ rel2 { relative:1.0 1.0; to:"thumbnail";}
+ }
+ }
+ }
+ programs {
+ program {
+ name:"disable_video_icon";
+ signal: "elm.video.hide";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "video_play";
+ }
+ program {
+ name:"enable_video_icon";
+ signal: "elm.video.show";
+ source: "elm";
+ action: STATE_SET "show" 0.0;
+ target: "video_play";
+ }
+
+ }
+ }
+
+#if 1
+ group { name: "popup_processingview_1button";
+#define DEMO_POPUP_PROCESSINGVIEW1BUTTON_CONTENT_MIN 568 132
+ styles {
+ style { name: "popup_processing_text_style";
+ base: "font=Tizen:style=Bold font_size=36 align=left color=#FFFFFF color_class=T123 wrap=none ellipsis=1.0 text_class=T123";
+ tag: "br" "\n";
+ tag: "tab" "\t";
+ }
+ }
+ parts {
+ part { name: "base";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: DEMO_POPUP_PROCESSINGVIEW1BUTTON_CONTENT_MIN;
+ fixed: 1 0;
+ }
+ }
+ part { name: "pad_t";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ min: 0 32;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 0.0;to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 0.0;to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "pad_l";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 65 0;
+ max: 65 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "base";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to: "base";
+ }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "pad_r";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 65 0;
+ max: 65 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ to: "base";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "base";
+ }
+ align: 1.0 0.0;
+ }
+ }
+ part { name: "pad_b";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.0 1.0;
+ min: 0 32;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "pad_r";
+ }
+ }
+ }
+ part {
+ name: "spacing";
+ scale: 1;
+ type: SPACER;
+ description { state: "default" 0.0;
+ align: 0.0 0.5;
+ min: 79 79;
+ max: 79 79;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to: "pad_t";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to: "pad_b";
+ }
+ }
+ }
+ part { name: "elm.text";
+ type: TEXTBLOCK;
+ scale : 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.5;
+ fixed: 1 1;
+ text {
+ style: "popup_processing_text_style";
+ min: 0 1;
+ max: 1 1;
+ }
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "spacing";
+ to_y: "pad_t";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "pad_r";
+ to_y: "pad_b";
+ }
+ }
+ }
+ part { name:"pad_before_text";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 16 132;
+ max: 16 132;
+ fixed: 1 1;
+ align: 1.0 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "elm.text";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "elm.text";
+ }
+ }
+ }
+ part { name:"elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 63 63;
+ max: 63 63;
+ fixed: 1 1;
+ align: 1.0 0.15;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "pad_before_text";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to: "pad_before_text";
+ }
+ }
+ }
+ }
+ }
+
+
+ group { name: "popup_new_folder";
+ parts {
+ part { name: "base";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 160;
+ fixed: 1 0;
+ }
+ }
+ part { name: "t_pad";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1.to: "base";
+ rel2.to: "base";
+ align: 0.0 0.0;
+ min: 0 10;
+ max: 0 10;
+ fixed: 1 1;
+ }
+ }
+ part { name: "top_content_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 30;
+ max: 0 40;
+ rel1 {
+ to_x: "base";
+ to_y: "t_pad";
+ relative: 0.0 1.0;
+ }
+ rel2 {
+ to_x: "base";
+ to_y: "t_pad";
+ relative: 1.0 1.0;
+ }
+ align: 0.0 0.0;
+ fixed: 1 1;
+ }
+ }
+ part { name: "left_swallow_padding";
+ type: SPACER;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 30 40;
+ max: 30 40;
+ rel1 {
+ to_x: "base";
+ to_y: "top_content_padding";
+ relative: 0.0 1.0;
+ }
+ rel2 {
+ to_x: "base";
+ to_y: "top_content_padding";
+ relative: 0.0 1.0;
+ }
+ align: 0.0 0.0;
+ fixed: 1 1;
+ }
+ }
+ part { name: "right_swallow_padding";
+ type: SPACER;
+ scale: 1;
+ description {
+ min: 30 40;
+ max: 30 40;
+ rel1 {
+ to_x: "base";
+ to_y: "top_content_padding";
+ relative: 1.0 1.0;
+ }
+ rel2 {
+ to_x: "base";
+ to_y: "top_content_padding";
+ relative: 1.0 1.0;
+ }
+ align: 1.0 0.0;
+ fixed: 1 1;
+ }
+ }
+ part {
+ name: "elm.swallow.content";
+ type: SWALLOW;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ min: 0 80;
+ fixed: 0 1;
+ rel1 {
+ to: "left_swallow_padding";
+ relative : 1.0 1.0;
+ }
+ rel2 {
+ to: "right_swallow_padding";
+ relative: 0.0 1.0;
+ }
+ align: 0.0 0.5;
+ }
+ }
+ }
+ }
+
+group { name: "popup_progress_text";
+ parts{
+ part { name: "base";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 150;
+ fixed: 1 0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.title";
+ type: TEXT;
+ scale : 1;
+ description { state: "default" 0.0;
+ max: 480 50;
+ fixed: 1 1;
+ text {
+ font: "Tizen:style=Medium";
+ text_class:"tizen";
+ size: 42;
+ min: 0 0;
+ align: 0.5 0.5;
+ }
+ color: 255 255 255 255;
+ align: 0.5 1.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "base";
+ }
+ rel2 {
+ relative: 1.0 0.5;
+ to: "base";
+ }
+ }
+ }
+ part { name:"elm.swallow.content";
+ type: SWALLOW;
+ scale : 1;
+ description { state: "default" 0.0;
+ align: 0.5 0;
+ rel1 {
+ relative: 0.0 0.5;
+ to: "base";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "base";
+ }
+ }
+ }
+
+ }
+}
+
+
+}
+
diff --git a/ug_radio.edc b/ug_radio.edc
new file mode 100644
index 0000000..d1da3a7
--- /dev/null
+++ b/ug_radio.edc
@@ -0,0 +1,566 @@
+/*
+* Copyright (c) 2000-2015 Samsung Electronics Co., Ltd All Rights Reserved
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
+
+
+
+#define RADIO_HIDE 0
+#define RADIO_SHOW 1
+#define RADIO_STATE_DEFAULT 0 // radio is off
+#define RADIO_STATE_VISIBLE 1 // radio is on
+
+#define RADIO_STYLE_DEFAULT_BG_IMAGE_MIN_WIDTH_INC 63
+#define RADIO_STYLE_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC 63
+#define RADIO_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_WIDTH_INC 76
+#define RADIO_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_WIDTH_INC 76
+#define RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC 63 63
+#define RADIO_STYLE_DEFAULT_FONT_SIZE_INC 36
+#define RADIO_STYLE_DEFAULT_PADDING_BEFORE_TEXT_INC 16 0
+#define RADIO_DISCLIP_NORMAL_COLOR_INC 255 255 255 255
+#define RADIO_DISCLIP_DISABLED_COLOR_INC 255 255 255 128
+
+#define RADIO_STYLE_DEFAULT(style_name, min_width, min_height) \
+ group { name: "elm/radio/base/"style_name; \
+ images { \
+ image: "00_button_radio_activate.png" COMP; \
+ image: "00_button_radio_activate_ef.png" COMP; \
+ image: "00_button_radio_bg.png" COMP; \
+ image: "00_button_radio_bg_ef.png" COMP; \
+ image: "00_button_radio_bg_line.png" COMP; \
+ image: "00_button_radio_focus.png" COMP; \
+ } \
+ script { \
+ public radio_state = RADIO_STATE_DEFAULT; \
+ public radio_visible = RADIO_HIDE; \
+ } \
+ parts { \
+ part { name: "back_bg"; \
+ type: RECT; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ rel2.relative: 0.0 1.0; \
+ align: 0 0.5; \
+ min: min_width min_height; \
+ fixed: 1 0; \
+ color: 0 0 0 0; \
+ } \
+ } \
+ part { name: "bg"; \
+ mouse_events: 0; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \
+ max: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \
+ fixed: 1 1; \
+ rel1.to: "back_bg"; \
+ rel2.to: "back_bg"; \
+ image.normal: "00_button_radio_bg.png"; \
+ color_class: "W014L1"; \
+ } \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ color_class: "W014L1D"; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ color_class: "W014L1P"; \
+ } \
+ } \
+ part { name: "bg_effect"; \
+ mouse_events: 0; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \
+ max: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \
+ fixed: 1 1; \
+ rel1.to: "back_bg"; \
+ rel2.to: "back_bg"; \
+ image.normal: "00_button_radio_bg_ef.png"; \
+ } \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ } \
+ } \
+ part { name: "bg_line"; \
+ mouse_events: 0; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \
+ max: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \
+ fixed: 1 1; \
+ rel1.to: "back_bg"; \
+ rel2.to: "back_bg"; \
+ image.normal: "00_button_radio_bg_line.png"; \
+ color_class: "W014L2"; \
+ } \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ color_class: "W014L2D"; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ color_class: "W014L2P"; \
+ } \
+ } \
+ part { name: "radio"; \
+ clip_to: "opacity_clip"; \
+ mouse_events: 0; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ rel1.to: "bg"; \
+ rel2.to: "bg"; \
+ max: 0 0; \
+ image.normal: "00_button_radio_activate.png"; \
+ visible: 0; \
+ } \
+ description { state: "visible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ max: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \
+ color_class: "W014L3"; \
+ } \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ color_class: "W014L3D"; \
+ } \
+ description { state: "disabled_visible" 0.0; \
+ inherit: "visible" 0.0; \
+ color_class: "W014L3D"; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "visible" 0.0; \
+ color_class: "W014L3P"; \
+ } \
+ } \
+ part { name: "radio_effect"; \
+ clip_to: "opacity_clip"; \
+ mouse_events: 0; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ rel1.to: "bg"; \
+ rel2.to: "bg"; \
+ max: RADIO_STYLE_DEFAULT_BG_MIN_MAX_INC; \
+ visible: 0; \
+ image.normal: "00_button_radio_activate_ef.png"; \
+ } \
+ description { state: "visible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ } \
+ } \
+ part { name: "opacity_clip"; \
+ type: RECT; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ rel1.to: "bg"; \
+ rel2.to: "bg"; \
+ color: 255 255 255 0; \
+ } \
+ description { state: "visible" 0.0; \
+ inherit: "default" 0.0; \
+ color: 255 255 255 255; \
+ } \
+ } \
+ part { name: "focus_image"; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ rel1.to: "radio"; \
+ rel2.to: "radio"; \
+ image.normal: "00_button_radio_focus.png" ;\
+ visible: 0; \
+ color_class: "W161"; \
+ } \
+ description { state: "focused_on" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ } \
+ } \
+ part { name: "elm.swallow.content"; \
+ type: SWALLOW; \
+ clip_to: "disclip"; \
+ description { state: "default" 0.0; \
+ fixed: 1 0; \
+ visible: 0; \
+ align: 0.0 0.5; \
+ rel1 { \
+ to_x: "bg"; \
+ relative: 1.0 0.0; \
+ } \
+ rel2 { \
+ to_x: "bg"; \
+ } \
+ } \
+ description { state: "visible" 0.0; \
+ inherit: "default" 0.0; \
+ fixed: 1 1; \
+ visible: 1; \
+ aspect: 1.0 1.0; \
+ aspect_preference: VERTICAL; \
+ } \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+ description { state: "disabled_visible" 0.0; \
+ inherit: "default" 0.0; \
+ fixed: 1 1; \
+ visible: 1; \
+ aspect: 1.0 1.0; \
+ } \
+ } \
+ part { name: "padding_before_text"; \
+ type: SPACER; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ align: 0.0 0.5; \
+ min: 0 0; \
+ fixed: 1 1; \
+ rel1 { \
+ to_x: "elm.swallow.content"; \
+ relative: 1.0 0.0; \
+ } \
+ rel2 { \
+ to_x: "elm.swallow.content"; \
+ relative: 1.0 1.0; \
+ } \
+ } \
+ description { state: "visible" 0.0; \
+ inherit: "default" 0.0; \
+ min: RADIO_STYLE_DEFAULT_PADDING_BEFORE_TEXT_INC; \
+ max: RADIO_STYLE_DEFAULT_PADDING_BEFORE_TEXT_INC; \
+ fixed: 1 1; \
+ } \
+ } \
+ part { name: "elm.text"; \
+ type: TEXTBLOCK; \
+ mouse_events: 0; \
+ clip_to: "disclip"; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ visible: 0; \
+ fixed: 1 1; \
+ rel1 { \
+ relative: 1.0 0.0; \
+ to_x: "padding_before_text"; \
+ } \
+ rel2 { \
+ relative: 1.0 1.0; \
+ offset: 0 0; \
+ } \
+ text { \
+ style: "radio_label_textblock_style"; \
+ align: 0.0 0.5; \
+ min: 0 0; \
+ } \
+ } \
+ description { state: "visible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ text.min: 0 0; \
+ } \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ } \
+ description { state: "disabled_visible" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ text { \
+ style: "radio_label_textblock_style_disable"; \
+ align: 0.0 0.5; \
+ min: 0 0; \
+ } \
+ } \
+ } \
+ part { name: "over1"; \
+ type: RECT; \
+ ignore_flags: ON_HOLD; \
+ description { state: "default" 0.0; \
+ color: 0 0 0 0; \
+ } \
+ } \
+ part { name: "over2"; \
+ type: RECT; \
+ repeat_events:1; \
+ description { state: "default" 0.0; \
+ color: 0 0 0 0; \
+ } \
+ } \
+ part { name: "disclip"; \
+ type: RECT; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ color: RADIO_DISCLIP_NORMAL_COLOR_INC; \
+ } \
+ description { state: "disabled" 0.0; \
+ color: RADIO_DISCLIP_DISABLED_COLOR_INC; \
+ } \
+ } \
+ part { name: "disabler"; \
+ type: RECT; \
+ description { state: "default" 0.0; \
+ visible: 0; \
+ } \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ color: 0 0 0 0; \
+ } \
+ } \
+ } \
+ programs { \
+ program { name: "show"; \
+ signal: "show"; \
+ script { \
+ set_int(radio_visible, RADIO_SHOW); \
+ } \
+ } \
+ program { name: "hide"; \
+ signal: "hide"; \
+ script { \
+ set_int(radio_visible, RADIO_HIDE); \
+ } \
+ } \
+ program { name: "click"; \
+ signal: "mouse,clicked,1"; \
+ source: "over1"; \
+ action: SIGNAL_EMIT "elm,action,radio,toggle" ""; \
+ } \
+ program { name: "bg_normal"; \
+ signal: "mouse,up,1"; \
+ source: "over2"; \
+ script { \
+ if (get_int(radio_state) == RADIO_STATE_VISIBLE) \
+ set_state(PART:"radio", "visible", 0.0); \
+ else \
+ set_state(PART:"radio", "default", 0.0); \
+ set_state(PART:"bg", "default", 0.0); \
+ set_state(PART:"bg_line", "default", 0.0); \
+ } \
+ } \
+ program { name: "pressed"; \
+ signal: "mouse,down,1"; \
+ source: "over2"; \
+ script { \
+ if (get_int(radio_state) == RADIO_STATE_VISIBLE) \
+ set_state(PART:"radio", "pressed", 0.0); \
+ else \
+ set_state(PART:"radio", "default", 0.0); \
+ set_state(PART:"bg", "pressed", 0.0); \
+ set_state(PART:"bg_line", "pressed", 0.0); \
+ } \
+ } \
+ program { name: "mouse,out"; \
+ signal: "mouse,out"; \
+ source: "over2"; \
+ script { \
+ if (get_int(radio_state) == RADIO_STATE_VISIBLE) { \
+ set_state(PART:"radio", "visible", 0.0); \
+ set_state(PART:"radio_effect", "visible", 0.0); \
+ } \
+ else \
+ set_state(PART:"radio", "default", 0.0); \
+ set_state(PART:"bg", "default", 0.0); \
+ set_state(PART:"bg_line", "default", 0.0); \
+ } \
+ } \
+ program { name: "radio_on"; \
+ signal: "elm,state,radio,on"; \
+ source: "elm"; \
+ script { \
+ set_int(radio_state, RADIO_STATE_VISIBLE); \
+ if (get_int(radio_visible) == RADIO_SHOW) \
+ { \
+ run_program(PROGRAM:"radio_show_effect"); \
+ run_program(PROGRAM:"radio_draw_effect"); \
+ } \
+ else \
+ { \
+ set_state(PART:"radio", "visible", 0.0); \
+ set_state(PART:"opacity_clip", "visible", 0.0); \
+ set_state(PART:"radio_effect", "visible", 0.0); \
+ } \
+ } \
+ } \
+ program { name: "radio_off"; \
+ signal: "elm,state,radio,off"; \
+ source: "elm"; \
+ script { \
+ if (get_int(radio_state) == RADIO_STATE_VISIBLE) \
+ { \
+ set_int(radio_state, RADIO_STATE_DEFAULT); \
+ set_state(PART:"radio", "default", 0.0); \
+ set_state(PART:"radio_effect", "default", 0.0); \
+ set_state(PART:"opacity_clip", "default", 0.0); \
+ } \
+ } \
+ } \
+ program { name: "radio_show_effect"; \
+ action: STATE_SET "visible" 0.0; \
+ transition: LINEAR 0.233; \
+ target: "opacity_clip"; \
+ } \
+ program { name: "radio_draw_effect"; \
+ action: STATE_SET "visible" 0.0; \
+ transition: LINEAR 0.267; \
+ target: "radio"; \
+ target: "radio_effect"; \
+ after: "radio_on_signal"; \
+ } \
+ program { name: "radio_on_signal"; \
+ action: SIGNAL_EMIT "elm,action,show,finished" "elm"; \
+ } \
+ program { name: "key_press"; \
+ signal: "elm,action,pressed"; \
+ source: "elm"; \
+ script { \
+ if (get_int(radio_state) == RADIO_STATE_VISIBLE) \
+ set_state(PART:"radio", "pressed", 0.0); \
+ else \
+ set_state(PART:"radio", "default", 0.0); \
+ set_state(PART:"bg", "pressed", 0.0); \
+ set_state(PART:"bg_line", "pressed", 0.0); \
+ } \
+ } \
+ program { name: "key_unpress"; \
+ signal: "elm,action,unpressed"; \
+ source: "elm"; \
+ script { \
+ if (get_int(radio_state) == RADIO_STATE_VISIBLE) \
+ set_state(PART:"radio", "visible", 0.0); \
+ else \
+ set_state(PART:"radio", "default", 0.0); \
+ set_state(PART:"bg", "default", 0.0); \
+ set_state(PART:"bg_line", "default", 0.0); \
+ } \
+ } \
+ program { name: "text_show"; \
+ signal: "elm,state,text,visible"; \
+ source: "elm"; \
+ action: STATE_SET "visible" 0.0; \
+ target: "padding_before_text"; \
+ target: "elm.text"; \
+ } \
+ program { name: "text_hide"; \
+ signal: "elm,state,text,hidden"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "padding_before_text"; \
+ target: "elm.text"; \
+ } \
+ program { name: "icon_show"; \
+ signal: "elm,state,icon,visible"; \
+ source: "elm"; \
+ action: STATE_SET "visible" 0.0; \
+ target: "elm.swallow.content"; \
+ } \
+ program { name: "icon_hide"; \
+ signal: "elm,state,icon,hidden"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.swallow.content"; \
+ } \
+ program { name: "action_focus"; \
+ signal: "elm,action,focus_highlight,show"; \
+ source: "elm"; \
+ action: STATE_SET "focused_on" 0.0; \
+ target: "focus_image"; \
+ } \
+ program { name: "action_unfocus"; \
+ signal: "elm,action,focus_highlight,hide"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "focus_image"; \
+ } \
+ program { name: "disable"; \
+ signal: "elm,state,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "disabled" 0.0; \
+ target: "disclip"; \
+ target: "bg"; \
+ target: "bg_effect"; \
+ target: "bg_line"; \
+ target: "disabler"; \
+ after: "disable_text"; \
+ } \
+ program { name: "disable_text"; \
+ script { \
+ new st[31]; \
+ new Float:vl; \
+ get_state(PART:"elm.text", st, 30, vl); \
+ if (!strcmp(st, "visible")) \
+ set_state(PART:"elm.text", "disabled_visible", 0.0); \
+ else \
+ set_state(PART:"elm.text", "disabled", 0.0); \
+ get_state(PART:"elm.swallow.content", st, 30, vl); \
+ if (!strcmp(st, "visible")) \
+ set_state(PART:"elm.swallow.content", "disabled_visible", 0.0); \
+ else \
+ set_state(PART:"elm.swallow.content", "disabled", 0.0); \
+ get_state(PART:"radio", st, 30, vl); \
+ if (!strcmp(st, "visible")) { \
+ set_state(PART:"radio", "disabled_visible", 0.0); \
+ set_state(PART:"radio_effect", "default", 0.0); \
+ } \
+ else \
+ set_state(PART:"radio", "disabled", 0.0); \
+ } \
+ } \
+ program { name: "enable"; \
+ signal: "elm,state,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "disabler"; \
+ target: "disclip"; \
+ target: "bg"; \
+ target: "bg_effect"; \
+ target: "bg_line"; \
+ after: "enable_text"; \
+ } \
+ program { name: "enable_text"; \
+ script { \
+ new st[31]; \
+ new Float:vl; \
+ get_state(PART:"elm.text", st, 30, vl); \
+ if (!strcmp(st, "disabled_visible")) \
+ set_state(PART:"elm.text", "visible", 0.0); \
+ else \
+ set_state(PART:"elm.text", "default", 0.0); \
+ get_state(PART:"elm.swallow.content", st, 30, vl); \
+ if (!strcmp(st, "disabled_visible")) \
+ set_state(PART:"elm.swallow.content", "visible", 0.0); \
+ else \
+ set_state(PART:"elm.swallow.content", "default", 0.0); \
+ get_state(PART:"radio", st, 30, vl); \
+ if (!strcmp(st, "disabled_visible")) \
+ { \
+ set_state(PART:"opacity_clip", "visible", 0.0); \
+ set_state(PART:"radio", "visible", 0.0); \
+ set_state(PART:"radio_effect", "visible", 0.0); \
+ } \
+ else \
+ { \
+ set_state(PART:"opacity_clip", "default", 0.0); \
+ set_state(PART:"radio", "default", 0.0); \
+ } \
+ } \
+ } \
+ } \
+ }
+
+
+///////////////////////////////////////////////////////////////////////////////////////
+RADIO_STYLE_DEFAULT("silent", RADIO_STYLE_DEFAULT_BG_IMAGE_MIN_WIDTH_INC, RADIO_STYLE_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC)
+