Tizen 2.1 base
authorJinkun Jang <jinkun.jang@samsung.com>
Tue, 12 Mar 2013 16:39:05 +0000 (01:39 +0900)
committerJinkun Jang <jinkun.jang@samsung.com>
Tue, 12 Mar 2013 16:39:05 +0000 (01:39 +0900)
297 files changed:
CMakeLists.txt [new file with mode: 0755]
LICENSE.Flora [new file with mode: 0755]
NOTICE [new file with mode: 0755]
inc/MfAudioMediaMetaData.h [new file with mode: 0644]
inc/MfBaseForm.h [new file with mode: 0644]
inc/MfBaseItemProvider.h [new file with mode: 0644]
inc/MfBasePresentationModel.h [new file with mode: 0644]
inc/MfContentListItem.h [new file with mode: 0644]
inc/MfCreateFolderForm.h [new file with mode: 0644]
inc/MfCustomAppControl.h [new file with mode: 0644]
inc/MfCustomListViewForPopup.h [new file with mode: 0644]
inc/MfDetailsForm.h [new file with mode: 0644]
inc/MfDirectoryEntry.h [new file with mode: 0644]
inc/MfFileManageForm.h [new file with mode: 0644]
inc/MfFileManageWorkerThread.h [new file with mode: 0644]
inc/MfFolderEntriesComparer.h [new file with mode: 0644]
inc/MfFolderEntryDetailPresentationModel.h [new file with mode: 0644]
inc/MfFolderEntryEditorPresentationModel.h [new file with mode: 0644]
inc/MfFolderEntryPresentationModel.h [new file with mode: 0644]
inc/MfFolderMediaMetaData.h [new file with mode: 0644]
inc/MfFolderNavigationPresentationModel.h [new file with mode: 0644]
inc/MfFontManager.h [new file with mode: 0644]
inc/MfFormFactory.h [new file with mode: 0644]
inc/MfFormatedText.h [new file with mode: 0644]
inc/MfIDeviceNotificationListener.h [new file with mode: 0644]
inc/MfIFileEventNotification.h [new file with mode: 0644]
inc/MfIFileManagingListener.h [new file with mode: 0644]
inc/MfIListViewStateChangeListener.h [new file with mode: 0644]
inc/MfINotificationListener.h [new file with mode: 0644]
inc/MfImageMediaMetaData.h [new file with mode: 0644]
inc/MfMainFrame.h [new file with mode: 0644]
inc/MfMediaMetaData.h [new file with mode: 0644]
inc/MfMyFilesApp.h [new file with mode: 0644]
inc/MfOtherMediaMetaData.h [new file with mode: 0644]
inc/MfPanelFactory.h [new file with mode: 0644]
inc/MfSceneRegister.h [new file with mode: 0644]
inc/MfSceneTransitionPolicyProvider.h [new file with mode: 0644]
inc/MfSearchForm.h [new file with mode: 0644]
inc/MfSearchPresentationModel.h [new file with mode: 0644]
inc/MfSubBaseFolderEntryForm.h [new file with mode: 0644]
inc/MfSubBaseMoveCopy.h [new file with mode: 0644]
inc/MfSubBaseSelectionForm.h [new file with mode: 0644]
inc/MfSubFolderFileListForm.h [new file with mode: 0644]
inc/MfSubFolderMoveCopy.h [new file with mode: 0644]
inc/MfSubFolderSelection.h [new file with mode: 0644]
inc/MfThumbMgrCommon.h [new file with mode: 0644]
inc/MfThumbnailItemProviderAndListener.h [new file with mode: 0644]
inc/MfThumbnailManager.h [new file with mode: 0644]
inc/MfTopMostFileSelectionForm.h [new file with mode: 0644]
inc/MfTopMostFolderFileListForm.h [new file with mode: 0644]
inc/MfTopMostMoveCopy.h [new file with mode: 0644]
inc/MfTypes.h [new file with mode: 0644]
inc/MfUtility.h [new file with mode: 0644]
inc/MfVideoMediaMetaData.h [new file with mode: 0644]
manifest.xml [new file with mode: 0755]
packaging/apps.MyFiles.spec [new file with mode: 0755]
res/.workflow [new file with mode: 0644]
res/ara-AE.xml [new file with mode: 0644]
res/aze-AZ.xml [new file with mode: 0644]
res/bul-BG.xml [new file with mode: 0644]
res/cat-ES.xml [new file with mode: 0644]
res/ces-CZ.xml [new file with mode: 0644]
res/dan-DK.xml [new file with mode: 0644]
res/deu-DE.xml [new file with mode: 0644]
res/ell-GR.xml [new file with mode: 0644]
res/eng-GB.xml [new file with mode: 0644]
res/eng-PH.xml [new file with mode: 0644]
res/eng-US.xml [new file with mode: 0644]
res/est-EE.xml [new file with mode: 0644]
res/eus-ES.xml [new file with mode: 0644]
res/fin-FI.xml [new file with mode: 0644]
res/fra-CA.xml [new file with mode: 0644]
res/fra-FR.xml [new file with mode: 0644]
res/gle-IE.xml [new file with mode: 0644]
res/glg-ES.xml [new file with mode: 0644]
res/hin-IN.xml [new file with mode: 0644]
res/hrv-HR.xml [new file with mode: 0644]
res/hun-HU.xml [new file with mode: 0644]
res/hye-AM.xml [new file with mode: 0644]
res/isl-IS.xml [new file with mode: 0644]
res/ita-IT.xml [new file with mode: 0644]
res/jpn-JP.xml [new file with mode: 0644]
res/kat-GE.xml [new file with mode: 0644]
res/kaz-KZ.xml [new file with mode: 0644]
res/kor-KR.xml [new file with mode: 0644]
res/lav-LV.xml [new file with mode: 0644]
res/lit-LT.xml [new file with mode: 0644]
res/mkd-MK.xml [new file with mode: 0644]
res/nld-NL.xml [new file with mode: 0644]
res/nob-NO.xml [new file with mode: 0644]
res/pol-PL.xml [new file with mode: 0644]
res/por-BR.xml [new file with mode: 0644]
res/por-PT.xml [new file with mode: 0644]
res/ron-RO.xml [new file with mode: 0644]
res/rus-RU.xml [new file with mode: 0644]
res/screen-density-xhigh/00_Edit Field_rename.png [new file with mode: 0644]
res/screen-density-xhigh/00_Nocontents_multimedia.png [new file with mode: 0644]
res/screen-density-xhigh/00_Nocontents_picture.png [new file with mode: 0644]
res/screen-density-xhigh/00_Nocontents_text.png [new file with mode: 0644]
res/screen-density-xhigh/00_Nocontents_unnamed.png [new file with mode: 0644]
res/screen-density-xhigh/00_Option_header_btn.png [new file with mode: 0644]
res/screen-density-xhigh/00_Option_header_btn_focus.png [new file with mode: 0644]
res/screen-density-xhigh/00_Option_header_btn_press.png [new file with mode: 0644]
res/screen-density-xhigh/00_Video_play.png [new file with mode: 0644]
res/screen-density-xhigh/00_btn_circle_bg_normal.png [new file with mode: 0644]
res/screen-density-xhigh/00_btn_circle_bg_normal_01.png [new file with mode: 0644]
res/screen-density-xhigh/00_btn_circle_bg_normal_01_press.png [new file with mode: 0644]
res/screen-density-xhigh/00_btn_circle_bg_press.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_01_dim.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_01_normal.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_01_normal_focus.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_01_normal_press.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_04_dim.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_04_normal.9.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_04_normal.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_04_normal_focus.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_04_press.9.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_04_press.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_05_dim.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_05_normal.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_05_normal_focus.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_05_normal_press.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_06_dim.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_06_normal.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_06_normal_focus.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_06_press.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_Edit.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_Edit_Delete.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_Edit_Delete_press.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_Edit_dim.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_Edit_focus.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_Edit_press.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_popup_dim.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_popup_normal.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_popup_normal_focus.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_popup_press.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_rename_normal.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_rename_press.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_sweep.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_sweep_delete.9.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_sweep_delete.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_sweep_delete_press.9.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_sweep_delete_press.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_sweep_dim.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_sweep_focus.png [new file with mode: 0644]
res/screen-density-xhigh/00_button_sweep_press.png [new file with mode: 0644]
res/screen-density-xhigh/00_caller ID_masking_BG.png [new file with mode: 0644]
res/screen-density-xhigh/00_grid_select_check.png [new file with mode: 0644]
res/screen-density-xhigh/00_popup_bg.9.png [new file with mode: 0644]
res/screen-density-xhigh/00_popup_bg.png [new file with mode: 0644]
res/screen-density-xhigh/00_popup_bottom_bg.9.png [new file with mode: 0644]
res/screen-density-xhigh/00_popup_bottom_bg.png [new file with mode: 0644]
res/screen-density-xhigh/00_popup_bubble_bg.png [new file with mode: 0644]
res/screen-density-xhigh/00_popup_title_bg.png [new file with mode: 0644]
res/screen-density-xhigh/00_search_icon.png [new file with mode: 0644]
res/screen-density-xhigh/00_search_input_field_bg.png [new file with mode: 0644]
res/screen-density-xhigh/00_volume_icon_Call.png [new file with mode: 0644]
res/screen-density-xhigh/01_controlbar_icon_Externalstorage.png [new file with mode: 0644]
res/screen-density-xhigh/01_controlbar_icon_MemoryCard.png [new file with mode: 0644]
res/screen-density-xhigh/01_controlbar_icon_phone.png [new file with mode: 0644]
res/screen-density-xhigh/Edit_Field_rename.png [new file with mode: 0644]
res/screen-density-xhigh/Thumbs.db [new file with mode: 0644]
res/screen-density-xhigh/U01_1st_icon_external_storage.png [new file with mode: 0644]
res/screen-density-xhigh/U01_1st_icon_external_storage_press.png [new file with mode: 0644]
res/screen-density-xhigh/U01_1st_icon_memory_card.png [new file with mode: 0644]
res/screen-density-xhigh/U01_1st_icon_memory_card_press.png [new file with mode: 0644]
res/screen-density-xhigh/U01_1st_icon_phone.png [new file with mode: 0644]
res/screen-density-xhigh/U01_1st_icon_phone_press.png [new file with mode: 0644]
res/screen-density-xhigh/U01_FileName_bg.png [new file with mode: 0644]
res/screen-density-xhigh/U01_button_04_dim.png [new file with mode: 0644]
res/screen-density-xhigh/U01_button_04_normal.png [new file with mode: 0644]
res/screen-density-xhigh/U01_button_04_normal_focus.png [new file with mode: 0644]
res/screen-density-xhigh/U01_button_04_press.png [new file with mode: 0644]
res/screen-density-xhigh/U01_button_icon_home.png [new file with mode: 0644]
res/screen-density-xhigh/U01_button_icon_up.png [new file with mode: 0644]
res/screen-density-xhigh/U01_button_pause.png [new file with mode: 0644]
res/screen-density-xhigh/U01_button_pause_press.png [new file with mode: 0644]
res/screen-density-xhigh/U01_button_play.png [new file with mode: 0644]
res/screen-density-xhigh/U01_button_play_press.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_USB.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_excel.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_folder.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_folder_128x128.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_folder_Cropped.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_folder_oepn_128x128.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_folder_open.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_html.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_music.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_pdf.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_ppt.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_rss.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_svg.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_swf.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_text.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_unkown.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_upper folder.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_upper folder_focus.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_video.png [new file with mode: 0644]
res/screen-density-xhigh/U01_icon_word.png [new file with mode: 0644]
res/screen-density-xhigh/U01_thumbnail_icon_excel.png [new file with mode: 0644]
res/screen-density-xhigh/U01_thumbnail_icon_html.png [new file with mode: 0644]
res/screen-density-xhigh/U01_thumbnail_icon_music.png [new file with mode: 0644]
res/screen-density-xhigh/U01_thumbnail_icon_pdf.png [new file with mode: 0644]
res/screen-density-xhigh/U01_thumbnail_icon_ppt.png [new file with mode: 0644]
res/screen-density-xhigh/U01_thumbnail_icon_rss.png [new file with mode: 0644]
res/screen-density-xhigh/U01_thumbnail_icon_svg.png [new file with mode: 0644]
res/screen-density-xhigh/U01_thumbnail_icon_swf.png [new file with mode: 0644]
res/screen-density-xhigh/U01_thumbnail_icon_text.png [new file with mode: 0644]
res/screen-density-xhigh/U01_thumbnail_icon_unkown.png [new file with mode: 0644]
res/screen-density-xhigh/U01_thumbnail_icon_video.png [new file with mode: 0644]
res/screen-density-xhigh/U01_thumbnail_icon_word.png [new file with mode: 0644]
res/screen-size-normal/IDL_BASE_FORM.xml [new file with mode: 0644]
res/screen-size-normal/IDL_CREATE_FOLDER.xml [new file with mode: 0644]
res/screen-size-normal/IDL_DELETE_POPUP.xml [new file with mode: 0644]
res/screen-size-normal/IDL_DETAIL_FORM.xml [new file with mode: 0644]
res/screen-size-normal/IDL_EDIT.xml [new file with mode: 0644]
res/screen-size-normal/IDL_FILE_EXISTING_POPUP.xml [new file with mode: 0644]
res/screen-size-normal/IDL_FILE_PROGRESSING_POPUP.xml [new file with mode: 0644]
res/screen-size-normal/IDL_INSTALLATION_PROGRESS_POPUP.xml [new file with mode: 0644]
res/screen-size-normal/IDL_INSTALL_POPUP.xml [new file with mode: 0644]
res/screen-size-normal/IDL_ROOT_DIRECTORY.xml [new file with mode: 0644]
res/screen-size-normal/IDL_SEARCH.xml [new file with mode: 0644]
res/screen-size-normal/IDL_SORT_BY_POPUP.xml [new file with mode: 0644]
res/screen-size-normal/IDL_SUB_DIRECTORY.xml [new file with mode: 0644]
res/screen-size-normal/IDL_SUB_FOLDER_FILE_SELECTION.xml [new file with mode: 0644]
res/screen-size-normal/IDL_SUB_FOLDER_MOVE_COPY.xml [new file with mode: 0644]
res/screen-size-normal/IDL_TOP_MOST_FILE_SELECTION.xml [new file with mode: 0644]
res/screen-size-normal/IDL_TOP_MOST_MOVE_COPY.xml [new file with mode: 0644]
res/screen-size-normal/IDL_VIEW_AS_POPUP.xml [new file with mode: 0644]
res/slk-SK.xml [new file with mode: 0644]
res/slv-SI.xml [new file with mode: 0644]
res/spa-ES.xml [new file with mode: 0644]
res/spa-US.xml [new file with mode: 0644]
res/srp-RS.xml [new file with mode: 0644]
res/swe-SE.xml [new file with mode: 0644]
res/tur-TR.xml [new file with mode: 0644]
res/ukr-UA.xml [new file with mode: 0644]
res/uzb-UZ.xml [new file with mode: 0644]
res/zho-CN.xml [new file with mode: 0644]
res/zho-HK.xml [new file with mode: 0644]
res/zho-SG.xml [new file with mode: 0644]
res/zho-TW.xml [new file with mode: 0644]
shared/data/nofile.dummy [new file with mode: 0644]
shared/res/mainmenu.png [new file with mode: 0755]
shared/res/screen-density-high/mainmenu.png [new file with mode: 0755]
shared/res/screen-density-xhigh/mainmenu.png [new file with mode: 0755]
shared/trusted/nofile.dummy [new file with mode: 0644]
src/MfAudioMediaMetaData.cpp [new file with mode: 0644]
src/MfBaseForm.cpp [new file with mode: 0644]
src/MfBaseItemProvider.cpp [new file with mode: 0644]
src/MfBasePresentationModel.cpp [new file with mode: 0644]
src/MfContentListItem.cpp [new file with mode: 0644]
src/MfCreateFolderForm.cpp [new file with mode: 0644]
src/MfCustomAppControl.cpp [new file with mode: 0644]
src/MfCustomListViewForPopup.cpp [new file with mode: 0644]
src/MfDetailsForm.cpp [new file with mode: 0644]
src/MfDirectoryEntry.cpp [new file with mode: 0644]
src/MfFileManageForm.cpp [new file with mode: 0644]
src/MfFileManageWorkerThread.cpp [new file with mode: 0644]
src/MfFolderEntriesComparer.cpp [new file with mode: 0644]
src/MfFolderEntryDetailPresentationModel.cpp [new file with mode: 0644]
src/MfFolderEntryEditorPresentationModel.cpp [new file with mode: 0644]
src/MfFolderEntryPresentationModel.cpp [new file with mode: 0644]
src/MfFolderMediaMetaData.cpp [new file with mode: 0644]
src/MfFolderNavigationPresentationModel.cpp [new file with mode: 0644]
src/MfFontManager.cpp [new file with mode: 0644]
src/MfFormFactory.cpp [new file with mode: 0644]
src/MfFormatedText.cpp [new file with mode: 0644]
src/MfIDeviceNotificationListener.cpp [new file with mode: 0644]
src/MfIFileEventNotification.cpp [new file with mode: 0644]
src/MfIFileManagingListener.cpp [new file with mode: 0644]
src/MfIFileNotificationListener.cpp [new file with mode: 0644]
src/MfImageMediaMetaData.cpp [new file with mode: 0644]
src/MfMainFrame.cpp [new file with mode: 0644]
src/MfMediaMetaData.cpp [new file with mode: 0644]
src/MfMyFilesApp.cpp [new file with mode: 0644]
src/MfOtherMediaMetaData.cpp [new file with mode: 0644]
src/MfPanelFactory.cpp [new file with mode: 0644]
src/MfSceneRegister.cpp [new file with mode: 0644]
src/MfSceneTransitionPolicyProvider.cpp [new file with mode: 0644]
src/MfSearchForm.cpp [new file with mode: 0644]
src/MfSearchPresentationModel.cpp [new file with mode: 0644]
src/MfSubBaseFolderEntryForm.cpp [new file with mode: 0644]
src/MfSubBaseMoveCopy.cpp [new file with mode: 0644]
src/MfSubBaseSelectionForm.cpp [new file with mode: 0644]
src/MfSubFolderFileListForm.cpp [new file with mode: 0644]
src/MfSubFolderMoveCopy.cpp [new file with mode: 0644]
src/MfSubFolderSelection.cpp [new file with mode: 0644]
src/MfThumbnailItemProviderAndListener.cpp [new file with mode: 0644]
src/MfThumbnailManager.cpp [new file with mode: 0644]
src/MfTopMostFileSelectionForm.cpp [new file with mode: 0644]
src/MfTopMostFolderFileListForm.cpp [new file with mode: 0644]
src/MfTopMostMoveCopy.cpp [new file with mode: 0644]
src/MfTypes.cpp [new file with mode: 0644]
src/MfUtility.cpp [new file with mode: 0644]
src/MfVideoMediaMetaData.cpp [new file with mode: 0644]
src/MyFilesEntry.cpp [new file with mode: 0644]

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..25fa34d
--- /dev/null
@@ -0,0 +1,32 @@
+# Target name and AppID
+## TODO : set application name and PKG_ID
+SET(this_target MyFiles)
+SET(PKG_ID 0pnxz8hbsr)
+
+# include directory
+INCLUDE_DIRECTORIES(
+       /usr/include/osp
+       inc
+  )
+
+# Source files
+FILE(GLOB ${this_target}_SOURCE_FILES src/*.cpp)
+
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIE")
+
+# Create executable
+SET(CMAKE_EXECUTABLE_SUFFIX ".exe")
+ADD_EXECUTABLE (${this_target} ${${this_target}_SOURCE_FILES})
+
+# Set link libraries and link options
+## TODO : add more link libraries and options
+TARGET_LINK_LIBRARIES(${this_target} -L/usr/lib/osp osp-appfw osp-uifw osp-media osp-content osp-image osp-shell pthread)
+TARGET_LINK_LIBRARIES(${this_target} -Xlinker --allow-shlib-undefined -pthread -pie)
+
+# Copy info, data, res, and icons directories
+INSTALL(TARGETS ${this_target} DESTINATION ../usr/apps/${PKG_ID}/bin)
+
+# Copy resource
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/manifest.xml DESTINATION ../usr/apps/${PKG_ID}/info)
+INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res DESTINATION ../usr/apps/${PKG_ID})
+INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/shared DESTINATION ../usr/apps/${PKG_ID})
diff --git a/LICENSE.Flora b/LICENSE.Flora
new file mode 100755 (executable)
index 0000000..9c95663
--- /dev/null
@@ -0,0 +1,206 @@
+Flora License
+
+Version 1.0, May, 2012
+
+http://floralicense.org/license/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction,
+and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by
+the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and
+all other entities that control, are controlled by, or are
+under common control with that entity. For the purposes of
+this definition, "control" means (i) the power, direct or indirect,
+to cause the direction or management of such entity,
+whether by contract or otherwise, or (ii) ownership of fifty percent (50%)
+or more of the outstanding shares, or (iii) beneficial ownership of
+such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity
+exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications,
+including but not limited to software source code, documentation source,
+and configuration files.
+
+"Object" form shall mean any form resulting from mechanical
+transformation or translation of a Source form, including but
+not limited to compiled object code, generated documentation,
+and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form,
+made available under the License, as indicated by a copyright notice
+that is included in or attached to the work (an example is provided
+in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form,
+that is based on (or derived from) the Work and for which the editorial
+revisions, annotations, elaborations, or other modifications represent,
+as a whole, an original work of authorship. For the purposes of this License,
+Derivative Works shall not include works that remain separable from,
+or merely link (or bind by name) to the interfaces of, the Work and
+Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original
+version of the Work and any modifications or additions to that Work or
+Derivative Works thereof, that is intentionally submitted to Licensor
+for inclusion in the Work by the copyright owner or by an individual or
+Legal Entity authorized to submit on behalf of the copyright owner.
+For the purposes of this definition, "submitted" means any form of
+electronic, verbal, or written communication sent to the Licensor or
+its representatives, including but not limited to communication on
+electronic mailing lists, source code control systems, and issue
+tracking systems that are managed by, or on behalf of, the Licensor
+for the purpose of discussing and improving the Work, but excluding
+communication that is conspicuously marked or otherwise designated
+in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity
+on behalf of whom a Contribution has been received by Licensor and
+subsequently incorporated within the Work.
+
+"Tizen Certified Platform" shall mean a software platform that complies
+with the standards set forth in the Compatibility Definition Document
+and passes the Compatibility Test Suite as defined from time to time
+by the Tizen Technical Steering Group and certified by the Tizen
+Association or its designated agent.
+
+2. Grant of Copyright License.  Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+copyright license to reproduce, prepare Derivative Works of,
+publicly display, publicly perform, sublicense, and distribute the
+Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License.  Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+(except as stated in this section) patent license to make, have made,
+use, offer to sell, sell, import, and otherwise transfer the Work
+solely as incorporated into a Tizen Certified Platform, where such
+license applies only to those patent claims licensable by such
+Contributor that are necessarily infringed by their Contribution(s)
+alone or by combination of their Contribution(s) with the Work solely
+as incorporated into a Tizen Certified Platform to which such
+Contribution(s) was submitted. If You institute patent litigation
+against any entity (including a cross-claim or counterclaim
+in a lawsuit) alleging that the Work or a Contribution incorporated
+within the Work constitutes direct or contributory patent infringement,
+then any patent licenses granted to You under this License for that
+Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution.  You may reproduce and distribute copies of the
+Work or Derivative Works thereof pursuant to the copyright license
+above, in any medium, with or without modifications, and in Source or
+Object form, provided that You meet the following conditions:
+
+  1. You must give any other recipients of the Work or Derivative Works
+     a copy of this License; and
+  2. You must cause any modified files to carry prominent notices stating
+     that You changed the files; and
+  3. You must retain, in the Source form of any Derivative Works that
+     You distribute, all copyright, patent, trademark, and attribution
+     notices from the Source form of the Work, excluding those notices
+     that do not pertain to any part of the Derivative Works; and
+  4. If the Work includes a "NOTICE" text file as part of its distribution,
+     then any Derivative Works that You distribute must include a readable
+     copy of the attribution notices contained within such NOTICE file,
+     excluding those notices that do not pertain to any part of
+     the Derivative Works, in at least one of the following places:
+     within a NOTICE text file distributed as part of the Derivative Works;
+     within the Source form or documentation, if provided along with the
+     Derivative Works; or, within a display generated by the Derivative Works,
+     if and wherever such third-party notices normally appear.
+     The contents of the NOTICE file are for informational purposes only
+     and do not modify the License.
+
+You may add Your own attribution notices within Derivative Works
+that You distribute, alongside or as an addendum to the NOTICE text
+from the Work, provided that such additional attribution notices
+cannot be construed as modifying the License. You may add Your own
+copyright statement to Your modifications and may provide additional or
+different license terms and conditions for use, reproduction, or
+distribution of Your modifications, or for any such Derivative Works
+as a whole, provided Your use, reproduction, and distribution of
+the Work otherwise complies with the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+any Contribution intentionally submitted for inclusion in the Work
+by You to the Licensor shall be under the terms and conditions of
+this License, without any additional terms or conditions.
+Notwithstanding the above, nothing herein shall supersede or modify
+the terms of any separate license agreement you may have executed
+with Licensor regarding such Contributions.
+
+6. Trademarks.  This License does not grant permission to use the trade
+names, trademarks, service marks, or product names of the Licensor,
+except as required for reasonable and customary use in describing the
+origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+agreed to in writing, Licensor provides the Work (and each
+Contributor provides its Contributions) on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied, including, without limitation, any warranties or conditions
+of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+PARTICULAR PURPOSE. You are solely responsible for determining the
+appropriateness of using or redistributing the Work and assume any
+risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+whether in tort (including negligence), contract, or otherwise,
+unless required by applicable law (such as deliberate and grossly
+negligent acts) or agreed to in writing, shall any Contributor be
+liable to You for damages, including any direct, indirect, special,
+incidental, or consequential damages of any character arising as a
+result of this License or out of the use or inability to use the
+Work (including but not limited to damages for loss of goodwill,
+work stoppage, computer failure or malfunction, or any and all
+other commercial damages or losses), even if such Contributor
+has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+the Work or Derivative Works thereof, You may choose to offer,
+and charge a fee for, acceptance of support, warranty, indemnity,
+or other liability obligations and/or rights consistent with this
+License. However, in accepting such obligations, You may act only
+on Your own behalf and on Your sole responsibility, not on behalf
+of any other Contributor, and only if You agree to indemnify,
+defend, and hold each Contributor harmless for any liability
+incurred by, or claims asserted against, such Contributor by reason
+of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Flora License to your work
+
+To apply the Flora License to your work, attach the following
+boilerplate notice, with the fields enclosed by brackets "[]"
+replaced with your own identifying information. (Don't include
+the brackets!) The text should be enclosed in the appropriate
+comment syntax for the file format. We also recommend that a
+file or class name and description of purpose be included on the
+same "printed page" as the copyright notice for easier
+identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Flora License, Version 1.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://floralicense.org/license/
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
diff --git a/NOTICE b/NOTICE
new file mode 100755 (executable)
index 0000000..9ec42be
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,3 @@
+Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
+Except as noted, this software is licensed under Flora License, Version 1.
+Please, see the LICENSE.Flora file for Flora License, Version 1 terms and conditions.
\ No newline at end of file
diff --git a/inc/MfAudioMediaMetaData.h b/inc/MfAudioMediaMetaData.h
new file mode 100644 (file)
index 0000000..6a6ecf9
--- /dev/null
@@ -0,0 +1,84 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/*
+ * @file: MfAudioMediaMetaData.h
+ * @brief: This file contains declaration of AudioMediaMetaData class,
+ * which acts as a Audio Meta Data Provider
+ */
+
+#ifndef _MF_AUDIO_MEDIA_METADATA_H_
+#define _MF_AUDIO_MEDIA_METADATA_H_
+
+#include "MfMediaMetaData.h"
+
+class AudioMediaMetaData
+       : public MediaMetaData
+{
+public:
+       //! Constructor of the class.
+       /*!@fn AudioMediaMetaData()
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       AudioMediaMetaData(void);
+
+       //! Destructor of the class.
+       /*!@fn ~AudioMediaMetaData()
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~AudioMediaMetaData(void);
+
+       //!It will act as a getter function for the file format.
+       /*! @fn GetFileFormat(void)
+        * @brief A public member returns the file format in the form of string pointer
+        * @param no parameters
+        * @return file format in the form of String Pointer
+        */
+       Tizen::Base::String* GetFileFormat(void);
+
+       //!It will act as a setter function for the file format.
+       /*! @fn SetFileFormat(Tizen::Base::String *fileFormat)
+        * @brief A public member taking one string argument and set it to the private member variable
+        * @param One string pointer
+        * @return void
+        */
+       void SetFileFormat(Tizen::Base::String* pFileFormat);
+
+private:
+       // Copy Constructor of the class.
+       /*@fn AudioMediaMetaData(const AudioMediaMetaData&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       AudioMediaMetaData(const AudioMediaMetaData&);
+
+       // Assignment operator of the class.
+       /*@fn AudioMediaMetaData& operator = (const AudioMediaMetaData &audioMediaMetaData)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       AudioMediaMetaData& operator =(const AudioMediaMetaData& audioMediaMetaData);
+
+private:
+       Tizen::Base::String* __pFileFormat;
+};
+
+#endif /* _AUDIO_MEDIA_METADATA_H_ */
diff --git a/inc/MfBaseForm.h b/inc/MfBaseForm.h
new file mode 100644 (file)
index 0000000..1098d8a
--- /dev/null
@@ -0,0 +1,135 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfBaseForm.h
+ * @brief: This file contains declaration of BaseForm class, from which All forms get derived
+ */
+
+#ifndef _MF_BASE_FORM_H_
+#define _MF_BASE_FORM_H_
+
+#include <FBase.h>
+#include <FSystem.h>
+#include <FShell.h>
+#include <FUi.h>
+
+#include "MfFolderEntryPresentationModel.h"
+#include "MfIFileEventNotification.h"
+#include "MfIFileManagingListener.h"
+#include "MfIListViewStateChangeListener.h"
+#include "MfImageMediaMetaData.h"
+#include "MfINotificationListener.h"
+
+class BaseForm
+       : public Tizen::Ui::Controls::Form
+       , public Tizen::System::IDeviceEventListener
+       , public Tizen::Ui::IActionEventListener
+       , public Tizen::Ui::IOrientationEventListener
+       , public Tizen::Ui::Controls::IFormBackEventListener
+       , public Tizen::Ui::Controls::IListViewItemEventListener
+       , public Tizen::Ui::Controls::IListViewItemProvider
+       , public Tizen::Ui::Scenes::ISceneEventListener
+       , public Tizen::Ui::Scenes::ISceneManagerEventListener
+       , public IFileManagingListener
+       , public IFolderEntryEventListener
+       , public IFolderEntryProviderListener
+       , public IListViewStateChangeListener
+       , public INotificationListener
+{
+public:
+       //! Constructor of the class.
+       /*!@fn BaseForm(void)
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       BaseForm(void);
+
+       //! Destructor of the class.
+       /*!@fn ~BaseForm(void)
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~BaseForm(void);
+
+       /*! @fn Initialize(void)
+        * @brief Called to construct the corresponding form of the file.
+        */
+       bool Initialize(void);
+
+       /*! @fn OnInitializing(void)
+        * @brief Called once the form has been constructed to initialize the controls within the form.
+        */
+       result OnInitializing(void);
+
+       /*! @fn OnTerminating(void);
+        * @brief Called just before the form is deleted.
+        */
+       result OnTerminating(void);
+
+public:
+       //IDeviceEventListener
+       virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
+
+       //IActionEventListener
+       virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+       // IOrientationEventListener
+       virtual void OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus);
+
+       // IFormBackEventListener
+       virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+
+       //IListViewItemEventListener
+       virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);
+       virtual void OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback);
+       virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
+       virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);
+
+       virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);
+       virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
+       virtual int GetItemCount(void);
+
+       // ISceneEventListener
+       virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+       virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+       //ISceneManagerEventListener
+       virtual void OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId);
+       virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId);
+
+       // IFileManagingListener
+       virtual void OnFileManagingStart(void);
+       virtual void OnFileManagingStop(FileManagingResult fileProcessingResult);
+
+       //IFileEventNotification
+       virtual void OnFileEventExecuted(const Tizen::Base::String& path, const unsigned long eventId);
+
+       // IFolderEntryProviderListener
+       virtual FolderEntryPresentationModel* GetFoldeEntryPresentationModel(void);
+
+       //IFileNotificationListener
+       virtual void OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs);
+
+       // IListViewStateChangeListener
+       virtual void OnListViewItemStateChangedNotify(ViewType viewType);
+       virtual void OnIconListViewItemStateChangeNotify();
+
+       virtual void OnThumbnailReceived(ThumbRequest* pThumbReq);
+};
+
+#endif
diff --git a/inc/MfBaseItemProvider.h b/inc/MfBaseItemProvider.h
new file mode 100644 (file)
index 0000000..a13b62c
--- /dev/null
@@ -0,0 +1,164 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfBaseItemProvider.h
+ * @brief: This file contains declaration of BaseItemProvider class, which acts as a common item provider for all
+ * ListViews
+ */
+
+#ifndef _MF_BASE_ITEM_PROVIDER_H_
+#define _MF_BASE_ITEM_PROVIDER_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FLocales.h>
+#include <FSystem.h>
+#include <FUi.h>
+
+#include "MfContentListItem.h"
+#include "MfFolderEntryDetailPresentationModel.h"
+#include "MfFolderEntryPresentationModel.h"
+#include "MfFolderNavigationPresentationModel.h"
+#include "MfMediaMetaData.h"
+#include "MfThumbnailManager.h"
+#include "MfTypes.h"
+#include "MfUtility.h"
+
+class BaseItemProvider
+       : public Tizen::Ui::Controls::IListViewItemProvider
+{
+public:
+       //! Constructor of the class.
+       /*!@fn BaseItemProvider(void)
+        * @brief A public member taking no arguments, initializes member variables.
+        * @param Takes no parameters
+        * @return No value returned */
+       BaseItemProvider(void);
+
+       //! Destructor of the class.
+       /*!@fn ~BaseItemProvider(void)
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~BaseItemProvider(void);
+
+       //! Initializes the sub items of the listview control.
+       /*!@fn Construct(void)
+        * @brief A public member taking no arguments which initializes the sub items of the listview control.
+        * @param Takes no parameters
+        * @return No value returned */
+       void Construct(void);
+
+       //! Sets the event listener for the current instance of the FolderEntryPresentationModel.
+       /*!@fn SetFolderEntryProvider(IFolderEntryProviderListener* pProvider)
+        * @brief A public member function to get the current instance of the FolderEntryPresentationModel and set it to the member variable of the provider class.
+        * @param [IFolderEntryProviderListener*] pProvider, an Enumerator indicating the current source form.
+        * @return No Values Returned.
+        * */
+       void SetFolderEntryProvider(IFolderEntryProviderListener* pProvider);
+
+       //! Notifies the Current Form OnListViewItemStateChanged
+       /*!@fn SetFooterItemStateChangeListener(IListViewStateChangeListener*   listener)
+        * @brief A public function which notifies any member implementing the IListViewStateChangeListener interface on ListViewItemStateChanged
+        * so that the footer of the form can be updated accordingly.
+        * @param [IListViewStateChangeListener] Pointer to a class inherited from the IListViewStateChangeListener interface.
+        * @return An ErrorCode.
+        * */
+       result SetFooterItemStateChangeListener(IListViewStateChangeListener* listener);
+
+       //! Sets the source form for the base item provider.
+       /*!@fn SetSourceForm(CreateItemSource sourceInfo)
+        * @brief A public member function to set the current source form for the item provider.
+        * @param [CreateItemSource] sourceInfo, an Enumerator indicating the current source form.
+        * @return No Values Returned.
+        * */
+       void SetSourceForm(CreateItemSource sourceInfo);
+
+       //Callback Methods.
+       virtual int GetItemCount(void);
+       virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);
+       virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
+
+private:
+       // Copy Constructor of the class.
+       /*@fn BaseItemProvider(const BaseItemProvider&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       BaseItemProvider(const BaseItemProvider&);
+
+       /*
+        * A private member function taking 2 integers as arguments and returning a customItem that gets
+        * added to the listview control.
+        * @fn CreateDetailedListViewItem
+        * @brief Called during CreateItem of ListView to create item for a detailed view.
+        * @param[int, int] The listview itemIndex and width of each item.
+        * @return ContentListItem, a CustomItem element which is returned to ListView Control
+        */
+       ContentListItem* CreateDetailedListViewItem(int listItemIndex, int listItemWidth);
+
+       /*
+        * A private member function taking 2 integers as arguments and returning a customItem that gets
+        * added to the listview control.
+        * @fn CreateNormalListViewItem.
+        * @brief Called during CreateItem of ListView to create item for a normal view.
+        * @param[int, int] The listview itemIndex and width of each item.
+        * @return CustomItem, a CustomItem element which is returned to ListView Control.
+        */
+       ContentListItem* CreateNormalListViewItem(int listItemIndex, int listItemWidth);
+
+       // Assignment operator of the class.
+       /*@fn BaseItemProvider& operator = (const BaseItemProvider& baseItemProvider)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       BaseItemProvider& operator =(const BaseItemProvider& baseItemProvider);
+
+private:
+       int __flagViewAsStatus;
+       CreateItemSource __sourceInfo;
+
+       //ListView ContextItems
+       static const int IDA_CONTEXT_DETAIL = 105;
+       static const int IDA_CONTEXT_RENAME = 106;
+       static const int IDA_CONTEXT_DELETE = 107;
+
+       FolderEntryPresentationModel* __pFolderEntryPM;
+       FolderEntryDetailPresentationModel __MediaUtility;
+       MediaMetaData* __pMediaMetaData;
+       ThumbnailManager* __pThumbnailManager;
+
+       IFolderEntryProviderListener* __pProviderPM;
+       IListViewStateChangeListener* __pListViewItemStateChangeListener;
+
+       Tizen::Base::Collection::ArrayList* __pFileNames;
+       Tizen::Base::String __extensionKeyName;
+       Tizen::Base::String __hideExtension;
+       Tizen::Base::String __selectAll;
+       Tizen::Base::String __showExtension;
+
+       Tizen::Graphics::Bitmap* __pDummyImage;
+       Tizen::Graphics::Bitmap* __pFolderBitmap;
+       Tizen::Graphics::Bitmap* __pRenameBitmap;
+       Tizen::Graphics::Bitmap* __pRenamePressed;
+
+       Tizen::Ui::Controls::ListContextItem* __pItemContext;
+};
+#endif
diff --git a/inc/MfBasePresentationModel.h b/inc/MfBasePresentationModel.h
new file mode 100644 (file)
index 0000000..8295edf
--- /dev/null
@@ -0,0 +1,72 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfBasePresentationModel.h
+ * @brief: This file contains declaration of BasePresentationModel class, from which all other Presentation Models
+ * get derived
+ */
+
+#ifndef _MF_BASE_PRESENTATION_MODEL_H_
+#define _MF_BASE_PRESENTATION_MODEL_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FGraphics.h>
+#include <FIo.h>
+#include <FSystem.h>
+
+class BasePresentationModel
+       : public Tizen::Io::IFileEventListener
+{
+public:
+       //IFileEventListener
+       /**
+       * Called when a monitored file or directory is changed.
+       */
+       virtual void OnFileEventOccured(const unsigned long events, const Tizen::Base::String& path, const unsigned int eventId);
+
+       //!This method returns the home path of the file system
+       /*!@fn GetHomePath()
+        * @param Takes no parameters
+        * @return[String] Returns the string containing home path
+        */
+       static Tizen::Base::String GetHomePath(void);
+
+       //!This method returns the Media path of the file system
+       /*!@fn GetMediaPath()
+        * @param Takes no parameters
+        * @return[String] Returns the string containing media path
+        */
+       static Tizen::Base::String GetMediaPath(void);
+
+       //!This method returns the External storage path of the file system
+       /*!@fn GetSdCardPath()
+        * @param Takes no parameters
+        * @return[String] Returns the string containing External storage path
+        */
+       static Tizen::Base::String GetSdCardPath(void);
+
+       //!This method returns the External storage path of the file system
+       /*!@fn GetUsbPath()
+        * @param Takes no parameters
+        * @return[String] Returns the string containing External storage path
+        */
+       static Tizen::Base::String GetUsbPath(void);
+
+};
+
+#endif
diff --git a/inc/MfContentListItem.h b/inc/MfContentListItem.h
new file mode 100644 (file)
index 0000000..e58367e
--- /dev/null
@@ -0,0 +1,432 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfContentListViewItem.h
+ * @brief: This file contains declaration of ContentListItem class, which is used to
+ * customize and personalize the Listview elements.
+ */
+
+#ifndef _MF_CONTENT_LIST_ITEM_H_
+#define _MF_CONTENT_LIST_ITEM_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FGraphics.h>
+#include <FIo.h>
+#include <FMedia.h>
+#include <FText.h>
+#include <FUi.h>
+
+#include "MfFontManager.h"
+#include "MfFormatedText.h"
+#include "MfTypes.h"
+
+class ContentListItem
+       : public Tizen::Ui::Controls::CustomItem
+{
+public:
+       //! Constructor of the class.
+       /*!@fn ContentListItem()
+        * @brief A public member taking the width, height and a boolean value indicating the status of the searchedText.
+        * @param [int, int, bool] width, height of the list item, is searched text present.
+        * @return No value returned */
+       ContentListItem(int nWidth, int nHeight, bool isSearchedtextPresent = false);
+
+       //! Destructor of the class.
+       /*!@fn ~ContentListItem()
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       ~ContentListItem(void);
+
+       //! Function used to construct the CustomListItem.
+       /*!@fn Refresh(void)
+        * @brief Called to construct the CustomListItem.
+        * @param No Parameters.
+        * @return No Values Returned
+        * */
+       void Make(void);
+
+       //! Function used to construct the CustomListItem in a list and details format.
+       /*!@fn MakeDetailedListItem(void)
+        * @brief Called to construct the CustomListItem in a detailed list format.
+        * @param No Parameters.
+        * @return No Values Returned
+        * */
+       void MakeDetailedListItem(void);
+
+       //! Function used to construct the CustomListItem of the AppControl Form.
+       /*!@fn MakeAppControlFormListItem(void)
+        * @brief Called to construct the CustomListItem of the AppControl Form.
+        * @param No Parameters.
+        * @return No Values Returned
+        * */
+       void MakeAppControlFormListItem(void);
+
+       //! Function used to construct the CustomListItem in list view mark style.
+       /*!@fn MakeFileManageFormListItem(void)
+        * @brief Called to construct the CustomListItem in list view mark style.
+        * @param No Parameters.
+        * @return No Values Returned
+        * */
+       void MakeFileManageFormListItem(void);
+
+       //! Function used to construct the CustomListItem in list and details mark style.
+       /*!@fn MakeFileManageFormDetailedListItem(void)
+        * @brief Called to construct the CustomListItem in list and details mark style.
+        * @param No Parameters.
+        * @return No Values Returned
+        * */
+       void MakeFileManageFormDetailedListItem(void);
+
+       //! Function used to construct the CustomListItem with only one element, the title.
+       /*!@fn MakePlainTitleItem(void)
+        * @brief Called to construct the CustomListItem with only one element, the title.
+        * @param No Parameters.
+        * @return No Values Returned
+        * */
+       void MakePlainTitleItem(void);
+
+       //! Function used to set the bitmaps for an CustomElement item if it is an audio.
+       /*!@fn SetAudioBitmap(const Tizen::Graphics::Bitmap* pBitmapplay, const Tizen::Graphics::Bitmap* pBitmapPause)
+        * @brief Sets the bitmaps for an CustomElement item if it is an audio
+        * @param [Bitmap*, Bitmap*] pBitmapplay, pBitmapPauseNo Parameters.
+        * @return No Values Returned
+        * */
+       void SetAudioBitmap(const Tizen::Graphics::Bitmap* pBitmapplay, const Tizen::Graphics::Bitmap* pBitmapPause);
+
+       //! Function used to set the background bitmap of the listitem at a specified index.
+       /*!@fn SetBackground(Tizen::Graphics::Bitmap* pBg)
+        * @brief Sets the rename bitmap of the listitem to the one passed as parameter.
+        * @param [Bitmap] pBg, the bitmap of the background of the list item icon.
+        * @return No Values Returned
+        * */
+       void SetBackground(const Tizen::Graphics::Bitmap* pBg);
+
+       //! Function used to set the date of the listitem at a specified index.
+       /*!@fn SetDate(Tizen::Base::String& date)
+        * @brief Sets the date of the listitem to the one passed.
+        * @param [String] date, the string containing the date of file creation.
+        * @return No Values Returned
+        * */
+       void SetDate(const Tizen::Base::String& date);
+
+       //! Function used to set the colour of the description text.
+       /*!@fn SetDescColor(const Tizen::Graphics::Color& colorDesc)
+        * @brief Sets the colour of the description text of listitem to the one passed as parameter.
+        * @param [Color] colorDesc, the colour of the description text element of the list item
+        * @return No Values Returned
+        * */
+       void SetDescColor(const Tizen::Graphics::Color& colorDesc);
+
+       //! Function used to set the description text of the listitem at a specified index.
+       /*!@fn SetDescription(Tizen::Base::String& descriptionText)
+        * @brief Sets the description text of the listitem to the one passed.
+        * @param [String] description, the string containing the description text of file creation.
+        * @return No Values Returned
+        * */
+       void SetDescription(const Tizen::Base::String& descriptionText);
+
+       //! Function used to set the ListAnnexStyle of the CustomListItem.
+       /*!@fn SetListAnnexStyle(AnnexStyle currentStyle)
+        * @brief Sets the ListAnnexStyle of the CustomListItem.
+        * @param [AnnexStyle]  currentStyle Enumerator holding the listitem AnnexStyle.
+        * @return No Values Returned
+        * */
+       void SetListAnnexStyle(AnnexStyle currentStyle);
+
+       //! Function used to set the rename bitmap of the listitem at a specified index.
+       /*!@fn SetRenameBitmap(Tizen::Graphics::Bitmap* picture, Tizen::Graphics::Bitmap* pressedPicture)
+        * @brief Sets the rename bitmap of each element.
+        * @param [const Tizen::Graphics::Bitmap*, const Tizen::Graphics::Bitmap*] .
+        * @return No Values Returned
+        * */
+       void SetRenameBitmap(const Tizen::Graphics::Bitmap* picture, const Tizen::Graphics::Bitmap* pressedPicture);
+
+       //! Function used to set the bitmap of the listitem at a specified index.
+       /*!@fn SetThumbnail(Tizen::Graphics::Bitmap* picture)
+        * @brief Sets the bitmap of the listitem to the one passed.
+        * @param [Bitmap] picture, the bitmap to which the listitem bitmap has to be set.
+        * @return No Values Returned
+        * */
+       void SetThumbnail(const Tizen::Graphics::Bitmap* picture);
+
+       //! Function used to set the colour of the creation date element of the list item.
+       /*!@fn SetTimeColor(const Tizen::Graphics::Color& colorTime)
+        * @brief Sets the colour of the creation date element of the listitem to the one passed as parameter.
+        * @param [Color] colorTime, the colour of the creation date element of the list item.
+        * @return No Values Returned
+        * */
+       void SetTimeColor(const Tizen::Graphics::Color& colorTime);
+
+       //! Function used to set the bitmap of the listitem at a specified index.
+       /*!@fn SetTitle(Tizen::Base::String& title, Tizen::Base::String& searchedText)
+        * @brief Sets the title of the listitem to the one passed.
+        * @param [String, String] title, the bitmap to which the listitem bitmap has to be set and
+        * searchedText, text to be searched.
+        * @return No Values Returned
+        * */
+       void SetTitle(const Tizen::Base::String& title, const Tizen::Base::String& searchedText);
+
+       //! Function used to set the colour of the title element.
+       /*!@fn SetTitleColor(const Tizen::Graphics::Color& colorTitle)
+        * @brief Sets the colour of the listitem to the one passed as parameter.
+        * @param [Color] colorTitle, the colour of the title element of the list item.
+        * @return No Values Returned
+        * */
+       void SetTitleColor(const Tizen::Graphics::Color& colorTitle);
+
+private:
+       // Copy Constructor of the class.
+       /*@fn ContentListItem(const ContentListItem&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       ContentListItem(const ContentListItem&);
+
+       // Function used to set the bounds of the listitem elements.
+       /* @fn CreateFormatRectangle(int itemHeight,int textHeight).
+        * @brief Called to get the item height and title text height from the formatted text.
+        * @param [int, int] itemHeight, textHeight of the listitem.
+        * @return No Return value.
+        * */
+       void CreateFormatRectangle(int itemHeight, int textHeight);
+
+       // Function used to set the bounds of the listitem elements in the AppControlForm.
+       /* @fn CreateFormatRectangleForAppControl(int itemHeight,int textHeight).
+        * @brief Called to get the item height and title text height from the formatted text.
+        * @param [int, int] itemHeight, textHeight of the listitem.
+        * @return No Return value.
+        * */
+       void CreateFormatRectangleForAppControl(int itemHeight, int textHeight);
+
+       // Function used to set the bounds of the listitem elements in list and details view.
+       /* @fn CreateFormatRectangleForDetailedList(int itemHeight,int textHeight).
+        * @brief Called to get the item height and title text height from the formatted text.
+        * @param [int, int] itemHeight, textHeight of the listitem.
+        * @return No Return value.
+        * */
+       void CreateFormatRectangleForDetailedList(int itemHeight, int textHeight);
+
+       // Function used to set the bounds of the listitem elements in the FileManageForm.
+       /* @fn CreateFormatRectangleForFileManageForm(int itemHeight,int textHeight).
+        * @brief Called to get the item height and title text height from the formatted text.
+        * @param [int, int] itemHeight, textHeight of the listitem.
+        * @return No Return value.
+        * */
+       void CreateFormatRectangleForFileManageForm(int itemHeight, int textHeight);
+
+       // Function used to change the height of the Title element and item height.
+       /* @fn GetDetailedListItemSize(int &itemHeight,int &titleHeight)
+        * @brief Called to get the item height and title text height from the formatted text.
+        * @param [int&, int&] itemHeight and titleHeight.
+        * @return No Values Returned
+        * */
+       void GetItemSize(int& itemHeight, int& titleHeight);
+
+       // Function used to return the height of the Title element.
+       /* @fn GetDetailedListTitleHeight(Tizen::Base::String& title).
+        * @brief Called to get the item height and title text height from the formatted text.
+        * @param [String] title, the string containing the title of the listitem.
+        * @return [int] Height of the title element.
+        * */
+       int GetTitleHeight(Tizen::Base::String& title);
+
+       // Function used to add the elements to the CustomListItem.
+       /* @fn Refresh(void)
+        * @brief Called once the CustomListItem is constructed.
+        * @param No Parameters.
+        * @return No Values Returned
+        * */
+       void Refresh(void);
+
+       // Function used to add the elements to the CustomListItem in the AppControlForm.
+       /* @fn RefreshAppControlListItem(void)
+        * @brief Called to construct the CustomListItem in the AppControlForm.
+        * @param No Parameters.
+        * @return No Values Returned
+        * */
+       void RefreshAppControlListItem(void);
+
+       // Function used to add the elements to the CustomListItem in list and details format.
+       /* @fn RefreshDetailedListItem(void)
+        * @brief Called to construct the CustomListItem in a detailed list format.
+        * @param No Parameters.
+        * @return No Values Returned
+        * */
+       void RefreshDetailedListItem(void);
+
+       // Function used to add the elements to the CustomListItem in list and details format.
+       /* @fn RefreshFileManageFormListItem(void)
+        * @brief Called to construct the CustomListItem in a detailed list format with mark style.
+        * @param No Parameters.
+        * @return No Values Returned
+        * */
+       void RefreshFileManageFormListItem(void);
+
+       // Assignment operator of the class.
+       /*@fn ContentListItem& operator = (const ContentListItem& contentListItem)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       ContentListItem& operator =(const ContentListItem& contentListItem);
+
+private:
+       int __itemHeight;
+       int __itemWidth;
+       bool __isSearchedTextPresent;
+
+       AnnexStyle __currentListStyle;
+
+       FormatedText* __pFtCreationDate;
+       FormatedText* __pFtDescriptionText;
+       FormatedText* __pFtTitle;
+
+       // User Data Item storage
+       Tizen::Base::String __contentTitle;
+       Tizen::Base::String __creationDate;
+       Tizen::Base::String __descriptionText;
+       Tizen::Base::String __searchedText;
+
+       Tizen::Graphics::Bitmap* __pBg;
+       Tizen::Graphics::Bitmap* __pPlayBitmap;
+       Tizen::Graphics::Bitmap* __pPauseBitmap;
+       Tizen::Graphics::Bitmap* __pRenameBitmap;
+       Tizen::Graphics::Bitmap* __pRenamePressed;
+       Tizen::Graphics::Bitmap* __pThumbnailBitmap;
+
+       Tizen::Graphics::Color COLOR_TITLE;
+       Tizen::Graphics::Color COLOR_DATE;
+
+       //Rectangles
+       Tizen::Graphics::Rectangle __detailedListDateRect;
+       Tizen::Graphics::Rectangle __detailedListDescriptionRect;
+       Tizen::Graphics::Rectangle __detailedListThumbnailRect;
+       Tizen::Graphics::Rectangle __detailedListTitleRect;
+       Tizen::Graphics::Rectangle __editDateRect;
+       Tizen::Graphics::Rectangle __editPauseRect;
+       Tizen::Graphics::Rectangle __editPlayRect;
+       Tizen::Graphics::Rectangle __editRenameRect;
+       Tizen::Graphics::Rectangle __thumbnailRect;
+       Tizen::Graphics::Rectangle __titleRect;
+};
+
+/*!
+ * \SearchAllFolders class
+ * \This class declares a custom element for SearchFolders item
+ * \which is to be added to a Custom Item
+ */
+class SearchAllFolders
+       : public Tizen::Ui::Controls::ICustomElement
+{
+public:
+       //!The default Constructor
+       /*!
+        * @fn SearchAllFolders()
+        * @breief Intiliazes memebers of SearchAllFolders class
+        * @param [Tizen::Base::String]
+        * @return No value returned
+        */
+       SearchAllFolders(Tizen::Base::String text);
+
+       //!The Destructor
+       /*!
+        * @fn ~SearchAllFolders()
+        * @breief Frees memory allocated to member variables
+        * @param
+        * @return No value returned
+        */
+       ~SearchAllFolders(void);
+
+       /*! @fn OnDraw(Tizen::Graphics::Canvas& canvas, const Tizen::Graphics::Rectangle& rect, Tizen::Ui::Controls::ListItemDrawingStatus status)
+        * @brief Called each time the form is drawn.
+        */
+       bool OnDraw(Tizen::Graphics::Canvas& canvas, const Tizen::Graphics::Rectangle& rect, Tizen::Ui::Controls::ListItemDrawingStatus status);
+
+private:
+       // Copy Constructor of the class.
+       /*@fn SearchAllFoldersItem(const SearchAllFoldersItem&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       SearchAllFolders(const SearchAllFolders&);
+       // Assignment operator of the class.
+       /*@fn SearchAllFolders& operator = (const SearchAllFolders& searchAllFolders)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       SearchAllFolders& operator =(const SearchAllFolders& searchAllFolders);
+
+private:
+       Tizen::Base::String __text;
+};
+
+/*!
+ * \SearchAllFoldersItem class
+ * \This class declares a CustomItem for SearchFolders item
+ */
+class SearchAllFoldersItem
+       : public Tizen::Ui::Controls::CustomItem
+{
+public:
+       //!The default Constructor
+       /*!
+        * @fn SearchAllFoldersItem()
+        * @breief Intiliazes memebers of SearchAllFoldersItem class
+        * @param [int, int, Tizen::Base::String]
+        * @return No value returned
+        */
+       SearchAllFoldersItem(int width, int height, Tizen::Base::String text);
+
+       //!The Destructor
+       /*!
+        * @fn ~SearchAllFoldersItem()
+        * @breief Frees memory allocated to member variables
+        * @param
+        * @return No value returned
+        */
+       ~SearchAllFoldersItem(void);
+
+private:
+       // Function used to set the bounds of the listitem elements.
+       /* @fn CreateFormatRectangle(int itemHeight,int textHeight).
+        * @brief Called to get the item height and title text height from the formatted text.
+        * @param [int, int] itemHeight, textHeight of the listitem.
+        * @return No Return value.
+        * */
+       void CreateFormatRectangle(void);
+
+private:
+       static const int IDA_SEARCH_ALL_FOLDERS = 3000;
+
+       SearchAllFolders* __pElement; //The Custom Element to be added to the CustomItem
+
+       int __height;
+       int __width;
+
+       Tizen::Base::String __text;
+
+       Tizen::Graphics::Rectangle searchAllFoldersRect;
+
+};
+
+#endif //_MF_CONTENT_LIST_ITEM_H_
diff --git a/inc/MfCreateFolderForm.h b/inc/MfCreateFolderForm.h
new file mode 100644 (file)
index 0000000..40fcad6
--- /dev/null
@@ -0,0 +1,283 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfCreateFolderForm.h
+ * @brief:This file contains declaration of CreateFolderForm class, which implements the Create Folder and rename file/folder functionality
+ * and contains methods that handle the same. Also contains the ResultValues enum
+ */
+
+#ifndef _MF_CREATE_FOLDER_FORM_H_
+#define _MF_CREATE_FOLDER_FORM_H_
+
+#include <FGraphics.h>
+#include <FUi.h>
+#include <FContent.h>
+
+#include "MfBaseForm.h"
+#include "MfFolderEntryEditorPresentationModel.h"
+#include "MfTypes.h"
+#include "MfMyFilesApp.h"
+#include  "FCntIContentScanListener.h"
+
+enum  ResultValues
+{
+       RESULT_VALUES_FILE_EXISTS,
+       RESULT_VALUES_NULL,
+       RESULT_VALUES_SUCCESS
+};
+
+class CreateFolderForm
+       : public BaseForm
+       , public Tizen::Ui::IKeypadEventListener
+       , public Tizen::Ui::ITextEventListener
+       , public Tizen::Ui::ITouchEventListener
+       , public Tizen::Content::_IContentScanListener
+{
+public:
+       //! Constructor of the class.
+       /*!@fn CreateFolderForm()
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       CreateFolderForm(void);
+
+       //! Destructor of the class.
+       /*!@fn ~CreateFolderForm()
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~CreateFolderForm(void);
+
+       //!Initializes the form in the Application.
+       /*! @fn Initialize()
+        * @brief A public member taking no arguments returning a boolean value. Contructs the particular form.
+        * @param No parameters
+        * @return result of Construction of the form, true if success, false if unable to initialize
+        */
+       bool Initialize(void);
+
+       /*! @fn OnInitializing(void)
+        * @brief Called once the form has been constructed to initialize the controls within the form.
+        */
+       result OnInitializing(void);
+
+       /*! @fn OnTerminating(void);
+        * @brief Called just before the form is deleted.
+        */
+       result OnTerminating(void);
+
+       //IDeviceEventListener
+       virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
+
+       //!IActionEventListener
+       /*! @fn OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+        * @brief   Called when an action event occurs on the source control.
+        */
+       virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+       //! IOrientationEventListener
+       /*! @fn OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus)
+        * @brief Called when an orientation change event occurs.
+        */
+       virtual void OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus);
+
+       //! IFormBackEventListener
+       /*! @fn OnFormBackRequested(Tizen::Ui::Controls::Form& source)
+        * @brief   Called when the current Form control needs to be closed to revert back to the previous Form control.
+        */
+       virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+
+       //! IKeypadEventListener
+       /*! @fn OnKeypadWillOpen(Tizen::Ui::Control& source)
+        * @brief Called when the keypad is about to be shown on the screen.
+        */
+       virtual void OnKeypadWillOpen(Tizen::Ui::Control& source);
+
+       /*! @fn OnKeypadOpened(Tizen::Ui::Control& source)
+        * @brief Called after the keypad is shown on the screen.
+        */
+       virtual void OnKeypadOpened(Tizen::Ui::Control& source);
+
+       /*! @fn OnKeypadOpened(Tizen::Ui::Control& source)
+        * @brief Called after the keypad is hidden from the screen.
+        */
+       virtual void OnKeypadClosed(Tizen::Ui::Control& source);
+
+       /*! @fn OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction)
+        * @brief  Called when the keypad action button is pressed.
+        */
+       virtual void OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction);
+
+       //! ISceneEventListener
+       /*! @fn OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
+        * @brief  Called after setting as current scene.
+        */
+       virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+
+       /*! @fn OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId)
+        * @brief  Called when the current scene is deactivated.
+        */
+       virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+       //ISceneManagerEventListener
+       virtual void OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId);
+       virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId);
+
+       //! ITextEventListener
+       /*! @fn OnTextValueChanged(const Tizen::Ui::Control& source)
+        * @brief Called when a text is changed in the source control.
+        */
+       virtual void OnTextValueChanged(const Tizen::Ui::Control& source);
+
+       /*! @fn OnTextValueChangeCanceled(const Tizen::Ui::Control& source)
+        * @brief Called when a change made to the text is canceled.
+        */
+       virtual void OnTextValueChangeCanceled(const Tizen::Ui::Control& source);
+
+       //ITouchEventListener
+       virtual void OnTouchCanceled(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);
+       virtual void OnTouchFocusIn(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);
+       virtual void OnTouchFocusOut(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);
+       virtual void OnTouchMoved(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);
+       virtual void OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);
+       virtual void OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);
+
+
+       /*! A public member function of IDeviceNotificationListener returning no arguments.
+        * @fn OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state)
+        * @brief Takes care of storage related changes for memory card, external storage.
+        * @param [ComponentType, String]deviceType, of the storage device, state, the current state of the storage device.
+        * @return No Return Values.
+        */
+       void OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state);
+
+       //_IContentScanListener
+       virtual void OnContentScanCompleted(const Tizen::Base::String& scanPath, result r);
+
+private:
+       // Copy Constructor of the class.
+       /* @fn CreateFolderForm(const CreateFolderForm& CreateFolderForm)
+        * @brief A public member that performs a deep copy using an existing object of CreateFolderForm class.
+        * @param [CreateFolderForm] Takes an object of CreateFolderForm class as a parameter.
+        * @return No value returned
+        */
+       CreateFolderForm(const CreateFolderForm& createFolderForm);
+
+       // Generates the default name of the Folder in case the name has not been set by the user.
+       /* @fn GenerateFolderName(Tizen::Base::String& newName)
+        * @brief A private member taking a string argument, generates the default folder name if the name has not been specified by the user.
+        * @param [String] newName, value of the default name of the folder
+        * @return No Values Returned.
+        */
+       void GenerateFolderName(Tizen::Base::String& newName);
+
+       // Overloaded = Operator.
+       /*
+        * @brief A public member taking that performs a fully functional copy of CreateFolderForm class.
+        * @param [CreateFolderForm] Takes an object of CreateFolderForm class as a parameter.
+        */
+       CreateFolderForm& operator =(const CreateFolderForm& createFolderForm);
+
+       /*
+        * A protected member function which creates the FileProcessingPopUp
+        * @fn CreateFileProgressingPopup(void)
+        * @brief It creates the FileProcessingPopUp
+        * @param void
+        * @return result type
+        */
+       result CreateFileProgressingPopup(void);
+
+       /*
+        * A protected member function which Hides the FileProcessingPopUp
+        * @fn HideFileProgressingPopup(void)
+        * @brief It HIdes the FileProcessingPopUp
+        * @param void
+        * @return void
+        */
+       void HideFileProgressingPopup(void);
+
+       /*
+                * A protected member function which Show the FileProcessingPopUp
+                * @fn ShowFileProgressingPopup(void)
+                * @brief It Show the FileProcessingPopUp
+                * @param void
+                * @return void
+                */
+               void ShowFileProgressingPopup(void);
+
+               /*
+                        * A protected member function which excutes on file processing start
+                        * @fn OnFileManagingStart()
+                        * @brief Called on start of file Processing
+                        * @param no Parameters
+                        * @return void
+                        */
+                       void OnFileManagingStart(void);
+
+                       /*
+                        * A protected member function which excutes on file processing complete
+                        * @fn OnFileManagingStop(FileProcessingResult fileProcessingResult)
+                        * @brief Called on completion of file Processing
+                        * @param FileProcessingResult
+                        * @return void
+                        */
+                       void OnFileManagingStop(FileManagingResult fileProcessingResult);
+                       /*
+                                * A protected member function which updates the file Processing status
+                                * @fn OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs)
+                                * @brief updates the file Processing status
+                                * @param void
+                                * @return void
+                                */
+                               void OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs);
+
+private:
+       static const int IDA_BUTTON_SAVE = 101;
+       static const int IDA_BUTTON_CANCEL = 102;
+       static const int IDA_KEYPAD_BUTTON_DONE = 103;
+       static const int IDA_KEYPAD_BUTTON_CANCEL = 104;
+       static const int IDA_BTN_POPUP_RENAME_CANCEL = 135;
+       static const int IDA_BTN_ANIMATION_POPUP_CANCEL = 136;
+
+       int entryIsDirectory;
+       int __scanDirectoryCallbackCount;
+
+       FolderEntryEditorPresentationModel* __pFileManager;
+       DirectoryEntry* __pDirectory;
+
+       Tizen::Content::ContentManager* __pContentManager;
+       Tizen::Base::Integer __launchSource;
+       Tizen::Base::String __fileExtension;
+       Tizen::Base::String __fileName;
+       Tizen::Base::String __filePath;
+       Tizen::Base::String __rootPath;
+       Tizen::Base::String updatedFilePath;
+
+       Tizen::Ui::Controls::ButtonItem* __pHeaderCancel;
+       Tizen::Ui::Controls::ButtonItem* __pHeaderSave;
+       Tizen::Ui::Controls::EditField* __pEditFieldFolderName;
+       Tizen::Ui::Controls::Header* __pHeader;
+
+       Tizen::Ui::Controls::Popup* _pFileProgressingPopup;
+       Tizen::Ui::Controls::Button* _pFileProgressingCancelButton;
+       Tizen::Ui::Controls::Progress* _pFileProgressingProgress;
+       Tizen::Ui::Controls::Label* _pFileProgressingHeaderLabel;
+       Tizen::Ui::Controls::Label* _pFileProgressingLabel;
+};
+
+#endif //_MF_CREATE_FOLDER_FORM_H_
diff --git a/inc/MfCustomAppControl.h b/inc/MfCustomAppControl.h
new file mode 100644 (file)
index 0000000..434c3de
--- /dev/null
@@ -0,0 +1,120 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfCustomAppCotrol.h
+ * @brief: This file contains declaration of CustomAppControl Class.
+ */
+
+#ifndef _MF_CUSTOM_APP_CONTROL_H
+#define _MF_CUSTOM_APP_CONTROL_H
+
+#include <cstdlib>
+#include <FApp.h>
+#include <FBase.h>
+
+#include "MfMyFilesApp.h"
+
+class CustomAppControl
+{
+public:
+       //! Determines the media type.
+       /*!@fn FindMediaType()
+        * @brief find the media type
+        * @param [Tizen::Base::String] full path of content
+        * @return [Tizen::Base::String] returns type of content
+        */
+       Tizen::Base::String FindMediaType(Tizen::Base::String& mediaFullPath);
+
+       //! Launces the custom app control
+       /*!@fn LaunchAppControl()
+        * @brief Launches the app control
+        * @param [Tizen::Base::String] Full path of content
+        * @return [result] returns result value
+        */
+       Tizen::App::AppControl* LaunchAppControl(Tizen::Base::String& mediaFullPath);
+
+       //! Sets the appcotrol listener.
+       /*!@fn SetAppControlListener()
+        * @brief Sets the appcontrollistener
+        * @param [Tizen::App::IAppControlEventListener]
+        * @return returns nothing
+        */
+       void SetAppControlListener(Tizen::App::IAppControlResponseListener* appControlEventListener);
+
+       /*!@fn GetInstance()
+        * @brief Creates and Returns the singleton instance of the class and returns.
+        * @param Takes no parameters
+        * @return An instance of CustomAppControl
+        */
+       static CustomAppControl* GetInstance(void);
+
+       //! Sets whether Current instance of CustomAppControl is in use or not
+       /*!@fn SetAppControlInUse()
+        * @brief Sets whether Current instance of CustomAppControl is in use or not
+        * @param bool inUse
+        * @return [void] returns nothing
+        */
+       static void SetAppControlInUse(Tizen::App::AppControl* appControlInUse);
+
+private:
+
+       // Constructor of the class.
+       /*@fn CustomAppControl()
+        * @brief Initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       CustomAppControl(void);
+
+       //! Destructor of the class.
+       /*!@fn ~CustomAppControl()
+        * @brief Frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        */
+       ~CustomAppControl(void);
+
+       // Construct Method of the class.
+       /*@fn Construct()
+        * @brief Implementation of the Two phase construction.
+        * @param Takes no parameters
+        * @return [result] An ErrorCode.
+         */
+       result Construct(void);
+
+       /*!@fn CreateInstance()
+        * @brief Creates the singleton instance of the class
+        * @param Takes no parameters
+        * @return void
+        */
+       static void CreateInstance(void);
+
+       /*!@fn DestroyInstance()
+        * @brief Deletes the singleton instance of the class
+        * @param Takes no parameters
+        * @return void
+        */
+       static void DeleteInstance(void);
+
+private:
+       Tizen::App::IAppControlResponseListener* __pAppControlEventListener;
+
+       Tizen::Base::Collection::HashMap* __dataList;
+       static CustomAppControl* __pInstance;
+       static Tizen::App::AppControl* __pAppControlInUse;
+};
+
+#endif //_MF_CUSTOM_APP_CONTROL_H
diff --git a/inc/MfCustomListViewForPopup.h b/inc/MfCustomListViewForPopup.h
new file mode 100644 (file)
index 0000000..47eda70
--- /dev/null
@@ -0,0 +1,127 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfCustomListViewForPopup.h
+ * @brief: This file contains the declaration of CustomListViewForPopup class, which acts as a ListView Item Provider
+ * and Event Listener for the second ListView Control that appears in all popups.
+ */
+
+#ifndef _MF_CUSTOM_LISTVIEW_FOR_POPUP_H_
+#define _MF_CUSTOM_LISTVIEW_FOR_POPUP_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FGraphics.h>
+#include <FUi.h>
+
+#include "MfIListViewStateChangeListener.h"
+#include "MfSceneRegister.h"
+#include "MfTypes.h"
+
+class CustomListViewForPopup
+       : public Tizen::Ui::Controls::IListViewItemEventListener
+       , public Tizen::Ui::Controls::IListViewItemProvider
+{
+public:
+       //! Constructor of the class.
+       /*!@fn CustomListViewForPopup()
+        * @brief A public member taking no arguments and returning no values.
+        * @param Takes no parameters
+        * @return No value returned */
+       CustomListViewForPopup(void);
+
+       //! Destructor of the class.
+       /*!@fn ~CustomListViewForPopup()
+        * @brief A public virtual member taking no arguments, empty implementation since there are
+        * no member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~CustomListViewForPopup(void);
+
+       //! Gets the status of the source popup either from ViewAs or from SortBy
+       /*!@fn GetSelectionPopup(void)
+        * @brief Gets the status of the source popup either from ViewAs or from SortBy and returns it to the form.
+        * @param No parameters taken.
+        * @return [int] the flag status to the View from which the function was called.
+        * */
+       int GetSelectionPopup(void);
+
+       //! Notifies the Current Form OnListViewItemStateChanged
+       /*!@fn SetEventListener(IListViewStateChangeListener*   listener)
+        * @brief A public function which notifies any member implementing the IListViewStateChangeListener interface on ListViewItemStateChanged
+        * so that the view type can be updated accordingly.
+        * @param [IListViewStateChangeListener] Pointer to a class inherited from the IListViewStateChangeListener interface.
+        * @return An ErrorCode.
+        * */
+       result SetEventListener(IListViewStateChangeListener* listener);
+
+       //! Sets the source of the listview, either from SortBy or from ViewAs
+       /*!@fn SetSelectionPopup(int selectedPopup)
+        * @brief  Sets the source of the listview, either from SortBy or from ViewAs when called from the
+        * View.
+        * @param [int]selectedPopup is a flag that differentiates the source of the popup.
+        * @return No Return Values.
+        * */
+       void SetSelectionPopup(int selectedPopup);
+
+       //Callback Functions
+
+       //!IListViewItemEventListener
+       /*! @fn OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
+        * @brief This method is called when an element of the ListViewItem in the ListView is checked, unchecked, or selected.
+        */
+       virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
+
+       /*! @fn OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction)
+        * @brief Called when the ListItem is swept.
+        */
+       virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);
+
+       /*! @fn OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status)
+        * @brief Called when the state of an element in the ListContextItem is changed.
+        */
+       virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);
+
+       /*! @fn OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback)
+        * @brief Called when the item or the element is long pressed.
+        */
+       virtual void OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback);
+
+       /*! @fn OnListViewItemReordered(Tizen::Ui::Controls::ListView& listView, int indexFrom, int indexTo)
+        * @brief  Called when the item is reordered.
+        */
+       virtual void OnListViewItemReordered(Tizen::Ui::Controls::ListView& listView, int indexFrom, int indexTo);
+
+       //IListViewItemProvider
+       virtual int GetItemCount(void);
+       virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);
+       virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
+
+private:
+       int __popupSource;
+
+       static const int ID_VIEW_AS_ITEM_COUNT = 3;
+       static const int ID_SORT_BY_ITEM_COUNT = 6;
+       static const int ID_SHARE_ITEM_COUNT = 4;
+
+       static const int IDC_ITEM_TITLE_STRING = 101;
+
+       IListViewStateChangeListener* __pListViewItemStateChangeListener;
+};
+
+#endif /* _MF_CUSTOM_LISTVIEW_FOR_POPUP_H_ */
diff --git a/inc/MfDetailsForm.h b/inc/MfDetailsForm.h
new file mode 100644 (file)
index 0000000..538e08c
--- /dev/null
@@ -0,0 +1,212 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFileDetailForm.h
+ * @brief: This file contains the declaration of class DetailsForm, which acts as a View to display
+ * the details of files or folders.
+ */
+
+#ifndef _MF_DETAILS_FORM_H_
+#define _MF_DETAILS_FORM_H_
+
+#include <FGraphics.h>
+#include <FLocales.h>
+#include <FUi.h>
+
+#include "MfBaseForm.h"
+#include "MfFolderEntryDetailPresentationModel.h"
+#include "MfFolderNavigationPresentationModel.h"
+#include "MfMediaMetaData.h"
+#include "MfSceneRegister.h"
+#include "MfTypes.h"
+#include "MfUtility.h"
+
+class DetailsForm
+       : public BaseForm
+       , public Tizen::Ui::Controls::IGroupedListViewItemEventListener
+       , public Tizen::Ui::Controls::IGroupedListViewItemProvider
+{
+public:
+       //! Constructor of the class.
+       /*!@fn FileDetailForm
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       DetailsForm(void);
+
+       //! Destructor of the class.
+       /*!@fn ~FileDetailForm()
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~DetailsForm(void);
+
+       //!Initializes the form in the Application.
+       /*! @fn Initialize()
+        * @brief A public member taking no arguments returning a boolean value. Contructs the particular form.
+        * @param No parameters
+        * @return result of Construction of the form, true if success, false if unable to initialize
+        */
+       bool Initialize(void);
+
+       /*! @fn OnInitializing(void)
+        * @brief Called once the form has been constructed to initialize the controls within the form.
+        */
+       virtual result OnInitializing(void);
+
+       /*! @fn OnTerminating(void);
+        * @brief Called just before the form is deleted.
+        */
+       virtual result OnTerminating(void);
+
+       //! IOrientationEventListener
+       /*! @fn OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus)
+        * @brief Called when an orientation change event occurs.
+        */
+       virtual void OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus);
+
+       //! IFormBackEventListener
+       /*! @fn OnFormBackRequested(Tizen::Ui::Controls::Form& source)
+        * @brief   Called when the current Form control needs to be closed to revert back to the previous Form control.
+        */
+       virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+
+       //! IGroupedListViewItemEventListener
+       /*! @fn OnGroupedListViewContextItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListContextItemStatus state)
+        * @brief Called when the state of an element in the ListContextItem is changed.
+        */
+       virtual void OnGroupedListViewContextItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListContextItemStatus state);
+
+       /*! @fn OnGroupedListViewItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListItemStatus state)
+        * @brief This method is called when an element of the ListViewItem in the GroupedListView is checked, unchecked, or selected.
+        */
+       virtual void OnGroupedListViewItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListItemStatus state);
+
+       /*! @fn OnGroupedListViewItemSwept(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, Tizen::Ui::Controls::SweepDirection direction)
+        * @brief Called when the ListItem in the GroupedListView is swept.
+        */
+       virtual void OnGroupedListViewItemSwept(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, Tizen::Ui::Controls::SweepDirection direction);
+
+       /*! @fn OnGroupedListViewItemLongPressed(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, bool& invokeListViewItemCallback)
+        * @brief Called when the item or the element is long pressed.
+        */
+       virtual void OnGroupedListViewItemLongPressed(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, bool& invokeListViewItemCallback);
+
+       //! IGroupedListViewItemProvider
+       /*! @fn GetGroupCount(void)
+        * @brief  Returns the total number of groups.
+        */
+       virtual int GetGroupCount(void);
+
+       /*! @fn GetItemCount(int groupIndex)
+        * @brief  Returns the total number of items in the specified group.
+        */
+       virtual int GetItemCount(int groupIndex);
+
+       /*! @fn CreateGroupItem(int groupIndex, int itemWidth)
+        * @brief Creates the group item and returns a pointer to it.
+        */
+       virtual Tizen::Ui::Controls::GroupItem* CreateGroupItem(int groupIndex, int itemWidth);
+
+       /*! @fn CreateItem(int groupIndex, int itemIndex, int itemWidth)
+        * @brief Creates the item in the specified group index and returns a pointer to it.
+        */
+       virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int groupIndex, int itemIndex, int itemWidth);
+
+       /*! @fn DeleteGroupItem(int groupIndex, Tizen::Ui::Controls::GroupItem* pItem, int itemWidth)
+        * @brief Deletes the specified group item.
+        */
+       virtual bool DeleteGroupItem(int groupIndex, Tizen::Ui::Controls::GroupItem* pItem, int itemWidth);
+
+       /*! @fn DeleteItem(int groupIndex, int itemIndex, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth)
+        * @brief Deletes the item from the specified item and group index.
+        */
+       virtual bool DeleteItem(int groupIndex, int itemIndex, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
+
+       //! ISceneEventListener
+       /*! @fn OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
+        * @brief  Called after setting as current scene.
+        */
+       virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+
+       /*! @fn OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId)
+        * @brief  Called when the current scene is deactivated.
+        */
+       virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+       //ISceneManagerEventListener
+       virtual void OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId);
+       virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId);
+
+       //IDeviceEventListener
+       virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
+
+       //IDeviceNotificationListener
+       void OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state);
+
+private:
+       // Copy Constructor of the class.
+       /*@fn FileDetailForm(const FileDetailForm&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       DetailsForm(const DetailsForm&);
+
+       // Assignment operator of the class.
+       /*@fn FileDetailForm& operator = (const FileDetailForm &fileDetailForm)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       DetailsForm& operator =(const DetailsForm& fileDetailForm);
+
+       //It Makes up an arrayList and fill it with file details to provide data for the list view
+       /* @fn Tizen::Base::String* GetFileName(const Tizen::Base::String& filePath)
+        * @brief It Makes up an arrayList and fill it with file details to provide data for the list view
+        * @param One FileType enum
+        * @return void
+        */
+       void SetFileDetailList(FileType fileType);
+
+private:
+       static const int IMAGE_FILE_FORMAT = 0;
+       static const int AUDIO_FILE_FORMAT = 1;
+       static const int VIDEO_FILE_FORMAT = 2;
+       static const int OTHER_FILE_FORMAT = 3;
+
+       static const int IDA_BUTTON_OK = 101;
+       static const int ID_FORMAT_DETAIL_TYPE = 104;
+       static const int ID_FORMAT_DETAIL_VALUE = 105;
+
+       static const int IMAGE_FILE_FORMAT_COUNT = 10;
+       static const int AUDIO_FILE_FORMAT_COUNT = 14;
+       static const int VIDEO_FILE_FORMAT_COUNT = 12;
+
+       MediaMetaData* __pMediaMetaData;
+
+       Tizen::Base::Collection::ArrayList* __pFileDetailList;
+       Tizen::Base::Collection::ArrayList* __pFileHeaderDetailList;
+
+       Tizen::Base::String __fileFullPath;
+
+       Tizen::Ui::Controls::GroupedListView* __pGroupedDetailListView;
+
+};
+
+#endif  //_MF_DETAILS_FORM_H_
diff --git a/inc/MfDirectoryEntry.h b/inc/MfDirectoryEntry.h
new file mode 100644 (file)
index 0000000..0864417
--- /dev/null
@@ -0,0 +1,244 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfDirectoryEntry.h
+ * @brief: This file contains the declaration of DirectoryEntry Class, which is used to store the
+ * Directory Entry Read from the device memory. Full PathName, Filename are stored in the structure.
+ * In addition it contains info regarding whether a entry is directory or a normal file.
+ */
+
+#ifndef _MF_DIRECTORY_ENTRY_H_
+#define _MF_DIRECTORY_ENTRY_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FGraphics.h>
+
+class DirectoryEntry
+       : public Tizen::Base::Object
+{
+public:
+       //!This is the constructor for the class
+       /*!
+        * @fn DirectoryEntry()
+        * @param Takes no parameters
+        * @return No value returned
+        */
+       DirectoryEntry(void);
+
+       /*
+        * Copy constructor of the Directory Entry class
+        * @fn DirectoryEntry
+        * @brief: Copy constructor of the Directory Entry class
+        * @param [const DirectoryEntry&]
+        * @return DirectoryEntry
+        */
+       DirectoryEntry(const DirectoryEntry& content);
+
+
+       //!This is the Destructor for the class
+       /*!@fn ~DirectoryEntry()
+        * @param Takes no parameters
+        * @return No value returned
+        */
+       ~DirectoryEntry(void);
+
+       /*
+        * A public member function taking no parameters and returning a Bitmap variable
+        * @fn GetBitmap
+        * @brief This method is used to get thumbnail bitmap for given Directory Entry
+        * @param No parameters
+        * @return[Bitmap] Thumbnail bitmap for given Directory Entry.
+        */
+       Tizen::Graphics::Bitmap* GetBitmap(void);
+
+       /*
+        * A public member function taking no parameters and returning an int variable
+        * @fn GetDirectoryCount
+        * @brief This method is used to get the number of directories present in given Directory Entry
+        * @param No parameters
+        * @return[int] Number of Directories present in given Directory Entry
+        */
+       int GetDirectoryCount(void);
+
+       /*
+        * A public member function taking no parameters and returning an int variable
+        * @fn GetFilecount
+        * @brief This method is used get the number of files present in given Directory Entry
+        * @param No parameters
+        * @return[int] Number of files present in given Directory Entry
+        */
+       int GetFilecount(void);
+
+       /*
+        * A public member function taking no parameters and returning a string variable
+        * @fn GetFileExtension
+        * @brief This method is gives the extension of given Directory Entry
+        * @param No parameters
+        * @return[String] File extension of the given Directory Entry. For folders it returns a null string
+        */
+       Tizen::Base::String GetFileExtension(void);
+
+       /*
+        * A public member function taking no parameters and returning a string variable
+        * @fn GetFileName
+        * @brief This method is used to get the file name of any Directory Entry
+        * @param No parameters
+        * @return[String] String which contains file name of the Directory Entry
+        */
+       Tizen::Base::String GetFileName(void);
+
+       /*
+        * A public member function taking no parameters and returning a string variable
+        * @fn GetFullFilePath
+        * @brief This method is used to get the full file path of any Directory Entry
+        * @param No parameters
+        * @return[String] String which contains full file path
+        */
+       Tizen::Base::String GetFullFilePath(void);
+
+       /*
+        * A public member function taking no parameter and returning bool value.
+        * @fn  GetLoadBitmap(void)
+        * @brief This method is used to get the directory entry for which image has to be loaded.
+        * @param [void] No parameters taken.
+        * @return [bool] true if .
+        */
+       bool GetLoadBitmap(void);
+
+       /*
+        * A public member function taking no parameters and returning a bool variable
+        * @fn IsDirectory
+        * @brief This method is used to check whether the current Directory Entry is a directory or file
+        * @param No parameters
+        * @return[bool] bool variable which is true if the current entry is directory
+        */
+       bool IsDirectory(void);
+
+       /*
+        * A public member function taking a String parameter and returning no values
+        * @fn SetBitmap(Tizen::Graphics::Bitmap* pEntryBitmap)
+        * @brief This method is used to set the thumbnail bitmap of the given Directory Entry
+        * @param [Bitmap] Thumbnail bitmap which has to be set
+        * @return No Return Values.
+        */
+       void SetBitmap(Tizen::Graphics::Bitmap* pEntryBitmap);
+
+       /*
+        * A public member function taking a String parameter and returning no values
+        * @fn SetCheckDirectory
+        * @brief This method is used to set the checkDirectory variable. This is set to true if
+        * current entry is a directory or set to false
+        * @param [bool] bool value which has to be set
+        * @return No Return Values.
+        */
+       void SetCheckDirectory(bool checkDirectory);
+
+       /*
+        * A public member function taking an integer and returning no values
+        * @fn SetDirectoryCount
+        * @brief This method is used to set the number of Directories in given Directory Entry
+        * @param [int] number of directories present in the given Directory Entry
+        * @return No Return Values.
+        */
+       void SetDirectoryCount(int directoryCount);
+
+       /*
+        * A public member function taking an integer and returning no values
+        * @fn SetFilecount
+        * @brief This method is used to set the number of files in given Directory Entry
+        * @param [int] number of files present in the given Directory Entry
+        * @return No Return Values.
+        */
+       void SetFilecount(int fileCount);
+
+       /*
+        * A public member function taking a String parameter and returning no values
+        * @fn SetFileExtension
+        * @brief This method is used to set the file extension of the given Directory Entry
+        * @param [String] Extension Type which has to be set
+        * @return No Return Values.
+        */
+       void SetFileExtension(const Tizen::Base::String& fileExtension);
+
+       /*
+        * A public member function taking a String parameter and returning no values
+        * @fn SetFileName
+        * @brief This method is used to set the file name of the given Directory Entry
+        * @param [String] File name which has to be set
+        * @return No Return Values.
+        */
+       void SetFileName(const Tizen::Base::String& fileName);
+
+       /*
+        * A public member function taking a String parameter and returning no values
+        * @fn SetFullFilePath
+        * @brief This method is used to set the full File Path of the given Directory Entry
+        * @param [String] Full file path which has to be set
+        * @return No Return Values.
+        */
+       void SetFullFilePath(const Tizen::Base::String& fullFilePath);
+
+       /*
+        * A public member function taking a Boolean parameter and returning no values
+        * @fn SetLoadBitmap(bool loadBitmap)
+        * @brief This method is used to mark the directory entry for which image has to be loaded.
+        * @param [bool] loadBitmap, true if bitmap can be loaded for directory entry.
+        * @return No Return Values.
+        */
+       void SetLoadBitmap(bool loadBitmap);
+
+       /*
+        * Overloaded Assignment operator of the Directory Entry class
+        * @fn operator =
+        * @brief: Overloaded Assignment operator of the Direcotry Entry class
+        * @param [const DirectoryEntry&]
+        * @return reference to a DirectoryEntry object
+        */
+       DirectoryEntry& operator =(const DirectoryEntry& source);
+
+       void    SetDummy(bool bDummy);
+       bool    IstDummy(void);
+
+private:
+       /*!< Stores Absolute path of the directory entry. */
+       Tizen::Base::String __fullFilePath;
+
+       /*!< Stores the filename of the directory entry*/
+       Tizen::Base::String __fileName;
+
+       bool __bLoadBitmap;
+       bool    __DummyImage;
+
+       /*!< Set to true if the entry read is a directory*/
+       bool __checkDirectory;
+
+       /*!< Stores the number of directories present in the entry. If entry is a file then value is set to 0*/
+       int __directoryCount;
+
+       /*!< Stores the number of files present in the entry. If entry is a file then value is set to 0*/
+       int __fileCount;
+
+       /*!< Stores the extension of a file.*/
+       Tizen::Base::String __fileExtension;
+
+       /*!< Stores the bitmap of the corresponding entry*/
+       Tizen::Graphics::Bitmap* __pEntryBitmap;
+
+};
+
+#endif //_MF_DIRECTORY_ENTRY_H_
diff --git a/inc/MfFileManageForm.h b/inc/MfFileManageForm.h
new file mode 100644 (file)
index 0000000..1da36ee
--- /dev/null
@@ -0,0 +1,445 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ *@file: MfFileManageForm.h
+ *@brief: This file contains FileManageForm class, which is responsible for
+ *Operations like copy, move, delete.
+ */
+
+#ifndef _MF_FILE_MANAGE_FORM_H_
+#define _MF_FILE_MANAGE_FORM_H_
+
+#include <FGraphics.h>
+#include <FShell.h>
+
+#include "MfBaseForm.h"
+#include "MfBaseItemProvider.h"
+#include "MfContentListItem.h"
+#include "MfCustomListViewForPopup.h"
+#include "MfFolderEntryDetailPresentationModel.h"
+#include "MfFolderEntryEditorPresentationModel.h"
+#include "MfFolderEntryPresentationModel.h"
+#include "MfFolderNavigationPresentationModel.h"
+#include "MfIFileEventNotification.h"
+#include "MfMediaMetaData.h"
+#include "MfMyFilesApp.h"
+#include "MfThumbnailManager.h"
+#include "MfThumbnailItemProviderAndListener.h"
+#include "MfTypes.h"
+#include "MfUtility.h"
+
+class FileManageForm
+       : public BaseForm
+       , public Tizen::Ui::IDataBindingListener
+       , public Tizen::Ui::Controls::IIconListViewItemEventListener
+       , public Tizen::Ui::Controls::IScrollEventListener
+{
+public:
+       //!This is the constructor for the class
+       /*!
+        * @fn FileManageForm(void)
+        * @param Takes no parameters
+        * @return No value returned
+        */
+       FileManageForm(void);
+
+       //!This is the Destructor for the class
+       /*!@fn  ~FileManageForm(void)
+        * @param Takes no parameters
+        * @return No value returned
+        */
+       virtual ~FileManageForm(void);
+
+public:
+       //!Initializes the form in the Application.
+       /*! @fn Initialize()
+        * @brief A public member taking no arguments returning a boolean value. Contructs the particular form.
+        * @param No parameters
+        * @return result of Construction of the form, true if success, false if unable to initialize
+        */
+       bool Initialize(void);
+
+       /*! @fn OnInitializing(void)
+        * @brief Called once the form has been constructed to initialize the controls within the form.
+        */
+       result OnInitializing(void);
+
+       /*! @fn OnTerminating(void);
+        * @brief Called just before the form is deleted.
+        */
+       result OnTerminating(void);
+
+       //IDeviceEventListener
+       virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
+
+
+       //!IActionEventListener
+       /*! @fn OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+        * @brief   Called when an action event occurs on the source control.
+        */
+       virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+       //! IOrientationEventListener
+       /*! @fn OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus)
+        * @brief Called when an orientation change event occurs.
+        */
+       virtual void OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus);
+
+       //! IFormBackEventListener
+       /*! @fn OnFormBackRequested(Tizen::Ui::Controls::Form& source)
+        * @brief Called when the current Form control needs to be closed to revert back to the previous Form control.
+        */
+       virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+
+       //! IDataBindingEventListener
+       /*! @fn OnDataBindingSourceUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName, const Tizen::Base::String& propertyName)
+        * @brief Called when the data transfer for source is completed by the data binding.
+        */
+       virtual void OnDataBindingSourceUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName
+                                                                                  , const Tizen::Base::String& propertyName);
+
+       /*! @fn OnDataBindingTargetUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName, const Tizen::Base::String& propertyName)
+        * @brief  Called when the data transfer for target is completed by the data binding.
+        */
+       virtual void OnDataBindingTargetUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName
+                                                                                  , const Tizen::Base::String& propertyName);
+
+       /*! @fn OnDataBindingValidationFailed(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName, const Tizen::Base::String& propertyName, Tizen::Ui::DataBindingDestinationType destType)
+        * @brief Called when a validation has failed during data transfer.
+        */
+       virtual void OnDataBindingValidationFailed(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName
+                                                                                         , const Tizen::Base::String& propertyName, Tizen::Ui::DataBindingDestinationType destType);
+
+       // IIconListViewItemEventListener
+       virtual void OnIconListViewItemStateChanged(Tizen::Ui::Controls::IconListView& iconListView, int index, Tizen::Ui::Controls::IconListViewItemStatus status);
+       virtual void OnIconListViewOverlayBitmapSelected (Tizen::Ui::Controls::IconListView &iconListView, int index, int overlayBitmapId);
+
+       //IListViewItemEventListener
+       virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
+       virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);
+
+       /*! @fn OnScrollEndReached(Tizen::Ui::Control& source, Tizen::Ui::Controls::ScrollEndEvent type)
+       *  @brief Called when the scroll reaches the top, bottom, left or right end.
+       */
+       virtual void OnScrollEndReached(Tizen::Ui::Control& source, Tizen::Ui::Controls::ScrollEndEvent type);
+
+       /*! @fn OnScrollPositionChanged(Tizen::Ui::Control& source, int scrollPos)
+       *  @brief Called continuously when the control is being scrolled.
+       */
+       virtual void OnScrollPositionChanged(Tizen::Ui::Control& source, int scrollPos);
+
+       /*! @fn void OnScrollStopped(Tizen::Ui::Control& source)
+       *  @brief Called when the control\19s scroll movement has come to a stop.
+       */
+       virtual void OnScrollStopped(Tizen::Ui::Control& source);
+
+       // ISceneEventListener
+       virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+       virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+       //ISceneManagerEventListener
+       virtual void OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId);
+       virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId);
+
+       /*
+        * A public member function which updates the file Processing status
+        * @fn OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs)
+        * @brief Updates the current view when any file related operations are carried out.
+        * @param [ArrayList], containing the result of the file event.
+        * @return void
+        */
+       void OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs);
+
+       /*!IFileManagingListener
+        * A private member function which excutes on file processing start
+        * @fn OnFileProcessingStart()
+        * @brief Called on start of file Processing
+        * @param no Parameters
+        * @return void
+        */
+       void OnFileManagingStart(void);
+
+       /*!IFileManagingListener
+        * A private member function which excutes on file processing complete
+        * @fn OnFileManagingStop(FileProcessingResult fileProcessingResult)
+        * @brief Called on completion of file Processing
+        * @param FileProcessingResult
+        * @return void
+        */
+       void OnFileManagingStop(FileManagingResult fileProcessingResult);
+
+       //! IFolderEntryProviderListener
+       /*! A public virtual member function of IFolderEntryProviderListener returning a pointer to the FileListPresentationModel.
+        * @fn  GetFileListPM(void)
+        * @brief Used to get the pointer to the FileListPresentationModel Class.
+        * @param No parameters taken.
+        * @return [FileListPresentationModel*] A pointer to the filelistpresentation model.
+        */
+       virtual FolderEntryPresentationModel* GetFoldeEntryPresentationModel(void);
+
+       //IListViewStateChangeListener
+       /*! A public virtual member function of IListViewStateChangeListener returning no arguments.
+        * @fn OnListViewItemStateChangedNotify(ViewType viewType)
+        * @brief Notifies the form if the view type is changed by the User and accordingly updates the lists.
+        * @param [ViewType] viewType, the enum indicating the selected view type: List, List and Details or Thumbnails.
+        * @return No Return Values.
+        */
+       virtual void OnListViewItemStateChangedNotify(ViewType viewType);
+
+               //! IListViewStateChangeListener
+       /*! A public virtual member function of IListViewStateChangeListener returning a pointer to the FileListPresentationModel.
+        * @fn  OnThumbnailReceived(ThumbRequest* pThumbReq)
+        * @brief Used to refresh the image of the listitem from the default image to the generated thumbnail.
+        * @param [ThumbRequest] pThumbReq, the structure containing the thumbnail corresponding to a filepath.
+        * @return [FileListPresentationModel*] A pointer to the filelistpresentation model.
+        */
+       void OnThumbnailReceived(ThumbRequest* pThumbReq);
+
+       /*! A private member function returning no arguments.
+        * @fn OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state)
+        * @brief Takes care of storage related changes for memory card, external storage.
+        * @param [ComponentType, String]deviceType, of the storage device, state, the current state of the storage device.
+        * @return No Return Values.
+        */
+       void OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state);
+
+private:
+       //! Copy Constructor of the class.
+       /*!@fn EditForm(const EditForm& editForm)
+        * @brief A public member that performs a deep copy using an existing object of MfMyFilesAppMainForm class.
+        * @param [EditForm] Takes an object of MfMyFilesAppMainForm class as a parameter.
+        * @return No value returned
+        */
+       FileManageForm(const FileManageForm& editForm);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn CopyFile
+        * Used to copy the items selected in the Edit view
+        * @param An integer value
+        * @return Void return type
+        */
+       void CopyFile(void);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn CreateDeleteConfirmationPopUp()
+        * @brief Called OnContextItemStateChanged(), used to personalize the Delete Confirmation PopUp.
+        * @param No parameters taken.
+        * @return[result] An ErrorCode.
+        */
+       result CreateDeleteConfirmationPopUp(void);
+
+       /*
+        * A private member function which creates the FileProcessingPopUp
+        * @fn CreateFileProgressingPopup(void)
+        * @brief It creates the FileProcessingPopUp
+        * @param void
+        * @return result type
+        */
+       result CreateFileProgressingPopup(void);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn CreateFooterItems
+        * @brief Called during OnInitializing(), gets the form Footer, intializes FooterItems and
+        * adds them to the footer of the form.
+        * @param No parameters
+        * @return Void return type
+        */
+       void CreateFooterItems(void);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn CreateLabelControl
+        * Responsible for creating the label item in Edit form
+        * @param No parameters
+        * @return Void return type
+        */
+       void CreateLabelControl(void);
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn CreateShareContextMenu()
+        * @brief Called OnInitializing(), used to personalize the Context Menu for Sharing files.
+        * @param No parameters taken.
+        * @return[result] An ErrorCode.
+        */
+       result CreateShareContextMenu(void);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn DeleteFile
+        * Used to delete the items selected in the Edit view
+        * @param An integer value
+        * @return Void return type
+        */
+       void DeleteFile(void);
+
+       /*
+        * A private member function which Hides the FileProcessingPopUp
+        * @fn HideFileProgressingPopup(void)
+        * @brief It HIdes the FileProcessingPopUp
+        * @param void
+        * @return void
+        */
+       void HideFileProgressingPopup(void);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn LoadRenameForm(int index)
+        * @brief Called OnActionPerformed on the ContextItem, initializes the Rename form.
+        * @param [int] index, of the element from where the context item was clicked.
+        * @return Void return type
+        */
+       void LoadRenameForm(int index);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn MoveFile()
+        * Used to move the items selected in the Edit view
+        * @param No Parameters Take.
+        * @return Void return type
+        */
+       void MoveFile(void);
+
+       //! Overloaded = Operator.
+       /*!
+        * @brief A public member taking that performs a fully functional copy of Edit Form class.
+        * @param [EditForm] Takes an object of EditForm class as a parameter.
+        */
+       FileManageForm& operator =(const FileManageForm& editForm);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn SetFooterVisibility
+        * Sets the Footer items in the footer
+        * @param No parameters
+        * @return Void return type
+        */
+       void SetFooterVisibility(int mode);
+
+       /*
+        * A private member function taking a bool value and returning no arguments.
+        * @fn SetShareFooterItemStatus(bool enable)
+        * @brief Enables or Disables the Share footer footeritem.
+        * @param [bool] enable, indicating the status of the footeritem.
+        * @return Void return type
+        */
+       void SetShareFooterItemStatus(bool enable);
+
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn ShareFile(ShareVia shareType)
+        * Used to move the items selected in the Edit view
+        * @param [int] ShareVia An enum value indicating the ShareType.
+        * @return Void return type
+        */
+       void ShareFile(ShareVia shareType);
+
+       /*
+        * A private member function which Show the FileProcessingPopUp
+        * @fn ShowFileProgressingPopup(void)
+        * @brief It Show the FileProcessingPopUp
+        * @param void
+        * @return void
+        */
+       void ShowFileProgressingPopup(void);
+
+       void SortArrayList(Tizen::Base::Collection::ArrayList* pArrList);
+private:
+       int __fileCount;
+       int __fileProcessedCount;
+       int __folderCount;
+       int __renameItemIndex;
+       int __viewType;
+
+       bool __bScrollFlag;
+       bool __bCheckNullArgs;
+
+       //ButtonPanel Controls
+       static const int IDA_BTN_DELETE = 101;
+       static const int IDA_BTN_SHARE = 102;
+       static const int IDA_BTN_MOVE = 103;
+       static const int IDA_BTN_COPY = 104;
+       static const int IDA_BTN_CANCEL = 105;
+       static const int IDA_BTN_CHECKED = 106;
+       static const int IDA_BTN_UNCHECKED = 107;
+       static const int IDA_BTN_SELECTED = 108;
+       static const int IDA_BTN_SHARE_MESSAGE = 109;
+       static const int IDA_BTN_SHARE_EMAIL = 110;
+       static const int IDA_BTN_SHARE_BLUETOOTH = 111;
+       static const int IDA_BTN_SHARE_WIFI_DIRECT = 112;
+
+       static const int ID_ITEM_RENAME = 130;
+
+       static const int ID_ITEM_IMAGE = 107;
+
+       static const int IDA_BTN_POPUP_SHARE_CLOSE = 122;
+       static const int IDA_BTN_ANIMATION_POPUP_CANCEL = 136;
+
+       static const int IDA_CANCEL_DELETION = 203;
+       static const int IDA_DELETE_FILE = 204;
+
+       static FolderEntryPresentationModel* __pFolderEntryPM;
+
+       BaseItemProvider* __pBaseItemProvider;
+       CustomListViewForPopup* __pCustomListViewForPopup;
+       FolderEntryEditorPresentationModel* __pFileManager;
+       FolderEntryDetailPresentationModel __pMediaUtility;
+       MediaMetaData* __pMediaMetaData;
+       ThumbnailItemProviderAndListener* __pThumbnailProvider;
+       ThumbnailManager* __pThumbnailManager;
+
+       MemoryType __storageType;
+
+       Tizen::Base::Collection::ArrayList* __pCheckedList;
+       Tizen::Base::Collection::ArrayList* __pItems;
+
+       Tizen::Base::Integer __parentForm;
+       Tizen::Base::Integer __popUpFlag;
+
+       Tizen::Base::String __displayPath;
+       Tizen::Base::String __parentFormPath;
+       Tizen::Base::String __parentFormFileName;
+       Tizen::Base::String* __pStrItemSelectedCount;
+       Tizen::Base::String __rootPath;
+
+       Tizen::Ui::Controls::Button* __pCancelDeletion;
+       Tizen::Ui::Controls::Button* __pDeleteFile;
+       Tizen::Ui::Controls::Button* __pFileProgressingCancelButton;
+       Tizen::Ui::Controls::CheckButton* __pCheckButtonSelectAll;
+       Tizen::Ui::Controls::ContextMenu* __pShareContextMenu;
+       Tizen::Ui::Controls::Footer* __pFooter;
+       Tizen::Ui::Controls::FooterItem* __pCancel;
+       Tizen::Ui::Controls::FooterItem* __pCopy;
+       Tizen::Ui::Controls::FooterItem* __pDelete;
+       Tizen::Ui::Controls::FooterItem* __pMove;
+       Tizen::Ui::Controls::FooterItem* __pShare;
+       Tizen::Ui::Controls::IconListView* __pEditIconListView;
+       Tizen::Ui::Controls::Label* __pFileProgressingLabel;
+       Tizen::Ui::Controls::Label* __pFileProgressingHeaderLabel;
+       Tizen::Ui::Controls::Label* __pLabelNumberOfItems;
+       Tizen::Ui::Controls::ListView* __pEditListView;
+       Tizen::Ui::Controls::ListContextItem* __pItemContext;
+       Tizen::Ui::Controls::ListAnnexStyle __listAnnexStyle;
+       Tizen::Ui::Controls::Popup* __pDeleteConfirmationPopUp;
+       Tizen::Ui::Controls::Popup* __pFileProgressingPopup;
+       Tizen::Ui::Controls::Progress* __pAnimationProgress;
+};
+
+#endif //_MF_FILE_MANAGE_FORM_H_
diff --git a/inc/MfFileManageWorkerThread.h b/inc/MfFileManageWorkerThread.h
new file mode 100644 (file)
index 0000000..31b9ac0
--- /dev/null
@@ -0,0 +1,310 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFileManageWorkerThread.h
+ * @brief: This file contains the declaration of FileManageWorkerThread class, which manages file operations like
+ * Copy, Move, Delete, Create and other utilities.
+ */
+
+#ifndef _MF_FILE_MANAGER_THREAD_H_
+#define _MF_FILE_MANAGER_THREAD_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FContent.h>
+#include <FIo.h>
+
+#include "MfDirectoryEntry.h"
+#include "MfFolderEntryPresentationModel.h"
+#include "MfIFileManagingListener.h"
+#include "MfTypes.h"
+
+enum OperationId
+{
+       OPERATIONID_MANAGE_MIN = -1,
+       OPERATIONID_MANAGE_COPYING = 0,
+       OPERATIONID_MANAGE_MOVING,
+       OPERATIONID_MANAGE_DELETING,
+       OPERATIONID_MANAGE_CREATE_FOLDER,
+       OPERATIONID_MANAGE_RENAME,
+       OPERATIONID_MANAGE_MAX
+};
+
+class FileManaging
+{
+public:
+       void SetListOfFiles(Tizen::Base::Collection::HashMap* pListOfFiles)
+       {
+               this->__pListOfFiles = pListOfFiles;
+       }
+       void SetCurrentRootPath(const Tizen::Base::String& currentRootPath)
+       {
+               this->__currentRootPath = currentRootPath;
+       }
+       void SetFilePath(const Tizen::Base::String& filePath)
+       {
+               this->__filePath = filePath;
+       }
+       void SetNewFilePath(const Tizen::Base::String& newFilePath)
+       {
+               this->__newFilePath = newFilePath;
+       }
+       void SetOperationId(OperationId operationId)
+       {
+               this->operationId = operationId;
+       }
+       void setFileExistingOperationId(FileExistingOperationId fileExistingOperationId)
+       {
+               this->fileExistingOperationId = fileExistingOperationId;
+       }
+       Tizen::Base::Collection::HashMap* GetListOfFiles(void)
+       {
+               return __pListOfFiles;
+       }
+       Tizen::Base::String GetCurrentRootPath(void)
+       {
+               return __currentRootPath;
+       }
+       Tizen::Base::String GetFilePath(void)
+       {
+               return __filePath;
+       }
+       Tizen::Base::String GetNewFilePath(void)
+       {
+               return __newFilePath;
+       }
+       OperationId GetOperationId(void)
+       {
+               return operationId;
+       }
+       FileExistingOperationId GetFileExistingOperationId(void)
+       {
+               return fileExistingOperationId;
+       }
+
+private:
+       OperationId operationId;
+       FileExistingOperationId fileExistingOperationId;
+
+       Tizen::Base::Collection::HashMap* __pListOfFiles;
+
+       Tizen::Base::String __currentRootPath;
+       Tizen::Base::String __filePath;
+
+       Tizen::Base::String __newFilePath;
+};
+
+class FileManageWorkerThread
+       : public Tizen::Base::Runtime::Thread
+      //: public Tizen::Base::Runtime::EventDrivenThread
+{
+public:
+       //! Constructor of the class.
+       /*!@fn FileManagerThreadClass(void)
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       FileManageWorkerThread(void);
+
+       //! Destructor of the class.
+       /*!@fn ~FileManagerThreadClass(void)
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~FileManageWorkerThread(void);
+
+       //! Construct the class
+       /*!@fn result Construct(void)
+        * @brief It construc the class
+        * @param Takes no parameters
+        * @return result type
+        * */
+       result Construct(void);
+
+       //!This method manages the copy functionality
+       /*!@fn void CopyFolderEntry(FileExistingOperationId fileExistingOperationId = FILE_EXISTING_OPERATIONID_NONE)
+        * @param takes FileExistingOperationId object
+        * @return void
+        */
+       void CopyFolderEntry(FileExistingOperationId fileExistingOperationId = FILE_EXISTING_OPERATIONID_NONE);
+
+       //!This method creates the folder in the given path with given folder name
+       /*!@fn CreateFolder(const Tizen::Base::String&, const Tizen::Base::String&)
+        * @param Takes String reference and string reference
+        * @return result
+        */
+       result CreateFolder(const Tizen::Base::String&, const Tizen::Base::String&);
+
+       //!This method manages the delete functionality
+       /*!@fn result DeleteFolderEntry()
+        * @param no parameters
+        * @return result
+        */
+       result DeleteFolderEntry(void);
+
+       //!This method checks whether a name already exists in the list of files.
+       /*!@fn IsFileNameExist(Tizen::Base::String fileName,  Tizen::Base::Collection::ArrayList* renameList)
+        * @param [String, ArrayList] fileName, to check if already exists within renameList, the arraylist with the names.
+        * @return void
+        */
+       bool IsFileNameExist(Tizen::Base::String fileName, Tizen::Base::Collection::ArrayList* pRenameList);
+
+       //!This method manages the move functionality
+       /*!@fn MoveFolderEntry(FileExistingOperationId fileExistingOperationId = FILE_EXISTING_OPERATIONID_NONE)
+        * @param takes FileExistingOperationId object
+        * @return void
+        */
+       void MoveFolderEntry(FileExistingOperationId fileExistingOperationId = FILE_EXISTING_OPERATIONID_NONE);
+
+       //!This method set the working structure
+       /*!@fn SetNameConflictOperationId(FileProcessingStruct& fileProcessingStruct)
+        * @param takes FileProcessingStruct reference
+        * @return void
+        */
+       void SetNameConflictOperationId(FileManaging& fileManagingStruct);
+
+       //!This method stops the Worker thread
+       /*!@fn StopThread(void)
+        * @param no parameters
+        * @return void
+        */
+       void StopThread(void);
+
+private:
+       virtual bool OnStart(void);
+       virtual void OnStop(void);
+       virtual Tizen::Base::Object* Run(void);
+
+       // Copy Constructor of the class.
+       /*@fn FileManageWorkerThread(const FileManageWorkerThread&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       FileManageWorkerThread(const FileManageWorkerThread&);
+
+       /*
+        * It Checks for the duplicity of file in destPath
+        * @fn CheckFileDuplicity(const Tizen::Base::String&)
+        * @brief Checks for the duplicity of file in destPath
+        * @param No parameters taken.
+        * @return bool type
+        */
+       bool CheckFileDuplicity(void);
+       /*
+        * It Checks for the same source and destination path
+        * @fn CheckForLegalDestination(void)
+        * @brief Checks for the same source and destination path
+        * @param void
+        * @return bool type
+        */
+       bool CheckForLegalDestination(void);
+
+       /*
+        * It Copies the File or Folder from source to destination
+        * @fn CopyFile(Tizen::Base::String sourcePath, Tizen::Base::String destPath)
+        * @brief Copies the File or Folder from source to destination
+        * @param SourcePath String object and destPath String object
+        * @return result type
+        */
+       result CopyFile(Tizen::Base::String sourcePath, Tizen::Base::String destPath);
+
+       /*
+        * It Deletes the File or Folder of the given path
+        * @fn DeleteFile(const Tizen::Base::String&)
+        * @brief Delete the File or Folder of the given path
+        * @param One String Reference
+        * @return result type
+        */
+       result DeleteFile(const Tizen::Base::String&);
+
+       /*
+        * It Generate the new name if user select select rename automatically on fileDuplicity
+        * @fn GenerateNewName(DirectoryEntry* pSourceDirStr)
+        * @brief Generate the new name if user select select rename automatically on fileDuplicity
+        * @param DirEntry pointer
+        * @return String Object
+        */
+       Tizen::Base::String GenerateNewName(DirectoryEntry* pSourceDirStr);
+
+       /*
+        * It returns a list of the files with duplicate names to be renamed when copied/moved.
+        * @fn GetListOfRenameFilesN(void)
+        * @brief Returns a list of the files with duplicate names to be renamed when copied/moved
+        * @param DirEntry pointer
+        * @return [ArrayList*]
+        */
+       Tizen::Base::Collection::ArrayList* GetListOfRenameFilesN(void);
+
+       /*
+        * It Checks for the same source and destination path
+        * @fn IsSourceSameAsDestination(void)
+        * @brief Checks for the same source and destination path
+        * @param void
+        * @return bool type
+        */
+       bool IsSourceSameAsDestination(void);
+
+       /*
+        * It Move the File or Folder from source to destination
+        * @fn MoveFile(Tizen::Base::String sourcePath, Tizen::Base::String destPath)
+        * @brief Move the File or Folder from source to destination
+        * @param SourcePath String object and destPath String object
+        * @return result type
+        */
+       result MoveFile(Tizen::Base::String sourcePath, Tizen::Base::String destPath);
+
+       // Assignment operator of the class.
+       /*@fn FileManageWorkerThread& operator = (const FileManageWorkerThread& fileManageWorkerThread)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       FileManageWorkerThread& operator =(const FileManageWorkerThread& fileManageWorkerThread);
+
+       void SortArrayList(Tizen::Base::Collection::ArrayList* pArrList);
+
+       Tizen::Content::ContentType GetContentTypeInfo(const Tizen::Base::String& filePath);
+       result DeleteFileContentDB(Tizen::Base::String filePath);
+       //Tizen::Content::ContentManager* GetContentManager(const Tizen::Base::String& filePath, Tizen::Content::ContentId& contentId);
+
+       result GetContentID(const Tizen::Base::String& filePath, Tizen::Content::ContentId& contentId);
+
+       result UpdateContentDB(Tizen::Base::String filePath);
+       result RenameFolderEntry();
+       result Copy(Tizen::Base::String& sourcePath, Tizen::Base::String& destPath);
+private:
+       static int __fileManagedCounter;
+
+       static unsigned long E_THREAD_CANCEL;
+
+       FolderEntryPresentationModel* __pFolderEntryPM;
+       OperationId __operationId;
+       ThreadRunningState __threadRunningState;
+
+       Tizen::Base::Collection::HashMap* __pListOfFiles;
+       Tizen::Base::String __currentRootPath;
+       Tizen::Base::String __duplicateFileName;
+       Tizen::Base::String __filePath;
+       Tizen::Base::String __renameFilePath;
+
+       FileExistingOperationId __fileExistingOperationId;
+       FileManagingResult __fileManagingingResult;
+};
+
+#endif /* _MF_FILE_MANAGER_THREAD_H_ */
diff --git a/inc/MfFolderEntriesComparer.h b/inc/MfFolderEntriesComparer.h
new file mode 100644 (file)
index 0000000..f5bac40
--- /dev/null
@@ -0,0 +1,68 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFolderEntriesComparer.h
+ * @brief: This file contains the declaration of FolderEntriesComparer class, which is used for Sorting the list entries
+ * depending on different input types.
+ */
+
+#ifndef _MF_FOLDER_ENTRIES_COMPARER_H_
+#define _MF_FOLDER_ENTRIES_COMPARER_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FIo.h>
+
+#include "MfTypes.h"
+
+class FolderEntriesComparer
+       : public Tizen::Base::Collection::IComparer
+{
+public:
+       //It will act as a getter function for the file Creation time.
+       /* @fn Tizen::Base::DateTime GetFileCreationTime(const Tizen::Base::String& filePath)
+        * @brief It will act as a getter function for the file Creation time.
+        * @param One const String Reference
+        * @return DateTime Object
+        */
+       Tizen::Base::DateTime GetFileCreationTime(Tizen::Base::String filePath) const;
+
+       /*
+        * A public member function taking and returning no arguments.
+        * @fn SetCreationDate(void)
+        * @brief Used to set the creation date of the folder entry.
+        * @param Void parameters.
+        * @return Void return type
+        */
+       void SetCreationDate(void);
+
+       /*
+        * A public member function taking and returning no arguments.
+        * @fn SetSortType(int sortType)
+        * @brief Used to set the sort input type.
+        * @param [int] sortType, indicating the input sort type.
+        * @return Void return type
+        */
+       void SetSortType(int sortType);
+
+       //IComparer
+       result Compare(const Tizen::Base::Object& obj1, const Tizen::Base::Object& obj2, int& cmp) const;
+
+private:
+       int __sortByType;
+};
+#endif
diff --git a/inc/MfFolderEntryDetailPresentationModel.h b/inc/MfFolderEntryDetailPresentationModel.h
new file mode 100644 (file)
index 0000000..1983a5c
--- /dev/null
@@ -0,0 +1,160 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFolderEntryDetailPresentationModel.h
+ * @brief: This file contains the declaration of class FolderEntryDetailPresentationModel,
+ * which acts as a manager for providing file or folder specific information.
+ */
+
+#ifndef _MF_DETAIL_PRESENTATION_MODEL_H_
+#define _MF_DETAIL_PRESENTATION_MODEL_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FContent.h>
+#include <FIo.h>
+
+#include "MfAudioMediaMetaData.h"
+#include "MfBasePresentationModel.h"
+#include "MfFolderMediaMetaData.h"
+#include "MfImageMediaMetaData.h"
+#include "MfOtherMediaMetaData.h"
+#include "MfTypes.h"
+#include "MfVideoMediaMetaData.h"
+
+class FolderEntryDetailPresentationModel
+       : public BasePresentationModel
+{
+public:
+       //! Constructor of the class.
+       /*!@fn MediaUtility()
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       FolderEntryDetailPresentationModel(void);
+
+       //! Destructor of the class.
+       /*!@fn ~MediaUtility()
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~FolderEntryDetailPresentationModel(void);
+
+       //!It returns the metadata object which have all informationa about files or folders
+       /*! @fn GetFileDetails(const Tizen::Base::String filePath,FileType fileType)
+        * @brief A public member returns the metadata object which have all informationa about files or folders
+        * @param One string argument and one user defined enum type
+        * @return metadata object
+        */
+       MediaMetaData* GetFolderEntryMetaDataN(Tizen::Base::String filePath, FileType fileType);
+
+private:
+       // Copy Constructor of the class.
+       /*@fn MediaUtility(const MediaUtility&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       FolderEntryDetailPresentationModel(const FolderEntryDetailPresentationModel&);
+
+       //It returns the number of files in the given file path
+       /* @fn int GetNoOfFiles(const Tizen::Base::String& filePath)
+        * @brief It returns the number of files in the given file path
+        * @param One String Reference
+        * @return int object
+        */
+       int GetFileCount(const Tizen::Base::String& filePath);
+
+       //It will act as a getter function for the file Creation time.
+       /* @fn Tizen::Base::DateTime GetFileCreationTime(const Tizen::Base::String& filePath)
+        * @brief It will act as a getter function for the file Creation time.
+        * @param One String Reference
+        * @return DateTime Object
+        */
+       Tizen::Base::DateTime GetFileCreationTime(const Tizen::Base::String& filePath);
+
+       //It returns the file Path in the form of string pointer with no parameters
+       /* @fn Tizen::Base::String* GetFilePath(const Tizen::Base::String& filePath)
+        * @brief It returns the file Path in the form of string pointer with no parameters
+        * @param One String Reference
+        * @return String Pointer
+        */
+       Tizen::Base::String* GetFileDisplayPath(const Tizen::Base::String& filePath);
+
+       //It returns the file format in the form of string pointer
+       /* @fn Tizen::Base::String* GetFileFormat(const Tizen::Base::String& filePath)
+        * @brief It returns the file format in the form of string pointer
+        * @param One String Reference
+        * @return String Pointer
+        */
+       Tizen::Base::String* GetFileFormat(const Tizen::Base::String& filePath);
+
+       //It returns the file Name in the form of string pointer with no parameters
+       /* @fn Tizen::Base::String* GetFileName(const Tizen::Base::String& filePath)
+        * @brief It returns the file Name in the form of string pointer with no parameters
+        * @param One String Reference
+        * @return String Pointer
+        */
+       Tizen::Base::String* GetFileName(const Tizen::Base::String& filePath);
+
+       //It returns the file Resolution in the form of string pointer
+       /* @fn Tizen::Base::String* GetFileResolution(const Tizen::Base::String& filePath, FileType fileType)
+        * @brief It returns the file Resolution in the form of string pointer
+        * @param One String Reference,one enum type
+        * @return String Pointer
+        */
+       Tizen::Base::String* GetFileResolution(const Tizen::Base::String& filePath, FileType fileType);
+
+       //It returns the file size in the form of long long int object and takes no parameters
+       /* @fn long long int GetFileSize(const Tizen::Base::String& filePath)
+        * @brief It returns the file size in the form of long long int object and takes no parameters
+        * @param One String Reference
+        * @return Long Long int object
+        */
+       long long int GetFileSize(const Tizen::Base::String& filePath);
+
+       //It returns the number of folders present in the given file path
+       /* @fn int GetNoofFolders(const Tizen::Base::String& filePath)
+        * @brief It returns the number of folders present in the given file path
+        * @param One String Reference
+        * @return int object
+        */
+       int GetFolderCount(const Tizen::Base::String& filePath);
+
+       //It get the metadata of the folder entry
+       /* @fn result GetMetaData(const Tizen::Base::String filePath)
+        * @brief It get the metadata of the folder entry
+        * @param One String Reference
+        * @return result type
+        */
+       result GetMetaData(const Tizen::Base::String filePath);
+
+       // Assignment operator of the class.
+       /*@fn MediaUtility& operator = (const MediaUtility &mediaUtility)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       FolderEntryDetailPresentationModel& operator =(const FolderEntryDetailPresentationModel& mediaUtility);
+
+       int __noOfFiles; /*Will Store the count of number of files in a folder*/
+       int __noOfFolders; /*Will Store the count of number of folders in a folder*/
+       long long int __directorySize; /*Will Store the size of a file or a folder*/
+};
+
+#endif /* _MF_DETAIL_PRESENTATION_MODEL_H_ */
diff --git a/inc/MfFolderEntryEditorPresentationModel.h b/inc/MfFolderEntryEditorPresentationModel.h
new file mode 100644 (file)
index 0000000..65cbc62
--- /dev/null
@@ -0,0 +1,215 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFolderEntryEditorPresentationModel.h
+ * @brief: This file contains the declaration of class FolderEntryEditorPresentationModel,
+ * acts as a manager for IO Operations like copy,move,delete and createFolder
+ */
+
+#ifndef _MF_FILE_MANAGE_PRESENTATION_MODEL_H_
+#define _MF_FILE_MANAGE_PRESENTATION_MODEL_H_
+
+#include <cstdlib>
+#include <FBase.h>
+#include <FContent.h>
+#include <FIo.h>
+
+#include "MfBasePresentationModel.h"
+#include "MfDirectoryEntry.h"
+#include "MfFileManageWorkerThread.h"
+#include "MfFolderEntryPresentationModel.h"
+#include "MfFolderNavigationPresentationModel.h"
+#include "MfIFileManagingListener.h"
+#include "MfTypes.h"
+
+class FolderEntryEditorPresentationModel
+       : public BasePresentationModel
+{
+public:
+       //!This method adds the entry selected at an index to the CheckedItems List.
+       /*!@fn AddCheckedListEntry(int index, DirectoryEntry* checkedEntry).
+        * @param[int , DirectoryEntry] index, indicating the index of the selected item, checkedEntry,
+        * the item checked.
+        * @return[void]No Return Values.
+        */
+       void AddCheckedListEntry(int index, DirectoryEntry* checkedEntry);
+
+       //!This method removes all the elements from the CheckedList once the operations have been completed.
+       /*!@fn ClearCheckedList(void).
+        * @param[void] Takes No Parameters.
+        * @return[void]No Return Values.
+        */
+       void ClearCheckedList(void);
+
+       //!This method returns a pointer to the hashmap holding the checked items list.
+       /*!void Construct(void)
+        * @param Takes no parameters.
+        * @return [HashMap*], Ponter to the hashmap holding the directory entries of checked items.
+        */
+       result Construct(void);
+
+       //!This method manage the copy task
+       /*!void CopyFolderEntries(FileExistingOperationId fileExistingOperationId = FILE_EXISTING_OPERATIONID_NONE)
+        * @param one FileExistingOperationId enum type
+        * @return the void
+        */
+       void CopyFolderEntries(FileExistingOperationId fileExistingOperationId = FILE_EXISTING_OPERATIONID_NONE);
+
+       //!This method creates the folder in the given path with given folder name
+       /*!@fn CreateFolder(const Tizen::Base::String& destPath,const Tizen::Base::String& folderName)
+        * @param Takes const String reference destpath and const string reference foldername
+        * @return result
+        * */
+       result CreateFolder(const Tizen::Base::String& destPath, const Tizen::Base::String& folderName);
+
+       //!This method manage the delete task
+       /*!void DeleteFolderEntries(Tizen::Base::String* filePath = null)
+        * @param String pointer
+        * @return result
+        */
+       void DeleteFolderEntries(Tizen::Base::String* filePath = null);
+
+       //!This method Stop the fileProcessing Thread
+       /*!void ForceStopWorkerThread(void)
+        * @param void
+        * @return void
+        */
+       void ForceStopWorkerThread(void);
+
+       //!This method returns a pointer to the hashmap holding the checked items list.
+       /*!void GetCheckedList(void)
+        * @param Takes no parameters.
+        * @return [HashMap*], Ponter to the hashmap holding the directory entries of checked items.
+        */
+       const Tizen::Base::Collection::HashMap* GetCheckedList(void);
+
+       //!This method returns the Count of the CheckedList at any instance of time.
+       /*!@fn ClearCheckedList(void).
+        * @param[void] Takes No Parameters.
+        * @return[int] count, holding the number of items in the CheckedList.
+        */
+       int GetCheckedListCount(void);
+
+       //!This method returns a bool value if the list of checked items is null or not.
+       /*!void IsCheckedListNull(void)
+        * @param Takes no parameters.
+        * @return bool, true if the list is null.
+        */
+       bool IsCheckedListNull(void);
+
+       //!This method manage the copy task
+       /*!void MoveFolderEntries(FileExistingOperationId fileExistingOperationId = FILE_EXISTING_OPERATIONID_NONE)
+        * @param one FileExistingOperationId enum type
+        * @return the void
+        */
+       void MoveFolderEntries(FileExistingOperationId fileExistingOperationId = FILE_EXISTING_OPERATIONID_NONE);
+
+       //!This method removes an entry selected at an index from the CheckedItems List.
+       /*!@fn RemoveCheckedListEntry(int index).
+        * @param[int] index, indicating the index of the selected item.
+        * @return[void]No Return Values.
+        */
+       void RemoveCheckedListEntry(int index);
+
+       //!This method is used to Rename a File or Folder.
+       /*!@fn RenameFile(Tizen::Base::String &oldName, Tizen::Base::String &newName).
+        * @param[String, String] oldName, Existing name of the file/folder and newName,
+        * name to be changed.
+        * @return[result] An ErrorCode.
+        */
+       result RenameFolderEntry(Tizen::Base::String& oldName, Tizen::Base::String& newName);
+
+       //!This method set the fileprocessing listener
+       /*!void SetFileProcessingListener(IFileProcessingListener* listener)
+        * @param IFileProcessingListener listener
+        * @return void
+        */
+       void SetFileManagingListener(IFileManagingListener* listener);
+
+       //!This is static method which returns the singleton instance of the Filemanager Class.
+       /*!@fn GetInstance().
+        * @param Takes no parameters.
+        * name to be changed.
+        * @return[FolderEntryEditorPresentationModel] An instance of the FolderEntryEditorPresentationModel Class.
+        */
+       static FolderEntryEditorPresentationModel* GetInstance(void);
+
+       //!This method force the fileProcessing thread to stop and makes main thread for wait for it's complitaion
+       /*!void StopFolderEntryEditorThread(void)
+        * @param void
+        * @return void
+        */
+       result StopFolderEntryEditorThread(void);
+private:
+       //!This is the constructor for the class
+       /*!
+        * @fn  FolderEntryEditorPresentationModel(void)
+        * @param Takes no parameters
+        * @return No value returned
+        */
+       FolderEntryEditorPresentationModel(void);
+
+       //!This is the Destructor for the class
+       /*!@fn  ~FolderEntryEditorPresentationModel(void)
+        * @param Takes no parameters
+        * @return No value returned
+        */
+       virtual ~FolderEntryEditorPresentationModel(void);
+
+       /*
+        * Copy constructor of the FolderEntryEditorPresentationModel class
+        * @fn FolderEntryEditorPresentationModel(const FolderEntryEditorPresentationModel& p)
+        * @brief: Copy constructor of the FolderEntryEditorPresentationModel class
+        * @param [const FolderEntryEditorPresentationModel&] Reference to an instance of the FolderEntryEditorPresentationModel Class.
+        * @return No value returned
+        */
+       FolderEntryEditorPresentationModel(const FolderEntryEditorPresentationModel&);
+
+       //!This method creates the Singleton Instance of the class, when invoked.
+       /*!@fn CreateInstance(void).
+        * @param[void] Takes No Parameters.
+        * @return[void]No Return Values.
+        */
+       static void CreateInstance(void);
+
+       //!This method deletes the Singleton Instance of the class, when invoked.
+       /*!@fn DeleteInstance(void).
+        * @param[void] Takes No Parameters.
+        * @return[void]No Return Values.
+        */
+       static void DeleteInstance(void);
+
+       /*
+        * Overloaded Assignment operator of the FolderEntryEditorPresentationModel class
+        * @fn operator =
+        * @brief: Overloaded Assignment operator of the FolderEntryEditorPresentationModel class
+        * @param [const FolderEntryEditorPresentationModel&] Reference to an instance of the FolderEntryEditorPresentationModel Class.
+        * @return reference to a FolderEntryEditorPresentationModel object
+        */
+       FolderEntryEditorPresentationModel& operator =(const FolderEntryEditorPresentationModel& filePM);
+private:
+       FileManagingResult __fileProcessingResult;
+
+       Tizen::Base::Collection::HashMap* __pCheckedListHash;
+
+       FileManageWorkerThread* __pFileManagerThread;
+       IFileManagingListener* __listener;
+
+       static FolderEntryEditorPresentationModel* __pFilePresentation;
+};
+
+#endif /* _MF_FILE_MANAGE_PRESENTATION_MODEL_H_ */
diff --git a/inc/MfFolderEntryPresentationModel.h b/inc/MfFolderEntryPresentationModel.h
new file mode 100644 (file)
index 0000000..da05bb8
--- /dev/null
@@ -0,0 +1,261 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFolderEntryPresentationModel.h
+ * @brief: This model is responsible for getting the details of any Directory/File entries in the
+ * file system. Constructs the structure which contains basic information of these entries.
+ * Acts as Content browser for any given file path or directory path.
+ */
+
+#ifndef _MF_FOLDER_ENTRY_PRESENTATION_MODEL_H_
+#define _MF_FOLDER_ENTRY_PRESENTATION_MODEL_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FIo.h>
+#include <FSysEnvironment.h>
+#include <FSystem.h>
+#include <FUi.h>
+
+#include "MfBasePresentationModel.h"
+#include "MfDirectoryEntry.h"
+#include "MfIFileEventNotification.h"
+#include "MfIListViewStateChangeListener.h"
+#include "MfThumbnailManager.h"
+#include "MfTypes.h"
+
+class FolderEntryPresentationModel;
+
+class IFolderEntryProviderListener
+{
+public:
+       virtual ~IFolderEntryProviderListener(void);
+
+       //! IFolderEntryProviderListener
+       /*! A public virtual member function of IFolderEntryProviderListener returning a pointer to the FolderEntryPresentationModel.
+        * @fn  GetFoldeEntryPresentationModel(void)
+        * @brief Used to get the pointer to the FileListPresentationModel Class.
+        * @param No parameters taken.
+        * @return [FolderEntryPresentationModel*] A pointer to the FolderEntryPresentationModel model.
+        */
+       virtual FolderEntryPresentationModel* GetFoldeEntryPresentationModel(void) = 0;
+};
+
+class FolderEntryPresentationModel
+       : public BasePresentationModel
+{
+public:
+       //!This is the constructor for the class
+       /*!
+        * @fn FileListPresentationModel()
+        * @param Takes no parameters
+        * @return No value returned
+        */
+       FolderEntryPresentationModel(void);
+
+       //!This is the Destructor for the class
+       /*!@fn ~FileListPresentationModel()
+        * @param Takes no parameters
+        * @return No value returned
+        */
+       virtual ~FolderEntryPresentationModel(void);
+
+       //!This is the Construct method for the class in which memory will be allocated for member variables
+       /*!@fn ~Construct()
+        * @param Takes no parameters
+        * @return result value
+        */
+       result Construct(void);
+
+       /*!@fn UpdateEntryCount()
+        * @params [string, int, int] filepath for which structure is constructed,
+        * currentDirectoryCount which will be updated with number of directories present in the given filepath
+        * currentFileCount which will be updated with number of files present in the given filepath
+        * Returns no parameters
+        */
+       void GetFolderEntryCount(const Tizen::Base::String& filePath, int& currentDirectoryCount, int& currentFileCount);
+
+       /*!@fn GetDirectoryEntryList()
+        * @param Takes no parameters
+        * @return[ArrayList] Returns an arraylist containing the directory entries
+        */
+       Tizen::Base::Collection::ArrayList* GetFolderEntryList(void);
+
+       /*!@fnGetSourceForm(void)
+        * @brief Used to get the parent form which invoked FolderEntryPesentationModel.
+        * @params No Parameters taken
+        * @return [CreateItemSource], source form which invoked FolderEntryPesentationModel
+        */
+       CreateItemSource GetSourceForm(void);
+
+       /*!@fn InitThumbnailManager
+        * This function is a public member of this model and called by views for generating thumbnails
+        * @param taken integer value index as a parameter for of the list view item for which it is suppose to genetrate thumbnail.
+        * Returns result
+        */
+       result InitThumbnailManager(void);
+       //result InitThumbnailManager(int iItemIndex);
+
+
+       /*!@fn void setFileEventListener(IFileEventNotification *pIFileEventNotification,Tizen::Base::String& currentFilePath)
+        * used to set listeners for the respective view if some file addition or delete activity take place
+        * @param Takes filenotification listener and path
+        * Returns no parameters
+        */
+       void SetFileEventListener(IFolderEntryEventListener* pIFileEventNotification);
+
+       /*!@fn SetFolderEntryPath()
+        * @param Takes a string as a parameter. This is the filepath from which structure is constructed.
+        * Returns no parameters
+        */
+       void SetFolderEntryPath(const Tizen::Base::String& filePath);
+
+       /*!@fn void SetType(FileType currentType)
+        * used to set the type of file
+        * @param FileType enum
+        * Returns no parameters
+        */
+       void SetFolderEntryType(FileType currentType);
+
+       /*
+        * @fn SetSortEnabled
+        * @brief: This method determines whether the directory entries have to be sorted or not
+        * @param [bool]
+        * @return No Return Value
+        */
+       void SetSortEnabled(bool enableFlag);
+
+       /*!@fn SetSourceForm(CreateItemSource currentSource)
+        * @brief Used to set the parent for which the FolderEntryPesentationModel is invoked.
+        * @params[CreateItemSource], source form which invoked FolderEntryPesentationModel
+        * @return No Return Value
+        */
+       void SetSourceForm(CreateItemSource currentSource);
+
+       /*!@fn SortBy()
+        * used to sort all the entries which are present in __pFileEntries arraylist
+        * @param Takes no parameters
+        * Returns no parameters
+        */
+       void SortFolderEntries(void);
+
+       /*@fn StartThumbnailRequest
+        * This function requests thumbnailmanager to get the thumbnail for a file.
+        *Takes index as an argument, this is the index of the file in the data-stucture maintained by the presentation model.
+        * Returns result value. Result of the StartThumbnailRequest function call
+        */
+       result StartThumbnailRequest(int iReqIndex = -1);
+
+       result SetListUpdateEventListener(IListViewStateChangeListener* pListener);
+
+       /*@fn StopThumbnailManager
+        * This function send request to thumbnailmanager to stops processing further thumbnail request.
+        * Takes no argument
+        * Returns result value
+        */
+       result  StopThumbnailManager(bool       bForceStop=false);
+
+       void RefreshFolderEntries(void);
+
+       /*
+        * It executes when some fileEvent Occured
+        * param long event, string refernce and event id
+        * @return No Return values
+        */
+       virtual void OnFileEventOccured(unsigned long events, const Tizen::Base::String& path, unsigned int eventId);
+
+       /*@fn OnThumbnailResponseReceived
+        * This function receives thumbnail image received from thumbnailmanager.
+        * Takes pointer to the bitmap and index of the item for which bitmap is received as argument
+        * Returns result value
+        */
+       result OnThumbnailResponseReceived(Tizen::Graphics::Bitmap* pThumb, int Index);
+
+       /*@fn OnThumbnailResponseFailed
+        * This function is  the callback of the thumbnail loading failed
+        * Takes index of the item for which bitmap is generation failed as an argument
+        * Returns result value
+        */
+       result OnThumbnailResponseFailed(int Index = -1);
+
+private:
+       /*@fn FileListPresentationModel()
+        * Copy Constructor for the FileListPresentationModel class
+        * Takes FileListPresentationModel as a  parameter
+        * Returns no parameters
+        */
+       FolderEntryPresentationModel(const FolderEntryPresentationModel& content);
+
+       /*!@fn operator =()
+        *  Overloaded assignment operator for FileListPresentationModel class
+        * Takes FileListPresentationModel as a  parameter
+        * Returns FileListPresentationModel as a  return value
+        */
+       FolderEntryPresentationModel& operator =(const FolderEntryPresentationModel& source);
+
+       /*
+        * Responsible for creating the entries in __pFileEntries.
+        */
+       void CreateFolderEntryList(const Tizen::Base::String& directoryName);
+
+       /*
+        *This method is used to get the next available position in the arraylist of the directory entry during Swap operation.
+        * \param pList an arraylist which contains all the DirectoryStructure entries of the given path
+        * @return Returns the next available position where swapping can be done
+        */
+       int GetSwapIndex(void);
+
+       /*
+        * Responsible for constructing all the entries in the given path
+        */
+       result MakeFolderEntryList(const Tizen::Base::String& directoryName);
+
+       /*
+        * This method is used to swap two DirectoryStructure entries. This will be useful while sorting the elements of any file entry list.
+        * \param source a DirectoryStructure variable which contains the first object.
+        * \param destination a DirectoryStructure variable which contains the second object.
+        * @return No Return values
+        */
+       void SwapFolderEntries(DirectoryEntry& source, DirectoryEntry& destination);
+
+       /*
+        * It Updates the folder enteries on occuring of file event
+        * param long events and one string refernce
+        * @return No Return values
+        */
+       void UpdateFileListEnteries(unsigned long events, const Tizen::Base::String& path);
+
+private:
+       int __requestId;
+
+       bool __forceStop;
+       bool __enableSort;
+       bool __ThumbnailRequestInProgress;
+
+       AppControlView __currentViewType;
+       CreateItemSource __sourceForm;
+       FileType __entryType;
+
+       Tizen::Base::Collection::ArrayList* __pFolderEntries;
+       Tizen::Base::String __currentFilePath;
+       Tizen::Io::FileEventManager* __pFileEventManager;
+
+       static IFolderEntryEventListener* __pFolderEntryEventListener;
+       ThumbnailManager* __pThumbnailManager;
+};
+
+#endif // _MF_FOLDER_ENTRY_PRESENTATION_MODEL_H_
diff --git a/inc/MfFolderMediaMetaData.h b/inc/MfFolderMediaMetaData.h
new file mode 100644 (file)
index 0000000..164f2f2
--- /dev/null
@@ -0,0 +1,101 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFolderMediaMetaData.h
+ * @brief: This file contains the declaration of FolderMediaMetaData class,
+ * which acts as a Folder Meta Data Provider.
+ */
+
+#ifndef _MF_FOLDER_MEDIA_METADATA_H_
+#define _MF_FOLDER_MEDIA_METADATA_H_
+
+#include "MfMediaMetaData.h"
+
+class FolderMediaMetaData
+       : public MediaMetaData
+{
+public:
+       //! Constructor of the class.
+       /*!@fn FolderMediaMetaData()
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       FolderMediaMetaData(void);
+
+       //! Destructor of the class.
+       /*!@fn ~FolderMediaMetaData()
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~FolderMediaMetaData(void);
+
+       //!It will act as a getter function for the number of files.
+       /*! @fn GetNoOfFiles()
+        * @brief A public member returns the number of files
+        * @param no parameters
+        * @return number of files
+        */
+       int GetNoOfFiles(void);
+
+       //!It will act as a getter function for the number of folders.
+       /*! @fn GetNoOfFolders()
+        * @brief A public member returns the number of folders
+        * @param no parameters
+        * @return number of folders
+        */
+       int GetNoOfFolders(void);
+
+       //!It will act as a setter function for the number of files.
+       /*! @fn SetNoOfFiles(int noOfFilesInDir)
+        * @brief A public member taking one int argument and set it to the private member variable
+        * @param One int variable
+        * @return void
+        */
+       void SetNoOfFiles(int noOfFilesInDir);
+
+       //!It will act as a setter function for the number of folders.
+       /*! @fn SetNoOfFolders(int noOfFoldersInDir)
+        * @brief A public member taking one int argument and set it to the private member variable
+        * @param One int variable
+        * @return void
+        */
+       void SetNoOfFolders(int noOfFoldersInDir);
+
+private:
+       // Copy Constructor of the class.
+       /*@fn FolderMediaMetaData(const FolderMediaMetaData&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       FolderMediaMetaData(const FolderMediaMetaData&);
+
+       // Assignment operator of the class.
+       /*@fn FolderMediaMetaData& operator = (const FolderMediaMetaData &folderMediaMetaData)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       FolderMediaMetaData& operator =(const FolderMediaMetaData& folderMediaMetaData);
+
+private:
+       int __noOfFiles; /*Will store the number of files in a folder*/
+       int __noOfFolders; /*Will store the number of folders in a folder*/
+};
+
+#endif /* _MF_FOLDER_MEDIA_METADATA_H_ */
diff --git a/inc/MfFolderNavigationPresentationModel.h b/inc/MfFolderNavigationPresentationModel.h
new file mode 100644 (file)
index 0000000..e9618b7
--- /dev/null
@@ -0,0 +1,97 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFolderNavigationPresentationModel.h
+ * @brief: This file contains the declaration of FolderNavigationPresentationModel class, manages the navigation of folders through the application.
+ * Contains methods which maintain the flow of the file paths involved in the application.
+ */
+
+#ifndef _MF_FOLDER_NAVIGATION_PRESENTATION_MODEL_H_
+#define _MF_FOLDER_NAVIGATION_PRESENTATION_MODEL_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FUi.h>
+
+#include "MfBasePresentationModel.h"
+#include "MfTypes.h"
+
+class FolderNavigationPresentationModel
+       : public BasePresentationModel
+{
+public:
+       /*! @fn GetCurrentPath(void)
+        * @brief Returns the Current Filepath of the directory to anywhere in the Application.
+        * @param void.
+        * @return [String] Current file path.
+        */
+       static Tizen::Base::String GetCurrentPath(void);
+
+       /*! @fn GetParentFilePath(void)
+        * @brief Returns the filepath of the parent directory of the current directory.
+        * @param void
+        * @return [String] Containing the filePath of the parent directory.
+        */
+       static Tizen::Base::String GetParentPath(void);
+
+       /*! @fn GetStorageType(void)
+        * @brief Returns the current storage type of the application.
+        * @param void.
+        * @return [MemoryType] Containing the value of the current Storage type of the application.
+        */
+       static MemoryType GetStorageType(void);
+
+       /*! @fn SetCurrentFilePath(Tizen::Base::String filePath)
+        * @brief Sets the current filepath to filepath received.
+        * @param const [String] filePath reference, holding the filepath to be set.
+        * @return void
+        */
+       static void SetCurrentFilePath(const Tizen::Base::String& filePath);
+
+       /*! @fn SetStorageType(MemoryType storageType)
+        * @brief Sets the StorageType of the application.
+        * @param [MemoryType] Enumerator containing the current storage type of the application.
+        * @return void.
+        */
+       static void SetStorageType(MemoryType storageType);
+
+       static Tizen::Base::String GetSearchPreviousPath(void);
+       static void SetSearchPreviousPath(const Tizen::Base::String& filePath);
+
+private:
+       //! Constructor of the class.
+       /*!@fn FolderNavigationPresentationModel()
+        * @brief A public member taking no arguments and returning no arguments.
+        * @param Takes no parameters.
+        * @return No value returned.
+        * */
+       FolderNavigationPresentationModel(void);
+
+       //! Destructor of the class.
+       /*!@fn ~FolderNavigationPresentationModel()
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters.
+        * @return No value returned.
+        * */
+       virtual ~FolderNavigationPresentationModel(void);
+private:
+       static Tizen::Base::String __currentFilePath;
+       static Tizen::Base::String __previousSearchPath;
+       static MemoryType __storageType;
+};
+
+#endif /* _MF_FOLDER_NAVIGATION_PRESENTATION_MODEL_H_ */
diff --git a/inc/MfFontManager.h b/inc/MfFontManager.h
new file mode 100644 (file)
index 0000000..0e2b470
--- /dev/null
@@ -0,0 +1,83 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFontManager.h
+ * @brief: This file contains declaration of FontManager class, which manages the styles and fonts used across the application.
+ * Also contains a structure Font_Table, which manages the fonts.
+ */
+
+#ifndef _MF_FONT_MANAGER_H_
+#define _MF_FONT_MANAGER_H_
+
+#include <FBase.h>
+#include <FGraphics.h>
+#include <FMedia.h>
+
+#include "MfTypes.h"
+
+enum FontId
+{
+       FONT_INVALID = -1,
+       FONT_MAIN,
+       FONT_SUB,
+       FONT_BUTTON,
+       FONT_HELVETICA,
+       FONT_OTHER,
+       FONT_MAX
+};
+
+struct FontTable
+{
+       Tizen::Graphics::Font* pInstance;
+       Tizen::Base::String fontName;
+       int fontStyle;
+       int fontSize;
+};
+
+class FontManager
+{
+public:
+       /*
+        * A static member function taking the fontID as an argument and returning the pointer to a font.
+        * @fn GetFont(FontId fontid)
+        * @brief Used to get a pointer to the font generated using the fontId sent as a parameter.
+        * @param FontId the font Id of the font to be generated.
+        * @return Font*, the generated font with the specified fontId.
+        */
+       static Tizen::Graphics::Font* GetFont(FontId fontid);
+
+       /*
+        * A static member function taking the fontID as an argument
+        * @fn ReleaseFonts(void)
+        * @brief Used to free the memory allocated to the fonts created.
+        * @param Takes no parameters.
+        * @return no return value
+        */
+       static void ReleaseFonts(void);
+
+private:
+       /*
+        * A static member function taking the fontID as an argument
+        * @fn CreateFont(FontId fontid)
+        * @brief Used to create a new instance of the font in the application
+        * @param FontId, the structure holding the face name and size of the fonts.
+        * @return no return value
+        */
+       static void CreateFont(FontId fontid);
+};
+
+#endif //_MF_FONT_MANAGER_H_
diff --git a/inc/MfFormFactory.h b/inc/MfFormFactory.h
new file mode 100644 (file)
index 0000000..f7f60a7
--- /dev/null
@@ -0,0 +1,65 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFormFactory.h
+ * @brief: This file contains the declaration MfMyFilesAppFormFactory class, which manages
+ * all the forms of the application.
+ */
+
+#ifndef _MF_FORM_FACTORY_H_
+#define _MF_FORM_FACTORY_H_
+
+#include <FUi.h>
+
+extern const wchar_t* FORM_MAIN;
+extern const wchar_t* FORM_FILE_DETAIL;
+extern const wchar_t* FORM_EDIT;
+extern const wchar_t* FORM_CREATE_FOLDER;
+extern const wchar_t* FORM_ROOT_DIRECTORY;
+extern const wchar_t* FORM_SUB_DIRECTORY;
+extern const wchar_t* FORM_SUB_DIRECTORY1;
+extern const wchar_t* FORM_ROOT_DIRECTORY_MOVE_COPY;
+extern const wchar_t* FORM_SUB_DIRECTORY_MOVE_COPY;
+extern const wchar_t* FORM_SUB_DIRECTORY_MOVE_COPY1;
+extern const wchar_t* FORM_SEARCH;
+extern const wchar_t* FORM_TOP_MOST_FILE_SELECTION;
+extern const wchar_t* FORM_SUB_FOLDER_FILE_SELECTION;
+extern const wchar_t* FORM_SUB_FOLDER_FILE_SELECTION1;
+
+class FormFactory
+: public Tizen::Ui::Scenes::IFormFactory
+  {
+  public:
+       //! Constructor of the class.
+       /*!@fn MfMyFilesAppFormFactory()
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       FormFactory(void);
+
+       //! Destructor of the class.
+       /*!@fn ~MfMyFilesAppFormFactory()
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~FormFactory(void);
+
+       virtual Tizen::Ui::Controls::Form* CreateFormN(const Tizen::Base::String& formId, const Tizen::Ui::Scenes::SceneId& sceneId);
+  };
+
+#endif // _MF_FORM_FACTORY_H_
diff --git a/inc/MfFormatedText.h b/inc/MfFormatedText.h
new file mode 100644 (file)
index 0000000..29e0235
--- /dev/null
@@ -0,0 +1,169 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFormatedText.h
+ * @brief: This file contains declaration of FormatedText class, which is derived from ICustomElement and contains
+ * customized format of text for the application.
+ */
+
+#ifndef _MF_FORMATED_TEXT_H_
+#define _MF_FORMATED_TEXT_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FGraphics.h>
+#include <FIo.h>
+#include <FMedia.h>
+#include <FText.h>
+#include <FUi.h>
+
+#include "MfFontManager.h"
+#include "MfTypes.h"
+
+class FormatedText
+       : public Tizen::Ui::Controls::ICustomElement
+{
+public:
+       //! Constructor of the class.
+       /*!@fn FormatedText(int width, bool selectState = false)
+        * @brief A public member taking the width of the text and a boolean value indicating the
+        * selected state of the text which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       FormatedText(int width, bool selectState = false);
+
+       /*
+        * Copy constructor of the FormattedText class
+        * @fn FormatedText(const FormatedText& p)
+        * @brief: Copy constructor of the FormattedText class
+        * @param [const FormatedText&] Reference to an instance of the FormattedText Class.
+        * @return No value returned
+        */
+       FormatedText(const FormatedText& p);
+
+       //! Destructor of the class.
+       /*!@fn ~FormatedText(void)
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       ~FormatedText(void);
+
+       /*
+        * Overloaded Assignment operator of the FormattedText class
+        * @fn operator =
+        * @brief: Overloaded Assignment operator of the FormattedText class
+        * @param [const FormatedText&] Reference to an instance of the FormattedText Class.
+        * @return reference to a FormatedText object
+        */
+       FormatedText& operator =(const FormatedText& p);
+
+       //!  A public function which takes in parameters to add text to the text element.
+       /*!@fn AddSimpleText(Tizen::Base::String& text, FontId fontid, Tizen::Graphics::Color& color, Tizen::Graphics::TextHorizontalAlignment halign, Tizen::Graphics::TextVerticalAlignment valign)
+        * @brief A public member taking arguments which are used to configure the text element within the enriched text.
+        * @param [String&, FontId, Color, TextHorizontalAlignment, TextVerticalAlignment] Properties of the text element.
+        * @return No value returned
+        * */
+       void AddSimpleText(Tizen::Base::String& text, FontId fontid, Tizen::Graphics::Color& color, Tizen::Graphics::TextHorizontalAlignment halign, Tizen::Graphics::TextVerticalAlignment valign);
+
+       //!  A public function which takes in parameters to format the text.
+       /*!@fn AddText(Tizen::Base::String& text, FontId fontid, Tizen::Graphics::Color& color)
+        * @brief A public member taking arguments which takes in the values for the properties of the text element.
+        * @param [String&, FontId, Color] Properties of the text element.
+        * @return No value returned
+        * */
+       void AddText(Tizen::Base::String& text, FontId fontid, Tizen::Graphics::Color& color);
+
+       /*
+        * Get total height(px) of all strings
+        */
+       int GetHeight(void);
+
+       /*
+        * Get width(px) of first string
+        */
+       int GetWidth(void);
+
+       //!  A public function which takes in parameters to align the text.
+       /*!@fn SetAlignment(Tizen::Graphics::TextHorizontalAlignment halign, Tizen::Graphics::TextVerticalAlignment valign)
+        * @brief A public member taking arguments which takes in the values for the properties of alignment of the text element.
+        * @param [Tizen::Graphics::TextHorizontalAlignment halign, Tizen::Graphics::TextVerticalAlignment valign] Horizontal and Vertical Alignment of the text.
+        * @return No value returned
+        * */
+       void SetAlignment(Tizen::Graphics::TextHorizontalAlignment halign, Tizen::Graphics::TextVerticalAlignment valign);
+
+       //!  A public function which takes in parameters to set the linespace of the text.
+       /*!@fn SetLineSpace(int gap)
+        * @brief A public member taking arguments which takes in the integer value for the line space.
+        * @param [int] gap, the integer value of the line space of the text.
+        * @return No value returned
+        * */
+       void SetLineSpace(int gap);
+
+       //!  A public function which takes in parameters to set the text wrapping style.
+       /*!@fn SetTextWrap(Tizen::Graphics::TextWrap textWrap)
+        * @brief A public member taking arguments which takes the text wrapping style of the text.
+        * @param [int] gap, the integer value of the line space of the text.
+        * @return No value returned
+        * */
+       void SetTextWrap(Tizen::Graphics::TextWrap textWrap);
+
+       //! A public virtual function which overrides the drawing of the enriched text on the canvas.
+       /*!@fn  OnDraw(Tizen::Graphics::Canvas& canvas, const Tizen::Graphics::Rectangle& rect, Tizen::Ui::Controls::ListItemDrawingStatus status)
+        * @brief A public virtual member taking arguments which draws the text onto the canvas.
+        * @param[Canvas, Rectangle, ListItemDrawingStatus] The canvas with the bounds of the text to be drawn.
+        * @return No value returned
+        * */
+       bool OnDraw(Tizen::Graphics::Canvas& canvas, const Tizen::Graphics::Rectangle& rect, Tizen::Ui::Controls::ListItemDrawingStatus status);
+
+private:
+       /*!@fn  CreateEnrichedText(Tizen::Graphics::EnrichedText& eText, Tizen::Graphics::Rectangle* rect = NULL, bool textonButton = false)
+        * @brief A private member which creates a new instance of the enriched text.
+        * @param[EnrichedText, Rectangle, textonButton] The reference of the enriched text, the bounds of the text and a boolean value.
+        * @return No value returned
+        * */
+       void CreateEnrichedText(Tizen::Graphics::EnrichedText& eText, Tizen::Graphics::Rectangle* rect = NULL, bool textonButton = false);
+
+       /*!@fn  FreeTextElements(void)
+        * @brief A private member which deletes all the elements of the enriched text.
+        * @param No parameters taken.
+        * @return No value returned
+        * */
+       void FreeTextElements(void);
+
+       int __nCurIdx;
+       int __nLineSpace;
+       int __nWidth;
+
+       bool __bSelectState;
+       bool __bUpdated;
+
+       FontId __font[ID_MAX_TEXT_ITEMS];
+
+       Tizen::Base::String __strText[ID_MAX_TEXT_ITEMS];
+
+       Tizen::Graphics::Bitmap* __pButtonBgNormal;
+       Tizen::Graphics::Bitmap* __pButtonBgSelect;
+       Tizen::Graphics::Color __textColor[ID_MAX_TEXT_ITEMS];
+       Tizen::Graphics::TextElement* __pTElement[ID_MAX_TEXT_ITEMS];
+
+       Tizen::Graphics::TextHorizontalAlignment __halign;
+       Tizen::Graphics::TextVerticalAlignment __valign;
+       Tizen::Graphics::TextWrap __textWrap;
+};
+
+#endif //_MF__FORMATED_TEXT_H__
diff --git a/inc/MfIDeviceNotificationListener.h b/inc/MfIDeviceNotificationListener.h
new file mode 100644 (file)
index 0000000..02b947b
--- /dev/null
@@ -0,0 +1,51 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfIDeviceNotificationListener.h
+ * @brief: This file contains declaration of IFolderEntryDeviceListener class, which is a custom listener class for handling
+ * storage device changes to file.
+ */
+
+#ifndef _MF_IDEVICE_NOTICATION_LISTENER_H_
+#define _MF_IDEVICE_NOTICATION_LISTENER_H_
+
+#include <FApp.h>
+
+#include "MfTypes.h"
+
+class IFolderEntryDeviceListener
+{
+public:
+       //! Constructor of the class.
+       /*!@fn IFolderEntryDeviceListener(void)
+        * @brief A public member taking no arguments has an empty implementation.
+        * @param Takes no parameters
+        * @return No value returned */
+       IFolderEntryDeviceListener(void);
+
+       //! Destructor of the class.
+       /*!@fn ~IFolderEntryDeviceListener(void)
+        * @brief A public virtual member taking no arguments, has an empty implementation.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~IFolderEntryDeviceListener(void);
+
+       virtual void OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state) = 0;
+};
+
+#endif /* _MF_IDEVICE_NOTICATION_LISTENER_H_ */
diff --git a/inc/MfIFileEventNotification.h b/inc/MfIFileEventNotification.h
new file mode 100644 (file)
index 0000000..37372ca
--- /dev/null
@@ -0,0 +1,56 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfIFileEventNotification.h
+ * @brief: This file contains declaration of IFolderEntryEventListener class, which is a custom listener class for handling
+ * the notification of file events to the user.
+ */
+
+#ifndef _MF_IFILE_EVENT_NOTIFICATION_H_
+#define _MF_IFILE_EVENT_NOTIFICATION_H_
+
+#include <FBase.h>
+
+class IFolderEntryEventListener
+{
+public:
+       //! Constructor of the class.
+       /*!@fn IFolderEntryEventListener(void)
+        * @brief A public member taking no arguments has an empty implementation.
+        * @param Takes no parameters
+        * @return No value returned */
+       IFolderEntryEventListener(void);
+
+       //! Destructor of the class.
+       /*!@fn ~IFolderEntryEventListener(void)
+        * @brief A public virtual member taking no arguments, has an empty implementation.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~IFolderEntryEventListener(void);
+
+       /*
+        * It's a pure virtual function which will be implemented by derived class
+        * @fn OnFileEventExecuted(const Tizen::Base::String& path, const unsigned long eventId)
+        * @brief It excutes when some fileEvent will occured
+        * @param const String refernce and eventId
+        * @return void
+        */
+       virtual void OnFileEventExecuted(const Tizen::Base::String& path, const unsigned long eventId) = 0;
+};
+
+#endif /* _MF_IFILE_EVENT_NOTIFICATION_H_ */
diff --git a/inc/MfIFileManagingListener.h b/inc/MfIFileManagingListener.h
new file mode 100644 (file)
index 0000000..e14b3f2
--- /dev/null
@@ -0,0 +1,63 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfIFileManagingListener.h
+ * @brief: This file contains declaration of IFileManagingListener class, listener for start and stop file operations
+ */
+
+#ifndef _MF_IFILE_MANAGING_LISTENER_H_
+#define _MF_IFILE_MANAGING_LISTENER_H_
+
+#include "MfTypes.h"
+
+class IFileManagingListener
+{
+public:
+       //! Constructor of the class.
+       /*!@fn IFileManagingListener(void)
+        * @brief A public member taking no arguments has an empty implementation.
+        * @param Takes no parameters
+        * @return No value returned */
+       IFileManagingListener(void);
+
+       //! Destructor of the class.
+       /*!@fn ~IFileManagingListener(void)
+        * @brief A public virtual member taking no arguments, has an empty implementation.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~IFileManagingListener(void);
+
+       /*! A public virtual member function of IFileProcessingListener taking and returning no arguments.
+        * @fn OnFileManagingStart(void)
+        * @brief Used to show the FileProcessing Popup.
+        * @param No parameters
+        * @return No Return Values.
+        */
+       virtual void OnFileManagingStart(void) = 0;
+
+       /*! A public virtual member function of IFileProcessingListener returning no arguments.
+        * @fn OnFileManagingStop(FileManagingResult fileManagingResult)
+        * @brief Used to hide the FileProcessing Popup.
+        * @param [FileManagingResult]Enumerator indicating the result of file processing.
+        * @return No Return Values.
+        */
+       virtual void OnFileManagingStop(FileManagingResult fileProcessingResult) = 0;
+
+};
+
+#endif /* _MF_IFILE_MANAGING_LISTENER_H_ */
diff --git a/inc/MfIListViewStateChangeListener.h b/inc/MfIListViewStateChangeListener.h
new file mode 100644 (file)
index 0000000..ba6cd94
--- /dev/null
@@ -0,0 +1,65 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfIListViewStateChangeListener.h
+ * @brief: This file contains the declaration of IListViewStateChangeListener class, which is an interface containing the declaration of common events used across the application.
+ */
+
+#ifndef _MF_ILISTVIEW_STATE_CHANGE_LISTENER
+#define _MF_ILISTVIEW_STATE_CHANGE_LISTENER
+
+#include "MfThumbMgrCommon.h"
+#include "MfTypes.h"
+
+class IListViewStateChangeListener
+{
+public:
+       //! Destructor of the class.
+       /*!@fn ~IListViewStateChangeListener(void)
+        * @brief A public virtual member taking no arguments, has an empty implementation.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~IListViewStateChangeListener(void){}
+
+       /*! A public virtual member function of IListViewStateChangeListener taking and returning no arguments.
+        * @fn OnFooterStateChangeNotify(void)
+        * @brief Used to personalize the states of the the footeritems of the form.
+        * @param No parameters
+        * @return No Return Values.
+        */
+       virtual void OnFooterStateChangeNotify(void) {}
+
+       /*! A public purely virtual member function of IListViewStateChangeListener returning no arguments.
+        * @fn OnListViewItemStateChangedNotify(ViewType viewType)
+        * @brief Notifies the form if the view type is changed by the User and accordingly updates the lists.
+        * @param [ViewType] viewType, the enum indicating the selected view type: List, List and Details or Thumbnails.
+        * @return No Return Values.
+        */
+       virtual void OnListViewItemStateChangedNotify(ViewType viewType) = 0;
+       virtual void OnIconListViewItemStateChangeNotify() = 0;
+
+       /*! A public purely virtual member function of IListViewStateChangeListener returning a pointer to the FileListPresentationModel.
+        * @fn  OnThumbnailReceived(ThumbRequest* pThumbReq)
+        * @brief Used to refresh the image of the listitem from the default image to the generated thumbnail.
+        * @param [ThumbRequest] pThumbReq, the structure containing the thumbnail corresponding to a filepath.
+        * @return No Return Values.
+        */
+       virtual void OnThumbnailReceived(ThumbRequest* pThumbReq) = 0;
+};
+
+#endif
diff --git a/inc/MfINotificationListener.h b/inc/MfINotificationListener.h
new file mode 100644 (file)
index 0000000..b7438d4
--- /dev/null
@@ -0,0 +1,57 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfINotificationListener.h
+ * @brief: This file contains declaration of INotificationListener class,
+ * listener for notifications received.
+ */
+
+#ifndef _MF_INOTIFICATION_LISTENER_H_
+#define _MF_INOTIFICATION_LISTENER_H_
+
+#include <FApp.h>
+
+class INotificationListener
+{
+public:
+       //! Constructor of the class.
+       /*!@fn INotificationListener(void)
+        * @brief A public member taking no arguments has an empty implementation.
+        * @param Takes no parameters
+        * @return No value returned */
+       INotificationListener(void);
+
+
+       //! Destructor of the class.
+       /*!@fn ~INotificationListener(void)
+        * @brief A public virtual member taking no arguments, has an empty implementation.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~INotificationListener(void);
+
+       /*
+        *! A public member function which updates the file Processing status
+        * @fn OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs)
+        * @brief Updates the current view when any file related operations are carried out.
+        * @param [ArrayList], containing the result of the file event.
+        * @return void
+        */
+       virtual void OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs) = 0;
+};
+
+#endif /* _MF_INOTIFICATION_LISTENER_H_ */
diff --git a/inc/MfImageMediaMetaData.h b/inc/MfImageMediaMetaData.h
new file mode 100644 (file)
index 0000000..dc191c2
--- /dev/null
@@ -0,0 +1,103 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfImageMediaMetaData.h
+ * @brief: This file contains the declaration of  ImageMediaMetaData class,
+ * which acts as a Image Meta Data Provider.
+ */
+
+#ifndef _MF_IMAGE_MEDIA_METADATA_H_
+#define _MF_IMAGE_MEDIA_METADATA_H_
+
+#include <FBase.h>
+
+#include "MfMediaMetaData.h"
+
+class ImageMediaMetaData
+       : public MediaMetaData
+{
+public:
+       //! Constructor of the class.
+       /*!@fn ImageMediaMetaData()
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       ImageMediaMetaData(void);
+
+       //! Destructor of the class.
+       /*!@fn ~ImageMediaMetaData()
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~ImageMediaMetaData(void);
+
+       //! Copy Constructor of the class.
+       /*!@fn ImageMediaMetaData(const ImageMediaMetaData&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       ImageMediaMetaData(const ImageMediaMetaData&);
+
+       //!It will act as a getter function for the file format.
+       /*! @fn GetFileFormat(void)
+        * @brief A public member returns the file format in the form of string pointer
+        * @param no parameters
+        * @return file format in the form of String Pointer
+        */
+       Tizen::Base::String* GetFileFormat(void);
+
+       //!It will act as a getter function for the file format.
+       /*! @fn GetFileResolution(void)
+        * @brief A public member returns the file Resolution in the form of string pointer
+        * @param no parameters
+        * @return file Resolution in the form of String Pointer
+        */
+       Tizen::Base::String* GetFileResolution(void);
+
+       //!It will act as a setter function for the file format.
+       /*! @fn SetFileFormat(Tizen::Base::String *fileFormat)
+        * @brief A public member taking one string argument and set it to the private member variable
+        * @param One string pointer
+        * @return void
+        */
+       void SetFileFormat(Tizen::Base::String* pFileFormat);
+
+       //!It will act as a setter function for the file Resolution.
+       /*! @fn SetFileResolution(Tizen::Base::String *fileFormat)
+        * @brief A public member taking one string argument and set it to the private member variable
+        * @param One string pointer
+        * @return void
+        */
+       void SetFileResolution(Tizen::Base::String* pFileResolution);
+
+       //! Assignment operator of the class.
+       /*!@fn ImageMediaMetaData& operator = (const ImageMediaMetaData &imageMediaMetaData)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       ImageMediaMetaData& operator =(const ImageMediaMetaData& imageMediaMetaData);
+
+
+private:
+       Tizen::Base::String* __pFileFormat;
+       Tizen::Base::String* __pFileResolution;
+};
+
+#endif /* _MF_IMAGE_MEDIA_METADATA_H_ */
diff --git a/inc/MfMainFrame.h b/inc/MfMainFrame.h
new file mode 100644 (file)
index 0000000..775f40a
--- /dev/null
@@ -0,0 +1,59 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfMainFrame.h
+ * @brief: This file contains declaration of MfMainFrame class, which is the main frame of the application.
+ */
+
+#ifndef _MY_FILES_FRAME_H_
+#define _MY_FILES_FRAME_H_
+
+#include <FBase.h>
+#include <FUi.h>
+
+#include "MfCustomAppControl.h"
+#include "MfFormFactory.h"
+#include "MfPanelFactory.h"
+#include "MfSceneRegister.h"
+#include "MfTypes.h"
+
+class MfMainFrame
+       : public Tizen::Ui::Controls::Frame
+{
+public:
+       //! Constructor of the class.
+       /*!@fn MfMainFrame()
+        * @brief A public member taking no arguments, has an empty implementation.
+        * @param Takes no parameters
+        * @return No value returned */
+
+       MfMainFrame(void);
+
+       //! Destructor of the class.
+       /*!@fn ~MfMainFrame()
+        * @brief A public virtual member taking no arguments, has an empty implementation.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~MfMainFrame(void);
+
+public:
+       virtual result OnInitializing(void);
+       virtual result OnTerminating(void);
+};
+
+#endif  //_MY_FILES_FRAME_H_
diff --git a/inc/MfMediaMetaData.h b/inc/MfMediaMetaData.h
new file mode 100644 (file)
index 0000000..189e0a7
--- /dev/null
@@ -0,0 +1,138 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfMediaMetaData.h
+ * @brief: This file contains the declaration of MediaMetaData class,
+ * which acts as a base class for all Meta Data Provider classes.
+ */
+
+#ifndef _MF_MEDIA_METADATA_H_
+#define _MF_MEDIA_METADATA_H_
+
+#include <FBase.h>
+#include <FIo.h>
+class MediaMetaData
+       : public Tizen::Base::Object
+{
+public:
+       //! Constructor of the class.
+       /*!@fn MediaMetaData()
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       MediaMetaData(void);
+
+       //! Destructor of the class.
+       /*!@fn ~MediaMetaData()
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~MediaMetaData(void);
+
+       //!It will act as a getter function for the file Creation time.
+       /*! @fn GetFileCreationTime()
+        * @brief A public member returns the file creation time in the form of DateTime Object
+        * @param no parameters
+        * @return file creation time in the form of DateTime Object
+        */
+       Tizen::Base::DateTime GetFileCreationTime(Tizen::Base::String* filePath = null);
+
+       //!It will act as a getter function for the file Name.
+       /*! @fn GetFileName()
+        * @brief A public member returns the file Name in the form of string pointer
+        * @param no parameters
+        * @return file Name in the form of String Pointer
+        */
+       Tizen::Base::String* GetFileName(void);
+
+       //!It will act as a getter function for the file Path.
+       /*! @fn GetFilePath()
+        * @brief A public member returns the file Path in the form of string pointer
+        * @param no parameters
+        * @return file Path in the form of String Pointer
+        */
+       Tizen::Base::String* GetFilePath(void);
+
+       //!It will act as a setter function for the file Creation Date.
+       /*! @fn SetFileCreationTime(Tizen::Base::DateTime fileCreationTime)
+        * @brief A public member taking one DateTime argument and set it to the private member variable
+        * @param One DateTime argument
+        * @return void
+        */
+       void SetFileCreationTime(Tizen::Base::DateTime fileCreationTime);
+
+       //!It will act as a getter function for the file Creation time.
+       /*! @fn GetFileSize()
+        * @brief A public member returns the file size in the form of long long int object
+        * @param no parameters
+        * @return file size in the form of long long int object
+        */
+       long long int GetFileSize(void);
+
+       //!It will act as a setter function for the file Name.
+       /*! @fn SetFileName(Tizen::Base::String *fileName)
+        * @brief A public member taking one string argument and set it to the private member variable
+        * @param One string pointer
+        * @return void
+        */
+       void SetFileName(Tizen::Base::String* pFileName);
+
+       //!It will act as a setter function for the file Path.
+       /*! @fn SetFilePath(Tizen::Base::String *filePath)
+        * @brief A public member taking one string argument and set it to the private member variable
+        * @param One string pointer
+        * @return void
+        */
+       void SetFilePath(Tizen::Base::String* pFilePath);
+
+       //!It will act as a setter function for the file Size.
+       /*! @fn SetFileSize(long long int fileOrDirSize)
+        * @brief A public member taking one Long Long int argument and set it to the private member variable
+        * @param One Long Long int argument
+        * @return void
+        */
+       void SetFileSize(long long int fileOrDirSize);
+
+
+private:
+       // Copy Constructor of the class.
+       /*@fn MediaMetaData(const MediaMetaData&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       MediaMetaData(const MediaMetaData&);
+
+       // Assignment operator of the class.
+       /*@fn MediaMetaData& operator = (const MediaMetaData &mediaMetaData)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       MediaMetaData& operator =(const MediaMetaData& mediaMetaData);
+
+private:
+       long long int __fileSize; /*Will store the file or folder size*/
+
+       Tizen::Base::DateTime __fileCreationTime; /*Will store the file or folder creation time*/
+
+       Tizen::Base::String* __pFileName; /*Will store the file name or folder name*/
+       Tizen::Base::String* __pFilePath; /*Will store the file path or folder path*/
+};
+
+#endif /* _MF_MEDIA_METADATA_H_ */
diff --git a/inc/MfMyFilesApp.h b/inc/MfMyFilesApp.h
new file mode 100644 (file)
index 0000000..1265ce4
--- /dev/null
@@ -0,0 +1,147 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfMyFilesApp.h
+ * @brief:  This file contains the declaration of MyFilesApp Class, which provides basic features necessary to define an UiApp.
+ */
+
+#ifndef _MY_FILES_H_
+#define _MY_FILES_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FSystem.h>
+#include <FUi.h>
+
+#include "MfIListViewStateChangeListener.h"
+#include "MfINotificationListener.h"
+#include "MfFolderEntryEditorPresentationModel.h"
+#include "MfTypes.h"
+
+class MyFilesApp
+       : public Tizen::App::IAppControlProviderEventListener
+       , public Tizen::App::UiApp
+       , public Tizen::System::IScreenEventListener
+{
+public:
+       //! Constructor of the class.
+       /*!@fn MyFilesApp()
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       MyFilesApp(void);
+
+       //! Destructor of the class.
+       /*!@fn ~MyFilesApp()
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~MyFilesApp(void);
+
+public:
+       void AddAppControlResult(Tizen::App::AppCtrlResult result);
+
+       Tizen::Base::String ExtractType(Tizen::Base::String& inputType);
+
+       FileType GetCurrentFileType(void);
+
+       MyFilesApp* GetCurrentInstance(void);
+
+       SelectionMode GetCurrentSelectionMode(void);
+
+       AppControlView GetCurrentView(void);
+
+       IListViewStateChangeListener* GetCurrentViewToUpdate(void);
+
+       bool IsImageAppControlLanched(void);
+
+       void LaunchCacheManager(void);
+
+       void SetAppControlSelected(void);
+
+       result SetCurrentView(IListViewStateChangeListener* pListToUpdate);
+
+       void SetImageAppControlLanched(bool bAppControlLaunched);
+
+       void SetNotifyListener(INotificationListener* listener);
+
+       // Called when the UiApp is initializing.
+       bool OnAppInitializing(Tizen::App::AppRegistry& appRegistry);
+
+       // Called when the UiApp initializing is finished.
+       bool OnAppInitialized(void);
+
+       // Called when the UiApp is requested to terminate.
+       bool OnAppWillTerminate(void);
+
+       // Called when the UiApp is terminating.
+       bool OnAppTerminating(Tizen::App::AppRegistry& appRegistry, bool forcedTermination = false);
+
+       // Called when the UiApp's frame moves to the top of the screen.
+       void OnForeground(void);
+
+       // Called when this UiApp's frame is moved from top of the screen to the background.
+       void OnBackground(void);
+
+       // Called when the system memory is not sufficient to run the UiApp any further.
+       void OnLowMemory(void);
+
+       // Called when the battery level changes.
+       void OnBatteryLevelChanged(Tizen::System::BatteryLevel batteryLevel);
+
+       // Called when the screen turns on.
+       void OnScreenOn(void);
+
+       // Called when the screen turns off.
+       void OnScreenOff(void);
+
+       virtual void OnUserEventReceivedN(RequestId requestId, Tizen::Base::Collection::IList* pArgs);
+
+       virtual void OnAppControlRequestReceivedN(RequestId reqId, const Tizen::Base::String& providerId, const Tizen::Base::String& operationId, const Tizen::Base::String& category, const Tizen::Base::String* pDataType, const Tizen::Base::String* pUriScheme, Tizen::Base::Collection::IList* pArgs);
+
+       virtual void OnAppControlRequestReceived(RequestId reqId, const Tizen::Base::String& operationId, const Tizen::Base::String* pUriData, const Tizen::Base::String* pMimeType, const Tizen::Base::Collection::IMap* pExtraData);
+
+       void InitializeListeners(void);
+public:
+       /**
+        * [Test] UiApp must have a factory method that creates an instance of itself.
+        */
+       static Tizen::App::UiApp* CreateInstance(void);
+
+private:
+       bool __bAppControlEnabled;
+       bool __bImgAppControlLaunched;
+
+       RequestId __currentRequestId;
+       Tizen::App::AppCtrlResult __currentAppControlResult;
+
+       Tizen::Base::Collection::HashMap* __pResultList;
+       Tizen::Base::String __operationId;
+
+       IListViewStateChangeListener* __pCurrentListToUpdate;
+       INotificationListener* __pNotificationListener;
+
+
+       AppControlState __inputSource;
+       AppControlView __currentView;
+
+       FileType __currentFileType;
+       SelectionMode __currentSelectionMode;
+};
+
+#endif //_MY_FILES_H_
diff --git a/inc/MfOtherMediaMetaData.h b/inc/MfOtherMediaMetaData.h
new file mode 100644 (file)
index 0000000..1c5596b
--- /dev/null
@@ -0,0 +1,84 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfOtherMediaMetaData.h
+ * @brief: This file contains the declaration of OtherMediaMetaData class,
+ * which acts as a Other Meta Data Provider.
+ */
+
+#ifndef _MF_OTHER_MEDIA_METADATA_H_
+#define _MF_OTHER_MEDIA_METADATA_H_
+
+#include "MfMediaMetaData.h"
+
+class OtherMediaMetaData
+       : public MediaMetaData
+{
+public:
+       //! Constructor of the class.
+       /*!@fn OtherMediaMetaData()
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       OtherMediaMetaData(void);
+
+       //! Destructor of the class.
+       /*!@fn ~OtherMediaMetaData()
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~OtherMediaMetaData(void);
+
+       //!It will act as a getter function for the file format.
+       /*! @fn GetFileFormat(void)
+        * @brief A public member returns the file format in the form of string pointer
+        * @param no parameters
+        * @return file format in the form of String Pointer
+        */
+       Tizen::Base::String* GetFileFormat(void);
+
+       //!It will act as a setter function for the file format.
+       /*! @fn SetFileFormat(Tizen::Base::String *fileFormat)
+        * @brief A public member taking one string argument and set it to the private member variable
+        * @param One string pointer
+        * @return void
+        */
+       void SetFileFormat(Tizen::Base::String* PFileFormat);
+
+private:
+       // Copy Constructor of the class.
+       /*@fn OtherMediaMetaData(const OtherMediaMetaData&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       OtherMediaMetaData(const OtherMediaMetaData&);
+
+       // Assignment operator of the class.
+       /*@fn OtherMediaMetaData& operator = (const OtherMediaMetaData &otherMediaMetaData)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       OtherMediaMetaData& operator =(const OtherMediaMetaData& otherMediaMetaData);
+
+private:
+       Tizen::Base::String* __pFileFormat;
+};
+
+#endif /* _MF_OTHER_MEDIA_METADATA_H_ */
diff --git a/inc/MfPanelFactory.h b/inc/MfPanelFactory.h
new file mode 100644 (file)
index 0000000..3c2ad6a
--- /dev/null
@@ -0,0 +1,51 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfPanelFactory.h
+ * @brief: This file contains the declaration of MfMyFilesAppPanelFactory class, which manages
+ * all the panel containers used across the application.
+ */
+
+#ifndef _MF_PANEL_FACTORY_H_
+#define _MF_PANEL_FACTORY_H_
+
+#include <FUi.h>
+
+class PanelFactory
+       : public Tizen::Ui::Scenes::IPanelFactory
+{
+public:
+       //! Constructor of the class.
+       /*!@fn MfMyFilesAppPanelFactory(void)
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+
+       PanelFactory(void);
+
+       //! Destructor of the class.
+       /*!@fn ~MfMyFilesAppPanelFactory(void)
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~PanelFactory(void);
+
+       virtual Tizen::Ui::Controls::Panel* CreatePanelN(const Tizen::Base::String& panelId, const Tizen::Ui::Scenes::SceneId& sceneId);
+};
+
+#endif // _MF_PANEL_FACTORY_H_
diff --git a/inc/MfSceneRegister.h b/inc/MfSceneRegister.h
new file mode 100644 (file)
index 0000000..32a6d1e
--- /dev/null
@@ -0,0 +1,86 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSceneRegister.h
+ * @brief:This file contains declaration of SceneRegister class, which
+ * registers all the scenes used in the application.
+ */
+
+#ifndef _MF_SCENE_REGISTER_H_
+#define _MF_SCENE_REGISTER_H_
+
+extern const wchar_t* IDSCN_MAIN_FORM;
+extern const wchar_t* IDSCN_FILE_DETAIL_FORM;
+extern const wchar_t* IDSCN_EDIT_FORM;
+extern const wchar_t* IDSCN_CREATE_FOLDER_FORM;
+extern const wchar_t* IDSCN_ROOT_DIRECTORY_FORM;
+extern const wchar_t* IDSCN_SUB_DIRECTORY_FORM;
+extern const wchar_t* IDSCN_SUB_DIRECTORY_FORM1;
+extern const wchar_t* IDSCN_ROOT_DIRECTORY_MOVE_COPY_FORM;
+extern const wchar_t* IDSCN_SUB_DIRECTORY_MOVE_COPY_FORM;
+extern const wchar_t* IDSCN_SUB_DIRECTORY_MOVE_COPY_FORM1;
+extern const wchar_t* IDSCN_RENAME_FORM;
+extern const wchar_t* IDSCN_SEARCH_FORM;
+extern const wchar_t* IDSCN_TOP_MOST_SELECTION_FORM;
+extern const wchar_t* IDSCN_SUB_FOLDER_SELECTION_FORM;
+extern const wchar_t* IDSCN_SUB_FOLDER_SELECTION_FORM1;
+
+class SceneRegister
+{
+public:
+       //!Static member which Registers all the scenes
+       /*!@fn RegisterAllScenes(void)
+        * @brief Register all the scenes which will be needed in the application
+        * @param Takes no parameters
+        * @return No value returned */
+       static void RegisterAllScenes(void);
+
+private:
+       // Copy Constructor of the class.
+       /*@fn MfMyFilesAppSceneRegister(const MfMyFilesAppSceneRegister&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       SceneRegister(const SceneRegister&);
+
+       // Assignment operator of the class.
+       /*@fn MfMyFilesAppSceneRegister& operator = (const MfMyFilesAppSceneRegister &MfMyFilesAppSceneRegister)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       SceneRegister& operator =(const SceneRegister& MfMyFilesAppSceneRegister);
+
+private:
+       //! Constructor of the class.
+       /*!@fn SceneRegister()
+        * @brief A private member taking no arguments, has an empty implementation.
+        * @param Takes no parameters
+        * @return No value returned */
+       SceneRegister(void);
+
+       //! Destructor of the class.
+       /*!@fn ~SceneRegister()
+        * @brief A private virtual member taking no arguments, has an empty implementation.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~SceneRegister(void);
+};
+
+#endif /* _MF_SCENE_REGISTER_H_ */
diff --git a/inc/MfSceneTransitionPolicyProvider.h b/inc/MfSceneTransitionPolicyProvider.h
new file mode 100644 (file)
index 0000000..0493a5a
--- /dev/null
@@ -0,0 +1,50 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSceneTransitionPolicyProvider.h
+ * @brief: This file contains the declaration of the SceneTransitionPolicyProvider class,
+ * which provides policy for Scene Transition across the application.
+ */
+
+#ifndef _MF_SCENE_TRANSITION_POLICY_PROVIDER_H_
+#define _MF_SCENE_TRANSITION_POLICY_PROVIDER_H_
+
+#include <FUi.h>
+
+class SceneTransitionPolicyProvider
+       : public Tizen::Ui::Scenes::ISceneTransitionPolicyProvider
+{
+public:
+       //! Constructor of the class.
+       /*!@fn SceneTransitionPolicyProvider()
+        * @brief A public member taking no arguments, has an empty implementation.
+        * @param Takes no parameters
+        * @return No value returned */
+       SceneTransitionPolicyProvider(void);
+
+       //! Destructor of the class.
+       /*!@fn ~SceneTransitionPolicyProvider()
+        * @brief A public virtual member taking no arguments, has an empty implementation.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~SceneTransitionPolicyProvider(void);
+
+       virtual Tizen::Ui::Scenes::SceneId GetNextScene(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Base::Collection::IList* pArgs);
+};
+
+#endif // _MF_SCENE_TRANSITION_POLICY_PROVIDER_H_
diff --git a/inc/MfSearchForm.h b/inc/MfSearchForm.h
new file mode 100644 (file)
index 0000000..8c1b0ab
--- /dev/null
@@ -0,0 +1,441 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSearchForm.h
+ * @brief: This file contains declaration of  of SearchForm class.
+ */
+
+#ifndef _MF_SEARCH_FORM_H_
+#define _MF_SEARCH_FORM_H_
+
+#include <FApp.h>
+#include <FAppPkg.h>
+#include <FContent.h>
+#include <FGraphics.h>
+#include <FIo.h>
+#include <FSysEnvironment.h>
+#include <FUi.h>
+
+#include "MfBaseForm.h"
+#include "MfFolderNavigationPresentationModel.h"
+#include "MfContentListItem.h"
+#include "MfCustomAppControl.h"
+#include "MfDirectoryEntry.h"
+#include "MfINotificationListener.h"
+#include "MfMyFilesApp.h"
+#include "MfSceneRegister.h"
+#include "MfSearchPresentationModel.h"
+#include "MfThumbnailManager.h"
+#include "MfTypes.h"
+#include "MfUtility.h"
+
+class SearchForm
+: public BaseForm
+  , public Tizen::App::IAppControlResponseListener
+  , public Tizen::App::Package::IPackageInstallationEventListener
+  , public Tizen::App::Package::IPackageInstallationResponseListener
+  , public Tizen::Ui::IKeypadEventListener
+  , public Tizen::Ui::ITextEventListener
+  , public Tizen::Ui::Controls::ISearchBarEventListener
+  , public Tizen::Io::IFileEventListener
+  {
+public:
+       //! Constructor of the class.
+       /*!@fn SearchForm()
+        * @brief Initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       SearchForm(void);
+
+       //! Destructor of the class.
+       /*!@fn ~SearchForm()
+        * @brief Frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~SearchForm(void);
+
+       //!Initializes the SearchForm
+       /*! @fn Initialize()
+        * @brief constructs the SearchForm
+        * @param No parameters
+        * @return true if form is constructed successfully , false otherwise
+        */
+       bool Initialize(void);
+
+       result OnInitializing(void);
+       result OnTerminating(void);
+
+       //IActionEventListener
+       void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+       //IFormBackEventListener
+       void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+
+       // IListViewItemEventListener
+       virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus state);
+       virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
+       virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);
+
+       //IListViewItemProvider
+       virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);
+       virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
+       virtual int GetItemCount(void);
+
+       //ISceneEventListener
+       virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+       virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+       //ISceneManagerEventListener
+       virtual void OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId);
+       virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId);
+
+       //IKeyPadActionEventListener
+       void OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction);
+       void OnKeypadClosed(Tizen::Ui::Control& source);
+       void OnKeypadOpened(Tizen::Ui::Control& source);
+       void OnKeypadWillOpen(Tizen::Ui::Control& source);
+
+       //ITextEventListener
+       void OnTextValueChangeCanceled(const Tizen::Ui::Control& source);
+       void OnTextValueChanged(const Tizen::Ui::Control& source);
+
+       //SearchBar Control
+       void OnSearchBarModeChanged(Tizen::Ui::Controls::SearchBar& source, Tizen::Ui::Controls::SearchBarMode mode);
+
+       //IAppControlEventListener
+       //virtual void OnAppControlCompleted(const Tizen::Base::String& providerId, const Tizen::Base::String& operationId, const Tizen::Base::Collection::IList* pResultList);
+       //! IAppControlResponseListener
+       /*! @fn OnAppControlCompleted(const Tizen::Base::String& providerId, const Tizen::Base::String& operationId, const Tizen::Base::Collection::IList* pResultList)
+        * @brief Called when the application control is completed. The client can get callback result for some application controls by implementing this listener.
+        */
+       void OnAppControlCompleteResponseReceived(const Tizen::App::AppId& appId, const Tizen::Base::String& operationId, Tizen::App::AppCtrlResult appControlResult, const Tizen::Base::Collection::IMap* pExtraData);
+
+       //IFileNotificationListener
+       void OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs);
+
+       //IContentSearchListener
+       virtual void OnFolderSearchStarted(Tizen::Base::String& folderName);
+       virtual void OnAllFoldersSearchCompleted(void);
+
+       //from IPackageInstallationEventListener
+       virtual void OnPackageInstallationCompleted(const Tizen::App::PackageId& packageId, Tizen::App::Package::PackageInstallationResult installationResult);
+       virtual void OnPackageInstallationInProgress(const Tizen::App::PackageId& packageId, int progress);
+       virtual void OnPackageUninstallationCompleted(const Tizen::App::PackageId& packageId, bool uninstallationResult);
+       //
+       //      //IPackageInstallationResponseListener
+       virtual void OnPackageInstallationResponseReceived(const Tizen::App::PackageId& packageId, Tizen::App::Package::PackageInstallationResult installationResult);
+       virtual void OnPackageInstallationInProgressResponseReceived(const Tizen::App::PackageId& packageId, int progress);
+
+       //IFileProcessingListener
+       /*! A public virtual member function of IFileProcessingListener taking and returning no arguments.
+        * @fn OnFileManagingStart(void)
+        * @brief Used to show the FileProcessing Popup.
+        * @param No parameters
+        * @return No Return Values.
+        */
+       void OnFileManagingStart(void);
+
+       /*! A public virtual member function of IFileProcessingListener returning no arguments.
+        * @fn OnFileManagingStop(FileManagingResult fileManagingResult)
+        * @brief Used to hide the FileProcessing Popup.
+        * @param [FileManagingResult]Enumerator indicating the result of file processing.
+        * @return No Return Values.
+        */
+       void OnFileManagingStop(FileManagingResult fileManagingResult);
+
+       /*! A public purely virtual member function of IListViewStateChangeListener returning no arguments.
+        * @fn OnListViewItemStateChangedNotify(ViewType viewType)
+        * @brief Notifies the form if the view type is changed by the User and accordingly updates the lists.
+        * @param [ViewType] viewType, the enum indicating the selected view type: List, List and Details or Thumbnails.
+        * @return No Return Values.
+        */
+       virtual void OnListViewItemStateChangedNotify(ViewType viewType);
+
+       /*! A public purely virtual member function of IListViewStateChangeListener returning a pointer to the FileListPresentationModel.
+        * @fn  OnThumbnailReceived(ThumbRequest* pThumbReq)
+        * @brief Used to refresh the image of the listitem from the default image to the generated thumbnail.
+        * @param [ThumbRequest] pThumbReq, the structure containing the thumbnail corresponding to a filepath.
+        * @return No Return Values.
+        */
+       virtual void OnThumbnailReceived(ThumbRequest* pThumbReq);
+
+       //IDeviceEventListener
+       virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
+
+       /*!IDeviceNotificationListener
+        * A public callback from the IDeviceNotificationListener taking deviceType and state as argument and returning nothing
+        * @fn OnDeviceChange
+        * @brief Used to handle device event changes. When memory card is inserted, removed then this method will be called
+        * @param ComponentType, String
+        * @return no return value
+        */
+       void OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state);
+
+       //IFileEventListener
+       virtual void OnFileEventOccured(const unsigned long events,const Tizen::Base::String &  path, const unsigned int        eventId);
+
+
+private:
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn CreateDeleteConfirmationPopUp()
+        * @brief Called OnContextItemStateChanged(), used to personalize the Delete Confirmation PopUp.
+        * @param No parameters taken.
+        * @return[result] An ErrorCode.
+        */
+       result CreateDeleteConfirmationPopup(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn CreateFileProgressingPopup()
+        * @brief Called during OnInitializing(), used to personalize the Animation PopUp.
+        * @param No parameters taken.
+        * @return[result] An ErrorCode.
+        */
+       result CreateFileProgressingPopup(void);
+
+       /*
+        * A protected member function returning no arguments.
+        * @fn CreateInstallationConfirmationPopUp(void)
+        * @brief Called to create the InstallationConfirmationPopUp and all controls in it.
+        * @param No parameters taken.
+        * @return Void return type
+        */
+       result CreateInstallationConfirmationPopUp(void);
+
+       /*
+        * A private member function returning no arguments.
+        * @fn CreateInstallationProgressPopUp(void)
+        * @brief Called to create the CreateInstallationProgressPopUp and all controls in it.
+        * @param No parameters taken.
+        * @return Void return type
+        */
+       result CreateInstallationProgressPopUp(void);
+
+       /*
+        * A private member function taking a string as parameter and returning an error code.
+        * @fn DeleteFile(Tizen::Base::String&).
+        * @brief Used to delete the items selected in the Edit view.
+        * @param[String] Filepath of the String to be deleted.
+        * @return An ErrorCode.
+        */
+       void DeleteFile(Tizen::Base::String& filePath);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn HideDeleteConfirmationPopup()
+        * @brief Called to hide the delete confirmation popup.
+        * @param No parameters
+        * @return Void return type
+        */
+       void HideDeleteConfirmationPopup(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn HideFileProgressingPopup()
+        * @brief  Called to hide the Animation PopUp containing the progress bar from the form.
+        * @param No parameters
+        * @return Void return type
+        */
+       void HideFileProgressingPopup(void);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn HideInstallationConfirmationPopup()
+        * @brief  Called to hide the InstallationConfirmationPopup.
+        * @param No parameters
+        * @return Void return type
+        */
+       void HideInstallationConfirmationPopup(void);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn HideInstallationProgressPopup()
+        * @brief  Called to hide the InstallationProgressPopup containing the progress bar from the form.
+        * @param No parameters
+        * @return Void return type
+        */
+       void HideInstallationProgressPopup(void);
+
+       /*
+        * A protected function taking a String parameter and returning no values
+        * @fn LoadDetailForm
+        * @brief Called during OnActionPerformed() Loads the form which shows the details of selected file or folder
+        * @param[String] Fullpath containing the full filepath of the selected directory
+        * @return Void return type
+        */
+       void LoadDetailForm(Tizen::Base::String& Fullpath);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn LoadRenameForm(int index, DirectoryEntry* pDirectory)
+        * @brief Called OnActionPerformed on the ContextItem, initializes the Rename form.
+        * @param [int, DirectoryEntry*] index, of the element from where the context item was clicked, pDirectory, corresponding
+        * file information on DirectoryEntry.
+        * @return Void return type
+        */
+       void LoadRenameForm(int index, DirectoryEntry* pDirectory);
+
+       //!Opens SubDirectory View upon clicking on listview Items
+       /*! @fn LoadSubDirectoryForm
+        * @brief Opens SubDirectory view
+        * @param [Tizen::Base::String, Tizen::Base::String] Full file path and file name of Path of the selected content
+        * @returns No value returned
+        */
+       void LoadSubDirectoryForm(Tizen::Base::String& fullPath, Tizen::Base::String& fileName);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn ShowDeleteConfirmationPopup()
+        * @brief Called to show the delete confirmation popup.
+        * @param No parameters
+        * @return Void return type
+        */
+       void ShowDeleteConfirmationPopup(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn ShowFileProgressingPopup()
+        * @brief  Called to draw the Animation PopUp containing the progress bar on the form.
+        * @param No parameters
+        * @return Void return type
+        */
+       void ShowFileProgressingPopup(void);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn ShowInstallationConfirmationPopup()
+        * @brief Called to show the InstallationConfirmationPopup.
+        * @param No parameters
+        * @return Void return type
+        */
+       void ShowInstallationConfirmationPopup(void);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn ShowInstallationProgressPopup()
+        * @brief Called to show the InstallationProgressPopup.
+        * @param No parameters
+        * @return Void return type
+        */
+       void ShowInstallationProgressPopup(void);
+
+       /*
+        * A Private member function to Start Searching after setting all required parameters
+        * @fn StartSearch()
+        * @param No parameters
+        */
+       void StartSearch(void);
+
+       // Copy Constructor of the class.
+       /*@fn SearchForm(const SearchForm&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       SearchForm(const SearchForm&);
+
+       // Assignment operator of the class.
+       /*@fn SearchForm& operator = (const SearchForm& pSearchForm)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       SearchForm& operator =(const SearchForm& pSearchForm);
+private:
+       bool __searchedAllFolders;
+       bool __isSearchCompleted;
+       bool __isSearchStarted;
+       bool __isCancelClicked;
+       bool __bCheckArgsNull;
+
+       int __itemCount;
+       int __searchItemIndex;
+       int __selectedItemIndexForRename;
+       int __selectedItemIndexForDelete;
+
+       MemoryType __SelectedTab;
+       MemoryType __previouFormTab;
+
+       Tizen::App::Package::PackageManager* __pPackageManager;
+
+       Tizen::Base::Collection::ArrayList* __pContentListFromLastView;
+       Tizen::Base::Collection::ArrayList* __pSearchedContentList;
+       Tizen::Base::String __displayPath;
+       Tizen::Base::String __fileToDelete;
+       Tizen::Base::String __searchText;
+       Tizen::Base::String __previousFormPath;
+       Tizen::Base::String __previousSceneId;
+       Tizen::Base::String __pathOfSelectedFile;
+
+       Tizen::Graphics::Bitmap* __pDummyImage;
+       Tizen::Graphics::Bitmap* __pFolderBitmap;
+       Tizen::Graphics::Rectangle __listViewRectangle;
+
+       Tizen::Ui::Controls::Button* __pCancelDeletion;
+       Tizen::Ui::Controls::Button* __pCancelInstallation;
+       Tizen::Ui::Controls::Button* __pCancelSearch;
+       Tizen::Ui::Controls::Button* __pDelete;
+       Tizen::Ui::Controls::Button* __pFileProgressingCancelButton;
+       Tizen::Ui::Controls::Button* __pInstall;
+
+       Tizen::Ui::Controls::Label* __pDividerLabel;
+       Tizen::Ui::Controls::Label* __pFileProgressingHeaderLabel;
+       Tizen::Ui::Controls::Label* __pFileProgressingLabel;
+       Tizen::Ui::Controls::Label* __pPopUpLabel;
+
+       Tizen::Ui::Controls::ListContextItem* __pItemContext;
+       Tizen::Ui::Controls::ListView* __pListView;
+
+       Tizen::Ui::Controls::Panel* __pPopUpPanel;
+
+       Tizen::Ui::Controls::Popup* __pDeleteConfirmationPopUp;
+       Tizen::Ui::Controls::Popup* __pFileProgressingPopup;
+       Tizen::Ui::Controls::Popup* __pInstallationConfirmationPopUp;
+       Tizen::Ui::Controls::Popup* __pInstallationProgressPopup;
+
+       Tizen::Ui::Controls::Progress* __pFileProgressingProgress;
+
+       Tizen::Ui::Controls::SearchBar* __pSearchBar;
+       Tizen::Ui::Controls::SearchBarMode __searchBarMode;
+
+       Tizen::Io::FileEventManager* __pFileEventManager;
+
+
+       SearchPresentationModel* __pSearchModel;
+       ThumbnailManager* __pThumbnailManager;
+       FolderEntryPresentationModel* __pFolderEntryPM;
+
+       static int searchBackSelected;
+
+       static const int ID_BACK = 100;
+
+       static const int IDA_CONTEXT_DETAIL = 101;
+       static const int IDA_CONTEXT_RENAME = 102;
+       static const int IDA_CONTEXT_DELETE = 103;
+
+       static const int IDA_BTN_POPUP_SEARCH_CANCEL = 200;
+       static const int IDA_CANCEL_INSTALLATION = 303;
+       static const int IDA_INSTALL_APP = 304;
+       static const int IDA_CANCEL_DELETION = 203;
+       static const int IDA_DELETE_FILE = 204;
+
+       static const int IDA_BTN_ANIMATION_POPUP_CANCEL = 300;
+  };
+
+#endif //_MF_SEARCH_FORM_H_
diff --git a/inc/MfSearchPresentationModel.h b/inc/MfSearchPresentationModel.h
new file mode 100644 (file)
index 0000000..fea9ce9
--- /dev/null
@@ -0,0 +1,103 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSearchPresentationModel.h
+ * @brief: This file contains the declaration of class SearchPresentationModel,
+ * which acts as a manager for providing file or folder search information
+ */
+
+#ifndef  _MF_SEARCH_PRESENTATION_MODEL_H_
+#define  _MF_SEARCH_PRESENTATION_MODEL_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FIo.h>
+
+#include "MfFolderEntryEditorPresentationModel.h"
+#include "MfDirectoryEntry.h"
+#include "MfTypes.h"
+
+class SearchPresentationModel
+       : public Tizen::Base::Runtime::Thread
+{
+
+public:
+       //! Constructor of the class.
+       /*!@fn SearchPresentationModel()
+        * @brief Initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       SearchPresentationModel(void);
+
+       //! Destructor of the class.
+       /*!@fn ~SearchPresentationModel()
+        * @brief Frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        */
+       ~SearchPresentationModel(void);
+
+       //! Intiaizes the thread.
+       /*!@fn Init()
+        * @brief Initializes the search thread
+        * @param Takes no parameters
+        * @return returns E_SUCCESS if successfully initialized , E_FAILURE otherwise
+        */
+       result Initialize(void);
+
+       //! Sets the directory to Search.
+       /*!@fn SetFolderToSearch()
+        * @brief Sets the directory to search
+        * @param [Tizen::Base::String] full Path of the directory
+        * @return returns nothing
+        */
+       void SetFolderToSearch(const Tizen::Base::String& folderToSearch);
+
+       //! Sets the text to search.
+       /*!@fn SetStringToSearch()
+        * @brief Sets the text to search
+        * @param [Tizen::Base::String] Search string
+        * @return returns nothing
+        */
+       void SetStringToSearch(const Tizen::Base::String& searchKeyword);
+
+       //! Stops the Search Thread
+       /*!@fn StopSearch()
+        * @brief Stops the Search thread
+        * @param Takes no Parameter
+        * @return returns nothing
+        */
+       void StopSearch(void);
+
+       virtual bool OnStart(void);
+       virtual void OnStop(void);
+       virtual Tizen::Base::Object* Run(void);
+
+private:
+       result Search(void);
+       result Search(const Tizen::Base::String& path);
+
+private:
+       bool __searchToStop;
+
+       Tizen::Base::Collection::ArrayList* __pFolderSearchStartedMessage;
+       Tizen::Base::String __folderToSearch;
+       Tizen::Base::String __searchKeyword;
+
+       FolderEntryPresentationModel* __pFolderEntryPM;
+};
+#endif //_MF_SEARCH_PRESENTATION_MODEL_H_
diff --git a/inc/MfSubBaseFolderEntryForm.h b/inc/MfSubBaseFolderEntryForm.h
new file mode 100644 (file)
index 0000000..2399c47
--- /dev/null
@@ -0,0 +1,600 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSubBaseFolderEntryForm.h
+ * @brief: This file contains the declaration of SubBaseFolderEntryForm class, which acts as a base form for
+ * the TopMostFileFolderListForm and SubFileFolderListForm.
+ */
+
+#ifndef _MF_SUB_BASE_FOLDER_ENTRY_FORM_H_
+#define _MF_SUB_BASE_FOLDER_ENTRY_FORM_H_
+
+#include "MfBaseForm.h"
+#include "MfBaseItemProvider.h"
+#include "MfContentListItem.h"
+#include "MfCreateFolderForm.h"
+#include "MfCustomAppControl.h"
+#include "MfCustomListViewForPopup.h"
+#include "MfDetailsForm.h"
+#include "MfDirectoryEntry.h"
+#include "MfFolderEntryDetailPresentationModel.h"
+#include "MfFolderEntryEditorPresentationModel.h"
+#include "MfFolderEntryPresentationModel.h"
+#include "MfFolderNavigationPresentationModel.h"
+#include "MfIFileEventNotification.h"
+#include "MfINotificationListener.h"
+#include "MfMyFilesApp.h"
+#include "MfSceneRegister.h"
+#include "MfThumbnailItemProviderAndListener.h"
+#include "MfThumbnailManager.h"
+#include "MfTypes.h"
+#include "MfUtility.h"
+
+class SubBaseFolderEntryForm
+       : public BaseForm
+       , public Tizen::App::IAppControlResponseListener
+       , public Tizen::App::Package::IPackageInstallationEventListener
+       , public Tizen::App::Package::IPackageInstallationResponseListener
+       , public Tizen::Io::IFileEventListener
+{
+public:
+       //! Constructor of the class.
+       /*!@fn SubBaseFolderEntryForm(void)
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       SubBaseFolderEntryForm(void);
+
+       //! Destructor of the class.
+       /*!@fn ~SubBaseFolderEntryForm(void)
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~SubBaseFolderEntryForm(void);
+
+
+       //! IListViewStateChangeListener
+       /*! A public virtual member function of IListViewStateChangeListener returning no arguments.
+        * @fn OnListViewItemStateChangedNotify(ViewType viewType)
+        * @brief Notifies the form if the view type is changed by the User and accordingly updates the lists.
+        * @param [ViewType] viewType, the enum indicating the selected view type: List, List and Details or Thumbnails.
+        * @return No Return Values.
+        */
+       virtual void OnListViewItemStateChangedNotify(ViewType viewType);
+       virtual void OnIconListViewItemStateChangeNotify();
+
+       /*! A public virtual member function of IListViewStateChangeListener taking and returning no arguments.
+        * @fn OnFooterStateChangeNotify(void)
+        * @brief Used to personalize the states of the the footeritems of the form.
+        * @param No parameters
+        * @return No Return Values.
+        */
+       virtual void OnFooterStateChangeNotify(void);
+
+       /*! A public virtual member function of IListViewStateChangeListener returning no values.
+        * @fn  OnThumbnailReceived(ThumbRequest* pThumbReq)
+        * @brief Used to refresh the image of the listitem from the default image to the generated thumbnail.
+        * @param [ThumbRequest] pThumbReq, the structure containing the thumbnail corresponding to a filepath.
+        * @return No Return Values.
+        */
+       virtual void OnThumbnailReceived(ThumbRequest* pThumbReq);
+
+       /*! @fn OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status)
+        * @brief Called when the state of an element in the ListContextItem is changed.
+        */
+       virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);
+
+       //! IOrientationEventListener
+       /*! @fn OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus)
+        * @brief Called when an orientation change event occurs.
+        */
+       virtual void OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus);
+
+       //IFileProcessingListener
+       /*! A public virtual member function of IFileProcessingListener taking and returning no arguments.
+        * @fn OnFileManagingStart(void)
+        * @brief Used to show the FileProcessing Popup.
+        * @param No parameters
+        * @return No Return Values.
+        */
+       void OnFileManagingStart(void);
+
+       /*! A public virtual member function of IFileProcessingListener returning no arguments.
+        * @fn OnFileManagingStop(FileManagingResult fileManagingResult)
+        * @brief Used to hide the FileProcessing Popup.
+        * @param [FileManagingResult]Enumerator indicating the result of file processing.
+        * @return No Return Values.
+        */
+       void OnFileManagingStop(FileManagingResult fileManagingResult);
+
+       //! IAppControlEventListener
+       /*! @fn OnAppControlCompleted(const Tizen::Base::String& providerId, const Tizen::Base::String& operationId, const Tizen::Base::Collection::IList* pResultList)
+        * @brief Called when the application control is completed. The client can get callback result for some application controls by implementing this listener.
+        */
+       //virtual void OnAppControlCompleted(const Tizen::Base::String& providerId, const Tizen::Base::String& operationId, const Tizen::Base::Collection::IList* pResultList);
+
+//! IAppControlResponseListener
+       /*! @fn OnAppControlCompleted(const Tizen::Base::String& providerId, const Tizen::Base::String& operationId, const Tizen::Base::Collection::IList* pResultList)
+        * @brief Called when the application control is completed. The client can get callback result for some application controls by implementing this listener.
+        */
+       void OnAppControlCompleteResponseReceived(const Tizen::App::AppId& appId, const Tizen::Base::String& operationId, Tizen::App::AppCtrlResult appControlResult, const Tizen::Base::Collection::IMap* pExtraData);
+       //void OnAppControlStartResponseReceived        (       const AppId &   appId,const Tizen::Base::String &       operationId,result      r);
+
+       //! IFolderEntryProviderListener
+       /*! A public virtual member function of IFolderEntryProviderListener returning a pointer to the FileListPresentationModel.
+        * @fn  GetFileListPM(void)
+        * @brief Used to get the pointer to the FileListPresentationModel Class.
+        * @param No parameters taken.
+        * @return [FileListPresentationModel*] A pointer to the filelistpresentation model.
+        */
+       virtual FolderEntryPresentationModel* GetFoldeEntryPresentationModel(void);
+
+//     //from IPackageInstallationEventListener
+       virtual void OnPackageInstallationCompleted(const Tizen::App::PackageId& packageId, Tizen::App::Package::PackageInstallationResult installationResult);
+       virtual void OnPackageInstallationInProgress(const Tizen::App::PackageId& packageId, int progress);
+       virtual void OnPackageUninstallationCompleted(const Tizen::App::PackageId& packageId, bool uninstallationResult);
+//
+       //IPackageInstallationResponseListener
+       virtual void OnPackageInstallationResponseReceived(const Tizen::App::PackageId& packageId, Tizen::App::Package::PackageInstallationResult installationResult);
+       virtual void OnPackageInstallationInProgressResponseReceived(const Tizen::App::PackageId& packageId, int progress);
+
+       //IFileEventListener
+       virtual void OnFileEventOccured(const unsigned long events,const Tizen::Base::String &  path, const unsigned int        eventId);
+
+protected:
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn CreateDeleteConfirmationPopUp()
+        * @brief Called OnContextItemStateChanged(), used to personalize the Delete Confirmation PopUp.
+        * @param No parameters taken.
+        * @return[result] An ErrorCode.
+        */
+       result CreateDeleteConfirmationPopUp(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn CreateFileProgressingPopup()
+        * @brief Called during OnInitializing(), used to personalize the Animation PopUp.
+        * @param No parameters taken.
+        * @return[result] An ErrorCode.
+        */
+       result CreateFileProgressingPopup(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn CreateFooterControls
+        * @brief Called during OnInitializing(), gets the form Footer, intializes 3 FooterItems and
+        * adds them to the footer of the form.
+        * @param No parameters
+        * @return[result] Result return type containing the error code.
+        */
+       result CreateFooterControls(void);
+
+       /*
+        * A protected member function returning no arguments.
+        * @fn CreateInstallationConfirmationPopUp(void)
+        * @brief Called to create the InstallationConfirmationPopUp and all controls in it.
+        * @param No parameters taken.
+        * @return Void return type
+        */
+       result CreateInstallationConfirmationPopUp(void);
+
+       /*
+        * A protected member function returning no arguments.
+        * @fn CreateInstallationProgressPopUp(void)
+        * @brief Called to create the CreateInstallationProgressPopUp and all controls in it.
+        * @param No parameters taken.
+        * @return Void return type
+        */
+       result CreateInstallationProgressPopUp(void);
+
+       /*
+        * A protected member function taking no parameters and returning an error code.
+        * @fn CreateMoreContextMenu
+        * @brief Called to create a new context menu control to implement the More functionality.
+        * @param No parameters
+        * @return[result] Result return type containing the error code.
+        */
+       result CreateMoreContextMenu(void);
+
+       /*
+        * A protected member function taking no parameters and returning an error code.
+        * @fn CreateSortByPopup()
+        * @brief Called to create a new Popup control containing a listView to perform the Sort functionality.
+        * @param No parameters
+        * @return[result] Result return type containing the error code.
+        */
+       result CreateSortByPopup(void);
+
+       /*
+        * A protected member function taking no parameters and returning an error code.
+        * @fn CreateViewAsPopupControl
+        * @brief Called to create a new Popup control containing a listView to implement the View As functionality.
+        * @param No parameters
+        * @return[result] Result return type containing the error code.
+        */
+       result CreateViewAsPopupControl(void);
+
+       /*
+        * A private member function taking a string as parameter and returning an error code.
+        * @fn DeleteFile(Tizen::Base::String&).
+        * @brief Used to delete the items selected in the Edit view.
+        * @param[String] Filepath of the String to be deleted.
+        * @return An ErrorCode.
+        */
+       result DeleteFile(Tizen::Base::String&);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn HideDeleteConfirmationPopup()
+        * @brief Called to hide the delete confirmation popup.
+        * @param No parameters
+        * @return Void return type
+        */
+       void HideDeleteConfirmationPopup(void);
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn HideFileExtension()
+        * @brief  Called to perform the hide file extension functionality.
+        * @param No parameters
+        * @return Void return type
+        */
+       void HideFileExtension(void);
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn HideFileProgressingPopup()
+        * @brief  Called to hide the Animation PopUp containing the progress bar from the form.
+        * @param No parameters
+        * @return Void return type
+        */
+       void HideFileProgressingPopup(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn HideInstallationConfirmationPopup()
+        * @brief  Called to hide the Installation Confirmation PopUp.
+        * @param No parameters
+        * @return Void return type
+        */
+       void HideInstallationConfirmationPopup(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn HideInstallationProgressPopup()
+        * @brief  Called to hide the Installation Progress Popup.
+        * @param No parameters
+        * @return Void return type
+        */
+       void HideInstallationProgressPopup(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn HideSortByPopup()
+        * @brief  Called to hide the SortBy PopUp from the form.
+        * @param No parameters
+        * @return Void return type
+        */
+       void HideSortByPopup(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn HidePopup
+        * @brief Called OnActionPerformed on the Cancel button of Popup, hides the popup on the form
+        * if seen.
+        * @param No parameters
+        * @return Void return type
+        */
+       void HideViewAsPopup(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn LoadCreateFolderForm
+        * @brief Called OnActionPerformed on the ContextMenu, initializes the CreateFolder form
+        *  and transfers view to it using SceneManager
+        * @param No parameters
+        * @return Void return type
+        */
+       void LoadCreateFolderForm(void);
+
+       /*
+        * A protected function taking a String parameter and returning no values
+        * @fn LoadDetailForm
+        * @brief Called during OnActionPerformed() Loads the form which shows the details of selected file or folder
+        * @param[String] Fullpath containing the full filepath of the selected directory
+        * @return Void return type
+        */
+       void LoadDetailForm(Tizen::Base::String& Fullpath);
+
+       /*
+        * A protected function taking a no parameter and returning no values
+        * @fn LoadEditForm(void)
+        * @brief Called during OnActionPerformed() Loads the Edit Form
+        * @param No parameters
+        * @return Void return type
+        */
+       void LoadEditForm(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn LoadRenameForm(int index)
+        * @brief Called OnActionPerformed on the ContextItem, initializes the Rename form.
+        * @param [int] index, of the element from where the context item was clicked.
+        * @return Void return type
+        */
+       void LoadRenameForm(int index);
+
+       /*
+        * A protected function taking a no parameter and returning no values
+        * @fn LoadSearchForm(void)
+        * @brief Called during OnActionPerformed() Loads the Search Form
+        * @param No parameters
+        * @return Void return type
+        */
+       void LoadSearchForm(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn SetDefaultSelectionForSortByPopUp(void)
+        * @brief Called to enable the default selection of the SortBy Popup.
+        * @param No parameters
+        * @return An ErrorCode.
+        */
+       result SetDefaultSelectionForSortByPopUp(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn SetDefaultSelectionForViewAsPopUp(void)
+        * @brief Called to enable the default selection of the ViewAs Popup.
+        * @param No parameters
+        * @return An ErrorCode.
+        */
+       result SetDefaultSelectionForViewAsPopUp(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn SetFooterVisibility(int mode)
+        * @brief  Called to maintain the footeritem status of the form.
+        * @param No parameters
+        * @return Void return type
+        */
+       void SetFooterVisibility(int mode);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn ShowDeleteConfirmationPopup()
+        * @brief Called to show the delete confirmation popup.
+        * @param No parameters
+        * @return Void return type
+        */
+       void ShowDeleteConfirmationPopup(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn ShowFileExtension()
+        * @brief  Called to perform the show file extension functionality.
+        * @param No parameters
+        * @return Void return type
+        */
+       void ShowFileExtension(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn ShowFileProgressingPopup()
+        * @brief  Called to draw the Animation PopUp containing the progress bar on the form.
+        * @param No parameters
+        * @return Void return type
+        */
+       void ShowFileProgressingPopup(void);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn ShowInstallationConfirmationPopup()
+        * @brief Called to show the installation confirmation popup.
+        * @param No parameters
+        * @return Void return type
+        */
+       void ShowInstallationConfirmationPopup(void);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn ShowInstallationProgressPopup()
+        * @brief Called to show the progress popup for installation.
+        * @param No parameters
+        * @return Void return type
+        */
+       void ShowInstallationProgressPopup(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn ShowMoreContextMenu()
+        * @brief Called to show context menu.
+        * @param No parameters
+        * @return Void return type
+        */
+       void ShowMoreContextMenu(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn ShowSortByPopup()
+        * @brief Called to draw the SortBy PopUp on the form.
+        * @param No parameters
+        * @return Void return type
+        */
+       void ShowSortByPopup(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn ShowPopup
+        * @brief Called OnActionPerformed on the ContextMenu ViewAs, shows the popup on the form
+        * if seen.
+        * @param No parameters
+        * @return Void return type
+        */
+       void ShowViewAsPopup(void);
+
+       /*
+        * A private member function taking a string as parameter and returning an error code.
+        * @fn SubBaseOnActionPerformed(const Tizen::Ui::Control& source, int actionId).
+        * @brief Used to handle the common cases of the ActionPerformed of both forms.
+        * @param[Control, int] source, of the Event Trigger, actionId, associated with the control.
+        * @return An ErrorCode.
+        */
+       void SubBaseOnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn SwitchViewType(void)
+        * @brief Called to update the corresponding listviews when the view type is changed.
+        * @param No parameters
+        * @return Void return type
+        */
+       void SwitchViewType(void);
+
+       // Copy Constructor of the class.
+       /*@fn SubBaseFolderEntryForm(const SubBaseFolderEntryForm&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       SubBaseFolderEntryForm(const SubBaseFolderEntryForm&);
+
+       // Assignment operator of the class.
+       /*@fn SubBaseFolderEntryForm& operator = (const SubBaseFolderEntryForm& pSubBaseFolderEntryForm)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       SubBaseFolderEntryForm& operator =(const SubBaseFolderEntryForm& pSubBaseFolderEntryForm);
+
+       bool CheckSearchHistory(void);
+
+protected:
+       //ListView CustomItems
+       static const int IDI_ITEM_TITLE_STRING = 101;
+       static const int IDI_ITEM_IMAGE = 102;
+
+       //Header Controls
+       static const int IDA_BTN_HOME = 103;
+       static const int IDA_BTN_UP = 104;
+
+       //ListView ContextItems
+       static const int IDA_CONTEXT_DETAIL = 105;
+       static const int IDA_CONTEXT_RENAME = 106;
+       static const int IDA_CONTEXT_DELETE = 107;
+
+       //FooterItems
+       static const int IDA_BTN_CANCEL = 109;
+       static const int IDA_BTN_EDIT = 110;
+       static const int IDA_BTN_SORT_BY = 111;
+       static const int IDA_BTN_SEARCH = 112;
+       static const int IDA_BTN_MORE = 113;
+
+       //Context Menu
+       static const int IDA_CONTEXT_MENU_VIEW_AS = 116;
+       static const int IDA_CONTEXT_MENU_CREATE_FOLDER = 117;
+       static const int IDA_CONTEXT_MENU_HIDE_EXTENSION = 118;
+       static const int IDA_CONTEXT_MENU_SHOW_EXTENSION = 119;
+
+       static const int IDA_CANCEL_DELETION = 123;
+       static const int IDA_DELETE_FILE = 124;
+
+       //PopUps
+       static const int IDA_BUTTON_OPEN_POPUP = 114;
+       static const int IDA_BUTTON_CLOSE_POPUP = 115;
+
+
+       static const int IDA_BTN_POPUP_CANCEL = 121;
+       static const int IDA_BTN_SORT_POPUP_CANCEL = 122;
+
+       static const int IDA_BTN_ANIMATION_POPUP_CANCEL = 134;
+
+       static const int IDA_CANCEL_INSTALLATION = 303;
+       static const int IDA_INSTALL_APP = 304;
+
+       int _flagViewAsStatus;
+       int _indexToDelete;
+       int _indexTracker;
+       int _listItemCount;
+       int _renameIndex;
+       int _renameOrCreate;
+
+       MemoryType _storageType;
+
+       //FileEventManager
+       Tizen::Io::FileEventManager* _pFileEventManager;
+
+       //PackageManager
+       Tizen::App::Package::PackageManager* _pPackageManager;
+
+       Tizen::Base::Collection::ArrayList* _pFilenames;
+
+       Tizen::Base::String _currentFileName;
+       Tizen::Base::String _extensionKeyName;
+       Tizen::Base::String _filePath;
+       Tizen::Base::String _hideExtension;
+       Tizen::Base::String _showExtension;
+       Tizen::Base::String _tabSelected;
+       Tizen::Base::String _pathOfSelectedFile;
+
+       //UI Controls
+       Tizen::Ui::Controls::Button* _pCancelDeletion;
+       Tizen::Ui::Controls::Button* _pCancelInstallation;
+       Tizen::Ui::Controls::Button* _pCancelSortBy;
+       Tizen::Ui::Controls::Button* _pCancelViewAs;
+       Tizen::Ui::Controls::Button* _pDeleteFile;
+       Tizen::Ui::Controls::Button* _pFileProgressingCancelButton;
+       Tizen::Ui::Controls::Button* _pInstall;
+
+       Tizen::Ui::Controls::ContextMenu* _pMoreContextMenu;
+
+       Tizen::Ui::Controls::Footer* _pFooter;
+       Tizen::Ui::Controls::FooterItem* _pEdit;
+       Tizen::Ui::Controls::FooterItem* _pMore;
+       Tizen::Ui::Controls::FooterItem* _pSearch;
+       Tizen::Ui::Controls::FooterItem* _pSortBy;
+
+       Tizen::Ui::Controls::IconListView* _pIconListView;
+
+       Tizen::Ui::Controls::Label* _pFileProgressingHeaderLabel;
+       Tizen::Ui::Controls::Label* _pFileProgressingLabel;
+
+       Tizen::Ui::Controls::ListContextItem* __pItemContext;
+       Tizen::Ui::Controls::ListView* _pListView;
+       Tizen::Ui::Controls::ListView* _pSortByListView;
+       Tizen::Ui::Controls::ListView* _pViewAsListView;
+
+       Tizen::Ui::Controls::Popup* _pDeleteConfirmationPopUp;
+       Tizen::Ui::Controls::Popup* _pFileProgressingPopup;
+       Tizen::Ui::Controls::Popup* _pInstallationConfirmationPopUp;
+       Tizen::Ui::Controls::Popup* _pInstallationProgressPopup;
+       Tizen::Ui::Controls::Popup* _pSortByPopup;
+       Tizen::Ui::Controls::Popup* _pViewAsPopup;
+
+       Tizen::Ui::Controls::Progress* _pFileProgressingProgress;
+
+       BaseItemProvider* _pBaseItemProvider;
+       CustomListViewForPopup* _pCustomListViewForPopup;
+       FolderEntryDetailPresentationModel _mediaUtility;
+       FolderEntryEditorPresentationModel* _pFileManager;
+       FolderEntryPresentationModel* _pFolderEntryPM;
+       MediaMetaData* _pMediaMetaData;
+       ThumbnailItemProviderAndListener* _pThumbnailItemProvider;
+       ThumbnailManager* _pThumbnailManager;
+};
+
+#endif /* _MF_SUB_BASE_FOLDER_ENTRY_FORM_H_ */
diff --git a/inc/MfSubBaseMoveCopy.h b/inc/MfSubBaseMoveCopy.h
new file mode 100644 (file)
index 0000000..7020712
--- /dev/null
@@ -0,0 +1,316 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSubBaseMoveCopy.h
+ * @brief: This file contains the declaration of SubBaseMoveCopy class, which acts as a base view for TopMostMoveCopy
+ * and SubMoveCopy forms.
+ */
+
+#ifndef _MF_SUB_BASE_MOVE_COPY_H_
+#define _MF_SUB_BASE_MOVE_COPY_H_
+
+#include <FGraphics.h>
+#include <FIo.h>
+#include <FMedia.h>
+#include <FUi.h>
+
+#include "MfBaseForm.h"
+#include "MfBaseItemProvider.h"
+#include "MfContentListItem.h"
+#include "MfCreateFolderForm.h"
+#include "MfCustomListViewForPopup.h"
+#include "MfDirectoryEntry.h"
+#include "MfFolderEntryDetailPresentationModel.h"
+#include "MfFolderEntryEditorPresentationModel.h"
+#include "MfFolderEntryPresentationModel.h"
+#include "MfFolderNavigationPresentationModel.h"
+#include "MfIFileEventNotification.h"
+#include "MfINotificationListener.h"
+#include "MfSceneRegister.h"
+#include "MfThumbnailItemProviderAndListener.h"
+#include "MfThumbnailManager.h"
+#include "MfMyFilesApp.h"
+#include "MfTypes.h"
+#include "MfUtility.h"
+
+class SubBaseMoveCopy
+       : public BaseForm{
+public:
+       virtual FolderEntryPresentationModel* GetFoldeEntryPresentationModel(void);
+
+protected:
+       //! Constructor of the class.
+       /*!@fn SubBaseMoveCopy()
+        * @brief A protected member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       SubBaseMoveCopy(void);
+
+       //! Destructor of the class.
+       /*!@fn ~SubBaseMoveCopy()
+        * @brief A protected virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       ~SubBaseMoveCopy(void);
+
+       // Copy Constructor of the class.
+       /*@fn SubBaseMoveCopy(const SubBaseMoveCopy&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       SubBaseMoveCopy(const SubBaseMoveCopy&);
+
+       /*
+        * A protected member function taking no parameters and returning an error code.
+        * @fn CreateFileExistingPopup
+        * @brief Creates the popup
+        * @param No parameters
+        * @return[result] Result return type containing the error code.
+        */
+       result CreateFileExistingPopup(void);
+
+       /*
+        * A protected member function which creates the FileProcessingPopUp
+        * @fn CreateFileProgressingPopup(void)
+        * @brief It creates the FileProcessingPopUp
+        * @param void
+        * @return result type
+        */
+       result CreateFileProgressingPopup(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn CreateFooterItems().
+        * @brief Called during OnSceneActivated(), gets the form Footer, and customizes it.
+        * @param No parameters.
+        * @return No values returned.
+        */
+       void CreateFooterItems(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn HideFileExistingPopup
+        * @brief Hide the pop up
+        * @param No parameters
+        * @return Void return type
+        */
+       void HideFileExistingPopup(void);
+
+       /*
+        * A protected member function which Hides the FileProcessingPopUp
+        * @fn HideFileProgressingPopup(void)
+        * @brief It HIdes the FileProcessingPopUp
+        * @param void
+        * @return void
+        */
+       void HideFileProgressingPopup(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn LoadCreateFolderForm
+        * @brief Called OnActionPerformed on the ContextMenu, initializes the CreateFolder form
+        *  and transfers view to it using SceneManager
+        * @param No parameters
+        * @return Void return type
+        */
+       void LoadCreateFolderForm(void);
+
+       /*
+        * A protected member function taking no arguments and returning an ErrorCode.
+        * @fn LoadDirectoryForm().
+        * @brief Called OnActionPerformed on the ContextMenu, initializes the CreateFolder form
+        *  and transfers view to it using SceneManager.
+        * @param No parameters.
+        * @return[result] An ErrorCode.
+        */
+       result LoadDirectoryForm(void);
+
+       /*
+        * A protected member function taking and returning no arguments.
+        * @fn ShowFileExistingPopup
+        * @brief While copy, if same file exist in destination folder already, then this
+        * func creates popup
+        * @param No parameters
+        * @return Void return type
+        */
+       void ShowFileExistingPopup(void);
+
+       /*
+        * A protected member function which Show the FileProcessingPopUp
+        * @fn ShowFileProgressingPopup(void)
+        * @brief It Show the FileProcessingPopUp
+        * @param void
+        * @return void
+        */
+       void ShowFileProgressingPopup(void);
+
+       /*
+        * A private member function taking a string as parameter and returning an error code.
+        * @fn SubBaseOnActionPerformed(const Tizen::Ui::Control& source, int actionId).
+        * @brief Used to handle the common cases of the ActionPerformed of both forms.
+        * @param[Control, int] source, of the Event Trigger, actionId, associated with the control.
+        * @return An ErrorCode.
+        */
+       void SubBaseOnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+       /*
+        * A protected member function which excutes on file processing start
+        * @fn OnFileManagingStart()
+        * @brief Called on start of file Processing
+        * @param no Parameters
+        * @return void
+        */
+       void OnFileManagingStart(void);
+
+       /*
+        * A protected member function which excutes on file processing complete
+        * @fn OnFileManagingStop(FileProcessingResult fileProcessingResult)
+        * @brief Called on completion of file Processing
+        * @param FileProcessingResult
+        * @return void
+        */
+       void OnFileManagingStop(FileManagingResult fileProcessingResult);
+
+       /*
+        * A protected member function which updates the file Processing status
+        * @fn OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs)
+        * @brief updates the file Processing status
+        * @param void
+        * @return void
+        */
+       void OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs);
+
+       /*! A protected virtual member function of IListViewStateChangeListener returning no arguments.
+        * @fn OnListViewItemStateChangedNotify(ViewType viewType)
+        * @brief Notifies the form if the view type is changed by the User and accordingly updates the lists.
+        * @param [ViewType] viewType, the enum indicating the selected view type: List, List and Details or Thumbnails.
+        * @return No Return Values.
+        */
+       virtual void OnListViewItemStateChangedNotify(ViewType viewType);
+
+       //! IListViewStateChangeListener
+       /*! A public virtual member function of IListViewStateChangeListener returning a pointer to the FileListPresentationModel.
+        * @fn  OnThumbnailReceived(ThumbRequest* pThumbReq)
+        * @brief Used to refresh the image of the listitem from the default image to the generated thumbnail.
+        * @param [ThumbRequest] pThumbReq, the structure containing the thumbnail corresponding to a filepath.
+        * @return [FileListPresentationModel*] A pointer to the filelistpresentation model.
+        */
+       void OnThumbnailReceived(ThumbRequest* pThumbReq);
+
+       //IListViewItemEventListener
+       /*
+        * It Called when the state of an element in the ListContextItem is changed.
+        */
+       void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);
+
+       /*
+        * It Called when the ListItem is swept.
+        */
+       void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);
+
+       /*
+        * It Called when the item or the element is long pressed.
+        */
+       void OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback);
+
+       /*
+        * It called after form get terminated.
+        */
+       result OnTerminating(void);
+
+       /*
+        * It Called when the current scene is deactivated.
+        */
+       void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+       /*
+        * It Called when an orientation event occurs.
+        */
+       void OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus);
+
+       // Assignment operator of the class.
+       /*@fn SubBaseMoveCopy& operator = (const SubBaseMoveCopy& pSubBaseMoveCopy)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       SubBaseMoveCopy& operator =(const SubBaseMoveCopy& pSubBaseMoveCopy);
+
+protected:
+       static const int IDA_BTN_POPUP_COPY_RENAME = 133;
+       static const int IDA_BTN_POPUP_COPY_REPLACE = 134;
+       static const int IDA_BTN_POPUP_COPY_CANCEL = 135;
+       static const int IDA_BTN_ANIMATION_POPUP_CANCEL = 136;
+
+       static const int IDA_BTN_MOVE = 118;
+       static const int IDA_BTN_PASTE = 119;
+       static const int IDA_BTN_CREATE_FOLDER = 120;
+       static const int IDA_BTN_CANCEL = 121;
+       static const int IDA_BTN_HOME = 137;
+       static const int IDA_BTN_UP = 138;
+
+       static const int IDA_STORAGE_TYPE_PHONE = 200;
+       static const int IDA_STORAGE_TYPE_SDCARD = 201;
+       static const int IDA_STORAGE_TYPE_USB = 202;
+
+       int _fileManagedCount;
+
+       MoveCopySource _moveCopySource;
+
+       Tizen::Base::Collection::ArrayList* _pFileNames;
+       Tizen::Base::String _rootPath;
+
+       Tizen::Ui::Controls::Button* _pCopyCancelButton;
+       Tizen::Ui::Controls::Button* _pCopyRenameButton;
+       Tizen::Ui::Controls::Button* _pCopyReplaceButton;
+       Tizen::Ui::Controls::Button* _pFileProgressingCancelButton;
+
+       Tizen::Ui::Controls::Footer* _pFooter;
+       Tizen::Ui::Controls::FooterItem* _pCancel;
+       Tizen::Ui::Controls::FooterItem* _pCopy;
+       Tizen::Ui::Controls::FooterItem* _pCreateFolder;
+       Tizen::Ui::Controls::FooterItem* _pMove;
+       Tizen::Ui::Controls::FooterItem* _pPaste;
+
+       Tizen::Ui::Controls::IconListView* _pIconListView;
+
+       Tizen::Ui::Controls::Label* _pDisplayPathLabel;
+       Tizen::Ui::Controls::Label* _pFileProgressingHeaderLabel;
+       Tizen::Ui::Controls::Label* _pFileProgressingLabel;
+       Tizen::Ui::Controls::ListView* _pListView;
+
+       Tizen::Ui::Controls::Popup* _pFileExistingPopup;
+       Tizen::Ui::Controls::Popup* _pFileProgressingPopup;
+
+       Tizen::Ui::Controls::Progress* _pFileProgressingProgress;
+
+       BaseItemProvider* _pBaseItemProvider;
+       FolderEntryDetailPresentationModel _pMediaUtility;
+       FolderEntryEditorPresentationModel* _pFileManager;
+       FolderEntryPresentationModel* _pFolderEntryPM;
+       MediaMetaData* _pMediaMetaData;
+       ThumbnailItemProviderAndListener* _pThumbnailItemProvider;
+       ThumbnailManager* _pThumbnailManager;
+
+       static Tizen::Base::Integer sourceFormOption;
+
+       bool setMediaPath;
+       Tizen::Base::String deviceState;
+};
+#endif
diff --git a/inc/MfSubBaseSelectionForm.h b/inc/MfSubBaseSelectionForm.h
new file mode 100644 (file)
index 0000000..916ec1d
--- /dev/null
@@ -0,0 +1,211 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSubBaseSelectionForm.h
+ * @brief: This file contains declaration of SubBaseSelection class, which acts as a view for traversing SubDirectories
+ * in the AppControl.
+ */
+
+#ifndef _MF_SUB_BASE_SELECTION_FORM
+#define _MF_SUB_BASE_SELECTION_FORM
+
+#include <FMedia.h>
+
+#include "MfBaseForm.h"
+#include "MfContentListItem.h"
+#include "MfFolderEntryEditorPresentationModel.h"
+
+class SubBaseSelection
+       : public BaseForm
+       , public Tizen::Media::IPlayerEventListener
+{
+public:
+       //! Constructor of the class.
+       /*!@fn SubBaseSelection()
+        * @brief A protected member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       SubBaseSelection(void);
+
+       //! Destructor of the class.
+       /*!@fn ~SubBaseSelection()
+        * @brief A protected virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       ~SubBaseSelection(void);
+
+       /*
+        * A public member function taking index and width as argument and returning a ContentListItem
+        * @fn CreateDefaultContentItem
+        * @brief Used to create the Custom Item in the listview when normal view is selected. This function creates CustomItem for import view
+        * @param int, int
+        * @return ContentListItem
+        */
+       ContentListItem* CreateDefaultContentItem(int index, int itemWidth);
+
+       //IPlayerEventListener
+       virtual void OnPlayerOpened(result r);
+       virtual void OnPlayerEndOfClip(void);
+       virtual void OnPlayerBuffering(int percent);
+       virtual void OnPlayerErrorOccurred(Tizen::Media::PlayerErrorReason r);
+       virtual void OnPlayerInterrupted(void);
+       virtual void OnPlayerReleased(void);
+       virtual void OnPlayerSeekCompleted(result r);
+       virtual void    OnPlayerAudioFocusChanged (void);
+
+       //IListViewItemProvider
+       virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);
+       virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
+       virtual int GetItemCount(void);
+
+       /*! A public virtual member function of IListViewStateChangeListener returning no arguments.
+        * @fn OnListViewItemStateChangedNotify(ViewType viewType)
+        * @brief Notifies the form if the view type is changed by the User and accordingly updates the lists.
+        * @param [ViewType] viewType, the enum indicating the selected view type: List, List and Details or Thumbnails.
+        * @return No Return Values.
+        */
+       virtual void OnListViewItemStateChangedNotify(ViewType viewType);
+
+       /*! A public virtual member function of IListViewStateChangeListener returning a pointer to the FileListPresentationModel.
+        * @fn  OnThumbnailReceived(ThumbRequest* pThumbReq)
+        * @brief Used to refresh the image of the listitem from the default image to the generated thumbnail.
+        * @param [ThumbRequest] pThumbReq, the structure containing the thumbnail corresponding to a filepath.
+        * @return [FileListPresentationModel*] A pointer to the filelistpresentation model.
+        */
+       virtual void OnThumbnailReceived(ThumbRequest* pThumbReq);
+
+protected:
+       /*
+        * A private member function taking no argument and returning a result
+        * @fn CreateLabelControl
+        * @brief  Creates the display path label and number of file selected count label
+        * @param No parameters.
+        * @return result
+        */
+       result CreateLabelControl(void);
+
+       /*
+        * A private member function taking no arguments and returning a result
+        * @fn InitializeAppRegistry
+        * @brief  Called within ShowParentDirectoryView() to change the path displayed on the display label.
+        * @param No parameters.
+        * @return result
+        */
+       result InitializeAppRegistry(void);
+
+       /*
+        * A private which takes no arguments and returns nothing
+        * @fn InitializePlayer
+        * @brief Used to initialize the audio player when any audio file is opened
+        * @param void
+        * @return no return value
+        */
+       void InitializePlayer(void);
+
+       /*
+        * A private member function taking mediaFilepath and PlayerCurrentState as argument and returning nothing
+        * @fn LoadMusicPlayer
+        * @brief used to load the music player for play, pause and stop of audio files
+        * @param String, PlayerState
+        * @return no return value
+        */
+       void LoadMusicPlayer(const Tizen::Base::String& mediaFilepath, Tizen::Media::PlayerState PlayerCurrentState);
+
+       /*
+        * A private member function taking a string as parameter and returning an error code.
+        * @fn SubBaseOnActionPerformed(const Tizen::Ui::Control& source, int actionId).
+        * @brief Used to handle the common cases of the ActionPerformed of both forms.
+        * @param[Control, int] source, of the Event Trigger, actionId, associated with the control.
+        * @return An ErrorCode.
+        */
+       void SubBaseOnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+       // Copy Constructor of the class.
+       /*@fn SubBaseSelection(const SubBaseSelection&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       SubBaseSelection(const SubBaseSelection&);
+
+       // Assignment operator of the class.
+       /*@fn SubBaseSelection& operator = (const SubBaseSelection& pSubBaseSelection)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       SubBaseSelection& operator =(const SubBaseSelection& pSubBaseSelection);
+
+       void ClearSelectedItems(Tizen::Ui::Controls::ListView& listView);
+       void ResetFooter(void);
+
+protected:
+       static const int IDA_BTN_ATTACH = 202;
+       static const int IDA_BTN_CANCEL = 203;
+       static const int IDA_BTN_IMPORT = 204;
+       static const int IDA_BTN_EXPORT = 205;
+       static const int IDA_BTN_CREATE_FOLDER = 206;
+
+       static const int IDS_ITEM_TITLE_STRING = 106;
+       static const int ID_ITEM_IMAGE = 107;
+
+       int _currentAudioPlayIndex;
+       int _previousAudioSelected;
+       int _storePreviousIndex;
+
+       AnnexStyle _annexStyle;
+       AppControlView _currentViewStyle;
+       FileType _currentFileType;
+       MemoryType _storageType;
+       SelectionMode _selectionMode;
+       SortByType _storedSortStyle;
+
+       Tizen::Base::Collection::ArrayList* _pFilenames;
+       Tizen::Base::String _itemSelectedCount;
+       Tizen::Base::String _rootMediaPath;
+       Tizen::Base::String _rootStoragePath;
+
+       Tizen::Ui::Controls::Footer* _pFooter;
+       Tizen::Ui::Controls::FooterItem* _pAttach;
+       Tizen::Ui::Controls::FooterItem* _pCancel;
+       Tizen::Ui::Controls::FooterItem* _pCreateFolder;
+       Tizen::Ui::Controls::FooterItem* _pExport;
+       Tizen::Ui::Controls::FooterItem* _pImport;
+
+       Tizen::Ui::Controls::Header* _pHeader;
+
+       Tizen::Ui::Controls::Label* _pLabelNumberOfItems;
+       Tizen::Ui::Controls::ListAnnexStyle _listAnnexStyle;
+       Tizen::Ui::Controls::ListView* _pListView;
+
+
+       Tizen::Graphics::Bitmap* _pAudioPause;
+       Tizen::Graphics::Bitmap* _pAudioPlay;
+       Tizen::Graphics::Bitmap* _pAudioPlayPressed;
+       Tizen::Graphics::Bitmap* _pDummyImage;
+       Tizen::Graphics::Bitmap* _pFolderBitmap;
+
+       Tizen::Media::Player* _pAudioPlayer;
+
+       FolderEntryEditorPresentationModel* _pFileManager;
+       FolderEntryPresentationModel* _pFolderEntryPM;
+       ThumbnailManager* _pThumbnailManager;
+       Tizen::Graphics::Rectangle __defaultListViewBounds;
+};
+
+#endif
diff --git a/inc/MfSubFolderFileListForm.h b/inc/MfSubFolderFileListForm.h
new file mode 100644 (file)
index 0000000..c396629
--- /dev/null
@@ -0,0 +1,195 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSubFolderFileListForm.h
+ * @brief: This file contains the declaration of SubFolderFileListForm class, which acts as a media explorer displaying a list of all the files in the sub directories of the root directory opt/Media/
+ * and defines a set of operations that can be done with the files like edit, view etc.
+ */
+
+#ifndef _MF_SUB_FOLDER_FILE_LIST_FORM_
+#define _MF_SUB_FOLDER_FILE_LIST_FORM_
+
+#include <FGraphics.h>
+#include <FMedia.h>
+#include <FShell.h>
+#include <FUi.h>
+
+#include "MfSubBaseFolderEntryForm.h"
+
+class SubFolderFileListForm
+       : public SubBaseFolderEntryForm
+       , public Tizen::Ui::IDataBindingListener
+{
+public:
+       //! Constructor of the class.
+       /*!@fn SubFolderFileListForm(void)
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       SubFolderFileListForm(void);
+
+       //! Destructor of the class.
+       /*!@fn ~SubFolderFileListForm(void)
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~SubFolderFileListForm(void);
+
+       /*!
+        * @fn Initialize()
+        * @param Takes no parameters
+        * @return bool value
+        */
+       bool Initialize(void);
+
+       //Initialises all the members of the class
+       /*!
+        * @fn OnInitializing()
+        * @param Takes no parameters
+        * @return result value
+        */
+       result OnInitializing(void);
+
+       /*! @fn OnTerminating(void);
+        * @brief Called just before the form is deleted.
+        */
+       result OnTerminating(void);
+
+       // Generated call-back functions
+public:
+       //IDeviceEventListener
+       virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
+
+       //IActionEventListener
+       virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+       //IDataBindingEventListener
+       virtual void OnDataBindingSourceUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName
+                                                                                  , const Tizen::Base::String& propertyName);
+       virtual void OnDataBindingTargetUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName
+                                                                                  , const Tizen::Base::String& propertyName);
+       virtual void OnDataBindingValidationFailed(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName
+                                                                                         , const Tizen::Base::String& propertyName, Tizen::Ui::DataBindingDestinationType destType);
+
+       // IFormBackEventListener
+       virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+
+       //IListViewItemEventListener
+       virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
+
+       //ISceneEventListener
+       virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+       virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+       //ISceneManagerEventListener
+       virtual void OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId);
+       virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId);
+
+       //IDeviceNotificationListener
+       void OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state);
+
+       //IFileEventNotification
+       void OnFileEventExecuted(const Tizen::Base::String& path, const unsigned long eventId);
+
+       // IFileNotificationListener
+       void OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs);
+
+       //IFileEventListener
+       virtual void OnFileEventOccured(const unsigned long events,const Tizen::Base::String &  path, const unsigned int        eventId);
+
+private:
+       /*
+        * A private member function returning no arguments.
+        * @fn SetHeaderTitleText(Tizen::Base::String& fileName)
+        * @brief Called to set the title text of the header within the form.
+        * @param [String&] fileName, filename of the current Directory.
+        * @return Void return type
+        */
+       void SetHeaderTitleText(Tizen::Base::String& filePath);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn SetNextDisplayPath
+        * @brief Called OnListItemStateChanged to change the path displayed in the label.
+        * @param No parameters.
+        * @return Void return type.
+        */
+       void SetNextDisplayPath(void);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn SetParentDisplayPath
+        * @brief Called within ShowParentDirectoryView() to change the path displayed on the display label.
+        * @param No parameters.
+        * @return Void return type
+        */
+       void SetParentDisplayPath(void);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn ShowHomeView
+        * @brief Called during OnActionPerformed() on Home HeaderItem, m__pHomeHeaderItem, refreshes the view to the Root Media Directory
+        * from anywhere within the form.
+        * @param No parameters
+        * @return Void return type
+        */
+       result ShowHomeView(void);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn ShowParentDirectoryView
+        * @brief Called during OnActionPerformed() on Up HeaderItem, m__pUpHeaderItem, refreshes the view to the
+        * list of files within the parent directory
+        * @param No parameters
+        * @return Void return type
+        */
+       void ShowParentDirectoryView(void);
+
+       // Copy Constructor of the class.
+       /*@fn SubFolderFileListForm(const SubFolderFileListForm&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       SubFolderFileListForm(const SubFolderFileListForm&);
+
+       // Assignment operator of the class.
+       /*@fn SubFolderFileListForm& operator = (const SubFolderFileListForm& pSubFolderFileListForm)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       SubFolderFileListForm& operator =(const SubFolderFileListForm& pSubFolderFileListForm);
+
+public:
+       Tizen::Base::String __displayPath; //Public because of DataBinding with Display Path Label of the Form.
+
+private:
+       int __counter;
+
+       Tizen::Base::String __rootMediaPath;
+       Tizen::Base::String __searchPathName;
+       Tizen::Base::String __previousSceneName;
+
+       Tizen::Ui::Controls::ButtonItem* __pHomeButton;
+       Tizen::Ui::Controls::ButtonItem* __pUpButton;
+       Tizen::Ui::Controls::Header* __pHeader;
+       Tizen::Ui::Controls::Label* __pLabelDisplayPath;
+};
+
+#endif /*_MF_SUB_FOLDER_FILE_LIST_FORM_*/
diff --git a/inc/MfSubFolderMoveCopy.h b/inc/MfSubFolderMoveCopy.h
new file mode 100644 (file)
index 0000000..377fa81
--- /dev/null
@@ -0,0 +1,192 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSubFolderMoveCopy.h
+ * @brief: This file contains the declaration SubFolderMoveCopy class, which loads the form which implements the Copy
+ * and Move Functionalities on the SubDirectoryForm.
+ */
+
+#ifndef _MF_SUB_FOLDER_MOVE_COPY_H_
+#define _MF_SUB_FOLDER_MOVE_COPY_H_
+
+#include "MfSubBaseMoveCopy.h"
+
+class SubFolderMoveCopy
+       : public SubBaseMoveCopy
+       , public Tizen::Ui::IDataBindingListener
+{
+public:
+       //! Constructor of the class.
+       /*!@fn MfMyFilesAppTopMostMoveCopy()
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       SubFolderMoveCopy(void);
+
+       //! Destructor of the class.
+       /*!@fn ~MfMyFilesAppTopMostMoveCopy()
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~SubFolderMoveCopy(void);
+
+       /*!
+        * @fn Initialize()
+        * @param Takes no parameters
+        * @return bool value
+        */
+       bool Initialize(void);
+
+       //Initialises all the members of the class
+       /*!
+        * @fn OnInitializing()
+        * @param Takes no parameters
+        * @return result value
+        */
+       result OnInitializing(void);
+
+       //IDeviceEventListener
+       virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
+
+       //!IActionEventListener
+       /*! @fn OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+        * @brief   Called when an action event occurs on the source control.
+        */
+       virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+       //IDataBindingListener
+       /*
+        * Called when the data transfer for source is completed by the data binding.
+        */
+       virtual void OnDataBindingSourceUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName
+                                                                                  , const Tizen::Base::String& propertyName);
+       /*
+        * Called when the data transfer for target is completed by the data binding
+        */
+       virtual void OnDataBindingTargetUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName
+                                                                                  , const Tizen::Base::String& propertyName);
+       /*
+        *Called when a validation has failed during data transfer.
+        */
+       virtual void OnDataBindingValidationFailed(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName
+                                                                                         , const Tizen::Base::String& propertyName, Tizen::Ui::DataBindingDestinationType destType);
+
+
+       //IListViewItemEventListener
+       virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
+
+       //! ISceneEventListener
+       /*! @fn OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
+        * @brief  Called after setting as current scene.
+        */
+       virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+
+       /*! @fn OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId)
+        * @brief  Called when the current scene is deactivated.
+        */
+       virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+       //ISceneManagerEventListener
+       virtual void OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId);
+       virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId);
+
+       /*!IDeviceNotificationListener
+        * A public callback from the IDeviceNotificationListener taking deviceType and state as argument and returning nothing
+        * @fn OnDeviceChange
+        * @brief Used to handle device event changes. When memory card is inserted, removed then this method will be called
+        * @param ComponentType, String
+        * @return no return value
+        */
+       void OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state);
+
+private:
+       /*
+        * A private member function taking a string holding the currentDirectory filepath
+        * and returning the filepath of the parent directory.
+        * @fn GetParentDirectoryName().
+        * @brief Called OnActionPerformed of the Up Button, navigates to the Parent Form.
+        * @param void No Parameters Taken.
+        * @return[String] containing the filepath of the parent of the current directory.
+        */
+       Tizen::Base::String GetParentDirectoryName(void);
+
+       /*
+        * A private member function taking no arguments and returning an ErrorCode.
+        * @fn LoadParentForm().
+        * @brief Called OnActionPerformed of the Up Button, navigates to the Parent Form.
+        * @param No parameters.
+        * @return[result] An ErrorCode.
+        */
+       result LoadParentForm(void);
+
+       /*
+        * A private member function returning no arguments.
+        * @fn SetHeaderTitleText(Tizen::Base::String& fileName)
+        * @brief Called to set the title text of the header within the form.
+        * @param [String&] fileName, filename of the current Directory.
+        * @return Void return type
+        */
+       void SetHeaderTitleText(Tizen::Base::String& filePath);
+
+       /*
+        * A private member function set the display path.
+        * @fn SetNextDisplayPath().
+        * @brief It sets the display path
+        * @param No parameters.
+        * @return No values returned.
+        */
+       void SetNextDisplayPath(void);
+
+       /*
+        * A private member function set the parent display path.
+        * @fn SetParentDisplayPath().
+        * @brief It sets the parent display path
+        * @param No parameters.
+        * @return No values returned.
+
+        */
+       void SetParentDisplayPath(void);
+
+       /*
+        * A private member function which shows the home view.
+        * @fn ShowHomeView
+        * @brief shows the home views
+        * @param void
+        * @return void
+        */
+       void ShowHomeView(void);
+
+private:
+       static const int IDA_BTN_HOME = 137;
+       static const int IDA_BTN_UP = 138;
+
+       bool __updateFooterCheck;
+
+       int __fileManagedCount;
+       int __viewType;
+
+       MemoryType __storageType;
+
+       Tizen::Base::Integer __receivedStorageType;
+       Tizen::Base::String __displayPath;
+
+       Tizen::Ui::Controls::ButtonItem* __pHomeButton;
+       Tizen::Ui::Controls::ButtonItem* __pUpButton;
+       Tizen::Ui::Controls::Header* __pHeader;
+};
+#endif /*_MF_SUB_FOLDER_MOVE_COPY_H_*/
diff --git a/inc/MfSubFolderSelection.h b/inc/MfSubFolderSelection.h
new file mode 100644 (file)
index 0000000..5571109
--- /dev/null
@@ -0,0 +1,216 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSubFolderSelection.h
+ * @brief: This file contains the declaration of SubFolderSelection class,
+ *  which acts an AppControl for the SubDirectories.
+ */
+
+#ifndef _MF_SUB_FOLDER_FILE_SELECTION_H_
+#define _MF_SUB_FOLDER_FILE_SELECTION_H_
+
+#include "MfSubBaseSelectionForm.h"
+
+class SubFolderSelection
+       : public SubBaseSelection
+       , public Tizen::Ui::IDataBindingListener
+{
+public:
+       //Default constructor for the class
+       /*!
+        * @fn FileListSelectionForm()
+        * @param Takes no parameters
+        * @return No value returned
+        */
+       SubFolderSelection(void);
+
+       //Default Destructor for the class
+       /*!
+        * @fn ~FileListSelectionForm()
+        * @param Takes no parameters
+        * @return No value returned
+        */
+       virtual ~SubFolderSelection(void);
+
+       /*!
+        * @fn Initialize()
+        * @param Takes no parameters
+        * @return bool value
+        */
+       bool Initialize(void);
+
+       //Initialises all the members of the class
+       /*!
+        * @fn OnInitializing()
+        * @param Takes no parameters
+        * @return result value
+        */
+       result OnInitializing(void);
+
+       /*!
+        * @fn OnTerminating()
+        * @param Takes no parameters
+        * @return result value
+        */
+       result OnTerminating(void);
+
+       //IPlayerEventListener
+       virtual void OnPlayerEndOfClip(void);
+       virtual void OnPlayerAudioFocusChanged (void);
+
+       //IDeviceEventListener
+       virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
+
+       //!IActionEventListener
+       /*! @fn OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+        * @brief   Called when an action event occurs on the source control.
+        */
+       virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+       //IListViewItemEventListener
+       virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);
+
+       virtual void OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback);
+       virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
+       virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);
+
+       //! IDataBindingEventListener
+       /*! @fn OnDataBindingSourceUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName, const Tizen::Base::String& propertyName)
+        * @brief Called when the data transfer for source is completed by the data binding.
+        */
+       virtual void OnDataBindingSourceUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName
+                                                                                  , const Tizen::Base::String& propertyName);
+
+       /*! @fn OnDataBindingTargetUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName, const Tizen::Base::String& propertyName)
+        * @brief  Called when the data transfer for target is completed by the data binding.
+        */
+       virtual void OnDataBindingTargetUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName
+                                                                                  , const Tizen::Base::String& propertyName);
+
+       /*! @fn OnDataBindingValidationFailed(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName, const Tizen::Base::String& propertyName, Tizen::Ui::DataBindingDestinationType destType)
+        * @brief Called when a validation has failed during data transfer.
+        */
+       virtual void OnDataBindingValidationFailed(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName
+                                                                                         , const Tizen::Base::String& propertyName, Tizen::Ui::DataBindingDestinationType destType);
+
+       //! ISceneEventListener
+       /*! @fn OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
+        * @brief  Called after setting as current scene.
+        */
+       virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+
+       /*! @fn OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId)
+        * @brief  Called when the current scene is deactivated.
+        */
+       virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+       /*!IDeviceNotificationListener
+        * A public callback from the IDeviceNotificationListener taking deviceType and state as argument and returning nothing
+        * @fn OnDeviceChange
+        * @brief Used to handle device event changes. When memory card is inserted, removed then this method will be called
+        * @param ComponentType, String
+        * @return no return value
+        */
+
+       //ISceneManagerEventListener
+       virtual void OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId);
+       virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId);
+
+       void OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state);
+
+private:
+       /*
+        * A private member function returning no arguments.
+        * @fn SetHeaderTitleText(Tizen::Base::String& fileName)
+        * @brief Called to set the title text of the header within the form.
+        * @param [String&] fileName, filename of the current Directory.
+        * @return Void return type
+        */
+       void SetHeaderTitleText(Tizen::Base::String& filePath);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn SetNextDisplayPath
+        * @brief Called OnListItemStateChanged to change the path displayed in the label.
+        * @param No parameters.
+        * @return Void return type.
+        */
+       void SetNextDisplayPath(void);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn SetParentDisplayPath
+        * @brief Called within ShowParentDirectoryView() to change the path displayed on the display label.
+        * @param No parameters.
+        * @return Void return type
+        */
+       void SetParentDisplayPath(void);
+
+       /*
+        * A private member function taking no argument and returning no arguments.
+        * @fn ShowHomeView
+        * @brief Called during OnActionPerformed() on Home HeaderItem, refreshes the view to the Root Media Directory
+        * from anywhere within the form.
+        * @param No parameters
+        * @return Void return type
+        *
+        */
+       void ShowHomeView(void);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn ShowParentDirectoryView
+        * @brief Called during OnActionPerformed() on Up HeaderItem, refreshes the view to the
+        * list of files within the parent directory
+        * @param No parameters
+        * @return Void return type
+        */
+       void ShowParentDirectoryView(void);
+
+       // Copy Constructor of the class.
+       /*@fn SubFolderSelection(const SubFolderSelection&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       SubFolderSelection(const SubFolderSelection&);
+
+       // Assignment operator of the class.
+       /*@fn SubFolderSelection& operator = (const SubFolderSelection& pSubFolderSelection)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       SubFolderSelection& operator =(const SubFolderSelection& pSubFolderSelection);
+
+public:
+       Tizen::Base::String text;
+
+private:
+       static const int IDA_BTN_HOME = 200;
+       static const int IDA_BTN_UP = 201;
+
+       Tizen::Base::String __displayPath;
+       Tizen::Base::String __tabSelected;
+       Tizen::Base::String* __pReceivedFilename;
+
+       Tizen::Ui::Controls::ButtonItem* __pHomeButton;
+       Tizen::Ui::Controls::ButtonItem* __pUpButton;
+       Tizen::Ui::Controls::Label* __pLabelDisplayPath;
+};
+
+#endif
diff --git a/inc/MfThumbMgrCommon.h b/inc/MfThumbMgrCommon.h
new file mode 100644 (file)
index 0000000..34e2d25
--- /dev/null
@@ -0,0 +1,99 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfThumbMgrCommon.h
+ * @brief: This file contains ThumbRequest structure , ThumbMgrResultValues enumerator and some static constants.
+ */
+
+#ifndef _MF_THUMB_MGR_COMMON_H_
+#define _MF_THUMB_MGR_COMMON_H_
+
+#include <FGraphics.h>
+#include "MfTypes.h"
+
+//! Thumbnail manager result enum.
+/*! result values specific to thumbnail manager. */
+enum    ThumbMgrResultValues
+{
+       THUMB_MGR_RES_FAILED = -1, /*!< Enum value THUMB_MGR_RES_FAILED. */
+       THUMB_MGR_RES_SUCCESS = 0, /*!< Enum value THUMB_MGR_RES_SUCCESS. */
+       THUMB_MGR_RES_INVALID_REQ, /*!< Enum value THUMB_MGR_RES_INVALID_REQ. */
+       THUMB_MGR_RES_LOW_MEM, /*!< Enum value THUMB_MGR_RES_FAILED. */
+       THUMB_MGR_RES_INVLAID_FILE_FORMAT, /*!< Enum value THUMB_MGR_RES_INVALID_FILE_FORMAT. */
+       THUMB_MGR_RES_UNSUPORTED_IMG_FORMAT, /*!< Enum value THUMB_MGR_RES_UNSUPPORTED_IMG_FORMAT. */
+       THUMB_MGR_RES_MAX /*!< Enum value THUMB_MGR_RES_MAX. */
+};
+
+static const int THUMBNAIL_LAODING_STARTED = 201;
+static const int THUMBNAIL_LAODED = 202;
+static const int THUMBNAIL_CANCELED = 203;
+static const int THUMBNAIL_FAILED = 204;
+static const int THUMBNAIL_TERMINATED = 205;
+static const int THUMBNAIL_LAODING_STOPPED = 207;
+static const int THUMBNAIL_ALREADY_LOADED = 208;
+
+#if 0
+//IThumbnailEventListener Interface
+/*@file: IThumbnailEventListener.h
+ *@brief: This interface defines methods thumbnail manager should implement
+ */
+class IThumbnailEventListener
+{
+       virtual void ThumbNailLodaed(void) = 0;
+       virtual void ThumbnailRequestReceied(void) = 0;
+       virtual void ThumbnailResponseReceied(void) = 0;
+       virtual void ThumbNailLodingDone(void) = 0;
+};
+#endif
+
+
+//ThumbRequest structure
+/*!This structure define thumbnail request structure for sending async request to thumbnail manager
+ * request Id, file path and dimension are the input parameters
+ * bitmap is the output parameter which called is going to use,it's callers responsibility to free the received bitmap
+ */
+class ThumbRequest
+       : public Tizen::Base::Object
+{
+public:
+       int iRquestId;
+       Tizen::Base::String FilePath;
+       Tizen::Graphics::Bitmap* pBitmap;
+       Tizen::Graphics::Dimension* pDim;
+       enum CreateItemSource sourceForm;
+
+       ThumbRequest(enum CreateItemSource currentForm = CREATE_ITEM_SOURCE_TOP_MOST_FILE_LIST)
+       {
+               iRquestId = 0;
+               pBitmap = null;
+               pDim = null;
+               sourceForm = currentForm;
+       }
+       ~ThumbRequest(void)
+       {
+               iRquestId = 0;
+#if 0
+               delete pBitmap;
+#endif
+       }
+       enum CreateItemSource GetCurrentSourceForm(void)
+       {
+               return sourceForm;
+       }
+};
+
+#endif /* _MF_THUMB_MGR_COMMON_H_ */
diff --git a/inc/MfThumbnailItemProviderAndListener.h b/inc/MfThumbnailItemProviderAndListener.h
new file mode 100644 (file)
index 0000000..70e5b10
--- /dev/null
@@ -0,0 +1,238 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfThumbnailItemProviderAndListener.h
+ * @brief: This file contains the declaration ThumbnailItemProviderAndListener class, which acts as an ItemProvider and Listener
+ * for the IconListView control used for the View As Thumbnails Functionality.
+ */
+
+#ifndef _MF_THUMBNAIL_ITEM_PROVIDER_AND_LISTENER_H_
+#define _MF_THUMBNAIL_ITEM_PROVIDER_AND_LISTENER_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FGraphics.h>
+#include <FUi.h>
+#include <FIo.h>
+
+#include "MfCustomAppControl.h"
+#include "MfDirectoryEntry.h"
+#include "MfFolderEntryPresentationModel.h"
+#include "MfFolderEntryEditorPresentationModel.h"
+#include "MfFolderNavigationPresentationModel.h"
+#include "MfIListViewStateChangeListener.h"
+#include "MfSceneRegister.h"
+#include "MfThumbnailManager.h"
+#include "MfUtility.h"
+#include "MfTypes.h"
+
+class ThumbnailItemProviderAndListener
+       : public Tizen::App::IAppControlResponseListener
+       , public Tizen::Ui::Controls::IIconListViewItemEventListener
+       , public Tizen::Ui::Controls::IIconListViewItemProvider
+       , public Tizen::Io::IFileEventListener
+{
+public:
+       //! Constructor of the class.
+       /*!@fn MfThumbnailItemProviderAndListener()
+        * @brief A public member taking the filepath of the parent directory and the flag status indicating the source of the control as parameters.
+        * @param [String, Integer] filePath of the parent directory in String Format, itemStyle integer indicating the source of the stateChange.
+        * @return No value returned */
+       ThumbnailItemProviderAndListener(Tizen::Base::String& filePath, int sourceForm /*, Tizen::Base::Integer& itemStyle*/);
+
+       //! Function used to set the FileListPresentationModel for this class.
+       /*!@fn Construct(FileListPresentationModel* pModel)
+        * @brief Used to get the current instance of the FileListPresentation Model.
+        * @param [FileListPresentationModel*] pModel, pointer to the FileListPresentationModel.
+        * @return An ErrorCode
+        * */
+       result Construct(FolderEntryPresentationModel* pModel);
+
+       //! Destructor of the class.
+       /*!@fn ~MfTopmostFolderFileThumbnailProvider()
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~ThumbnailItemProviderAndListener(void);
+
+       // Generated call-back functions
+public:
+       //! IAppControlEventListener
+       /*! @fn OnAppControlCompleted(const Tizen::Base::String& providerId, const Tizen::Base::String& operationId, const Tizen::Base::Collection::IList* pResultList)
+        * @brief Called when the application control is completed. The client can get callback result for some application controls by implementing this listener.
+        */
+       //virtual void OnAppControlCompleted(const Tizen::Base::String& providerId, const Tizen::Base::String& operationId, const Tizen::Base::Collection::IList* pResultList);
+       //! IAppControlResponseListener
+       /*! @fn OnAppControlCompleted(const Tizen::Base::String& providerId, const Tizen::Base::String& operationId, const Tizen::Base::Collection::IList* pResultList)
+        * @brief Called when the application control is completed. The client can get callback result for some application controls by implementing this listener.
+        */
+       void OnAppControlCompleteResponseReceived(const Tizen::App::AppId& appId, const Tizen::Base::String& operationId, Tizen::App::AppCtrlResult appControlResult, const Tizen::Base::Collection::IMap* pExtraData);
+
+       //! IIconListViewItemEventListener
+       /*! @fn OnIconListViewItemStateChanged(Tizen::Ui::Controls::IconListView& listView, int index, Tizen::Ui::Controls::IconListViewItemStatus status)
+        * @brief This method is called when an element of the IconListViewItem in the IconListView is checked, unchecked, or selected.
+        */
+       virtual void OnIconListViewItemStateChanged(Tizen::Ui::Controls::IconListView& listView, int index, Tizen::Ui::Controls::IconListViewItemStatus status);
+
+       //!IIconListViewItemProvider
+       /*! @fn CreateItem(int index)
+        * @brief This method is called to create an IconListViewItem at a specified index and return a pointer to it.
+        */
+       virtual Tizen::Ui::Controls::IconListViewItem* CreateItem(int index);
+
+       /*! @fn DeleteItem(int index, Tizen::Ui::Controls::IconListViewItem* pItem)
+        * @brief This method is called to delete an IconListViewItem at a specified index of the IconListView.
+        */
+       virtual bool DeleteItem(int index, Tizen::Ui::Controls::IconListViewItem* pItem);
+
+       /*! @fn GetItemCount(void)
+        * @brief Returns the total number of items in the IconListView Control.
+        */
+       virtual int GetItemCount(void);
+
+       //! Function used to receive the generated thumbnails from the ThumbnailManager.
+       /*!@fn OnThumbnailResponseReceived(Tizen::Graphics::Bitmap* pThumb, int iIndex)
+        * @brief This function receives the generated thumbnail for listitem at an index.
+        * @param [Bitmap* , int] pThumb, the thumbnail for index iIndex generated by the thumbnail manager.
+        * @return[result] An ErrorCode
+        * */
+       result OnThumbnailResponseReceived(Tizen::Graphics::Bitmap* pThumb, int iIndex);
+
+       //! Function used to return the index of the selected item in the iconlistview.
+       /*!@fn GetPressedIndex(void)
+        * @brief This function returns the index of the item that is pressed in the IconListView.
+        * @param No Parameters taken.
+        * @return[int] An integer holding the value of a list item index.
+        * */
+       int GetPressedIndex(void);
+
+       /*!@fn void setFileEventListener(IFileEventNotification *pIFileEventNotification,Tizen::Base::String& currentFilePath)
+        * @brief Used to set listeners for the respective view if some file addition or delete activity take place
+        * @param [IFolderEntryEventListener*]Takes filenotification listener and path
+        * Returns No Return Values.
+        */
+       void SetFileEventListener(IFolderEntryEventListener* pIFileEventNotification);
+
+       //! Function used to set the current form as the folder entry provider.
+       /*!@fn  SetFolderEntryProvider(IFolderEntryProviderListener* pProvider)
+        * @brief This function sets the current form as the folder entry provider to maintain the same list of items.
+        * @param [IFolderEntryProviderListener*] pProvider, pointer to the current form.
+        * @return[result] An ErrorCode
+        * */
+       void SetFolderEntryProvider(IFolderEntryProviderListener* pProvider);
+
+       //! Notifies the Current Form OnListViewItemStateChanged
+       /*!@fn SetFooterItemStateChangeListener(IListViewStateChangeListener*   listener)
+        * @brief A public function which notifies any member implementing the IListViewStateChangeListener interface on ListViewItemStateChanged
+        * so that the footer of the form can be updated accordingly.
+        * @param [IListViewStateChangeListener] Pointer to a class inherited from the IListViewStateChangeListener interface.
+        * @return An ErrorCode.
+        * */
+       result SetFooterItemStateChangeListener(IListViewStateChangeListener* listener);
+
+       //! Function used to set the source of the Copy/Move Functionality
+       /*!@fn SetSourceFromOption(int sourceFromOption)
+        * @brief Used to set the source of the Copy/Move Functionality,to load the correct Footer Options.
+        * @param [int] sourceFromOption, acts as the flag which is set to copy form or move form.
+        * @return No Values Returned
+        * */
+       void SetSourceFromOption(int sourceFromOption);
+
+       //! Function used to set the rootMediaPath.
+       /*!@fn SetRootPath(Tizen::Base::String rootMediaPath)
+        * @brief Used to set the RootMediaPath.
+        * @param [String] rootMediaPath, rootMediaPath of the current View.
+        * @return An ErrorCode
+        * */
+       result SetRootPath(const Tizen::Base::String& rootMediaPath);
+
+       //! Function used to stop sending requests to ThumbnailManager.
+       /*!@fn StopThumbnailRequest(void)
+        * @brief This function sends request to thumbnailmanager to stops processing further thumbnail request.
+        * @param No Parameters taken.
+        * @return[result] An ErrorCode
+        * */
+       result StopThumbnailRequest(void);
+
+       void OnFileEventOccured(const unsigned long events, const Tizen::Base::String& path, const unsigned int eventId);
+private:
+       /*
+        * A private member function taking 2 parameters, filename and the filepath, returning no arguments.
+        * @fn LoadSubDirectoryThumbnailsView
+        * @brief Called on IconListViewItemStateChanged event, it changes the scene to the SubDirectoryForm.
+        * @param [String, String] fileName, a String containing the filename of the selected item. filePath, a string
+        * containing the full file path fetched from the ContentBrowser of the selected item.
+        * @return Void return type
+        */
+       void LoadSubDirectoryThumbnailsView(Tizen::Base::String& fileName, Tizen::Base::String& filePath);
+
+       /*
+        * A private member function taking 2 parameters, filename and the filepath, returning no arguments.
+        * @fn LoadSubMostMoveCopyForm
+        * @brief Called on IconListViewItemStateChanged event, it changes the scene to the SubMoveCopyForm.
+        * @param [String, String] fileName, a String containing the filename of the selected item. filePath, a string
+        * containing the full file path fetched from the ContentBrowser of the selected item.
+        * @return Void return type
+        */
+       void LoadSubMoveCopyForm(Tizen::Base::String& fileName, Tizen::Base::String& filePath);
+
+       //! Assignment operator of the class.
+       /*!@fn ThumbnailItemProviderAndListener& operator = (const ThumbnailItemProviderAndListener &thumbnailItemProviderAndListenerr)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       ThumbnailItemProviderAndListener& operator =(const ThumbnailItemProviderAndListener& thumbnailItemProviderAndListenerr);
+
+       //! Copy Constructor of the class.
+       /*!@fn ThumbnailItemProviderAndListener(const ThumbnailItemProviderAndListener&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       ThumbnailItemProviderAndListener(const ThumbnailItemProviderAndListener&);
+
+private:
+       int __counter;
+       int __listItemCount;
+       int __sourceForm;
+
+       MemoryType __storageType;
+
+       Tizen::Base::Collection::ArrayList* __pFilenames;
+       Tizen::Base::String __rootMediaPath;
+       Tizen::Base::String __extensionKeyName;
+       Tizen::Base::String __showExtension;
+       Tizen::Base::String     __pathOfSelectedFile;
+       Tizen::Graphics::Bitmap* __pRenameBitmap;
+       Tizen::Base::String     _pathOfSelectedFile;
+
+       //FileEventManager
+       Tizen::Io::FileEventManager* _pFileEventManager;
+
+       FolderEntryPresentationModel* __pFolderEntryPM;
+       IFolderEntryEventListener* __pFolderEntryEventListener;
+       IFolderEntryProviderListener* __pProviderPM;
+       IListViewStateChangeListener* __pListViewItemStateChangeListener;
+       ThumbnailManager* __pThumbnailManager;
+
+
+       static int __sourceFromOption;
+};
+
+#endif /* _MF_THUMBNAIL_ITEM_PROVIDER_AND_LISTENER_H_ */
diff --git a/inc/MfThumbnailManager.h b/inc/MfThumbnailManager.h
new file mode 100644 (file)
index 0000000..93fb6db
--- /dev/null
@@ -0,0 +1,187 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfThumbnailManager.h
+ * @brief: This file contains the declaration of ThumbnailManager class,
+ * which manages creation of Thumbnails for each folder entry.
+ */
+
+#ifndef _MF_THUMBNAIL_MANAGER_H_
+#define _MF_THUMBNAIL_MANAGER_H_
+
+#include <cstdlib>
+
+#include <FBase.h>
+#include <FGraphics.h>
+
+#include "MfThumbMgrCommon.h"
+
+static bool GenerateThumbnail = false;
+static bool IsVideoFile = false;
+
+class ThumbnailManager
+       : public Tizen::Base::Runtime::Thread
+{
+public:
+       /*!
+        * A function for getting current thumbnainl dimenstion thumbnail manager is using
+        * @fn GetDefaultThumbSize
+        * @brief Use this function for getting current thumbnail size using which it generated thumbnails
+        * @return Default thumbnail dimensions
+        */
+       Tizen::Graphics::Dimension& GetDefaultThumbSize(void);
+
+       /*!
+        * A function for setting asynchronous events for thumbnail generation. Not in use now.
+        * @fn InitThumbnailManager
+        * @brief Used for sending async thumbnail generation request to thumbnail manager
+        * @param[ThumbRequest*] pointer to ThumbRequest
+        * @return result code ThumnMgrResulrValues
+        */
+       ThumbMgrResultValues GetThumbnail(ThumbRequest* pReq);
+
+       /*!
+        * A function for generating thumbnail of the file path sent
+        * @fn InitThumbnailManagerN
+        * @brief Use this function for generating/extracting thumbnail of an image file
+        * @param[String] file path for which thumbnail generation request sent
+        * @param[Dimension] Default argument, size of the thumbnail requested
+        * @return pointer to the thumbnail bitmap
+        */
+       Tizen::Graphics::Bitmap* GetThumbnailN(Tizen::Base::String& FilePath, Tizen::Graphics::Dimension& Dim /*= DefaultThumbSize*/);
+
+       /*!
+        * A function for setting current thumbnainl dimenstion thumbnail manager is using
+        * @fn SetThumbnailSize
+        * @brief Use this function for setting current thumbnail size using which it generated thumbnails
+        * @param[Dimension] Dimenstion to set as default thumbnail dimension
+        * @return result code
+        */
+       result SetThumbnailSize(/*Tizen::Graphics::Dimension& dim = DefaultThumbSize*/ void);
+
+       //! Function for handling asynchronous events from presentataion model
+       /*!@fn OnUserEventReceivedN
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       virtual void OnUserEventReceivedN(RequestId requestId, Tizen::Base::Collection::IList* pArgs);
+
+       /*!
+        * A function for getting instance of thumbnail manager
+        * @fn GetInstance
+        * @brief use this function to get the current and only one instance of thumbnail manager
+        * @param[String] none
+        * @return singleton instance of the thumbnail manager class
+        */
+       static ThumbnailManager* GetInstance(void);
+
+       /*!
+        * A function for stopping thumbnail manager thread
+        * @fn StopThumbnailManagerThread
+        * @brief use this function to stop thread of the thumbnail manager
+        * @param[String] none
+        * @return result value of operation
+        */
+       result StopThumbnailManagerThread(void);
+private:
+       /*!
+        * A Constructor of Thumbnail manager constructng thumbnail manager instance
+        * @fn ThumbnailManager
+        * @brief called When thumbnail manager instance is created
+        * @param[String] none
+        * @return none
+        */
+       ThumbnailManager(void);
+
+       /*!
+        * A Destructor of Thumbnail manager constructng thumbnail manager instance
+        * @fn ~ThumbnailManager
+        * @brief called When thumbnail manager instance is deleted
+        * @param[String] none
+        * @return none
+        */
+       ~ThumbnailManager(void);
+
+       //!A function for creating singleton instance of the ThumbnailManager class
+       /*!@fn CreateInstance
+        * @brief Allocates memory to the ThumbnailManager instance.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       static void CreateInstance(void);
+
+       /*/ / !A function for deleting singleton instance of the ThumbnailManager class
+       !@fn DeleteInstance
+       * @brief Deletes the static thumbnailManager instance.
+       *@param No parameters.
+       *@return No value returned
+       * */
+       static void DeleteInstance(void);
+
+       //! Assignment operator of the class.
+       /*!@fn ThumbnailManager& operator = (const ThumbnailManager &thumbnailManager)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       result ClearCurrentThumbRequest(void);
+
+       //! Assignment operator of the class.
+       /*!@fn ThumbnailManager& operator = (const ThumbnailManager &thumbnailManager)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       virtual result Construct(void);
+
+       //! Assignment operator of the class.
+       /*!@fn ThumbnailManager& operator = (const ThumbnailManager &thumbnailManager)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       Tizen::Graphics::Bitmap* MakeBitmapN(const Tizen::Base::String& FilePath, bool& makeThumbnail = GenerateThumbnail, bool& bIsVideo = IsVideoFile);
+
+       //! Copy Constructor of the class.
+       /*!@fn ThumbnailManager(const ThumbnailManager&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       ThumbnailManager(const ThumbnailManager&);
+
+       //! Assignment operator of the class.
+       /*!@fn ThumbnailManager& operator = (const ThumbnailManager &thumbnailManager)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       ThumbnailManager& operator =(const ThumbnailManager& thumbnailManager);
+
+
+public:
+       Tizen::Graphics::Dimension __Dimension;
+       ThumbRequest* __pCurrentThumbReq;
+       Tizen::Graphics::Bitmap* __pDummyImage;
+public:
+       static const int THUMB_MGR_GET_THUMBNAIL = 107;
+       static const int THUMB_MGR_MAKE_THUMBNAIL = 108;
+       static const int THUMB_MGR_STOP = 109;
+       static const int THUMB_MGR_TERMINATE = 110;
+};
+#endif /* _MF_THUMBNAIL_MANAGER_H_ */
diff --git a/inc/MfTopMostFileSelectionForm.h b/inc/MfTopMostFileSelectionForm.h
new file mode 100644 (file)
index 0000000..51e126e
--- /dev/null
@@ -0,0 +1,165 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfTopMostFileSelectionForm.h
+ * @brief: This file contains the declaration of TopMostFileSelectionForm class, which acts as a view for Appcontrol launch.
+ * When MfMyFilesApp is launched from other applications, this view will be enabled.
+ */
+
+#ifndef _MF_TOP_MOST_FILE_SELECTION_FORM_H_
+#define _MF_TOP_MOST_FILE_SELECTION_FORM_H_
+
+#include "MfSubBaseSelectionForm.h"
+
+class TopMostFileSelectionForm
+       : public SubBaseSelection
+{
+public:
+       //Default constructor for the class
+       /*!
+        * @fn FileListSelectionForm()
+        * @param Takes no parameters
+        * @return No value returned
+        */
+       TopMostFileSelectionForm(void);
+
+       //Default Destructor for the class
+       /*!
+        * @fn ~FileListSelectionForm()
+        * @param Takes no parameters
+        * @return No value returned
+        */
+       virtual ~TopMostFileSelectionForm(void);
+
+       /*!
+        * @fn Initialize()
+        * @param Takes no parameters
+        * @return bool value
+        */
+       bool Initialize(void);
+
+       //Initialises all the members of the class
+       /*!
+        * @fn OnInitializing()
+        * @param Takes no parameters
+        * @return result value
+        */
+       result OnInitializing(void);
+
+       /*!
+        * @fn OnTerminating()
+        * @param Takes no parameters
+        * @return result value
+        */
+       result OnTerminating(void);
+
+       //IPlayerEventListener
+       virtual void OnPlayerEndOfClip(void);
+
+       //IDeviceEventListener
+       virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
+
+       //!IActionEventListener
+       /*! @fn OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+        * @brief   Called when an action event occurs on the source control.
+        */
+       virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+       //IListViewItemEventListener
+       virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);
+       virtual void OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback);
+
+       //!IListViewItemEventListener
+       /*! @fn OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
+        * @brief This method is called when an element of the ListViewItem in the ListView is checked, unchecked, or selected.
+        */
+       virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
+       virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);
+
+       //! ISceneEventListener
+       /*! @fn OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
+        * @brief  Called after setting as current scene.
+        */
+       virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+
+       /*! @fn OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId)
+        * @brief  Called when the current scene is deactivated.
+        */
+       virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+       /*!IDeviceNotificationListener
+        * A public callback from the IDeviceNotificationListener taking deviceType and state as argument and returning nothing
+        * @fn OnDeviceChange
+        * @brief Used to handle device event changes. When memory card is inserted, removed then this method will be called
+        * @param ComponentType, String
+        * @return no return value
+        */
+       void OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state);
+
+       //ISceneManagerEventListener
+       virtual void OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId);
+       virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId);
+
+private:
+       /*
+        * A private member function taking extraHeaderItemList and returning a result
+        * @fn CreateHeaderControls
+        * @brief used to create the header items of the form
+        * @param ArrayList
+        * @return result
+        */
+       result CreateHeaderControls(Tizen::Base::Collection::ArrayList* pExtraHeaderItemList = null);
+
+       /*
+        * A private member function taking no parameters and returning an error code.
+        * @fn LoadSubDirectoryForm()
+        * @brief Navigates to the SubDirectory Form when called.
+        * @param [String, String] fullPath, the filepath of the item selected fileName, filename of the
+        * item selected.
+        * @return No Return Values.
+        */
+       void LoadSubDirectoryForm(Tizen::Base::String& fullPath, Tizen::Base::String& fileName);
+
+private:
+       // Copy Constructor of the class.
+       /*@fn TopMostFileSelectionForm(const TopMostFileSelectionForm&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       TopMostFileSelectionForm(const TopMostFileSelectionForm&);
+
+       // Assignment operator of the class.
+       /*@fn TopMostFileSelectionForm& operator = (const TopMostFileSelectionForm& topMostFileSelectionForm)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       TopMostFileSelectionForm& operator =(const TopMostFileSelectionForm& topMostFileSelectionForm);
+private:
+       static const int IDA_TABBAR_ITEM_PHONE = 300;
+       static const int IDA_TABBAR_ITEM_SD_CARD = 301;
+       static const int IDA_TABBAR_ITEM_USB = 302;
+
+       static const int IDA_BTN_CHECKED = 306;
+       static const int IDA_BTN_UNCHECKED = 307;
+
+       bool __bCheckNullArgs;
+
+       Tizen::Ui::Controls::CheckButton* __pCheckButtonSelectAll;
+};
+#endif //_MF_FILELIST_SELECTIONFORM_H_
diff --git a/inc/MfTopMostFolderFileListForm.h b/inc/MfTopMostFolderFileListForm.h
new file mode 100644 (file)
index 0000000..a45e74c
--- /dev/null
@@ -0,0 +1,163 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfTopMostFolderFileListForm.h
+ * @brief: This file contains the declaration of TopMostFolderFileListForm class, which acts as a
+ * media explorer displaying a list of all the files in the root directory
+ * and defines a set of operations that can be done with the files like edit, view etc.
+ */
+
+#ifndef _MF_TOP_MOST_FOLDER_FILE_LIST_FORM_H_
+#define _MF_TOP_MOST_FOLDER_FILE_LIST_FORM_H_
+
+#include <FAppPkg.h>
+#include <FGraphics.h>
+#include <FIo.h>
+#include <FMedia.h>
+#include <FShell.h>
+#include <FUi.h>
+
+#include "MfSubBaseFolderEntryForm.h"
+
+class TopMostFolderFileListForm
+       : public SubBaseFolderEntryForm
+{
+public:
+       //! Constructor of the class.
+       /*!@fn TopMostFolderFileListForm(void)
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       TopMostFolderFileListForm(void);
+
+       //! Destructor of the class.
+       /*!@fn ~TopMostFolderFileListForm(void)
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~TopMostFolderFileListForm(void);
+
+       /*! @fn Initialize(void)
+        * @brief Called to construct the corresponding form of the file.
+        */
+       bool Initialize(void);
+
+       /*! @fn OnInitializing(void)
+        * @brief Called once the form has been constructed to initialize the controls within the form.
+        */
+       result OnInitializing(void);
+
+       /*! @fn OnTerminating(void);
+        * @brief Called just before the form is deleted.
+        */
+       result OnTerminating(void);
+
+       // Generated call-back functions
+public:
+       //IDeviceEventListener
+       virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
+
+       //IActionEventListener
+       virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+       // IFormBackEventListener
+       virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+
+       //IListViewItemEventListener
+       virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
+
+       // ISceneEventListener
+       virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+       virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+       //ISceneManagerEventListener
+       virtual void OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId);
+       virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId);
+
+       //IDeviceNotificationListener
+       void OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state);
+
+       //IFileEventNotification
+       void OnFileEventExecuted(const Tizen::Base::String& path, const unsigned long eventId);
+
+       //IFileNotificationListener
+       void OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs);
+
+       //IFileEventListener
+       virtual void OnFileEventOccured(const unsigned long events,const Tizen::Base::String &  path, const unsigned int        eventId);
+
+private:
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn CreateHeaderControls
+        * @brief Called during OnInitializing(), used to personalize the header.
+        * @param [ArrayList]extraHeaderItemList, Containing the list of HeaderItems.
+        * @return[result] An ErrorCode.
+        */
+       result CreateHeaderControls(Tizen::Base::Collection::ArrayList* pExtraHeaderItemList = null);
+
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn InitializeAppRegistry()
+        * @brief Called to Initialize the AppRegistry and set a new key-value pair storing the ViewType of
+        * the Form.
+        * @param No parameters
+        * @return Void return type
+        */
+       void InitializeAppRegistry(void);
+
+       /*
+        * A private member function taking no parameters and returning an error code.
+        * @fn LoadSubDirectoryForm()
+        * @brief Navigates to the SubDirectory Form when called.
+        * @param [String, String] fullPath, the filepath of the item selected fileName, filename of the
+        * item selected.
+        * @return No Return Values.
+        */
+       void LoadSubDirectoryForm(Tizen::Base::String& fullPath, Tizen::Base::String& fileName);
+
+private:
+       // Copy Constructor of the class.
+       /*@fn TopMostFolderFileListForm(const TopMostFolderFileListForm&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       TopMostFolderFileListForm(const TopMostFolderFileListForm&);
+
+       // Assignment operator of the class.
+       /*@fn TopMostFolderFileListForm& operator = (const TopMostFolderFileListForm& topMostFolderFileListForm)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       TopMostFolderFileListForm& operator =(const TopMostFolderFileListForm& topMostFolderFileListForm);
+
+private:
+       static const int IDA_TABBAR_ITEM_PHONE = 200;
+       static const int IDA_TABBAR_ITEM_SD_CARD = 201;
+       static const int IDA_TABBAR_ITEM_USB = 202;
+
+       int __counter;
+       Tizen::Base::String __searchPathName;
+       Tizen::Base::String __previousSceneName;
+
+       Tizen::Base::String __rootMediaPath;
+};
+
+#endif //_MF_TOP_MOST_FOLDER_FILE_LIST_FORM_H_
diff --git a/inc/MfTopMostMoveCopy.h b/inc/MfTopMostMoveCopy.h
new file mode 100644 (file)
index 0000000..3b95cd9
--- /dev/null
@@ -0,0 +1,134 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfTopMostMoveCopy.h
+ * @brief: This file contains the declaration of TopMostMoveCopy class, which
+ * loads the form which implements the Copy and Move Functionalities on the
+ * Root Directory.
+ */
+
+#ifndef _MF_TOP_MOST_MOVE_COPY_H_
+#define _MF_TOP_MOST_MOVE_COPY_H_
+
+#include "MfSubBaseMoveCopy.h"
+
+class TopMostMoveCopy
+       : public SubBaseMoveCopy
+{
+public:
+       //! Constructor of the class.
+       /*!@fn MfMyFilesAppTopMostMoveCopy()
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       TopMostMoveCopy(void);
+
+       //! Destructor of the class.
+       /*!@fn ~MfMyFilesAppTopMostMoveCopy()
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~TopMostMoveCopy(void);
+       /*
+        * It initializes the form.
+        */
+       bool Initialize(void);
+
+       /*
+        * It is called after the form get initialised.
+        */
+       result OnInitializing(void);
+
+       /*
+        * It is Called when a device state is changed.
+        */
+       virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
+
+       //IActionEventListener
+       /*
+        * It is Called when an action event occurs.
+        */
+       virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+       //IListViewItemEventListener
+       /*
+        * It is Called when the state of an element in the ListViewItem in the ListView or GroupedListView is changed.
+        */
+       virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);
+
+       //ISceneEventListener
+       /*
+        * It is Called after setting as current scene.
+        */
+       virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+
+       /*
+        * It is Called when the current scene is deactivated.
+        */
+       virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+       //ISceneManagerEventListener
+       virtual void OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId);
+       virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId);
+
+       /*! A public member function returning no arguments.
+        * @fn OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state)
+        * @brief Takes care of storage related changes for memory card, external storage.
+        * @param [ComponentType, String]deviceType, of the storage device, state, the current state of the storage device.
+        * @return No Return Values.
+        */
+       void OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state);
+
+private:
+       /*
+        * A private member function taking and returning no arguments.
+        * @fn CreateHeaderControls
+        * @brief Called during OnInitializing(), used to personalize the header.
+        * @param [ArrayList]extraHeaderItemList, Containing the list of HeaderItems.
+        * @return[result] An ErrorCode.
+        */
+       result CreateHeaderControls(Tizen::Base::Collection::ArrayList* pExtraHeaderItemList = null);
+
+       // Copy Constructor of the class.
+       /*@fn TopMostMoveCopy(const TopMostMoveCopy&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       TopMostMoveCopy(const TopMostMoveCopy&);
+
+       // Assignment operator of the class.
+       /*@fn TopMostMoveCopy& operator = (const TopMostMoveCopy& topMostMoveCopy)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       TopMostMoveCopy& operator =(const TopMostMoveCopy& topMostMoveCopy);
+private:
+       static const int IDA_TABBAR_ITEM_PHONE = 300;
+       static const int IDA_TABBAR_ITEM_SD_CARD = 301;
+       static const int IDA_TABBAR_ITEM_USB = 302;
+
+       bool __updateFooterCheck;
+
+       int __viewType;
+
+       MemoryType __storageType;
+};
+
+#endif /*_MF_TOP_MOST_MOVE_COPY_H_*/
diff --git a/inc/MfTypes.h b/inc/MfTypes.h
new file mode 100644 (file)
index 0000000..9029af4
--- /dev/null
@@ -0,0 +1,426 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfTypes.h
+ * @brief: This file contains common enumerators, static constants used across the application
+ */
+
+#ifndef _MF_TYPES_H_
+#define _MF_TYPES_H_
+
+#include <FBase.h>
+
+
+//APPCONTROL IDs
+extern const wchar_t* musicPlayerAppId;
+extern const wchar_t* browserAppId;
+extern const wchar_t* phoneAppId;
+extern const wchar_t* videoPlayerAppId;
+
+//typeImage
+extern const int SELECT_DELETE_BUTTON;
+extern const int SELECT_SHARE_BUTTON;
+extern const int SELECT_MOVE_BUTTON;
+extern const int SELECT_COPY_BUTTON;
+extern const int SELECT_CREATE_FOLDER;
+extern const int SELECT_ROOT_DIRECTORY;
+extern const int SELECT_SUB_DIRECTORY;
+extern const int SELECT_NO_BUTTON;
+extern const int SELECTED_FROM_ROOT_DIRECTORY;
+extern const int SELECTED_FROM_SUB_DIRECTORY;
+extern const int SELECT_RENAME;
+
+extern const int DISPLAY_MODE_PICK;
+extern const int DISPLAY_MODE_SELECT;
+
+extern const int POP_UP_VIEW_AS;
+extern const int POP_UP_SORT_BY;
+extern const int POP_UP_SHARE;
+
+extern const int ID_THUMBNAIL_WIDH;
+extern const int ID_THUMBNAIL_HEIGHT;
+
+//Constants to be used in Switch Case
+static const int ID_LAUNCH_CACHE_MGR = 101;
+static const int ID_COPY_COMPLETE = 102;
+static const int ID_DELETE_COMPLETE = 103;
+static const int ID_MOVING_COMPLETE = 104;
+static const int ID_CREATE_FOLDER_COMPLETE = 105;
+static const int ID_FOLDER_SEARCH_STARTED = 106;
+static const int ID_SEARCH_RESULT_FOUND = 107;
+static const int ID_SEARCH_COMPLETED = 108;
+static const int ID_FILE_MANAGING_FAILED = 109;
+static const int ID_FILE_RENAME_COMPLETE = 110;
+
+//Sizes of Arrays
+static const int ID_IMAGE_TYPE_SIZE = 10;
+static const int ID_AUDIO_TYPE_SIZE = 14;
+static const int ID_VIDEO_TYPE_SIZE = 12;
+static const int ID_CONTACT_TYPE_SIZE = 2;
+static const int ID_MAX_TEXT_ITEMS = 10;
+
+
+
+//app control data
+extern const wchar_t* appcontroldataKey;
+extern const wchar_t* appcontrolKey;
+
+//Storage Body names
+extern const wchar_t* defaultPhoneBody;
+extern const wchar_t* defaultSdCardBody;
+extern const wchar_t* defaultExternalStorageBody;
+extern const wchar_t* fileExtenstionKeyName;
+extern const wchar_t* usbDeviceStatusInserted;
+extern const wchar_t* usbDeviceStatusRemoved;
+extern const wchar_t* sdCardStatusMounted;
+extern const wchar_t* sdCardStatusUnmounted;
+
+//Bitmaps
+
+//PopUp
+extern const wchar_t* IDB_BACKGROUND_POPUP_BOTTOM;
+extern const wchar_t* IDB_BACKGROUND_POPUP_CENTER;
+
+//Delete Button
+extern const wchar_t* IDB_CONTEXT_DELETE_NORMAL;
+extern const wchar_t* IDB_CONTEXT_DELETE_PRESS;
+
+//ListView Items
+extern const wchar_t* IDB_FOLDER;
+extern const wchar_t* IDB_DUMMY_IMG;
+
+//Header Icons
+extern const wchar_t* IDB_PHONE_HEADER_TAB;
+extern const wchar_t* IDB_SDCARD_HEADER_TAB;
+extern const wchar_t* IDB_EXTERNAL_HEADER_TAB;
+
+extern const wchar_t* IDB_PHONE_HEADER_TAB_PRESSED;
+extern const wchar_t* IDB_SDCARD_HEADER_TAB_PRESSED;
+extern const wchar_t* IDB_EXTERNAL_HEADER_TAB_PRESSED;
+
+//ThumbnailManager
+extern const wchar_t* IDB_VIDEO_PLAY_SMALL;
+extern const wchar_t* IDB_PDF;
+extern const wchar_t* IDB_MS_WORD;
+extern const wchar_t* IDB_MS_EXCEL;
+extern const wchar_t* IDB_MS_PPT;
+extern const wchar_t* IDB_MUSIC;
+extern const wchar_t* IDB_VIDEO;
+extern const wchar_t* IDB_RSS;
+extern const wchar_t* IDB_TEXT;
+extern const wchar_t* IDB_SVG;
+extern const wchar_t* IDB_SWF;
+extern const wchar_t* IDB_HTML;
+extern const wchar_t* IDB_UNKNOWN;
+
+//Offsets and Dimensions of controls
+extern const int X_DEFAULT;
+extern const int Y_DEFAULT;
+extern const int X_LISTVIEW;
+extern const int Y_LISTVIEW;
+extern const int H_ITEM_LISTVIEW;
+extern const int H_ITEM_LISTVIEW_POPUP;
+extern const int H_DETAIL_LISTVIEW;
+extern const int H_LISTVIEW_ITEM_BITMAP;
+extern const int W_LISTVIEW_ITEM_BITMAP;
+extern const int H_RENAME_PANEL;
+extern const int H_SEARCH_ALL_FOLDERS;
+extern const int H_DISPLAY_PATH_LABEL;
+extern const int H_RENAME_EDITFIELD;
+extern const int W_POPUP_LISTVIEW;
+extern const int H_CHECK_BUTTON;
+extern const int W_RENAME_ICON;
+extern const int H_CREATE_FOLDER_EDITFIELD;
+extern const int Y_CREATE_FOLDER_EDITFIELD;
+extern const int H_LISTVIEW_ITEM_TITLE;
+extern const int H_LISTVIEW_ITEM_DESCRIPTION;
+extern const int X_SEARCH_ALL_FOLDERS;
+extern const int W_DELETE_BUTTON;
+extern const int H_DELETE_BUTTON;
+extern const int H_ENRICHED_TEXT;
+extern const int W_MAX_POPUP;
+extern const int H_DEFAULT_BUTTON;
+
+//IconListView OVERLAY ITEMS
+extern const int OVERLAYITEM_RENAME ;
+
+//Search Popup
+extern const int X_POPUP_SEARCH;
+extern const int Y_POPUP_SEARCH;
+extern const int H_POPUP_SEARCH;
+extern const int H_BOTTOM_PANEL;
+extern const int H_SEARCH_BAR;
+
+
+//AppControl Related
+extern const wchar_t* IDB_PLAY_OUTER_CIRCLE;
+extern const wchar_t* IDB_PLAY;
+extern const wchar_t* IDB_PLAY_PRESSED;
+extern const wchar_t* IDB_PAUSE;
+extern const wchar_t* IDB_PAUSE_PRESSED;
+extern const wchar_t* IDB_RENAME_OUTER_CIRCLE;
+extern const wchar_t* IDB_RENAME_PRESSED_CIRCLE;
+extern const wchar_t* IDB_RENAME;
+
+//Fonts
+extern const int ID_FONT_SIZE_44;
+extern const int ID_FONT_SIZE_40;
+extern const int ID_FONT_SIZE_36;
+extern const int ID_FONT_SIZE_26;
+extern const int ID_FONT_SIZE_32;
+extern const int ID_MAX_LINE_SPACE;
+
+extern const int ID_FILE_NAME_LENGTH_MAX;
+extern const int ID_FOLDER_NAME_LENGTH_MAX;
+
+//Other Common Constants.
+extern const int KB_DIVISOR;
+extern const int MB_DIVISOR;
+extern const int INVALID_LIST_INDEX;
+
+extern const int ENABLE_FOOTER_ITEM;
+extern const int DISABLE_FOOTER_ITEM;
+
+//MessageBox Timeouts
+extern const int ID_MESSAGE_BOX_TIMEOUT_ONE_SECOND;
+
+//! Used to store the ContentBrowser Object
+//static FileListPresentationModel* pGlobalContentManager = null;
+
+extern const Tizen::Base::String typeImage[ID_IMAGE_TYPE_SIZE];
+
+extern const Tizen::Base::String typeAudio[ID_AUDIO_TYPE_SIZE];
+
+extern const Tizen::Base::String typeVideo[ID_VIDEO_TYPE_SIZE];
+
+extern const Tizen::Base::String typeContacts[ID_CONTACT_TYPE_SIZE];
+
+//!Enumerator containing the file details.
+enum FileType
+{
+       FILE_TYPE_MIN = -1,
+       FILE_TYPE_FOLDER_TYPE = 0, /*!< Enum value FILE_TYPE_FOLDER_TYPE. */
+       FILE_TYPE_IMAGE_TYPE, /*!< Enum value FILE_TYPE_IMAGE_TYPE. */
+       FILE_TYPE_VIDEO_TYPE, /*!< Enum value FILE_TYPE_VIDEO_TYPE. */
+       FILE_TYPE_AUDIO_TYPE, /*!< Enum value FILE_TYPE_AUDIO_TYPE. */
+       FILE_TYPE_CONTACTS_TYPE,
+       FILE_TYPE_CALENDER_TYPE,
+       FILE_TYPE_EMAIL_TYPE,
+       FILE_TYPE_OTHER_TYPE, /*!< Enum value FILE_TYPE_OTHER_TYPE. */
+       FILE_TYPE_ALL
+};
+
+//!Enumerator containing the ViewType: List, List And Details or Thumbnails.
+enum ViewType
+{
+       VIEW_TYPE_AS_NONE = -1, /*!< Enum value VIEW_TYPE_AS_NONE. */
+       VIEW_TYPE_AS_NORMAL_LIST = 0, /*!< Enum value VIEW_TYPE_AS_NORMAL_LIST. */
+       VIEW_TYPE_AS_DETAILED_LIST, /*!< Enum value VIEW_TYPE_AS_DETAILED_LIST. */
+       VIEW_TYPE_AS_THUMBNAILS, /*!< Enum value VIEW_TYPE_AS_THUMBNAILS. */
+       VIEW_TYPE_AS_MAX /*!< Enum value VIEW_AS_MAX. */
+};
+
+//!Enumerator containing the SortBy Types.
+enum ShareVia
+{
+       SHARE_VIA_NONE = -1, /*!< Enum value SHARE_VIA_NONE. */
+       SHARE_VIA_MESSAGE = 0, /*!< Enum value SHARE_VIA_MESSAGE. */
+       SHARE_VIA_EMAIL, /*!< Enum value SHARE_VIA_EMAIL. */
+       SHARE_VIA_BLUETOOTH, /*!< Enum value SHARE_VIA_BLUETOOTH. */
+       SHARE_VIA_WIFIDIRECT, /*!< Enum value SHARE_VIA_WIFIDIRECT. */
+       SHARE_VIA_MAX /*!< Enum value SHARE_VIA_MAX. */
+};
+
+//!Enumerator containing the StorageType: Phone, SD Card or External.
+enum MemoryType
+{
+       MEMORY_TYPE_NONE = -1, /*!< Enum value MEMORY_TYPE_NONE. */
+       MEMORY_TYPE_PHONE = 0, /*!< Enum value MEMORY_TYPE_PHONE. */
+       MEMORY_TYPE_SD_CARD, /*!< Enum value MEMORY_TYPE_SD_CARD. */
+       MEMORY_TYPE_EXTERNAL, /*!< Enum value MEMORY_TYPE_EXTERNAL. */
+       MEMORY_TYPE_MAX /*!< Enum value MEMORY_TYPE_MAX. */
+};
+
+//!Enumerator containing the SortType.
+enum SortByType
+{
+       SORT_BY_NONE=-1, /*!< Enum value SORT_BY_SIZE. */
+       SORT_BY_TYPE_NAME_ASCENDING = 0, /*!< Enum value SORT_BY_TYPE_NAME_ASCENDING. */
+       SORT_BY_TYPE_NAME_DESCENDING, /*!< Enum value SORT_BY_NAME_DESCENDING. */
+       SORT_BY_TYPE_DATE_RECENT, /*!< Enum value SORT_BY_DATE_RECENT. */
+       SORT_BY_TYPE_DATE_OLDEST, /*!< Enum value SORT_BY_DATE_OLDEST. */
+       //SORT_BY_TYPE_SIZE_ASCENDING, /*!< Enum value SORT_BY_SIZE_ASCENDING. */
+       //SORT_BY_TYPE_SIZE_DESCENDING, /*!< Enum value SORT_BY_TYPE_SIZE_DESCENDING. */
+       //SORT_BY_TYPE_ASCENDING, /*!< Enum value SORT_BY_TYPE_ASCENDING. */
+       //SORT_BY_TYPE_DESCENDING, /*!< Enum value SORT_BY_TYPE_DESCENDING. */
+       SORT_BY_TYPE_SIZE, /*!< Enum value SORT_BY_SIZE. */
+       SORT_BY_TYPE,/*!< Enum value SORT_BY_TYPE. */
+       SORT_BY_MAX /*!< Enum value SORT_BY_SIZE. */
+};
+
+//!Enumerator containing the StorageType: Phone, SD Card or External.
+enum SubSortingRule
+{
+       SUB_SORT_BY_NONE= -1, /*!< Enum value MEMORY_TYPE_NONE. */
+       SORT_BY_TYPE_SIZE_ASCENDING=7, /*!< Enum value SORT_BY_SIZE_ASCENDING. */
+       SORT_BY_TYPE_SIZE_DESCENDING, /*!< Enum value SORT_BY_TYPE_SIZE_DESCENDING. */
+       SORT_BY_TYPE_ASCENDING, /*!< Enum value SORT_BY_TYPE_ASCENDING. */
+       SORT_BY_TYPE_DESCENDING, /*!< Enum value SORT_BY_TYPE_DESCENDING. */
+       SUB_SORT_BY_MAX /*!< Enum value MEMORY_TYPE_NONE. */
+};
+
+//!Enumerator containing the FileManaging Result.
+enum FileManagingResult
+{
+       FILE_MANAGING_RESULT_DELETING_FAILED, /*!< Enum value FILE_MANAGING_RESULT_DELETING_FAILED. */
+       FILE_MANAGING_RESULT_DELETING_SUCCESS, /*!< Enum value FILE_MANAGING_RESULT_DELETING_SUCCESS. */
+       FILE_MANAGING_RESULT_COPYING_FAILED, /*!< Enum value FILE_MANAGING_RESULT_COPYING_FAILED. */
+       FILE_MANAGING_RESULT_COPYING_SUCCESS, /*!< Enum value FILE_MANAGING_RESULT_COPYING_SUCCESS. */
+       FILE_MANAGING_RESULT_MOVING_FAILED, /*!< Enum value FILE_MANAGING_RESULT_MOVING_FAILED. */
+       FILE_MANAGING_RESULT_MOVING_SUCCESS, /*!< Enum value FILE_MANAGING_RESULT_MOVING_SUCCESS. */
+       FILE_MANAGING_RESULT_DUPLICITY, /*!< Enum value FILE_MANAGING_RESULT_DUPLICITY. */
+       FILE_MANAGING_RESULT_SOURCE_SAME_AS_DESTINATION, /*!< Enum value FILE_MANAGING_RESULT_SOURCE_SAME_AS_DESTINATION. */
+       FILE_MANAGING_RESULT_FORCE_STOP, /*!< Enum value FILE_MANAGING_RESULT_FORCE_STOP. */
+       FILE_MANAGING_RESULT_CURRENT_STATUS, /*!< Enum value FILE_MANAGING_RESULT_CURRENT_STATUS. */
+       FILE_MANAGING_REFRESH_LIST,
+       FILE_MANAGING_RENAME_SUCCESS,
+       FILE_MANAGING_RENAME_FAILED,
+       FILE_MANAGING_RESULT_DELETE_CANCEL,
+       FILE_MANAGING_RESULT_STORAGE_FULL,
+       FILE_MANAGING_RESULT_THREAD_STOP,
+       FILE_MANAGING_RESULT_NONE
+};
+
+//!Enumerator containing the ThreadProcessingState
+enum ThreadRunningState
+{
+       THREAD_RUNNING_STATE_ALIVE, /*!< Enum value THREADPROCESSINGSTATE_ALIVE. */
+       THREAD_RUNNING_STATE_STOP /*!< Enum value THREADPROCESSINGSTATE_STOP. */
+};
+
+//!Enumerator containing the FileExistingOperation Id
+enum FileExistingOperationId
+{
+       FILE_EXISTING_OPERATIONID_REPLACE, /*!< Enum value FILEEXISTINGOPERATIONID_REPLACE. */
+       FILE_EXISTING_OPERATIONID_RENAME, /*!< Enum value FILEEXISTINGOPERATIONID_RENAME. */
+       FILE_EXISTING_OPERATIONID_CANCEL, /*!< Enum value FILEEXISTINGOPERATIONID_CANCEL. */
+       FILE_EXISTING_OPERATIONID_NO_DUPLICITY, /*!< Enum value FILEEXISTINGOPERATIONID_NO_DUPLICITY. */
+       FILE_EXISTING_OPERATIONID_NONE /*!< Enum value FILEEXISTINGOPERATIONID_NONE. */
+};
+
+//!Enumerator containing the SourceForm of the Thumbnails Provider Class.
+enum ThumbnailProviderSourceID
+{
+       THUMBNAIL_PROVIDER_SOURCEID_FORM_NONE = -1, /*!< Enum value SOURCE_FORM_NONE. */
+       THUMBNAIL_PROVIDER_SOURCEID_TOP_FOLDER_FILE_LIST_FORM = 0, /*!< Enum value SOURCE_TOP_LEVEL_FORM. */
+       THUMBNAIL_PROVIDER_SOURCEID_SUB_FOLDER_FILE_LIST_FORM = 1, /*!< Enum value SOURCE_SUB_LEVEL_FORM. */
+       THUMBNAIL_PROVIDER_SOURCEID_SUB_MOVE_COPY_FORM,
+       THUMBNAIL_PROVIDER_SOURCEID_TOP_MOVE_COPY_FORM, /*!< Enum value SOURCE_TOP_MOVE_COPY_FORM. */
+       THUMBNAIL_PROVIDER_SOURCEID_FILE_MANAGE_FORM /*!< Enum value SOUCE_FILE_MANAGE_FORM. */
+};
+
+enum AnnexStyle
+{
+       ANNEX_STYLE_NORMAL,
+       ANNEX_STYLE_RADIO,
+       ANNEX_STYLE_MARK
+};
+
+/*class IListViewStateChangeListener
+{
+public:
+    virtual void OnListViewItemStateChangedNotify(ViewType viewType) = 0;
+    virtual void OnFooterStateChangeNotify(void) {}
+    virtual void OnThumbnailReceived(ThumbRequest* pThumbReq) = 0;
+    virtual ~IListViewStateChangeListener(void){}
+};*/
+
+//!Enumerator containing the AppControlState
+enum AppControlState
+{
+       APPCONTROL_STATE_SELECTED, /*!< Enum value APPCONTROL_SELECTED. */
+       APPCONTROL_STATE_MAINVIEW_SELECTED /*!< Enum value MAINVIEW_SELECTED. */
+};
+enum ContentListItemType
+{
+       CONTENT_LIST_ITEM_TYPE_BG = 100,
+       CONTENT_LIST_ITEM_TYPE_TITLE,
+       CONTENT_LIST_ITEM_TYPE_THUMBNAIL,
+       CONTENT_LIST_ITEM_TYPE_DATE,
+       CONTENT_LIST_ITEM_TYPE_RENAME,
+       CONTENT_LIST_ITEM_TYPE_PLAY,
+       CONTENT_LIST_ITEM_TYPE_PAUSE
+};
+enum DetailedListElements
+{
+       DETAILED_LIST_ELEMENTS_THUMBNAIL = 200,
+       DETAILED_LIST_ELEMENTS_TITLE,
+       DETAILED_LIST_ELEMENTS_DESCRIPTION,
+       DETAILED_LIST_ELEMENTS_CREATION_DATE,
+       DETAILED_LIST_ELEMENTS_RENAME
+};
+
+//!Enumerator containing the AppControlView
+enum AppControlView
+{
+       APPCONTROL_VIEW_IMPORT, /*!< Enum value APPCONTROL_VIEW_IMPORT. */
+       APPCONTROL_VIEW_EXPORT, /*!< Enum value APPCONTROL_VIEW_EXPORT. */
+       APPCONTROL_VIEW_LIST_PLAY, /*!< Enum value APPCONTROL_VIEW_LIST_PLAY. */
+       APPCONTROL_VIEW_DEFAULT /*!< Enum value APPCONTROL_VIEW_DEFAULT. */
+};
+
+//!Enumerator Indicating the AppControl Selection Mode.
+enum SelectionMode
+{
+       SELECTION_MODE_SINGE, /*!< Enum value SELECTION_MODE_SINGE. */
+       SELECTION_MODE_MULTIPLE, /*!< Enum value SELECTION_MODE_MULTIPLE. */
+       SELECTION_MODE_NONE /*!< Enum value SELECTION_MODE_NONE. */
+};
+
+enum ComponentType
+{
+       COMPONENT_TYPE_NONE,
+       COMPONENT_TYPE_USB,     /**< USB client */
+       COMPONENT_TYPE_STORAGE_CARD     /**< Storage card */
+};
+
+enum CreateItemSource
+{
+       CREATE_ITEM_SOURCE_NONE,
+       CREATE_ITEM_SOURCE_TOP_MOST_FILE_LIST,
+       CREATE_ITEM_SOURCE_SUB_FOLDER_FILE_LIST,
+       CREATE_ITEM_SOURCE_SUB_FOLDER_FILE_LIST_TWO,
+       CREATE_ITEM_SOURCE_TOP_MOST_MOVE_COPY,
+       CREATE_ITEM_SOURCE_SUB_FOLDER_MOVE_COPY,
+       CREATE_ITEM_SOURCE_SUB_FOLDER_MOVE_COPY_TWO,
+       CREATE_ITEM_SOURCE_SUB_BASE_MOVE_COPY,
+       CREATE_ITEM_SOURCE_FILE_MANAGE_FORM,
+       CREATE_ITEM_SOURCE_TOP_MOST_SELECTION,
+       CREATE_ITEM_SOURCE_SUB_FOLDER_SELECTION,
+       CREATE_ITEM_SOURCE_SUB_FOLDER_SELECTION_TWO,
+       CREATE_ITEM_SOURCE_SEARCH_FORM,
+       CREATE_ITEM_SOURCE_MAX
+};
+
+enum MoveCopySource
+{
+       MOVE_COPY_SOURCE_NONE,
+       MOVE_COPY_SOURCE_TOP_MOST,
+       MOVE_COPY_SOURCE_SUB_FOLDER
+};
+#endif /* _MF_TYPES_H_ */
+
diff --git a/inc/MfUtility.h b/inc/MfUtility.h
new file mode 100644 (file)
index 0000000..a20db6b
--- /dev/null
@@ -0,0 +1,109 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfUtility.h
+ * @brief: This file contains the declaration of MfUtility class, which is a common utility function class and
+ * contains helper functions which are used throughout the Application.
+ */
+
+#ifndef _MF_UTILITY_H_
+#define _MF_UTILITY_H_
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FGraphics.h>
+#include <FLocales.h>
+
+#include "MfTypes.h"
+
+class MfUtility
+{
+public:
+       //! Constructor of the class.
+       /*!@fn  MfUtility(void)
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       MfUtility(void);
+
+       //! Destructor of the class.
+       /*!@fn ~MfUtility(void)
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~MfUtility(void);
+
+       //!It Converts the DateTime to String Object.
+       /* @fn Tizen::Base::String ConvertDateTimeToString(Tizen::Base::DateTime fileCreationTime)
+        * @brief It Convert the DateTime to String Object.
+        * @param DateTime Object.
+        * @return String Object.
+        */
+       static Tizen::Base::String ConvertDateTimeToString(Tizen::Base::DateTime fileCreationTime);
+
+       //!It Converts the filesize from lon long int to String Object.
+       /* @fn Tizen::Base::String ConvertFileSizeToString(long long int fileSize)
+        * @brief It Convert the filesize from lon long int to String Object.
+        * @param long long int fileSize.
+        * @return String Object.
+        */
+       static Tizen::Base::String ConvertFileSizeToString(long long int fileSize);
+
+       /*! A public static member function used to get the ninepatched bitmap.
+        * @fn GetNinepatchedBitmapN(const Tizen::Base::String& strPath, const int width, const int height)
+        * @brief Used to generate the ninepatched bitmap for the sent filepath.
+        * @param [String, int, int] strPath, of the file whose bitmap needs to be fetched, width, of the bitmap, height, of the bitmap.
+        * @return [Bitmap*] Pointer to the bitmap generated.
+        */
+       static Tizen::Graphics::Bitmap* GetNinepatchedBitmapN(const Tizen::Base::String& strPath, const int width, const int height);
+
+       /*! A public static member function used to merge two bitmaps.
+        * @fn MergeNinepatchedBitmapN(const Tizen::Base::String& firstBitmapPath, const Tizen::Base::String& secondBitmapPath, const int width, const int height)
+        * @brief Used to return a single bitmap by merging two bitmaps.
+        * @param [String, String, int, int] firstBitmapPath and secondBitmapPath, paths of the first and the second bitmap, width and height, of the merged bitmap.
+        * @return [Bitmap*] Pointer to the bitmap generated by merging the two bitmaps.
+        */
+       static Tizen::Graphics::Bitmap* MergeBitmapN(const Tizen::Base::String& firstBitmapPath, const Tizen::Base::String& secondBitmapPath, const int width, const int height);
+
+       /*! A public static member function used to merge two bitmaps.
+        * @fn MergeBitmapN(const Tizen::Base::String& firstBitmapPath, const Tizen::Base::String& secondBitmapPath, const int width, const int height)
+        * @brief Used to return a single bitmap by merging two bitmaps.
+        * @param [Bitmap*, Bitmap*, int, int] pFirstBitmap and pSecondBitmap, pointers to the first and the second bitmap, width and height, of the merged bitmap.
+        * @return [Bitmap*] Pointer to the bitmap generated by merging the two bitmaps.
+        */
+       static Tizen::Graphics::Bitmap* MergeBitmapN(Tizen::Graphics::Bitmap* pFirstBitmap, const Tizen::Graphics::Bitmap* pSecondBitmap, const int width, const int height);
+
+private:
+       // Copy Constructor of the class.
+       /*@fn MfUtility(const MfUtility&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       MfUtility(const MfUtility&);
+
+       // Assignment operator of the class.
+       /*@fn MfUtility& operator = (const MfUtility& mfUtility)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       MfUtility& operator =(const MfUtility& mfUtility);
+};
+
+#endif /* _MF_UTILITY_H_ */
diff --git a/inc/MfVideoMediaMetaData.h b/inc/MfVideoMediaMetaData.h
new file mode 100644 (file)
index 0000000..617f6fe
--- /dev/null
@@ -0,0 +1,100 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfVideoMediaMetaData.h
+ * @brief: This file contains the declaration for VideoMediaMetaData class, which acts as
+ * a Video Meta Data Provider
+ */
+
+#ifndef _MF_VIDEO_MEDIA_METADATA_H_
+#define _MF_VIDEO_MEDIA_METADATA_H_
+
+#include "MfMediaMetaData.h"
+
+class VideoMediaMetaData
+       : public MediaMetaData
+{
+public:
+       //! Constructor of the class.
+       /*!@fn VideoMediaMetaData()
+        * @brief A public member taking no arguments which initializes the member variables of the class.
+        * @param Takes no parameters
+        * @return No value returned */
+       VideoMediaMetaData(void);
+
+       //! Destructor of the class.
+       /*!@fn ~VideoMediaMetaData()
+        * @brief A public virtual member taking no arguments, frees the memory allocated to the member variables.
+        * @param Takes no parameters
+        * @return No value returned
+        * */
+       virtual ~VideoMediaMetaData(void);
+
+       //!It will act as a getter function for the file format.
+       /*! @fn GetFileFormat(void)
+        * @brief A public member returns the file format in the form of string pointer
+        * @param no parameters
+        * @return file format in the form of String Pointer
+        */
+       Tizen::Base::String* GetFileFormat(void);
+
+       //!It will act as a getter function for the file format.
+       /*! @fn GetFileResolution(void)
+        * @brief A public member returns the file Resolution in the form of string pointer
+        * @param no parameters
+        * @return file Resolution in the form of String Pointer
+        */
+       Tizen::Base::String* GetFileResolution(void);
+
+       //!It will act as a setter function for the file format.
+       /*! @fn SetFileFormat(Tizen::Base::String *fileFormat)
+        * @brief A public member taking one string argument and set it to the private member variable
+        * @param One string pointer
+        * @return void
+        */
+       void SetFileFormat(Tizen::Base::String* pFileFormat);
+
+       //!It will act as a setter function for the file Resolution.
+       /*! @fn SetFileResolution(Tizen::Base::String *fileFormat)
+        * @brief A public member taking one string argument and set it to the private member variable
+        * @param One string pointer
+        * @return void
+        */
+       void SetFileResolution(Tizen::Base::String* PFileResolution);
+private:
+       // Copy Constructor of the class.
+       /*@fn VideoMediaMetaData(const VideoMediaMetaData&)
+        * @brief Copy Constructor
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       VideoMediaMetaData(const VideoMediaMetaData&);
+
+       // Assignment operator of the class.
+       /*@fn VideoMediaMetaData& operator = (const VideoMediaMetaData &videoMediaMetaData)
+        * @brief Assignment operator of the class.
+        * @param Takes Reference of the class
+        * @return No value returned
+        * */
+       VideoMediaMetaData& operator =(const VideoMediaMetaData& videoMediaMetaData);
+
+private:
+       Tizen::Base::String* __pFileFormat;
+       Tizen::Base::String* __pFileResolution;
+};
+
+#endif /* _MF_VIDEO_MEDIA_METADATA_H_ */
diff --git a/manifest.xml b/manifest.xml
new file mode 100755 (executable)
index 0000000..23dbb3b
--- /dev/null
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<Manifest xmlns="http://schemas.tizen.org/2012/12/manifest">
+    <Id>0pnxz8hbsr</Id>
+    <Version>1.0.0</Version>
+    <Type>C++App</Type>
+    <Author/>
+    <Descriptions>
+        <Description Locale="eng-PH"/>
+        <Description Locale="zho-SG"/>
+        <Description Locale="kat-GE"/>
+        <Description Locale="est-EE"/>
+        <Description Locale="ukr-UA"/>
+        <Description Locale="srp-RS"/>
+        <Description Locale="hrv-HR"/>
+        <Description Locale="ell-GR"/>
+        <Description Locale="isl-IS"/>
+        <Description Locale="glg-ES"/>
+        <Description Locale="lit-LT"/>
+        <Description Locale="aze-AZ"/>
+        <Description Locale="eng-US"/>
+        <Description Locale="mkd-MK"/>
+        <Description Locale="zho-HK"/>
+        <Description Locale="slk-SK"/>
+        <Description Locale="hun-HU"/>
+        <Description Locale="hye-AM"/>
+        <Description Locale="ces-CZ"/>
+        <Description Locale="fin-FI"/>
+        <Description Locale="ara-AE"/>
+        <Description Locale="ita-IT"/>
+        <Description Locale="eus-ES"/>
+        <Description Locale="tur-TR"/>
+        <Description Locale="rus-RU"/>
+        <Description Locale="cat-ES"/>
+        <Description Locale="kaz-KZ"/>
+        <Description Locale="deu-DE"/>
+        <Description Locale="zho-CN"/>
+        <Description Locale="por-PT"/>
+        <Description Locale="slv-SI"/>
+        <Description Locale="fra-FR"/>
+        <Description Locale="ron-RO"/>
+        <Description Locale="hin-IN"/>
+        <Description Locale="fra-CA"/>
+        <Description Locale="spa-ES"/>
+        <Description Locale="nld-NL"/>
+        <Description Locale="dan-DK"/>
+        <Description Locale="por-BR"/>
+        <Description Locale="bul-BG"/>
+        <Description Locale="zho-TW"/>
+        <Description Locale="jpn-JP"/>
+        <Description Locale="swe-SE"/>
+        <Description Locale="kor-KR"/>
+        <Description Locale="spa-US"/>
+        <Description Locale="uzb-UZ"/>
+        <Description Locale="nob-NO"/>
+        <Description Locale="pol-PL"/>
+        <Description Locale="gle-IE"/>
+        <Description Locale="lav-LV"/>
+        <Description Locale="eng-GB"/>
+    </Descriptions>
+    <Requirements>
+        <Feature Name="http://tizen.org/feature/platform.core.cpu.arch">x86</Feature>
+        <Feature Name="http://tizen.org/feature/platform.core.fpu.arch">vfpv3</Feature>
+    </Requirements>
+    <Apps>
+        <ApiVersion>2.0</ApiVersion>
+        <Privileges>
+            <Privilege>http://tizen.org/privilege/alarm</Privilege>
+            <Privilege>http://tizen.org/privilege/notification</Privilege>
+            <Privilege>http://tizen.org/privilege/content.write</Privilege>
+            <Privilege>http://tizen.org/privilege/setting</Privilege>
+            <Privilege>http://tizen.org/privilege/packageinfo</Privilege>
+            <Privilege>http://tizen.org/privilege/packagemanager.install</Privilege>
+            <Privilege>http://tizen.org/privilege/application.launch</Privilege>
+        </Privileges>
+        <UiApp Main="True" MenuIconVisible="True" Name="MyFiles" SubMode="True">
+            <UiScalability BaseScreenSize="Normal" CoordinateSystem="Logical" LogicalCoordinate="720"/>
+            <UiTheme SystemTheme="White"/>
+            <DisplayNames>
+                <DisplayName Locale="eng-PH">My Files-Ref</DisplayName>
+                <DisplayName Locale="zho-SG">我的文件-Ref</DisplayName>
+                <DisplayName Locale="kat-GE">ჩემი ფაილები-Ref</DisplayName>
+                <DisplayName Locale="est-EE">Minu Failid-Ref</DisplayName>
+                <DisplayName Locale="ukr-UA">Мої файли-Ref</DisplayName>
+                <DisplayName Locale="srp-RS">Moji fajlovi-Ref</DisplayName>
+                <DisplayName Locale="hrv-HR">Moje datoteke-Ref</DisplayName>
+                <DisplayName Locale="ell-GR">Τα Αρχεία Μου-Ref</DisplayName>
+                <DisplayName Locale="isl-IS">Skrárnar mínar-Ref</DisplayName>
+                <DisplayName Locale="glg-ES">Os Meus Arquivos-Ref</DisplayName>
+                <DisplayName Locale="lit-LT">Mano failai-Ref</DisplayName>
+                <DisplayName Locale="aze-AZ">Mənim fayllarım-Ref</DisplayName>
+                <DisplayName Locale="eng-US">My Files-Ref</DisplayName>
+                <DisplayName Locale="mkd-MK">Мои фајлови-Ref</DisplayName>
+                <DisplayName Locale="zho-HK">我的檔案-Ref</DisplayName>
+                <DisplayName Locale="hye-AM">Իմ Ֆայլերը-Ref</DisplayName>
+                <DisplayName Locale="hun-HU">Saját fájlok-Ref</DisplayName>
+                <DisplayName Locale="slk-SK">Moje súbory-Ref</DisplayName>
+                <DisplayName Locale="ces-CZ">Moje soubory-Ref</DisplayName>
+                <DisplayName Locale="fin-FI">Omat tiedostot-Ref</DisplayName>
+                <DisplayName Locale="ara-AE">ملفاتي-Ref</DisplayName>
+                <DisplayName Locale="eus-ES">Nire Fitxategiak-Ref</DisplayName>
+                <DisplayName Locale="ita-IT">Archivio-Ref</DisplayName>
+                <DisplayName Locale="tur-TR">Dosyalarım-Ref</DisplayName>
+                <DisplayName Locale="rus-RU">Мои файлы-Ref</DisplayName>
+                <DisplayName Locale="cat-ES">Els meus fitxers-Ref</DisplayName>
+                <DisplayName Locale="kaz-KZ">Менің файлдарым-Ref</DisplayName>
+                <DisplayName Locale="deu-DE">Eigene Dateien-Ref</DisplayName>
+                <DisplayName Locale="zho-CN">我的文件-Ref</DisplayName>
+                <DisplayName Locale="por-PT">Os Meus Ficheiros-Ref</DisplayName>
+                <DisplayName Locale="slv-SI">Moje datoteke-Ref</DisplayName>
+                <DisplayName Locale="fra-FR">Mes fichiers-Ref</DisplayName>
+                <DisplayName Locale="ron-RO">Fişierele mele-Ref</DisplayName>
+                <DisplayName Locale="hin-IN">मेरी फाइलें-Ref</DisplayName>
+                <DisplayName Locale="fra-CA">Mes fichiers-Ref</DisplayName>
+                <DisplayName Locale="spa-ES">Mis archivos-Ref</DisplayName>
+                <DisplayName Locale="nld-NL">Mijn bestanden-Ref</DisplayName>
+                <DisplayName Locale="dan-DK">Mine filer-Ref</DisplayName>
+                <DisplayName Locale="por-BR">Meus Arquivos-Ref</DisplayName>
+                <DisplayName Locale="bul-BG">Моите файлове-Ref</DisplayName>
+                <DisplayName Locale="zho-TW">我的檔案-Ref</DisplayName>
+                <DisplayName Locale="jpn-JP">マイファイル-Ref</DisplayName>
+                <DisplayName Locale="swe-SE">Mina filer-Ref</DisplayName>
+                <DisplayName Locale="kor-KR">내 파일-Ref</DisplayName>
+                <DisplayName Locale="spa-US">Mis Archivos-Ref</DisplayName>
+                <DisplayName Locale="uzb-UZ">Mening fayllarim-Ref</DisplayName>
+                <DisplayName Locale="nob-NO">Mine Filer-Ref</DisplayName>
+                <DisplayName Locale="pol-PL">Moje pliki-Ref</DisplayName>
+                <DisplayName Locale="gle-IE">Mo Chomhaid-Ref</DisplayName>
+                <DisplayName Locale="eng-GB">My Files-Ref</DisplayName>
+                <DisplayName Locale="lav-LV">Mani faili-Ref</DisplayName>
+            </DisplayNames>
+            <Icons>
+                <Icon Section="MainMenu" Type="Xhigh">mainmenu.png</Icon>
+                <Icon Section="MainMenu" Type="High">mainmenu.png</Icon>
+            </Icons>
+            <LaunchConditions/>
+            <Notifications>
+                <Notification Name="Ticker">On</Notification>
+                <Notification Name="Sound">On</Notification>
+                <Notification Name="Contents">Off</Notification>
+                <Notification Name="Badge">On</Notification>
+            </Notifications>
+        </UiApp>
+    </Apps>
+</Manifest>
diff --git a/packaging/apps.MyFiles.spec b/packaging/apps.MyFiles.spec
new file mode 100755 (executable)
index 0000000..bca9177
--- /dev/null
@@ -0,0 +1,62 @@
+Name:       apps.MyFiles
+Summary:    MyFiles application
+Version:    1.0.0
+Release:    1
+Group:      TO_BE/FILLED_IN
+License:    TO BE FILLED IN
+Source0:    %{name}-%{version}.tar.gz
+BuildRequires:  cmake
+BuildRequires:  pkgconfig(osp-content)
+BuildRequires:  pkgconfig(osp-appfw)
+BuildRequires:  pkgconfig(osp-uifw)
+BuildRequires:  osp-appfw-internal-devel
+BuildRequires:  osp-uifw-internal-devel
+BuildRequires:  pkgconfig(osp-uifw)
+BuildRequires:  osp-uifw-internal-devel
+BuildRequires:  pkgconfig(osp-media)
+BuildRequires:  osp-media-internal-devel
+BuildRequires:  pkgconfig(osp-image)
+BuildRequires:  osp-media-internal-devel
+BuildRequires:  pkgconfig(osp-image-core)
+BuildRequires:  pkgconfig(osp-net)
+BuildRequires:  osp-net-internal-devel
+BuildRequires:  pkgconfig(osp-locations)
+BuildRequires:  osp-shell-internal-devel
+BuildRequires:  pkgconfig(osp-shell)
+%description
+Verification application: MyFiles
+
+%prep
+%setup -q
+
+%build
+MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
+%ifarch %{ix86}
+CXXFLAGS="$CXXFLAGS -D_OSP_DEBUG_ -D_OSP_X86_ -D_OSP_EMUL_" cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
+%else
+CXXFLAGS="$CXXFLAGS -D_OSP_DEBUG_ -D_OSP_ARMEL_" cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
+%endif
+
+# Call make instruction with smp support
+make %{?jobs:-j%jobs}
+
+%install
+rm -rf %{buildroot}
+%make_install
+
+%post
+/sbin/ldconfig
+PKG_ID=0pnxz8hbsr
+echo "/usr/etc/package-manager/backend/tpk -i /usr/apps/"${PKG_ID}
+/usr/etc/package-manager/backend/tpk -i /usr/apps/${PKG_ID}
+cp -f /usr/lib/osp/osp-service-app-loader /usr/apps/${PKG_ID}/bin/MyFiles   
+
+%postun
+/sbin/ldconfig
+PKG_ID=0pnxz8hbsr
+echo "/usr/etc/package-manager/backend/tpk -u "${PKG_ID}
+/usr/etc/package-manager/backend/tpk -u ${PKG_ID}
+
+%files
+%defattr(-,root,root,-)
+/usr/apps/*
diff --git a/res/.workflow b/res/.workflow
new file mode 100644 (file)
index 0000000..b7228a4
Binary files /dev/null and b/res/.workflow differ
diff --git a/res/ara-AE.xml b/res/ara-AE.xml
new file mode 100644 (file)
index 0000000..2e0f691
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">فشل النسخ</text>\r
+    <text id="IDS_COM_OPT_FILES">ملف</text>\r
+    <text id="IDS_COM_POP_FOLDER">المجلد</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">‏‫التخزين الخارجي</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">اسم المجلد</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">فرز حسب</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">اختيار الكل</text>\r
+    <text id="IDS_MF_SK3_DELETE1">مسح</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">لم يتم العثور على البيانات المحددة</text>\r
+    <text id="IDS_MF_SK3_EDIT">تعديل</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">رسالة</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">حجم البريد الإلكتروني</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">ملفاتي</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">التاريخ (الأحدث)</text>\r
+    <text id="IDS_MF_BODY_TYPE">النوع</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">إظهار امتداد الملفات</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">البلوتوث</text>\r
+    <text id="IDS_COM_OPT_LIST">اللائحة</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">حفظ</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">يحتوي على</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">إنشاء مجلد</text>\r
+    <text id="IDS_COM_OPT_IMPORT">تخزين</text>\r
+    <text id="IDS_COM_BODY_MB">ميجابايت</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">إلغاء</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">فرز حسب</text>\r
+    <text id="IDS_MF_SK3_DELETE">مسح</text>\r
+    <text id="IDS_COM_BODY_SELECTED">محدد</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">لصق هنا</text>\r
+    <text id="IDS_MF_BODY_IMAGES">الصور</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">لا توجد ملفات</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">القائمة والتفاصيل</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">إنشاء مجلد</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">لا</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">عرض مختصر</text>\r
+    <text id="IDS_MF_SK3_COPY">نسخ</text>\r
+    <text id="IDS_MF_BUTTON_HOME">الرئيسية</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">كيلوبايت</text>\r
+    <text id="IDS_MF_TAB_PHONE">الهاتف</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">تاريخ الإنشاء</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">حدد الملفات</text>\r
+    <text id="IDS_COM_BODY_CLOSE">إغلاق</text>\r
+    <text id="IDS_MF_SK3_SEARCH">بحث</text>\r
+    <text id="IDS_COM_BODY_SIZE">الحجم</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">استبدال</text>\r
+    <text id="IDS_MF_TAB_UP">لأعلى</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">مشاركة</text>\r
+    <text id="IDS_COM_BODY_FORMAT">تهيئة</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">الدقة</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">بريد إلكتروني</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">التاريخ (الأقدم)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">إنشاء مجلد</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">نفس الاسم مستخدم مسبقا</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">جاري المسح...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">فشل النقل</text>\r
+    <text id="IDS_MF_SK_DETAILS">التفاصيل</text>\r
+    <text id="IDS_MF_POP_COPYING">جاري النسخ...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">الاسم (من أ إلى ي)‬</text>\r
+    <text id="IDS_COM_BODY_LOCATION">الموقع</text>\r
+    <text id="IDS_COM_POP_MOVING">جاري النقل...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">الاسم (من ي إلى أ)‬</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">إخفاء امتداد الملفات</text>\r
+    <text id="IDS_MORE">المزيد</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">عرض ﻜ</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">بحث في جميع المجلدات</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">‏‫التخزين الخارجي</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">مشاركة</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">بطاقة الذاكرة</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">إعادة تسمية</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">المجلدات</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">نقل إلى هنا</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">نقل</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">الاسم</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">لصق هنا</text>\r
+    <text id="IDS_COM_POP_ATTACH">إلحاق</text>\r
+    <text id="IDS_YES">نعم</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">لصق هنا</text>\r
+    <text id="IDS_COM_BODY_DONE">تمت</text>\r
+</string_table>\r
diff --git a/res/aze-AZ.xml b/res/aze-AZ.xml
new file mode 100644 (file)
index 0000000..c9e82da
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Köçürülmə baş tutmadı</text>\r
+    <text id="IDS_COM_OPT_FILES">Fayllar</text>\r
+    <text id="IDS_COM_POP_FOLDER">Qovluq</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Xarici yaddaş</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Qovluğun adı</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Nizamla</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Hamısını seç</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Sil</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Seçilmiş məlumatlar tapılmadı</text>\r
+    <text id="IDS_MF_SK3_EDIT">Redaktə et</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Mesaj</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Epoçt ölçüsü</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Mənim fayllarım</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Tarix (Ən son)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Tip</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Fayl genişlənməsini göstər</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Siyahı</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Yaddaşa yaz</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Tərkibi</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Qovluq yarat</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Gətir</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Ləğv et</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Nizamla</text>\r
+    <text id="IDS_MF_SK3_DELETE">Sil</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Seçilmişi</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Buraya yapışdırın</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Təsvirlər</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Fayl yoxdur</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Siyahı və təfərrüatlar</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Qovluq yarat</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Xeyr</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Miniatür görüntüsü</text>\r
+    <text id="IDS_MF_SK3_COPY">Köçür</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Ev</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefon</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Yaradılmış tarix</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Faylları seç</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Bağla</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Axtar</text>\r
+    <text id="IDS_COM_BODY_SIZE">Ölçü</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Əvəz et</text>\r
+    <text id="IDS_MF_TAB_UP">Yuxarı</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Paylaş</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Format</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Rezolyusiya</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Elektron poçtlar</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Tarix (Ən köhnə)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Qovluq yarat</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Eyni ad hazırda istifadə edilir</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Silinmə</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Keçmə alınmadı</text>\r
+    <text id="IDS_MF_SK_DETAILS">Təfsilatlar</text>\r
+    <text id="IDS_MF_POP_COPYING">Köçürülmə...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Ad (A-dan Z-yə)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Yeri</text>\r
+    <text id="IDS_COM_POP_MOVING">Göndərilmə...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Ad (Z-dən A-ya)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Fayl uzantısını gizlət</text>\r
+    <text id="IDS_MORE">Daha çox</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">...kimi nəzərdən keçir</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Bütün qovluqları axtar</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Xarici yaddaş</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Paylaş</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Yaddaş kartı</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Ad.dyş</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Qovluqlar</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Buraya keçin</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Apar</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Ad</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Buraya yapışdırın</text>\r
+    <text id="IDS_COM_POP_ATTACH">Əlavə et</text>\r
+    <text id="IDS_YES">Bəli</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Buraya yapışdırın</text>\r
+    <text id="IDS_COM_BODY_DONE">Yerinə yetirildi</text>\r
+</string_table>\r
diff --git a/res/bul-BG.xml b/res/bul-BG.xml
new file mode 100644 (file)
index 0000000..ec0937e
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Копиране неуспешно</text>\r
+    <text id="IDS_COM_OPT_FILES">Файлове</text>\r
+    <text id="IDS_COM_POP_FOLDER">Папка</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Външна памет за съхр.</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Име на папка</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Сортирай по</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Избери всички</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Изтрий</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Избраната дата не е намерена</text>\r
+    <text id="IDS_MF_SK3_EDIT">Редактиране</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Съобщение</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Размер на email</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Моите файлове</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Дата (най-нови)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Тип</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Покажи разширението на файл</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Списък</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Запис</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Съдържа</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Създаване на папка</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Въвеждане</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Отказ</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Сортирай по</text>\r
+    <text id="IDS_MF_SK3_DELETE">Изтрий</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Избрани</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Постави тук</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Изображения</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Няма файлове</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Списък и подробни данни</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Създаване на папка</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Не</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Екран миниатюри</text>\r
+    <text id="IDS_MF_SK3_COPY">Копирай</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Начало</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Телефон</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Дата на създаване</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Избор на файлове</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Затваряне</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Търсене</text>\r
+    <text id="IDS_COM_BODY_SIZE">Размер</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Замени</text>\r
+    <text id="IDS_MF_TAB_UP">Нагоре</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Сподели</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Формат</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Разделителна способност</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Email</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Дата (най-стари)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Създаване на папка</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Такова име вече се използва</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Изтриване...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Неуспешно преместване</text>\r
+    <text id="IDS_MF_SK_DETAILS">Детайли</text>\r
+    <text id="IDS_MF_POP_COPYING">Копиране...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Име (A до Я)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Позиция</text>\r
+    <text id="IDS_COM_POP_MOVING">Преместване</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Име (Я до А)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Скрий разшир. на файл</text>\r
+    <text id="IDS_MORE">Още</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Виж като</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Търс. във всички папки</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Външна памет за съхр.</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Сподели</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Карта с памет</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Преим.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Папки</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Преместване тук</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Мести</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Име</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Постави тук</text>\r
+    <text id="IDS_COM_POP_ATTACH">Прикачване</text>\r
+    <text id="IDS_YES">Да</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Постави тук</text>\r
+    <text id="IDS_COM_BODY_DONE">Готово</text>\r
+</string_table>\r
diff --git a/res/cat-ES.xml b/res/cat-ES.xml
new file mode 100644 (file)
index 0000000..d74f070
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Error en copiar</text>\r
+    <text id="IDS_COM_OPT_FILES">Fitxers</text>\r
+    <text id="IDS_COM_POP_FOLDER">Carpeta</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Emmagatzematge extern</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Nom carpeta</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Ordenar per</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Seleccioni-ho tot</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Esborrar</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">No s'han trobat les dades seleccionades</text>\r
+    <text id="IDS_MF_SK3_EDIT">Editar</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Missatge</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Mida del correu electrònic</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Els meus fitxers</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Data (més recents)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Tipus</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Mostrar extensió de fitxer</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Llista</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Desar</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Conté</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Crear carpeta</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importar</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Cancel·lar</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Ordenar per</text>\r
+    <text id="IDS_MF_SK3_DELETE">Esborrar</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Seleccionat</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Enganxar aquí</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Imatges</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Cap fitxer</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Llista i detalls</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Crear carpeta</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">No</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Vista de miniatura</text>\r
+    <text id="IDS_MF_SK3_COPY">Copiar</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Pers.</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telèfon</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Data de creació</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Seleccionar fitxers</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Tancar</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Cercar</text>\r
+    <text id="IDS_COM_BODY_SIZE">Mida</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Substit</text>\r
+    <text id="IDS_MF_TAB_UP">Amunt</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Compart</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Format</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Resolució</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Correu electrònic</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Data (més antics)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Crear carpeta</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">El mateix nom ja està en ús</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Esborrant...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Error en moure</text>\r
+    <text id="IDS_MF_SK_DETAILS">Detalls</text>\r
+    <text id="IDS_MF_POP_COPYING">Copiant...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Nom (A a Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Ubicació</text>\r
+    <text id="IDS_COM_POP_MOVING">Movent...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Nom (Z a A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Ocultar exten fitxer</text>\r
+    <text id="IDS_MORE">Més</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Veure com a</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Cercar totes les carp.</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Emmagatzematge extern</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Compart</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Targeta memòria</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Reanom</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Carpetes</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Moure aquí</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Moure</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Nom</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Enganxar aquí</text>\r
+    <text id="IDS_COM_POP_ATTACH">Adjuntar</text>\r
+    <text id="IDS_YES">Sí</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Enganxar aquí</text>\r
+    <text id="IDS_COM_BODY_DONE">Finalitzat</text>\r
+</string_table>\r
diff --git a/res/ces-CZ.xml b/res/ces-CZ.xml
new file mode 100644 (file)
index 0000000..a698047
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Kopírování se nezdařilo</text>\r
+    <text id="IDS_COM_OPT_FILES">Soubory</text>\r
+    <text id="IDS_COM_POP_FOLDER">Složka</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Externí úložiště</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Název složky</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Seřadit podle</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Vybrat vše</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Odstranit</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Vybraná data nebyla nalezena</text>\r
+    <text id="IDS_MF_SK3_EDIT">Upravit</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Zpráva</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Velikost e-mailu</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Moje soubory</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Datum (nejnovější)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Typ</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Zobrazit příponu souborů</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Seznam</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Uložit</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Obsahuje</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Vytvořit složku</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Import</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Zrušit</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Seřadit podle</text>\r
+    <text id="IDS_MF_SK3_DELETE">Odstranit</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Vybráno</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Vložit sem</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Obrázky</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Žádné soubory</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Seznam a detaily</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Vytvořit složku</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Ne</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Zobrazení miniatur</text>\r
+    <text id="IDS_MF_SK3_COPY">Kopírovat</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Domů</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">kB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefon</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Datum vytvoření</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Vybrat soubory</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Zavřít</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Hledat</text>\r
+    <text id="IDS_COM_BODY_SIZE">Velikost</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Nahradit</text>\r
+    <text id="IDS_MF_TAB_UP">Nahoru</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Sdílet</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formát</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Rozlišení</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-mail</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Datum (nejstarší)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Vytvořit složku</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Stejný název je již použit</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Odstraňování...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Přesunutí se nezdařilo</text>\r
+    <text id="IDS_MF_SK_DETAILS">Podrobnosti</text>\r
+    <text id="IDS_MF_POP_COPYING">Kopírování...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Název (od A do Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Místo</text>\r
+    <text id="IDS_COM_POP_MOVING">Probíhá přesouvání</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Název (od Z do A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Skrýt příponu souborů</text>\r
+    <text id="IDS_MORE">Další</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Zobrazit jako</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Hledat ve všech složk.</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Externí úložiště</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Sdílet</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Paměťová karta</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Přejm.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Složky</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Přesunout sem</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Přesun</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Jméno</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Vložit sem</text>\r
+    <text id="IDS_COM_POP_ATTACH">Připojit</text>\r
+    <text id="IDS_YES">Ano</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Vložit sem</text>\r
+    <text id="IDS_COM_BODY_DONE">Hotovo</text>\r
+</string_table>\r
diff --git a/res/dan-DK.xml b/res/dan-DK.xml
new file mode 100644 (file)
index 0000000..22cc1c6
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Kopiering mislykkedes</text>\r
+    <text id="IDS_COM_OPT_FILES">Filer</text>\r
+    <text id="IDS_COM_POP_FOLDER">Mappe</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Eksternt lager</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Mappenavn</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Sortér efter</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Vælg alle</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Slet</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Valgt data ikke fundet</text>\r
+    <text id="IDS_MF_SK3_EDIT">Redigér</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Meddelelse</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">E-mail-størrelse</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Mine filer</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Dato (nyeste)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Type</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Vis filtypenavn</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Liste</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Gem</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Indeholder</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Opret mappe</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importér</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Annullér</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Sortér efter</text>\r
+    <text id="IDS_MF_SK3_DELETE">Slet</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Valgte</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Sæt ind her</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Billeder</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Ingen filer</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Liste og detaljer</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Opret mappe</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Nej</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Miniaturevisning</text>\r
+    <text id="IDS_MF_SK3_COPY">Kopiér</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Hjem</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefon</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Oprettelsesdato</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Vælg filer</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Luk</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Søg</text>\r
+    <text id="IDS_COM_BODY_SIZE">Størrelse</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Erstat</text>\r
+    <text id="IDS_MF_TAB_UP">Op</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Del</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formatér</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Opløsning</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-mail</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Dato (ældste)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Opret mappe</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Det samme navn er allerede i brug</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Sletter ...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Flytning mislykkedes</text>\r
+    <text id="IDS_MF_SK_DETAILS">Detaljer</text>\r
+    <text id="IDS_MF_POP_COPYING">Kopierer ...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Navn (A til Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Placering</text>\r
+    <text id="IDS_COM_POP_MOVING">Flytter ...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Navn (Z til A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Skjul filtypenavn</text>\r
+    <text id="IDS_MORE">Flere</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Vis som</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Søg i alle mapper</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Eksternt lager</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Del</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Hukommelseskort</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Omdøb</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Mapper</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Flyt hertil</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Flyt</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Navn</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Sæt ind her</text>\r
+    <text id="IDS_COM_POP_ATTACH">Vedhæft</text>\r
+    <text id="IDS_YES">Ja</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Sæt ind her</text>\r
+    <text id="IDS_COM_BODY_DONE">Udført</text>\r
+</string_table>\r
diff --git a/res/deu-DE.xml b/res/deu-DE.xml
new file mode 100644 (file)
index 0000000..37e3fd5
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Kopieren fehlgeschlagen</text>\r
+    <text id="IDS_COM_OPT_FILES">Dateien</text>\r
+    <text id="IDS_COM_POP_FOLDER">Ordner</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Externer Speicher</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Ordnername</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Sortieren nach</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Alle auswählen</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Löschen</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Ausgewählte Daten nicht gefunden.</text>\r
+    <text id="IDS_MF_SK3_EDIT">Bearbeiten</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Nachricht</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">E-Mail-Größe</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Eigene Dateien</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Datum (neueste)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Typ</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Dateierweiterung anzeigen</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Liste</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Speichern</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Enthält</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Ordner erstellen</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importieren</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Abbrechen</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Sortieren nach</text>\r
+    <text id="IDS_MF_SK3_DELETE">Löschen</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Ausgewählt</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Hier einfügen</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Eigene Bilder</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Keine Dateien</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Liste und Details</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Ordner erstellen</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Nein</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Miniaturansicht</text>\r
+    <text id="IDS_MF_SK3_COPY">Kopieren</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Home</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefon</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Erstellungsdatum</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Dateien auswählen</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Schließen</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Suche</text>\r
+    <text id="IDS_COM_BODY_SIZE">Größe</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Ersetzen</text>\r
+    <text id="IDS_MF_TAB_UP">Hoch</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Senden</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formatieren</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Auflösung</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-Mail</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Datum (älteste)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Ordner erstellen</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Derselbe Name wird bereits verwendet</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Löschen...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Verschieben fehlgeschlagen</text>\r
+    <text id="IDS_MF_SK_DETAILS">Details</text>\r
+    <text id="IDS_MF_POP_COPYING">Wird kopiert...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Name (A bis Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Standortzugriff</text>\r
+    <text id="IDS_COM_POP_MOVING">Verschiebevorgang aktiv...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Name (Z bis A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Dateierweit. ausbl.</text>\r
+    <text id="IDS_MORE">Optionen</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Anzeigen als</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Alle Ordner durchsuchen</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Externer Speicher</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Senden</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Speicher-\nkarte</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Umben.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Ordner</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Hierher verschieben</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Verschieben</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Name</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Hier einfügen</text>\r
+    <text id="IDS_COM_POP_ATTACH">Anhängen</text>\r
+    <text id="IDS_YES">Ja</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Hier einfügen</text>\r
+    <text id="IDS_COM_BODY_DONE">OK</text>\r
+</string_table>\r
diff --git a/res/ell-GR.xml b/res/ell-GR.xml
new file mode 100644 (file)
index 0000000..3c9e082
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Αποτυχία αντιγραφής</text>\r
+    <text id="IDS_COM_OPT_FILES">Αρχεία</text>\r
+    <text id="IDS_COM_POP_FOLDER">Φάκελος</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Εξωτ. χώρος αποθήκ.</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Όνομα φακέλου</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Ταξινόμ. κατά</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Επιλογή όλων</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Διαγραφή</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Τα επιλεγμένα δεδομένα δεν βρέθηκαν</text>\r
+    <text id="IDS_MF_SK3_EDIT">Επεξεργ.</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Μήνυμα</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Μέγεθος email</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Τα Αρχεία Μου</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Ημερομηνία (Πιο πρόσφατο)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Τύπος</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Προβολή επέκτασης αρχείου</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Λίστα</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Αποθήκευση</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Περιέχει</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Δημ/ργία φακέλου</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Εισαγωγή</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Ακύρωση</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Ταξινόμ. κατά</text>\r
+    <text id="IDS_MF_SK3_DELETE">Διαγραφή</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Επιλεγμένο</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Επικόλληση εδώ</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Εικόνες</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Δεν βρέθηκαν αρχεία</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Λίστα και λεπτομέρειες</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Δημ/ργία φακέλου</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Όχι</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Προβολή μικρογραφιών</text>\r
+    <text id="IDS_MF_SK3_COPY">Αντιγραφή</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Home</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Τηλέφωνο</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Ημερομηνία δημιουργίας</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Επιλογή αρχείων</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Κλείσιμο</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Αναζήτηση</text>\r
+    <text id="IDS_COM_BODY_SIZE">Μέγεθος</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Αντικατ.</text>\r
+    <text id="IDS_MF_TAB_UP">Πάνω</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Κοιν.χρ</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Μορφοποίηση</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Ανάλυση</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Email</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Ημερομηνία (Παλαιότερο)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Δημ/ργία φακέλου</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Το όνομα χρησιμοποιείται ήδη</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Διαγραφή...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Αποτυχία μετακίνησης</text>\r
+    <text id="IDS_MF_SK_DETAILS">Λεπτομ.</text>\r
+    <text id="IDS_MF_POP_COPYING">Αντιγραφή...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Όνομα (Α προς Ω)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Θέση</text>\r
+    <text id="IDS_COM_POP_MOVING">Μετακίνηση...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Όνομα (Ω προς Α)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Απόκρ. επέκτασης αρχ.</text>\r
+    <text id="IDS_MORE">Περισσότ.</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Προβολή ως</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Αναζ.σε όλους τους φακ.</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Εξωτ. χώρος αποθήκ.</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Κοιν.χρ</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Κάρτα μνήμης</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Μετον.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Φάκελοι</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Μετακίνηση εδώ</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Μετακίνηση</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Όνομα</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Επικόλληση εδώ</text>\r
+    <text id="IDS_COM_POP_ATTACH">Επισύναψη</text>\r
+    <text id="IDS_YES">Ναι</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Επικόλληση εδώ</text>\r
+    <text id="IDS_COM_BODY_DONE">Τέλος</text>\r
+</string_table>\r
diff --git a/res/eng-GB.xml b/res/eng-GB.xml
new file mode 100644 (file)
index 0000000..e2a7300
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Copy Failed</text>\r
+    <text id="IDS_COM_OPT_FILES">Files</text>\r
+    <text id="IDS_COM_POP_FOLDER">Folder</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">External storage</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Folder name</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Sort by</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Select all</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Delete</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Selected data not found</text>\r
+    <text id="IDS_MF_SK3_EDIT">Edit</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Message</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Email size</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">My Files</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Date (most recent)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Type</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Show file extension</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">List</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Save</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Contains</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Create folder</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Import</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Cancel</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Sort by</text>\r
+    <text id="IDS_MF_SK3_DELETE">Delete</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Selected</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Paste here</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Images</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">No files</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">List and details</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Create folder</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">No</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Thumbnail view</text>\r
+    <text id="IDS_MF_SK3_COPY">Copy</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Home</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Phone</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Created date</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Select Files</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Close</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Search</text>\r
+    <text id="IDS_COM_BODY_SIZE">Size</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Replace</text>\r
+    <text id="IDS_MF_TAB_UP">Up</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Share</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Format</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Resolution</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Email</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Date (oldest)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Create folder</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Same name already in use</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Deleting...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Move Failed</text>\r
+    <text id="IDS_MF_SK_DETAILS">Details</text>\r
+    <text id="IDS_MF_POP_COPYING">Copying...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Name (A to Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Location</text>\r
+    <text id="IDS_COM_POP_MOVING">Moving...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Name (Z to A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Hide file extension</text>\r
+    <text id="IDS_MORE">More</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">View as</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Search all folders</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">External storage</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Share</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Rename</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Memory card</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Folders</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Move here</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Move</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Name</text>\r
+    <text id="IDS_COM_POP_ATTACH">Attach</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Paste here</text>\r
+    <text id="IDS_YES">Yes</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Paste here</text>\r
+    <text id="IDS_COM_BODY_DONE">Done</text>\r
+</string_table>\r
diff --git a/res/eng-PH.xml b/res/eng-PH.xml
new file mode 100644 (file)
index 0000000..1edf7f4
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Copy Failed</text>\r
+    <text id="IDS_COM_OPT_FILES">Files</text>\r
+    <text id="IDS_COM_POP_FOLDER">Folder</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">External storage</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Folder name</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Sort by</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Select all</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Delete</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Selected data not found</text>\r
+    <text id="IDS_MF_SK3_EDIT">Edit</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Message</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Email size</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">My Files</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Date (Most recent)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Type</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Show file extension</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">List</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Save</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Contains</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Create folder</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Import</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Cancel</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Sort by</text>\r
+    <text id="IDS_MF_SK3_DELETE">Delete</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Selected</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Paste here</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Images</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">No files</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">List and details</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Create folder</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">No</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Thumbnail view</text>\r
+    <text id="IDS_MF_SK3_COPY">Copy</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Home</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Phone</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Created date</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Select Files</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Close</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Search</text>\r
+    <text id="IDS_COM_BODY_SIZE">Size</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Replace</text>\r
+    <text id="IDS_MF_TAB_UP">Up</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Share</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Format</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Resolution</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Email</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Date (Oldest)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Create folder</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Same name already in use</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Deleting...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Move Failed</text>\r
+    <text id="IDS_MF_SK_DETAILS">Details</text>\r
+    <text id="IDS_MF_POP_COPYING">Copying...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Name (A to Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Location</text>\r
+    <text id="IDS_COM_POP_MOVING">Moving...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Name (Z to A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Hide file extension</text>\r
+    <text id="IDS_MORE">More</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">View as</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Search all folders</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">External storage</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Share</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Memory card</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Rename</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Folders</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Move here</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Move</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Name</text>\r
+    <text id="IDS_COM_POP_ATTACH">Attach</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Paste here</text>\r
+    <text id="IDS_YES">Yes</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Paste here</text>\r
+    <text id="IDS_COM_BODY_DONE">Done</text>\r
+</string_table>\r
diff --git a/res/eng-US.xml b/res/eng-US.xml
new file mode 100644 (file)
index 0000000..1edf7f4
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Copy Failed</text>\r
+    <text id="IDS_COM_OPT_FILES">Files</text>\r
+    <text id="IDS_COM_POP_FOLDER">Folder</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">External storage</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Folder name</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Sort by</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Select all</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Delete</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Selected data not found</text>\r
+    <text id="IDS_MF_SK3_EDIT">Edit</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Message</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Email size</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">My Files</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Date (Most recent)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Type</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Show file extension</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">List</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Save</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Contains</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Create folder</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Import</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Cancel</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Sort by</text>\r
+    <text id="IDS_MF_SK3_DELETE">Delete</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Selected</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Paste here</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Images</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">No files</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">List and details</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Create folder</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">No</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Thumbnail view</text>\r
+    <text id="IDS_MF_SK3_COPY">Copy</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Home</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Phone</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Created date</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Select Files</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Close</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Search</text>\r
+    <text id="IDS_COM_BODY_SIZE">Size</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Replace</text>\r
+    <text id="IDS_MF_TAB_UP">Up</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Share</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Format</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Resolution</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Email</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Date (Oldest)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Create folder</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Same name already in use</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Deleting...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Move Failed</text>\r
+    <text id="IDS_MF_SK_DETAILS">Details</text>\r
+    <text id="IDS_MF_POP_COPYING">Copying...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Name (A to Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Location</text>\r
+    <text id="IDS_COM_POP_MOVING">Moving...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Name (Z to A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Hide file extension</text>\r
+    <text id="IDS_MORE">More</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">View as</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Search all folders</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">External storage</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Share</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Memory card</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Rename</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Folders</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Move here</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Move</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Name</text>\r
+    <text id="IDS_COM_POP_ATTACH">Attach</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Paste here</text>\r
+    <text id="IDS_YES">Yes</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Paste here</text>\r
+    <text id="IDS_COM_BODY_DONE">Done</text>\r
+</string_table>\r
diff --git a/res/est-EE.xml b/res/est-EE.xml
new file mode 100644 (file)
index 0000000..02c1e99
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Teisaldamine nurjus</text>\r
+    <text id="IDS_COM_OPT_FILES">Failid</text>\r
+    <text id="IDS_COM_POP_FOLDER">Kaust</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Välismälu</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Kausta nimi</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Sortimine:</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Vali kõik</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Kustuta</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Valitud andmeid ei leitud</text>\r
+    <text id="IDS_MF_SK3_EDIT">Muuda</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Sõnum</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">E-kirja maht</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Minu Failid</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Kuupäev (kõige hilisemast)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Tüüp</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Kuva faililaiend</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Loend</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Salvesta</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Sisaldab</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Loo kaust</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Import</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Tühista</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Sortimine:</text>\r
+    <text id="IDS_MF_SK3_DELETE">Kustuta</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Valitud</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Kleebi siia</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Pildid</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Faile pole</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Loend ja üksikasjad</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Loo kaust</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Ei</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Pisipildivaade</text>\r
+    <text id="IDS_MF_SK3_COPY">Kopeeri</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Avaleht</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">kB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefon</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Loomise kuupäev</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Vali failid</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Sulge</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Otsi</text>\r
+    <text id="IDS_COM_BODY_SIZE">Suurus</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Asenda</text>\r
+    <text id="IDS_MF_TAB_UP">Üles</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Jaga</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Vorming</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Eraldusvõime</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-post</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Kuupäev (kõige vanemast)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Loo kaust</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">See nimi on juba kasutusel</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Kustutamine...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Teisaldamine nurjus</text>\r
+    <text id="IDS_MF_SK_DETAILS">Üksikasjad</text>\r
+    <text id="IDS_MF_POP_COPYING">Kopeerimine...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Nimi (A‒Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Asukoht</text>\r
+    <text id="IDS_COM_POP_MOVING">Teisaldamine...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Nimi (Z‒A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Peida faililaiend</text>\r
+    <text id="IDS_MORE">Veel</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Kuvamisviis</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Otsi kaustadest</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Välismälu</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Jaga</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Mälukaart</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Nim üm</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Kaustad</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Teisalda siia</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Teisalda</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Nimi</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Kleebi siia</text>\r
+    <text id="IDS_COM_POP_ATTACH">Manusta</text>\r
+    <text id="IDS_YES">Jah</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Kleebi siia</text>\r
+    <text id="IDS_COM_BODY_DONE">Valmis</text>\r
+</string_table>\r
diff --git a/res/eus-ES.xml b/res/eus-ES.xml
new file mode 100644 (file)
index 0000000..e490354
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Errorea kopiatzerakoan</text>\r
+    <text id="IDS_COM_OPT_FILES">Fitxategiak</text>\r
+    <text id="IDS_COM_POP_FOLDER">Karpeta</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Kanpo memoria</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Karpetaren izena</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Sailkatu honela</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Denak aukeratu</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Ezabatu</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Hautatutako datuak ez dira aurkitu</text>\r
+    <text id="IDS_MF_SK3_EDIT">Editatu</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Mezua</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">P. elek. neurria</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Nire Fitxategiak</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Data (Berriena)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Mota</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Erakutsi fitxategiaren luzapena</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Zerrenda</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Gorde</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Edukiak</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Karpeta sortu</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Inportatu</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Ezeztatu</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Sailkatu honela</text>\r
+    <text id="IDS_MF_SK3_DELETE">Ezabatu</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Aukeratutakoa(k)</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Hemen erantsi</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Irudiak</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Fitxategirik ez</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Zerrenda eta xehetasunak</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Karpeta sortu</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Ez</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Miniatura ikuspegia</text>\r
+    <text id="IDS_MF_SK3_COPY">Kopiatu</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Etxea</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefonoa</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Sortutako data</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Fitxategiak aukeratu</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Itxi</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Bilatu</text>\r
+    <text id="IDS_COM_BODY_SIZE">Tamaina</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Ordeztu</text>\r
+    <text id="IDS_MF_TAB_UP">Gora</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Partek.</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formateatu</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Bereizmena</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Posta elektroniko mezuak</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Data (Zaharrena)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Karpeta sortu</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Izen bera dagoeneko erabiltzen</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Ezabatzen...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Errorea mugitzerakoan</text>\r
+    <text id="IDS_MF_SK_DETAILS">Xehetasunak</text>\r
+    <text id="IDS_MF_POP_COPYING">Kopiatzen...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Izena (Atik Zra)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Kokalekua</text>\r
+    <text id="IDS_COM_POP_MOVING">Mugitzen...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Izena (Ztik Ara)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Ezkutatu fitx. luzapena</text>\r
+    <text id="IDS_MORE">Gehiago</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Nola ikusi</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Bilatu karpeta guztiak</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Kanpo memoria</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Partek.</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Memoria txartela</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Berrizend.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Karpetak</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Hona mugitu</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Mugitu</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Izena</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Hemen erantsi</text>\r
+    <text id="IDS_COM_POP_ATTACH">Erantsi</text>\r
+    <text id="IDS_YES">Bai</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Hemen erantsi</text>\r
+    <text id="IDS_COM_BODY_DONE">Amaituta</text>\r
+</string_table>\r
diff --git a/res/fin-FI.xml b/res/fin-FI.xml
new file mode 100644 (file)
index 0000000..768b4c2
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Kopiointi epäonnistui</text>\r
+    <text id="IDS_COM_OPT_FILES">Tiedostot</text>\r
+    <text id="IDS_COM_POP_FOLDER">Kansio</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Ulk. tallennuslaite</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Kansion nimi</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Laj.per.</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Valitse kaikki</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Poista</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Valittuja tietoja ei löydy</text>\r
+    <text id="IDS_MF_SK3_EDIT">Muokkaa</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Viesti</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Sähköpostin koko</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Omat tiedostot</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Päivämäärä (Uusimmat)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Tyyppi</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Näytä tiedostotunniste</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Luettelo</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Tallenna</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Sisältää</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Luo kansio</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Tuo</text>\r
+    <text id="IDS_COM_BODY_MB">Mt</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Peruuta</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Laj.per.</text>\r
+    <text id="IDS_MF_SK3_DELETE">Poista</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Valittu</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Liitä tänne</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Kuvat</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Ei tiedostoja</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Luettelo ja tiedot</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Luo kansio</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Ei</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Pikkukuvanäkymä</text>\r
+    <text id="IDS_MF_SK3_COPY">Kopioi</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Koti</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">kt</text>\r
+    <text id="IDS_MF_TAB_PHONE">Puhelin</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Luontipäivämäärä</text>\r
+    <text id="IDS_COM_BODY_B">t</text>\r
+    <text id="IDS_SELECT_FILES">Valitse tiedostot</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Sulje</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Etsi</text>\r
+    <text id="IDS_COM_BODY_SIZE">Koko</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Korvaa</text>\r
+    <text id="IDS_MF_TAB_UP">Ylös</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Jaa</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Alusta</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Tarkkuus</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Sähköposti</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Päivämäärä (Vanhimmat)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Luo kansio</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Sama nimi on jo käytössä</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Poistetaan...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Siirto epäonnistui</text>\r
+    <text id="IDS_MF_SK_DETAILS">Lisätiedot</text>\r
+    <text id="IDS_MF_POP_COPYING">Kopioidaan...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Nimi (A–Ö)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Osoite</text>\r
+    <text id="IDS_COM_POP_MOVING">Siirretään...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Nimi (Ö–A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Piilota tiedostolaaj.</text>\r
+    <text id="IDS_MORE">Lisää</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Katsele muodossa</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Hae kaikista kansioista</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Ulk. tallennuslaite</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Jaa</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Muistik.</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">N.uud.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Kansiot</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Siirrä tänne</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Siirrä</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Nimi</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Liitä tänne</text>\r
+    <text id="IDS_COM_POP_ATTACH">Liitä</text>\r
+    <text id="IDS_YES">Kyllä</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Liitä tänne</text>\r
+    <text id="IDS_COM_BODY_DONE">Tehty</text>\r
+</string_table>\r
diff --git a/res/fra-CA.xml b/res/fra-CA.xml
new file mode 100644 (file)
index 0000000..8f6659c
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Échec de copie</text>\r
+    <text id="IDS_COM_OPT_FILES">Fichiers</text>\r
+    <text id="IDS_COM_POP_FOLDER">Dossier</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Stockage externe</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Nom de dossier</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Trier par</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Sélectionner tout</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Supprimer</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Données sélectionnées introuvables</text>\r
+    <text id="IDS_MF_SK3_EDIT">Modifier</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Message</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Taille du courriel</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Mes fichiers</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Date (les plus récents)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Type</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Afficher l'extension du fichier</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Liste</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Enreg.</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Contient</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Créer un dossier</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importer</text>\r
+    <text id="IDS_COM_BODY_MB">Mo</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Annuler</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Trier par</text>\r
+    <text id="IDS_MF_SK3_DELETE">Supprimer</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Sélectionné</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Coller ici</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Images</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Aucun fichier</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Liste et détails</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Créer un dossier</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Non</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Affichage miniature</text>\r
+    <text id="IDS_MF_SK3_COPY">Copier</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Accueil</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">Ko</text>\r
+    <text id="IDS_MF_TAB_PHONE">Téléphone</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Date de création</text>\r
+    <text id="IDS_COM_BODY_B">O</text>\r
+    <text id="IDS_SELECT_FILES">Sélectionner des fichiers</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Fermer</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Rechercher</text>\r
+    <text id="IDS_COM_BODY_SIZE">Taille</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Rempl.</text>\r
+    <text id="IDS_MF_TAB_UP">Haut</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Partag.</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Format</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Résolution</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Courriel</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Date (les plus anciens)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Créer un dossier</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Nom déjà utilisé</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Suppression ...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Échec du déplacement</text>\r
+    <text id="IDS_MF_SK_DETAILS">Détails</text>\r
+    <text id="IDS_MF_POP_COPYING">Copie ...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Nom (A à Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Emplacement</text>\r
+    <text id="IDS_COM_POP_MOVING">Déplacement...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Nom (Z à A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Masq. extens. fichier</text>\r
+    <text id="IDS_MORE">Plus</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Afficher comme</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Rech. dans ts dossiers</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Stockage externe</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Partag.</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Carte mémoire</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Renom.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Dossiers</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Déplacer ici</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wifi direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Déplacer</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Nom</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Coller ici</text>\r
+    <text id="IDS_COM_POP_ATTACH">Joindre</text>\r
+    <text id="IDS_YES">Oui</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Coller ici</text>\r
+    <text id="IDS_COM_BODY_DONE">OK</text>\r
+</string_table>\r
diff --git a/res/fra-FR.xml b/res/fra-FR.xml
new file mode 100644 (file)
index 0000000..7751076
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Échec copie</text>\r
+    <text id="IDS_COM_OPT_FILES">Fichiers</text>\r
+    <text id="IDS_COM_POP_FOLDER">Dossier</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Stockage externe</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Nom de dossier</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Trier par</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Sélect. tout</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Supprimer</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Données sélectionnées introuvables</text>\r
+    <text id="IDS_MF_SK3_EDIT">Modifier</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Message</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Taille e-mail</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Mes fichiers</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Date (Les plus récents)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Type</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Afficher l'extension du fichier</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Liste</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Enregistrer</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Contenu</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Créer dossier</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importer</text>\r
+    <text id="IDS_COM_BODY_MB">Mo</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Annuler</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Trier par</text>\r
+    <text id="IDS_MF_SK3_DELETE">Supprimer</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Sélectionné</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Coller ici</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Images</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Aucun fichier</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Liste et détails</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Créer dossier</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Non</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Affichage miniature</text>\r
+    <text id="IDS_MF_SK3_COPY">Copier</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Accueil</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">Ko</text>\r
+    <text id="IDS_MF_TAB_PHONE">Téléphone</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Date de création</text>\r
+    <text id="IDS_COM_BODY_B">O</text>\r
+    <text id="IDS_SELECT_FILES">Sélectionner des fichiers</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Fermer</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Chercher</text>\r
+    <text id="IDS_COM_BODY_SIZE">Taille</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Rempl.</text>\r
+    <text id="IDS_MF_TAB_UP">Haut</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Partag.</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formater</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Résolution</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Email</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Date (Les plus anciens)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Créer dossier</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Nom déjà utilisé</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Suppression...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Échec du déplacement</text>\r
+    <text id="IDS_MF_SK_DETAILS">Détails</text>\r
+    <text id="IDS_MF_POP_COPYING">Copie...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Nom (A à Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Position</text>\r
+    <text id="IDS_COM_POP_MOVING">Déplacement...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Nom (Z à A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Masq. extens. fichier</text>\r
+    <text id="IDS_MORE">Plus</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Visualiser comme</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Rech. dans ts dossiers</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Stockage externe</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Partag.</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Carte mémoire</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Nv nom</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Dossiers</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Déplacer ici</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Déplacer</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Nom</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Coller ici</text>\r
+    <text id="IDS_COM_POP_ATTACH">Joindre</text>\r
+    <text id="IDS_YES">Oui</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Coller ici</text>\r
+    <text id="IDS_COM_BODY_DONE">Effectué</text>\r
+</string_table>\r
diff --git a/res/gle-IE.xml b/res/gle-IE.xml
new file mode 100644 (file)
index 0000000..16789af
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Theip ar chóipeáil</text>\r
+    <text id="IDS_COM_OPT_FILES">Comhaid</text>\r
+    <text id="IDS_COM_POP_FOLDER">Fillteán</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Stóras seachtrach</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Ainm an fhillteáin</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Sórtáil de réir</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Roghnaigh gach</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Scrios</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Níor aimsíodh na sonraí roghnaithe</text>\r
+    <text id="IDS_MF_SK3_EDIT">Cuir in eagar</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Teachtaireacht</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Méid an r-phoist</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Mo Chomhaid</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Dáta (Cinn is déanaí)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Cineál</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Taispeáin iarmhír chomhadainm</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Liostaigh</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Sábháil</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Istigh tá:</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Déan fillteán</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Iompórtáil</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Cuir ar ceal</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Sórtáil de réir</text>\r
+    <text id="IDS_MF_SK3_DELETE">Scrios</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Roghnaithe</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Greamaigh anseo</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Íomhánna</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Níl comhaid ann</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Liosta agus sonraí</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Déan fillteán</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Ná déan é</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Radharc mionsamhla</text>\r
+    <text id="IDS_MF_SK3_COPY">Cóipeáil</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Baile</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Fón</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Dáta cruthaithe</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Roghnaigh comhaid</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Dún</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Cuardach</text>\r
+    <text id="IDS_COM_BODY_SIZE">Méid</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Ionadú</text>\r
+    <text id="IDS_MF_TAB_UP">Suas</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">C.roinn</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formáidigh</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Taifeach</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">R-phost</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Dáta (Cinn is sine)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Déan fillteán</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Ainm céanna in úsáid cheana</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Ag scriosadh...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Theip ar bhogadh</text>\r
+    <text id="IDS_MF_SK_DETAILS">Sonraí</text>\r
+    <text id="IDS_MF_POP_COPYING">Ag cóipeáil...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Ainm (A go Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Suíomh</text>\r
+    <text id="IDS_COM_POP_MOVING">Ag bogadh...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Ainm (Z go A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Fol. iarmhír comhaid</text>\r
+    <text id="IDS_MORE">Tuilleadh</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Amharc mar</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Cuardaigh gach fillteán</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Stóras seachtrach</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">C.roinn</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Cárta cuimhne</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Athainm</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Fillteáin</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Bog anseo</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Bog</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Ainm</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Greamaigh anseo</text>\r
+    <text id="IDS_COM_POP_ATTACH">Cuir i gceangail</text>\r
+    <text id="IDS_YES">Déan é</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Greamaigh anseo</text>\r
+    <text id="IDS_COM_BODY_DONE">Déanta</text>\r
+</string_table>\r
diff --git a/res/glg-ES.xml b/res/glg-ES.xml
new file mode 100644 (file)
index 0000000..94c3a7b
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Erro ao copiar</text>\r
+    <text id="IDS_COM_OPT_FILES">Arquivos</text>\r
+    <text id="IDS_COM_POP_FOLDER">Carpeta</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Almacenamento externo</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Nome de carpeta</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Ordenar por</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Seleccionar todo</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Eliminar</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Non se atopou a data seleccionada</text>\r
+    <text id="IDS_MF_SK3_EDIT">Editar</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Mensaxe</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Tamaño de correo electrónico</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Os Meus Arquivos</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Data (A máis recente)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Tipo</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Mostrar extensión do arquivo</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Lista</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Gardar</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Contén</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Crear carpeta</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importar</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Cancelar</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Ordenar por</text>\r
+    <text id="IDS_MF_SK3_DELETE">Eliminar</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Seleccionado</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Pegar aquí</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Imaxes</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Non hai arquivos</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Lista e detalles</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Crear carpeta</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Non</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Vista en miniatura</text>\r
+    <text id="IDS_MF_SK3_COPY">Copiar</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Particular</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Teléfono</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Data de creación</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Seleccionar arquivos</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Pechar</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Buscar</text>\r
+    <text id="IDS_COM_BODY_SIZE">Tamaño</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Substit</text>\r
+    <text id="IDS_MF_TAB_UP">Arriba</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Compart</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formato</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Resolución</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Correo electrónico</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Data (A máis antiga)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Crear carpeta</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Este nome xa está en uso</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Eliminando...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Erro ao mover</text>\r
+    <text id="IDS_MF_SK_DETAILS">Detalles</text>\r
+    <text id="IDS_MF_POP_COPYING">Copiando...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Nome (A-Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Localización</text>\r
+    <text id="IDS_COM_POP_MOVING">Movendo...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Nome (Z-A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Ocult. extens. arquivo</text>\r
+    <text id="IDS_MORE">Máis</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Ver como</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Buscar todas carpetas</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Almacenamento externo</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Compart</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Tarx. de memoria</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">C nome</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Carpetas</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Mover aquí</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Mover</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Nome</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Pegar aquí</text>\r
+    <text id="IDS_COM_POP_ATTACH">Achegar</text>\r
+    <text id="IDS_YES">Si</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Pegar aquí</text>\r
+    <text id="IDS_COM_BODY_DONE">Finalizado</text>\r
+</string_table>\r
diff --git a/res/hin-IN.xml b/res/hin-IN.xml
new file mode 100644 (file)
index 0000000..0c78e77
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">कॉपी करना विफल</text>\r
+    <text id="IDS_COM_OPT_FILES">फाइलें</text>\r
+    <text id="IDS_COM_POP_FOLDER">फोल्डर</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">बाह्य स्टोरेज</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">फोल्डर का नाम</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">द्वारा छाँटें</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">सभी चुनें</text>\r
+    <text id="IDS_MF_SK3_DELETE1">हटाएँ</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">चयनित डाटा नहीं मिला</text>\r
+    <text id="IDS_MF_SK3_EDIT">संपादन</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">सन्देश</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">ईमेल आकार</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">मेरी फाइलें</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">तारीख (हालही का सबसे नवीनतम)</text>\r
+    <text id="IDS_MF_BODY_TYPE">प्रकार</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">फ़ाइल एक्स्टेंशन दिखाएँ</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">ब्लूटूथ</text>\r
+    <text id="IDS_COM_OPT_LIST">सूची</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">सुरक्षित</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">शामिल</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">फोल्डर बनाएँ</text>\r
+    <text id="IDS_COM_OPT_IMPORT">आयात करें</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">रद्द करें</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">द्वारा छाँटें</text>\r
+    <text id="IDS_MF_SK3_DELETE">हटाएँ</text>\r
+    <text id="IDS_COM_BODY_SELECTED">चुना गया</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">यहाँ पेस्‍ट करें</text>\r
+    <text id="IDS_MF_BODY_IMAGES">छवियाँ</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">कोई फ़ाइलें नहीं</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">सूची और विवरण</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">फोल्डर बनाएँ</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">नहीं</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">थम्बनेल दृश्य</text>\r
+    <text id="IDS_MF_SK3_COPY">कॉपी</text>\r
+    <text id="IDS_MF_BUTTON_HOME">घर</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">फोन</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">बनाए जाने की तिथि</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">फ़ाइलें चुनें</text>\r
+    <text id="IDS_COM_BODY_CLOSE">बंद करें</text>\r
+    <text id="IDS_MF_SK3_SEARCH">खोजें</text>\r
+    <text id="IDS_COM_BODY_SIZE">आकार</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">बदलें</text>\r
+    <text id="IDS_MF_TAB_UP">ऊपर</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">साझा करें</text>\r
+    <text id="IDS_COM_BODY_FORMAT">फॉर्मेट</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">रेज़ोल्यूशन</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">ईमेल</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">तारीख (सबसे पुराने)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">फोल्डर बनाएँ</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">ऐसा ही नाम पहले से इस्तेमाल में है</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">हटाया जा रहा है…</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">ले जाना विफल हुआ</text>\r
+    <text id="IDS_MF_SK_DETAILS">विवरण</text>\r
+    <text id="IDS_MF_POP_COPYING">कॉपी कर रहा है…</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">नाम (A से Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">स्थान</text>\r
+    <text id="IDS_COM_POP_MOVING">ले जा रहा है…</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">नाम (Z से A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">फ़ाइल एक्सटेंशन छिपाएँ</text>\r
+    <text id="IDS_MORE">अधिक</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">के रूप में देखें</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">सभी फ़ोल्डर खोजें</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">बाह्य स्टोरेज</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">साझा करें</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">मेमोरी कार्ड</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">रिनेम</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">फोल्डर्स</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">यहाँ मूव करें</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi डायरेक्ट</text>\r
+    <text id="IDS_MF_SK3_MOVE">मूव</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">नाम</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">यहाँ पेस्‍ट करें</text>\r
+    <text id="IDS_COM_POP_ATTACH">जोड़ें</text>\r
+    <text id="IDS_YES">हाँ</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">यहाँ पेस्‍ट करें</text>\r
+    <text id="IDS_COM_BODY_DONE">हुआ</text>\r
+</string_table>\r
diff --git a/res/hrv-HR.xml b/res/hrv-HR.xml
new file mode 100644 (file)
index 0000000..e83e09f
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Kopiranje neuspješno</text>\r
+    <text id="IDS_COM_OPT_FILES">Datoteke</text>\r
+    <text id="IDS_COM_POP_FOLDER">Mapa</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Vanjska memorija</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Ime mape</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Poredaj po</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Odaberi sve</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Obriši</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Odabrani podaci nisu pronađeni</text>\r
+    <text id="IDS_MF_SK3_EDIT">Uredi</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Poruka</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Veličina emaila</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Moje datoteke</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Datum (najnoviji)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Vrsta</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Prikaz ekstenzija datoteka</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Popis</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Spremi</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Sadrži</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Nova mapa</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Uvoz</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Prekid</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Poredaj po</text>\r
+    <text id="IDS_MF_SK3_DELETE">Obriši</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Odabrano</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Zalijepi ovdje</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Slike</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Nema datoteka</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Popis i detalji</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Nova mapa</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Ne</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Sličice</text>\r
+    <text id="IDS_MF_SK3_COPY">Kopiraj</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Početna</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefon</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Datum izrade</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Odaberite datoteke</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Prekid</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Traži</text>\r
+    <text id="IDS_COM_BODY_SIZE">Veličina</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Zamijeni</text>\r
+    <text id="IDS_MF_TAB_UP">Gore</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Dijeli</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formatiraj</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Rezolucija</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Email</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Datum (najstariji)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Nova mapa</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Već postoji isto ime</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Brisanje...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Premještanje neuspješno</text>\r
+    <text id="IDS_MF_SK_DETAILS">Detalji</text>\r
+    <text id="IDS_MF_POP_COPYING">Kopiranje...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Naziv (A do Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Lokacija</text>\r
+    <text id="IDS_COM_POP_MOVING">Premještanje...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Naziv (Z do A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Sakrij datotečni nast.</text>\r
+    <text id="IDS_MORE">Više</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Pregled kao</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Pretraži sve mape</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Vanjska memorija</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Dijeli</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Mem. kartica</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Pr.ime</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Mape</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Premjesti ovdje</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Premjesti</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Naziv</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Zalijepi ovdje</text>\r
+    <text id="IDS_COM_POP_ATTACH">Dodaj</text>\r
+    <text id="IDS_YES">Da</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Zalijepi ovdje</text>\r
+    <text id="IDS_COM_BODY_DONE">OK</text>\r
+</string_table>\r
diff --git a/res/hun-HU.xml b/res/hun-HU.xml
new file mode 100644 (file)
index 0000000..5a976f9
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">A másolás sikertelen.</text>\r
+    <text id="IDS_COM_OPT_FILES">Fájlok</text>\r
+    <text id="IDS_COM_POP_FOLDER">Mappa</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Külső tároló</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Mappa neve</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Rendezés szemp.</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Összes kijelölése</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Töröl</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">A kijelölt adatok nem találhatók</text>\r
+    <text id="IDS_MF_SK3_EDIT">Szerkeszt</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Üzenet</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">E-mail méret</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Saját fájlok</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Dátum (legújabb)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Típus</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Fájlkiterjesztés megjelenítése</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Lista</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Ment</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Tartalmazott elem</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Mappa létrehozása</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importálás</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Mégse</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Rendezés szemp.</text>\r
+    <text id="IDS_MF_SK3_DELETE">Töröl</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Kiválasztott</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Beilleszt ide</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Képek</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Nincs fájl</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Lista és részletek</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Mappa létrehozása</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Nem</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Miniatűrnézet</text>\r
+    <text id="IDS_MF_SK3_COPY">Másol</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Kezdőkép.</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefon</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Létrehozás dátuma</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Fájlok kiválasztása</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Bezárás</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Keres</text>\r
+    <text id="IDS_COM_BODY_SIZE">Méret</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Csere</text>\r
+    <text id="IDS_MF_TAB_UP">Fel</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Megoszt</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formázás</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Felbontás</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-mail</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Dátum (legrégebbi)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Mappa létrehozása</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Már van ilyen név</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Törlés...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Az áthelyezés sikertelen</text>\r
+    <text id="IDS_MF_SK_DETAILS">Részletek</text>\r
+    <text id="IDS_MF_POP_COPYING">Másolás...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Név (A-tól Z-ig)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Hely</text>\r
+    <text id="IDS_COM_POP_MOVING">Áthelyezés...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Név (Z-től A-ig)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Kiterjesztés elrejtése</text>\r
+    <text id="IDS_MORE">Egyebek</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Megtekintés</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Ker. az összes mappában</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Külső tároló</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Megoszt</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Memória- kártya</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Átnev.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Mappák</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Áthelyez ide</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Áthelyez</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Név</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Beilleszt ide</text>\r
+    <text id="IDS_COM_POP_ATTACH">Csatolás</text>\r
+    <text id="IDS_YES">Igen</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Beilleszt ide</text>\r
+    <text id="IDS_COM_BODY_DONE">Kész</text>\r
+</string_table>\r
diff --git a/res/hye-AM.xml b/res/hye-AM.xml
new file mode 100644 (file)
index 0000000..8f9635a
--- /dev/null
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Պատճենումը ձախողվեց</text>\r
+    <text id="IDS_COM_OPT_FILES">Ֆայլեր</text>\r
+    <text id="IDS_COM_POP_FOLDER">Թղթապանակ</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Արտաքին պահոց</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Թղթապանակի անունը</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Տեսակավորել ըստ</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Ընտրել բոլորը</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Ջնջել</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Ընտրված տվյալները չեն գտնվել</text>\r
+    <text id="IDS_MF_SK3_EDIT">Խմբագրել</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Հաղորդագրություն</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Էլ. փոստի հաղորդագրության չափսը</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Իմ Ֆայլերը</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Ամսաթիվ (առավել վերջին)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Տեսակ</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Ցույց տալ ֆայլի ընդլայնումը</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Ցանկ</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Պահպանել</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Պարունակում է</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Ստեղծել թղթապանակ</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Ներարկում</text>\r
+    <text id="IDS_COM_BODY_MB">ՄԲ</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Չեղարկել</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Տեսակավորել ըստ</text>\r
+    <text id="IDS_MF_SK3_DELETE">Ջնջել</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Ընտրված</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Տեղադրել այստեղ</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Պատկերներ</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Ֆայլեր չկան</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Ցուցակ և մանրամասներ</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Ստեղծել թղթապանակ</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Ոչ</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Փոքրացված պատկերների տեսք</text>\r
+    <text id="IDS_MF_SK3_COPY">Պատճենել</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Տուն</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">ԿԲ</text>\r
+    <text id="IDS_MF_TAB_PHONE">Հեռախոս</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Ստեղծման ամսաթիվը</text>\r
+    <text id="IDS_COM_BODY_B">Բ</text>\r
+    <text id="IDS_SELECT_FILES">Ընտրեք ֆայլեր</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Փակել</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Որոնում</text>\r
+    <text id="IDS_COM_BODY_SIZE">Չափս</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Փխրնել</text>\r
+    <text id="IDS_MF_TAB_UP">Վեր</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Համօգտ.</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Ձևաչափել</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Լուծաչափ</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Էլ.փոստ</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Ամսաթիվ (ամենահին)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Ստեղծել թղթապանակ</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Նույն անունն արդեն օգտագործվում է</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Ջնջվում է...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Տեղափոխումը ձախողվեց</text>\r
+    <text id="IDS_MF_SK_DETAILS">Մանրամսն.</text>\r
+    <text id="IDS_MF_POP_COPYING">Պատճենում է...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Անուն (Ա-ից Ֆ)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Գտնվելու վայր</text>\r
+    <text id="IDS_COM_POP_MOVING">Տեղափոխում...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Անուն (Ֆ-ից Ա)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Թքցնլ ֆայլի ընդլայնում</text>\r
+    <text id="IDS_MORE">Ավելի</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Դիտել որպեսշ</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Որոնեք բոլոր թղթպնկները\r
+</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Արտաքին պահոց</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Համօգտ.</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Հիշաքարտ</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Վերանվ</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Թղթապանակներ</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Տեղափոխել այստեղ</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Տեղափխել</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Անուն</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Տեղադրել այստեղ</text>\r
+    <text id="IDS_COM_POP_ATTACH">Կցել</text>\r
+    <text id="IDS_YES">Այո</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Տեղադրել այստեղ</text>\r
+    <text id="IDS_COM_BODY_DONE">Կատարված է</text>\r
+</string_table>\r
diff --git a/res/isl-IS.xml b/res/isl-IS.xml
new file mode 100644 (file)
index 0000000..5627590
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Afritun mistókst</text>\r
+    <text id="IDS_COM_OPT_FILES">Skrár</text>\r
+    <text id="IDS_COM_POP_FOLDER">Mappa</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Ytri geymsla</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Heiti möppu</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Raða eftir</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Velja allt</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Eyða</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Valin gögn fundust ekki</text>\r
+    <text id="IDS_MF_SK3_EDIT">Breyta</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Skilaboð</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Stærð tölvupósts</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Skrárnar mínar</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Dagsetning (nýjasta)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Tegund</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Sýna skráargerð</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Listi</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Vista</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Inniheldur</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Búa til möppu</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Flytja inn</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Hætta við</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Raða eftir</text>\r
+    <text id="IDS_MF_SK3_DELETE">Eyða</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Valið</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Líma hér</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Myndir</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Engar skrár</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Listi og upplýsingar</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Búa til möppu</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Nei</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Smámyndir</text>\r
+    <text id="IDS_MF_SK3_COPY">Afrita</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Heima</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Sími</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Búið til</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Velja skrár</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Loka</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Leit</text>\r
+    <text id="IDS_COM_BODY_SIZE">Stærð</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Skip. Út</text>\r
+    <text id="IDS_MF_TAB_UP">Upp</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Samnýta</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Snið</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Upplausn</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Tölvupóstur</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Dagsetning (elsta)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Búa til möppu</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Þetta heiti er þegar í notkun</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Verið er að eyða...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Ekki tókst að flytja</text>\r
+    <text id="IDS_MF_SK_DETAILS">Upplýsingar</text>\r
+    <text id="IDS_MF_POP_COPYING">Afritun stendur yfir...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Heiti (A til Ö)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Staðsetning</text>\r
+    <text id="IDS_COM_POP_MOVING">Verið er að flytja...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Heiti (Ö til A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Fela skráarendingu</text>\r
+    <text id="IDS_MORE">Meira</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Sjá sem</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Leita í öllum möppum</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Ytri geymsla</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Samnýta</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Minnisk.</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Endurn</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Möppur</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Færa hingað</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Flytja</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Heiti</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Líma hér</text>\r
+    <text id="IDS_COM_POP_ATTACH">Hengja við</text>\r
+    <text id="IDS_YES">Já</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Líma hér</text>\r
+    <text id="IDS_COM_BODY_DONE">Lokið</text>\r
+</string_table>\r
diff --git a/res/ita-IT.xml b/res/ita-IT.xml
new file mode 100644 (file)
index 0000000..bc9f41f
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Copia non eseguita</text>\r
+    <text id="IDS_COM_OPT_FILES">File</text>\r
+    <text id="IDS_COM_POP_FOLDER">Cartella</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Memoria esterna</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Nome cartella</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Ordina per</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Seleziona tutto</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Elimina</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Data selezionata non trovata</text>\r
+    <text id="IDS_MF_SK3_EDIT">Modifica</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Messaggio</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Dimensioni e-mail</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Archivio</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Data (Più recente)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Tipo</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Mostra estensione file</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Elenco</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Salva</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Contiene</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Crea cartella</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importa</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Annulla</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Ordina per</text>\r
+    <text id="IDS_MF_SK3_DELETE">Elimina</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Selezionato</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Incolla qui</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Immagini</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Nessun file</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Elenco e dettagli</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Crea cartella</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">No</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Vista miniature</text>\r
+    <text id="IDS_MF_SK3_COPY">Copia</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Home</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefono</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Data creazione</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Seleziona file</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Chiudi</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Cerca</text>\r
+    <text id="IDS_COM_BODY_SIZE">Dimensioni</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Sostit.</text>\r
+    <text id="IDS_MF_TAB_UP">Su</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Condiv.</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formatta</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Risoluzione</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-mail</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Data (Più vecchia)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Crea cartella</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Stesso nome già in uso</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Eliminazione...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Spostamento non riuscito</text>\r
+    <text id="IDS_MF_SK_DETAILS">Dettagli</text>\r
+    <text id="IDS_MF_POP_COPYING">Copia...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Nome (A - Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Posizione</text>\r
+    <text id="IDS_COM_POP_MOVING">Spostamento...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Nome (Z - A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Nascondi estensione file</text>\r
+    <text id="IDS_MORE">Altro</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Visualizza come</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Cerca in tutte le cartelle</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Memoria esterna</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Condiv.</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Scheda memoria</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Rinom.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Cartelle</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Sposta qui</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Sposta</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Nome</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Incolla qui</text>\r
+    <text id="IDS_COM_POP_ATTACH">Allega</text>\r
+    <text id="IDS_YES">Sì</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Incolla qui</text>\r
+    <text id="IDS_COM_BODY_DONE">Fatto</text>\r
+</string_table>\r
diff --git a/res/jpn-JP.xml b/res/jpn-JP.xml
new file mode 100644 (file)
index 0000000..7c54ec2
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">コピーに失敗しました。</text>\r
+    <text id="IDS_COM_OPT_FILES">ファイル</text>\r
+    <text id="IDS_COM_POP_FOLDER">フォルダ</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">外部ストレージ</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">フォルダ名</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">並べ替え</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">全て選択</text>\r
+    <text id="IDS_MF_SK3_DELETE1">削除</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">選択したデータは見つかりませんでした。</text>\r
+    <text id="IDS_MF_SK3_EDIT">編集</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">メッセージ</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Eメールサイズ</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">マイファイル</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">日付(新しい順)</text>\r
+    <text id="IDS_MF_BODY_TYPE">タイプ</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">ファイル拡張子を表示</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">リスト</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">保存</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">含む</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">フォルダ作成</text>\r
+    <text id="IDS_COM_OPT_IMPORT">インポート</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">キャンセル</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">並べ替え</text>\r
+    <text id="IDS_MF_SK3_DELETE">削除</text>\r
+    <text id="IDS_COM_BODY_SELECTED">選択済み</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">ここに貼付</text>\r
+    <text id="IDS_MF_BODY_IMAGES">画像</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">ファイルがありません。</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">リストおよび詳細</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">フォルダ作成</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">いいえ</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">サムネイル表示</text>\r
+    <text id="IDS_MF_SK3_COPY">コピー</text>\r
+    <text id="IDS_MF_BUTTON_HOME">ホーム</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">本体</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">作成​された​データ</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">ファイル​を​選択</text>\r
+    <text id="IDS_COM_BODY_CLOSE">閉じる</text>\r
+    <text id="IDS_MF_SK3_SEARCH">検索</text>\r
+    <text id="IDS_COM_BODY_SIZE">サイズ</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">上書き</text>\r
+    <text id="IDS_MF_TAB_UP">戻る</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">共有</text>\r
+    <text id="IDS_COM_BODY_FORMAT">ファイルタイプ</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">解像度</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Eメール</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">日付(古い順)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">フォルダ作成</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">同じ名前が既に使用されています</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">削除中...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">移動に失敗しました。</text>\r
+    <text id="IDS_MF_SK_DETAILS">詳細</text>\r
+    <text id="IDS_MF_POP_COPYING">コピー中...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">名前(A~Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">場所</text>\r
+    <text id="IDS_COM_POP_MOVING">移動中...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">名前(Z~A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">ファイル拡張子を非表示</text>\r
+    <text id="IDS_MORE">その他</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">表示形式</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">全てのフォルダを検索</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">外部ストレージ</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">共有</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">メモリカード</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">名称変更</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">フォルダ</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">ここに移動</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">移動</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">名前</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">ここに貼付</text>\r
+    <text id="IDS_COM_POP_ATTACH">添付</text>\r
+    <text id="IDS_YES">はい</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">ここに貼付</text>\r
+    <text id="IDS_COM_BODY_DONE">完了</text>\r
+</string_table>\r
diff --git a/res/kat-GE.xml b/res/kat-GE.xml
new file mode 100644 (file)
index 0000000..b794209
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">გადაწერა არ მოხერხდა</text>\r
+    <text id="IDS_COM_OPT_FILES">ფაილები</text>\r
+    <text id="IDS_COM_POP_FOLDER">საქაღალდე</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">გარე მეხსიერება</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">საქაღალდის სახელი</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">დალაგება</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">ყველას არჩევა</text>\r
+    <text id="IDS_MF_SK3_DELETE1">წაშლა</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">შერჩეული მონაცემი ვერ მოიძებნა</text>\r
+    <text id="IDS_MF_SK3_EDIT">რედაქტირება</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">შეტყობინება</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">ელ.წერილის ზომა</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">ჩემი ფაილები</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">თარიღი (უახლესი)</text>\r
+    <text id="IDS_MF_BODY_TYPE">ტიპი</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">ჩანდეს ფაილის გაფართოება</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">სია</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">შენახვა</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">შეიცავს</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">შექმენი საქაღალდე</text>\r
+    <text id="IDS_COM_OPT_IMPORT">მიღება</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">გაუქმება</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">დალაგება</text>\r
+    <text id="IDS_MF_SK3_DELETE">წაშლა</text>\r
+    <text id="IDS_COM_BODY_SELECTED">შერჩეული</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">ჩასვით აქ</text>\r
+    <text id="IDS_MF_BODY_IMAGES">გამოსახულებები</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">ფაილები არ არის</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">სია და დეტალები</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">შექმენი საქაღალდე</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">არა</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">მიკროასლების ნახვა</text>\r
+    <text id="IDS_MF_SK3_COPY">ასლი</text>\r
+    <text id="IDS_MF_BUTTON_HOME">საწყისი გვერდი</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">ტელეფონი</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">შექმნილი მონაცემები</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">აირჩიეთ ფაილები</text>\r
+    <text id="IDS_COM_BODY_CLOSE">დახურვა</text>\r
+    <text id="IDS_MF_SK3_SEARCH">ძიება</text>\r
+    <text id="IDS_COM_BODY_SIZE">ზომა</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">შეცვლა</text>\r
+    <text id="IDS_MF_TAB_UP">ზევით</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">გაზიარ.</text>\r
+    <text id="IDS_COM_BODY_FORMAT">ფორმატი</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">გარჩევადობა</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">ელ-ფოსტა</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">თარიღი (ყველაზე ძველი)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">შექმენი საქაღალდე</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">იგივე სახელი უკვე გამოყენებულია</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">წაშლა...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">გადატანა ვერ შესრულდა</text>\r
+    <text id="IDS_MF_SK_DETAILS">დეტალები</text>\r
+    <text id="IDS_MF_POP_COPYING">კოპირდება...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">სახელი (ა-დან ჰ-მდე)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">ადგილმდებ.</text>\r
+    <text id="IDS_COM_POP_MOVING">გადატანა...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">სახელი (ჰ-დან ა-მდე)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">გაფართოების დამალვა</text>\r
+    <text id="IDS_MORE">სხვა</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">დათვალიერება როგორც</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">ყველა საქაღალდის ძებნა</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">გარე მეხსიერება</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">გაზიარ.</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">მეხსიერ. ბარათი</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">გდრქმ.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">საქაღალდეები</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">გადაიტანეთ აქ</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">გადატანა</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">სახელი</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">ჩასვით აქ</text>\r
+    <text id="IDS_COM_POP_ATTACH">მიმაგრება</text>\r
+    <text id="IDS_YES">დიახ</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">ჩასვით აქ</text>\r
+    <text id="IDS_COM_BODY_DONE">შესრულებულია</text>\r
+</string_table>\r
diff --git a/res/kaz-KZ.xml b/res/kaz-KZ.xml
new file mode 100644 (file)
index 0000000..b3284ad
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Көшірілу үзіліп кетті</text>\r
+    <text id="IDS_COM_OPT_FILES">Файлдар</text>\r
+    <text id="IDS_COM_POP_FOLDER">Қалта</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Сыртқы жад</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Папка аты</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Сұрыптау</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Бәрін бөлектеу</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Жою</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Таңдалған деректер табылмады</text>\r
+    <text id="IDS_MF_SK3_EDIT">Өзгер.</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Хабарлама</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Электрондық пошта өлшемі</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Менің файлдарым</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Күні (Ең соңғы)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Түрі</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Файл кеңейтімін көрсету</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Тізім</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Сақтау</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Мазмұны</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Қалтаны құру</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Импорт</text>\r
+    <text id="IDS_COM_BODY_MB">МБ</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Тоқтату</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Сұрыптау</text>\r
+    <text id="IDS_MF_SK3_DELETE">Жою</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Таңдалды</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Осында қою</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Суреттер</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Файл жоқ</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Тізім және мәліметтер</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Қалтаны құру</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Жоқ</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Нобай көрінісі</text>\r
+    <text id="IDS_MF_SK3_COPY">Көшіру</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Үй парағы</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KБ</text>\r
+    <text id="IDS_MF_TAB_PHONE">Телефон</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Жасалған күн</text>\r
+    <text id="IDS_COM_BODY_B">Б</text>\r
+    <text id="IDS_SELECT_FILES">Файлдарды таңдау</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Жабу</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Тізім</text>\r
+    <text id="IDS_COM_BODY_SIZE">Өлшемі</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Ауыстыру</text>\r
+    <text id="IDS_MF_TAB_UP">Жоғары</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Бөлісу</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Форматтау</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Шешім</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Эл. пошта</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Күні (Ең алдыңғы)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Қалтаны құру</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Мұндай атау қолданыста бар</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Жойылуда...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Орналастырылмады</text>\r
+    <text id="IDS_MF_SK_DETAILS">Егж.-тег.</text>\r
+    <text id="IDS_MF_POP_COPYING">Көшірілуде...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Аты (A-дан Я-ға дейін)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Орналасу орны</text>\r
+    <text id="IDS_COM_POP_MOVING">Орналастырылды</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Аты (Я-дан А-ға дейін)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Файл кеңейтімін жасыру</text>\r
+    <text id="IDS_MORE">Қосымша</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">түрінде көру</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Барлық қалталарды іздеу</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Сыртқы жад</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Бөлісу</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Жад картасы</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Ат өзг</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Қалталар</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Осында ауыстыру</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Ауыстыру</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Аты</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Осында қою</text>\r
+    <text id="IDS_COM_POP_ATTACH">Қосымша</text>\r
+    <text id="IDS_YES">Иә</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Осында қою</text>\r
+    <text id="IDS_COM_BODY_DONE">Аяқталды</text>\r
+</string_table>\r
diff --git a/res/kor-KR.xml b/res/kor-KR.xml
new file mode 100644 (file)
index 0000000..bd1b572
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">복사하지 못하였습니다</text>\r
+    <text id="IDS_COM_OPT_FILES">파일</text>\r
+    <text id="IDS_COM_POP_FOLDER">폴더</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">외장 메모리</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">폴더 이름</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">정렬</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">모두 선택</text>\r
+    <text id="IDS_MF_SK3_DELETE1">삭제</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">선택한 데이터를 찾을 수 없습니다</text>\r
+    <text id="IDS_MF_SK3_EDIT">편집</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">메시지</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">이메일 크기</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">내 파일</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">날짜(최신순)</text>\r
+    <text id="IDS_MF_BODY_TYPE">형식</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">파일 확장자 보기</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">블루투스</text>\r
+    <text id="IDS_COM_OPT_LIST">목록</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">저장</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">포함</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">폴더 추가</text>\r
+    <text id="IDS_COM_OPT_IMPORT">가져오기</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">취소</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">정렬</text>\r
+    <text id="IDS_MF_SK3_DELETE">삭제</text>\r
+    <text id="IDS_COM_BODY_SELECTED">단일 선택</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">여기로 복사</text>\r
+    <text id="IDS_MF_BODY_IMAGES">이미지</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">파일이 없습니다</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">목록 및 상세 정보</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">폴더 추가</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">아니요</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">썸네일 보기</text>\r
+    <text id="IDS_MF_SK3_COPY">복사</text>\r
+    <text id="IDS_MF_BUTTON_HOME">홈</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">휴대폰</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">생성 날짜</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">파일 선택</text>\r
+    <text id="IDS_COM_BODY_CLOSE">닫기</text>\r
+    <text id="IDS_MF_SK3_SEARCH">검색</text>\r
+    <text id="IDS_COM_BODY_SIZE">크기</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">교체</text>\r
+    <text id="IDS_MF_TAB_UP">위로</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">공유</text>\r
+    <text id="IDS_COM_BODY_FORMAT">포맷</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">해상도</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">이메일</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">날짜(오래된순)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">폴더 추가</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">사용 중인 이름입니다</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">삭제 중...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">이동하지 못하였습니다</text>\r
+    <text id="IDS_MF_SK_DETAILS">상세 정보</text>\r
+    <text id="IDS_MF_POP_COPYING">복사 중...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">이름(가나다순)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">위치</text>\r
+    <text id="IDS_COM_POP_MOVING">이동 중...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">이름(가나다역순)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">파일 확장자 숨기기</text>\r
+    <text id="IDS_MORE">더보기</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">보기 방식</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">모든 폴더 검색</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">외장 메모리</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">공유</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">메모리 카드</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">이름 변경</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">폴더</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">여기로 이동</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">이동</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">이름</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">여기로 복사</text>\r
+    <text id="IDS_COM_POP_ATTACH">첨부</text>\r
+    <text id="IDS_YES">예</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">여기로 복사</text>\r
+    <text id="IDS_COM_BODY_DONE">완료</text>\r
+</string_table>\r
diff --git a/res/lav-LV.xml b/res/lav-LV.xml
new file mode 100644 (file)
index 0000000..5051238
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Neizdevās kopēt</text>\r
+    <text id="IDS_COM_OPT_FILES">Faili</text>\r
+    <text id="IDS_COM_POP_FOLDER">Mape</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Ārējā krātuve</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Mapes nosaukums</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Kārtot pēc</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Izv. visu</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Dzēst</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Izvēlētie dati nav atrasti</text>\r
+    <text id="IDS_MF_SK3_EDIT">Rediģēt</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Ziņa</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">E-pasta lielums</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Mani faili</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Datums (jaunākais)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Veids</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Rādīt faila paplašinājumu</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Saraksts</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Saglabāt</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Ietver</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Izveidot mapi</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importēt</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Atcelt</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Kārtot pēc</text>\r
+    <text id="IDS_MF_SK3_DELETE">Dzēst</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Izvēlēts</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Ielīmēt šeit</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Attēli</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Nav failu</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Saraksts un dati</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Izveidot mapi</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Nē</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Sīktēlu skats</text>\r
+    <text id="IDS_MF_SK3_COPY">Kopēt</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Mājas</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Tālrunis</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Izveidošanas datums</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Izvēlēties failus</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Aizvērt</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Meklēt</text>\r
+    <text id="IDS_COM_BODY_SIZE">Lielums</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Aizstāt</text>\r
+    <text id="IDS_MF_TAB_UP">Uz augšu</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Kopl.</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formatēt</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Izšķirtspēja</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-pasts</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Datums (vecākais)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Izveidot mapi</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Šāds nosaukums jau tiek lietots</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Dzēš...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Pārvietošana neizdevās</text>\r
+    <text id="IDS_MF_SK_DETAILS">Dati</text>\r
+    <text id="IDS_MF_POP_COPYING">Kopē...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Nosaukums (no A līdz Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Atrašanās vieta</text>\r
+    <text id="IDS_COM_POP_MOVING">Pārvieto...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Nosaukums (no Z līdz A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Slēpt faila paplaš.</text>\r
+    <text id="IDS_MORE">Citi</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Skatīt kā</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Meklēt visās mapēs</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Ārējā krātuve</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Kopl.</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Atmiņas karte</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Pārd.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Mapes</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Pārvietot šeit</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Pārvietot</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Nosaukums</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Ielīmēt šeit</text>\r
+    <text id="IDS_COM_POP_ATTACH">Pievienot</text>\r
+    <text id="IDS_YES">Jā</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Ielīmēt šeit</text>\r
+    <text id="IDS_COM_BODY_DONE">Gatavs</text>\r
+</string_table>\r
diff --git a/res/lit-LT.xml b/res/lit-LT.xml
new file mode 100644 (file)
index 0000000..686095e
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Perkelti nepavyko</text>\r
+    <text id="IDS_COM_OPT_FILES">Failai</text>\r
+    <text id="IDS_COM_POP_FOLDER">Aplankas</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Išorinė laikmena</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Aplanko pavadinimas</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Rūšiuoti pagal</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Pasirinkti viską</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Trinti</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Pasirinkta informacija nerasta</text>\r
+    <text id="IDS_MF_SK3_EDIT">Redaguoti</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Žinutė</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">El. laiško dydis</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Mano failai</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Data (naujausi)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Tipas</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Rodyti failo plėtinį</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Sąrašas</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Išsaugoti</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Yra</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Kurti aplanką</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importuoti</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Atšaukti</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Rūšiuoti pagal</text>\r
+    <text id="IDS_MF_SK3_DELETE">Trinti</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Pasirinkta</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Įklijuoti čia</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Vaizdai</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Failų nėra</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Sąrašas ir išsami inf.</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Kurti aplanką</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Ne</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Miniatiūrų rodinys</text>\r
+    <text id="IDS_MF_SK3_COPY">Kopijuoti</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Pradž.</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefonas</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Sukurta data</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Rinktis failus</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Uždaryti</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Ieškoti</text>\r
+    <text id="IDS_COM_BODY_SIZE">Dydis</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Pakeisti</text>\r
+    <text id="IDS_MF_TAB_UP">Į viršų</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Bendr.</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formatas</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Raiška</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">El. paštas</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Data (seniausi)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Kurti aplanką</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Toks pavadinimas jau yra</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Trinama...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Perkelti nepavyko</text>\r
+    <text id="IDS_MF_SK_DETAILS">Išsami informacija</text>\r
+    <text id="IDS_MF_POP_COPYING">Kopijuojama...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Pavadinimas (A–Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Vieta</text>\r
+    <text id="IDS_COM_POP_MOVING">Perkeliama...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Pavadinimas (Z–A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Slėpti failo plėtinį</text>\r
+    <text id="IDS_MORE">Daugiau</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Peržiūrėti kaip</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Ieškoti visų aplankų</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Išorinė laikmena</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Bendr.</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Atminties kort.</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Perv.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Aplankai</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Perkelti čia</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">„Wi-Fi Direct“</text>\r
+    <text id="IDS_MF_SK3_MOVE">Perkelti</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Pavadinimas</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Įklijuoti čia</text>\r
+    <text id="IDS_COM_POP_ATTACH">Pridėti</text>\r
+    <text id="IDS_YES">Taip</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Įklijuoti čia</text>\r
+    <text id="IDS_COM_BODY_DONE">Atlikta</text>\r
+</string_table>\r
diff --git a/res/mkd-MK.xml b/res/mkd-MK.xml
new file mode 100644 (file)
index 0000000..8affd26
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Неуспешно копирање</text>\r
+    <text id="IDS_COM_OPT_FILES">Фајлови</text>\r
+    <text id="IDS_COM_POP_FOLDER">Папка</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Надворешен мем. уред</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Име на папката</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Подреди според</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Избери ги сите</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Избриши</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Избраните податоци не се најдени</text>\r
+    <text id="IDS_MF_SK3_EDIT">Измени</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Порака</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Големина на email</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Мои фајлови</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Датум (Најнов)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Тип</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Прикажи наставки на фајловите</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Листа</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Сочувај</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Содржи</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Направи папка</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Увези</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Откажи</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Подреди според</text>\r
+    <text id="IDS_MF_SK3_DELETE">Избриши</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Избраните</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Пресликај тука</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Слики</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Нема фајлови</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Листа со детали</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Направи папка</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Не</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Икони</text>\r
+    <text id="IDS_MF_SK3_COPY">Копирај</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Дома</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Телефон</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Датум на создавање:</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Избери фајлови</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Затвори</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Пребарај</text>\r
+    <text id="IDS_COM_BODY_SIZE">Големина</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Замени</text>\r
+    <text id="IDS_MF_TAB_UP">Горе</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Сподели</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Формат</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Резолуција</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-mail</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Датум (Најстар)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Направи папка</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Истото име веќе се користи</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Се брише...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Неуспешно преместување</text>\r
+    <text id="IDS_MF_SK_DETAILS">Детали</text>\r
+    <text id="IDS_MF_POP_COPYING">Се копира...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Име (од А до Ш)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Локација</text>\r
+    <text id="IDS_COM_POP_MOVING">Се преместува...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Име (од Ш до А)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Сокриј наст. на фајл</text>\r
+    <text id="IDS_MORE">Повеќе</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Прикажи како</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Пребарај ги сите папки</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Надворешен мем. уред</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Сподели</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Мем. картичка</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Преим.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Папки</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Премести тука</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Премести</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Име</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Пресликај тука</text>\r
+    <text id="IDS_COM_POP_ATTACH">Приложи</text>\r
+    <text id="IDS_YES">Да</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Пресликај тука</text>\r
+    <text id="IDS_COM_BODY_DONE">Извршено</text>\r
+</string_table>\r
diff --git a/res/nld-NL.xml b/res/nld-NL.xml
new file mode 100644 (file)
index 0000000..a1c7fd0
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Kopiëren is mislukt</text>\r
+    <text id="IDS_COM_OPT_FILES">Bestanden</text>\r
+    <text id="IDS_COM_POP_FOLDER">Map</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Externe opslag</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Mapnaam</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Sorteren op</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Alles selecteren</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Wissen</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Geselecteerde gegevens niet gevonden</text>\r
+    <text id="IDS_MF_SK3_EDIT">Wijzigen</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Bericht</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">E-mailgrootte</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Mijn bestanden</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Datum (meest recent)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Type</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Bestandsextensie weergeven</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Lijst</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Opslaan</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Bevat</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Map maken</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importeren</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Annuleren</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Sorteren op</text>\r
+    <text id="IDS_MF_SK3_DELETE">Wissen</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Geselecteerd</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Hier kopiëren</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Afbeeldingen</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Geen bestanden</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Lijst en details</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Map maken</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Nee</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Miniatuurweergave</text>\r
+    <text id="IDS_MF_SK3_COPY">Kopiëren</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Startpagina</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefoon</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Aanmaakdatum</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Bestanden selecteren</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Sluiten</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Zoeken</text>\r
+    <text id="IDS_COM_BODY_SIZE">Grootte</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Vervang</text>\r
+    <text id="IDS_MF_TAB_UP">Omhoog</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Delen</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formatteren</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Resolutie</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-mail</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Datum (oudste)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Map maken</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Naam is al in gebruik</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Verwijderen...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Verplaatsen is mislukt</text>\r
+    <text id="IDS_MF_SK_DETAILS">Gegevens</text>\r
+    <text id="IDS_MF_POP_COPYING">Kopiëren...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Naam (A tot Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Locatie</text>\r
+    <text id="IDS_COM_POP_MOVING">Verplaatsen...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Naam (Z tot A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Bestandsext. verbergen</text>\r
+    <text id="IDS_MORE">Meer</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Tonen als</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Zoeken in alle mappen</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Externe opslag</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Delen</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Geheugen-\nkaart</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Wijzig</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Mappen</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Hier plaatsen</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Verplaatsen</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Naam</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Hier kopiëren</text>\r
+    <text id="IDS_COM_POP_ATTACH">Bijvoegen</text>\r
+    <text id="IDS_YES">Ja</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Hier kopiëren</text>\r
+    <text id="IDS_COM_BODY_DONE">Gereed</text>\r
+</string_table>\r
diff --git a/res/nob-NO.xml b/res/nob-NO.xml
new file mode 100644 (file)
index 0000000..3b12bcf
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Kunne ikke kopiere</text>\r
+    <text id="IDS_COM_OPT_FILES">Filer</text>\r
+    <text id="IDS_COM_POP_FOLDER">Mappe</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Ekstern lagring</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Mappenavn</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Sorter etter</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Merk alt</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Slett</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Valgt data ikke funnet</text>\r
+    <text id="IDS_MF_SK3_EDIT">Rediger</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Melding</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">E-poststørrelse</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Mine Filer</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Dato (nyeste)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Type</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Vis filendelse</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Liste</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Lagre</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Inneholder</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Opprett mappe</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importer</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Avbryt</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Sorter etter</text>\r
+    <text id="IDS_MF_SK3_DELETE">Slett</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Valgt</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Lim inn her</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Bilder</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Ingen filer</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Liste og detaljer</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Opprett mappe</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Nei</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Miniatyrvisning</text>\r
+    <text id="IDS_MF_SK3_COPY">Kopier</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Hjem</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefon</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Opprettingsdato</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Velg filer</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Lukk</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Søk</text>\r
+    <text id="IDS_COM_BODY_SIZE">Størrelse</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Erstatt</text>\r
+    <text id="IDS_MF_TAB_UP">Opp</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Del</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formater</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Oppløsning</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-post</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Dato (eldste)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST"/>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Opprett mappe</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Samme navn allerede i bruk</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Sletter...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Flyttingen mislyktes</text>\r
+    <text id="IDS_MF_SK_DETAILS">Detaljer</text>\r
+    <text id="IDS_MF_POP_COPYING">Kopierer...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Navn (A til Å)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Sted</text>\r
+    <text id="IDS_COM_POP_MOVING">Flytter...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Navn (Å til A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Skjul filendelse</text>\r
+    <text id="IDS_MORE">Mer</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Vis som</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Søk i alle mapper</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Ekstern lagring</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Del</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Minnekort</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Endre navn</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Mapper</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Flytt hit</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Flytt</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Navn</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Lim inn her</text>\r
+    <text id="IDS_COM_POP_ATTACH">Legg ved</text>\r
+    <text id="IDS_YES">Ja</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Lim inn her</text>\r
+    <text id="IDS_COM_BODY_DONE">Utført</text>\r
+</string_table>\r
diff --git a/res/pol-PL.xml b/res/pol-PL.xml
new file mode 100644 (file)
index 0000000..91d95df
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Błąd kopiowania</text>\r
+    <text id="IDS_COM_OPT_FILES">Pliki</text>\r
+    <text id="IDS_COM_POP_FOLDER">Katalog</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Pamięć zewnętrzna</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Nazwa katalogu</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Sortuj według</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Zaznacz wszystko</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Usuń</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Nie znaleziono wybranych danych</text>\r
+    <text id="IDS_MF_SK3_EDIT">Edytuj</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Wiadomość</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Limit rozmiaru e-mail</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Moje pliki</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Data (od najnowszych)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Typ</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Pokaż rozszerzenia plików</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Lista</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Zapisz</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Zawiera</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Utwórz katalog</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importuj</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Anuluj</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Sortuj według</text>\r
+    <text id="IDS_MF_SK3_DELETE">Usuń</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Wybrany</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Wklej tutaj</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Obrazy</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Brak plików</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Lista i szczegóły</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Utwórz katalog</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Nie</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Miniatury</text>\r
+    <text id="IDS_MF_SK3_COPY">Kopiuj pozycję</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Ekran główny</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">kB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefon</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Data utworzenia</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Wybierz pliki</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Zamknij</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Szukaj</text>\r
+    <text id="IDS_COM_BODY_SIZE">Rozmiar</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Zamień</text>\r
+    <text id="IDS_MF_TAB_UP">Góra</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Udost.</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formatuj</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Rozdzielczość</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-mail</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Data (od najstarszych)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Utwórz katalog</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Ta sama nazwa jest już w użyciu</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Usuwanie...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Błąd przenoszenia</text>\r
+    <text id="IDS_MF_SK_DETAILS">Szczegóły</text>\r
+    <text id="IDS_MF_POP_COPYING">Kopiowanie...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Nazwa (od A do Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Miejsce</text>\r
+    <text id="IDS_COM_POP_MOVING">Przenoszenie...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Nazwa (od Z do A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Ukryj rozszerz. plików</text>\r
+    <text id="IDS_MORE">Więcej</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Wyświetl jako</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Przesz. wszystkie kat.</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Pamięć zewnętrzna</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Udost.</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Karta pamięci</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Zm.naz.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Katalogi</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Przenieś tutaj</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Przenieś</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Nazwa</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Wklej tutaj</text>\r
+    <text id="IDS_COM_POP_ATTACH">Dołącz</text>\r
+    <text id="IDS_YES">Tak</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Wklej tutaj</text>\r
+    <text id="IDS_COM_BODY_DONE">Gotowe</text>\r
+</string_table>\r
diff --git a/res/por-BR.xml b/res/por-BR.xml
new file mode 100644 (file)
index 0000000..d1d0dc2
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Erro ao copiar</text>\r
+    <text id="IDS_COM_OPT_FILES">Arquivos</text>\r
+    <text id="IDS_COM_POP_FOLDER">Pasta</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Armazenamento externo</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Nome da pasta</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Ordenar por</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Selecionar tudo</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Apagar</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Dados selecionados não encontrados</text>\r
+    <text id="IDS_MF_SK3_EDIT">Editar</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Mensagem</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Tamanho do e-mail</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Meus Arquivos</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Data (mais recente)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Tipo</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Exibir extensão do arquivo</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Lista</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Salvar</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Conteúdo</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Criar pasta</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importar</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Cancelar</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Ordenar por</text>\r
+    <text id="IDS_MF_SK3_DELETE">Apagar</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Selecionado</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Colar aqui</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Imagens</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Sem arquivos</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Lista e detalhes</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Criar pasta</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Não</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Ver por miniaturas</text>\r
+    <text id="IDS_MF_SK3_COPY">Copiar</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Início</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefone</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Criado na data</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Selecionar arquivos</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Fechar</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Procurar</text>\r
+    <text id="IDS_COM_BODY_SIZE">Tamanho</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Substit.</text>\r
+    <text id="IDS_MF_TAB_UP">Para cima</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Compart.</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formatar</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Resolução</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-mail</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Data (mais antiga)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Criar pasta</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">O mesmo nome já está sendo utilizado</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Apagando…</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Erro ao mover</text>\r
+    <text id="IDS_MF_SK_DETAILS">Detalhes</text>\r
+    <text id="IDS_MF_POP_COPYING">Copiando...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Nome (De A a Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Local</text>\r
+    <text id="IDS_COM_POP_MOVING">Movendo…</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Nome (De Z a A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Ocultar ext. arquivo</text>\r
+    <text id="IDS_MORE">Mais</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Visualizar como</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Pesq. todas as pastas</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Armazenamento externo</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Compart.</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Cartão de memória</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Renom.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Pastas</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Mover para cá</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Mover</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Nome</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Colar aqui</text>\r
+    <text id="IDS_COM_POP_ATTACH">Anexar</text>\r
+    <text id="IDS_YES">Sim</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Colar aqui</text>\r
+    <text id="IDS_COM_BODY_DONE">Concluído</text>\r
+</string_table>\r
diff --git a/res/por-PT.xml b/res/por-PT.xml
new file mode 100644 (file)
index 0000000..98cc521
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Falha ao copiar</text>\r
+    <text id="IDS_COM_OPT_FILES">Ficheiros</text>\r
+    <text id="IDS_COM_POP_FOLDER">Pasta</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Armazenamento externo</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Nome da pasta</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Ordenar por</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Selec. tudo</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Eliminar</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Dados seleccionados não encontrados</text>\r
+    <text id="IDS_MF_SK3_EDIT">Editar</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Mensagem</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Tamanho do e-mail</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Os Meus Ficheiros</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Data (mais recente)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Tipo</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Mostrar extensão de ficheiro</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Lista</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Guardar</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Conteúdo</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Criar pasta</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importar</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Cancelar</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Ordenar por</text>\r
+    <text id="IDS_MF_SK3_DELETE">Eliminar</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Seleccionado</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Colar aqui</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Imagens</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Sem ficheiros</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Lista e detalhes</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Criar pasta</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Não</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Vista de miniatura</text>\r
+    <text id="IDS_MF_SK3_COPY">Copiar</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Início</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefone</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Criado na data</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Seleccionar ficheiros</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Fechar</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Procurar</text>\r
+    <text id="IDS_COM_BODY_SIZE">Tamanho</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Subs.</text>\r
+    <text id="IDS_MF_TAB_UP">Para cima</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Enviar</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formatar</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Resolução</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-mail</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Data (mais antiga)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Criar pasta</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Já está a ser utilizado o mesmo nome</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">A eliminar...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Falha ao mover</text>\r
+    <text id="IDS_MF_SK_DETAILS">Detalhes</text>\r
+    <text id="IDS_MF_POP_COPYING">A copiar...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Nome (de A a Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Localização</text>\r
+    <text id="IDS_COM_POP_MOVING">A mover...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Nome (de Z a A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Ocultar ext. ficheiro</text>\r
+    <text id="IDS_MORE">Mais</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Visualizar como</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Proc. em todas pastas</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Armazenamento externo</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Enviar</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Cartão de memór.</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">M. nm.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Pastas</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Mover para aqui</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Mover</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Nome</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Colar aqui</text>\r
+    <text id="IDS_COM_POP_ATTACH">Anexar</text>\r
+    <text id="IDS_YES">Sim</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Colar aqui</text>\r
+    <text id="IDS_COM_BODY_DONE">Concluído</text>\r
+</string_table>\r
diff --git a/res/ron-RO.xml b/res/ron-RO.xml
new file mode 100644 (file)
index 0000000..cc827d5
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Copierea nu a reuşit</text>\r
+    <text id="IDS_COM_OPT_FILES">Fişiere</text>\r
+    <text id="IDS_COM_POP_FOLDER">Folder</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Stocare externă</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Nume director</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Sortare după</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Selectare toate</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Ştergere</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Datele selectate nu au fost găsite</text>\r
+    <text id="IDS_MF_SK3_EDIT">Editare</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Mesaj</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Dimensiune e-mail</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Fişierele mele</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Dată (cele mai recente)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Tip</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Afişare extensie de fişier</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Listă</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Salvare</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Conţine</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Creare director</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Import</text>\r
+    <text id="IDS_COM_BODY_MB">MO</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Anulare</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Sortare după</text>\r
+    <text id="IDS_MF_SK3_DELETE">Ştergere</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Selectat</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Lipire aici</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Imagini</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Nu există fişiere</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Listă şi detalii</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Creare director</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Nu</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Vizualizare pictograme</text>\r
+    <text id="IDS_MF_SK3_COPY">Copiere</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Acasă</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KO</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefon</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Dată creare</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Selectare fişiere</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Închidere</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Căutare</text>\r
+    <text id="IDS_COM_BODY_SIZE">Dimensiune</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Înloc.</text>\r
+    <text id="IDS_MF_TAB_UP">Sus</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Partaj.</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Format</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Rezoluţie</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Email</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Dată (cele mai vechi)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Creare director</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Acelaşi nume deja în uz</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Se şterge...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Mutarea nu a reuşit</text>\r
+    <text id="IDS_MF_SK_DETAILS">Detalii</text>\r
+    <text id="IDS_MF_POP_COPYING">Copiere...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Nume (de la A la Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Locaţie</text>\r
+    <text id="IDS_COM_POP_MOVING">Mutare</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Nume (de la Z la A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Ascundere ext. fişier</text>\r
+    <text id="IDS_MORE">Mai multe</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Vizualizare ca</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Căutare totală foldere</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Stocare externă</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Partaj.</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Cartelă de memorie</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Reden.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Directoare</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Mutare aici</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Mutare</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Nume</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Lipire aici</text>\r
+    <text id="IDS_COM_POP_ATTACH">Ataşare</text>\r
+    <text id="IDS_YES">Da</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Lipire aici</text>\r
+    <text id="IDS_COM_BODY_DONE">Efectuat</text>\r
+</string_table>\r
diff --git a/res/rus-RU.xml b/res/rus-RU.xml
new file mode 100644 (file)
index 0000000..5af45d3
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Сбой копирования</text>\r
+    <text id="IDS_COM_OPT_FILES">Файлы</text>\r
+    <text id="IDS_COM_POP_FOLDER">Папка</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Внешний носитель</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Имя папки</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Сортировка</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Выбрать все</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Удалить</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Выбранные данные не найдены</text>\r
+    <text id="IDS_MF_SK3_EDIT">Изменить</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Сообщение</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Размер сообщения E-mail</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Мои файлы</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Дата (сначала последние)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Тип</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Показать расширение файла</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Список файлов</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Соxранить</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Содержит</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Создать папку</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Импорт</text>\r
+    <text id="IDS_COM_BODY_MB">Мб</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Отмена</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Сортировка</text>\r
+    <text id="IDS_MF_SK3_DELETE">Удалить</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Выбрано</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Вставить сюда</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Картинки</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Нет файлов</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Подробный список</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Создать папку</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Нет</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Эскизы</text>\r
+    <text id="IDS_MF_SK3_COPY">Копир.</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Домой</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">Кб</text>\r
+    <text id="IDS_MF_TAB_PHONE">Телефон</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Дата создания</text>\r
+    <text id="IDS_COM_BODY_B">б</text>\r
+    <text id="IDS_SELECT_FILES">Выбрать файлы</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Закрыть</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Поиск</text>\r
+    <text id="IDS_COM_BODY_SIZE">Размер</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Заменить</text>\r
+    <text id="IDS_MF_TAB_UP">Вверх</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Отправ.</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Форматировать</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Разрешение</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-mail</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Дата (сначала старые)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Создать папку</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Имя уже используется</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Удаление...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Сбой перемещения</text>\r
+    <text id="IDS_MF_SK_DETAILS">Сведения</text>\r
+    <text id="IDS_MF_POP_COPYING">Копирование...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Имя (от А до Я)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Местоположение</text>\r
+    <text id="IDS_COM_POP_MOVING">Перемещение...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Имя (от Я до А)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Скрыть расширение</text>\r
+    <text id="IDS_MORE">Опции</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Просмотреть как</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Поиск по всем папкам</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Внешний носитель</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Отправ.</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Карта памяти</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Переим.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Папки</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Переместить сюда</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Переместить</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Имя</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Вставить сюда</text>\r
+    <text id="IDS_COM_POP_ATTACH">Вложить</text>\r
+    <text id="IDS_YES">Да</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Вставить сюда</text>\r
+    <text id="IDS_COM_BODY_DONE">Готово</text>\r
+</string_table>\r
diff --git a/res/screen-density-xhigh/00_Edit Field_rename.png b/res/screen-density-xhigh/00_Edit Field_rename.png
new file mode 100644 (file)
index 0000000..8dfc832
Binary files /dev/null and b/res/screen-density-xhigh/00_Edit Field_rename.png differ
diff --git a/res/screen-density-xhigh/00_Nocontents_multimedia.png b/res/screen-density-xhigh/00_Nocontents_multimedia.png
new file mode 100644 (file)
index 0000000..beeae21
Binary files /dev/null and b/res/screen-density-xhigh/00_Nocontents_multimedia.png differ
diff --git a/res/screen-density-xhigh/00_Nocontents_picture.png b/res/screen-density-xhigh/00_Nocontents_picture.png
new file mode 100644 (file)
index 0000000..789ff99
Binary files /dev/null and b/res/screen-density-xhigh/00_Nocontents_picture.png differ
diff --git a/res/screen-density-xhigh/00_Nocontents_text.png b/res/screen-density-xhigh/00_Nocontents_text.png
new file mode 100644 (file)
index 0000000..3d68f0a
Binary files /dev/null and b/res/screen-density-xhigh/00_Nocontents_text.png differ
diff --git a/res/screen-density-xhigh/00_Nocontents_unnamed.png b/res/screen-density-xhigh/00_Nocontents_unnamed.png
new file mode 100644 (file)
index 0000000..aa19386
Binary files /dev/null and b/res/screen-density-xhigh/00_Nocontents_unnamed.png differ
diff --git a/res/screen-density-xhigh/00_Option_header_btn.png b/res/screen-density-xhigh/00_Option_header_btn.png
new file mode 100644 (file)
index 0000000..e3cb669
Binary files /dev/null and b/res/screen-density-xhigh/00_Option_header_btn.png differ
diff --git a/res/screen-density-xhigh/00_Option_header_btn_focus.png b/res/screen-density-xhigh/00_Option_header_btn_focus.png
new file mode 100644 (file)
index 0000000..513a01a
Binary files /dev/null and b/res/screen-density-xhigh/00_Option_header_btn_focus.png differ
diff --git a/res/screen-density-xhigh/00_Option_header_btn_press.png b/res/screen-density-xhigh/00_Option_header_btn_press.png
new file mode 100644 (file)
index 0000000..d8a355e
Binary files /dev/null and b/res/screen-density-xhigh/00_Option_header_btn_press.png differ
diff --git a/res/screen-density-xhigh/00_Video_play.png b/res/screen-density-xhigh/00_Video_play.png
new file mode 100644 (file)
index 0000000..01c534d
Binary files /dev/null and b/res/screen-density-xhigh/00_Video_play.png differ
diff --git a/res/screen-density-xhigh/00_btn_circle_bg_normal.png b/res/screen-density-xhigh/00_btn_circle_bg_normal.png
new file mode 100644 (file)
index 0000000..981d624
Binary files /dev/null and b/res/screen-density-xhigh/00_btn_circle_bg_normal.png differ
diff --git a/res/screen-density-xhigh/00_btn_circle_bg_normal_01.png b/res/screen-density-xhigh/00_btn_circle_bg_normal_01.png
new file mode 100644 (file)
index 0000000..dc80c78
Binary files /dev/null and b/res/screen-density-xhigh/00_btn_circle_bg_normal_01.png differ
diff --git a/res/screen-density-xhigh/00_btn_circle_bg_normal_01_press.png b/res/screen-density-xhigh/00_btn_circle_bg_normal_01_press.png
new file mode 100644 (file)
index 0000000..a352d6a
Binary files /dev/null and b/res/screen-density-xhigh/00_btn_circle_bg_normal_01_press.png differ
diff --git a/res/screen-density-xhigh/00_btn_circle_bg_press.png b/res/screen-density-xhigh/00_btn_circle_bg_press.png
new file mode 100644 (file)
index 0000000..bc5f8b2
Binary files /dev/null and b/res/screen-density-xhigh/00_btn_circle_bg_press.png differ
diff --git a/res/screen-density-xhigh/00_button_01_dim.png b/res/screen-density-xhigh/00_button_01_dim.png
new file mode 100644 (file)
index 0000000..76865ec
Binary files /dev/null and b/res/screen-density-xhigh/00_button_01_dim.png differ
diff --git a/res/screen-density-xhigh/00_button_01_normal.png b/res/screen-density-xhigh/00_button_01_normal.png
new file mode 100644 (file)
index 0000000..76865ec
Binary files /dev/null and b/res/screen-density-xhigh/00_button_01_normal.png differ
diff --git a/res/screen-density-xhigh/00_button_01_normal_focus.png b/res/screen-density-xhigh/00_button_01_normal_focus.png
new file mode 100644 (file)
index 0000000..06c39d8
Binary files /dev/null and b/res/screen-density-xhigh/00_button_01_normal_focus.png differ
diff --git a/res/screen-density-xhigh/00_button_01_normal_press.png b/res/screen-density-xhigh/00_button_01_normal_press.png
new file mode 100644 (file)
index 0000000..2c43c71
Binary files /dev/null and b/res/screen-density-xhigh/00_button_01_normal_press.png differ
diff --git a/res/screen-density-xhigh/00_button_04_dim.png b/res/screen-density-xhigh/00_button_04_dim.png
new file mode 100644 (file)
index 0000000..76865ec
Binary files /dev/null and b/res/screen-density-xhigh/00_button_04_dim.png differ
diff --git a/res/screen-density-xhigh/00_button_04_normal.9.png b/res/screen-density-xhigh/00_button_04_normal.9.png
new file mode 100644 (file)
index 0000000..c44b640
Binary files /dev/null and b/res/screen-density-xhigh/00_button_04_normal.9.png differ
diff --git a/res/screen-density-xhigh/00_button_04_normal.png b/res/screen-density-xhigh/00_button_04_normal.png
new file mode 100644 (file)
index 0000000..76865ec
Binary files /dev/null and b/res/screen-density-xhigh/00_button_04_normal.png differ
diff --git a/res/screen-density-xhigh/00_button_04_normal_focus.png b/res/screen-density-xhigh/00_button_04_normal_focus.png
new file mode 100644 (file)
index 0000000..06c39d8
Binary files /dev/null and b/res/screen-density-xhigh/00_button_04_normal_focus.png differ
diff --git a/res/screen-density-xhigh/00_button_04_press.9.png b/res/screen-density-xhigh/00_button_04_press.9.png
new file mode 100644 (file)
index 0000000..c5c5c7a
Binary files /dev/null and b/res/screen-density-xhigh/00_button_04_press.9.png differ
diff --git a/res/screen-density-xhigh/00_button_04_press.png b/res/screen-density-xhigh/00_button_04_press.png
new file mode 100644 (file)
index 0000000..2c43c71
Binary files /dev/null and b/res/screen-density-xhigh/00_button_04_press.png differ
diff --git a/res/screen-density-xhigh/00_button_05_dim.png b/res/screen-density-xhigh/00_button_05_dim.png
new file mode 100644 (file)
index 0000000..0c9653e
Binary files /dev/null and b/res/screen-density-xhigh/00_button_05_dim.png differ
diff --git a/res/screen-density-xhigh/00_button_05_normal.png b/res/screen-density-xhigh/00_button_05_normal.png
new file mode 100644 (file)
index 0000000..0c9653e
Binary files /dev/null and b/res/screen-density-xhigh/00_button_05_normal.png differ
diff --git a/res/screen-density-xhigh/00_button_05_normal_focus.png b/res/screen-density-xhigh/00_button_05_normal_focus.png
new file mode 100644 (file)
index 0000000..f1d0ca7
Binary files /dev/null and b/res/screen-density-xhigh/00_button_05_normal_focus.png differ
diff --git a/res/screen-density-xhigh/00_button_05_normal_press.png b/res/screen-density-xhigh/00_button_05_normal_press.png
new file mode 100644 (file)
index 0000000..ffa750b
Binary files /dev/null and b/res/screen-density-xhigh/00_button_05_normal_press.png differ
diff --git a/res/screen-density-xhigh/00_button_06_dim.png b/res/screen-density-xhigh/00_button_06_dim.png
new file mode 100644 (file)
index 0000000..0f81b3b
Binary files /dev/null and b/res/screen-density-xhigh/00_button_06_dim.png differ
diff --git a/res/screen-density-xhigh/00_button_06_normal.png b/res/screen-density-xhigh/00_button_06_normal.png
new file mode 100644 (file)
index 0000000..0f81b3b
Binary files /dev/null and b/res/screen-density-xhigh/00_button_06_normal.png differ
diff --git a/res/screen-density-xhigh/00_button_06_normal_focus.png b/res/screen-density-xhigh/00_button_06_normal_focus.png
new file mode 100644 (file)
index 0000000..60c3d14
Binary files /dev/null and b/res/screen-density-xhigh/00_button_06_normal_focus.png differ
diff --git a/res/screen-density-xhigh/00_button_06_press.png b/res/screen-density-xhigh/00_button_06_press.png
new file mode 100644 (file)
index 0000000..cf3b217
Binary files /dev/null and b/res/screen-density-xhigh/00_button_06_press.png differ
diff --git a/res/screen-density-xhigh/00_button_Edit.png b/res/screen-density-xhigh/00_button_Edit.png
new file mode 100644 (file)
index 0000000..7b84e4b
Binary files /dev/null and b/res/screen-density-xhigh/00_button_Edit.png differ
diff --git a/res/screen-density-xhigh/00_button_Edit_Delete.png b/res/screen-density-xhigh/00_button_Edit_Delete.png
new file mode 100644 (file)
index 0000000..c70c13b
Binary files /dev/null and b/res/screen-density-xhigh/00_button_Edit_Delete.png differ
diff --git a/res/screen-density-xhigh/00_button_Edit_Delete_press.png b/res/screen-density-xhigh/00_button_Edit_Delete_press.png
new file mode 100644 (file)
index 0000000..1760238
Binary files /dev/null and b/res/screen-density-xhigh/00_button_Edit_Delete_press.png differ
diff --git a/res/screen-density-xhigh/00_button_Edit_dim.png b/res/screen-density-xhigh/00_button_Edit_dim.png
new file mode 100644 (file)
index 0000000..7b84e4b
Binary files /dev/null and b/res/screen-density-xhigh/00_button_Edit_dim.png differ
diff --git a/res/screen-density-xhigh/00_button_Edit_focus.png b/res/screen-density-xhigh/00_button_Edit_focus.png
new file mode 100644 (file)
index 0000000..4fb3b2d
Binary files /dev/null and b/res/screen-density-xhigh/00_button_Edit_focus.png differ
diff --git a/res/screen-density-xhigh/00_button_Edit_press.png b/res/screen-density-xhigh/00_button_Edit_press.png
new file mode 100644 (file)
index 0000000..cdea3c7
Binary files /dev/null and b/res/screen-density-xhigh/00_button_Edit_press.png differ
diff --git a/res/screen-density-xhigh/00_button_popup_dim.png b/res/screen-density-xhigh/00_button_popup_dim.png
new file mode 100644 (file)
index 0000000..a0cf2d8
Binary files /dev/null and b/res/screen-density-xhigh/00_button_popup_dim.png differ
diff --git a/res/screen-density-xhigh/00_button_popup_normal.png b/res/screen-density-xhigh/00_button_popup_normal.png
new file mode 100644 (file)
index 0000000..a0cf2d8
Binary files /dev/null and b/res/screen-density-xhigh/00_button_popup_normal.png differ
diff --git a/res/screen-density-xhigh/00_button_popup_normal_focus.png b/res/screen-density-xhigh/00_button_popup_normal_focus.png
new file mode 100644 (file)
index 0000000..06c39d8
Binary files /dev/null and b/res/screen-density-xhigh/00_button_popup_normal_focus.png differ
diff --git a/res/screen-density-xhigh/00_button_popup_press.png b/res/screen-density-xhigh/00_button_popup_press.png
new file mode 100644 (file)
index 0000000..2c43c71
Binary files /dev/null and b/res/screen-density-xhigh/00_button_popup_press.png differ
diff --git a/res/screen-density-xhigh/00_button_rename_normal.png b/res/screen-density-xhigh/00_button_rename_normal.png
new file mode 100644 (file)
index 0000000..39c5de5
Binary files /dev/null and b/res/screen-density-xhigh/00_button_rename_normal.png differ
diff --git a/res/screen-density-xhigh/00_button_rename_press.png b/res/screen-density-xhigh/00_button_rename_press.png
new file mode 100644 (file)
index 0000000..39c5de5
Binary files /dev/null and b/res/screen-density-xhigh/00_button_rename_press.png differ
diff --git a/res/screen-density-xhigh/00_button_sweep.png b/res/screen-density-xhigh/00_button_sweep.png
new file mode 100644 (file)
index 0000000..76865ec
Binary files /dev/null and b/res/screen-density-xhigh/00_button_sweep.png differ
diff --git a/res/screen-density-xhigh/00_button_sweep_delete.9.png b/res/screen-density-xhigh/00_button_sweep_delete.9.png
new file mode 100644 (file)
index 0000000..3f53875
Binary files /dev/null and b/res/screen-density-xhigh/00_button_sweep_delete.9.png differ
diff --git a/res/screen-density-xhigh/00_button_sweep_delete.png b/res/screen-density-xhigh/00_button_sweep_delete.png
new file mode 100644 (file)
index 0000000..43999d1
Binary files /dev/null and b/res/screen-density-xhigh/00_button_sweep_delete.png differ
diff --git a/res/screen-density-xhigh/00_button_sweep_delete_press.9.png b/res/screen-density-xhigh/00_button_sweep_delete_press.9.png
new file mode 100644 (file)
index 0000000..ebe9d4d
Binary files /dev/null and b/res/screen-density-xhigh/00_button_sweep_delete_press.9.png differ
diff --git a/res/screen-density-xhigh/00_button_sweep_delete_press.png b/res/screen-density-xhigh/00_button_sweep_delete_press.png
new file mode 100644 (file)
index 0000000..59d19e8
Binary files /dev/null and b/res/screen-density-xhigh/00_button_sweep_delete_press.png differ
diff --git a/res/screen-density-xhigh/00_button_sweep_dim.png b/res/screen-density-xhigh/00_button_sweep_dim.png
new file mode 100644 (file)
index 0000000..76865ec
Binary files /dev/null and b/res/screen-density-xhigh/00_button_sweep_dim.png differ
diff --git a/res/screen-density-xhigh/00_button_sweep_focus.png b/res/screen-density-xhigh/00_button_sweep_focus.png
new file mode 100644 (file)
index 0000000..06c39d8
Binary files /dev/null and b/res/screen-density-xhigh/00_button_sweep_focus.png differ
diff --git a/res/screen-density-xhigh/00_button_sweep_press.png b/res/screen-density-xhigh/00_button_sweep_press.png
new file mode 100644 (file)
index 0000000..2c43c71
Binary files /dev/null and b/res/screen-density-xhigh/00_button_sweep_press.png differ
diff --git a/res/screen-density-xhigh/00_caller ID_masking_BG.png b/res/screen-density-xhigh/00_caller ID_masking_BG.png
new file mode 100644 (file)
index 0000000..6d55b30
Binary files /dev/null and b/res/screen-density-xhigh/00_caller ID_masking_BG.png differ
diff --git a/res/screen-density-xhigh/00_grid_select_check.png b/res/screen-density-xhigh/00_grid_select_check.png
new file mode 100644 (file)
index 0000000..608aac8
Binary files /dev/null and b/res/screen-density-xhigh/00_grid_select_check.png differ
diff --git a/res/screen-density-xhigh/00_popup_bg.9.png b/res/screen-density-xhigh/00_popup_bg.9.png
new file mode 100644 (file)
index 0000000..abddf9d
Binary files /dev/null and b/res/screen-density-xhigh/00_popup_bg.9.png differ
diff --git a/res/screen-density-xhigh/00_popup_bg.png b/res/screen-density-xhigh/00_popup_bg.png
new file mode 100644 (file)
index 0000000..e4bffb2
Binary files /dev/null and b/res/screen-density-xhigh/00_popup_bg.png differ
diff --git a/res/screen-density-xhigh/00_popup_bottom_bg.9.png b/res/screen-density-xhigh/00_popup_bottom_bg.9.png
new file mode 100644 (file)
index 0000000..22b5a02
Binary files /dev/null and b/res/screen-density-xhigh/00_popup_bottom_bg.9.png differ
diff --git a/res/screen-density-xhigh/00_popup_bottom_bg.png b/res/screen-density-xhigh/00_popup_bottom_bg.png
new file mode 100644 (file)
index 0000000..c595eec
Binary files /dev/null and b/res/screen-density-xhigh/00_popup_bottom_bg.png differ
diff --git a/res/screen-density-xhigh/00_popup_bubble_bg.png b/res/screen-density-xhigh/00_popup_bubble_bg.png
new file mode 100644 (file)
index 0000000..ed2ffe9
Binary files /dev/null and b/res/screen-density-xhigh/00_popup_bubble_bg.png differ
diff --git a/res/screen-density-xhigh/00_popup_title_bg.png b/res/screen-density-xhigh/00_popup_title_bg.png
new file mode 100644 (file)
index 0000000..ac60214
Binary files /dev/null and b/res/screen-density-xhigh/00_popup_title_bg.png differ
diff --git a/res/screen-density-xhigh/00_search_icon.png b/res/screen-density-xhigh/00_search_icon.png
new file mode 100644 (file)
index 0000000..2d160be
Binary files /dev/null and b/res/screen-density-xhigh/00_search_icon.png differ
diff --git a/res/screen-density-xhigh/00_search_input_field_bg.png b/res/screen-density-xhigh/00_search_input_field_bg.png
new file mode 100644 (file)
index 0000000..096accf
Binary files /dev/null and b/res/screen-density-xhigh/00_search_input_field_bg.png differ
diff --git a/res/screen-density-xhigh/00_volume_icon_Call.png b/res/screen-density-xhigh/00_volume_icon_Call.png
new file mode 100644 (file)
index 0000000..922b246
Binary files /dev/null and b/res/screen-density-xhigh/00_volume_icon_Call.png differ
diff --git a/res/screen-density-xhigh/01_controlbar_icon_Externalstorage.png b/res/screen-density-xhigh/01_controlbar_icon_Externalstorage.png
new file mode 100644 (file)
index 0000000..247fa73
Binary files /dev/null and b/res/screen-density-xhigh/01_controlbar_icon_Externalstorage.png differ
diff --git a/res/screen-density-xhigh/01_controlbar_icon_MemoryCard.png b/res/screen-density-xhigh/01_controlbar_icon_MemoryCard.png
new file mode 100644 (file)
index 0000000..3f10810
Binary files /dev/null and b/res/screen-density-xhigh/01_controlbar_icon_MemoryCard.png differ
diff --git a/res/screen-density-xhigh/01_controlbar_icon_phone.png b/res/screen-density-xhigh/01_controlbar_icon_phone.png
new file mode 100644 (file)
index 0000000..74e9ec6
Binary files /dev/null and b/res/screen-density-xhigh/01_controlbar_icon_phone.png differ
diff --git a/res/screen-density-xhigh/Edit_Field_rename.png b/res/screen-density-xhigh/Edit_Field_rename.png
new file mode 100644 (file)
index 0000000..8dfc832
Binary files /dev/null and b/res/screen-density-xhigh/Edit_Field_rename.png differ
diff --git a/res/screen-density-xhigh/Thumbs.db b/res/screen-density-xhigh/Thumbs.db
new file mode 100644 (file)
index 0000000..fa5d3eb
Binary files /dev/null and b/res/screen-density-xhigh/Thumbs.db differ
diff --git a/res/screen-density-xhigh/U01_1st_icon_external_storage.png b/res/screen-density-xhigh/U01_1st_icon_external_storage.png
new file mode 100644 (file)
index 0000000..30f94a3
Binary files /dev/null and b/res/screen-density-xhigh/U01_1st_icon_external_storage.png differ
diff --git a/res/screen-density-xhigh/U01_1st_icon_external_storage_press.png b/res/screen-density-xhigh/U01_1st_icon_external_storage_press.png
new file mode 100644 (file)
index 0000000..d41e1bb
Binary files /dev/null and b/res/screen-density-xhigh/U01_1st_icon_external_storage_press.png differ
diff --git a/res/screen-density-xhigh/U01_1st_icon_memory_card.png b/res/screen-density-xhigh/U01_1st_icon_memory_card.png
new file mode 100644 (file)
index 0000000..277e976
Binary files /dev/null and b/res/screen-density-xhigh/U01_1st_icon_memory_card.png differ
diff --git a/res/screen-density-xhigh/U01_1st_icon_memory_card_press.png b/res/screen-density-xhigh/U01_1st_icon_memory_card_press.png
new file mode 100644 (file)
index 0000000..00a0644
Binary files /dev/null and b/res/screen-density-xhigh/U01_1st_icon_memory_card_press.png differ
diff --git a/res/screen-density-xhigh/U01_1st_icon_phone.png b/res/screen-density-xhigh/U01_1st_icon_phone.png
new file mode 100644 (file)
index 0000000..647b42b
Binary files /dev/null and b/res/screen-density-xhigh/U01_1st_icon_phone.png differ
diff --git a/res/screen-density-xhigh/U01_1st_icon_phone_press.png b/res/screen-density-xhigh/U01_1st_icon_phone_press.png
new file mode 100644 (file)
index 0000000..bbe69cb
Binary files /dev/null and b/res/screen-density-xhigh/U01_1st_icon_phone_press.png differ
diff --git a/res/screen-density-xhigh/U01_FileName_bg.png b/res/screen-density-xhigh/U01_FileName_bg.png
new file mode 100644 (file)
index 0000000..62eb53d
Binary files /dev/null and b/res/screen-density-xhigh/U01_FileName_bg.png differ
diff --git a/res/screen-density-xhigh/U01_button_04_dim.png b/res/screen-density-xhigh/U01_button_04_dim.png
new file mode 100644 (file)
index 0000000..3ce2fd2
Binary files /dev/null and b/res/screen-density-xhigh/U01_button_04_dim.png differ
diff --git a/res/screen-density-xhigh/U01_button_04_normal.png b/res/screen-density-xhigh/U01_button_04_normal.png
new file mode 100644 (file)
index 0000000..97a26f0
Binary files /dev/null and b/res/screen-density-xhigh/U01_button_04_normal.png differ
diff --git a/res/screen-density-xhigh/U01_button_04_normal_focus.png b/res/screen-density-xhigh/U01_button_04_normal_focus.png
new file mode 100644 (file)
index 0000000..6ee6ae8
Binary files /dev/null and b/res/screen-density-xhigh/U01_button_04_normal_focus.png differ
diff --git a/res/screen-density-xhigh/U01_button_04_press.png b/res/screen-density-xhigh/U01_button_04_press.png
new file mode 100644 (file)
index 0000000..3468f48
Binary files /dev/null and b/res/screen-density-xhigh/U01_button_04_press.png differ
diff --git a/res/screen-density-xhigh/U01_button_icon_home.png b/res/screen-density-xhigh/U01_button_icon_home.png
new file mode 100644 (file)
index 0000000..14f3ddc
Binary files /dev/null and b/res/screen-density-xhigh/U01_button_icon_home.png differ
diff --git a/res/screen-density-xhigh/U01_button_icon_up.png b/res/screen-density-xhigh/U01_button_icon_up.png
new file mode 100644 (file)
index 0000000..a935e36
Binary files /dev/null and b/res/screen-density-xhigh/U01_button_icon_up.png differ
diff --git a/res/screen-density-xhigh/U01_button_pause.png b/res/screen-density-xhigh/U01_button_pause.png
new file mode 100644 (file)
index 0000000..fd1c6a2
Binary files /dev/null and b/res/screen-density-xhigh/U01_button_pause.png differ
diff --git a/res/screen-density-xhigh/U01_button_pause_press.png b/res/screen-density-xhigh/U01_button_pause_press.png
new file mode 100644 (file)
index 0000000..fd1c6a2
Binary files /dev/null and b/res/screen-density-xhigh/U01_button_pause_press.png differ
diff --git a/res/screen-density-xhigh/U01_button_play.png b/res/screen-density-xhigh/U01_button_play.png
new file mode 100644 (file)
index 0000000..88575c1
Binary files /dev/null and b/res/screen-density-xhigh/U01_button_play.png differ
diff --git a/res/screen-density-xhigh/U01_button_play_press.png b/res/screen-density-xhigh/U01_button_play_press.png
new file mode 100644 (file)
index 0000000..88575c1
Binary files /dev/null and b/res/screen-density-xhigh/U01_button_play_press.png differ
diff --git a/res/screen-density-xhigh/U01_icon_USB.png b/res/screen-density-xhigh/U01_icon_USB.png
new file mode 100644 (file)
index 0000000..bf4dc00
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_USB.png differ
diff --git a/res/screen-density-xhigh/U01_icon_excel.png b/res/screen-density-xhigh/U01_icon_excel.png
new file mode 100644 (file)
index 0000000..109b7de
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_excel.png differ
diff --git a/res/screen-density-xhigh/U01_icon_folder.png b/res/screen-density-xhigh/U01_icon_folder.png
new file mode 100644 (file)
index 0000000..d53be43
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_folder.png differ
diff --git a/res/screen-density-xhigh/U01_icon_folder_128x128.png b/res/screen-density-xhigh/U01_icon_folder_128x128.png
new file mode 100644 (file)
index 0000000..c4b91e1
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_folder_128x128.png differ
diff --git a/res/screen-density-xhigh/U01_icon_folder_Cropped.png b/res/screen-density-xhigh/U01_icon_folder_Cropped.png
new file mode 100644 (file)
index 0000000..f6ee289
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_folder_Cropped.png differ
diff --git a/res/screen-density-xhigh/U01_icon_folder_oepn_128x128.png b/res/screen-density-xhigh/U01_icon_folder_oepn_128x128.png
new file mode 100644 (file)
index 0000000..d928ea2
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_folder_oepn_128x128.png differ
diff --git a/res/screen-density-xhigh/U01_icon_folder_open.png b/res/screen-density-xhigh/U01_icon_folder_open.png
new file mode 100644 (file)
index 0000000..85e0f19
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_folder_open.png differ
diff --git a/res/screen-density-xhigh/U01_icon_html.png b/res/screen-density-xhigh/U01_icon_html.png
new file mode 100644 (file)
index 0000000..78646b4
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_html.png differ
diff --git a/res/screen-density-xhigh/U01_icon_music.png b/res/screen-density-xhigh/U01_icon_music.png
new file mode 100644 (file)
index 0000000..9909d9c
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_music.png differ
diff --git a/res/screen-density-xhigh/U01_icon_pdf.png b/res/screen-density-xhigh/U01_icon_pdf.png
new file mode 100644 (file)
index 0000000..2480d81
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_pdf.png differ
diff --git a/res/screen-density-xhigh/U01_icon_ppt.png b/res/screen-density-xhigh/U01_icon_ppt.png
new file mode 100644 (file)
index 0000000..42c1100
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_ppt.png differ
diff --git a/res/screen-density-xhigh/U01_icon_rss.png b/res/screen-density-xhigh/U01_icon_rss.png
new file mode 100644 (file)
index 0000000..1b566e2
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_rss.png differ
diff --git a/res/screen-density-xhigh/U01_icon_svg.png b/res/screen-density-xhigh/U01_icon_svg.png
new file mode 100644 (file)
index 0000000..64a841c
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_svg.png differ
diff --git a/res/screen-density-xhigh/U01_icon_swf.png b/res/screen-density-xhigh/U01_icon_swf.png
new file mode 100644 (file)
index 0000000..ee50e85
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_swf.png differ
diff --git a/res/screen-density-xhigh/U01_icon_text.png b/res/screen-density-xhigh/U01_icon_text.png
new file mode 100644 (file)
index 0000000..c937ef8
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_text.png differ
diff --git a/res/screen-density-xhigh/U01_icon_unkown.png b/res/screen-density-xhigh/U01_icon_unkown.png
new file mode 100644 (file)
index 0000000..0cc767d
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_unkown.png differ
diff --git a/res/screen-density-xhigh/U01_icon_upper folder.png b/res/screen-density-xhigh/U01_icon_upper folder.png
new file mode 100644 (file)
index 0000000..050c295
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_upper folder.png differ
diff --git a/res/screen-density-xhigh/U01_icon_upper folder_focus.png b/res/screen-density-xhigh/U01_icon_upper folder_focus.png
new file mode 100644 (file)
index 0000000..050c295
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_upper folder_focus.png differ
diff --git a/res/screen-density-xhigh/U01_icon_video.png b/res/screen-density-xhigh/U01_icon_video.png
new file mode 100644 (file)
index 0000000..bbde433
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_video.png differ
diff --git a/res/screen-density-xhigh/U01_icon_word.png b/res/screen-density-xhigh/U01_icon_word.png
new file mode 100644 (file)
index 0000000..b399bad
Binary files /dev/null and b/res/screen-density-xhigh/U01_icon_word.png differ
diff --git a/res/screen-density-xhigh/U01_thumbnail_icon_excel.png b/res/screen-density-xhigh/U01_thumbnail_icon_excel.png
new file mode 100644 (file)
index 0000000..c5ff6e6
Binary files /dev/null and b/res/screen-density-xhigh/U01_thumbnail_icon_excel.png differ
diff --git a/res/screen-density-xhigh/U01_thumbnail_icon_html.png b/res/screen-density-xhigh/U01_thumbnail_icon_html.png
new file mode 100644 (file)
index 0000000..2e99180
Binary files /dev/null and b/res/screen-density-xhigh/U01_thumbnail_icon_html.png differ
diff --git a/res/screen-density-xhigh/U01_thumbnail_icon_music.png b/res/screen-density-xhigh/U01_thumbnail_icon_music.png
new file mode 100644 (file)
index 0000000..54c18e7
Binary files /dev/null and b/res/screen-density-xhigh/U01_thumbnail_icon_music.png differ
diff --git a/res/screen-density-xhigh/U01_thumbnail_icon_pdf.png b/res/screen-density-xhigh/U01_thumbnail_icon_pdf.png
new file mode 100644 (file)
index 0000000..30ea8e9
Binary files /dev/null and b/res/screen-density-xhigh/U01_thumbnail_icon_pdf.png differ
diff --git a/res/screen-density-xhigh/U01_thumbnail_icon_ppt.png b/res/screen-density-xhigh/U01_thumbnail_icon_ppt.png
new file mode 100644 (file)
index 0000000..bb97df2
Binary files /dev/null and b/res/screen-density-xhigh/U01_thumbnail_icon_ppt.png differ
diff --git a/res/screen-density-xhigh/U01_thumbnail_icon_rss.png b/res/screen-density-xhigh/U01_thumbnail_icon_rss.png
new file mode 100644 (file)
index 0000000..8fc1384
Binary files /dev/null and b/res/screen-density-xhigh/U01_thumbnail_icon_rss.png differ
diff --git a/res/screen-density-xhigh/U01_thumbnail_icon_svg.png b/res/screen-density-xhigh/U01_thumbnail_icon_svg.png
new file mode 100644 (file)
index 0000000..92b89e0
Binary files /dev/null and b/res/screen-density-xhigh/U01_thumbnail_icon_svg.png differ
diff --git a/res/screen-density-xhigh/U01_thumbnail_icon_swf.png b/res/screen-density-xhigh/U01_thumbnail_icon_swf.png
new file mode 100644 (file)
index 0000000..8d1278d
Binary files /dev/null and b/res/screen-density-xhigh/U01_thumbnail_icon_swf.png differ
diff --git a/res/screen-density-xhigh/U01_thumbnail_icon_text.png b/res/screen-density-xhigh/U01_thumbnail_icon_text.png
new file mode 100644 (file)
index 0000000..39cdc23
Binary files /dev/null and b/res/screen-density-xhigh/U01_thumbnail_icon_text.png differ
diff --git a/res/screen-density-xhigh/U01_thumbnail_icon_unkown.png b/res/screen-density-xhigh/U01_thumbnail_icon_unkown.png
new file mode 100644 (file)
index 0000000..37a22ec
Binary files /dev/null and b/res/screen-density-xhigh/U01_thumbnail_icon_unkown.png differ
diff --git a/res/screen-density-xhigh/U01_thumbnail_icon_video.png b/res/screen-density-xhigh/U01_thumbnail_icon_video.png
new file mode 100644 (file)
index 0000000..4fe90b2
Binary files /dev/null and b/res/screen-density-xhigh/U01_thumbnail_icon_video.png differ
diff --git a/res/screen-density-xhigh/U01_thumbnail_icon_word.png b/res/screen-density-xhigh/U01_thumbnail_icon_word.png
new file mode 100644 (file)
index 0000000..ef5b578
Binary files /dev/null and b/res/screen-density-xhigh/U01_thumbnail_icon_word.png differ
diff --git a/res/screen-size-normal/IDL_BASE_FORM.xml b/res/screen-size-normal/IDL_BASE_FORM.xml
new file mode 100644 (file)
index 0000000..d297813
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+<Scene Bversion="3.0.0.201211071904" Dversion="20120315">
+    <LogicalCoordinate>720</LogicalCoordinate>
+    <Form id="IDL_BASE_FORM">
+        <property backgroundColor="" backgroundColorOpacity="100" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+        <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
+        <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
+    </Form>
+    <Footer>
+        <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_TAB" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false"/>
+        <itemSet/>
+    </Footer>
+    <Header>
+        <property backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" titleIconPath="" titleText="" titleTextColor=""/>
+        <itemSet/>
+    </Header>
+    <ListView id="IDC_LISTVIEW1" parent="IDL_BASE_FORM">
+        <property backgroundColor="#FFFFFF" backgroundColorOpacity="0" bitmapPathOfEmptyList="" colorOfEmptyListText="#000000" fastScroll="false" itemDivider="true" itemDividerColor="#BFBFBF" sweepEnabled="false" textOfEmptyList="::IDS_COM_BODY_NO_FILES"/>
+        <layout height="1009" mode="Portrait" width="720" x="0" y="0"/>
+        <layout height="124" mode="Landscape" width="730" x="200" y="0"/>
+    </ListView>
+    <Label id="IDC_LABEL1" parent="IDL_BASE_FORM">
+        <property backgroundBitmapPath="" backgroundColor="#38455A" backgroundColorOpacity="100" horizontalAlign="ALIGN_LEFT" text="::IDS_DEFAULT_DISPLAY" textColor="#839AC0" textSize="26" textStyle="LABEL_TEXT_STYLE_BOLD" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="50" mode="Portrait" width="720" x="0" y="0"/>
+        <layout height="52" mode="Landscape" width="533" x="679" y="0"/>
+    </Label>
+</Scene>
diff --git a/res/screen-size-normal/IDL_CREATE_FOLDER.xml b/res/screen-size-normal/IDL_CREATE_FOLDER.xml
new file mode 100644 (file)
index 0000000..4fea235
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+
+<Scene Bversion="3.0.0.201302021409" Dversion="20120315">
+    <LogicalCoordinate>720</LogicalCoordinate>
+    <Form id="IDL_CREATE_FOLDER">
+        <property backgroundColor="" backgroundColorOpacity="100" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+        <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER" type="NONE"/>
+        <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER" type="NONE"/>
+    </Form>
+    <Header>
+        <property backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" titleIconPath="" titleText="::IDS_MF_OPT_CREATE_FOLDER" titleTextColor=""/>
+        <itemSet/>
+    </Header>
+    <Panel id="IDC_PANEL_EDIT_FIELD" parent="IDL_CREATE_FOLDER">
+        <property backgroundColor="#FFFFFF" backgroundColorOpacity="0" compositeEnabled="true" groupStyle="GROUP_STYLE_NONE"/>
+        <layout height="130" mode="Portrait" type="NONE" width="720" x="0" y="0"/>
+        <layout height="52" mode="Landscape" type="NONE" width="533" x="140" y="0"/>
+    </Panel>
+    <Label id="IDC_LABEL_FOLDER_NAME" parent="IDC_PANEL_EDIT_FIELD">
+        <property backgroundBitmapPath="" backgroundColor="#FFFFFF" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="::IDS_MF_BODY_FOLDER_NAME" textColor="#BFBFBF" textSize="32" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_TOP"/>
+        <layout height="32" mode="Portrait" width="720" x="0" y="8"/>
+        <layout height="122" mode="Landscape" width="108" x="0" y="0"/>
+    </Label>
+    <EditField id="IDC_EDITFIELD_FOLDER_NAME" parent="IDC_PANEL_EDIT_FIELD">
+        <property commandButtonVisible="true" disabledBGBitmapPath="" disabledColor="" disabledColorOpacity="100" disabledTextColor="" ellipsisPosition="ELLIPSIS_POSITION_END" enableClear="true" groupStyle="GROUP_STYLE_NONE" guideText="" guideTextColor="" highlightedBGBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalMargin="16" inputStyle="INPUT_STYLE_OVERLAY" keypadAction="KEYPAD_ACTION_ENTER" keypadEnabled="true" limitLength="250" linkTextColor="" lowerCaseMode="false" normalBGBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="#000000" pressedBGBitmapPath="" pressedColor="" pressedColorOpacity="100" text="::IDS_COM_POP_FOLDER" textHorizontalAlignment="ALIGNMENT_LEFT" textSize="44" titleStyle="EDIT_FIELD_TITLE_STYLE_NONE" titleText="::IDS_COM_POP_FOLDER" titleTextColor="" verticalMargin="15" viewMode="false"/>
+        <layout height="90" mode="Portrait" style="EDIT_FIELD_STYLE_NORMAL" width="720" x="0" y="40"/>
+        <layout height="600" mode="Landscape" style="EDIT_FIELD_STYLE_NORMAL" width="72" x="8" y="0"/>
+    </EditField>
+</Scene>
diff --git a/res/screen-size-normal/IDL_DELETE_POPUP.xml b/res/screen-size-normal/IDL_DELETE_POPUP.xml
new file mode 100644 (file)
index 0000000..e131c1f
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE ScenePopup SYSTEM "UIForm.dtd">
+<ScenePopup Bversion="3.0.0.201301181014" Dversion="20120315">
+    <Popup id="IDL_DELETE_POPUP">
+        <property color="" titleText="" titleTextColor=""/>
+        <layout height="402" mode="Portrait" style="" type="NONE" width="692"/>
+        <layout height="474" mode="Landscape" style="" type="NONE" width="620"/>
+    </Popup>
+    <Label id="IDC_LABEL_BOTTOM_BACKGROUND" parent="IDL_DELETE_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="" textColor="" textSize="33" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_TOP"/>
+        <layout height="96" mode="Portrait" width="612" x="20" y="294"/>
+        <layout height="96" mode="Landscape" width="596" x="0" y="294"/>
+    </Label>
+    <Label id="IDC_LABEL_DELETE" parent="IDL_DELETE_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_CENTER" text="" textColor="" textSize="40" textStyle="LABEL_TEXT_STYLE_BOLD" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="284" mode="Portrait" width="632" x="10" y="10"/>
+        <layout height="294" mode="Landscape" width="596" x="0" y="0"/>
+    </Label>
+    <Button id="IDC_BUTTON_DELETE" parent="IDL_DELETE_POPUP">
+        <property DisabledBitmapX="0" DisabledBitmapY="0" NormalBitmapX="0" NormalBitmapY="0" PressedBitmapX="0" PressedBitmapY="0" disableTextColor="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="00_button_sweep_delete.9.png" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="00_button_sweep_delete_press.9.png" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="::IDS_MF_SK3_DELETE" textSize="33" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="72" mode="Portrait" width="273" x="42" y="305"/>
+        <layout height="72" mode="Landscape" width="273" x="20" y="306"/>
+    </Button>
+    <Button id="IDC_BUTTON_CANCEL" parent="IDL_DELETE_POPUP">
+        <property DisabledBitmapX="0" DisabledBitmapY="0" NormalBitmapX="0" NormalBitmapY="0" PressedBitmapX="0" PressedBitmapY="0" disableTextColor="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="::IDS_COM_POP_CANCEL" textSize="33" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="72" mode="Portrait" width="273" x="338" y="305"/>
+        <layout height="72" mode="Landscape" width="273" x="303" y="306"/>
+    </Button>
+</ScenePopup>
diff --git a/res/screen-size-normal/IDL_DETAIL_FORM.xml b/res/screen-size-normal/IDL_DETAIL_FORM.xml
new file mode 100644 (file)
index 0000000..f346fda
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+<Scene Bversion="3.0.0.201301251814" Dversion="20120315">
+    <LogicalCoordinate>720</LogicalCoordinate>
+    <Form id="IDL_DETAIL_FORM">
+        <property backgroundColor="" backgroundColorOpacity="100" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+        <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
+        <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
+    </Form>
+    <Footer>
+        <property backgroundBitmapPath="" color="" colorOpacity="0" disabledButtonColor="" disabledButtonColorOpacity="0" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="0" disabledItemTextColor="" footerStyle="FOOTER_STYLE_BUTTON_TEXT" highlightedButtonColor="" highlightedButtonColorOpacity="0" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="0" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="0" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="0" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="0" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="0" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="0" selectedItemTextColor="" showBackButton="true"/>
+        <itemSet/>
+    </Footer>
+    <Header>
+        <property backgroundBitmapPath="" color="" colorOpacity="0" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="0" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="0" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="0" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="0" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="0" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="0" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="0" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="0" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="0" selectedItemTextColor="" titleIconPath="" titleText="::IDS_MF_SK_DETAILS" titleTextColor=""/>
+        <itemSet/>
+    </Header>
+    <GroupedListView id="IDC_GROUPEDLISTVIEW1" parent="IDL_DETAIL_FORM">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" bitmapPathOfEmptyList="" colorOfEmptyListText="" fastScroll="false" itemDivider="true" itemDividerColor="" sectionColor="" sweepEnabled="false" textOfEmptyList=""/>
+        <layout height="1011" mode="Portrait" style="CUSTOM_LIST_STYLE_NORMAL" width="720" x="0" y="0"/>
+        <layout height="132" mode="Landscape" style="CUSTOM_LIST_STYLE_NORMAL" width="684" x="285" y="148"/>
+    </GroupedListView>
+</Scene>
diff --git a/res/screen-size-normal/IDL_EDIT.xml b/res/screen-size-normal/IDL_EDIT.xml
new file mode 100644 (file)
index 0000000..ad3f57f
--- /dev/null
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+<Scene Bversion="3.0.0.201302021409" Dversion="20120315">
+    <LogicalCoordinate>720</LogicalCoordinate>
+    <Form id="IDL_EDIT">
+        <property backgroundColor="" backgroundColorOpacity="100" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+        <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
+        <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
+    </Form>
+    <Footer>
+        <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_TAB" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false"/>
+        <itemSet/>
+    </Footer>
+    <Header>
+        <property backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" titleIconPath="" titleText="::IDS_MF_SK3_EDIT" titleTextColor=""/>
+        <itemSet/>
+    </Header>
+    <ListView id="IDC_LISTVIEW1" parent="IDL_EDIT">
+        <property backgroundBitmapPath="" backgroundColor="#FFFFFF" backgroundColorOpacity="0" bitmapPathOfEmptyList="" colorOfEmptyListText="#7C7C7C" fastScroll="false" itemDivider="true" itemDividerColor="" sweepEnabled="false" textOfEmptyList="::IDS_COM_BODY_NO_FILES"/>
+        <layout height="899" mode="Portrait" width="720" x="0" y="112"/>
+        <layout height="186" mode="Landscape" width="996" x="922" y="0"/>
+    </ListView>
+    <IconListView id="IDC_ICONLISTVIEW_THUMBNAILS" parent="IDL_EDIT">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" bitmapPathOfEmptyList="" checkBoxPosition="ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_RIGHT" colorOfEmptyListText="#E5E5E5" highlightedItemTextColor="" itemBitmapHeight="164" itemBitmapWidth="164" itemBorderStyle="ICON_LIST_VIEW_ITEM_BORDER_STYLE_SHADOW" itemHorizontalAlignment="ALIGNMENT_CENTER" itemHorizontalSpacing="10" itemTextHorizontalAlignment="ALIGNMENT_CENTER" itemTextSize="26" itemTextVerticalAlignment="ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_BOTTOM" itemVerticalAlignment="ALIGNMENT_MIDDLE" itemVerticalSpacing="10" magneticScrollSize="0" normalItemTextColor="#000000" pressedItemTextColor="#000000" scrollDirection="ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL" textOfEmptyList="::IDS_COM_BODY_NO_FILES" touchAnimationEnabled="false"/>
+        <layout height="899" mode="Portrait" style="ICON_LIST_VIEW_STYLE_MARK" width="720" x="0" y="112"/>
+        <layout height="132" mode="Landscape" style="ICON_LIST_VIEW_STYLE_MARK" width="684" x="427" y="41"/>
+    </IconListView>
+    <CheckButton id="IDC_CHECKBUTTON_SELECTALL" parent="IDL_EDIT">
+        <property backgroundStyle="BACKGROUND_STYLE_DEFAULT" colorOfText="#000000" colorOfTitleText="" disabledColor="" disabledColorOpacity="100" disabledTextColor="" disabledTitleTextColor="" groupId="0" groupStyle="GROUP_STYLE_NONE" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" highlightedTitleTextColor="" horizontalAlign="ALIGN_LEFT" normalColor="" normalColorOpacity="100" pressedColor="" pressedColorOpacity="100" pressedTextColor="" pressedTitleTextColor="" showTitleText="false" text="::IDS_COM_BODY_SELECT_ALL" titleText="" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="112" mode="Portrait" style="" width="720" x="0" y="0"/>
+        <layout height="108" mode="Landscape" style="" width="499" x="519" y="0"/>
+    </CheckButton>
+</Scene>
diff --git a/res/screen-size-normal/IDL_FILE_EXISTING_POPUP.xml b/res/screen-size-normal/IDL_FILE_EXISTING_POPUP.xml
new file mode 100644 (file)
index 0000000..22ccd51
--- /dev/null
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE ScenePopup SYSTEM "UIForm.dtd">
+<ScenePopup Bversion="3.0.0.201301221116" Dversion="20120315">
+    <Popup id="IDL_FILE_EXISTING_POPUP">
+        <property color="" titleText="" titleTextColor=""/>
+        <layout height="400" mode="Portrait" style="" type="NONE" width="692"/>
+        <layout height="474" mode="Landscape" style="" type="NONE" width="600"/>
+    </Popup>
+    <Label id="IDC_LABEL_POPUP_CENTER_BACKGROUND" parent="IDL_FILE_EXISTING_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="" textColor="" textSize="33" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_TOP"/>
+        <layout height="94" mode="Portrait" width="632" x="10" y="10"/>
+        <layout height="104" mode="Landscape" width="576" x="0" y="0"/>
+    </Label>
+    <Label id="IDC_LABEL_POPUP_BOTTOM_BACKGROUND" parent="IDL_FILE_EXISTING_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="" textColor="" textSize="33" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_TOP"/>
+        <layout height="286" mode="Portrait" width="612" x="20" y="104"/>
+        <layout height="286" mode="Landscape" width="576" x="0" y="104"/>
+    </Label>
+    <Label id="IDC_LABEL_TITLE_TEXT" parent="IDL_FILE_EXISTING_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_CENTER" text="::IDS_POP_SAME_NAME_ALREADY_IN_USE" textColor="" textSize="36" textStyle="LABEL_TEXT_STYLE_BOLD" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="60" mode="Portrait" width="632" x="10" y="27"/>
+        <layout height="60" mode="Landscape" width="544" x="16" y="22"/>
+    </Label>
+    <Button id="IDC_FILE_EXISTING_REPLACE" parent="IDL_FILE_EXISTING_POPUP">
+        <property DisabledBitmapX="0" DisabledBitmapY="0" NormalBitmapX="0" NormalBitmapY="0" PressedBitmapX="0" PressedBitmapY="0" disableTextColor="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="::IDS_MF_BODY_REPLACE_ABB" textSize="33" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="74" mode="Portrait" width="356" x="148" y="120"/>
+        <layout height="74" mode="Landscape" width="356" x="110" y="120"/>
+    </Button>
+    <Button id="IDC_FILE_EXISTING_RENAME" parent="IDL_FILE_EXISTING_POPUP">
+        <property DisabledBitmapX="0" DisabledBitmapY="0" NormalBitmapX="0" NormalBitmapY="0" PressedBitmapX="0" PressedBitmapY="0" disableTextColor="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="::IDS_MF_BODY_RENAME_ABB" textSize="33" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="74" mode="Portrait" width="356" x="148" y="210"/>
+        <layout height="74" mode="Landscape" width="356" x="110" y="210"/>
+    </Button>
+    <Button id="IDC_FILE_EXISTING_CANCEL" parent="IDL_FILE_EXISTING_POPUP">
+        <property DisabledBitmapX="0" DisabledBitmapY="0" NormalBitmapX="0" NormalBitmapY="0" PressedBitmapX="0" PressedBitmapY="0" disableTextColor="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="::IDS_COM_POP_CANCEL" textSize="33" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="74" mode="Portrait" width="356" x="148" y="300"/>
+        <layout height="74" mode="Landscape" width="356" x="110" y="300"/>
+    </Button>
+</ScenePopup>
diff --git a/res/screen-size-normal/IDL_FILE_PROGRESSING_POPUP.xml b/res/screen-size-normal/IDL_FILE_PROGRESSING_POPUP.xml
new file mode 100644 (file)
index 0000000..0ea25c9
--- /dev/null
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE ScenePopup SYSTEM "UIForm.dtd">
+<ScenePopup Bversion="3.0.0.201301181014" Dversion="20120315">
+    <Popup id="IDL_FILE_PROGRESSING_POPUP">
+        <property color="" titleText="" titleTextColor=""/>
+        <layout height="264" mode="Portrait" style="" type="NONE" width="692"/>
+        <layout height="338" mode="Landscape" style="" type="NONE" width="620"/>
+    </Popup>
+    <Label id="IDC_LABEL_POPUP_CENTER_BACKGROUND" parent="IDL_FILE_PROGRESSING_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="" textColor="" textSize="33" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_TOP"/>
+        <layout height="148" mode="Portrait" width="632" x="10" y="10"/>
+        <layout height="158" mode="Landscape" width="596" x="0" y="0"/>
+    </Label>
+    <Label id="IDC_LABEL_POPUP_BOTTOM_BACKGROUND" parent="IDL_FILE_PROGRESSING_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="" textColor="" textSize="33" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_TOP"/>
+        <layout height="96" mode="Portrait" width="612" x="20" y="158"/>
+        <layout height="96" mode="Landscape" width="596" x="0" y="158"/>
+    </Label>
+    <Label id="IDC_ANIMATION_HEADER" parent="IDL_FILE_PROGRESSING_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="" textColor="" textSize="32" textStyle="LABEL_TEXT_STYLE_BOLD" verticalAlign="ALIGN_TOP"/>
+        <layout height="38" mode="Portrait" width="596" x="28" y="25"/>
+        <layout height="38" mode="Landscape" width="564" x="16" y="25"/>
+    </Label>
+    <Progress id="IDC_PROGRESS_BAR" parent="IDL_FILE_PROGRESSING_POPUP">
+        <property backgroundColor="" barColor="" leftText="" max="100" min="0" rightText="" showValueState="true" value="50"/>
+        <layout height="50" mode="Portrait" style="PROGRESS_STYLE_NONE" width="564" x="44" y="62"/>
+        <layout height="16" mode="Landscape" style="PROGRESS_STYLE_NONE" width="532" x="32" y="73"/>
+    </Progress>
+    <Label id="IDC_PERCENTAGE_COMPLETION" parent="IDL_FILE_PROGRESSING_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="" textColor="" textSize="28" textStyle="LABEL_TEXT_STYLE_BOLD" verticalAlign="ALIGN_TOP"/>
+        <layout height="36" mode="Portrait" width="150" x="44" y="97"/>
+        <layout height="36" mode="Landscape" width="150" x="16" y="97"/>
+    </Label>
+    <Label id="IDC_ANIMATION_LABEL" parent="IDL_FILE_PROGRESSING_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="" textColor="" textSize="28" textStyle="LABEL_TEXT_STYLE_BOLD" verticalAlign="ALIGN_TOP"/>
+        <layout height="36" mode="Portrait" width="200" x="408" y="97"/>
+        <layout height="36" mode="Landscape" width="200" x="380" y="97"/>
+    </Label>
+    <Button id="IDC_CANCEL_BUTTON" parent="IDL_FILE_PROGRESSING_POPUP">
+        <property DisabledBitmapX="0" DisabledBitmapY="0" NormalBitmapX="0" NormalBitmapY="0" PressedBitmapX="0" PressedBitmapY="0" disableTextColor="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="::IDS_COM_POP_CANCEL" textSize="33" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="72" mode="Portrait" width="400" x="126" y="170"/>
+        <layout height="72" mode="Landscape" width="400" x="98" y="170"/>
+    </Button>
+</ScenePopup>
diff --git a/res/screen-size-normal/IDL_INSTALLATION_PROGRESS_POPUP.xml b/res/screen-size-normal/IDL_INSTALLATION_PROGRESS_POPUP.xml
new file mode 100644 (file)
index 0000000..f2a2e7e
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE ScenePopup SYSTEM "UIForm.dtd">
+<ScenePopup Bversion="3.0.0.201301181014" Dversion="20120315">
+    <Popup id="IDL_INSTALLATION_PROGRESS_POPUP">
+        <property color="" titleText="" titleTextColor=""/>
+        <layout height="278" mode="Portrait" style="" type="NONE" width="692"/>
+        <layout height="318" mode="Landscape" style="" type="NONE" width="600"/>
+    </Popup>
+    <Label id="IDC_LABEL1" parent="IDL_INSTALLATION_PROGRESS_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_CENTER" text="Installing..." textColor="" textSize="32" textStyle="LABEL_TEXT_STYLE_BOLD" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="260" mode="Portrait" width="632" x="10" y="8"/>
+        <layout height="270" mode="Landscape" width="528" x="0" y="0"/>
+    </Label>
+</ScenePopup>
diff --git a/res/screen-size-normal/IDL_INSTALL_POPUP.xml b/res/screen-size-normal/IDL_INSTALL_POPUP.xml
new file mode 100644 (file)
index 0000000..bea4920
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE ScenePopup SYSTEM "UIForm.dtd">
+<ScenePopup Bversion="3.0.0.201301181014" Dversion="20120315">
+    <Popup id="IDL_INSTALL_POPUP">
+        <property color="" titleText="" titleTextColor=""/>
+        <layout height="376" mode="Portrait" style="" type="NONE" width="692"/>
+        <layout height="448" mode="Landscape" style="" type="NONE" width="600"/>
+    </Popup>
+    <Label id="IDC_LABEL_TOP" parent="IDL_INSTALL_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_CENTER" text="Do you want to install this application?" textColor="#000000" textSize="32" textStyle="LABEL_TEXT_STYLE_BOLD" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="258" mode="Portrait" width="632" x="10" y="10"/>
+        <layout height="268" mode="Landscape" width="576" x="0" y="0"/>
+    </Label>
+    <Label id="IDC_LABEL_BOTTOM" parent="IDL_INSTALL_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="" textColor="" textSize="33" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_TOP"/>
+        <layout height="96" mode="Portrait" width="612" x="20" y="268"/>
+        <layout height="96" mode="Landscape" width="576" x="0" y="268"/>
+    </Label>
+    <Button id="IDC_BUTTON_YES" parent="IDL_INSTALL_POPUP">
+        <property DisabledBitmapX="0" DisabledBitmapY="0" NormalBitmapX="0" NormalBitmapY="0" PressedBitmapX="0" PressedBitmapY="0" disableTextColor="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="::IDS_YES" textSize="33" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="72" mode="Portrait" width="263" x="49" y="279"/>
+        <layout height="72" mode="Landscape" width="263" x="20" y="280"/>
+    </Button>
+    <Button id="IDC_BUTTON_NO" parent="IDL_INSTALL_POPUP">
+        <property DisabledBitmapX="0" DisabledBitmapY="0" NormalBitmapX="0" NormalBitmapY="0" PressedBitmapX="0" PressedBitmapY="0" disableTextColor="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="::IDS_No" textSize="33" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="72" mode="Portrait" width="263" x="336" y="279"/>
+        <layout height="72" mode="Landscape" width="263" x="293" y="280"/>
+    </Button>
+</ScenePopup>
diff --git a/res/screen-size-normal/IDL_ROOT_DIRECTORY.xml b/res/screen-size-normal/IDL_ROOT_DIRECTORY.xml
new file mode 100644 (file)
index 0000000..2509029
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+<Scene Bversion="3.0.0.201211071904" Dversion="20120315">
+    <LogicalCoordinate>720</LogicalCoordinate>
+    <Form id="IDL_ROOT_DIRECTORY">
+        <property backgroundColor="" backgroundColorOpacity="100" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+        <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
+        <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
+    </Form>
+    <Footer>
+        <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_BUTTON_TEXT" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false"/>
+        <itemSet/>
+    </Footer>
+    <Header>
+        <property backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" titleIconPath="" titleText="::IDS_COM_BODY_MY_FILES" titleTextColor=""/>
+        <itemSet/>
+    </Header>
+    <IconListView id="IDC_ICONLISTVIEW_ROOT_THUMBNAILS" parent="IDL_ROOT_DIRECTORY">
+        <property backgroundBitmapPath="" backgroundColor="#FFFFFF" backgroundColorOpacity="0" bitmapPathOfEmptyList="00_Nocontents_text.png" checkBoxPosition="ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_RIGHT" colorOfEmptyListText="#9A9A9A" highlightedItemTextColor="" itemBitmapHeight="164" itemBitmapWidth="164" itemBorderStyle="ICON_LIST_VIEW_ITEM_BORDER_STYLE_SHADOW" itemHorizontalAlignment="ALIGNMENT_CENTER" itemHorizontalSpacing="10" itemTextHorizontalAlignment="ALIGNMENT_CENTER" itemTextSize="26" itemTextVerticalAlignment="ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_BOTTOM" itemVerticalAlignment="ALIGNMENT_MIDDLE" itemVerticalSpacing="10" normalItemTextColor="#000000" pressedItemTextColor="" scrollDirection="ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL" textOfEmptyList="::IDS_COM_BODY_NO_FILES" touchAnimationEnabled="true"/>
+        <layout height="1009" mode="Portrait" style="ICON_LIST_VIEW_STYLE_NORMAL" width="720" x="0" y="0"/>
+        <layout height="124" mode="Landscape" style="ICON_LIST_VIEW_STYLE_NORMAL" width="730" x="177" y="0"/>
+    </IconListView>
+    <ListView id="IDC_LISTVIEW_ROOT_DIRECTORY" parent="IDL_ROOT_DIRECTORY">
+        <property backgroundColor="#FFFFFF" backgroundColorOpacity="0" bitmapPathOfEmptyList="00_Nocontents_text.png" colorOfEmptyListText="#9A9A9A" fastScroll="false" itemDivider="true" itemDividerColor="#BFBFBF" sweepEnabled="false" textOfEmptyList="::IDS_COM_BODY_NO_FILES"/>
+        <layout height="1009" mode="Portrait" width="720" x="0" y="0"/>
+        <layout height="124" mode="Landscape" width="730" x="200" y="0"/>
+    </ListView>
+</Scene>
diff --git a/res/screen-size-normal/IDL_SEARCH.xml b/res/screen-size-normal/IDL_SEARCH.xml
new file mode 100644 (file)
index 0000000..52fb5b4
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+<Scene Bversion="3.0.0.201301181014" Dversion="20120315">
+    <LogicalCoordinate>720</LogicalCoordinate>
+    <Form id="IDL_SEARCH">
+        <property backgroundColor="" backgroundColorOpacity="100" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+        <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
+        <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
+    </Form>
+    <Footer>
+        <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_TAB" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false"/>
+        <itemSet/>
+    </Footer>
+    <Header>
+        <property backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" titleIconPath="" titleText="::IDS_MF_SK3_SEARCH" titleTextColor=""/>
+        <itemSet/>
+    </Header>
+     <ListView id="IDC_SEARCHFORM_LISTVIEW" parent="IDL_SEARCH">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" bitmapPathOfEmptyList="" colorOfEmptyListText="" fastScroll="false" itemDivider="true" itemDividerColor="" sweepEnabled="false" textOfEmptyList="::IDS_COM_BODY_NO_FILES"/>
+        <layout height="901" mode="Portrait" width="720" x="0" y="86"/>
+        <layout height="124" mode="Landscape" width="730" x="513" y="331"/>
+    </ListView>
+    <SearchBar id="IDC_SEARCHFORM_SEARCHBAR" parent="IDL_SEARCH">
+        <property backgroundBitmapPath="" buttonActionId="0" buttonText="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonTextColor="" disabledSearchFieldColor="" disabledSearchFieldTextColor="" ellipsisPosition="ELLIPSIS_POSITION_END" guideText="::IDS_MF_SK3_SEARCH" guideTextColor="" highlightedButtonColor="" highlightedButtonTextColor="" highlightedSearchFieldColor="" highlightedSearchFieldTextColor="" keypadAction="KEYPAD_ACTION_SEARCH" limitLength="500" lowerCaseMode="false" normalButtonColor="" normalButtonTextColor="" normalSearchFieldColor="" normalSearchFieldTextColor="" pressedButtonColor="" pressedButtonTextColor="" searchFieldTextSize="33" showSearchBarButton="true" text="::IDS_MF_SK3_SEARCH" textPredictionEnabled="false"/>
+        <layout height="86" mode="Portrait" width="720" x="0" y="0"/>
+        <layout height="106" mode="Landscape" width="801" x="478" y="0"/>
+    </SearchBar>
+   
+</Scene>
diff --git a/res/screen-size-normal/IDL_SORT_BY_POPUP.xml b/res/screen-size-normal/IDL_SORT_BY_POPUP.xml
new file mode 100644 (file)
index 0000000..9b44ffe
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE ScenePopup SYSTEM "UIForm.dtd">
+<ScenePopup Bversion="3.0.0.201301181014" Dversion="20120315">
+    <Popup id="IDL_SORT_BY_POPUP">
+        <property color="" titleText="::IDS_MF_SK3_SORT_BY" titleTextColor=""/>
+        <layout height="700" mode="Portrait" style="" type="NONE" width="692"/>
+        <layout height="620" mode="Landscape" style="" type="NONE" width="600"/>
+    </Popup>
+    <Button id="IDC_CANCEL_BUTTON" parent="IDL_SORT_BY_POPUP">
+        <property DisabledBitmapX="0" DisabledBitmapY="0" NormalBitmapX="0" NormalBitmapY="0" PressedBitmapX="0" PressedBitmapY="0" disableTextColor="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="::IDS_COM_POP_CANCEL" textSize="33" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="72" mode="Portrait" width="400" x="126" y="524"/>
+        <layout height="72" mode="Landscape" width="400" x="88" y="390"/>
+    </Button>
+    <ListView id="IDC_LISTVIEW_SORT_BY" parent="IDL_SORT_BY_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" bitmapPathOfEmptyList="" colorOfEmptyListText="" fastScroll="false" itemDivider="true" itemDividerColor="" sweepEnabled="false" textOfEmptyList=""/>
+        <layout height="512" mode="Portrait" width="612" x="20" y="0"/>
+        <layout height="378" mode="Landscape" width="576" x="0" y="0"/>
+    </ListView>
+    <Label id="IDC_LABEL_POPUP_BACKGROUND" parent="IDL_SORT_BY_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="" textColor="" textSize="33" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_TOP"/>
+        <layout height="512" mode="Portrait" width="632" x="10" y="0"/>
+        <layout height="378" mode="Landscape" width="576" x="0" y="0"/>
+    </Label>
+    <Label id="IDC_LABEL_PANEL_BACKGROUND" parent="IDL_SORT_BY_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="" textColor="" textSize="33" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_TOP"/>
+        <layout height="96" mode="Portrait" width="612" x="20" y="512"/>
+        <layout height="96" mode="Landscape" width="576" x="0" y="378"/>
+    </Label>
+</ScenePopup>
diff --git a/res/screen-size-normal/IDL_SUB_DIRECTORY.xml b/res/screen-size-normal/IDL_SUB_DIRECTORY.xml
new file mode 100644 (file)
index 0000000..4b79f96
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+
+<Scene Bversion="3.0.0.201302021409" Dversion="20120315">
+    <LogicalCoordinate>720</LogicalCoordinate>
+    <Form id="IDL_SUB_DIRECTORY">
+        <property backgroundColor="" backgroundColorOpacity="100" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="::IDS_COM_BODY_MY_FILES" titleAlign="ALIGN_LEFT" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+        <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_TITLE|FORM_STYLE_FOOTER" type="LAYOUT_RELATIVE"/>
+        <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_TITLE|FORM_STYLE_FOOTER" type="LAYOUT_RELATIVE"/>
+    </Form>
+    <Footer>
+        <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_TAB" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false"/>
+        <itemSet/>
+    </Footer>
+    <Label id="IDC_LABEL_DISPLAY_PATH" parent="IDL_SUB_DIRECTORY">
+        <property backgroundBitmapPath="" backgroundColor="#DFE7EB" backgroundColorOpacity="100" horizontalAlign="ALIGN_LEFT" text="::IDS_DEFAULT_PHONE_DISPLAY" textColor="#A4A4A4" textSize="26" textStyle="LABEL_TEXT_STYLE_BOLD" verticalAlign="ALIGN_MIDDLE"/>
+        <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="48" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="720" x="0" y="0"/>
+        <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="52" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="401" x="878" y="32"/>
+    </Label>
+    <ListView id="IDC_LISTVIEW" parent="IDL_SUB_DIRECTORY">
+        <property backgroundBitmapPath="" backgroundColor="#FFFFFF" backgroundColorOpacity="0" bitmapPathOfEmptyList="00_Nocontents_text.png" colorOfEmptyListText="#9A9A9A" fastScroll="false" itemDivider="true" itemDividerColor="#BFBFBF" sweepEnabled="false" textOfEmptyList="::IDS_COM_BODY_NO_FILES"/>
+        <layout bottomRelation="IDL_SUB_DIRECTORY" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="966" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="IDC_LABEL_DISPLAY_PATH" topRelationType="RECT_EDGE_RELATION_TOP_TO_BOTTOM" verticalFitPolicy="FIT_POLICY_FIXED" width="720" x="0" y="48"/>
+        <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="124" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="730" x="368" y="32"/>
+    </ListView>
+    <IconListView id="IDC_ICONLISTVIEW_SUB_DIRECTORY_THUMBNAILS" parent="IDL_SUB_DIRECTORY">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" bitmapPathOfEmptyList="00_Nocontents_text.png" checkBoxPosition="ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_RIGHT" colorOfEmptyListText="#9A9A9A" highlightedItemTextColor="" itemBitmapHeight="164" itemBitmapWidth="164" itemBorderStyle="ICON_LIST_VIEW_ITEM_BORDER_STYLE_SHADOW" itemHorizontalAlignment="ALIGNMENT_CENTER" itemHorizontalSpacing="10" itemTextHorizontalAlignment="ALIGNMENT_CENTER" itemTextSize="26" itemTextVerticalAlignment="ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_BOTTOM" itemVerticalAlignment="ALIGNMENT_MIDDLE" itemVerticalSpacing="10" magneticScrollSize="0" normalItemTextColor="#000000" pressedItemTextColor="#000000" scrollDirection="ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL" textOfEmptyList="::IDS_COM_BODY_NO_FILES" touchAnimationEnabled="true"/>
+        <layout bottomRelation="IDL_SUB_DIRECTORY" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="966" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Portrait" rightRelation="" rightRelationType="" style="ICON_LIST_VIEW_STYLE_NORMAL" topRelation="IDC_LABEL_DISPLAY_PATH" topRelationType="RECT_EDGE_RELATION_TOP_TO_BOTTOM" verticalFitPolicy="FIT_POLICY_FIXED" width="720" x="0" y="48"/>
+        <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="124" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Landscape" rightRelation="" rightRelationType="" style="ICON_LIST_VIEW_STYLE_NORMAL" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="707" x="572" y="32"/>
+    </IconListView>
+</Scene>
diff --git a/res/screen-size-normal/IDL_SUB_FOLDER_FILE_SELECTION.xml b/res/screen-size-normal/IDL_SUB_FOLDER_FILE_SELECTION.xml
new file mode 100644 (file)
index 0000000..32ba326
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+<Scene Bversion="3.0.0.201211071904" Dversion="20120315">
+    <LogicalCoordinate>720</LogicalCoordinate>
+    <Form id="IDL_SUB_FOLDER_FILE_SELECTION">
+        <property backgroundColor="" backgroundColorOpacity="100" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="::IDS_COM_BODY_MY_FILES" titleAlign="ALIGN_LEFT" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+        <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_TITLE|FORM_STYLE_FOOTER" type="NONE"/>
+        <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_TITLE|FORM_STYLE_FOOTER" type="NONE"/>
+    </Form>
+    <Footer>
+        <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_TAB" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false"/>
+        <itemSet/>
+    </Footer>
+    <ListView id="IDC_SUB_FOLDER_SELECTION_LISTVIEW" parent="IDL_SUB_FOLDER_FILE_SELECTION">
+        <property backgroundColor="#FFFFFF" backgroundColorOpacity="0" bitmapPathOfEmptyList="00_Nocontents_text.png" colorOfEmptyListText="#9A9A9A" fastScroll="false" itemDivider="true" itemDividerColor="#BFBFBF" sweepEnabled="false" textOfEmptyList="::IDS_COM_BODY_NO_FILES"/>
+        <layout height="960" mode="Portrait" width="720" x="0" y="48"/>
+        <layout height="124" mode="Landscape" width="730" x="368" y="32"/>
+    </ListView>
+    <Label id="IDC_SUB_FOLDER_SELECTION_LABEL_DISPLAY_PATH" parent="IDL_SUB_FOLDER_FILE_SELECTION">
+        <property backgroundBitmapPath="" backgroundColor="#DFE7EB" backgroundColorOpacity="100" horizontalAlign="ALIGN_LEFT" text="" textColor="#A4A4A4" textSize="26" textStyle="LABEL_TEXT_STYLE_BOLD" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="48" mode="Portrait" width="720" x="0" y="0"/>
+        <layout height="52" mode="Landscape" width="401" x="878" y="32"/>
+    </Label>
+</Scene>
diff --git a/res/screen-size-normal/IDL_SUB_FOLDER_MOVE_COPY.xml b/res/screen-size-normal/IDL_SUB_FOLDER_MOVE_COPY.xml
new file mode 100644 (file)
index 0000000..1edb843
--- /dev/null
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+
+<Scene Bversion="3.0.0.201302021409" Dversion="20120315">
+    <LogicalCoordinate>720</LogicalCoordinate>
+    <Form id="IDL_SUB_FOLDER_MOVE_COPY">
+        <property backgroundColor="" backgroundColorOpacity="100" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="::IDS_COM_BODY_MY_FILES" titleAlign="ALIGN_LEFT" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+        <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_TITLE|FORM_STYLE_FOOTER" type="LAYOUT_RELATIVE"/>
+        <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_TITLE|FORM_STYLE_FOOTER" type="LAYOUT_RELATIVE"/>
+    </Form>
+    <Footer>
+        <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_TAB" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false"/>
+        <itemSet/>
+    </Footer>
+    <Label id="IDC_LABEL_DISPLAY_PATH" parent="IDL_SUB_FOLDER_MOVE_COPY">
+        <property backgroundBitmapPath="" backgroundColor="#DFE7EB" backgroundColorOpacity="100" horizontalAlign="ALIGN_LEFT" text="::IDS_DEFAULT_PHONE_DISPLAY" textColor="#A4A4A4" textSize="26" textStyle="LABEL_TEXT_STYLE_BOLD" verticalAlign="ALIGN_MIDDLE"/>
+        <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="48" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="720" x="0" y="0"/>
+        <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="52" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="533" x="209" y="32"/>
+    </Label>
+    <ListView id="IDC_LISTVIEW1" parent="IDL_SUB_FOLDER_MOVE_COPY">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" bitmapPathOfEmptyList="00_Nocontents_text.png" colorOfEmptyListText="#9A9A9A" fastScroll="false" itemDivider="true" itemDividerColor="" sweepEnabled="false" textOfEmptyList="::IDS_COM_BODY_NO_FILES"/>
+        <layout bottomRelation="IDL_SUB_FOLDER_MOVE_COPY" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="886" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="IDC_LABEL_DISPLAY_PATH" topRelationType="RECT_EDGE_RELATION_TOP_TO_BOTTOM" verticalFitPolicy="FIT_POLICY_FIXED" width="720" x="0" y="48"/>
+        <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="44" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="421" x="858" y="420"/>
+    </ListView>
+    <IconListView id="IDC_ICONLISTVIEW_SUB_THUMBNAILS" parent="IDL_SUB_FOLDER_MOVE_COPY">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" bitmapPathOfEmptyList="00_Nocontents_text.png" checkBoxPosition="ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_RIGHT" colorOfEmptyListText="#9A9A9A" highlightedItemTextColor="" itemBitmapHeight="164" itemBitmapWidth="164" itemBorderStyle="ICON_LIST_VIEW_ITEM_BORDER_STYLE_SHADOW" itemHorizontalAlignment="ALIGNMENT_CENTER" itemHorizontalSpacing="10" itemTextHorizontalAlignment="ALIGNMENT_CENTER" itemTextSize="26" itemTextVerticalAlignment="ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_BOTTOM" itemVerticalAlignment="ALIGNMENT_MIDDLE" itemVerticalSpacing="10" magneticScrollSize="0" normalItemTextColor="#000000" pressedItemTextColor="#FFFFFF" scrollDirection="ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL" textOfEmptyList="::IDS_COM_BODY_NO_FILES" touchAnimationEnabled="true"/>
+        <layout bottomRelation="IDL_SUB_FOLDER_MOVE_COPY" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="886" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Portrait" rightRelation="" rightRelationType="" style="ICON_LIST_VIEW_STYLE_NORMAL" topRelation="IDC_LABEL_DISPLAY_PATH" topRelationType="RECT_EDGE_RELATION_TOP_TO_BOTTOM" verticalFitPolicy="FIT_POLICY_FIXED" width="720" x="0" y="48"/>
+        <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="124" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Landscape" rightRelation="" rightRelationType="" style="ICON_LIST_VIEW_STYLE_NORMAL" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="730" x="336" y="44"/>
+    </IconListView>
+</Scene>
diff --git a/res/screen-size-normal/IDL_TOP_MOST_FILE_SELECTION.xml b/res/screen-size-normal/IDL_TOP_MOST_FILE_SELECTION.xml
new file mode 100644 (file)
index 0000000..ad68beb
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+
+<Scene Bversion="3.0.0.201302021409" Dversion="20120315">
+    <LogicalCoordinate>720</LogicalCoordinate>
+    <Form id="IDL_TOP_MOST_FILE_SELECTION">
+        <property backgroundColor="" backgroundColorOpacity="100" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+        <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
+        <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="NONE"/>
+    </Form>
+    <Footer>
+        <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_BUTTON_TEXT" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false"/>
+        <itemSet/>
+    </Footer>
+    <Header>
+        <property backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" titleIconPath="" titleText="::IDS_COM_BODY_MY_FILES" titleTextColor=""/>
+        <itemSet/>
+    </Header>
+    <ListView id="IDC_TOP_MOST_SELECTION_LISTVIEW" parent="IDL_TOP_MOST_FILE_SELECTION">
+        <property backgroundBitmapPath="" backgroundColor="#FFFFFF" backgroundColorOpacity="0" bitmapPathOfEmptyList="00_Nocontents_text.png" colorOfEmptyListText="#9A9A9A" fastScroll="false" itemDivider="true" itemDividerColor="#BFBFBF" sweepEnabled="false" textOfEmptyList="::IDS_COM_BODY_NO_FILES"/>
+        <layout height="1011" mode="Portrait" width="720" x="0" y="0"/>
+        <layout height="124" mode="Landscape" width="730" x="200" y="0"/>
+    </ListView>
+    <CheckButton id="IDC_CHECK_BUTTON_APP_CONTROL" parent="IDL_TOP_MOST_FILE_SELECTION">
+        <property backgroundStyle="BACKGROUND_STYLE_DEFAULT" colorOfText="#000000" colorOfTitleText="" disabledColor="" disabledColorOpacity="100" disabledTextColor="" disabledTitleTextColor="" groupId="0" groupStyle="GROUP_STYLE_NONE" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" highlightedTitleTextColor="" horizontalAlign="ALIGN_LEFT" normalColor="" normalColorOpacity="100" pressedColor="" pressedColorOpacity="100" pressedTextColor="" pressedTitleTextColor="" showTitleText="false" text="::IDS_COM_BODY_SELECT_ALL" titleText="" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="150" mode="Portrait" style="" width="720" x="0" y="0"/>
+        <layout height="108" mode="Landscape" style="" width="533" x="85" y="0"/>
+    </CheckButton>
+</Scene>
diff --git a/res/screen-size-normal/IDL_TOP_MOST_MOVE_COPY.xml b/res/screen-size-normal/IDL_TOP_MOST_MOVE_COPY.xml
new file mode 100644 (file)
index 0000000..804b90f
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+
+<Scene Bversion="3.0.0.201302021409" Dversion="20120315">
+    <LogicalCoordinate>720</LogicalCoordinate>
+    <Form id="IDL_TOP_MOST_MOVE_COPY">
+        <property backgroundColor="" backgroundColorOpacity="100" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+        <layout mode="Portrait" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="LAYOUT_RELATIVE"/>
+        <layout mode="Landscape" style="FORM_STYLE_INDICATOR|FORM_STYLE_HEADER|FORM_STYLE_FOOTER" type="LAYOUT_RELATIVE"/>
+    </Form>
+    <Footer>
+        <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_TAB" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false"/>
+        <itemSet/>
+    </Footer>
+    <Header>
+        <property backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" titleIconPath="" titleText="My files" titleTextColor=""/>
+        <itemSet/>
+    </Header>
+    <ListView id="IDC_LISTVIEW1" parent="IDL_TOP_MOST_MOVE_COPY">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" bitmapPathOfEmptyList="00_Nocontents_text.png" colorOfEmptyListText="#9A9A9A" fastScroll="false" itemDivider="true" itemDividerColor="" sweepEnabled="false" textOfEmptyList="::IDS_COM_BODY_NO_FILES"/>
+        <layout bottomRelation="IDL_TOP_MOST_MOVE_COPY" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="1011" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="IDL_TOP_MOST_MOVE_COPY" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_FIXED" width="720" x="0" y="0"/>
+        <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="124" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="652" x="627" y="0"/>
+    </ListView>
+    <IconListView id="IDC_ICONLISTVIEW_ROOT_THUMBNAILS" parent="IDL_TOP_MOST_MOVE_COPY">
+        <property backgroundBitmapPath="" backgroundColor="#FFFFFF" backgroundColorOpacity="0" bitmapPathOfEmptyList="00_Nocontents_text.png" checkBoxPosition="ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_RIGHT" colorOfEmptyListText="#9A9A9A" highlightedItemTextColor="" itemBitmapHeight="164" itemBitmapWidth="164" itemBorderStyle="ICON_LIST_VIEW_ITEM_BORDER_STYLE_SHADOW" itemHorizontalAlignment="ALIGNMENT_CENTER" itemHorizontalSpacing="10" itemTextHorizontalAlignment="ALIGNMENT_CENTER" itemTextSize="26" itemTextVerticalAlignment="ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_BOTTOM" itemVerticalAlignment="ALIGNMENT_MIDDLE" itemVerticalSpacing="10" magneticScrollSize="0" normalItemTextColor="#000000" pressedItemTextColor="#FFFFFF" scrollDirection="ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL" textOfEmptyList="::IDS_COM_BODY_NO_FILES" touchAnimationEnabled="true"/>
+        <layout bottomRelation="IDL_TOP_MOST_MOVE_COPY" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="1011" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Portrait" rightRelation="" rightRelationType="" style="ICON_LIST_VIEW_STYLE_NORMAL" topRelation="IDL_TOP_MOST_MOVE_COPY" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_FIXED" width="720" x="0" y="0"/>
+        <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="124" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" mode="Landscape" rightRelation="" rightRelationType="" style="ICON_LIST_VIEW_STYLE_NORMAL" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="730" x="389" y="68"/>
+    </IconListView>
+</Scene>
diff --git a/res/screen-size-normal/IDL_VIEW_AS_POPUP.xml b/res/screen-size-normal/IDL_VIEW_AS_POPUP.xml
new file mode 100644 (file)
index 0000000..17e6740
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+       This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE ScenePopup SYSTEM "UIForm.dtd">
+<ScenePopup Bversion="3.0.0.201301181014" Dversion="20120315">
+    <Popup id="IDL_VIEW_AS_POPUP">
+        <property color="" titleText="::IDS_MF_OPT_VIEW_AS" titleTextColor=""/>
+        <layout height="440" mode="Portrait" style="" type="NONE" width="692"/>
+        <layout height="450" mode="Landscape" style="" type="NONE" width="600"/>
+    </Popup>
+    <Label id="IDC_LABEL_POPUP_BACKGROUND" parent="IDL_VIEW_AS_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="" textColor="" textSize="33" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_TOP"/>
+        <layout height="255" mode="Portrait" width="632" x="10" y="0"/>
+        <layout height="255" mode="Landscape" width="576" x="0" y="0"/>
+    </Label>
+    <ListView id="IDC_LISTVIEW_VIEW_AS" parent="IDL_VIEW_AS_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" bitmapPathOfEmptyList="" colorOfEmptyListText="" fastScroll="false" itemDivider="true" itemDividerColor="" sweepEnabled="false" textOfEmptyList="::IDS_COM_BODY_NO_FILES"/>
+        <layout height="255" mode="Portrait" width="612" x="20" y="0"/>
+        <layout height="255" mode="Landscape" width="576" x="0" y="0"/>
+    </ListView>
+    <Label id="IDC_LABEL_BOTTOM_BACKGROUND" parent="IDL_VIEW_AS_POPUP">
+        <property backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" text="" textColor="" textSize="33" textStyle="LABEL_TEXT_STYLE_NORMAL" verticalAlign="ALIGN_TOP"/>
+        <layout height="96" mode="Portrait" width="612" x="20" y="255"/>
+        <layout height="96" mode="Landscape" width="576" x="0" y="255"/>
+    </Label>
+    <Button id="IDC_CANCEL_BUTTON" parent="IDL_VIEW_AS_POPUP">
+        <property DisabledBitmapX="0" DisabledBitmapY="0" NormalBitmapX="0" NormalBitmapY="0" PressedBitmapX="0" PressedBitmapY="0" disableTextColor="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="::IDS_COM_POP_CANCEL" textSize="33" verticalAlign="ALIGN_MIDDLE"/>
+        <layout height="72" mode="Portrait" width="400" x="126" y="267"/>
+        <layout height="72" mode="Landscape" width="400" x="98" y="267"/>
+    </Button>
+</ScenePopup>
diff --git a/res/slk-SK.xml b/res/slk-SK.xml
new file mode 100644 (file)
index 0000000..405bb20
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Kopírovanie sa nepodarilo</text>\r
+    <text id="IDS_COM_OPT_FILES">Súbory</text>\r
+    <text id="IDS_COM_POP_FOLDER">Priečinok</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Exter. úložný priestor</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Názov priečinka</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Zoradiť podľa</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Vybrať všetky</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Odstrániť</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Vybraté údaje sa nenašli</text>\r
+    <text id="IDS_MF_SK3_EDIT">Upraviť</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Správa</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Veľkosť e-mailu</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Moje súbory</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Dátum (najnovšie)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Typ</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Zobraziť príponu súboru</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Zoznam</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Uložiť</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Obsahuje</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Vytvoriť priečinok</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importovať</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Zrušiť</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Zoradiť podľa</text>\r
+    <text id="IDS_MF_SK3_DELETE">Odstrániť</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Vybrané</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Prilepiť sem</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Obrázky</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Žiadne súbory</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Zoznam a podrobnosti</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Vytvoriť priečinok</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Nie</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Zobrazenie miniatúr</text>\r
+    <text id="IDS_MF_SK3_COPY">Kopírovať</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Domov</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">kB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefón</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Dátum vytvorenia</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Vybrať súbory</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Zavrieť</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Hľadať</text>\r
+    <text id="IDS_COM_BODY_SIZE">Veľkosť</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Nahradiť</text>\r
+    <text id="IDS_MF_TAB_UP">Hore</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Zdieľať</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formát</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Rozlíšenie</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-mail</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Dátum (najstaršie)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Vytvoriť priečinok</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Rovnaký názov sa už používa</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Odstraňovanie...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Presunutie sa nepodarilo</text>\r
+    <text id="IDS_MF_SK_DETAILS">Podrobnosti</text>\r
+    <text id="IDS_MF_POP_COPYING">Kopírovanie...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Názov (od A po Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Miesto</text>\r
+    <text id="IDS_COM_POP_MOVING">Presúvanie...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Názov (od Z po A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Skryť príponu súboru</text>\r
+    <text id="IDS_MORE">Ďalšie</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Zobraziť ako</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Hľadať vo všet. prieč.</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Exter. úložný priestor</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Zdieľať</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Pamäťová karta</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Prem.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Priečinky</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Presunúť sem</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Presun.</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Meno</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Prilepiť sem</text>\r
+    <text id="IDS_COM_POP_ATTACH">Pripojiť</text>\r
+    <text id="IDS_YES">Áno</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Prilepiť sem</text>\r
+    <text id="IDS_COM_BODY_DONE">Hotovo</text>\r
+</string_table>\r
diff --git a/res/slv-SI.xml b/res/slv-SI.xml
new file mode 100644 (file)
index 0000000..34a6138
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Kopiranje ni uspelo</text>\r
+    <text id="IDS_COM_OPT_FILES">Datoteke</text>\r
+    <text id="IDS_COM_POP_FOLDER">Mapa</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Zunanji pomnilnik</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Ime mape</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Razvrsti po</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Izberi vse</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Izbriši</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Izbranih podatkov ni mogoče najti</text>\r
+    <text id="IDS_MF_SK3_EDIT">Uredi</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Sporočilo</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Velikost e-pošte</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Moje datoteke</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Datum (Najnovejši)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Vrsta</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Prikaži končnico datoteke</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Seznam</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Shrani</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Vsebuje</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Ustvari mapo</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Uvoz</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Prekliči</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Razvrsti po</text>\r
+    <text id="IDS_MF_SK3_DELETE">Izbriši</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Izbrano</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Prilepi sem</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Slike</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Ni datotek</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Seznam in podrobnosti</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Ustvari mapo</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Ne</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Prikaz sličice</text>\r
+    <text id="IDS_MF_SK3_COPY">Kopiraj</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Domov</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefon</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Datum ustvarjanja</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Izberi datoteke.</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Zapri</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Iskanje</text>\r
+    <text id="IDS_COM_BODY_SIZE">Velikost</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Zamenjaj</text>\r
+    <text id="IDS_MF_TAB_UP">Gor</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Soupor.</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formatiraj</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Ločljivost</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-pošta</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Datum (Najstarejši)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Ustvari mapo</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">XXX se že uporablja</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Brišem</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Premikanje ni uspelo</text>\r
+    <text id="IDS_MF_SK_DETAILS">Podrob.</text>\r
+    <text id="IDS_MF_POP_COPYING">Kopiram ...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Ime (od A proti Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Lokacija</text>\r
+    <text id="IDS_COM_POP_MOVING">Premikam</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Ime (od Z proti A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Skrij pripono datoteke</text>\r
+    <text id="IDS_MORE">Več</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Prikaži kot</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Iskanje po vseh mapah</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Zunanji pomnilnik</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Soupor.</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Pomniln. kartica</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Preim.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Mape</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Premakni sem</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Premik</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Ime</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Prilepi sem</text>\r
+    <text id="IDS_COM_POP_ATTACH">Dodaj</text>\r
+    <text id="IDS_YES">Da</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Prilepi sem</text>\r
+    <text id="IDS_COM_BODY_DONE">Končano</text>\r
+</string_table>\r
diff --git a/res/spa-ES.xml b/res/spa-ES.xml
new file mode 100644 (file)
index 0000000..f2ad806
--- /dev/null
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Error al copiar</text>\r
+    <text id="IDS_COM_OPT_FILES">Archivos</text>\r
+    <text id="IDS_COM_POP_FOLDER">Carpeta</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Almacenamiento externo</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Nombre de carpeta</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Ordenar por</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Seleccionar todo</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Eliminar</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Datos seleccionados no encontrados</text>\r
+    <text id="IDS_MF_SK3_EDIT">Editar</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Mensajes</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Tamaño de email</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Mis archivos</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Fecha (más reciente)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Tipo</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Mostrar extensiones de los archivos</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Lista</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Guardar</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Contiene</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Crear carpeta</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importar</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Cancelar</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Ordenar por</text>\r
+    <text id="IDS_MF_SK3_DELETE">Eliminar</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Seleccionado</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Pegar aquí</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Imágenes</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Ningún archivo</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Lista y detalles</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Crear carpeta</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">No</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Vista en miniatura</text>\r
+    <text id="IDS_MF_SK3_COPY">Copiar</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Inicio</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Teléfono</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Fecha creada</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Seleccionar archivos</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Cerrar</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Buscar</text>\r
+    <text id="IDS_COM_BODY_SIZE">Tamaño</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Reempl</text>\r
+    <text id="IDS_MF_TAB_UP">Arriba</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Compartir</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formatear</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Resolución</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Correo electrónico</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Fecha (más antiguo)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Crear carpeta</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">El mismo nombre ya está en uso\r
+</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Eliminando...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Error al mover</text>\r
+    <text id="IDS_MF_SK_DETAILS">Detalles</text>\r
+    <text id="IDS_MF_POP_COPYING">Copiando...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Nombre (A a Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Ubicación</text>\r
+    <text id="IDS_COM_POP_MOVING">Moviendo...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Nombre (Z a A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Ocultar ext archivo</text>\r
+    <text id="IDS_MORE">Más</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Ver como</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Buscar todas las carp.</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Almacenamiento externo</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Compartir</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Tarjeta memoria</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Renomb</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Carpetas</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Mover aquí</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Mover</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Nombre</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Pegar aquí</text>\r
+    <text id="IDS_COM_POP_ATTACH">Adjuntar</text>\r
+    <text id="IDS_YES">Sí</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Pegar aquí</text>\r
+    <text id="IDS_COM_BODY_DONE">Guardar</text>\r
+</string_table>\r
diff --git a/res/spa-US.xml b/res/spa-US.xml
new file mode 100644 (file)
index 0000000..e2a5eb2
--- /dev/null
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+--><string_table Bversion="3.0.0.201211071904" Dversion="20120315">\r
+    <text id="IDS_COM_OPT_FILES">Archivos</text>\r
+    <text id="IDS_COM_POP_FOLDER">Carpeta</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Almacenamiento externo</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Nombre de carpeta</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Ordenar por</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Seleccionar todo</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Eliminar</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">No se encontraron los datos seleccionados</text>\r
+    <text id="IDS_MF_SK3_EDIT">Editar</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Mensaje</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Tamaño de correo</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Mis Archivos</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Fecha (más reciente)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Tipo</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Mostrar extensión del archivo</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Lista</text>\r
+    <text id="IDS_COM_OPT_SAVE">Guardar</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Contenido</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Crear carpeta</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importar</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Cancelar</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Ordenar por</text>\r
+    <text id="IDS_MF_SK3_DELETE">Eliminar</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Seleccionado</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Pegar aquí</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Imágenes</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Ningún archivo</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Lista y detalles</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Crear carpeta</text>\r
+    <text id="IDS_No">No</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_SK3_COPY">Copiar</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Inicio</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Teléfono</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Crear fecha</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Select Files</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Cerrar</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Buscar</text>\r
+    <text id="IDS_COM_BODY_SIZE">Tamaño</text>\r
+    <text id="IDS_MF_TAB_UP">Arriba</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Compartir</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Formatear</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Resolución</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Email</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Fecha (más antigua)</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Crear carpeta</text>\r
+    <text id="IDS_COM_POP_DELETING">Eliminando...</text>\r
+    <text id="IDS_MF_SK_DETAILS">Detalles</text>\r
+    <text id="IDS_MF_POP_COPYING">Copiando...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Nombre (A a Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Ubicación</text>\r
+    <text id="IDS_COM_POP_MOVING">Moviendo…</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Nombre (Z a A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Ocultar ext. del arch.</text>\r
+    <text id="IDS_MORE">More</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Ver por</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Compartir</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Almacenamiento externo</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Renomb</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Tarjeta de memoria</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Carpetas</text>\r
+    <text id="IDS_THUMBNAILS">Thumbnail</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Mover aquí</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Directo</text>\r
+    <text id="IDS_MF_SK3_MOVE">Mover</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Nombre</text>\r
+    <text id="IDS_YES">Yes</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Pegar aquí</text>\r
+    <text id="IDS_COM_POP_ATTACH">Adjuntar</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Pegar aquí</text>\r
+    <text id="IDS_COM_BODY_DONE">Realizado</text>\r
+</string_table>\r
diff --git a/res/srp-RS.xml b/res/srp-RS.xml
new file mode 100644 (file)
index 0000000..ca723a7
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Kopiranje neuspešno</text>\r
+    <text id="IDS_COM_OPT_FILES">Fajlovi</text>\r
+    <text id="IDS_COM_POP_FOLDER">Folder</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Spoljna memorija</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Naziv foldera</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Sortiraj po</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Izaberi sve</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Obriši</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Nema izabranih podataka</text>\r
+    <text id="IDS_MF_SK3_EDIT">Izmeni</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Poruka</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Veličina e-poruke</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Moji fajlovi</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Datumu (najnovije)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Tip</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Prikaži ekstenziju fajla</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Lista</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Sačuvaj</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Sadrži</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Kreiraj folder</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Uvezi</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Poništi</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Sortiraj po</text>\r
+    <text id="IDS_MF_SK3_DELETE">Obriši</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Označeno</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Zalepi ovde</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Slike</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Nema fajlova</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Lista sa detaljima</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Kreiraj folder</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Ne</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Indeksni prikaz</text>\r
+    <text id="IDS_MF_SK3_COPY">Kopiraj</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Početak</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefon</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Datum kreiranja</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Izaberi fajlove</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Zatvori</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Pretraga</text>\r
+    <text id="IDS_COM_BODY_SIZE">Veličina</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Zameni</text>\r
+    <text id="IDS_MF_TAB_UP">Gore</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Podeli</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Format</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Rezolucija</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-pošta</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Datumu (najstarije)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Kreiraj folder</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Taj naziv je već u upotrebi</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Brisanje...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Premeštanje neuspešno</text>\r
+    <text id="IDS_MF_SK_DETAILS">Detalji</text>\r
+    <text id="IDS_MF_POP_COPYING">Kopiranje...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Ime (od A do Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Lokacija</text>\r
+    <text id="IDS_COM_POP_MOVING">Premeštanje</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Ime (od Z do A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Sakrij det. tipa fajla</text>\r
+    <text id="IDS_MORE">Još</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Videti kao</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Pretraži sve foldere</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Spoljna memorija</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Podeli</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Memor. kartica</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Preim.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Folderi</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Premesti ovde</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Premesti</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Ime</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Zalepi ovde</text>\r
+    <text id="IDS_COM_POP_ATTACH">Priloži</text>\r
+    <text id="IDS_YES">Da</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Zalepi ovde</text>\r
+    <text id="IDS_COM_BODY_DONE">Gotovo</text>\r
+</string_table>\r
diff --git a/res/swe-SE.xml b/res/swe-SE.xml
new file mode 100644 (file)
index 0000000..42ed750
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Kopieringen misslyckades</text>\r
+    <text id="IDS_COM_OPT_FILES">Filer</text>\r
+    <text id="IDS_COM_POP_FOLDER">Mapp</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Externt minne</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Mappnamn</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Sortera efter</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Välj alla</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Radera</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Valda data hittades inte</text>\r
+    <text id="IDS_MF_SK3_EDIT">Redigera</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Meddelande</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">E-poststorlek</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Mina filer</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Datum (senaste)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Typ</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Visa filtillägg</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Lista</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Spara</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Innehåller</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Skapa mapp</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Importera</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Avbryt</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Sortera efter</text>\r
+    <text id="IDS_MF_SK3_DELETE">Radera</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Markerade</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Klistra in här</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Bilder</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Inga filer</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Lista och information</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Skapa mapp</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Nej</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Miniatyrer</text>\r
+    <text id="IDS_MF_SK3_COPY">Kopiera</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Hem</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefon</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Skapad den</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Välj filer</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Stäng</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Sök</text>\r
+    <text id="IDS_COM_BODY_SIZE">Storlek</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Ersätt</text>\r
+    <text id="IDS_MF_TAB_UP">Uppåt</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Dela</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Format</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Upplösning</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-post</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Datum (äldsta)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Skapa mapp</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Detta namn används redan</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Raderar...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Det gick inte att flytta</text>\r
+    <text id="IDS_MF_SK_DETAILS">Info</text>\r
+    <text id="IDS_MF_POP_COPYING">Kopierar...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Namn (A till Ö)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Plats</text>\r
+    <text id="IDS_COM_POP_MOVING">Flyttar...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Namn (Ö till A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Dölj filtillägg</text>\r
+    <text id="IDS_MORE">Mer</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Visa som</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Sök i alla mappar</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Externt minne</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Dela</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Minneskort</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Namnb.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Mappar</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Flytta hit</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Flytta</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Namn</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Klistra in här</text>\r
+    <text id="IDS_COM_POP_ATTACH">Bifoga</text>\r
+    <text id="IDS_YES">Ja</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Klistra in här</text>\r
+    <text id="IDS_COM_BODY_DONE">Klar</text>\r
+</string_table>\r
diff --git a/res/tur-TR.xml b/res/tur-TR.xml
new file mode 100644 (file)
index 0000000..e4911ac
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Kopyalama başarısız</text>\r
+    <text id="IDS_COM_OPT_FILES">Dosya</text>\r
+    <text id="IDS_COM_POP_FOLDER">Klasör</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Harici bellek</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Klasör adı</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Sırala</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Hepsini seç</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Sil</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Seçili veriler bulunamadı</text>\r
+    <text id="IDS_MF_SK3_EDIT">Düzenle</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Mesaj</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">E-posta boyutu</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Dosyalarım</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Tarih (En yeni)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Tür</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Dosya uzantılarını göster</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Listele</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Kaydet</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">İçindekiler</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Klasör oluştur</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Dışardan al</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">İptal</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Sırala</text>\r
+    <text id="IDS_MF_SK3_DELETE">Sil</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Seçili</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Buraya yapıştır</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Resimler</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Dosya yok</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Liste ve ayrıntılar</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Klasör oluştur</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Hayır</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Küçük resim görünümü</text>\r
+    <text id="IDS_MF_SK3_COPY">Kopyala</text>\r
+    <text id="IDS_MF_BUTTON_HOME">A.Syf</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefon</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Oluşturulma tarihi</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Dosyaları seçin</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Kapat</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Bul</text>\r
+    <text id="IDS_COM_BODY_SIZE">Boyut</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Değiştir</text>\r
+    <text id="IDS_MF_TAB_UP">Yukarı</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Paylaş</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Biçimlendir</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Çözünürlük</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-posta</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Tarih (En eski)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Klasör oluştur</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">İsim zaten kullanımda</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Siliniyor...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Taşıma başarısız</text>\r
+    <text id="IDS_MF_SK_DETAILS">Ayrıntılar</text>\r
+    <text id="IDS_MF_POP_COPYING">Kopyalanıyor...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Ad (A'dan Z'ye)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Konum</text>\r
+    <text id="IDS_COM_POP_MOVING">Taşıyor...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Ad (Z'den A'ya)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Dosya uzntılrını gizle</text>\r
+    <text id="IDS_MORE">Diğer</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Başka adla görüntüle</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Tüm klasörleri ara</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Harici bellek</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Paylaş</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Hafıza kartı</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Y. adl</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Klasörler</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Buraya taşı</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Taşı</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">İsim</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Buraya yapıştır</text>\r
+    <text id="IDS_COM_POP_ATTACH">Ekle</text>\r
+    <text id="IDS_YES">Evet</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Buraya yapıştır</text>\r
+    <text id="IDS_COM_BODY_DONE">Tamamlandı</text>\r
+</string_table>\r
diff --git a/res/ukr-UA.xml b/res/ukr-UA.xml
new file mode 100644 (file)
index 0000000..a5e410e
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Збій копіювання</text>\r
+    <text id="IDS_COM_OPT_FILES">Файли</text>\r
+    <text id="IDS_COM_POP_FOLDER">Папка</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Зовн. місце збереження</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Ім'я папки</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Сорт. за</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Вибрати всі</text>\r
+    <text id="IDS_MF_SK3_DELETE1">Видал.</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Вибрані дані не знайдено</text>\r
+    <text id="IDS_MF_SK3_EDIT">Редагу-\nвати</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Повідомлення</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">Розмір повідомлення Email</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Мої файли</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Дата (остання)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Тип</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Показати розширення файла</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Список</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">Зберегти</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Містить</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Створити папку</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Імпортувати</text>\r
+    <text id="IDS_COM_BODY_MB">МБ</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Скасувати</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Сорт. за</text>\r
+    <text id="IDS_MF_SK3_DELETE">Видал.</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Вибране</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Вставити сюди</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Зображення</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Немає файлів</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Список і відомості</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Створити папку</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Ні</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Ескіз</text>\r
+    <text id="IDS_MF_SK3_COPY">Копіювати</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Домашній</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">КБ</text>\r
+    <text id="IDS_MF_TAB_PHONE">Телефон</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Дата створення</text>\r
+    <text id="IDS_COM_BODY_B">Б</text>\r
+    <text id="IDS_SELECT_FILES">Виберіть файли</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Закрити</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Пошук</text>\r
+    <text id="IDS_COM_BODY_SIZE">Розмір</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Замінити</text>\r
+    <text id="IDS_MF_TAB_UP">Вгору</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Сп.д.</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Форматувати</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Роздільна здатність</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">Email</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Дата (найдавніша)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Створити папку</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Ім’я вже використовується</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">Видалення...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Збій переміщення</text>\r
+    <text id="IDS_MF_SK_DETAILS">Деталі</text>\r
+    <text id="IDS_MF_POP_COPYING">Копіювання...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Назва (А-Я)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Розташування</text>\r
+    <text id="IDS_COM_POP_MOVING">Переміщення...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Назва (Я-А)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Приховати розшир.файлу</text>\r
+    <text id="IDS_MORE">Додатково</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Переглянути як</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Шукати в усіх папках</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Зовн. місце збереження</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Сп.д.</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Карта пам’яті</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Пер-м.</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Папки</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Перемістити сюди</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Переміст.</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Назва</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Вставити сюди</text>\r
+    <text id="IDS_COM_POP_ATTACH">Прикріпити</text>\r
+    <text id="IDS_YES">Так</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Вставити сюди</text>\r
+    <text id="IDS_COM_BODY_DONE">Готово</text>\r
+</string_table>\r
diff --git a/res/uzb-UZ.xml b/res/uzb-UZ.xml
new file mode 100644 (file)
index 0000000..319bf7f
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">Nusxa olish bajarilmadi</text>\r
+    <text id="IDS_COM_OPT_FILES">Fayllar</text>\r
+    <text id="IDS_COM_POP_FOLDER">Jild</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">Tashqi xotira</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">Jild nomi</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">Quyid. bo‘y. sar</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">Barchasini tanlash</text>\r
+    <text id="IDS_MF_SK3_DELETE1">O'chirish</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">Tanlangan ma’lumot topilmadi</text>\r
+    <text id="IDS_MF_SK3_EDIT">Tahrirlash</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">Xabar</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">E-pochta o‘lchami</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">Mening fayllarim</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">Sana (Eng oxirgi)</text>\r
+    <text id="IDS_MF_BODY_TYPE">Tur</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">Fayl kengaytmasini ko‘rsatish</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">Bluetooth</text>\r
+    <text id="IDS_COM_OPT_LIST">Ro‘yxat</text>\r
+    <text id="IDS_DELETE_FAILED"/>\r
+    <text id="IDS_COM_OPT_SAVE">Saqlash</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">Tarkibi:</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">Jild yaratish</text>\r
+    <text id="IDS_COM_OPT_IMPORT">Import qilish</text>\r
+    <text id="IDS_COM_BODY_MB">Mb</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">Bekor qilish</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">Quyid. bo‘y. sar</text>\r
+    <text id="IDS_MF_SK3_DELETE">O'chirish</text>\r
+    <text id="IDS_COM_BODY_SELECTED">Tanlangan</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">Bu yerga qo‘yish</text>\r
+    <text id="IDS_MF_BODY_IMAGES">Tasvirlar</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">Fayllar yo‘q</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">Ro‘yxat va tafsilotlar</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">Jild yaratish</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">Yo‘q</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">Eskizli ko'rinish</text>\r
+    <text id="IDS_MF_SK3_COPY">Nusxa olish</text>\r
+    <text id="IDS_MF_BUTTON_HOME">Asosiy</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">Telefon</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">Yaratilgan sana</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">Fayllarni tanlash</text>\r
+    <text id="IDS_COM_BODY_CLOSE">Yopish</text>\r
+    <text id="IDS_MF_SK3_SEARCH">Qidirish</text>\r
+    <text id="IDS_COM_BODY_SIZE">O‘lcham</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">Almasht.</text>\r
+    <text id="IDS_MF_TAB_UP">Yuqoriga</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">Ulash.</text>\r
+    <text id="IDS_COM_BODY_FORMAT">Format</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">Rezolyutsiya</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">E-pochta</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">Sana (Eng eski)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">Jild yaratish</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">Bunday nom avvaldan ishlatilmoqda</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">O'chirilmoqda…</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">Ko‘chirib bo‘lmadi</text>\r
+    <text id="IDS_MF_SK_DETAILS">Tafsilot</text>\r
+    <text id="IDS_MF_POP_COPYING">Nusxa ko‘chirilmoqda...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">Nom (A dan Z ga)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">Joylashuv</text>\r
+    <text id="IDS_COM_POP_MOVING">Ko‘chirilmoqda...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">Nom (Z dan A ga)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">Fayl kengaytma. yashir</text>\r
+    <text id="IDS_MORE">Yana</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">Quyidagi sifatida ko‘rib chiqish</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">Barcha jildlarni qidir</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">Tashqi xotira</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">Ulash.</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">Xotira kartasi</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">Nm/o‘z</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">Jildlar</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">Bu yerga ko‘ch.</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">Ko‘chirish</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">Nom</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">Bu yerga qo‘yish</text>\r
+    <text id="IDS_COM_POP_ATTACH">Biriktirish</text>\r
+    <text id="IDS_YES">Ha</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">Bu yerga qo‘yish</text>\r
+    <text id="IDS_COM_BODY_DONE">Bajarildi</text>\r
+</string_table>\r
diff --git a/res/zho-CN.xml b/res/zho-CN.xml
new file mode 100644 (file)
index 0000000..863c68c
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">复制失败</text>\r
+    <text id="IDS_COM_OPT_FILES">文件</text>\r
+    <text id="IDS_COM_POP_FOLDER">文件夹</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">外部存储器</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">文件夹名称</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">排序方式</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">全选</text>\r
+    <text id="IDS_MF_SK3_DELETE1">删除</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">选定数据未找到</text>\r
+    <text id="IDS_MF_SK3_EDIT">编辑</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">信息</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">电邮大小</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">我的文件</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">日期(最近)</text>\r
+    <text id="IDS_MF_BODY_TYPE">类型</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">显示文件扩展名</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">蓝牙</text>\r
+    <text id="IDS_COM_OPT_LIST">列表</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">存储</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">包括</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">新建文件夹</text>\r
+    <text id="IDS_COM_OPT_IMPORT">导入</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">取消</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">排序方式</text>\r
+    <text id="IDS_MF_SK3_DELETE">删除</text>\r
+    <text id="IDS_COM_BODY_SELECTED">已选择</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">粘贴到此处</text>\r
+    <text id="IDS_MF_BODY_IMAGES">图片</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">无文件</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">列表和详情</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">新建文件夹</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">否</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">缩略图查看</text>\r
+    <text id="IDS_MF_SK3_COPY">复制</text>\r
+    <text id="IDS_MF_BUTTON_HOME">主屏</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">话机</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">创建日期</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">选择文件</text>\r
+    <text id="IDS_COM_BODY_CLOSE">关闭</text>\r
+    <text id="IDS_MF_SK3_SEARCH">搜索</text>\r
+    <text id="IDS_COM_BODY_SIZE">大小</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">替换</text>\r
+    <text id="IDS_MF_TAB_UP">向上</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">共享</text>\r
+    <text id="IDS_COM_BODY_FORMAT">格式化</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">分辨率</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">电子邮件</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">日期(最早)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">新建文件夹</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">相同名字已使用</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">删除中..</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">移动失败</text>\r
+    <text id="IDS_MF_SK_DETAILS">详细信息</text>\r
+    <text id="IDS_MF_POP_COPYING">正在复制...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">名称(A 至 Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">位置</text>\r
+    <text id="IDS_COM_POP_MOVING">移动中...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">名称(Z 至 A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">隐藏文件扩展名</text>\r
+    <text id="IDS_MORE">更多</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">查看方式</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">搜索所有文件夹</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">外部存储器</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">共享</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">存储卡</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">重命名</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">文件夹</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">移动到这里</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi直连</text>\r
+    <text id="IDS_MF_SK3_MOVE">移动</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">名称</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">粘贴到此处</text>\r
+    <text id="IDS_COM_POP_ATTACH">附加</text>\r
+    <text id="IDS_YES">是</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">粘贴到此处</text>\r
+    <text id="IDS_COM_BODY_DONE">完成</text>\r
+</string_table>\r
diff --git a/res/zho-HK.xml b/res/zho-HK.xml
new file mode 100644 (file)
index 0000000..c8379e6
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">複製失敗</text>\r
+    <text id="IDS_COM_OPT_FILES">檔案</text>\r
+    <text id="IDS_COM_POP_FOLDER">資料夾</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">外置儲存裝置</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">資料夾名稱</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">排序方式</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">選擇全部</text>\r
+    <text id="IDS_MF_SK3_DELETE1">刪除</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">選擇的數據未找到</text>\r
+    <text id="IDS_MF_SK3_EDIT">編輯</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">訊息</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">電子郵件大小</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">我的檔案</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">日期(最近的)</text>\r
+    <text id="IDS_MF_BODY_TYPE">類型</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">顯示檔案伸展內容</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">藍牙</text>\r
+    <text id="IDS_COM_OPT_LIST">清單</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">儲存</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">包含</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">建立資料夾</text>\r
+    <text id="IDS_COM_OPT_IMPORT">匯入</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">取消</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">排序方式</text>\r
+    <text id="IDS_MF_SK3_DELETE">刪除</text>\r
+    <text id="IDS_COM_BODY_SELECTED">已選擇</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">貼在這裡</text>\r
+    <text id="IDS_MF_BODY_IMAGES">圖像</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">無檔案</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">清單及詳情</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">建立資料夾</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">否</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">縮圖檢視</text>\r
+    <text id="IDS_MF_SK3_COPY">複製</text>\r
+    <text id="IDS_MF_BUTTON_HOME">首頁</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">手機</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">建立日期</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">選擇檔案</text>\r
+    <text id="IDS_COM_BODY_CLOSE">關閉</text>\r
+    <text id="IDS_MF_SK3_SEARCH">搜尋</text>\r
+    <text id="IDS_COM_BODY_SIZE">大小</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">取代</text>\r
+    <text id="IDS_MF_TAB_UP">向上</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">共享</text>\r
+    <text id="IDS_COM_BODY_FORMAT">格式化</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">解像度</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">電子郵件</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">日期 (最舊的)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">建立資料夾</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">相同名稱已被使用</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">正在刪除...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">移動失敗</text>\r
+    <text id="IDS_MF_SK_DETAILS">詳細資料</text>\r
+    <text id="IDS_MF_POP_COPYING">正在複製...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">名稱 (A 至 Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">位置</text>\r
+    <text id="IDS_COM_POP_MOVING">正在移動...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">名稱 (Z 至 A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">隱藏副檔名</text>\r
+    <text id="IDS_MORE">更多</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">檢視為</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">搜尋所有資料夾</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">外置儲存裝置</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">共享</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">記憶卡</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">重新命名</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">資料夾</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">移到這裡</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">移動</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">名稱</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">貼在這裡</text>\r
+    <text id="IDS_COM_POP_ATTACH">附加</text>\r
+    <text id="IDS_YES">是</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">貼在這裡</text>\r
+    <text id="IDS_COM_BODY_DONE">完成</text>\r
+</string_table>\r
diff --git a/res/zho-SG.xml b/res/zho-SG.xml
new file mode 100644 (file)
index 0000000..fb82652
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">複製失敗</text>\r
+    <text id="IDS_COM_OPT_FILES">文件</text>\r
+    <text id="IDS_COM_POP_FOLDER">文件夹</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">外部存储器</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">文件夹名称</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">排序方式</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">全选</text>\r
+    <text id="IDS_MF_SK3_DELETE1">删除</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">选定数据未找到</text>\r
+    <text id="IDS_MF_SK3_EDIT">编辑</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">讯息</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">电邮大小</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">我的文件</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">日期(最近)</text>\r
+    <text id="IDS_MF_BODY_TYPE">类型</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">显示文件扩展名</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">蓝牙</text>\r
+    <text id="IDS_COM_OPT_LIST">列表</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">储存</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">包括</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">创建文件夹</text>\r
+    <text id="IDS_COM_OPT_IMPORT">导入</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">取消</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">排序方式</text>\r
+    <text id="IDS_MF_SK3_DELETE">删除</text>\r
+    <text id="IDS_COM_BODY_SELECTED">已选定</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">粘贴到此</text>\r
+    <text id="IDS_MF_BODY_IMAGES">图像</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">无文件</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">列表和详情</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">创建文件夹</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">否</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">縮圖檢視</text>\r
+    <text id="IDS_MF_SK3_COPY">复制</text>\r
+    <text id="IDS_MF_BUTTON_HOME">首页</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">手机</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">创建日期</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">選擇檔案</text>\r
+    <text id="IDS_COM_BODY_CLOSE">关闭</text>\r
+    <text id="IDS_MF_SK3_SEARCH">搜寻</text>\r
+    <text id="IDS_COM_BODY_SIZE">大小</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">取代</text>\r
+    <text id="IDS_MF_TAB_UP">向上</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">共享</text>\r
+    <text id="IDS_COM_BODY_FORMAT">格式化</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">分辨率</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">電子郵件</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">日期(最晚)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">创建文件夹</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">相同名稱已在使用中</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">删除中…</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">移動失敗</text>\r
+    <text id="IDS_MF_SK_DETAILS">详细信息</text>\r
+    <text id="IDS_MF_POP_COPYING">复制中…</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">名称(A 至 Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">地址</text>\r
+    <text id="IDS_COM_POP_MOVING">移动中…</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">名称(Z 至 A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">隐藏文件扩展名</text>\r
+    <text id="IDS_MORE">更多</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">查看作为</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">搜尋所有資料夾</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">外部存储器</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">共享</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">存储卡</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">重命名</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">文件夹</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">移到这儿</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">直接Wi-Fi</text>\r
+    <text id="IDS_MF_SK3_MOVE">移动</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">名称</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">粘贴到此</text>\r
+    <text id="IDS_COM_POP_ATTACH">附件</text>\r
+    <text id="IDS_YES">是</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">粘贴到此</text>\r
+    <text id="IDS_COM_BODY_DONE">已完成</text>\r
+</string_table>\r
diff --git a/res/zho-TW.xml b/res/zho-TW.xml
new file mode 100644 (file)
index 0000000..a67de98
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<!--\r
+       This XML file was automatically generated by UiBuilder - do not modify by hand.\r
+-->\r
+<string_table Bversion="3.0.0.201302071045" Dversion="20120315">\r
+    <text id="IDS_COPY_FAILED_MESSAGE">复制失败</text>\r
+    <text id="IDS_COM_OPT_FILES">檔案</text>\r
+    <text id="IDS_COM_POP_FOLDER">資料夾</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE1">外部儲存裝置</text>\r
+    <text id="IDS_MF_BODY_FOLDER_NAME">資料夾名稱</text>\r
+    <text id="IDS_MF_SK3_SORT_BY">排序依據</text>\r
+    <text id="IDS_COM_BODY_SELECT_ALL">全選</text>\r
+    <text id="IDS_MF_SK3_DELETE1">刪除</text>\r
+    <text id="IDS_COM_BODY_SELECTED_DATA_NOT_FOUND">找不到選取的資料</text>\r
+    <text id="IDS_MF_SK3_EDIT">編輯</text>\r
+    <text id="IDS_COM_BODY_MESSAGE">訊息</text>\r
+    <text id="IDS_SEARCH_STRING_CANNOT_BE_EMPTY">Search string cannot be empty.</text>\r
+    <text id="IDS_COM_BODY_EMAIL_SIZE">電子郵件大小</text>\r
+    <text id="IDS_COM_BODY_MY_FILES">我的檔案</text>\r
+    <text id="IDS_MF_OPT_DATE_HMOST_RECENT">日期 (最近的)</text>\r
+    <text id="IDS_MF_BODY_TYPE">類型</text>\r
+    <text id="IDS_MF_OPT_SHOW_FILE_EXTENSION">顯示文件擴展名</text>\r
+    <text id="IDS_COM_BODY_BLUETOOTH">藍牙</text>\r
+    <text id="IDS_COM_OPT_LIST">清單</text>\r
+    <text id="IDS_DELETE_FAILED">Delete Failed</text>\r
+    <text id="IDS_COM_OPT_SAVE">儲存</text>\r
+    <text id="IDS_MF_BODY_CONTAINS">包含</text>\r
+    <text id="IDS_COM_BODY_CREATE_FOLDER">建立資料夾</text>\r
+    <text id="IDS_COM_OPT_IMPORT">匯入</text>\r
+    <text id="IDS_COM_BODY_MB">MB</text>\r
+    <text id="IDS_COM_BODY_USB">USB</text>\r
+    <text id="IDS_COM_POP_CANCEL">取消</text>\r
+    <text id="IDS_MF_SK3_SORT_BY1">排序依據</text>\r
+    <text id="IDS_MF_SK3_DELETE">刪除</text>\r
+    <text id="IDS_COM_BODY_SELECTED">已選擇</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE">複製到這裡</text>\r
+    <text id="IDS_MF_BODY_IMAGES">圖像</text>\r
+    <text id="IDS_COM_BODY_NO_FILES">無檔案</text>\r
+    <text id="IDS_EXPORT">Export</text>\r
+    <text id="IDS_INVALID_CHARACTER_MESSAGE">Invalid Character. Enter again</text>\r
+    <text id="IDS_MF_BODY_LIST_AND_DETAILS_ABB">清單及詳情</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER">建立資料夾</text>\r
+    <text id="IDS_STORAGE_FULL">Storage Full</text>\r
+    <text id="IDS_RENAME_FAILED">Rename Failed</text>\r
+    <text id="IDS_No">否</text>\r
+    <text id="IDS_NAME_CANT_EMPTY">Name can't be empty!\nRetry?</text>\r
+    <text id="IDS_ITEM_COUNT"> items</text>\r
+    <text id="IDS_MF_OPT_THUMBNAIL_VIEW">缩略图查看</text>\r
+    <text id="IDS_MF_SK3_COPY">複製</text>\r
+    <text id="IDS_MF_BUTTON_HOME">主目錄</text>\r
+    <text id="IDS_BYTES">bytes</text>\r
+    <text id="IDS_COM_BODY_KB">KB</text>\r
+    <text id="IDS_MF_TAB_PHONE">電話</text>\r
+    <text id="IDS_CREATE_FOLDER_FAILED">Create Folder Failed</text>\r
+    <text id="IDS_MF_BODY_CREATED_DATE">建立日期</text>\r
+    <text id="IDS_COM_BODY_B">B</text>\r
+    <text id="IDS_SELECT_FILES">选择文件</text>\r
+    <text id="IDS_COM_BODY_CLOSE">關閉</text>\r
+    <text id="IDS_MF_SK3_SEARCH">搜尋</text>\r
+    <text id="IDS_COM_BODY_SIZE">大小</text>\r
+    <text id="IDS_MF_BODY_REPLACE_ABB">替换</text>\r
+    <text id="IDS_MF_TAB_UP">向上</text>\r
+    <text id="IDS_COM_BUTTON_SHARE1">分享</text>\r
+    <text id="IDS_COM_BODY_FORMAT">格式化</text>\r
+    <text id="IDS_MAX_CHARACTER_LIMIT_MESSAGE">Maximum number of characters reached.</text>\r
+    <text id="IDS_IDLE_BODY_RESOLUTION">解析度</text>\r
+    <text id="IDS_SHARE_VIA_EMAIL">电邮</text>\r
+    <text id="IDS_MF_OPT_DATE_HOLDEST">日期 (最舊的)</text>\r
+    <text id="IDS_NAME_ALREADY_EXIST">Name already exists!\nRetry?</text>\r
+    <text id="IDS_MF_OPT_CREATE_FOLDER1">建立資料夾</text>\r
+    <text id="IDS_POP_SAME_NAME_ALREADY_IN_USE">相同名称已在使用</text>\r
+    <text id="IDS_MF_POP_RENAMING">Renaming</text>\r
+    <text id="IDS_COM_POP_DELETING">正在刪除...</text>\r
+    <text id="IDS_MOVE_FAILED_MESSAGE">移动失败</text>\r
+    <text id="IDS_MF_SK_DETAILS">詳細資料</text>\r
+    <text id="IDS_MF_POP_COPYING">正在複製...</text>\r
+    <text id="IDS_MF_OPT_NAME_HA_TO_Z">名稱 (A 至 Z)</text>\r
+    <text id="IDS_COM_BODY_LOCATION">位置</text>\r
+    <text id="IDS_COM_POP_MOVING">正在移動...</text>\r
+    <text id="IDS_CONFIRM_DELETE">Delete?</text>\r
+    <text id="IDS_MF_OPT_NAME_HZ_TO_A">名稱 (Z 至 A)</text>\r
+    <text id="IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB">隱藏副檔名</text>\r
+    <text id="IDS_MORE">更多</text>\r
+    <text id="IDS_MF_OPT_VIEW_AS">檢視為</text>\r
+    <text id="IDS_MF_BUTTON_SEARCH_ALL_FOLDERS">搜索所有文件夹</text>\r
+    <text id="IDS_MF_TAB_EXTERNAL_STORAGE">外部儲存裝置</text>\r
+    <text id="IDS_COM_BUTTON_SHARE">分享</text>\r
+    <text id="IDS_MF_TAB_MEMORY_CARD">記憶卡</text>\r
+    <text id="IDS_MF_BODY_RENAME_ABB">重新命名</text>\r
+    <text id="IDS_COM_BODY_FOLDERS">資料夾</text>\r
+    <text id="IDS_MF_SK3_MOVE_HERE">移到這裡</text>\r
+    <text id="IDS_COM_OPT1_WI_FI_DIRECT">Wi-Fi Direct</text>\r
+    <text id="IDS_MF_SK3_MOVE">移動</text>\r
+    <text id="IDS_MF_OPT_LISTBY_NAME">名稱</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE2">複製到這裡</text>\r
+    <text id="IDS_COM_POP_ATTACH">附件</text>\r
+    <text id="IDS_YES">是</text>\r
+    <text id="IDS_MF_SK3_PASTE_HERE1">複製到這裡</text>\r
+    <text id="IDS_COM_BODY_DONE">完成</text>\r
+</string_table>\r
diff --git a/shared/data/nofile.dummy b/shared/data/nofile.dummy
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/shared/res/mainmenu.png b/shared/res/mainmenu.png
new file mode 100755 (executable)
index 0000000..ceb4eb4
Binary files /dev/null and b/shared/res/mainmenu.png differ
diff --git a/shared/res/screen-density-high/mainmenu.png b/shared/res/screen-density-high/mainmenu.png
new file mode 100755 (executable)
index 0000000..ceb4eb4
Binary files /dev/null and b/shared/res/screen-density-high/mainmenu.png differ
diff --git a/shared/res/screen-density-xhigh/mainmenu.png b/shared/res/screen-density-xhigh/mainmenu.png
new file mode 100755 (executable)
index 0000000..ceb4eb4
Binary files /dev/null and b/shared/res/screen-density-xhigh/mainmenu.png differ
diff --git a/shared/trusted/nofile.dummy b/shared/trusted/nofile.dummy
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/src/MfAudioMediaMetaData.cpp b/src/MfAudioMediaMetaData.cpp
new file mode 100644 (file)
index 0000000..6e476ff
--- /dev/null
@@ -0,0 +1,70 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfAudioMediaMetaData.cpp
+ * @brief: This file contains implementation of AudioMediaMetaData class,
+ * which acts as a Audio Meta Data Provider
+ */
+
+#include "MfAudioMediaMetaData.h"
+
+using namespace Tizen::Base;
+
+AudioMediaMetaData::AudioMediaMetaData(void)
+       : __pFileFormat(null)
+{
+       //Empty Implementation.
+}
+
+AudioMediaMetaData::~AudioMediaMetaData(void)
+{
+       if (__pFileFormat != null)
+       {
+               delete __pFileFormat;
+       }
+
+}
+
+AudioMediaMetaData::AudioMediaMetaData(const AudioMediaMetaData& audioMediaMetaData)
+{
+       __pFileFormat = null;
+}
+
+AudioMediaMetaData&
+AudioMediaMetaData::operator =(const AudioMediaMetaData& audioMediaMetaData)
+{
+       AppLogDebug("Entry");
+       if (this != &audioMediaMetaData)
+       {
+               __pFileFormat = audioMediaMetaData.__pFileFormat;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return *this;
+}
+
+void
+AudioMediaMetaData::SetFileFormat(String* pFileFormat)
+{
+       AppLogDebug("Entry");
+       __pFileFormat = pFileFormat;
+}
+
+Tizen::Base::String*
+AudioMediaMetaData::GetFileFormat(void)
+{
+       return __pFileFormat;
+}
diff --git a/src/MfBaseForm.cpp b/src/MfBaseForm.cpp
new file mode 100644 (file)
index 0000000..a50a69c
--- /dev/null
@@ -0,0 +1,206 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/*
+ * @file: MfBaseForm.cpp
+ * @brief: This file contains implementation of BaseForm class, from which All forms get derived.
+ */
+
+#include "MfBaseForm.h"
+#include "MfContentListItem.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+
+BaseForm::BaseForm(void)
+{
+       //empty Implementation
+}
+
+BaseForm::~BaseForm(void)
+{
+       //empty Implementation
+}
+
+bool
+BaseForm::Initialize(void)
+{
+       Form::Construct(L"IDL_BASE_FORM");
+       return true;
+}
+
+result
+BaseForm::OnInitializing(void)
+{
+       result r = E_SUCCESS;
+
+       SetFormBackEventListener(this);
+       AddOrientationEventListener(*this);
+
+       ListView* pListview1 = static_cast< ListView* >(GetControl("IDC_LISTVIEW1"));
+       if (pListview1)
+       {
+               pListview1->AddListViewItemEventListener(*this);
+               pListview1->SetItemProvider(*this);
+       }
+       return r;
+}
+
+result
+BaseForm::OnTerminating(void)
+{
+       result r = E_SUCCESS;
+       return r;
+}
+
+void
+BaseForm::OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status)
+{
+       //empty Implementation
+}
+
+void
+BaseForm::OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback)
+{
+       //empty Implementation
+}
+
+void
+BaseForm::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
+{
+       //empty Implementation
+}
+
+void
+BaseForm::OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction)
+{
+       //empty Implementation
+}
+
+Tizen::Ui::Controls::ListItemBase*
+BaseForm::CreateItem(int index, int itemWidth)
+{
+       return null;
+}
+
+bool
+BaseForm::DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth)
+{
+       return true;
+}
+
+int
+BaseForm::GetItemCount(void)
+{
+       return 0;
+}
+
+void
+BaseForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
+{
+       //empty Implementation
+}
+
+void
+BaseForm::OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus)
+{
+       //empty Implementation
+}
+
+void
+BaseForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+{
+       //empty Implementation
+}
+
+void
+BaseForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
+{
+       //empty Implementation
+}
+
+void
+BaseForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId)
+{
+       //empty Implementation
+}
+
+void
+BaseForm::OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId)
+{
+       //Empty Implementation
+}
+
+void
+BaseForm::OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId)
+{
+       //Empty Implementation.
+}
+
+
+void
+BaseForm::OnFileEventExecuted(const Tizen::Base::String& path, const unsigned long eventId)
+{
+       //empty Implementation
+}
+
+void
+BaseForm::OnFileManagingStart(void)
+{
+       //empty Implementation
+}
+
+void
+BaseForm::OnFileManagingStop(FileManagingResult fileProcessingResult)
+{
+       //empty Implementation
+}
+
+void
+BaseForm::OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs)
+{
+       //empty Implementation
+}
+
+void
+BaseForm::OnListViewItemStateChangedNotify(ViewType viewType)
+{
+       //empty Implementation
+}
+void
+BaseForm::OnIconListViewItemStateChangeNotify()
+{
+       //empty Implementation
+}
+
+void
+BaseForm::OnThumbnailReceived(ThumbRequest* pThumbReq)
+{
+       //empty Implementation
+}
+
+FolderEntryPresentationModel*
+BaseForm::GetFoldeEntryPresentationModel(void)
+{
+       return null;
+}
+
+void
+BaseForm::OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state)
+{
+       //empty Implementation
+}
diff --git a/src/MfBaseItemProvider.cpp b/src/MfBaseItemProvider.cpp
new file mode 100644 (file)
index 0000000..02846be
--- /dev/null
@@ -0,0 +1,578 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfBaseItemProvider.cpp
+ * @brief: This file contains implementation of BaseItemProvider class, which acts as a common item provider for all
+ * ListViews.
+ */
+
+#include "MfBaseItemProvider.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Graphics;
+using namespace Tizen::Locales;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+
+BaseItemProvider::BaseItemProvider(void)
+: __pFolderEntryPM(null)
+, __pMediaMetaData(null)
+, __pThumbnailManager(null)
+, __pProviderPM(null)
+, __pListViewItemStateChangeListener(null)
+, __pFileNames(null)
+, __pDummyImage(null)
+, __pFolderBitmap(null)
+, __pRenameBitmap(null)
+, __pRenamePressed(null)
+, __pItemContext(null)
+{
+       //empty implementation
+       __flagViewAsStatus = 0;
+       __sourceInfo = CREATE_ITEM_SOURCE_NONE;
+}
+
+void
+BaseItemProvider::Construct(void)
+{
+       String detailButtonText;
+       String deleteButtonText;
+       String renameButtonText;
+
+       Bitmap* pDeleteNormalBmp = null;
+       Bitmap* pDeletePressBmp = null;
+
+       AppResource* pAppResource = null;
+       result r = E_SUCCESS;
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "MfMyFilesApp::Resource manager not found!");
+
+       pAppResource->GetString(L"IDS_COM_BODY_SELECT_ALL", __selectAll);
+       pAppResource->GetString(L"IDS_MF_SK_DETAILS", detailButtonText);
+       pAppResource->GetString(L"IDS_MF_BODY_RENAME_ABB", renameButtonText);
+       pAppResource->GetString(L"IDS_MF_SK3_DELETE", deleteButtonText);
+       pAppResource->GetString(L"IDS_MF_OPT_SHOW_FILE_EXTENSION", __showExtension);
+       pAppResource->GetString(L"IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB", __hideExtension);
+       __extensionKeyName = fileExtenstionKeyName;
+
+       pDeleteNormalBmp =  AppResource::GetInstance()->GetBitmapN(IDB_CONTEXT_DELETE_NORMAL);
+       pDeletePressBmp = AppResource::GetInstance()->GetBitmapN(IDB_CONTEXT_DELETE_PRESS);
+
+       __pFolderBitmap = pAppResource->GetBitmapN(IDB_FOLDER, BITMAP_PIXEL_FORMAT_ARGB8888);
+       __pDummyImage = pAppResource->GetBitmapN(IDB_DUMMY_IMG, BITMAP_PIXEL_FORMAT_ARGB8888);
+
+       __pThumbnailManager = ThumbnailManager::GetInstance();
+       TryCatch(__pThumbnailManager != null, , "Failed to fetch instance of ThumbnailManager");
+
+       __pItemContext = new (std::nothrow) ListContextItem();
+
+       r = __pItemContext->Construct();
+       TryCatch(r == E_SUCCESS, , "Failed to construct pitemcontext");
+
+       __pItemContext->AddElement(IDA_CONTEXT_RENAME, renameButtonText);
+       __pItemContext->AddElement(IDA_CONTEXT_DETAIL, detailButtonText);
+
+       if (pDeleteNormalBmp != null && pDeletePressBmp != null)
+       {
+               __pItemContext->AddElement(IDA_CONTEXT_DELETE,
+                               deleteButtonText,
+                               *pDeleteNormalBmp,
+                               *pDeletePressBmp,
+                               null,
+                               true);
+
+               delete pDeleteNormalBmp;
+               pDeleteNormalBmp = null;
+
+               delete pDeletePressBmp;
+               pDeletePressBmp = null;
+
+       }
+
+       return;
+
+CATCH:
+       if (__pItemContext != null)
+       {
+               delete __pItemContext;
+               __pItemContext = null;
+       }
+
+       if (pDeleteNormalBmp != null)
+       {
+               delete pDeleteNormalBmp;
+               pDeleteNormalBmp = null;
+       }
+
+       if (pDeletePressBmp != null)
+       {
+               delete pDeletePressBmp;
+               pDeletePressBmp = null;
+       }
+
+       if (__pFolderBitmap != null)
+       {
+               delete __pFolderBitmap;
+       }
+
+       if (__pDummyImage != null)
+       {
+               delete __pDummyImage;
+       }
+}
+
+BaseItemProvider::~BaseItemProvider(void)
+{
+       if (__pRenameBitmap != null)
+       {
+               delete __pRenameBitmap;
+       }
+
+       if (__pRenamePressed != null)
+       {
+               delete __pRenamePressed;
+       }
+
+       if (__pFolderBitmap != null)
+       {
+               delete __pFolderBitmap;
+       }
+
+       if (__pDummyImage != null)
+       {
+               delete __pDummyImage;
+       }
+
+       if (__pItemContext != null)
+       {
+               delete __pItemContext;
+       }
+}
+
+BaseItemProvider&
+BaseItemProvider::operator =(const BaseItemProvider& baseItemProvider)
+{
+       return *this;
+}
+
+BaseItemProvider::BaseItemProvider(const BaseItemProvider& baseItemProvider)
+{
+       //Do Nothing
+}
+
+int
+BaseItemProvider::GetItemCount(void)
+{
+       AppLogDebug("Enter");
+       int itemCount = 0;
+       result r = E_SUCCESS;
+       String viewStyleKeyName(L"ListDisplayType");
+       int listViewDisplayType = VIEW_TYPE_AS_NORMAL_LIST;
+       AppRegistry* pAppRegistry = null;
+
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+       r = pAppRegistry->Get(viewStyleKeyName, listViewDisplayType);
+       __flagViewAsStatus = listViewDisplayType;
+
+       __pFileNames = __pFolderEntryPM->GetFolderEntryList();
+
+       if (__pFileNames != null)
+       {
+               itemCount = __pFileNames->GetCount();
+       }
+       else
+       {
+               itemCount = 0;
+       }
+
+       if (__sourceInfo == CREATE_ITEM_SOURCE_TOP_MOST_FILE_LIST || __sourceInfo == CREATE_ITEM_SOURCE_SUB_FOLDER_FILE_LIST)
+       {
+               if (__pFileNames != null)
+               {
+                       if (__pFileNames->GetCount() == 0)
+                       {
+                               __pListViewItemStateChangeListener->OnFooterStateChangeNotify();
+
+                       }
+               }
+       }
+       AppLogDebug("Exit");
+       return itemCount;
+
+}
+
+Tizen::Ui::Controls::ListItemBase*
+BaseItemProvider::CreateItem(int index, int itemWidth)
+{
+       AppLogDebug("ENTER");
+
+       ContentListItem* pMyCustomItem = null;
+
+       //Else switch the flag status in order to Update the list accordingly.
+       switch (__flagViewAsStatus)
+       {
+       case VIEW_TYPE_AS_NORMAL_LIST:
+       {
+               pMyCustomItem = CreateNormalListViewItem(index, itemWidth);
+               TryCatch(pMyCustomItem != null, , "CustomItem is Null");
+               return pMyCustomItem;
+       }
+       break;
+
+       case VIEW_TYPE_AS_DETAILED_LIST:
+       {
+               if (__sourceInfo == CREATE_ITEM_SOURCE_FILE_MANAGE_FORM)
+               {
+                       pMyCustomItem = CreateNormalListViewItem(index, itemWidth);
+               }
+               else
+               {
+                       pMyCustomItem = CreateDetailedListViewItem(index, itemWidth);
+                       TryCatch(pMyCustomItem != null, , "CustomItem is Null");
+               }
+               return pMyCustomItem;
+       }
+       break;
+
+       default:
+       {
+               return null;
+               //Do Nothing.
+       }
+       break;
+       }
+
+CATCH:
+       return null;
+}
+
+bool
+BaseItemProvider::DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth)
+{
+       AppLogDebug("Enter");
+       if (pItem != null)
+       {
+               delete pItem;
+               pItem = null;
+
+       }
+       return true;
+}
+
+ContentListItem*
+BaseItemProvider::CreateNormalListViewItem(int listItemIndex, int listItemWidth)
+{
+       AppLogDebug("ENTER");
+       result r = E_SUCCESS;
+
+       Font font;
+
+       String filename;
+       String folderIconPath;
+       String imageIconPath;
+       String fontName;
+       String searchedText;
+       String fileExtension;
+       String creationDate;
+       String searchedString;
+       String selectAll;
+
+       DateTime dateCreated;
+       Dimension thumbnailDimension(H_LISTVIEW_ITEM_BITMAP, W_LISTVIEW_ITEM_BITMAP);
+       Dimension textDimension(listItemWidth - W_LISTVIEW_ITEM_BITMAP, H_ITEM_LISTVIEW);
+
+       DirectoryEntry* pFileDetails = null;
+
+       ContentListItem* pCustomItem = null;
+
+       AppRegistry* pAppRegistry = null;
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+       TryCatch(__pFileNames != null, , "MfMyFilesApp::Filename list if empty!");
+       TryCatch(__pFileNames->GetCount() != 0, , "MfMyFilesApp::Filename count is Zero!");
+
+       pCustomItem = new (std::nothrow) ContentListItem(listItemWidth, H_ITEM_LISTVIEW);
+       TryCatch(pCustomItem != null, , "MfMyFilesApp::Failed to allocate Memory to pCustomItem");
+
+       //Get the Directory Entry for the element at index from the Filenames list.
+
+       pFileDetails = static_cast< DirectoryEntry* >(__pFileNames->GetAt(listItemIndex));
+       TryCatch(pFileDetails != null, , "MfMyFilesApp::Failed to fetch FileDetails from __pFileNames!");
+
+       r = pAppRegistry->Get(__extensionKeyName, fileExtension);
+
+       //Set the filename of the element at index index
+       filename = pFileDetails->GetFileName();
+
+       //If the registry key value is set for show extension append the extension of the filename else do not.
+       if (fileExtension == __showExtension && !pFileDetails->IsDirectory())
+       {
+               if (!pFileDetails->GetFileExtension().IsEmpty())
+               {
+                       filename = filename + "." + pFileDetails->GetFileExtension();
+               }
+       }
+
+       if (pFileDetails->IsDirectory())
+       {
+               pCustomItem->SetThumbnail(__pFolderBitmap);
+       }
+       else
+       {
+               if (__sourceInfo == CREATE_ITEM_SOURCE_SUB_BASE_MOVE_COPY)
+               {
+                       pCustomItem->SetDescColor(Color::GetColor(COLOR_ID_GREY));
+               }
+               if (pFileDetails->GetBitmap() == null && pFileDetails->IstDummy())
+               {
+                       AppLogDebug("BITMAP  NOT FOUND : NOT DO GETTHUMBNAIL");
+                       pFileDetails->SetDummy(true);
+                       pCustomItem->SetThumbnail(__pDummyImage);
+                       //r = __pFolderEntryPM->InitThumbnailManager(listItemIndex);
+               }
+               else
+               {
+                       AppLogDebug("BITMAP FOUND : NOT NEED TO DO GETTHUMBNAIL");
+                       pCustomItem->SetThumbnail(pFileDetails->GetBitmap());
+               }
+       }
+
+
+       if (__sourceInfo == CREATE_ITEM_SOURCE_FILE_MANAGE_FORM)
+       {
+               imageIconPath = pFileDetails->GetFullFilePath();
+               __pMediaMetaData = new (std::nothrow) MediaMetaData();
+               dateCreated = __pMediaMetaData->GetFileCreationTime(&imageIconPath);
+               creationDate = MfUtility::ConvertDateTimeToString(dateCreated);
+
+               delete __pMediaMetaData;
+               __pMediaMetaData = null;
+
+               pCustomItem->SetTitle(filename, searchedString);
+               pCustomItem->SetDate(creationDate);
+               pCustomItem->SetRenameBitmap(__pRenameBitmap, __pRenamePressed);
+               pCustomItem->MakeFileManageFormListItem();
+       }
+       else
+       {
+               //Call the SetTitle function to set the title of the list item.
+               pCustomItem->SetTitle(filename, searchedText);
+               //Call the Make Function which adds the elements to the custom Item.
+               pCustomItem->Make();
+               //Set the context item of the list itemm.
+               if (__sourceInfo != CREATE_ITEM_SOURCE_SUB_FOLDER_MOVE_COPY && __sourceInfo != CREATE_ITEM_SOURCE_TOP_MOST_MOVE_COPY
+                               && __sourceInfo != CREATE_ITEM_SOURCE_SUB_BASE_MOVE_COPY)
+               {
+
+                       if (__pItemContext != null)
+                       {
+                               pCustomItem->SetContextItem(__pItemContext);
+                       }
+               }
+               AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+       }
+       return pCustomItem;
+
+CATCH:
+       if (pCustomItem != null)
+       {
+               delete pCustomItem;
+               pCustomItem = null;
+       }
+       return null;
+}
+
+ContentListItem*
+BaseItemProvider::CreateDetailedListViewItem(int listItemIndex, int listItemWidth)
+{
+
+       AppLogDebug("ENTER");
+       result r = E_SUCCESS;
+
+       Font font;
+
+       String filename;
+       String folderPath;
+       String imageIconPath;
+       String fontName;
+
+       String fileExtension;
+       String searchedText;
+       String descriptionText;
+       String creationDate;
+       String itemCountDisplay;
+       String searchedString;
+
+       DateTime dateCreated;
+
+       Dimension thumbnailDimension(W_LISTVIEW_ITEM_BITMAP, H_LISTVIEW_ITEM_BITMAP);
+       Dimension textDimension((listItemWidth - W_LISTVIEW_ITEM_BITMAP) / 2, H_DETAIL_LISTVIEW);
+
+       DirectoryEntry* pFileDetails = null;
+       ContentListItem* pContentListItem = null;
+
+       AppResource* pAppResource = null;
+       AppRegistry* pAppRegistry = null;
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+
+       int filesCount = 0;
+       long long int fileSize;
+
+       TryCatch(__pFileNames != null, , "Filename list if empty!");
+       TryCatch(__pFileNames->GetCount() != 0, , "Filename count is Zero!");
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Resource manager not found!");
+
+       pAppResource->GetString(L"IDS_ITEM_COUNT", itemCountDisplay);
+
+       //Get the entry at index from the Filenames ArrayList.
+       pFileDetails = static_cast< DirectoryEntry* >(__pFileNames->GetAt(listItemIndex));
+       TryCatch(pFileDetails != null, , "MfMyFilesApp::Failed to fetch FileDetails from __pFilenames!");
+
+       //Create a new ContentListItem.
+       pContentListItem = new (std::nothrow) ContentListItem(listItemWidth, H_DETAIL_LISTVIEW);
+       TryCatch(pContentListItem != null, , "Failed to allocate Memory to pCustomItem");
+
+       //Get the key value for the file extension visibility.
+       r = pAppRegistry->Get(__extensionKeyName, fileExtension);
+
+       //Assign the filename to the one retrieved from __fileNames.
+       filename = pFileDetails->GetFileName();
+       if (fileExtension == __showExtension && !pFileDetails->IsDirectory())
+       {
+               if (!pFileDetails->GetFileExtension().IsEmpty())
+               {
+                       filename = filename + "." + pFileDetails->GetFileExtension();
+               }
+       }
+
+
+       if (pFileDetails->IsDirectory())
+       {
+               folderPath = pFileDetails->GetFullFilePath();
+
+               pContentListItem->SetThumbnail(__pFolderBitmap);
+
+               __pMediaMetaData = __MediaUtility.GetFolderEntryMetaDataN(folderPath, FILE_TYPE_FOLDER_TYPE);
+               if (__pMediaMetaData != null)
+               {
+                       dateCreated = __pMediaMetaData->GetFileCreationTime();
+                       creationDate = MfUtility::ConvertDateTimeToString(dateCreated);
+
+                       filesCount = pFileDetails->GetFilecount() + pFileDetails->GetDirectoryCount();
+                       descriptionText.Append(filesCount);
+                       descriptionText.Append(itemCountDisplay);
+
+                       delete __pMediaMetaData;
+                       __pMediaMetaData = null;
+               }
+       }
+       else
+       {
+               imageIconPath = pFileDetails->GetFullFilePath();
+               if (__sourceInfo == CREATE_ITEM_SOURCE_SUB_BASE_MOVE_COPY)
+               {
+                       pContentListItem->SetDescColor(Color::GetColor(COLOR_ID_GREY));
+               }
+               if (pFileDetails->GetBitmap() == null && pFileDetails->IstDummy())
+               {
+                       AppLogDebug("BITMAP NOT FOUND : DO GETTHUMBNAIL");
+                       pContentListItem->SetThumbnail(__pDummyImage);
+                       //r = __pFolderEntryPM->InitThumbnailManager(listItemIndex);
+               }
+               else
+               {
+                       AppLogDebug("BITMAP FOUND : NOT NEED TO DO GETTHUMBNAIL");
+                       pContentListItem->SetThumbnail(pFileDetails->GetBitmap());
+               }
+
+               __pMediaMetaData = __MediaUtility.GetFolderEntryMetaDataN(imageIconPath, FILE_TYPE_OTHER_TYPE);
+               if (__pMediaMetaData != null)
+               {
+                       fileSize = __pMediaMetaData->GetFileSize();
+                       dateCreated = __pMediaMetaData->GetFileCreationTime();
+
+                       creationDate = MfUtility::ConvertDateTimeToString(dateCreated);
+                       descriptionText = MfUtility::ConvertFileSizeToString(fileSize);
+
+                       delete __pMediaMetaData;
+                       __pMediaMetaData = null;
+               }
+       }
+
+       pContentListItem->SetTitle(filename, searchedText);
+       pContentListItem->SetDescription(descriptionText);
+       pContentListItem->SetDate(creationDate);
+
+       pContentListItem->MakeDetailedListItem();
+
+       if (__sourceInfo != CREATE_ITEM_SOURCE_SUB_FOLDER_MOVE_COPY && __sourceInfo != CREATE_ITEM_SOURCE_TOP_MOST_MOVE_COPY
+                       && __sourceInfo != CREATE_ITEM_SOURCE_SUB_BASE_MOVE_COPY)
+       {
+               if (__pItemContext != null)
+               {
+                       pContentListItem->SetContextItem(__pItemContext);
+               }
+       }
+
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+
+       return pContentListItem;
+CATCH:
+
+       return null;
+}
+
+void
+BaseItemProvider::SetSourceForm(CreateItemSource sourceInfo)
+{
+       __sourceInfo = sourceInfo;
+
+       if (__sourceInfo == CREATE_ITEM_SOURCE_FILE_MANAGE_FORM)
+       {
+               if (__pRenameBitmap == null)
+               {
+                       __pRenameBitmap = MfUtility::MergeBitmapN(IDB_RENAME_OUTER_CIRCLE, IDB_RENAME, W_RENAME_ICON, W_RENAME_ICON);
+               }
+               if (__pRenamePressed == null)
+               {
+                       __pRenamePressed = MfUtility::MergeBitmapN(IDB_RENAME_PRESSED_CIRCLE, IDB_RENAME, W_RENAME_ICON, W_RENAME_ICON);
+               }
+       }
+}
+
+void
+BaseItemProvider::SetFolderEntryProvider(IFolderEntryProviderListener* pProvider)
+{
+       __pProviderPM = pProvider;
+       __pFolderEntryPM = __pProviderPM->GetFoldeEntryPresentationModel();
+}
+
+result
+BaseItemProvider::SetFooterItemStateChangeListener(IListViewStateChangeListener* listener)
+{
+       result r = E_SUCCESS;
+       __pListViewItemStateChangeListener = listener;
+
+       return r;
+}
diff --git a/src/MfBasePresentationModel.cpp b/src/MfBasePresentationModel.cpp
new file mode 100644 (file)
index 0000000..ff3647e
--- /dev/null
@@ -0,0 +1,73 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfBasePresentationModel.cpp
+ * @brief: This file contains implementation of BasePresentationModel class, from which all other Presentation Models
+ * get derived
+ */
+
+#include "MfBasePresentationModel.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Graphics;
+using namespace Tizen::System;
+
+//!Method used to obtain the Home path of the file system.
+Tizen::Base::String
+BasePresentationModel::GetHomePath(void)
+{
+       //Call the Directory GetHomepath method of Io namespace to get the home path and return this path from the function
+       return App::GetInstance()->GetAppRootPath();
+}
+
+//!Method used to obtain the Media path of the file system.
+Tizen::Base::String
+BasePresentationModel::GetMediaPath(void)
+{
+       //Call the Directory Mediapath method of Io namespace to get the media path and return this path from the function
+       //Tizen::Base::String tempString;
+       //tempString.Append(L"/opt/storage/usb/");
+       //return tempString;
+       return Environment::GetMediaPath();
+}
+
+//!Method used to obtain the storage path of the file system.
+Tizen::Base::String
+BasePresentationModel::GetSdCardPath(void)
+{
+       //Call the Directory External Storagepath method of Io namespace to get the Storage path and return this path from the function
+       return Environment::GetExternalStoragePath();
+}
+
+//!Method used to obtain the USB path of the file system.
+Tizen::Base::String
+BasePresentationModel::GetUsbPath(void)
+{
+       String usbPath;
+       usbPath = L"/opt/storage/usb";
+       // Call the Directory External Storagepath method of Io namespace to get the Storage path and return this path from the function
+       //         return Environment::GetExternalStoragePath();
+
+       return usbPath;
+}
+
+void
+BasePresentationModel::OnFileEventOccured(const unsigned long events, const Tizen::Base::String& path, const unsigned int eventId)
+{
+       //Empty Implementation.
+}
diff --git a/src/MfContentListItem.cpp b/src/MfContentListItem.cpp
new file mode 100644 (file)
index 0000000..1923a2b
--- /dev/null
@@ -0,0 +1,843 @@
+//\r
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.\r
+//\r
+// Licensed under the Flora License, Version 1.0 (the License);\r
+// you may not use this file except in compliance with the License.\r
+// You may obtain a copy of the License at\r
+//\r
+//     http://floralicense.org/license/\r
+//\r
+// Unless required by applicable law or agreed to in writing, software\r
+// distributed under the License is distributed on an AS IS BASIS,\r
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+// See the License for the specific language governing permissions and\r
+// limitations under the License.\r
+//\r
+\r
+/**\r
+ * @file: MfContentListViewItem.cpp\r
+ * @brief: This file contains implementation of ContentListItem class, which is used to\r
+ * customize and personalize the Listview elements.\r
+ */\r
+\r
+#include "MfContentListItem.h"\r
+#include "MfMyFilesApp.h"\r
+\r
+using namespace Tizen::App;\r
+using namespace Tizen::Base;\r
+using namespace Tizen::Base::Collection;\r
+using namespace Tizen::Base::Utility;\r
+using namespace Tizen::Graphics;\r
+using namespace Tizen::Media;\r
+using namespace Tizen::System;\r
+using namespace Tizen::Ui;\r
+using namespace Tizen::Ui::Controls;\r
+\r
+ContentListItem::ContentListItem(int nWidth, int nHeight, bool isSearchedtextPresent)\r
+{\r
+       AppLogDebug("Entry");\r
+       COLOR_TITLE = Color::GetColor(COLOR_ID_BLACK);\r
+       COLOR_DATE = Color(124, 124, 124);\r
+       __contentTitle = L"";\r
+       __creationDate = L"";\r
+       __descriptionText = L"";\r
+       __searchedText = L"";\r
+\r
+       __itemWidth = nWidth;\r
+       __itemHeight = nHeight;\r
+       __pBg = null;\r
+       __pThumbnailBitmap = null;\r
+       __pFtTitle = null;\r
+\r
+       __titleRect.SetBounds(0, 0, 0, 0);\r
+       __thumbnailRect.SetBounds(0, 0, 0, 0);\r
+\r
+       __detailedListDateRect.SetBounds(0, 0, 0, 0);\r
+       __detailedListDescriptionRect.SetBounds(0, 0, 0, 0);\r
+       __detailedListThumbnailRect.SetBounds(0, 0, 0, 0);\r
+       ;\r
+       __detailedListTitleRect.SetBounds(0, 0, 0, 0);\r
+\r
+       __pRenameBitmap = null;\r
+       __pPlayBitmap = null;\r
+       __pPauseBitmap = null;\r
+\r
+       __editRenameRect.SetBounds(0, 0, 0, 0);\r
+       __editDateRect.SetBounds(0, 0, 0, 0);\r
+       __editPlayRect.SetBounds(0, 0, 0, 0);\r
+       __editPauseRect.SetBounds(0, 0, 0, 0);\r
+\r
+       __isSearchedTextPresent = isSearchedtextPresent;\r
+       __searchedText = L"";\r
+\r
+       __pFtDescriptionText = null;\r
+       __pFtCreationDate = null;\r
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));\r
+\r
+}\r
+\r
+ContentListItem::~ContentListItem(void)\r
+{\r
+       AppLogDebug("Entry");\r
+\r
+       if (__pFtTitle != null)\r
+       {\r
+               delete __pFtTitle;\r
+       }\r
+       if (__pFtDescriptionText != null)\r
+       {\r
+               delete __pFtDescriptionText;\r
+       }\r
+       if (__pFtCreationDate != null)\r
+       {\r
+               delete __pFtCreationDate;\r
+       }\r
+       if (__pBg != null)\r
+       {\r
+               delete __pBg;\r
+       }\r
+#if 0\r
+       if (__pThumbnailBitmap != null)\r
+       {\r
+               delete __pThumbnailBitmap;\r
+       }\r
+#endif\r
+\r
+       /*if (__pPlayBitmap != null)\r
+       {\r
+           delete __pPlayBitmap;\r
+       }\r
+\r
+       if (__pPauseBitmap != null)\r
+       {\r
+           delete __pPauseBitmap;\r
+       }*/\r
+\r
+       RemoveAllElements();            //Code to remove CustomItem elements.\r
+\r
+       AppLogDebug("ContentListItem::~ContentListItem()");\r
+}\r
+\r
+ContentListItem&\r
+ContentListItem::operator =(const ContentListItem& contentListItem)\r
+{\r
+       return *this;\r
+}\r
+\r
+ContentListItem::ContentListItem(const ContentListItem& contentListItem)\r
+{\r
+       //Do Nothing\r
+}\r
+\r
+void\r
+ContentListItem::Refresh(void)\r
+{\r
+       AppLogDebug("Entry");\r
+       int thumbnailX = X_LISTVIEW;\r
+       int normalGap = X_LISTVIEW;\r
+       int thumbnailWidth = W_LISTVIEW_ITEM_BITMAP;\r
+       int nMultiTextWidth = __itemWidth - thumbnailX - thumbnailWidth - 2 * normalGap;\r
+\r
+       if (__pThumbnailBitmap != null)\r
+       {\r
+               AddElement(__thumbnailRect, CONTENT_LIST_ITEM_TYPE_THUMBNAIL, *__pThumbnailBitmap, __pThumbnailBitmap, __pThumbnailBitmap);\r
+       }\r
+\r
+       // Title\r
+       __pFtTitle = new (std::nothrow) FormatedText(nMultiTextWidth);\r
+       if (__pFtTitle == null)\r
+               return;\r
+\r
+       if (__isSearchedTextPresent && __searchedText.GetLength() > 0)\r
+       {\r
+               String tempTitleString = __contentTitle;\r
+               tempTitleString.ToLowerCase();\r
+               bool found = false;\r
+               __searchedText.ToLowerCase();\r
+               String temp1 = L"", temp2 = L"", temp3 = L"";\r
+\r
+               if (tempTitleString.StartsWith(__searchedText, 0))\r
+               {\r
+                       found = true;\r
+                       __contentTitle.SubString(0, __searchedText.GetLength(), temp1);\r
+                       __contentTitle.SubString(__searchedText.GetLength(), __contentTitle.GetLength() - __searchedText.GetLength(), temp2);\r
+\r
+                       Color titleColor = Color(42, 137, 194);\r
+                       __pFtTitle->AddText(temp1, FONT_MAIN, titleColor);\r
+                       __pFtTitle->AddText(temp2, FONT_MAIN, COLOR_TITLE);\r
+               }\r
+               else\r
+               {\r
+                       int index = -1;\r
+                       tempTitleString.IndexOf(__searchedText, 0, index);\r
+                       if (index > -1)\r
+                       {\r
+                               __contentTitle.SubString(0, index, temp1);\r
+                               __contentTitle.SubString(index, __searchedText.GetLength(), temp2);\r
+                               __contentTitle.SubString(index + __searchedText.GetLength(), tempTitleString.GetLength() - __searchedText.GetLength() - index, temp3);\r
+                       }\r
+                       else\r
+                       {\r
+                               __contentTitle.SubString(0, tempTitleString.GetLength(), temp1);\r
+                       }\r
+                       __pFtTitle->SetTextWrap(TEXT_WRAP_NONE);\r
+                       Color titleColor = Color(42, 137, 194);\r
+                       if (temp1.GetLength() > 0)\r
+                               __pFtTitle->AddText(temp1, FONT_MAIN, COLOR_TITLE);\r
+                       if (temp2.GetLength() > 0)\r
+                               __pFtTitle->AddText(temp2, FONT_MAIN, titleColor);\r
+                       if (temp3.GetLength() > 0)\r
+                               __pFtTitle->AddText(temp3, FONT_MAIN, COLOR_TITLE);\r
+               }\r
+       }\r
+       else\r
+       {\r
+               __pFtTitle->SetTextWrap(TEXT_WRAP_NONE);\r
+               __pFtTitle->AddText(__contentTitle, FONT_MAIN, COLOR_TITLE);\r
+       }\r
+       AddElement(__titleRect, CONTENT_LIST_ITEM_TYPE_TITLE, *__pFtTitle);\r
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));\r
+}\r
+\r
+void\r
+ContentListItem::GetItemSize(int& itemHeight, int& titleHeight)\r
+{\r
+       AppLogDebug("Entry");\r
+       int y = X_LISTVIEW;\r
+       titleHeight = 0;\r
+       titleHeight = GetTitleHeight(__contentTitle);\r
+\r
+       //Calculate Y position of Description\r
+       y += H_LISTVIEW_ITEM_BITMAP;\r
+       y += 2 * X_LISTVIEW; //Gap of 20 between title and content\r
+\r
+       itemHeight = H_ITEM_LISTVIEW;\r
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));\r
+}\r
+void\r
+ContentListItem::MakePlainTitleItem(void)\r
+{\r
+       //__itemHeight = 0;\r
+       int titleHeight = 0;\r
+       int w_Title = __itemWidth - ((W_LISTVIEW_ITEM_BITMAP * 4) + (4 * X_LISTVIEW));\r
+\r
+       GetItemSize(__itemHeight, titleHeight);\r
+\r
+       Construct(Dimension(__itemWidth, __itemHeight), LIST_ANNEX_STYLE_MARK);\r
+       SetElementTextVerticalAlignment(CONTENT_LIST_ITEM_TYPE_TITLE, ALIGNMENT_MIDDLE);\r
+\r
+       __titleRect.SetBounds(X_LISTVIEW, (__itemHeight - titleHeight) / 2, w_Title, 60);\r
+\r
+       Refresh();\r
+\r
+}\r
+void\r
+ContentListItem::Make(void)\r
+{\r
+       AppLogDebug("Entry");\r
+       __itemHeight = 0;\r
+       int titleHeight = 0;\r
+\r
+       GetItemSize(__itemHeight, titleHeight);\r
+\r
+       Construct(Dimension(__itemWidth, __itemHeight), LIST_ANNEX_STYLE_NORMAL);\r
+       SetElementTextVerticalAlignment(CONTENT_LIST_ITEM_TYPE_TITLE, ALIGNMENT_MIDDLE);\r
+\r
+       CreateFormatRectangle(__itemHeight, titleHeight);\r
+       Refresh();\r
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));\r
+}\r
+\r
+void\r
+ContentListItem::MakeFileManageFormListItem(void)\r
+{\r
+       AppLogDebug("Entry");\r
+       int titleHeight = 0;\r
+       GetItemSize(__itemHeight, titleHeight);\r
+\r
+       Construct(Dimension(__itemWidth, __itemHeight), LIST_ANNEX_STYLE_MARK);\r
+\r
+       //SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED, Color::GetColor(COLOR_ID_WHITE));\r
+       SetElementTextVerticalAlignment(CONTENT_LIST_ITEM_TYPE_THUMBNAIL, ALIGNMENT_MIDDLE);\r
+       SetElementTextVerticalAlignment(CONTENT_LIST_ITEM_TYPE_DATE, ALIGNMENT_BOTTOM);\r
+       SetElementTextVerticalAlignment(CONTENT_LIST_ITEM_TYPE_RENAME, ALIGNMENT_MIDDLE);\r
+\r
+       CreateFormatRectangleForFileManageForm(__itemHeight, titleHeight);\r
+       RefreshFileManageFormListItem();\r
+\r
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));\r
+}\r
+\r
+void\r
+ContentListItem::CreateFormatRectangle(int itemHeight, int textHeight)\r
+{\r
+       AppLogDebug("Entry");\r
+       int thumbnailX = X_LISTVIEW;\r
+       int thumbnailY = X_LISTVIEW;\r
+\r
+       int normalGap = X_LISTVIEW;\r
+       int thumbnailWidth = W_LISTVIEW_ITEM_BITMAP;\r
+       int thumbnailHeight = H_LISTVIEW_ITEM_BITMAP;\r
+\r
+       int width = __itemWidth;\r
+       int w_Title = width - (W_LISTVIEW_ITEM_BITMAP + 3 * X_LISTVIEW);\r
+\r
+       __thumbnailRect.SetBounds(thumbnailX, thumbnailY, thumbnailWidth, thumbnailHeight); //right side width:20\r
+\r
+       if (!__creationDate.IsEmpty())\r
+       {\r
+               SetElementTextVerticalAlignment(CONTENT_LIST_ITEM_TYPE_TITLE, ALIGNMENT_MIDDLE);\r
+               __titleRect.SetBounds(thumbnailX + thumbnailWidth + normalGap, thumbnailY, w_Title, H_LISTVIEW_ITEM_TITLE);\r
+       }\r
+       else\r
+       {\r
+               SetElementTextVerticalAlignment(CONTENT_LIST_ITEM_TYPE_TITLE, ALIGNMENT_MIDDLE);\r
+               __titleRect.SetBounds(thumbnailX + thumbnailWidth + normalGap, (itemHeight - textHeight) / 2, w_Title, H_LISTVIEW_ITEM_TITLE);\r
+       }\r
+}\r
+\r
+void\r
+ContentListItem::CreateFormatRectangleForFileManageForm(int itemHeight, int textHeight)\r
+{\r
+       AppLogDebug("Entry");\r
+       int thumbnailX = X_LISTVIEW;\r
+       int thumbnailY = X_LISTVIEW;\r
+\r
+       int normalGap = X_LISTVIEW;\r
+       int thumbnailWidth = W_LISTVIEW_ITEM_BITMAP;\r
+       int thumbnailHeight = H_LISTVIEW_ITEM_BITMAP;\r
+\r
+       int width = __itemWidth;\r
+       int w_Rename = W_RENAME_ICON;\r
+       int h_Rename = W_RENAME_ICON;\r
+\r
+       int w_Title = width - (W_LISTVIEW_ITEM_BITMAP + (4 * X_LISTVIEW) + w_Rename + W_RENAME_ICON);\r
+       int x_Rename = width - (w_Rename + W_RENAME_ICON + (2 * X_LISTVIEW));\r
+\r
+\r
+       __thumbnailRect.SetBounds(thumbnailX, thumbnailY, thumbnailWidth, thumbnailHeight); //right side width:20\r
+\r
+       if (!__creationDate.IsEmpty())\r
+       {\r
+               SetElementTextVerticalAlignment(CONTENT_LIST_ITEM_TYPE_TITLE, ALIGNMENT_MIDDLE);\r
+               __titleRect.SetBounds(thumbnailX + thumbnailWidth + normalGap, Y_LISTVIEW, w_Title, H_LISTVIEW_ITEM_TITLE);\r
+       }\r
+       else\r
+       {\r
+               SetElementTextVerticalAlignment(CONTENT_LIST_ITEM_TYPE_TITLE, ALIGNMENT_MIDDLE);\r
+               __titleRect.SetBounds(thumbnailX + thumbnailWidth + normalGap, (itemHeight - textHeight) / 2, w_Title, H_LISTVIEW_ITEM_TITLE);\r
+       }\r
+       __editRenameRect.SetBounds(x_Rename, thumbnailY, w_Rename, h_Rename);\r
+       __editDateRect.SetBounds(thumbnailX + thumbnailWidth + normalGap, H_LISTVIEW_ITEM_TITLE + Y_LISTVIEW, w_Title, H_LISTVIEW_ITEM_DESCRIPTION);\r
+}\r
+void\r
+ContentListItem::SetThumbnail(const Bitmap* picture)\r
+{\r
+       AppLogDebug("Entry");\r
+       if (__pThumbnailBitmap)\r
+       {\r
+               delete __pThumbnailBitmap;\r
+               __pThumbnailBitmap = null;\r
+       }\r
+       __pThumbnailBitmap = (Bitmap*) picture;\r
+       AppLogDebug("Exit ");\r
+}\r
+\r
+void\r
+ContentListItem::SetTitle(const String& title, const String& searchedText)\r
+{\r
+       AppLogDebug("Entry");\r
+       __contentTitle = title;\r
+       if (__isSearchedTextPresent == true)\r
+       {\r
+               __searchedText = searchedText;\r
+       }\r
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));\r
+}\r
+\r
+void\r
+ContentListItem::SetDescription(const String& descriptionText)\r
+{\r
+       AppLogDebug("Entry");\r
+       __descriptionText = descriptionText;\r
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));\r
+}\r
+\r
+void\r
+ContentListItem::SetDate(const String& date)\r
+{\r
+       AppLogDebug("Entry");\r
+       __creationDate = date;\r
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));\r
+}\r
+\r
+int\r
+ContentListItem::GetTitleHeight(String& title)\r
+{\r
+       AppLogDebug("Entry");\r
+       int thumbnailX = X_LISTVIEW;\r
+       int normalGap = X_LISTVIEW;\r
+       int thumbnailWidth = W_LISTVIEW_ITEM_BITMAP;\r
+       int nMultiTextWidth = __itemWidth - thumbnailX - thumbnailWidth - 2 * normalGap;\r
+\r
+       if (title.GetLength() <= 0)\r
+               return 0;\r
+       FormatedText ft(nMultiTextWidth);\r
+\r
+       ft.AddText(title, FONT_MAIN, COLOR_TITLE);\r
+       //ft.SetLineSpace(1);\r
+\r
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));\r
+       return ft.GetHeight();\r
+}\r
+\r
+void\r
+ContentListItem::SetBackground(const Bitmap* pBg)\r
+{\r
+       AppLogDebug("Entry");\r
+       __pBg = (Bitmap*) pBg;\r
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));\r
+}\r
+\r
+void\r
+ContentListItem::MakeDetailedListItem(void)\r
+{\r
+       AppLogDebug("Entry");\r
+       int titleHeight = 0;\r
+\r
+       Construct(Dimension(__itemWidth, __itemHeight), LIST_ANNEX_STYLE_NORMAL);\r
+       SetElementTextVerticalAlignment(DETAILED_LIST_ELEMENTS_TITLE, ALIGNMENT_MIDDLE);\r
+       SetElementTextVerticalAlignment(DETAILED_LIST_ELEMENTS_DESCRIPTION, ALIGNMENT_MIDDLE);\r
+       SetElementTextVerticalAlignment(DETAILED_LIST_ELEMENTS_CREATION_DATE, ALIGNMENT_MIDDLE);\r
+       SetElementTextVerticalAlignment(DETAILED_LIST_ELEMENTS_RENAME, ALIGNMENT_MIDDLE);\r
+\r
+       CreateFormatRectangleForDetailedList(__itemHeight, titleHeight);\r
+       RefreshDetailedListItem();\r
+\r
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));\r
+}\r
+\r
+void\r
+ContentListItem::MakeFileManageFormDetailedListItem(void)\r
+{\r
+       AppLogDebug("ENTRY::ContentListItem::MakeFileManageFormDetailedListItem()");\r
+       int titleHeight = 0;\r
+\r
+       Construct(Dimension(__itemWidth, __itemHeight), LIST_ANNEX_STYLE_MARK);\r
+       SetElementTextVerticalAlignment(DETAILED_LIST_ELEMENTS_TITLE, ALIGNMENT_MIDDLE);\r
+       SetElementTextVerticalAlignment(DETAILED_LIST_ELEMENTS_DESCRIPTION, ALIGNMENT_MIDDLE);\r
+       SetElementTextVerticalAlignment(DETAILED_LIST_ELEMENTS_CREATION_DATE, ALIGNMENT_MIDDLE);\r
+       SetElementTextVerticalAlignment(DETAILED_LIST_ELEMENTS_RENAME, ALIGNMENT_MIDDLE);\r
+\r
+       CreateFormatRectangleForDetailedList(__itemHeight, titleHeight);\r
+       RefreshDetailedListItem();\r
+       AppLogDebug("EXIT::ContentListItem::MakeFileManageFormDetailedListItem()");\r
+}\r
+\r
+void\r
+ContentListItem::RefreshDetailedListItem(void)\r
+{\r
+       AppLogDebug("Entry");\r
+       int nMultiTextWidth = (__itemWidth - (4 * X_LISTVIEW - W_LISTVIEW_ITEM_BITMAP)) / 2;\r
+\r
+       //Bitmap\r
+       if (__pThumbnailBitmap != null)\r
+       {\r
+               AddElement(__thumbnailRect, DETAILED_LIST_ELEMENTS_THUMBNAIL, *__pThumbnailBitmap, __pThumbnailBitmap, __pThumbnailBitmap);\r
+       }\r
+\r
+       // Title\r
+       __pFtTitle = new (std::nothrow) FormatedText(nMultiTextWidth);\r
+       if (__pFtTitle == null)\r
+               return;\r
+\r
+       __pFtTitle->AddText(__contentTitle, FONT_MAIN, COLOR_TITLE);\r
+       AddElement(__titleRect, DETAILED_LIST_ELEMENTS_TITLE, *__pFtTitle);\r
+\r
+       // Description Text\r
+       __pFtDescriptionText = new (std::nothrow) FormatedText(nMultiTextWidth);\r
+       if (__pFtDescriptionText == null)\r
+               return;\r
+\r
+       __pFtDescriptionText->SetAlignment(TEXT_ALIGNMENT_LEFT, TEXT_ALIGNMENT_MIDDLE);\r
+\r
+       if (!__descriptionText.IsEmpty())\r
+       {\r
+               __pFtDescriptionText->SetTextWrap(TEXT_WRAP_NONE);\r
+               __pFtDescriptionText->AddText(__descriptionText, FONT_SUB, COLOR_DATE);\r
+               AddElement(__detailedListDescriptionRect, DETAILED_LIST_ELEMENTS_DESCRIPTION, *__pFtDescriptionText);\r
+       }\r
+\r
+       //CreationDate\r
+       __pFtCreationDate = new (std::nothrow) FormatedText(nMultiTextWidth);\r
+       if (__pFtCreationDate == null)\r
+               return;\r
+\r
+       if (!__creationDate.IsEmpty())\r
+       {\r
+               __pFtCreationDate->SetTextWrap(TEXT_WRAP_NONE);\r
+               __pFtCreationDate->SetAlignment(TEXT_ALIGNMENT_RIGHT, TEXT_ALIGNMENT_MIDDLE);\r
+               __pFtCreationDate->AddText(__creationDate, FONT_SUB, COLOR_DATE);\r
+               AddElement(__detailedListDateRect, DETAILED_LIST_ELEMENTS_CREATION_DATE, *__pFtCreationDate);\r
+       }\r
+\r
+       if (__pRenameBitmap != null)\r
+       {\r
+               AddElement(__editRenameRect, DETAILED_LIST_ELEMENTS_RENAME, *__pRenameBitmap, __pRenameBitmap, __pRenameBitmap);\r
+       }\r
+\r
+}\r
+\r
+void\r
+ContentListItem::CreateFormatRectangleForDetailedList(int itemHeight, int textHeight)\r
+{\r
+       AppLogDebug("Entry");\r
+       int width = __itemWidth;\r
+\r
+       itemHeight = itemHeight - (2 * X_LISTVIEW);\r
+       //Bitmap\r
+       int thumbnailX = X_LISTVIEW;\r
+       int thumbnailY = (H_DETAIL_LISTVIEW - H_LISTVIEW_ITEM_BITMAP) / 2;\r
+\r
+       //int normalGap = DETAILEDLIST_COMMON_OFFSET;\r
+       int thumbnailWidth = W_LISTVIEW_ITEM_BITMAP;\r
+       int thumbnailHeight = H_LISTVIEW_ITEM_BITMAP;\r
+\r
+       int bitmapElementWidth = thumbnailWidth + 2 * X_LISTVIEW;\r
+       //Title\r
+       int x_Title = bitmapElementWidth;\r
+       int y_Title = Y_LISTVIEW;\r
+       int w_Title = width - (thumbnailWidth + 3 * X_LISTVIEW); //width - (W_LISTVIEW_ITEM_BITMAP + 3 * LISTVIEW_COMMON_OFFSET);;\r
+       int h_Title = H_LISTVIEW_ITEM_TITLE;\r
+\r
+       //Description\r
+       int x_Description = x_Title; //width - (W_DETAILED_LIST_DESCRIPTION_TEXT + X_LISTVIEW);\r
+       int y_Description = h_Title + X_LISTVIEW; //X_DETAILEDLIST_COMMON_OFFSET;\r
+       int w_Description = width / 2;\r
+       int h_Description = H_LISTVIEW_ITEM_DESCRIPTION;\r
+\r
+       //Date\r
+       int x_CreationDate = width / 2 + X_LISTVIEW; //(3 * X_DETAILEDLIST_COMMON_OFFSET) + thumbnailWidth + w_Description;//x_Title;\r
+       int y_CreationDate = h_Title + X_LISTVIEW;\r
+       int w_CreationDate = (width / 2) - (2 * X_LISTVIEW);\r
+       int h_CreationDate = H_LISTVIEW_ITEM_DESCRIPTION;\r
+\r
+       //Rename\r
+       int x_Rename = x_CreationDate + w_CreationDate;\r
+       int y_Rename = X_LISTVIEW;\r
+       int w_Rename = H_LISTVIEW_ITEM_DESCRIPTION;\r
+       int h_Rename = H_LISTVIEW_ITEM_DESCRIPTION;\r
+\r
+       __thumbnailRect.SetBounds(thumbnailX, thumbnailY, thumbnailWidth, thumbnailHeight); //right side width:20\r
+       __titleRect.SetBounds(x_Title, y_Title, w_Title, h_Title);\r
+       __detailedListDescriptionRect.SetBounds(x_Description, y_Description, w_Description, h_Description);\r
+       __detailedListDateRect.SetBounds(x_CreationDate, y_CreationDate, w_CreationDate, h_CreationDate);\r
+       __editRenameRect.SetBounds(x_Rename, y_Rename, w_Rename, h_Rename);\r
+}\r
+\r
+\r
+void\r
+ContentListItem::SetRenameBitmap(const Bitmap* picture, const Bitmap* pressedPicture)\r
+{\r
+       AppLogDebug("Entry");\r
+       __pRenameBitmap = (Bitmap*) picture;\r
+       __pRenamePressed = (Bitmap*) pressedPicture;\r
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));\r
+\r
+}\r
+\r
+void\r
+ContentListItem::RefreshFileManageFormListItem(void)\r
+{\r
+       int thumbnailX = X_LISTVIEW;\r
+       int normalGap = X_LISTVIEW;\r
+       int thumbnailWidth = W_LISTVIEW_ITEM_BITMAP;\r
+       int nMultiTextWidth = __itemWidth - thumbnailX - thumbnailWidth - 2 * normalGap;\r
+       //Bitmap\r
+       if (__pThumbnailBitmap != null)\r
+       {\r
+               AddElement(__thumbnailRect, CONTENT_LIST_ITEM_TYPE_THUMBNAIL, *__pThumbnailBitmap, __pThumbnailBitmap, __pThumbnailBitmap);\r
+       }\r
+\r
+       // Title\r
+       __pFtTitle = new (std::nothrow) FormatedText(nMultiTextWidth);\r
+       if (__pFtTitle == null)\r
+               return;\r
+\r
+       __pFtTitle->AddText(__contentTitle, FONT_MAIN, COLOR_TITLE);\r
+       AddElement(__titleRect, CONTENT_LIST_ITEM_TYPE_TITLE, *__pFtTitle);\r
+\r
+       //CreationDate\r
+       __pFtCreationDate = new (std::nothrow) FormatedText(nMultiTextWidth);\r
+       if (__pFtCreationDate == null)\r
+               return;\r
+\r
+       __pFtCreationDate->SetTextWrap(TEXT_WRAP_NONE);\r
+       __pFtCreationDate->AddText(__creationDate, FONT_SUB, COLOR_DATE);\r
+       AddElement(__editDateRect, CONTENT_LIST_ITEM_TYPE_DATE, *__pFtCreationDate);\r
+\r
+       //Rename Bitmap\r
+       if (__pRenameBitmap != null)\r
+       {\r
+               AddElement(__editRenameRect, CONTENT_LIST_ITEM_TYPE_RENAME, *__pRenameBitmap, __pRenamePressed, __pRenameBitmap);\r
+       }\r
+\r
+}\r
+\r
+void\r
+ContentListItem::SetTitleColor(const Color& colorTitle)\r
+{\r
+       COLOR_TITLE = colorTitle;\r
+}\r
+\r
+void\r
+ContentListItem::SetDescColor(const Color& colorDesc)\r
+{\r
+       COLOR_TITLE = colorDesc;\r
+}\r
+\r
+void\r
+ContentListItem::SetTimeColor(const Color& colorTime)\r
+{\r
+       COLOR_DATE = colorTime;\r
+}\r
+\r
+/*\r
+ * SearchAllFoldersItem\r
+ */\r
+\r
+SearchAllFolders::SearchAllFolders(String text)\r
+{\r
+       __text = text;  //FbkGetString(L"IDS_SHOWMORE");\r
+\r
+}\r
+\r
+SearchAllFolders::~SearchAllFolders(void)\r
+{\r
+       //Empty Implementation\r
+}\r
+\r
+SearchAllFolders&\r
+SearchAllFolders::operator =(const SearchAllFolders& searchAllFolders)\r
+{\r
+       return *this;\r
+}\r
+\r
+SearchAllFolders::SearchAllFolders(const SearchAllFolders& searchAllFolders)\r
+{\r
+       //Do Nothing\r
+}\r
+\r
+bool\r
+SearchAllFolders::OnDraw(Tizen::Graphics::Canvas& canvas, const Tizen::Graphics::Rectangle& rect, Tizen::Ui::Controls::ListItemDrawingStatus status)\r
+{\r
+       Canvas* pCanvas = const_cast< Canvas* >(&canvas);\r
+\r
+       Dimension rectSearchAllFolders(10, 10);\r
+       pCanvas->DrawRoundRectangle(rect, rectSearchAllFolders);\r
+       if (status == LIST_ITEM_DRAWING_STATUS_NORMAL)\r
+       {\r
+               pCanvas->FillRoundRectangle(Color(129, 141, 149), rect, rectSearchAllFolders);\r
+       }\r
+       else\r
+       {\r
+               pCanvas->FillRoundRectangle(Color(58, 119, 153), rect, rectSearchAllFolders);\r
+       }\r
+\r
+\r
+       // draw text\r
+       Dimension dim(rect.width, rect.height);\r
+\r
+       EnrichedText enrichedText;\r
+       enrichedText.Construct(dim);\r
+\r
+       enrichedText.SetHorizontalAlignment(TEXT_ALIGNMENT_CENTER);\r
+       enrichedText.SetVerticalAlignment(TEXT_ALIGNMENT_MIDDLE);\r
+       enrichedText.SetTextWrapStyle(TEXT_WRAP_WORD_WRAP);\r
+       enrichedText.SetTextAbbreviationEnabled(false);\r
+       //et.SetLineSpace(0);\r
+\r
+       TextElement textElement;\r
+       textElement.Construct(__text);\r
+       textElement.SetFont(*FontManager::GetFont(FONT_MAIN));\r
+\r
+       textElement.SetTextColor(Color(0, 0, 0));\r
+\r
+       enrichedText.Add(textElement);\r
+       enrichedText.Refresh();\r
+\r
+       pCanvas->DrawText(Point(0, 0), enrichedText);\r
+\r
+       return true;\r
+\r
+}\r
+\r
+SearchAllFoldersItem::SearchAllFoldersItem(int width, int height, String text = "")\r
+{\r
+\r
+       __height = height;\r
+       __width = width;\r
+       __text = text;\r
+       __pElement = null;\r
+\r
+       Construct(Dimension(width, height), LIST_ANNEX_STYLE_NORMAL);\r
+       SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED, Color::GetColor(COLOR_ID_WHITE));\r
+       CreateFormatRectangle();\r
+\r
+       __pElement = new (std::nothrow) SearchAllFolders(text);\r
+       if (__pElement)\r
+       {\r
+               AddElement(searchAllFoldersRect, H_SEARCH_ALL_FOLDERS, *__pElement);\r
+       }\r
+}\r
+\r
+SearchAllFoldersItem::~SearchAllFoldersItem(void)\r
+{\r
+       if (__pElement)\r
+               delete __pElement;\r
+}\r
+\r
+void\r
+SearchAllFoldersItem::CreateFormatRectangle(void)\r
+{\r
+\r
+       int height = H_SEARCH_ALL_FOLDERS;\r
+\r
+       searchAllFoldersRect.SetBounds(X_SEARCH_ALL_FOLDERS, (__height - height) / 2, __width - (2 * X_SEARCH_ALL_FOLDERS), height);\r
+\r
+}\r
+\r
+void\r
+ContentListItem::SetAudioBitmap(const Bitmap* pBitmapplay, const Bitmap* pBitmapPause)\r
+{\r
+       AppLogDebug("Entry");\r
+\r
+       if (pBitmapplay != null)\r
+       {\r
+               __pPlayBitmap = (Bitmap*) pBitmapplay;\r
+       }\r
+\r
+       if (pBitmapPause != null)\r
+       {\r
+               __pPauseBitmap = (Bitmap*) pBitmapPause;\r
+       }\r
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));\r
+\r
+}\r
+\r
+void\r
+ContentListItem::MakeAppControlFormListItem(void)\r
+{\r
+       AppLogDebug("Entry");\r
+       int titleHeight = 0;\r
+       GetItemSize(__itemHeight, titleHeight);\r
+\r
+       if (__currentListStyle == ANNEX_STYLE_NORMAL)\r
+       {\r
+               Construct(Dimension(__itemWidth, __itemHeight), LIST_ANNEX_STYLE_NORMAL);\r
+       }\r
+       else if (__currentListStyle == ANNEX_STYLE_RADIO)\r
+       {\r
+               Construct(Dimension(__itemWidth, __itemHeight), LIST_ANNEX_STYLE_RADIO);\r
+       }\r
+       else if (__currentListStyle == ANNEX_STYLE_MARK)\r
+       {\r
+               Construct(Dimension(__itemWidth, __itemHeight), LIST_ANNEX_STYLE_MARK);\r
+       }\r
+\r
+       SetElementTextVerticalAlignment(CONTENT_LIST_ITEM_TYPE_TITLE, ALIGNMENT_MIDDLE);\r
+\r
+       CreateFormatRectangleForAppControl(__itemHeight, titleHeight);\r
+       RefreshAppControlListItem();\r
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));\r
+}\r
+\r
+void\r
+ContentListItem::SetListAnnexStyle(AnnexStyle currentStyle)\r
+{\r
+       __currentListStyle = currentStyle;\r
+}\r
+\r
+void\r
+ContentListItem::RefreshAppControlListItem(void)\r
+{\r
+       AppLogDebug("Entry");\r
+       int thumbnailX = X_LISTVIEW;\r
+       int normalGap = X_LISTVIEW;\r
+       int thumbnailWidth = W_LISTVIEW_ITEM_BITMAP;\r
+       int nMultiTextWidth = __itemWidth - thumbnailX - thumbnailWidth - 2 * normalGap;\r
+\r
+       if (__pThumbnailBitmap != null)\r
+       {\r
+               AddElement(__thumbnailRect, CONTENT_LIST_ITEM_TYPE_THUMBNAIL, *__pThumbnailBitmap, __pThumbnailBitmap, __pThumbnailBitmap);\r
+       }\r
+\r
+       // Title\r
+       __pFtTitle = new (std::nothrow) FormatedText(nMultiTextWidth);\r
+       if (__pFtTitle == null)\r
+               return;\r
+\r
+       __pFtTitle->SetTextWrap(TEXT_WRAP_NONE);\r
+       __pFtTitle->AddText(__contentTitle, FONT_MAIN, COLOR_TITLE);\r
+\r
+       AddElement(__titleRect, CONTENT_LIST_ITEM_TYPE_TITLE, *__pFtTitle);\r
+\r
+       if (__pPlayBitmap != null)\r
+       {\r
+               AddElement(__editPlayRect, CONTENT_LIST_ITEM_TYPE_PLAY, *__pPlayBitmap, __pPlayBitmap, __pPlayBitmap);\r
+       }\r
+       else if (__pPauseBitmap != null)\r
+       {\r
+               AddElement(__editPauseRect, CONTENT_LIST_ITEM_TYPE_PAUSE, *__pPauseBitmap, __pPauseBitmap, __pPauseBitmap);\r
+       }\r
+\r
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));\r
+}\r
+\r
+void\r
+ContentListItem::CreateFormatRectangleForAppControl(int itemHeight, int textHeight)\r
+{\r
+       AppLogDebug("Entry");\r
+       int thumbnailX = X_LISTVIEW;\r
+       int thumbnailY = X_LISTVIEW;\r
+\r
+       int normalGap = X_LISTVIEW;\r
+       int thumbnailWidth = W_LISTVIEW_ITEM_BITMAP;\r
+       int thumbnailHeight = H_LISTVIEW_ITEM_BITMAP;\r
+\r
+       int width = __itemWidth;\r
+       int w_AudioPlay = W_RENAME_ICON;\r
+       int h_AudioPlay = W_RENAME_ICON;\r
+\r
+       int w_Title = width - (W_LISTVIEW_ITEM_BITMAP + (4 * X_LISTVIEW) + w_AudioPlay + w_AudioPlay);\r
+       int x_Play = width - (w_AudioPlay + w_AudioPlay + (2 * X_LISTVIEW));\r
+       AppControlView currentViewStyle;\r
+\r
+       __thumbnailRect.SetBounds(thumbnailX, thumbnailY, thumbnailWidth, thumbnailHeight); //right side width:20\r
+\r
+\r
+       currentViewStyle = ((MyFilesApp*) Application::GetInstance())->GetCurrentView();\r
+       //currentViewStyle = APPCONTROL_VIEW_EXPORT;\r
+\r
+       SetElementTextVerticalAlignment(CONTENT_LIST_ITEM_TYPE_TITLE, ALIGNMENT_MIDDLE);\r
+\r
+       if (currentViewStyle == APPCONTROL_VIEW_IMPORT)\r
+       {\r
+               w_Title = width - (W_LISTVIEW_ITEM_BITMAP + 3 * X_LISTVIEW) - w_AudioPlay;\r
+       }\r
+       else if (currentViewStyle == APPCONTROL_VIEW_EXPORT)\r
+       {\r
+               w_Title = width - (W_LISTVIEW_ITEM_BITMAP + 3 * X_LISTVIEW);\r
+       }\r
+\r
+       __titleRect.SetBounds(thumbnailX + thumbnailWidth + normalGap, (itemHeight - textHeight) / 2, w_Title, H_LISTVIEW_ITEM_TITLE);\r
+\r
+       if (__pPlayBitmap != null)\r
+       {\r
+               __editPlayRect.SetBounds(x_Play, thumbnailY, w_AudioPlay, h_AudioPlay);\r
+       }\r
+       else if (__pPauseBitmap != null)\r
+       {\r
+               __editPauseRect.SetBounds(x_Play, thumbnailY, w_AudioPlay, h_AudioPlay);\r
+       }\r
+}\r
diff --git a/src/MfCreateFolderForm.cpp b/src/MfCreateFolderForm.cpp
new file mode 100644 (file)
index 0000000..c6afe19
--- /dev/null
@@ -0,0 +1,1268 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfCreateFolderForm.cpp
+ * @brief:This file contains implementation of CreateFolderForm class, which implements the Create Folder and rename file/folder functionality
+ * and contains methods that handle the same. Also contains the ResultValues enum
+ */
+
+#include "MfCreateFolderForm.h"
+#include "MfDirectoryEntry.h"
+#include "MfSceneRegister.h"
+#include "MfTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Content;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Graphics;
+using namespace Tizen::Io;
+using namespace Tizen::Locales;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+CreateFolderForm::CreateFolderForm(void)
+: __pFileManager(null)
+, __pDirectory(null)
+, __pContentManager(null)
+, __launchSource(-1)
+, __pHeaderCancel(null)
+, __pHeaderSave(null)
+, __pEditFieldFolderName(null)
+, __pHeader(null)
+, _pFileProgressingPopup(null)
+{
+       entryIsDirectory = 0;
+}
+
+CreateFolderForm::~CreateFolderForm(void)
+{
+       AppLogDebug("Entry");
+       if (__pHeaderCancel != null)
+       {
+               delete __pHeaderCancel;
+       }
+       if (__pHeaderSave != null)
+       {
+               delete __pHeaderSave;
+       }
+       if (_pFileProgressingPopup != null)
+       {
+               delete _pFileProgressingPopup;
+       }
+       if (__pContentManager != null)
+       {
+               delete __pContentManager;
+       }
+}
+
+CreateFolderForm::CreateFolderForm(const CreateFolderForm& createFolderForm)
+{
+       //Do Nothing
+}
+
+CreateFolderForm&
+CreateFolderForm::operator =(const CreateFolderForm& createFolderForm)
+{
+       AppLogDebug("Entry");
+
+       if (this != &createFolderForm)
+       {
+               __pEditFieldFolderName = createFolderForm.__pEditFieldFolderName;
+               __pHeader = createFolderForm.__pHeader;
+               __pHeaderSave = createFolderForm.__pHeaderSave;
+               __pHeaderCancel = createFolderForm.__pHeaderCancel;
+               __pFileManager = createFolderForm.__pFileManager;
+               __rootPath = createFolderForm.__rootPath;
+       }
+       return *this;
+}
+
+bool
+CreateFolderForm::Initialize(void)
+{
+       AppLogDebug("Entry");
+       //Construct the xml from the Application Resource.
+       Form::Construct(L"IDL_CREATE_FOLDER");
+       return true;
+}
+
+result
+CreateFolderForm::OnInitializing(void)
+{
+       //Set some of the default properties of the
+       AppLogDebug("Entry");
+
+       result r = E_SUCCESS;
+
+       String btnSaveText;
+       String btnCancelText;
+       String btnDoneText;
+
+       Color editFieldBackground(0x18, 0x1C, 0x1F, 0xFF);
+
+       AppResource* pAppResource = null;
+       pAppResource = UiApp::GetInstance()->GetAppResource();
+
+       if (pAppResource != null)
+       {
+               pAppResource->GetString(L"IDS_COM_OPT_SAVE", btnSaveText);
+               pAppResource->GetString(L"IDS_COM_POP_CANCEL", btnCancelText);
+               pAppResource->GetString(L"IDS_COM_BODY_DONE", btnDoneText);
+       }
+
+       SetFormBackEventListener(this);
+       AddTouchEventListener(*this);
+
+       //Add Orientation Event Listener and Set Orientation
+       //      AddOrientationEventListener(*this);
+       //      SetOrientation(ORIENTATION_AUTOMATIC_FOUR_DIRECTION);
+
+       __pHeader = GetHeader();
+       if (__pHeader != null)
+       {
+               __pHeaderSave = new (std::nothrow) ButtonItem();
+               __pHeaderSave->Construct(BUTTON_ITEM_STYLE_ICON, IDA_BUTTON_SAVE);
+               __pHeaderSave->SetText(btnSaveText);
+
+               __pHeaderCancel = new (std::nothrow) ButtonItem();
+               __pHeaderCancel->Construct(BUTTON_ITEM_STYLE_ICON, IDA_BUTTON_CANCEL);
+               __pHeaderCancel->SetText(btnCancelText);
+
+               __pHeader->SetButton(BUTTON_POSITION_LEFT, *__pHeaderSave);
+               __pHeader->SetButton(BUTTON_POSITION_RIGHT, *__pHeaderCancel);
+               __pHeader->AddActionEventListener(*this);
+       }
+
+       //Get the EditFieldControl from the form and set a few properties, set the overlay command buttons
+       //Show the keypad on form initializing.
+       //Set the action and text event listeners to it.
+       __pEditFieldFolderName = static_cast< EditField* >(GetControl(L"IDC_EDITFIELD_FOLDER_NAME", true));
+       if (__pEditFieldFolderName != null)
+       {
+               __pEditFieldFolderName->SetKeypadEnabled(true);
+               __pEditFieldFolderName->SetOverlayKeypadCommandButtonVisible(false);
+               __pEditFieldFolderName->AddKeypadEventListener(*this);
+               __pEditFieldFolderName->ShowKeypad();
+               __pEditFieldFolderName->AddTextEventListener(*this);
+               __pEditFieldFolderName->AddActionEventListener(*this);
+       }
+       //Create New instance of the Filemanager
+       __pFileManager = FolderEntryEditorPresentationModel::GetInstance();
+       TryCatch(__pFileManager != null, , "Failed to allocate file manager");
+
+       return r;
+
+       CATCH:
+       if (__pHeaderSave != null)
+       {
+               delete __pHeaderSave;
+               __pHeaderSave = null;
+       }
+
+       if (__pHeaderCancel != null)
+       {
+               delete __pHeaderCancel;
+               __pHeaderCancel = null;
+       }
+
+       r = E_FAILURE;
+       return r;
+}
+
+result
+CreateFolderForm::OnTerminating(void)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       return r;
+}
+
+void
+CreateFolderForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
+{
+       AppLogDebug("Entry");
+       //Navigates to the previous folder.
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+       if (pSceneManager != null)
+       {
+               pSceneManager->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_NONE), null);
+       }
+}
+
+void
+CreateFolderForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+{
+       AppLogDebug("Entry");
+
+       result r = E_SUCCESS;
+       String folderName;
+       String filePath;
+
+       MessageBox messageBox;
+
+       SceneManager* pSceneManager = null;
+       pSceneManager = SceneManager::GetInstance();
+
+       ResultValues resultValidity = RESULT_VALUES_SUCCESS;
+
+       switch (actionId)
+       {
+       case IDA_BUTTON_SAVE:
+       {
+               if (__pEditFieldFolderName != null)
+               {
+                       SetFocus();
+               }
+
+               if (__launchSource.ToInt() == SELECT_CREATE_FOLDER)
+               {
+                       if (__pEditFieldFolderName != null)
+                       {
+                               folderName.Append(__pEditFieldFolderName->GetText());
+                               folderName.Trim();
+                               AppLogDebug("folder value is %ls",folderName.GetPointer());
+                               __rootPath = FolderNavigationPresentationModel::GetCurrentPath();
+
+                               filePath.Append(__rootPath);
+
+                               __fileName.Clear();
+                               __fileName.Append(__rootPath);
+                               __fileName.Append(folderName);
+
+
+                               if (folderName.CompareTo(".") != 0 && folderName.CompareTo("..") != 0 && folderName.CompareTo("/") != 0)
+                               {
+                                       if (File::IsFileExist(__fileName))
+                                       {
+                                               resultValidity = RESULT_VALUES_FILE_EXISTS;
+                                       }
+                               }
+
+                               //if (__pEditFieldFolderName->GetText().Trim() == "")
+                               if(folderName == "")
+                               {
+                                       resultValidity = RESULT_VALUES_NULL;
+                               }
+
+                               if (resultValidity == RESULT_VALUES_SUCCESS)
+                               {
+                                       r = __pFileManager->CreateFolder(filePath, folderName);
+                                       if (r != E_SUCCESS)
+                                       {
+                                               MessageBox errorMessage;
+                                               String msgString;
+                                               //String invalidCharacterString;
+                                               AppResource::GetInstance()->GetString(L"IDS_CREATE_FOLDER_FAILED", msgString);
+                                               errorMessage.Construct(L"", msgString, MSGBOX_STYLE_NONE, 1000);
+                                       }
+                                       FolderNavigationPresentationModel::SetCurrentFilePath(filePath);
+
+                                       if (pSceneManager != null)
+                                       {
+                                               pSceneManager->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_NONE), null);
+                                       }
+                               }
+                               else
+                               {
+                                       String messageString;
+                                       int modalResult = 0;
+
+                                       if (resultValidity == RESULT_VALUES_FILE_EXISTS)
+                                       {
+                                               //messageString = "Name already exists!\nRetry?";
+                                               AppResource::GetInstance()->GetString(L"IDS_NAME_ALREADY_EXIST", messageString);
+                                       }
+                                       else if (resultValidity == RESULT_VALUES_NULL)
+                                       {
+
+                                               //messageString = "Name can't be empty!\nRetry?";
+                                               AppResource::GetInstance()->GetString(L"IDS_NAME_CANT_EMPTY", messageString);
+                                       }
+
+                                       messageBox.Construct(L"", messageString, MSGBOX_STYLE_YESNO, 0);
+
+                                       // Call ShowAndWait - draw, show itself and process events
+
+                                       messageBox.ShowAndWait(modalResult);
+
+                                       switch (modalResult)
+                                       {
+                                       case MSGBOX_RESULT_YES:
+                                       {
+                                               if (__pEditFieldFolderName != null)
+                                               {
+                                                       __pEditFieldFolderName->ShowKeypad();
+                                               }
+                                       }
+                                       break;
+
+                                       case MSGBOX_RESULT_NO:
+                                       {
+                                               if (pSceneManager != null)
+                                               {
+                                                       pSceneManager->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_NONE), null);
+                                               }
+                                       }
+                                       break;
+
+                                       default:
+                                               break;
+                                       }
+                               }
+                       }
+               }
+               else
+               {
+                       updatedFilePath.Clear();
+                       __fileName.Clear();
+
+                       if (__pEditFieldFolderName != null)
+                       {
+                               __fileName = __pEditFieldFolderName->GetText();
+                               __fileName.Trim();
+                       }
+                       String OriginalName = __pDirectory->GetFileName();
+
+                       if (OriginalName.CompareTo(__fileName) == 0)
+                       {
+                               pSceneManager->GoBackward(BackwardSceneTransition(), null);
+                               return;
+                       }
+
+                       String newRenameValue;
+                       ResultValues resultValidity = RESULT_VALUES_SUCCESS;
+
+                       String delim(L"/");
+                       String token;
+                       int tokenCount;
+                       StringTokenizer tokenizer(__filePath, delim);
+                       int fwdSlashCount = 1;
+
+                       tokenCount = tokenizer.GetTokenCount();
+
+                       while (tokenizer.HasMoreTokens() && fwdSlashCount < tokenCount)
+                       {
+                               fwdSlashCount++;
+                               tokenizer.GetNextToken(token);
+                               updatedFilePath.Append("/");
+                               updatedFilePath.Append(token);
+                       }
+
+                       if (__pEditFieldFolderName != null)
+                       {
+                               updatedFilePath.Append("/");
+                               //updatedFilePath.Append(__pEditFieldFolderName->GetText());
+                               updatedFilePath.Append(__fileName);
+
+                               if (entryIsDirectory == 0)
+                               {
+                                       updatedFilePath.Append(".");
+                                       updatedFilePath.Append(__fileExtension);
+                               }
+
+                               if (__fileName.CompareTo(".") != 0 && __fileName.CompareTo("..") != 0 && __fileName.CompareTo("/") != 0)
+                               {
+                                       //if (!__pEditFieldFolderName->GetText().Equals(__pDirectory->GetFileName()) && (File::IsFileExist(updatedFilePath)))
+                                       if (!__fileName.Equals(__pDirectory->GetFileName()) && (File::IsFileExist(updatedFilePath)))
+                                       {
+                                               resultValidity = RESULT_VALUES_FILE_EXISTS;
+                                       }
+                               }
+
+
+                               if (__fileName == "")
+                               {
+                                       resultValidity = RESULT_VALUES_NULL;
+                               }
+
+
+                               if (resultValidity == RESULT_VALUES_SUCCESS)
+                               {
+                                       String filePath;
+                                       filePath.Append(__filePath);
+
+                                       ShowFileProgressingPopup();
+
+                                       //Rename using IO
+                                       r = Directory::Rename(filePath, updatedFilePath);
+
+                                       __scanDirectoryCallbackCount = 0;
+                                       __pContentManager = new ContentManager();
+                                       __pContentManager->Construct();
+
+                                       FileAttributes fileAttrib;
+                                       File::GetAttributes(updatedFilePath, fileAttrib);
+
+                                       //Update Content DB
+                                       if(fileAttrib.IsDirectory() == true)
+                                       {
+                                               //Directory Case
+                                               r = __pContentManager->ScanDirectory(updatedFilePath, true, *this);
+                                               if (!IsFailed(r))
+                                               {
+                                                       __scanDirectoryCallbackCount++;
+                                                       r = __pContentManager->ScanDirectory(filePath, true, *this);
+                                                       if (!IsFailed(r))
+                                                               __scanDirectoryCallbackCount++;
+                                               }
+                                       }
+                                       else
+                                       {
+                                               //File Case
+                                               r = __pContentManager->ScanFile(updatedFilePath);
+                                               if(!IsFailed(r))
+                                               {
+                                                       r = __pContentManager->ScanFile(filePath);
+                                                       if (!IsFailed(r))
+                                                       {
+                                                               HideFileProgressingPopup();
+
+                                                               __pDirectory->SetFileName(__pEditFieldFolderName->GetText());
+                                                               if (entryIsDirectory == 1)
+                                                               {
+                                                                       updatedFilePath.Append(L"/");
+                                                               }
+                                                               __pDirectory->SetFullFilePath(updatedFilePath);
+                                                               pSceneManager->GoBackward(BackwardSceneTransition(), null);
+                                                       }
+                                               }
+                                       }
+
+                               }
+                               else
+                               {
+                                       String messageString;
+                                       int modalResult = 0;
+
+                                       if (resultValidity == RESULT_VALUES_FILE_EXISTS)
+                                       {
+                                               AppResource::GetInstance()->GetString(L"IDS_NAME_ALREADY_EXIST", messageString);
+                                               //messageString = "Name already exists!\nRetry?";
+                                       }
+                                       /*else if (resultValidity == RESULT_VALUES_INVALID_LENGTH)
+                                       {
+                                           messageString = "Maximum number of characters reached\nRetry?";
+                                       }
+                                       else if (resultValidity == RESULT_VALUES_SPECIAL_CHARACTERS)
+                                       {
+                                           messageString = "Invalid character!\nEnter Again?";
+                                       }*/
+                                       else if (resultValidity == RESULT_VALUES_NULL)
+                                       {
+                                               AppResource::GetInstance()->GetString(L"IDS_NAME_CANT_EMPTY", messageString);
+                                               //messageString = "Name can't be empty!\nRetry?";
+                                       }
+
+                                       messageBox.Construct(L"", messageString, MSGBOX_STYLE_YESNO, 0);
+
+                                       // Call ShowAndWait - draw, show itself and process events
+
+                                       messageBox.ShowAndWait(modalResult);
+
+                                       switch (modalResult)
+                                       {
+                                       case MSGBOX_RESULT_YES:
+                                       {
+                                               __pEditFieldFolderName->ShowKeypad();
+                                       }
+                                       break;
+
+                                       case MSGBOX_RESULT_NO:
+                                       {
+                                               if (pSceneManager != null)
+                                               {
+                                                       ///pSceneManager->GoBackward(null, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT,SCENE_DESTROY_OPTION_DESTROY);
+                                                       pSceneManager->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_DESTROY_OPTION_DESTROY), null);
+                                               }
+                                       }
+                                       break;
+
+                                       default:
+                                               //Empty Implementation.
+                                               break;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       break;
+
+       case IDA_BUTTON_CANCEL:
+       {
+               //              //Closes the view and navigates to the previous form.
+               if (pSceneManager != null)
+               {
+                       pSceneManager->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_NONE), null);
+               }
+
+       }
+       break;
+
+       case IDA_KEYPAD_BUTTON_DONE:
+       {
+               //Hides the Keypad
+               if (__pEditFieldFolderName != null)
+               {
+                       __pEditFieldFolderName->HideKeypad();
+               }
+       }
+       break;
+
+       case IDA_KEYPAD_BUTTON_CANCEL:
+       {
+               //Hides the keypad
+               if (__pEditFieldFolderName != null)
+               {
+                       __pEditFieldFolderName->HideKeypad();
+               }
+       }
+       break;
+
+       default:
+       {
+               //Empty Implementation.
+       }
+       break;
+       }
+}
+
+void
+CreateFolderForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+               const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
+{
+       AppLogDebug("Entry");
+       Integer* pSourceForm = null;
+       String renameHeaderText;
+       String createFolderText;
+       String newName;
+       Label* pFolderName = null;
+       Panel* pFolderPanel = null;
+       AppResource* pAppResource = null;
+
+       if (__pEditFieldFolderName != null)
+       {
+               __pEditFieldFolderName->ShowKeypad();
+       }
+
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+#if 0
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_USB_CLIENT, *this);
+#endif
+
+       SceneManager::GetInstance()->AddSceneManagerEventListener(*this);
+
+       if (pArgs != null)
+       {
+               pSourceForm = static_cast< Integer* >(pArgs->GetAt(0));
+               __launchSource = *pSourceForm;
+
+               pAppResource = Application::GetInstance()->GetAppResource();
+
+               if (__launchSource.ToInt() == SELECT_RENAME)
+               {
+                       pFolderName = static_cast< Label* >(GetControl("IDC_LABEL_FOLDER_NAME", true));
+                       pFolderPanel = static_cast< Panel* >(GetControl("IDC_PANEL_EDIT_FIELD", true));
+
+                       if (__pEditFieldFolderName != null)
+                       {
+                               if (pFolderName != null)
+                               {
+                                       pFolderName->SetShowState(false);
+                               }
+
+                               if (pFolderPanel != null)
+                               {
+                                       pFolderPanel->SetBounds(Rectangle(X_DEFAULT, Y_DEFAULT, GetClientAreaBounds().width, H_RENAME_PANEL));
+                                       __pEditFieldFolderName->SetBounds(Rectangle(X_DEFAULT, Y_DEFAULT, GetClientAreaBounds().width, H_RENAME_EDITFIELD));
+                               }
+                       }
+
+                       if (pAppResource != null)
+                       {
+                               pAppResource->GetString(L"IDS_MF_BODY_RENAME_ABB", renameHeaderText);
+                       }
+
+                       __pDirectory = static_cast< DirectoryEntry* >(pArgs->GetAt(1));
+                       if (__pDirectory != null)
+                       {
+                               __filePath.Append(__pDirectory->GetFullFilePath());
+                               if (__pDirectory->IsDirectory())
+                               {
+                                       if (__pEditFieldFolderName != null)
+                                       {
+                                               __pEditFieldFolderName->SetText(__pDirectory->GetFileName());
+                                       }
+                                       entryIsDirectory = 1;
+                               }
+                               else
+                               {
+                                       __fileExtension = File::GetFileExtension(__filePath);
+                                       if (__pEditFieldFolderName != null)
+                                       {
+                                               __pEditFieldFolderName->SetText(__pDirectory->GetFileName());
+                                       }
+                                       entryIsDirectory = 0;
+                               }
+                       }
+                       __pHeader = GetHeader();
+                       __pHeader->SetTitleText(renameHeaderText);
+                       __pHeader->Invalidate(true);
+               }
+               else
+               {
+
+                       pFolderName = static_cast< Label* >(GetControl("IDC_LABEL_FOLDER_NAME", true));
+                       pFolderPanel = static_cast< Panel* >(GetControl("IDC_PANEL_EDIT_FIELD", true));
+
+                       if (__pEditFieldFolderName != null)
+                       {
+                               if (pFolderName != null)
+                               {
+                                       pFolderName->SetShowState(true);
+                               }
+
+                               if (pFolderPanel != null)
+                               {
+                                       pFolderPanel->SetBounds(Rectangle(X_DEFAULT, Y_DEFAULT, GetClientAreaBounds().width, H_RENAME_PANEL));
+                                       __pEditFieldFolderName->SetBounds(Rectangle(X_DEFAULT, Y_CREATE_FOLDER_EDITFIELD, GetClientAreaBounds().width, H_CREATE_FOLDER_EDITFIELD));
+                               }
+                       }
+
+                       if (pAppResource != null)
+                       {
+                               pAppResource->GetString(L"IDS_COM_BODY_CREATE_FOLDER", createFolderText);
+                       }
+                       __pHeader = GetHeader();
+                       __pHeader->SetTitleText(createFolderText);
+                       __pHeader->Invalidate(true);
+
+                       __rootPath = FolderNavigationPresentationModel::GetCurrentPath();
+
+                       if (__pEditFieldFolderName != null)
+                       {
+                               GenerateFolderName(newName);
+                               __pEditFieldFolderName->SetText(newName);
+                       }
+               }
+
+
+               if (pSourceForm != null)
+               {
+                       delete pSourceForm;
+               }
+
+               pArgs->RemoveAll(false);
+               delete pArgs;
+               pArgs = null;
+       }
+
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+void
+CreateFolderForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+               const Tizen::Ui::Scenes::SceneId& nextSceneId)
+{
+       DeviceManager::RemoveAllDeviceEventListeners();
+}
+
+void
+CreateFolderForm::OnTextValueChanged(const Tizen::Ui::Control& source)
+{
+       AppLogDebug("Entry");
+       wchar_t currentInput;
+       wchar_t characterToCompare;
+       String currentText;
+       String specialCharacters(L"*/\\?\":<>|.");
+       int specialCharCount = 0;
+       int modalResult = 0;
+       int inputLength = 0;
+
+       MessageBox messageBox;
+       ButtonItemStatus currentStatus = BUTTON_ITEM_STATUS_NORMAL;
+
+       result r = E_SUCCESS;
+
+       if (__pEditFieldFolderName != null)
+       {
+               currentText = __pEditFieldFolderName->GetText();
+
+               if (currentText.IsEmpty())
+               {
+                       if (__pHeader != null)
+                       {
+                               __pHeader->SetButtonEnabled(BUTTON_POSITION_LEFT,false);
+                               __pHeader->Invalidate(true);
+                       }
+               }
+               else
+               {
+                       if (__pHeader != null)
+                       {
+                               currentStatus = __pHeader->GetButtonStatus(BUTTON_POSITION_LEFT);
+
+                               if (currentStatus == BUTTON_ITEM_STATUS_DISABLED)
+                               {
+                                       __pHeader->SetButtonEnabled(BUTTON_POSITION_LEFT,true);
+                                       __pHeader->Invalidate(true);
+                               }
+
+                       }
+               }
+               inputLength = currentText.GetLength();
+               if (__fileExtension.GetLength() >0)
+               {
+                       inputLength = inputLength + __fileExtension.GetLength() +1;
+               }
+
+               if (inputLength == 1)
+               {
+                       if (currentText.StartsWith(".", 0))
+                       {
+                               String invalidCharacterString;
+                               AppResource::GetInstance()->GetString(L"IDS_INVALID_CHARACTER_MESSAGE", invalidCharacterString);
+                               messageBox.Construct(L"", invalidCharacterString, MSGBOX_STYLE_NONE, ID_MESSAGE_BOX_TIMEOUT_ONE_SECOND);
+                               messageBox.ShowAndWait(modalResult);
+                               __pEditFieldFolderName->SetText("");
+                               __pEditFieldFolderName->ShowKeypad();
+                       }
+               }
+
+               int tempLength = 0;
+
+               if (__fileExtension.GetLength() == 0 )//folder case
+               {
+                       AppLogDebug("ID_FOLDER_NAME_LENGTH_MAX - %d", inputLength);
+                       tempLength = ID_FOLDER_NAME_LENGTH_MAX;
+               }
+               else//file case
+               {
+                       AppLogDebug("ID_FILE_NAME_LENGTH_MAX - %d", inputLength);
+                       tempLength = ID_FILE_NAME_LENGTH_MAX;
+               }
+
+               if (inputLength == tempLength)
+               {
+                       String maxCharacterString;
+                       AppResource::GetInstance()->GetString(L"IDS_MAX_CHARACTER_LIMIT_MESSAGE", maxCharacterString);
+                       messageBox.Construct(L"", maxCharacterString, MSGBOX_STYLE_NONE, ID_MESSAGE_BOX_TIMEOUT_ONE_SECOND);
+                       messageBox.ShowAndWait(modalResult);
+
+                       __pEditFieldFolderName->ShowKeypad();
+                       return;
+               }
+
+               r = currentText.GetCharAt(__pEditFieldFolderName->GetCursorPosition() - 1,currentInput);
+
+               for (specialCharCount = 0; specialCharCount < specialCharacters.GetLength(); specialCharCount++)
+               {
+                       characterToCompare = specialCharacters[specialCharCount];
+                       if (currentInput == characterToCompare)
+                       {
+                               String invalidCharacterString;
+                               AppResource::GetInstance()->GetString(L"IDS_INVALID_CHARACTER_MESSAGE", invalidCharacterString);
+                               messageBox.Construct(L"", invalidCharacterString, MSGBOX_STYLE_NONE, ID_MESSAGE_BOX_TIMEOUT_ONE_SECOND);
+                               messageBox.ShowAndWait(modalResult);
+                               currentText.Remove(__pEditFieldFolderName->GetCursorPosition()-1,1);
+                               __pEditFieldFolderName->SetText(currentText);
+                               __pEditFieldFolderName->SetFocus();
+                       }
+               }
+       }
+       return;
+}
+void
+CreateFolderForm::OnTextValueChangeCanceled(const Tizen::Ui::Control& source)
+{
+       if (__pHeader != null)
+       {
+               __pHeader->SetButtonEnabled(BUTTON_POSITION_LEFT,false);
+               __pHeader->Invalidate(true);
+       }
+}
+
+void
+CreateFolderForm::OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus)
+{
+       Rectangle editFieldBounds(GetClientAreaBounds().x, 0, GetClientAreaBounds().width, H_RENAME_EDITFIELD);
+
+       switch (orientationStatus)
+       {
+       case ORIENTATION_STATUS_PORTRAIT:
+       {
+               if (__pEditFieldFolderName != null)
+               {
+                       __pEditFieldFolderName->SetBounds(editFieldBounds);
+               }
+       }
+       break;
+
+       case ORIENTATION_STATUS_LANDSCAPE:
+       {
+               if (__pEditFieldFolderName != null)
+               {
+                       __pEditFieldFolderName->SetBounds(editFieldBounds);
+               }
+       }
+       break;
+
+       default:
+       {
+               //Empty Implementation.
+       }
+       break;
+       }
+
+       Invalidate(true);
+}
+
+void
+CreateFolderForm::OnKeypadWillOpen(Tizen::Ui::Control& source)
+{
+       SetActionBarsVisible(FORM_ACTION_BAR_FOOTER, false);
+}
+
+void
+CreateFolderForm::OnKeypadOpened(Tizen::Ui::Control& source)
+{
+       //Empty Implementation.
+}
+void
+CreateFolderForm::OnKeypadClosed(Tizen::Ui::Control& source)
+{
+       SetActionBarsVisible(FORM_ACTION_BAR_FOOTER, true);
+}
+void
+CreateFolderForm::OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction)
+{
+       //Empty Implementation.
+}
+
+void
+CreateFolderForm::OnTouchCanceled(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
+{
+       //Empty Implementation
+}
+
+void
+CreateFolderForm::OnTouchFocusIn(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
+{
+       //Empty Implementation
+}
+
+void
+CreateFolderForm::OnTouchFocusOut(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
+{
+       //Empty Implementation
+}
+
+void
+CreateFolderForm::OnTouchMoved(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
+{
+       //Empty Implementation
+}
+
+void
+CreateFolderForm::OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
+{
+       //Empty Implementation
+}
+
+void
+CreateFolderForm::OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
+{
+       if (!(source.Equals(*__pEditFieldFolderName)))
+       {
+               __pEditFieldFolderName->HideKeypad();
+       }
+}
+
+void
+CreateFolderForm::OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state)
+{
+       bool setMediaPath = false;
+       bool searchHistoryStatus = false;
+       MemoryType currentMemoryType = MEMORY_TYPE_PHONE;
+       String unmounted = sdCardStatusUnmounted;
+       String removed = usbDeviceStatusRemoved;
+       String currentPath;
+       String searchScene;
+       SceneManager* pSceneManager = null;
+       IListT< SceneId >* pSceneList = null;
+       int itemCount = 0;
+
+       pSceneManager = SceneManager::GetInstance();
+
+       if (state == unmounted || state == removed)
+       {
+               currentPath = FolderNavigationPresentationModel::GetCurrentPath();
+               if (state == unmounted)
+               {
+                       if (currentPath.Contains(BasePresentationModel::GetSdCardPath()))
+                       {
+                               FolderNavigationPresentationModel::SetCurrentFilePath(BasePresentationModel::GetMediaPath());
+                               FolderNavigationPresentationModel::SetStorageType(currentMemoryType);
+                               setMediaPath = true;
+                       }
+               }
+
+               if (state == removed)
+               {
+                       if (currentPath.Contains(BasePresentationModel::GetUsbPath()))
+                       {
+                               FolderNavigationPresentationModel::SetCurrentFilePath(BasePresentationModel::GetMediaPath());
+                               FolderNavigationPresentationModel::SetStorageType(currentMemoryType);
+                               setMediaPath = true;
+                       }
+               }
+
+               if (setMediaPath)
+               {
+                       if (pSceneManager != null)
+                       {
+                               pSceneList = pSceneManager->GetSceneHistoryN();
+                       }
+
+                       if (pSceneList != null)
+                       {
+                               itemCount = pSceneList->GetCount() - 1;
+                               pSceneList->GetAt(itemCount, searchScene);
+                               while (searchScene != IDSCN_SEARCH_FORM && itemCount >= 0)
+                               {
+                                       itemCount--;
+                                       pSceneList->GetAt(itemCount, searchScene);
+                               }
+                       }
+
+                       if (searchScene == IDSCN_SEARCH_FORM)
+                       {
+                               AppLogDebug("Search scene present");
+                               searchHistoryStatus = true;
+                       }
+                       else
+                       {
+                               AppLogDebug("Search scene not present");
+                               searchHistoryStatus = false;
+                       }
+
+                       if(pSceneList)
+                       {
+                               pSceneList->RemoveAll();
+                               delete pSceneList;
+                               pSceneList = null;
+                       }
+
+                       if (searchHistoryStatus == true)
+                       {
+                               if (pSceneManager != null)
+                               {
+                                       pSceneManager->DestroyScene(IDSCN_SEARCH_FORM);
+                                       pSceneManager->ClearSceneHistory();
+                               }
+                       }
+
+                       if (pSceneManager != null)
+                       {
+                               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ROOT_DIRECTORY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY), null);
+                       }
+               }
+       }
+}
+
+void
+CreateFolderForm::OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state)
+{
+
+       ComponentType currentDeviceType;
+       switch (deviceType)
+       {
+       case StorageCard:
+       {
+               currentDeviceType = COMPONENT_TYPE_STORAGE_CARD;
+       }
+       break;
+
+       case UsbClient:
+       {
+               currentDeviceType = COMPONENT_TYPE_USB;
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing.
+       }
+       break;
+       }
+       OnDeviceChange(currentDeviceType, state);
+}
+
+void
+CreateFolderForm::GenerateFolderName(String& newName)
+{
+       String newFolderName;
+       AppResource::GetInstance()->GetString(L"IDS_COM_POP_FOLDER", newFolderName);
+       AppLogDebug("Entry");
+       String entryValue;
+       int currentNameCount = 0;
+       bool checkFileAvailability = false;
+       String directoryName = FolderNavigationPresentationModel::GetCurrentPath();
+
+       directoryName.Append(newFolderName);
+
+       checkFileAvailability = File::IsFileExist(directoryName);
+
+       while (checkFileAvailability)
+       {
+               currentNameCount++;
+               newFolderName.Clear();
+               AppResource::GetInstance()->GetString(L"IDS_COM_POP_FOLDER", newFolderName);
+               newFolderName.Append("_");
+               newFolderName.Append(currentNameCount);
+               directoryName.Clear();
+               directoryName = FolderNavigationPresentationModel::GetCurrentPath();
+               directoryName.Append(newFolderName);
+               checkFileAvailability = File::IsFileExist(directoryName);
+       }
+
+       newName = newFolderName;
+}
+
+
+void
+CreateFolderForm::OnSceneTransitionCompleted(const Tizen::Ui::Scenes::SceneId &previousSceneId,
+               const Tizen::Ui::Scenes::SceneId &currentSceneId)
+{
+       SceneManager::GetInstance()->RemoveSceneManagerEventListener(*this);
+}
+
+void
+CreateFolderForm::OnSceneTransitionStarted(const Tizen::Ui::Scenes::SceneId &currentSceneId,
+               const Tizen::Ui::Scenes::SceneId &nextSceneId)
+{
+       //Empty Implementation.
+}
+
+result
+CreateFolderForm::CreateFileProgressingPopup(void)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       _pFileProgressingPopup = new (std::nothrow) Popup();
+       _pFileProgressingPopup->Construct(L"IDL_FILE_PROGRESSING_POPUP");
+       if (_pFileProgressingPopup != null)
+       {
+               _pFileProgressingPopup->SetTitleText(L"FileProcessing");
+
+               _pFileProgressingCancelButton = static_cast< Button* >(_pFileProgressingPopup->GetControl(L"IDC_CANCEL_BUTTON", true));
+               if (_pFileProgressingCancelButton != null)
+               {
+                       _pFileProgressingCancelButton->SetActionId(IDA_BTN_ANIMATION_POPUP_CANCEL);
+                       _pFileProgressingCancelButton->AddActionEventListener(*this);
+                       _pFileProgressingCancelButton->SetShowState(false);
+               }
+
+               _pFileProgressingProgress = static_cast< Progress* >(_pFileProgressingPopup->GetControl(L"IDC_PROGRESS_BAR", true));
+               if (_pFileProgressingProgress != null)
+               {
+                       _pFileProgressingProgress->SetName(L"IDC_ANIMATION_PROGRESS");
+                       _pFileProgressingProgress->SetValue(0);
+                       _pFileProgressingProgress->SetShowState(false);
+               }
+
+               _pFileProgressingHeaderLabel = static_cast< Label* >(_pFileProgressingPopup->GetControl(L"IDC_ANIMATION_HEADER", true));
+               if (_pFileProgressingHeaderLabel != null)
+               {
+                       _pFileProgressingHeaderLabel->SetName(L"IDC_ANIMATION_HEADER");
+                       _pFileProgressingHeaderLabel->SetShowState(true);
+               }
+
+               _pFileProgressingLabel = static_cast< Label* >(_pFileProgressingPopup->GetControl(L"IDC_ANIMATION_LABEL", true));
+               if (_pFileProgressingLabel != null)
+               {
+                       _pFileProgressingLabel->SetName(L"IDC_FILE_COUNT_LABEL");
+                       _pFileProgressingLabel->SetShowState(true);
+               }
+       }
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+       return r;
+}
+
+void
+CreateFolderForm::HideFileProgressingPopup(void)
+{
+       if (_pFileProgressingPopup != null && _pFileProgressingPopup->IsVisible())
+       {
+               _pFileProgressingPopup->SetShowState(false);
+
+               delete _pFileProgressingPopup;
+               _pFileProgressingPopup = null;
+       }
+}
+
+void
+CreateFolderForm::ShowFileProgressingPopup(void)
+{
+       String renamingLabelText;
+       String copyingLabelText;
+
+       AppResource* pAppResource = null;
+       pAppResource = Application::GetInstance()->GetAppResource();
+
+       pAppResource->GetString("IDS_MF_POP_RENAMING", renamingLabelText);
+
+       renamingLabelText.Append(L"...");
+       CreateFileProgressingPopup();
+
+       if (_pFileProgressingPopup != null)
+       {
+               if (_pFileProgressingHeaderLabel != null)
+               {
+                       _pFileProgressingHeaderLabel->SetBounds(X_DEFAULT,Y_DEFAULT,_pFileProgressingPopup->GetBounds().width - 40, _pFileProgressingPopup->GetBounds().height);
+                       _pFileProgressingHeaderLabel->SetTextConfig(40, LABEL_TEXT_STYLE_BOLD);
+                       _pFileProgressingHeaderLabel->SetTextHorizontalAlignment(ALIGNMENT_CENTER);
+                       _pFileProgressingHeaderLabel->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
+                       _pFileProgressingHeaderLabel->SetText(renamingLabelText);
+                       _pFileProgressingHeaderLabel->Invalidate(true);
+               }
+
+               _pFileProgressingPopup->SetShowState(true);
+               _pFileProgressingPopup->Show();
+       }
+}
+
+void
+CreateFolderForm::OnFileManagingStart(void)
+{
+       ShowFileProgressingPopup();
+}
+
+void
+CreateFolderForm::OnFileManagingStop(FileManagingResult fileProcessingResult)
+{
+
+}
+
+void
+CreateFolderForm::OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs)
+{
+       AppLogDebug("ENTER");
+
+       int fileProcessingResult = 0;
+       SceneManager* pSceneManager = null;
+       pSceneManager = SceneManager::GetInstance();
+       Integer* pfileProcessingResult = null;
+       TryCatch(pArgs != null, , "Argument list received is invalid");
+
+       pfileProcessingResult = (Integer*) pArgs->GetAt(0);
+       if (pfileProcessingResult != null)
+       {
+               fileProcessingResult = pfileProcessingResult->ToInt();
+               delete pfileProcessingResult;
+       }
+       switch (fileProcessingResult)
+       {
+       case FILE_MANAGING_RENAME_SUCCESS:
+       {
+               AppLogDebug("FILE_MANAGING_RENAME_SUCCESS");
+               HideFileProgressingPopup();
+
+               pSceneManager = SceneManager::GetInstance();
+
+               __pEditFieldFolderName->HideKeypad();
+
+               if (pSceneManager != null)
+               {
+                       String fileName = __pEditFieldFolderName->GetText();
+                       fileName.Trim();
+                       __pDirectory->SetFileName(fileName);
+                       if (entryIsDirectory == 1)
+                       {
+                               updatedFilePath.Append(L"/");
+                       }
+                       __pDirectory->SetFullFilePath(updatedFilePath);
+                       pSceneManager->GoBackward(BackwardSceneTransition(), null);
+               }
+       }
+       break;
+       case FILE_MANAGING_RENAME_FAILED:
+       {
+               AppLogDebug("FILE_MANAGING_RENAME_FAILED");
+               HideFileProgressingPopup();
+
+               MessageBox messageBox;
+               messageBox.Construct(L"", L"Rename Failed", MSGBOX_STYLE_NONE, 1000);
+               int modalResult = 0;
+               messageBox.ShowAndWait(modalResult);
+
+               __pEditFieldFolderName->HideKeypad();
+
+               if (pSceneManager != null)
+               {
+                       pSceneManager->GoBackward(BackwardSceneTransition(), null);
+               }
+       }
+       break;
+       default:
+       {
+
+       }
+       break;
+       }
+
+       CATCH:
+       if (pArgs != null)
+       {
+               pArgs->RemoveAll(false);
+               delete pArgs;
+               pArgs = null;
+       }
+
+       AppLogDebug("EXIT");
+}
+
+void
+CreateFolderForm::OnContentScanCompleted(const Tizen::Base::String& scanPath, result r)
+{
+       AppLogDebug("CreateFolderForm::OnContentScanCompleted:%s", GetErrorMessage(r));
+
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+       __pEditFieldFolderName->HideKeypad();
+
+       __scanDirectoryCallbackCount--;
+
+       if(__scanDirectoryCallbackCount == 0)
+       {
+               HideFileProgressingPopup();
+               if (pSceneManager != null )
+               {
+                       __pDirectory->SetFileName(__pEditFieldFolderName->GetText());
+                       if (entryIsDirectory == 1)
+                       {
+                               updatedFilePath.Append(L"/");
+                       }
+                       __pDirectory->SetFullFilePath(updatedFilePath);
+                       pSceneManager->GoBackward(BackwardSceneTransition(), null);
+                       return;
+               }
+       }
+}
diff --git a/src/MfCustomAppControl.cpp b/src/MfCustomAppControl.cpp
new file mode 100644 (file)
index 0000000..cbf2305
--- /dev/null
@@ -0,0 +1,335 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfCustomAppCotrol.cpp
+ * @brief: This file contains implementation of CustomAppControl Class.
+ */
+
+#include "MfCustomAppControl.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Utility;
+
+CustomAppControl* CustomAppControl::__pInstance = null;
+AppControl* CustomAppControl::__pAppControlInUse = null;
+
+CustomAppControl::CustomAppControl(void)
+:__pAppControlEventListener(null)
+{
+
+}
+
+CustomAppControl::~CustomAppControl(void)
+{
+       if (__dataList != null)
+       {
+               __dataList->RemoveAll();
+               delete __dataList;
+       }
+}
+
+CustomAppControl*
+CustomAppControl::GetInstance(void)
+{
+       if (__pInstance == null)
+       {
+               CreateInstance();
+       }
+       return __pInstance;
+}
+
+void
+CustomAppControl::CreateInstance(void)
+{
+       result r = E_SUCCESS;
+
+       __pInstance = new (std::nothrow) CustomAppControl();
+       r = __pInstance->Construct();
+
+       if (r != E_SUCCESS)
+       {
+               DeleteInstance();
+               return;
+       }
+
+       std::atexit(DeleteInstance);
+}
+
+void
+CustomAppControl::DeleteInstance(void)
+{
+       if (__pAppControlInUse)
+       {
+               delete __pAppControlInUse;
+       }
+       if (__pInstance)
+       {
+               delete __pInstance;
+       }
+}
+
+result
+CustomAppControl::Construct(void)
+{
+       result r = E_FAILURE;
+
+       __dataList = new (std::nothrow) HashMap();
+       if (__dataList != null)
+               r = __dataList->Construct();
+
+       return r;
+}
+void
+CustomAppControl::SetAppControlInUse(AppControl* appControlInUse)
+{
+       if (__pAppControlInUse != null)
+               delete __pAppControlInUse;
+
+       __pAppControlInUse = appControlInUse;
+}
+
+void
+CustomAppControl::SetAppControlListener(IAppControlResponseListener* appControlEventListener)
+{
+       AppLogDebug("Entry");
+       this->__pAppControlEventListener = appControlEventListener;
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+
+String
+CustomAppControl::FindMediaType(String& mediaFullPath)
+{
+       AppLogDebug("ENTRY::CustomAppControl::FindMediaType");
+
+       String mediaType = L"";
+       String strExtension = L"";
+       StringTokenizer strTok(mediaFullPath, L".");
+
+       while (strTok.HasMoreTokens())
+       {
+               strExtension.Clear();
+               strTok.GetNextToken(strExtension);
+       }
+
+       if (strExtension.IsEmpty() == false)
+       {
+               if (strExtension == "png" || strExtension == "jpg" || strExtension == "gif" || strExtension == "tif" || strExtension == "bmp" || strExtension == "jpeg" ||
+                       strExtension == "PNG" || strExtension == "JPG" || strExtension == "GIF" || strExtension == "TIF" || strExtension == "BMP" || strExtension == "JPEG")
+               {
+                       mediaType = L"image";
+               }
+               else if (strExtension == "mp3" || strExtension == "ogg" || strExtension == "ra" || strExtension == "amr" ||
+                               strExtension == "aac" || strExtension == "Wave" ||strExtension == "MP3" || strExtension == "OGG" || strExtension == "RA" ||
+                               strExtension == "AMR" || strExtension == "AAC" || strExtension == "WAVE" ||
+                               strExtension == "wav"|| strExtension == "WAV"
+                               /*||strExtension == "wpl"|| strExtension == "WPL"
+                               ||strExtension == "wma" || strExtension == "WMA"
+                               ||strExtension == "m4a" || strExtension == "M4A"||
+                               strExtension == "vorbis",strExtension == "VORBIS" ||strExtension == "amr-wb" || strExtension == "AMR-WB" */)
+               {
+                       mediaType = "audio";
+               }
+               else if (strExtension == "3gp" || strExtension == "mp4" || strExtension == "avi"|| strExtension == "3GP" ||
+                               strExtension == "MP4" || strExtension == "AVI"|| strExtension == "mpeg" || strExtension =="MPEG" ||
+                               strExtension== "mkv" || strExtension == "MKV" || strExtension == "wmv" || strExtension == "WMV" ||
+                               strExtension == "mov" || strExtension == "MOV" || strExtension =="dat"  || strExtension =="DAT" ||
+                               strExtension == "flv" || strExtension == "FLV")
+               {
+                       mediaType = "video";
+               }
+               else if (strExtension == "doc" || strExtension == "xls" || strExtension == "pdf" || strExtension == "ppt" || strExtension == "txt" ||
+                                strExtension == "DOC" || strExtension == "XLS" || strExtension == "PDF" || strExtension == "PPT" || strExtension == "TXT"
+                                )
+               {
+                       mediaType = "document";
+               }
+               else if (strExtension == "html" || strExtension == "htm" || strExtension == "swf" || strExtension == "js"  ||
+                                strExtension == "HTML" || strExtension == "HTM" || strExtension == "SWF" || strExtension == "JS"
+                                )
+               {
+                       mediaType = "web";
+               }
+               else if (strExtension == "vcf" || strExtension == "VCF")
+               {
+                       mediaType = "contact";
+               }
+               else if (strExtension == "vcs" || strExtension == "ics" ||
+                                strExtension == "VCS" || strExtension == "ICS"
+                                )
+               {
+                       mediaType = "calendar";
+               }
+               else if (strExtension == "eml" || strExtension == "EML")
+               {
+                       mediaType = "email";
+               }
+               else if (strExtension == "svg" || strExtension == "svgz" ||
+                                strExtension == "SVG" || strExtension == "SVGZ"
+                                )
+               {
+                       mediaType = "zip";
+               }
+       }
+       AppLogDebug("ENTRY::CustomAppControl::FindMediaType%s", GetErrorMessage(GetLastResult()));
+       return mediaType;
+}
+
+Tizen::App::AppControl*
+CustomAppControl::LaunchAppControl(String& mediaFullPath)
+{
+       AppLogDebug("ENTER");
+       AppLogDebug("CustomAppControl::LaunchAppControl:%S", mediaFullPath.GetPointer());
+       AppControl* pAc = null;
+       result r = E_FAILURE;
+       String mediaType;
+
+       String* pTypeKey = new (std::nothrow)String (L"type");
+       String* pTypeVal = new (std::nothrow)String(L"");
+       String* pPathKey = new (std::nothrow)String(L"path");
+       String* pPathVal = new (std::nothrow)String(L"");
+
+       mediaType = FindMediaType(mediaFullPath);
+
+       if (mediaType == "image")
+       {
+               AppLogDebug("Image App Control");
+               ((MyFilesApp*) Application::GetInstance())->SetImageAppControlLanched(true);
+
+               pAc = AppManager::FindAppControlN(L"tizen.imageviewer", L"http://tizen.org/appcontrol/operation/view");
+               pTypeVal->Append(L"image");
+               pPathVal->Append(mediaFullPath);
+       }
+       else if (mediaType == "audio")
+       {
+               pAc = AppManager::FindAppControlN(L"tizen.musicplayer", L"http://tizen.org/appcontrol/operation/view");
+               pTypeVal->Append(L"audio");
+               pPathVal->Append(mediaFullPath);
+       }
+       else if (mediaType == "video")
+       {
+
+               pAc = AppManager::FindAppControlN(L"tizen.videoplayer", L"http://tizen.org/appcontrol/operation/view");
+               pTypeVal->Append(L"video");
+               pPathVal->Append(mediaFullPath);
+
+               AppLogDebug("Video File found :%S", pPathVal->GetPointer());
+       }
+
+       else if (mediaType == "web")
+       {
+               pAc = AppManager::FindAppControlN(L"tizen.internet", L"http://tizen.org/appcontrol/operation/view");
+               pTypeKey->Clear();
+               pTypeKey->Append(L"url");
+               pTypeVal->Append(mediaFullPath);
+       }
+       else if (mediaType == "contact")
+       {
+               pAc = AppManager::FindAppControlN(L"tizen.contacts", L"http://tizen.org/appcontrol/operation/view");
+               pTypeKey->Clear();
+               pTypeKey->Append(L"viewType");
+               pTypeVal->Clear();
+               pTypeVal->Append(L"vcf");
+               pPathVal->Append(mediaFullPath);
+       }
+       else if (mediaType == "calendar")
+       {
+               pAc = AppManager::FindAppControlN(L"tizen.calendar", L"http://tizen.org/appcontrol/operation/view");
+               pTypeKey->Clear();
+               pTypeKey->Append(L"viewType");
+               pTypeVal->Clear();
+               pTypeVal->Append(L"vcs");
+               pPathVal->Append(mediaFullPath);
+       }
+       else if (mediaType == "email")
+       {
+               //pAc = AppManager::FindAppControlN(APPCONTROL_PROVIDER_EMAIL, APPCONTROL_OPERATION_VIEW);
+               //pAc = AppManager::FindAppControlN(L"tizen.email", L"http://tizen.org/appcontrol/operation/view");
+       }
+       else if (mediaType == "document")
+       {
+               //pAc = AppManager::FindAppControlN(APPCONTROL_CATEGORY_DOCUMENT, APPCONTROL_OPERATION_VIEW);
+               //pAc = AppManager::FindAppControlN(L"http://tizen.org/appcontrol/provider/document", L"http://tizen.org/appcontrol/operation/view");
+       }
+
+       TryCatch(pAc != null, , "CustomAppControl::LaunchAppControl::pAc is null");
+
+       if (__pAppControlInUse != null && __pAppControlInUse->GetAppId() == pAc->GetAppId() && pAc->GetAppId() != musicPlayerAppId &&
+                       pAc->GetAppId() != videoPlayerAppId )
+       {
+               AppLogDebug("Returning");
+               delete pTypeKey;
+               delete pTypeVal;
+               delete pPathKey;
+               delete pPathVal;
+
+               if (pAc != null)
+               {
+                       delete pAc;
+               }
+
+               return null;
+       }
+
+       if (pTypeVal->CompareTo("") != 0)
+       {
+               __dataList->Add(pTypeKey, pTypeVal);
+       }
+       else
+       {
+               delete pTypeVal;
+       }
+
+       if (pPathVal->CompareTo("") != 0)
+       {
+               AppLogDebug("CustomAppControl::LaunchAppControl:%S", pPathVal->GetPointer());
+
+               r = __dataList->Add(pPathKey, pPathVal);
+               AppLogDebug("CustomAppControl::LaunchAppControl:%s", GetErrorMessage(r));
+       }
+       else
+       {
+               delete pPathVal;
+       }
+
+
+       if(pAc->GetAppId() == musicPlayerAppId || pAc->GetAppId() == browserAppId || pAc->GetAppId() == phoneAppId || pAc->GetAppId() == videoPlayerAppId )
+               //In case of Music Player, Browser, Phone appcontrols , No need to register Listener
+               r = pAc->Start(null, null, __dataList, null);
+       else
+               r = pAc->Start(null, null, __dataList,__pAppControlEventListener);
+
+       AppLogDebug("EXIT::CustomAppControl::LaunchAppControl::%s", GetErrorMessage(r));
+
+       __dataList->Remove(*pTypeKey);
+       __dataList->Remove(*pPathKey);
+
+       AppLogDebug("EXIT:: CustomAppControl::LaunchAppControl::%s", GetErrorMessage(GetLastResult()));
+
+       return pAc;
+
+CATCH:
+
+    delete pTypeKey;
+    delete pTypeVal;
+    delete pPathKey;
+    delete pPathVal;
+    AppLog("EXIT - CATCH");
+       return null;
+}
diff --git a/src/MfCustomListViewForPopup.cpp b/src/MfCustomListViewForPopup.cpp
new file mode 100644 (file)
index 0000000..8b2a0f5
--- /dev/null
@@ -0,0 +1,647 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfCustomListViewForPopup.cpp
+ * @brief: This file contains the implementation of CustomListViewForPopup class, which acts as a ListView Item Provider
+ * and Event Listener for the second ListView Control that appears in all popups.
+ */
+
+#include "MfCustomListViewForPopup.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+CustomListViewForPopup::CustomListViewForPopup(void)
+{
+       //      popupSource = POP_UP_VIEW_AS;
+       __popupSource = POP_UP_SORT_BY;
+       __pListViewItemStateChangeListener = null;
+}
+
+CustomListViewForPopup::~CustomListViewForPopup(void)
+{
+       //Empty Implementation.
+}
+
+int
+CustomListViewForPopup::GetItemCount(void)
+{
+       //Returns the count of the number of items in the listview, in this case 3
+       //because there are only three views of the list: Detailed, Normal, Thumbnail
+       AppLogDebug("Entry");
+       int itemCount = 0;
+
+       if (__popupSource == POP_UP_VIEW_AS)
+       {
+               itemCount = ID_VIEW_AS_ITEM_COUNT;
+       }
+       else if (__popupSource == POP_UP_SORT_BY)
+       {
+               itemCount = ID_SORT_BY_ITEM_COUNT;
+       }
+       return itemCount;
+}
+
+Tizen::Ui::Controls::ListItemBase*
+CustomListViewForPopup::CreateItem(int index, int itemWidth)
+{
+       //Called by the IListViewItemProvider interface for each listview item. Annex style is
+       //set to Radio.
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+
+       CustomItem* pCustomItem = null;
+       ListAnnexStyle pListAnnexStyle = LIST_ANNEX_STYLE_RADIO;
+
+       String thumbnail;
+       String list;
+       String detailedList;
+       String nameAtoZ;
+       String nameZtoA;
+       String dateRecent;
+       String dateOldest;
+       String size;
+       String type;
+
+       AppResource* pAppResource = null;
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Resource manager not found!");
+
+       if (__popupSource == POP_UP_VIEW_AS)
+       {
+               pAppResource->GetString(L"IDS_COM_OPT_LIST", list);
+               pAppResource->GetString(L"IDS_MF_BODY_LIST_AND_DETAILS_ABB", detailedList);
+               pAppResource->GetString(L"IDS_MF_OPT_THUMBNAIL_VIEW", thumbnail);
+
+               switch (index)
+               {
+               case 0:
+               {
+                       //Normal List View
+                       //Allocate memory for the CustomItem
+                       pCustomItem = new (std::nothrow) CustomItem();
+                       pCustomItem->Construct(Dimension(itemWidth, H_ITEM_LISTVIEW_POPUP), pListAnnexStyle);
+
+                       r = pCustomItem->AddElement(Rectangle(X_DEFAULT, Y_DEFAULT, itemWidth, H_ITEM_LISTVIEW_POPUP),
+                                                                               IDC_ITEM_TITLE_STRING,
+                                                                               list,
+                                                                               ID_FONT_SIZE_44,
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               Color::GetColor(COLOR_ID_WHITE),
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               true);
+
+                       TryCatch(r == E_SUCCESS, , "failed to add element");
+
+               }
+               break;
+
+               case 1:
+               {
+                       //Detailed ListView
+                       //Allocate memory for the CustomItem
+                       pCustomItem = new (std::nothrow) CustomItem();
+                       pCustomItem->Construct(Dimension(itemWidth, H_ITEM_LISTVIEW_POPUP), pListAnnexStyle);
+
+                       r = pCustomItem->AddElement(Rectangle(X_DEFAULT, Y_DEFAULT, itemWidth, H_ITEM_LISTVIEW_POPUP),
+                                                                               IDC_ITEM_TITLE_STRING,
+                                                                               detailedList,
+                                                                               ID_FONT_SIZE_44,
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               true);
+                       TryCatch(r == E_SUCCESS, , "failed to add element");
+               }
+               break;
+
+               case 2:
+               {
+                       //ThumbnailView
+                       //Allocate memory for the CustomItem
+                       pCustomItem = new (std::nothrow) CustomItem();
+                       pCustomItem->Construct(Dimension(itemWidth, H_ITEM_LISTVIEW_POPUP), pListAnnexStyle);
+                       r = pCustomItem->AddElement(Rectangle(X_DEFAULT, Y_DEFAULT, itemWidth, H_ITEM_LISTVIEW_POPUP),
+                                                                               IDC_ITEM_TITLE_STRING,
+                                                                               thumbnail,
+                                                                               ID_FONT_SIZE_44,
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               Color::GetColor(COLOR_ID_WHITE),
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               true);
+                       TryCatch(r == E_SUCCESS, , "failed to add element");
+               }
+               break;
+
+               default:
+               {
+                       //Do Nothing.
+               }
+               break;
+               }
+       }
+       else if (__popupSource == POP_UP_SORT_BY)
+       {
+               pAppResource->GetString(L"IDS_MF_OPT_NAME_HA_TO_Z", nameAtoZ);
+               pAppResource->GetString(L"IDS_MF_OPT_NAME_HZ_TO_A", nameZtoA);
+               pAppResource->GetString(L"IDS_MF_OPT_DATE_HMOST_RECENT", dateRecent);
+               pAppResource->GetString(L"IDS_MF_OPT_DATE_HOLDEST", dateOldest);
+               pAppResource->GetString(L"IDS_COM_BODY_SIZE", size);
+               pAppResource->GetString(L"IDS_MF_BODY_TYPE", type);
+
+               switch (index)
+               {
+               case 0:
+               {
+                       //Normal List View
+                       //Allocate memory for the CustomItem
+                       pCustomItem = new (std::nothrow) CustomItem();
+                       pCustomItem->Construct(Dimension(itemWidth, H_ITEM_LISTVIEW_POPUP), pListAnnexStyle);
+
+                       r = pCustomItem->AddElement(Rectangle(X_DEFAULT, Y_DEFAULT, itemWidth, H_ITEM_LISTVIEW_POPUP),
+                                                                               IDC_ITEM_TITLE_STRING,
+                                                                               nameAtoZ,
+                                                                               ID_FONT_SIZE_36,
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               Color::GetColor(COLOR_ID_WHITE),
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               true);
+
+                       TryCatch(r == E_SUCCESS, , "failed to add element");
+
+               }
+               break;
+
+               case 1:
+               {
+                       //Detailed ListView
+                       //Allocate memory for the CustomItem
+                       pCustomItem = new (std::nothrow) CustomItem();
+                       pCustomItem->Construct(Dimension(itemWidth, H_ITEM_LISTVIEW_POPUP), pListAnnexStyle);
+
+                       r = pCustomItem->AddElement(Rectangle(X_DEFAULT, Y_DEFAULT, itemWidth, H_ITEM_LISTVIEW_POPUP),
+                                                                               IDC_ITEM_TITLE_STRING,
+                                                                               nameZtoA,
+                                                                               ID_FONT_SIZE_36,
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               Color::GetColor(COLOR_ID_WHITE),
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               true);
+                       TryCatch(r == E_SUCCESS, , "failed to add element");
+               }
+               break;
+
+               case 2:
+               {
+                       //ThumbnailView
+                       //Allocate memory for the CustomItem
+                       pCustomItem = new (std::nothrow) CustomItem();
+                       pCustomItem->Construct(Dimension(itemWidth, H_ITEM_LISTVIEW_POPUP), pListAnnexStyle);
+
+                       r = pCustomItem->AddElement(Rectangle(X_DEFAULT, Y_DEFAULT, itemWidth, H_ITEM_LISTVIEW_POPUP),
+                                                                               IDC_ITEM_TITLE_STRING,
+                                                                               dateRecent,
+                                                                               ID_FONT_SIZE_36,
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               Color::GetColor(COLOR_ID_WHITE),
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               true);
+                       TryCatch(r == E_SUCCESS, , "failed to add element");
+               }
+               break;
+
+               case 3:
+               {
+                       //ThumbnailView
+                       //Allocate memory for the CustomItem
+                       pCustomItem = new (std::nothrow) CustomItem();
+                       pCustomItem->Construct(Dimension(itemWidth, H_ITEM_LISTVIEW_POPUP), pListAnnexStyle);
+
+                       r = pCustomItem->AddElement(Rectangle(X_DEFAULT, Y_DEFAULT, itemWidth, H_ITEM_LISTVIEW_POPUP),
+                                                                               IDC_ITEM_TITLE_STRING,
+                                                                               dateOldest,
+                                                                               ID_FONT_SIZE_36,
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               Color::GetColor(COLOR_ID_WHITE),
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               true);
+                       TryCatch(r == E_SUCCESS, , "failed to add element");
+               }
+               break;
+
+               case 4:
+               {
+                       //ThumbnailView
+                       //Allocate memory for the CustomItem
+                       pCustomItem = new (std::nothrow) CustomItem();
+                       pCustomItem->Construct(Dimension(itemWidth, H_ITEM_LISTVIEW_POPUP), pListAnnexStyle);
+
+                       r = pCustomItem->AddElement(Rectangle(X_DEFAULT, Y_DEFAULT, itemWidth, H_ITEM_LISTVIEW_POPUP),
+                                                                               IDC_ITEM_TITLE_STRING,
+                                                                               size,
+                                                                               ID_FONT_SIZE_36,
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               Color::GetColor(COLOR_ID_WHITE),
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               true);
+                       TryCatch(r == E_SUCCESS, , "failed to add element");
+               }
+               break;
+
+               case 5:
+               {
+                       //ThumbnailView
+                       //Allocate memory for the CustomItem
+                       pCustomItem = new (std::nothrow) CustomItem();
+                       pCustomItem->Construct(Dimension(itemWidth, H_ITEM_LISTVIEW_POPUP), pListAnnexStyle);
+
+                       r = pCustomItem->AddElement(Rectangle(X_DEFAULT, Y_DEFAULT, itemWidth, H_ITEM_LISTVIEW_POPUP),
+                                                                               IDC_ITEM_TITLE_STRING,
+                                                                               type,
+                                                                               ID_FONT_SIZE_36,
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               Color::GetColor(COLOR_ID_WHITE),
+                                                                               Color::GetColor(COLOR_ID_BLACK),
+                                                                               true);
+                       TryCatch(r == E_SUCCESS, , "failed to add element");
+               }
+               break;
+
+               default:
+                       //Empty Implementation.
+                       break;
+               }
+       }
+
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return pCustomItem;
+
+CATCH:
+       if (pCustomItem != null)
+       {
+               delete pCustomItem;
+               pCustomItem = null;
+       }
+
+       return null;
+}
+bool
+CustomListViewForPopup::DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth)
+{
+       delete pItem;
+       pItem = null;
+       return true;
+}
+
+void
+CustomListViewForPopup::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
+{
+       //Handles the ItemSelected event on the listview items, Updates the ViewType on the AppRegistry upon item selected to one
+       //amongst ListView, List and Details or Thumbnails
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+
+       AppRegistry* pAppRegistry = null;
+       String viewStyleKeyName(L"ListDisplayType");
+       String sortByKeyName(L"SortBy");
+
+
+       ViewType listViewType = VIEW_TYPE_AS_NONE;
+       int sortType = SORT_BY_TYPE_NAME_ASCENDING;
+
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+       TryCatch(pAppRegistry != null, , "Failed to Find AppRegistry!");
+
+       if (__popupSource == POP_UP_VIEW_AS)
+       {
+               switch (index)
+               {
+               case VIEW_TYPE_AS_NORMAL_LIST:
+               {
+                       listView.SetItemChecked(0, true);
+
+                       listView.GetParent()->Invalidate(true);
+
+                       listView.GetParent()->SetShowState(false);
+
+                       listViewType = VIEW_TYPE_AS_NORMAL_LIST;
+                       listView.SetItemChecked(1, false);
+                       listView.SetItemChecked(2, false);
+
+                       //listView.UpdateList();
+
+                       //Set the key storing the ViewType to that of Normal listview
+                       pAppRegistry->Set(viewStyleKeyName, VIEW_TYPE_AS_NORMAL_LIST);
+
+                       //Save the Registry.
+                       pAppRegistry->Save();
+               }
+               break;
+
+               case VIEW_TYPE_AS_DETAILED_LIST:
+               {
+                       listView.SetItemChecked(1, true);
+                       listView.GetParent()->Invalidate(true);
+                       listView.GetParent()->SetShowState(false);
+
+                       listViewType = VIEW_TYPE_AS_DETAILED_LIST;
+
+                       listView.SetItemChecked(0, false);
+                       listView.SetItemChecked(2, false);
+
+                       //listView.UpdateList();
+
+                       //Set the key storing the ViewType to that of detailed listview
+                       pAppRegistry->Set(viewStyleKeyName, VIEW_TYPE_AS_DETAILED_LIST);
+                       AppLogDebug("Setting Setting AppRegistry Value Result: %s", GetErrorMessage(r));
+
+                       //Save the Registry.
+                       pAppRegistry->Save();
+                       AppLogDebug("Saving Key Result Value: %s", GetErrorMessage(r));
+
+               }
+               break;
+
+               case VIEW_TYPE_AS_THUMBNAILS:
+               {
+                       listView.SetItemChecked(2, true);
+
+                       listView.GetParent()->Invalidate(true);
+
+                       listView.GetParent()->SetShowState(false);
+
+
+                       listViewType = VIEW_TYPE_AS_THUMBNAILS;
+                       listView.SetItemChecked(0, false);
+                       listView.SetItemChecked(1, false);
+
+                       //Set the key storing the ViewType to that of detailed listview
+                       pAppRegistry->Set(viewStyleKeyName, VIEW_TYPE_AS_THUMBNAILS);
+
+                       //Save the Registry.
+                       pAppRegistry->Save();
+               }
+               break;
+
+               default:
+                       break;
+               }
+       }
+       else if (__popupSource == POP_UP_SORT_BY)
+       {
+               pAppRegistry->Get(sortByKeyName, sortType);
+
+               if (sortType != index /*|| (sortType == SORT_BY_TYPE_SIZE_ASCENDING || sortType == SORT_BY_TYPE_SIZE_DESCENDING || sortType == SORT_BY_TYPE_SIZE)*/)
+               {
+                       switch (index)
+                       {
+                       case SORT_BY_TYPE_NAME_ASCENDING:
+                       {
+                               listView.SetItemChecked(0, true);
+
+                               listView.GetParent()->Invalidate(true);
+
+                               listView.GetParent()->SetShowState(false);
+
+                               sortType = SORT_BY_TYPE_NAME_ASCENDING;
+
+                               listView.SetItemChecked(1, false);
+                               listView.SetItemChecked(2, false);
+                               listView.SetItemChecked(3, false);
+                               listView.SetItemChecked(4, false);
+                               listView.SetItemChecked(5, false);
+
+                               pAppRegistry->Set(sortByKeyName, sortType);
+
+                               //Save the Registry.
+                               pAppRegistry->Save();
+                       }
+                       break;
+
+                       case SORT_BY_TYPE_NAME_DESCENDING:
+                       {
+                               listView.SetItemChecked(1, true);
+                               listView.GetParent()->Invalidate(true);
+                               listView.GetParent()->SetShowState(false);
+
+                               sortType = SORT_BY_TYPE_NAME_DESCENDING;
+
+                               listView.SetItemChecked(0, false);
+                               listView.SetItemChecked(2, false);
+                               listView.SetItemChecked(3, false);
+                               listView.SetItemChecked(4, false);
+                               listView.SetItemChecked(5, false);
+
+                               //listView.UpdateList();
+
+                               //Set the key storing the ViewType to that of detailed listview
+                               pAppRegistry->Set(sortByKeyName, sortType);
+
+                               //Save the Registry.
+                               pAppRegistry->Save();
+
+                       }
+                       break;
+
+                       case SORT_BY_TYPE_DATE_RECENT:
+                       {
+
+                               listView.SetItemChecked(2, true);
+                               listView.GetParent()->Invalidate(true);
+                               listView.GetParent()->SetShowState(false);
+
+                               sortType = SORT_BY_TYPE_DATE_RECENT;
+
+                               listView.SetItemChecked(0, false);
+                               listView.SetItemChecked(1, false);
+                               listView.SetItemChecked(3, false);
+                               listView.SetItemChecked(4, false);
+                               listView.SetItemChecked(5, false);
+
+                               //Set the key storing the ViewType to that of detailed listview
+                               pAppRegistry->Set(sortByKeyName, sortType);
+
+                               //Save the Registry.
+                               r = pAppRegistry->Save();
+                       }
+                       break;
+
+                       case SORT_BY_TYPE_DATE_OLDEST:
+                       {
+
+
+                               listView.SetItemChecked(3, true);
+
+                               listView.GetParent()->Invalidate(true);
+                               listView.GetParent()->SetShowState(false);
+
+                               sortType = SORT_BY_TYPE_DATE_OLDEST;
+
+                               listView.SetItemChecked(0, false);
+                               listView.SetItemChecked(1, false);
+                               listView.SetItemChecked(2, false);
+                               listView.SetItemChecked(4, false);
+                               listView.SetItemChecked(5, false);
+                               //Set the key storing the ViewType to that of detailed listview
+                               pAppRegistry->Set(sortByKeyName, sortType);
+
+                               //Save the Registry.
+                               pAppRegistry->Save();
+                       }
+                       break;
+
+                       case SORT_BY_TYPE_SIZE:
+                       {
+
+
+                               listView.SetItemChecked(4, true);
+                               listView.GetParent()->SetShowState(false);
+
+                               listView.GetParent()->Invalidate(true);
+
+                               pAppRegistry->Get(sortByKeyName, sortType);
+
+                               if (sortType == SORT_BY_TYPE_SIZE_ASCENDING)
+                               {
+                                       sortType = SORT_BY_TYPE_SIZE_DESCENDING;
+                               }
+                               else if (sortType == SORT_BY_TYPE_SIZE_DESCENDING)
+                               {
+                                       sortType = SORT_BY_TYPE_SIZE_ASCENDING;
+                               }
+                               else
+                               {
+                                       sortType = SORT_BY_TYPE_SIZE_ASCENDING;
+                               }
+
+                               listView.SetItemChecked(0, false);
+                               listView.SetItemChecked(1, false);
+                               listView.SetItemChecked(2, false);
+                               listView.SetItemChecked(3, false);
+                               listView.SetItemChecked(5, false);
+
+                               //Set the key storing the ViewType to that of detailed listview
+                               pAppRegistry->Set(sortByKeyName, sortType);
+                               //Save the Registry.
+                               pAppRegistry->Save();
+                       }
+                       break;
+
+                       case SORT_BY_TYPE:
+                       {
+                               listView.SetItemChecked(5, true);
+
+                               listView.GetParent()->Invalidate(true);
+
+                               listView.GetParent()->SetShowState(false);
+
+                               pAppRegistry->Get(sortByKeyName, sortType);
+
+                               if (sortType == SORT_BY_TYPE_ASCENDING)
+                               {
+                                       sortType = SORT_BY_TYPE_DESCENDING;
+                               }
+                               else if (sortType == SORT_BY_TYPE_DESCENDING)
+                               {
+                                       sortType = SORT_BY_TYPE_ASCENDING;
+                               }
+                               else
+                               {
+                                       sortType = SORT_BY_TYPE_ASCENDING;
+                               }
+
+                               listView.SetItemChecked(0, false);
+                               listView.SetItemChecked(1, false);
+                               listView.SetItemChecked(2, false);
+                               listView.SetItemChecked(3, false);
+                               listView.SetItemChecked(4, false);
+
+                               //Set the key storing the ViewType to that of detailed listview
+                               pAppRegistry->Set(sortByKeyName, sortType);
+
+                               //Save the Registry.
+                               pAppRegistry->Save();
+                       }
+                       break;
+
+                       default:
+                               break;
+                       }
+               }
+       }
+
+       r = GetLastResult();
+
+       //Notify the current form that the ViewType has been changed.
+       __pListViewItemStateChangeListener->OnListViewItemStateChangedNotify(listViewType);
+
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return;
+
+CATCH:
+       return;
+}
+
+void
+CustomListViewForPopup::OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction)
+{
+       //Empty Implementation.
+}
+
+void
+CustomListViewForPopup::OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status)
+{
+       //Empty Implementation.
+}
+
+void
+CustomListViewForPopup::OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback)
+{
+       //Empty Implementation.
+}
+
+void
+CustomListViewForPopup::OnListViewItemReordered(Tizen::Ui::Controls::ListView& listView, int indexFrom, int indexTo)
+{
+       //Empty Implementation.
+}
+
+result
+CustomListViewForPopup::SetEventListener(IListViewStateChangeListener* listener)
+{
+       //This method is called from the respective forms to set the EventListener to the current form.
+       result res = E_SUCCESS;
+       __pListViewItemStateChangeListener = listener;
+       return res;
+}
+
+void
+CustomListViewForPopup::SetSelectionPopup(int selectedPopup)
+{
+       __popupSource = selectedPopup;
+}
+
+int
+CustomListViewForPopup::GetSelectionPopup(void)
+{
+       return __popupSource;
+}
diff --git a/src/MfDetailsForm.cpp b/src/MfDetailsForm.cpp
new file mode 100644 (file)
index 0000000..61dd9fb
--- /dev/null
@@ -0,0 +1,930 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFileDetailForm.cpp
+ * @brief: This file contains the implementation of class DetailsForm, which acts as a View to display
+ * the details of files or folders.
+ */
+
+#include <FApp.h>
+#include <FUiControl.h>
+
+#include "MfDetailsForm.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base;
+using namespace Tizen::Graphics;
+using namespace Tizen::Io;
+using namespace Tizen::Locales;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+DetailsForm::DetailsForm(void)
+       : __pMediaMetaData(null)
+       , __pFileDetailList(null)
+       , __pFileHeaderDetailList(null)
+       , __pGroupedDetailListView(null)
+{
+       //Empty Implementation.
+}
+
+DetailsForm::~DetailsForm(void)
+{
+       if (__pFileDetailList != null)
+       {
+               __pFileDetailList->RemoveAll(true);
+               delete __pFileDetailList;
+       }
+
+       if (__pFileHeaderDetailList != null)
+       {
+               __pFileHeaderDetailList->RemoveAll(true);
+               delete __pFileHeaderDetailList;
+       }
+}
+
+DetailsForm&
+DetailsForm::operator =(const DetailsForm& fileDetailForm)
+{
+       return *this;
+}
+
+DetailsForm::DetailsForm(const DetailsForm& fileDetailForm)
+{
+       //Do Nothing
+}
+
+bool
+DetailsForm::Initialize(void)
+{
+       result r = E_SUCCESS;
+       Construct(L"IDL_DETAIL_FORM");
+       __pFileDetailList = new (std::nothrow) ArrayList();
+       r = __pFileDetailList->Construct();
+
+       __pFileHeaderDetailList = new (std::nothrow) ArrayList();
+       r = __pFileHeaderDetailList->Construct();
+
+       return true;
+}
+
+result
+DetailsForm::OnInitializing(void)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       // Setup back event listener
+       SetFormBackEventListener(this);
+
+       __pGroupedDetailListView = static_cast< GroupedListView* >(GetControl(L"IDC_GROUPEDLISTVIEW1"));
+       if (__pGroupedDetailListView != null)
+       {
+               __pGroupedDetailListView->SetItemProvider(*this);
+               __pGroupedDetailListView->AddGroupedListViewItemEventListener(*this);
+               __pGroupedDetailListView->SetMultipointTouchEnabled(false);
+       }
+
+       SetMultipointTouchEnabled(false);
+       AppLogDebug("Exit");
+       return r;
+}
+
+result
+DetailsForm::OnTerminating(void)
+{
+       result r = E_SUCCESS;
+       return r;
+}
+
+void
+DetailsForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
+{
+       AppLogDebug("Entry");
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+       if (pSceneManager != null)
+       {
+               pSceneManager->GoBackward(BackwardSceneTransition());
+       }
+       AppLogDebug("Exit");
+}
+
+
+void
+DetailsForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+                                                          const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
+{
+       AppLogDebug("Entry");
+       String* pFilePath = null;
+       FolderEntryDetailPresentationModel mediaUtility;
+       FileAttributes fileAttrib;
+       String imageFileFormat;
+
+       SceneManager::GetInstance()->AddSceneManagerEventListener(*this);
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+
+       if (pArgs != null)
+       {
+               pFilePath = dynamic_cast< String* >(pArgs->GetAt(0));
+               __fileFullPath.Clear();
+               if (pFilePath != null)
+               {
+                       __fileFullPath.Append(*pFilePath);
+               }
+               pArgs->RemoveAll(true);
+
+               File::GetAttributes(__fileFullPath, fileAttrib);
+
+               if (fileAttrib.IsDirectory())
+               {
+                       __pMediaMetaData = mediaUtility.GetFolderEntryMetaDataN(__fileFullPath, FILE_TYPE_FOLDER_TYPE);
+                       SetFileDetailList(FILE_TYPE_FOLDER_TYPE);
+               }
+               else
+               {
+                       int chkForFileFormatFlag = IMAGE_FILE_FORMAT;
+                       int counter = 0;
+                       if (chkForFileFormatFlag == IMAGE_FILE_FORMAT)
+                       {
+
+                               for (counter = 0; counter < IMAGE_FILE_FORMAT_COUNT; counter++)
+                               {
+                                       imageFileFormat = typeImage[counter];
+
+                                       if (__fileFullPath.EndsWith(imageFileFormat))
+                                       {
+                                               chkForFileFormatFlag = IMAGE_FILE_FORMAT;
+
+                                               __pMediaMetaData = mediaUtility.GetFolderEntryMetaDataN(__fileFullPath, FILE_TYPE_IMAGE_TYPE);
+                                               SetFileDetailList(FILE_TYPE_IMAGE_TYPE);
+                                               break;
+                                       }
+                                       else
+                                       {
+                                               chkForFileFormatFlag = AUDIO_FILE_FORMAT;
+                                       }
+
+                               }
+                       }
+
+                       if (chkForFileFormatFlag == AUDIO_FILE_FORMAT)
+                       {
+                               int counter = 0;
+
+                               for (counter = 0; counter < AUDIO_FILE_FORMAT_COUNT; counter++)
+                               {
+
+                                       String audioFileFormat = typeAudio[counter];
+
+                                       if (__fileFullPath.EndsWith(audioFileFormat))
+                                       {
+                                               chkForFileFormatFlag = AUDIO_FILE_FORMAT;
+
+                                               __pMediaMetaData = mediaUtility.GetFolderEntryMetaDataN(__fileFullPath, FILE_TYPE_AUDIO_TYPE);
+                                               SetFileDetailList(FILE_TYPE_AUDIO_TYPE);
+                                               break;
+                                       }
+                                       else
+                                       {
+                                               chkForFileFormatFlag = VIDEO_FILE_FORMAT;
+                                       }
+                               }
+                       }
+                       if (chkForFileFormatFlag == VIDEO_FILE_FORMAT)
+                       {
+                               int counter = 0;
+                               for (counter = 0; counter < VIDEO_FILE_FORMAT_COUNT; counter++)
+                               {
+                                       String videoFileFormat = typeVideo[counter];
+                                       if (__fileFullPath.EndsWith(videoFileFormat))
+                                       {
+                                               chkForFileFormatFlag = VIDEO_FILE_FORMAT;
+
+                                               __pMediaMetaData = mediaUtility.GetFolderEntryMetaDataN(__fileFullPath, FILE_TYPE_VIDEO_TYPE);
+                                               SetFileDetailList(FILE_TYPE_VIDEO_TYPE);
+                                               break;
+                                       }
+                                       else
+                                       {
+                                               chkForFileFormatFlag = OTHER_FILE_FORMAT;
+                                       }
+                               }
+                       }
+                       if (chkForFileFormatFlag == OTHER_FILE_FORMAT)
+                       {
+
+                               __pMediaMetaData = mediaUtility.GetFolderEntryMetaDataN(__fileFullPath, FILE_TYPE_OTHER_TYPE);
+                               SetFileDetailList(FILE_TYPE_OTHER_TYPE);
+                       }
+
+               }
+               delete pArgs;
+       }
+
+       AppLogDebug("Exit");
+}
+
+void
+DetailsForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+                                                               const Tizen::Ui::Scenes::SceneId& nextSceneId)
+{
+       DeviceManager::RemoveAllDeviceEventListeners();
+}
+
+void
+DetailsForm::SetFileDetailList(FileType fileType)
+{
+       AppLogDebug("Entry");
+       String* pNameHeading = null;
+       String* pFileName = null;
+       String* pSizeHeading = null;
+       String* pSize = null;
+       String* pContainsHeading = null;
+       String* pFileAndFolders = null;
+       String* pDateCreateHeading = null;
+       String* pDateAndTime = null;
+       String* pLocationHeading = null;
+       String* pFilePath = null;
+       String* pFormatHeading = null;
+       String* pFormat = null;
+       String* pResolutionHeading = null;
+       String* pResolution = null;
+       AppResource* pAppResource = null;
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Failed to get instance of pAppResource");
+
+       switch (fileType)
+       {
+       case FILE_TYPE_FOLDER_TYPE:
+       {
+               String nameHeading;
+               String sizeHeading;
+               String containsHeading;
+               String dateCreatedHeading;
+               String locationHeading;
+               String size;
+               String fileAndFolders;
+               String dateAndTime;
+               String files;
+               String folders;
+
+               FolderMediaMetaData* folderMediaMetaData = static_cast< FolderMediaMetaData* >(__pMediaMetaData);
+
+               pAppResource->GetString(L"IDS_COM_BODY_FOLDERS", folders);
+               pAppResource->GetString(L"IDS_COM_OPT_FILES", files);
+
+
+               pAppResource->GetString(L"IDS_MF_OPT_LISTBY_NAME", nameHeading);
+               pNameHeading = new (std::nothrow) String(nameHeading);
+
+               __pFileHeaderDetailList->Add(pNameHeading);
+
+
+               pFileName = new (std::nothrow) String(*(folderMediaMetaData->GetFileName()));
+               __pFileDetailList->Add(pFileName);
+
+               pAppResource->GetString(L"IDS_COM_BODY_SIZE", sizeHeading);
+
+               pSizeHeading = new (std::nothrow) String(sizeHeading);
+               __pFileHeaderDetailList->Add(pSizeHeading);
+
+
+               size = MfUtility::ConvertFileSizeToString(folderMediaMetaData->GetFileSize());
+
+               pSize = new (std::nothrow) String(size);
+               __pFileDetailList->Add(pSize);
+
+               fileAndFolders.Append(folderMediaMetaData->GetNoOfFiles());
+               fileAndFolders.Append(L" ");
+               fileAndFolders.Append(files);
+               fileAndFolders.Append(", ");
+               fileAndFolders.Append(folderMediaMetaData->GetNoOfFolders());
+               fileAndFolders.Append(L" ");
+               fileAndFolders.Append(folders);
+
+               pAppResource->GetString(L"IDS_MF_BODY_CONTAINS", containsHeading);
+
+
+               pContainsHeading = new (std::nothrow) String(containsHeading);
+               __pFileHeaderDetailList->Add(pContainsHeading);
+
+               pFileAndFolders = new (std::nothrow) String(fileAndFolders);
+               __pFileDetailList->Add(pFileAndFolders);
+
+               pAppResource->GetString(L"IDS_MF_BODY_CREATED_DATE", dateCreatedHeading);
+
+               pDateCreateHeading = new (std::nothrow) String(dateCreatedHeading);
+               __pFileHeaderDetailList->Add(pDateCreateHeading);
+
+               dateAndTime = MfUtility::ConvertDateTimeToString(folderMediaMetaData->GetFileCreationTime());
+
+               pDateAndTime = new (std::nothrow) String(dateAndTime);
+               __pFileDetailList->Add(pDateAndTime);
+
+               pAppResource->GetString(L"IDS_COM_BODY_LOCATION", locationHeading);
+
+               pLocationHeading = new (std::nothrow) String(locationHeading);
+               __pFileHeaderDetailList->Add(pLocationHeading);
+
+               pFilePath = new (std::nothrow) String(*(folderMediaMetaData->GetFilePath()));
+               __pFileDetailList->Add(pFilePath);
+
+               //if (folderMediaMetaData != null)
+               //{
+
+               delete folderMediaMetaData;
+               folderMediaMetaData = null;
+               //}
+
+       }
+       break;
+
+       case FILE_TYPE_IMAGE_TYPE:
+       {
+               String nameHeading;
+               String sizeHeading;
+               String formatHeading;
+               String resolutionHeading;
+               String dateCreatedHeading;
+               String locationHeading;
+               String size;
+
+               ImageMediaMetaData* imageMediaMetaData = static_cast< ImageMediaMetaData* >(__pMediaMetaData);
+               TryCatch(imageMediaMetaData != null, , "Failed to allocate Image Media Meta Data");
+
+               pAppResource->GetString(L"IDS_MF_OPT_LISTBY_NAME", nameHeading);
+               pNameHeading = new (std::nothrow) String(nameHeading);
+               __pFileHeaderDetailList->Add(pNameHeading);
+
+
+               pFileName = new (std::nothrow) String(*(imageMediaMetaData->GetFileName()));
+               __pFileDetailList->Add(pFileName);
+
+
+               pAppResource->GetString(L"IDS_COM_BODY_SIZE", sizeHeading);
+               pSizeHeading = new (std::nothrow) String(sizeHeading);
+
+               __pFileHeaderDetailList->Add(pSizeHeading);
+
+               size = MfUtility::ConvertFileSizeToString(imageMediaMetaData->GetFileSize());
+               pSize = new (std::nothrow) String(size);
+               __pFileDetailList->Add(pSize);
+
+               pAppResource->GetString(L"IDS_COM_BODY_FORMAT", formatHeading);
+               pFormatHeading = new (std::nothrow) String(formatHeading);
+               __pFileHeaderDetailList->Add(pFormatHeading);
+
+               pFormat = new (std::nothrow) String(*(imageMediaMetaData->GetFileFormat()));
+               __pFileDetailList->Add(pFormat);
+
+               pAppResource->GetString(L"IDS_IDLE_BODY_RESOLUTION", resolutionHeading);
+               pResolutionHeading = new (std::nothrow) String(resolutionHeading);
+               __pFileHeaderDetailList->Add(pResolutionHeading);
+
+
+               pResolution = new (std::nothrow) String(*(imageMediaMetaData->GetFileResolution()));
+               __pFileDetailList->Add(pResolution);
+
+
+               String dateAndTime = MfUtility::ConvertDateTimeToString(imageMediaMetaData->GetFileCreationTime());
+               pAppResource->GetString(L"IDS_MF_BODY_CREATED_DATE", dateCreatedHeading);
+               pDateCreateHeading = new (std::nothrow) String(dateCreatedHeading);
+               __pFileHeaderDetailList->Add(pDateCreateHeading);
+
+
+               pDateAndTime = new (std::nothrow) String(dateAndTime);
+               __pFileDetailList->Add(pDateAndTime);
+
+
+               pAppResource->GetString(L"IDS_COM_BODY_LOCATION", locationHeading);
+               pLocationHeading = new (std::nothrow) String(locationHeading);
+               __pFileHeaderDetailList->Add(pLocationHeading);
+
+
+               pFilePath = new (std::nothrow) String(*(imageMediaMetaData->GetFilePath()));
+               __pFileDetailList->Add(pFilePath);
+
+               //if (imageMediaMetaData != null)
+               //{
+
+               delete imageMediaMetaData;
+               imageMediaMetaData = null;
+               //}
+
+       }
+       break;
+
+       case FILE_TYPE_AUDIO_TYPE:
+       {
+               String nameHeading;
+               String sizeHeading;
+               String formatHeading;
+               String dateCreatedHeading;
+               String locationHeading;
+               String size;
+
+               AudioMediaMetaData* audioMediaMetaData = static_cast< AudioMediaMetaData* >(__pMediaMetaData);
+               TryCatch(audioMediaMetaData != null, , "Failed to allocate Audio Media Meta Data");
+
+               pAppResource->GetString(L"IDS_MF_OPT_LISTBY_NAME", nameHeading);
+               pNameHeading = new (std::nothrow) String(nameHeading);
+               __pFileHeaderDetailList->Add(pNameHeading);
+
+               pFileName = new (std::nothrow) String(*(audioMediaMetaData->GetFileName()));
+               __pFileDetailList->Add(pFileName);
+
+
+               size = MfUtility::ConvertFileSizeToString(audioMediaMetaData->GetFileSize());
+               pAppResource->GetString(L"IDS_COM_BODY_SIZE", sizeHeading);
+               pSizeHeading = new (std::nothrow) String(sizeHeading);
+               __pFileHeaderDetailList->Add(pSizeHeading);
+
+               pSize = new (std::nothrow) String(size);
+               __pFileDetailList->Add(pSize);
+
+               pAppResource->GetString(L"IDS_COM_BODY_FORMAT", formatHeading);
+               pFormatHeading = new (std::nothrow) String(formatHeading);
+               __pFileHeaderDetailList->Add(pFormatHeading);
+
+               pFormat = new (std::nothrow) String(*(audioMediaMetaData->GetFileFormat()));
+               __pFileDetailList->Add(pFormat);
+
+               String dateAndTime = MfUtility::ConvertDateTimeToString(audioMediaMetaData->GetFileCreationTime());
+               pAppResource->GetString(L"IDS_MF_BODY_CREATED_DATE", dateCreatedHeading);
+               pDateCreateHeading = new (std::nothrow) String(dateCreatedHeading);
+               __pFileHeaderDetailList->Add(pDateCreateHeading);
+
+               pDateAndTime = new (std::nothrow) String(dateAndTime);
+               __pFileDetailList->Add(pDateAndTime);
+
+               pAppResource->GetString(L"IDS_COM_BODY_LOCATION", locationHeading);
+               pLocationHeading = new (std::nothrow) String(locationHeading);
+               __pFileHeaderDetailList->Add(pLocationHeading);
+
+               pFilePath = new (std::nothrow) String(*(audioMediaMetaData->GetFilePath()));
+               __pFileDetailList->Add(pFilePath);
+
+               //if (audioMediaMetaData != null)
+               //{
+
+               delete audioMediaMetaData;
+               audioMediaMetaData = null;
+               //}
+
+       }
+       break;
+
+       case FILE_TYPE_VIDEO_TYPE:
+       {
+               String nameHeading;
+               String sizeHeading;
+               String formatHeading;
+               String resolutionHeading;
+               String dateCreatedHeading;
+               String locationHeading;
+               String size;
+
+               VideoMediaMetaData* videoMediaMetaData = static_cast< VideoMediaMetaData* >(__pMediaMetaData);
+               TryCatch(videoMediaMetaData != null, , "Failed to allocate Video Media Meta Data");
+
+               pAppResource->GetString(L"IDS_MF_OPT_LISTBY_NAME", nameHeading);
+               pNameHeading = new (std::nothrow) String(nameHeading);
+               __pFileHeaderDetailList->Add(pNameHeading);
+
+               pFileName = new (std::nothrow) String(*(videoMediaMetaData->GetFileName()));
+               __pFileDetailList->Add(pFileName);
+
+
+               pAppResource->GetString(L"IDS_COM_BODY_SIZE", sizeHeading);
+               pSizeHeading = new (std::nothrow) String(sizeHeading);
+               __pFileHeaderDetailList->Add(pSizeHeading);
+
+               size = MfUtility::ConvertFileSizeToString(videoMediaMetaData->GetFileSize());
+               pSize = new (std::nothrow) String(size);
+               __pFileDetailList->Add(pSize);
+
+
+               pAppResource->GetString(L"IDS_COM_BODY_FORMAT", formatHeading);
+               pFormatHeading = new (std::nothrow) String(formatHeading);
+               __pFileHeaderDetailList->Add(pFormatHeading);
+
+               pFormat = new (std::nothrow) String(*(videoMediaMetaData->GetFileFormat()));
+               __pFileDetailList->Add(pFormat);
+
+               pAppResource->GetString(L"IDS_IDLE_BODY_RESOLUTION", resolutionHeading);
+               pResolutionHeading = new (std::nothrow) String(resolutionHeading);
+               __pFileHeaderDetailList->Add(pResolutionHeading);
+
+               pResolution = new (std::nothrow) String(*(videoMediaMetaData->GetFileResolution()));
+               __pFileDetailList->Add(pResolution);
+
+               String dateAndTime = MfUtility::ConvertDateTimeToString(videoMediaMetaData->GetFileCreationTime());
+               pAppResource->GetString(L"IDS_MF_BODY_CREATED_DATE", dateCreatedHeading);
+               pDateCreateHeading = new (std::nothrow) String(dateCreatedHeading);
+               __pFileHeaderDetailList->Add(pDateCreateHeading);
+
+               pDateAndTime = new (std::nothrow) String(dateAndTime);
+               __pFileDetailList->Add(pDateAndTime);
+
+               pAppResource->GetString(L"IDS_COM_BODY_LOCATION", locationHeading);
+               pLocationHeading = new (std::nothrow) String(locationHeading);
+               __pFileHeaderDetailList->Add(pLocationHeading);
+
+               pFilePath = new (std::nothrow) String(*(videoMediaMetaData->GetFilePath()));
+               __pFileDetailList->Add(pFilePath);
+
+               //if (videoMediaMetaData != null)
+               //{
+
+               delete videoMediaMetaData;
+               videoMediaMetaData = null;
+               //}
+
+       }
+       break;
+
+       case FILE_TYPE_OTHER_TYPE:
+       {
+               String nameHeading;
+               String sizeHeading;
+               String formatHeading;
+               String dateCreatedHeading;
+               String locationHeading;
+               String size;
+               OtherMediaMetaData* otherMediaMetaData = static_cast< OtherMediaMetaData* >(__pMediaMetaData);
+               TryCatch(otherMediaMetaData != null, , "Failed to allocate Other Media Meta Data");
+
+               if (otherMediaMetaData != null)
+               {
+                       pAppResource->GetString(L"IDS_MF_OPT_LISTBY_NAME", nameHeading);
+                       pNameHeading = new (std::nothrow) String(nameHeading);
+                       __pFileHeaderDetailList->Add(pNameHeading);
+
+                       pFileName = new (std::nothrow) String(*(otherMediaMetaData->GetFileName()));
+                       __pFileDetailList->Add(pFileName);
+
+                       size = MfUtility::ConvertFileSizeToString(otherMediaMetaData->GetFileSize());
+                       pAppResource->GetString(L"IDS_COM_BODY_SIZE", sizeHeading);
+                       pSizeHeading = new (std::nothrow) String(sizeHeading);
+                       __pFileHeaderDetailList->Add(pSizeHeading);
+
+                       pSize = new (std::nothrow) String(size);
+                       __pFileDetailList->Add(pSize);
+
+                       pAppResource->GetString(L"IDS_COM_BODY_FORMAT", formatHeading);
+                       pFormatHeading = new (std::nothrow) String(formatHeading);
+                       __pFileHeaderDetailList->Add(pFormatHeading);
+
+                       pFormat = new (std::nothrow) String(*(otherMediaMetaData->GetFileFormat()));
+                       __pFileDetailList->Add(pFormat);
+
+                       String dateAndTime = MfUtility::ConvertDateTimeToString(otherMediaMetaData->GetFileCreationTime());
+                       pAppResource->GetString(L"IDS_MF_BODY_CREATED_DATE", dateCreatedHeading);
+                       pDateCreateHeading = new (std::nothrow) String(dateCreatedHeading);
+                       __pFileHeaderDetailList->Add(pDateCreateHeading);
+
+                       pDateAndTime = new (std::nothrow) String(dateAndTime);
+                       __pFileDetailList->Add(pDateAndTime);
+
+                       pAppResource->GetString(L"IDS_COM_BODY_LOCATION", locationHeading);
+                       pLocationHeading = new (std::nothrow) String(locationHeading);
+                       __pFileHeaderDetailList->Add(pLocationHeading);
+
+                       pFilePath = new (std::nothrow) String(*(otherMediaMetaData->GetFilePath()));
+                       __pFileDetailList->Add(pFilePath);
+
+
+                       delete otherMediaMetaData;
+                       otherMediaMetaData = null;
+               }
+
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing.
+       }
+       break;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return;
+
+CATCH:
+       AppLogDebug("Exit");
+       return;
+}
+
+
+
+void
+DetailsForm::OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus)
+{
+       Rectangle listViewBounds(GetClientAreaBounds().x, GetClientAreaBounds().y, GetClientAreaBounds().width, GetClientAreaBounds().height);
+
+       switch (orientationStatus)
+       {
+       case ORIENTATION_STATUS_PORTRAIT:
+       {
+               //Do Nothing
+       }
+       break;
+
+       case ORIENTATION_STATUS_LANDSCAPE:
+       {
+               //Do Nothing
+       }
+       break;
+
+       default:
+               //Do Nothing.
+               break;
+       }
+
+       Invalidate(true);
+}
+
+int
+DetailsForm::GetGroupCount(void)
+{
+       return 1;
+}
+
+int
+DetailsForm::GetItemCount(int groupIndex)
+{
+       if (__pFileDetailList != null)
+       {
+               AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+               return __pFileDetailList->GetCount();
+       }
+       else
+       {
+               return 0;
+       }
+}
+
+Tizen::Ui::Controls::GroupItem*
+DetailsForm::CreateGroupItem(int groupIndex,
+                                                        int itemWidth)
+{
+       GroupItem* pItem = new (std::nothrow) GroupItem();
+       pItem->Construct(Dimension(itemWidth, Y_DEFAULT));
+       pItem->SetElement(L"", null);
+
+       return pItem;
+}
+
+Tizen::Ui::Controls::ListItemBase*
+DetailsForm::CreateItem(int groupIndex,
+                                               int itemIndex,
+                                               int itemWidth)
+{
+
+       result r = E_SUCCESS;
+       ListAnnexStyle style = LIST_ANNEX_STYLE_NORMAL;
+       String* pHeaderValue = null;
+       String* pValue = null;
+       CustomItem* pItem = null;
+       int w_Content = itemWidth - (2 * X_LISTVIEW);
+
+       pItem = new (std::nothrow) CustomItem();
+       TryCatch(pItem != null, , "Failed to allocate Memory to pItem");
+
+       pHeaderValue = static_cast< String* >(__pFileHeaderDetailList->GetAt(itemIndex));
+       pValue = static_cast< String* >(__pFileDetailList->GetAt(itemIndex));
+
+       pItem->Construct(Dimension(itemWidth, H_DETAIL_LISTVIEW), style);
+       pItem->AddElement(Rectangle(X_LISTVIEW, Y_LISTVIEW, w_Content, H_LISTVIEW_ITEM_DESCRIPTION),
+                                         ID_FORMAT_DETAIL_TYPE,
+                                         pHeaderValue->GetPointer(),
+                                         ID_FONT_SIZE_32,
+                                         Color::GetColor(COLOR_ID_GREY),
+                                         Color::GetColor(COLOR_ID_GREY),
+                                         Color::GetColor(COLOR_ID_GREY),
+                                         true);
+       pItem->AddElement(Rectangle(X_LISTVIEW, Y_LISTVIEW + H_LISTVIEW_ITEM_DESCRIPTION, w_Content, H_LISTVIEW_ITEM_TITLE),
+                                         ID_FORMAT_DETAIL_VALUE,
+                                         pValue->GetPointer(),
+                                         ID_FONT_SIZE_44,
+                                         Color::GetColor(COLOR_ID_BLACK),
+                                         Color::GetColor(COLOR_ID_BLACK),
+                                         Color::GetColor(COLOR_ID_BLACK), true);
+
+       pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED,Color(246,249,239));
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return pItem;
+
+CATCH:
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return null;
+}
+
+bool
+DetailsForm::DeleteGroupItem(int groupIndex,
+                                                        Tizen::Ui::Controls::GroupItem* pItem,
+                                                        int itemWidth)
+{
+       delete pItem;
+       pItem = null;
+       return true;
+}
+
+bool
+DetailsForm::DeleteItem(int groupIndex,
+                                               int itemIndex,
+                                               Tizen::Ui::Controls::ListItemBase* pItem,
+                                               int itemWidth)
+{
+       delete pItem;
+       pItem = null;
+       return true;
+}
+
+void
+DetailsForm::OnGroupedListViewContextItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListContextItemStatus state)
+{
+       //Empty Implementation.
+}
+void
+DetailsForm::OnGroupedListViewItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView,
+                                                                                          int groupIndex,
+                                                                                          int itemIndex,
+                                                                                          int elementId,
+                                                                                          Tizen::Ui::Controls::ListItemStatus state)
+{
+       //Empty Implementation.
+}
+void
+DetailsForm::OnGroupedListViewItemSwept(Tizen::Ui::Controls::GroupedListView& listView,
+                                                                               int groupIndex,
+                                                                               int itemIndex,
+                                                                               Tizen::Ui::Controls::SweepDirection direction)
+{
+       //Empty Implementation.
+}
+
+void
+DetailsForm::OnGroupedListViewItemLongPressed(Tizen::Ui::Controls::GroupedListView& listView,
+                                                                                         int groupIndex,
+                                                                                         int itemIndex,
+                                                                                         int elementId,
+                                                                                         bool& invokeListViewItemCallback)
+{
+       //Empty Implementation.
+}
+
+void
+DetailsForm::OnSceneTransitionCompleted(const Tizen::Ui::Scenes::SceneId &previousSceneId,
+               const Tizen::Ui::Scenes::SceneId &currentSceneId)
+{
+       SceneManager::GetInstance()->RemoveSceneManagerEventListener(*this);
+
+       if (__pGroupedDetailListView != null)
+       {
+               __pGroupedDetailListView->UpdateList();
+       }
+}
+
+void
+DetailsForm::OnSceneTransitionStarted(const Tizen::Ui::Scenes::SceneId &currentSceneId,
+               const Tizen::Ui::Scenes::SceneId &nextSceneId)
+{
+       //Empty Implementation.
+}
+
+void
+DetailsForm::OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state)
+{
+       bool setMediaPath = false;
+       bool searchHistoryStatus = false;
+       MemoryType currentMemoryType = MEMORY_TYPE_PHONE;
+       String unmounted = sdCardStatusUnmounted;
+       String removed = usbDeviceStatusRemoved;
+       String currentPath;
+       String searchScene;
+       SceneManager* pSceneManager = null;
+       IListT< SceneId >* pSceneList = null;
+       int itemCount = 0;
+
+       pSceneManager = SceneManager::GetInstance();
+
+       if (state == unmounted || state == removed)
+       {
+               currentPath = FolderNavigationPresentationModel::GetCurrentPath();
+               if (state == unmounted)
+               {
+                       if (currentPath.Contains(BasePresentationModel::GetSdCardPath()))
+                       {
+                               FolderNavigationPresentationModel::SetCurrentFilePath(BasePresentationModel::GetMediaPath());
+                               FolderNavigationPresentationModel::SetStorageType(currentMemoryType);
+                               setMediaPath = true;
+                       }
+               }
+
+               if (state == removed)
+               {
+                       if (currentPath.Contains(BasePresentationModel::GetUsbPath()))
+                       {
+                               FolderNavigationPresentationModel::SetCurrentFilePath(BasePresentationModel::GetMediaPath());
+                               FolderNavigationPresentationModel::SetStorageType(currentMemoryType);
+                               setMediaPath = true;
+                       }
+               }
+
+               if (setMediaPath)
+               {
+                       if (pSceneManager != null)
+                       {
+                               pSceneList = pSceneManager->GetSceneHistoryN();
+                       }
+
+                       if (pSceneList != null)
+                       {
+                               itemCount = pSceneList->GetCount() - 1;
+                               pSceneList->GetAt(itemCount, searchScene);
+                               while (searchScene != IDSCN_SEARCH_FORM && itemCount >= 0)
+                               {
+                                       itemCount--;
+                                       pSceneList->GetAt(itemCount, searchScene);
+                               }
+                       }
+
+                       if (searchScene == IDSCN_SEARCH_FORM)
+                       {
+                               AppLogDebug("Search scene present");
+                               searchHistoryStatus = true;
+                       }
+                       else
+                       {
+                               AppLogDebug("Search scene not present");
+                               searchHistoryStatus = false;
+                       }
+
+                       if(pSceneList)
+                       {
+                               pSceneList->RemoveAll();
+                               delete pSceneList;
+                               pSceneList = null;
+                       }
+
+                       if (searchHistoryStatus == true)
+                       {
+                               if (pSceneManager != null)
+                               {
+                                       pSceneManager->DestroyScene(IDSCN_SEARCH_FORM);
+                                       pSceneManager->ClearSceneHistory();
+                               }
+                       }
+
+                       if (pSceneManager != null)
+                       {
+                               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ROOT_DIRECTORY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY), null);
+                       }
+               }
+       }
+}
+
+void
+DetailsForm::OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state)
+{
+       ComponentType currentDeviceType;
+       switch (deviceType)
+       {
+       case StorageCard:
+       {
+               currentDeviceType = COMPONENT_TYPE_STORAGE_CARD;
+       }
+       break;
+
+       case UsbClient:
+       {
+               currentDeviceType = COMPONENT_TYPE_USB;
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing.
+       }
+       break;
+       }
+       OnDeviceChange(currentDeviceType, state);
+}
diff --git a/src/MfDirectoryEntry.cpp b/src/MfDirectoryEntry.cpp
new file mode 100644 (file)
index 0000000..b1db3b1
--- /dev/null
@@ -0,0 +1,244 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfDirectoryEntry.cpp
+ * @brief: This file contains the implementation of DirectoryEntry Class, which is used to store the
+ * Directory Entry Read from the device memory. Full PathName, Filename are stored in the structure.
+ * In addition it contains info regarding whether a entry is directory or a normal file.
+ */
+
+#include "MfDirectoryEntry.h"
+
+using namespace Tizen::Graphics;
+
+//! Constructor for the DirectoryStructure class
+DirectoryEntry::DirectoryEntry(void)
+       : __bLoadBitmap(true)
+       , __DummyImage(true)
+       , __checkDirectory(false)
+       , __directoryCount(0)
+       , __fileCount(0)
+       , __pEntryBitmap(null)
+{
+       //empty implementation
+}
+
+//! Destructor for the DirectoryStructure clasls
+DirectoryEntry::~DirectoryEntry(void)
+{
+       if (__pEntryBitmap != null)
+       {
+               delete __pEntryBitmap;
+       }
+}
+
+//!Copy Constructor for the DirectoryStructure class
+DirectoryEntry::DirectoryEntry(const DirectoryEntry& content)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       __fullFilePath = content.__fullFilePath;
+       __fileName = content.__fileName;
+       __checkDirectory = content.__checkDirectory;
+       __directoryCount = content.__directoryCount;
+       __fileCount = content.__fileCount;
+       __fileExtension = content.__fileExtension;
+       __pEntryBitmap = null;
+       __bLoadBitmap = true;
+       //__DummyImage= content.__DummyImage;
+       __DummyImage= true;
+
+#if 0
+       __pEntryBitmap = content.__pEntryBitmap;
+#else
+       if (!__DummyImage)
+       {
+               if (content.__pEntryBitmap != null && !__bLoadBitmap )
+               {
+                       __pEntryBitmap = new (std::nothrow) Bitmap();
+                       if (__pEntryBitmap)
+                               r = __pEntryBitmap->Construct(*content.__pEntryBitmap, Rectangle(0, 0, content.__pEntryBitmap->GetWidth(), content.__pEntryBitmap->GetHeight()));
+               }
+       }
+       else
+               __pEntryBitmap = null;
+       AppLogDebug("Exit");
+#endif
+}
+
+/*!Overloaded assignment operator for the DirectoryStructure class.
+ */
+DirectoryEntry&
+DirectoryEntry::operator =(const DirectoryEntry& source)
+{
+       /* Assign the source objects entities for the current object
+        * which will be returned from the method.
+        */
+       if (this != &source)
+       {
+               this->__fullFilePath = source.__fullFilePath;
+               this->__fileName = source.__fileName;
+               this->__checkDirectory = source.__checkDirectory;
+               this->__directoryCount = source.__directoryCount;
+               this->__fileCount = source.__fileCount;
+               this->__fileExtension = source.__fileExtension;
+               //this->__DummyImage = source.__DummyImage;
+               this->__DummyImage = true;
+               this->__DummyImage = true;
+
+#if 0
+               this->__pEntryBitmap = source.__pEntryBitmap;
+#else
+               if( !__DummyImage )
+               {
+                       if (source.__pEntryBitmap != null)
+                       {
+                               if (this->__pEntryBitmap)
+                               {
+                                       delete this->__pEntryBitmap;
+                                       this->__pEntryBitmap = null;
+                               }
+                               this->__pEntryBitmap = new (std::nothrow) Bitmap();
+                               this->__pEntryBitmap->Construct(*source.__pEntryBitmap, Tizen::Graphics::Rectangle(0, 0, source.__pEntryBitmap->GetWidth(), source.__pEntryBitmap->GetHeight()));
+                       }
+                       else
+                       {
+                               if (this->__pEntryBitmap)
+                               {
+                                       delete this->__pEntryBitmap;
+                                       this->__pEntryBitmap = null;
+                               }
+                       }
+               }
+               else
+                       this->__pEntryBitmap = null;
+
+#endif
+       }
+       return *this;
+}
+
+Tizen::Base::String
+DirectoryEntry::GetFullFilePath(void)
+{
+       return __fullFilePath;
+}
+
+Tizen::Base::String
+DirectoryEntry::GetFileName(void)
+{
+       return __fileName;
+}
+
+bool
+DirectoryEntry::IsDirectory(void)
+{
+       return __checkDirectory;
+}
+
+int
+DirectoryEntry::GetDirectoryCount(void)
+{
+       return __directoryCount;
+}
+
+int
+DirectoryEntry::GetFilecount(void)
+{
+       return __fileCount;
+}
+
+Tizen::Base::String
+DirectoryEntry::GetFileExtension(void)
+{
+       return __fileExtension;
+}
+
+Tizen::Graphics::Bitmap*
+DirectoryEntry::GetBitmap(void)
+{
+       return __pEntryBitmap;
+}
+
+bool
+DirectoryEntry::GetLoadBitmap(void)
+{
+       return __bLoadBitmap;
+}
+
+void
+DirectoryEntry::SetFullFilePath(const Tizen::Base::String& fullFilePath)
+{
+       __fullFilePath = fullFilePath;
+}
+
+void
+DirectoryEntry::SetFileName(const Tizen::Base::String& fileName)
+{
+       __fileName = fileName;
+}
+
+void
+DirectoryEntry::SetCheckDirectory(bool checkDirectory)
+{
+       __checkDirectory = checkDirectory;
+}
+
+void
+DirectoryEntry::SetDirectoryCount(int directoryCount)
+{
+       __directoryCount = directoryCount;
+}
+
+void
+DirectoryEntry::SetFilecount(int fileCount)
+{
+       __fileCount = fileCount;
+}
+
+void
+DirectoryEntry::SetFileExtension(const Tizen::Base::String& fileExtension)
+{
+       __fileExtension = fileExtension;
+}
+
+void
+DirectoryEntry::SetBitmap(Tizen::Graphics::Bitmap* pEntryBitmap)
+{
+       if (__pEntryBitmap != null)
+       {
+               delete __pEntryBitmap;
+               __pEntryBitmap = null;
+       }
+       __pEntryBitmap = pEntryBitmap;
+}
+
+void
+DirectoryEntry::SetLoadBitmap(bool loadBitmap)
+{
+       __bLoadBitmap = loadBitmap;
+}
+void
+DirectoryEntry::SetDummy(bool bDummy)
+{
+       __DummyImage = bDummy;
+}
+bool
+DirectoryEntry::IstDummy(void)
+{
+       return __DummyImage;
+}
diff --git a/src/MfFileManageForm.cpp b/src/MfFileManageForm.cpp
new file mode 100644 (file)
index 0000000..8b155ce
--- /dev/null
@@ -0,0 +1,2590 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFileManageForm.cpp
+ * @brief: This file contains the implementation of FileManageForm class,
+ * and is responsible for creating the Edit View form.
+ * Operations like copy, move, delete can be performed in this form.
+ */
+
+#include <FApp.h>
+
+#include "MfDirectoryEntry.h"
+#include "MfFileManageForm.h"
+#include "MfSceneRegister.h"
+#include "MfTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Runtime;
+using namespace Tizen::Graphics;
+using namespace Tizen::Locales;
+//using namespace Tizen::Shell;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Animations;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+FolderEntryPresentationModel* FileManageForm::__pFolderEntryPM = null;
+
+/*Constructor for the Edit Form.
+ * Variable are initialised to null or other default values
+ */
+FileManageForm::FileManageForm(void)
+       : __pBaseItemProvider(null)
+       , __pCustomListViewForPopup(null)
+       , __pFileManager(null)
+       , __pMediaMetaData(null)
+       , __pThumbnailProvider(null)
+       , __pThumbnailManager(null)
+       , __pCheckedList(null)
+       , __pItems(null)
+       , __pStrItemSelectedCount(null)
+       , __pCancelDeletion(null)
+       , __pDeleteFile(null)
+       , __pFileProgressingCancelButton(null)
+       , __pCheckButtonSelectAll(null)
+       , __pShareContextMenu(null)
+       , __pFooter(null)
+       , __pCancel(null)
+       , __pCopy(null)
+       , __pDelete(null)
+       , __pMove(null)
+       , __pShare(null)
+       , __pEditIconListView(null)
+       , __pFileProgressingLabel(null)
+       , __pFileProgressingHeaderLabel(null)
+       , __pLabelNumberOfItems(null)
+       , __pEditListView(null)
+       , __pItemContext(null)
+       , __pDeleteConfirmationPopUp(null)
+       , __pFileProgressingPopup(null)
+       , __pAnimationProgress(null)
+{
+       __bScrollFlag = false;
+       __bCheckNullArgs = false;
+       __popUpFlag = 0;
+       __fileCount = 0;
+       __fileProcessedCount = 0;
+       __folderCount = 0;
+       __storageType = MEMORY_TYPE_NONE;
+       __renameItemIndex = 0;
+
+       __viewType = VIEW_TYPE_AS_NORMAL_LIST;
+}
+
+FileManageForm::~FileManageForm(void)
+{
+       if (__pStrItemSelectedCount != null)
+       {
+               delete __pStrItemSelectedCount;
+       }
+
+       if (__pFolderEntryPM != null)
+       {
+               delete __pFolderEntryPM;
+       }
+
+       if (__pFileManager != null)
+       {
+               __pFileManager->ClearCheckedList();
+       }
+
+       if (__pFileProgressingPopup != null)
+       {
+               delete __pFileProgressingPopup;
+       }
+
+       if (__pDelete != null)
+       {
+               delete __pDelete;
+       }
+
+       if (__pShare != null)
+       {
+               delete __pShare;
+       }
+
+       if (__pMove != null)
+       {
+               delete __pMove;
+       }
+       if (__pCopy != null)
+       {
+               delete __pCopy;
+       }
+
+       if (__pCancel != null)
+       {
+               delete __pCancel;
+       }
+
+       if (__pDeleteConfirmationPopUp != null)
+       {
+               delete __pDeleteConfirmationPopUp;
+       }
+
+       if (__pThumbnailProvider != null)
+       {
+               delete __pThumbnailProvider;
+       }
+       if (__pShareContextMenu != null)
+       {
+               delete __pShareContextMenu;
+       }
+       if (__pBaseItemProvider != null)
+       {
+               delete __pBaseItemProvider;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+FileManageForm::FileManageForm(const FileManageForm& editForm)
+{
+       //empty Implementation
+}
+
+FileManageForm&
+FileManageForm::operator =(const FileManageForm& editForm)
+{
+       if (this != &editForm)
+       {
+               __pStrItemSelectedCount = editForm.__pStrItemSelectedCount;
+               __rootPath = editForm.__rootPath;
+               __pCheckedList = editForm.__pCheckedList;
+               __pItems = editForm.__pItems;
+               __pFooter = editForm.__pFooter;
+               __pDelete = editForm.__pDelete;
+               __pShare = editForm.__pShare;
+               __pMove = editForm.__pMove;
+               __pCopy = editForm.__pCopy;
+               __pCancel = editForm.__pCancel;
+               __pEditListView = editForm.__pEditListView;
+               __pThumbnailManager = editForm.__pThumbnailManager;
+               __pFileManager = editForm.__pFileManager;
+               __pFolderEntryPM = editForm.__pFolderEntryPM;
+               __pLabelNumberOfItems = editForm.__pLabelNumberOfItems;
+       }
+       return *this;
+}
+
+bool
+FileManageForm::Initialize(void)
+{
+       Form::Construct(L"IDL_EDIT");
+       return true;
+}
+
+result
+FileManageForm::OnInitializing(void)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       int h_EditIconListView = 0;
+
+       SceneManager* pSceneManager = null;
+       CreateItemSource createitemsource = CREATE_ITEM_SOURCE_FILE_MANAGE_FORM;
+
+       pSceneManager = SceneManager::GetInstance();
+
+       pSceneManager->SetFormTransitionAnimationDefaultValues(SCENE_TRANSITION_ANIMATION_TYPE_FADE_IN_OUT, 500, ANIMATION_INTERPOLATOR_EASE_IN_OUT);
+
+       AppResource* pAppResource = null;
+
+       h_EditIconListView = GetClientAreaBounds().height - H_CHECK_BUTTON;
+
+       Rectangle checkButtonBounds(X_DEFAULT, Y_DEFAULT, GetClientAreaBounds().width, H_CHECK_BUTTON);
+       Rectangle iconListViewBounds(X_DEFAULT, checkButtonBounds.height, GetClientAreaBounds().width, h_EditIconListView);
+       Rectangle listViewBounds(X_DEFAULT, checkButtonBounds.height, GetClientAreaBounds().width, h_EditIconListView);
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "MfMyFilesApp::Resource manager not found!");
+
+
+       //Set FormBackEvent Listener
+       SetFormBackEventListener(this);
+
+       __fileProcessedCount = 0;
+
+       CreateFooterItems();
+
+       __pFileManager = FolderEntryEditorPresentationModel::GetInstance();
+       TryCatch(__pFileManager != null, , "Failed to allocate FileManager");
+
+       __pFolderEntryPM = new (std::nothrow) FolderEntryPresentationModel();
+       TryCatch(__pFolderEntryPM != null, , "Failed to allocate __pContentManager");
+       __pFolderEntryPM->Construct();
+       __pFolderEntryPM->SetSourceForm(createitemsource);
+       //__pFileListPM->SetSortEnabled(false);
+
+       __pStrItemSelectedCount = new (std::nothrow) String();
+       TryCatch(__pStrItemSelectedCount != null, , "Failed to allocate __pNumberOfItemSelected");
+
+       __pThumbnailProvider = new (std::nothrow) ThumbnailItemProviderAndListener(__rootPath, THUMBNAIL_PROVIDER_SOURCEID_FILE_MANAGE_FORM);
+       //__pThumbnailProvider->Construct(__pContentManager);
+       __pThumbnailProvider->SetFolderEntryProvider(this);
+
+       __pEditIconListView = static_cast< IconListView* >(GetControl(L"IDC_ICONLISTVIEW_THUMBNAILS"));
+       if (__pEditIconListView != null)
+       {
+               __pEditIconListView->SetShowState(false);
+               __pEditIconListView->AddIconListViewItemEventListener(*this);
+               //__pEditIconListView->SetBounds(iconListViewBounds);
+               __pEditIconListView->AddScrollEventListener(*this);
+               __pEditIconListView->SetItemProvider(*__pThumbnailProvider);
+       }
+
+       __pBaseItemProvider = new (std::nothrow) BaseItemProvider();
+       TryCatch(__pBaseItemProvider != null, , "Failed to allocate base itemprovider");
+       __pBaseItemProvider->Construct();
+       __pBaseItemProvider->SetSourceForm(createitemsource);
+       __pBaseItemProvider->SetFolderEntryProvider(this);
+
+       __pEditListView = static_cast< ListView* >(GetControl(L"IDC_LISTVIEW1"));
+       if (__pEditListView != null)
+       {
+               __pEditListView->SetItemProvider(*__pBaseItemProvider);
+               __pEditListView->AddListViewItemEventListener(*this);
+               __pEditListView->AddScrollEventListener(*this);
+               //__pEditListView->SetBounds(listViewBounds);
+       }
+
+       __pCheckButtonSelectAll = static_cast< CheckButton* >(GetControl(L"IDC_CHECKBUTTON_SELECTALL"));
+       if (__pCheckButtonSelectAll != null)
+       {
+               __pCheckButtonSelectAll->SetShowState(true);
+               __pCheckButtonSelectAll->AddActionEventListener(*this);
+               __pCheckButtonSelectAll->SetActionId(IDA_BTN_CHECKED, IDA_BTN_UNCHECKED);
+               //__pCheckButtonSelectAll->SetBounds(checkButtonBounds);
+       }
+
+       CreateLabelControl();
+
+       __rootPath = FolderNavigationPresentationModel::GetCurrentPath();
+
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return r;
+
+CATCH:
+       r = E_FAILURE;
+
+       if (__pFolderEntryPM != null)
+       {
+               delete __pFolderEntryPM;
+               __pFolderEntryPM = null;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return r;
+}
+
+result
+FileManageForm::OnTerminating(void)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+
+       __pFooter = GetFooter();
+       if (__pFooter != null)
+       {
+               __pFooter->RemoveAllItems();
+               __pFooter->RemoveAllButtons();
+       }
+
+       return r;
+}
+
+
+void
+FileManageForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+                                                                 const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
+{
+       AppLogDebug("Entry");
+
+       int listViewDisplayType = VIEW_TYPE_AS_NORMAL_LIST;
+
+       result r = E_SUCCESS;
+
+       AppRegistry* pAppRegistry = null;
+       String viewStyleKeyName(L"ListDisplayType");
+
+       Rectangle listViewBounds(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON);
+
+       ((MyFilesApp*) Application::GetInstance())->SetCurrentView(this);
+
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+       r = pAppRegistry->Get(viewStyleKeyName, listViewDisplayType);
+       TryCatch(r == E_SUCCESS, , "Unable to get registry values");
+
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+#if 0
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_USB_CLIENT, *this);
+#endif
+
+       SceneManager::GetInstance()->AddSceneManagerEventListener(*this);
+
+       __viewType = listViewDisplayType;
+
+       if (previousSceneId == IDSCN_ROOT_DIRECTORY_FORM || previousSceneId == IDSCN_SUB_DIRECTORY_FORM || previousSceneId == IDSCN_SUB_DIRECTORY_FORM1)
+       {
+               __rootPath = FolderNavigationPresentationModel::GetCurrentPath();
+       }
+
+       if (__pFileManager != null)
+       {
+        __pFileManager->SetFileManagingListener(this);
+       }
+       if (previousSceneId != IDSCN_CREATE_FOLDER_FORM)
+       {
+               FolderNavigationPresentationModel::SetCurrentFilePath(__rootPath);
+       }
+       else
+       {
+               if (pArgs == null)
+               {
+                       __bCheckNullArgs = true;
+               }
+               else
+               {
+                       __bCheckNullArgs = false;
+               }
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return;
+
+CATCH:
+       if (__pItems != null)
+       {
+               __pItems->RemoveAll(true);
+               delete __pItems;
+               __pItems = null;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileManageForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+                                                                  const Tizen::Ui::Scenes::SceneId& nextSceneId)
+{
+       DeviceManager::RemoveAllDeviceEventListeners();
+       ((MyFilesApp*)Application::GetInstance())->SetCurrentView(null);
+       __pFolderEntryPM->StopThumbnailManager(true);
+}
+
+void
+FileManageForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+{
+       AppLogDebug("Entry");
+       int selectedItemsCount = 0;
+       int h_ListView = 0;
+       int itemCount = 0;
+
+       DirectoryEntry* pCheckedEntry = null;
+
+       String selected;
+
+       AppResource* pAppResource = null;
+       pAppResource = UiApp::GetInstance()->GetAppResource();
+
+       if (pAppResource != null)
+       {
+               pAppResource->GetString(L"IDS_COM_BODY_SELECTED", selected);
+       }
+
+       h_ListView = GetClientAreaBounds().height - H_CHECK_BUTTON - H_DISPLAY_PATH_LABEL;
+
+       Rectangle listViewBounds(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, h_ListView);
+
+       switch (actionId)
+       {
+       case IDA_BTN_DELETE:
+       {
+               CreateDeleteConfirmationPopUp();
+
+               if (__pDeleteConfirmationPopUp != null)
+               {
+                       __pDeleteConfirmationPopUp->SetShowState(true);
+                       __pDeleteConfirmationPopUp->Show();
+               }
+       }
+       break;
+
+       case IDA_DELETE_FILE:
+       {
+               if (__pDeleteConfirmationPopUp != null)
+               {
+                       __pDeleteConfirmationPopUp->SetShowState(false);
+               }
+
+               if (__pDeleteConfirmationPopUp != null)
+               {
+                       delete __pDeleteConfirmationPopUp;
+                       __pDeleteConfirmationPopUp = null;
+               }
+
+               if (__pFileManager != null && __pFileManager->IsCheckedListNull() == false)
+               {
+                       if (__pFileManager->GetCheckedListCount() > 0)
+                       {
+                               SetFooterVisibility(DISABLE_FOOTER_ITEM);
+                               ShowFileProgressingPopup();
+                               SetFooterVisibility(ENABLE_FOOTER_ITEM);
+                               DeleteFile();
+                       }
+                       else
+                       {
+                               SetFooterVisibility(DISABLE_FOOTER_ITEM);
+                       }
+               }
+       }
+       break;
+
+       case IDA_CANCEL_DELETION:
+       {
+               if (__pDeleteConfirmationPopUp != null)
+               {
+                       __pDeleteConfirmationPopUp->SetShowState(false);
+               }
+       }
+       break;
+
+       case IDA_BTN_ANIMATION_POPUP_CANCEL:
+       {
+               HideFileProgressingPopup();
+
+               if (__pFileManager != null)
+                       __pFileManager->ForceStopWorkerThread();
+
+               if (__pEditListView != null && __pEditListView->IsVisible())
+               {
+                       for (itemCount=0;itemCount<__pEditListView->GetItemCount();itemCount++)
+                       {
+                               __pEditListView->SetItemChecked(itemCount,false);
+                       }
+               }
+
+               if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+               {
+                       if (__pThumbnailProvider != null)
+                       {
+                               for (itemCount=0;itemCount<__pThumbnailProvider->GetItemCount();itemCount++)
+                               {
+                                       __pEditIconListView->SetItemChecked(itemCount,false);
+
+                               }
+                       }
+               }
+       }
+       break;
+
+       case IDA_BTN_SHARE:
+       {
+               CreateShareContextMenu();
+
+               if (__pShareContextMenu != null)
+               {
+                       __pShareContextMenu->SetShowState(true);
+                       __pShareContextMenu->Show();
+               }
+       }
+       break;
+
+       case IDA_BTN_MOVE:
+       {
+               if (__pFileManager != null && __pFileManager->IsCheckedListNull() == false)
+               {
+                       if (__pFileManager->GetCheckedListCount() > 0)
+                       {
+                               SetFooterVisibility(ENABLE_FOOTER_ITEM);
+                               MoveFile();
+                       }
+                       else
+                       {
+                               SetFooterVisibility(DISABLE_FOOTER_ITEM);
+                       }
+               }
+       }
+       break;
+
+       case IDA_BTN_COPY:
+       {
+               if (__pFileManager != null && __pFileManager->IsCheckedListNull() == false)
+               {
+                       if (__pFileManager->GetCheckedListCount() > 0)
+                       {
+                               SetFooterVisibility(ENABLE_FOOTER_ITEM);
+                               CopyFile();
+                       }
+                       else
+                       {
+                               SetFooterVisibility(DISABLE_FOOTER_ITEM);
+                       }
+               }
+       }
+       break;
+
+       case IDA_BTN_CANCEL:
+       {
+               SceneManager* pSceneManager = null;
+               FolderNavigationPresentationModel::SetCurrentFilePath(__rootPath);
+               pSceneManager = SceneManager::GetInstance();
+
+               if (pSceneManager != null)
+               {
+                       pSceneManager->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_RIGHT, SCENE_DESTROY_OPTION_DESTROY), null);
+               }
+       }
+       break;
+
+       case IDA_BTN_CHECKED:
+       {
+               //Clear the existing entries of CheckedList
+               if (__pFileManager != null)
+               {
+                       __pFileManager->ClearCheckedList();
+               }
+
+               if (__pEditListView != null && __pEditListView->IsVisible())
+               {
+                       __pEditListView->RemoveScrollEventListener(*this);
+               }
+
+               if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+               {
+                       __pEditIconListView->RemoveScrollEventListener(*this);
+               }
+
+               if (__bScrollFlag)
+               {
+                       if (__pEditListView != null && __pEditListView->IsVisible())
+                       {
+                               __pEditListView->ScrollToItem(__pEditListView->GetItemCount() - 1);
+                       }
+                       if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+                       {
+                               __pEditIconListView->ScrollToItem(__pThumbnailProvider->GetItemCount() - 1);
+                       }
+               }
+
+               if (__pEditListView != null)
+               {
+                       __pEditListView->AddScrollEventListener(*this);
+               }
+
+               if (__pEditIconListView != null)
+               {
+                       __pEditIconListView->AddScrollEventListener(*this);
+               }
+               //Add all entries to CheckedList!
+               for (int itemcount = 0; itemcount < __pItems->GetCount(); itemcount++)
+               {
+                       if (__pEditListView != null && __pEditListView->IsVisible())
+                       {
+                               __pEditListView->SetItemChecked(itemcount, true);
+                       }
+
+                       if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+                       {
+                               __pEditIconListView->SetItemChecked(itemcount, true);
+                       }
+
+                       pCheckedEntry = static_cast< DirectoryEntry* >(__pItems->GetAt(itemcount));
+                       if (__pFileManager != null /* && pCheckedEntry != null*/)
+                       {
+                               __pFileManager->AddCheckedListEntry(itemcount, pCheckedEntry);
+                       }
+                       AppLogDebug("Added to CheckedList! %ls", pCheckedEntry->GetFileName().GetPointer());
+               }
+
+
+               if (__pFileManager != null)
+               {
+                       selectedItemsCount = __pFileManager->GetCheckedListCount();
+               }
+
+               __pStrItemSelectedCount->Clear();
+               __pStrItemSelectedCount->Append(selected);
+               __pStrItemSelectedCount->Append(L" (");
+               __pStrItemSelectedCount->Append(selectedItemsCount);
+               __pStrItemSelectedCount->Append(L")");
+
+               if (__pLabelNumberOfItems != null)
+               {
+                       __pLabelNumberOfItems->SetShowState(true);
+                       __pLabelNumberOfItems->SetText(*__pStrItemSelectedCount);
+                       __pLabelNumberOfItems->Invalidate(true);
+               }
+
+               SetFooterVisibility(ENABLE_FOOTER_ITEM);
+
+               String path = FolderNavigationPresentationModel::GetCurrentPath();
+
+               if (__pFolderEntryPM != null)
+               {
+                       __pFolderEntryPM->GetFolderEntryCount(path, __folderCount, __fileCount);
+               }
+
+               if (__folderCount != 0)
+               {
+                       SetShareFooterItemStatus(false);
+               }
+       }
+       break;
+
+       case IDA_BTN_UNCHECKED:
+       {
+               h_ListView = GetClientAreaBounds().height - H_CHECK_BUTTON;
+
+               for (int itemcount = 0; itemcount < __pItems->GetCount(); itemcount++)
+               {
+                       if (__pEditListView != null && __pEditListView->IsVisible())
+                       {
+                               __pEditListView->SetItemChecked(itemcount, false);
+                       }
+
+                       if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+                       {
+                               __pEditIconListView->SetItemChecked(itemcount, false);
+
+                       }
+               }
+
+               if (__bScrollFlag)
+               {
+                       if (__pEditListView != null && __pEditListView->IsVisible())
+                       {
+                               __pEditListView->ScrollToItem(__pEditListView->GetItemCount() - 1);
+                       }
+                       if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+                       {
+                               __pEditIconListView->ScrollToItem(__pThumbnailProvider->GetItemCount() - 1);
+                       }
+               }
+
+               if (__pFileManager != null)
+               {
+                       __pFileManager->ClearCheckedList();
+               }
+
+               if (__pLabelNumberOfItems != null)
+               {
+                       __pLabelNumberOfItems->SetShowState(false);
+               }
+
+               SetFooterVisibility(DISABLE_FOOTER_ITEM);
+
+       }
+       break;
+
+       case IDA_BTN_SHARE_MESSAGE:
+       {
+#if 0
+               ShareFile(SHARE_VIA_MESSAGE);
+#endif
+       }
+       break;
+
+       case IDA_BTN_SHARE_EMAIL:
+       {
+               ShareFile(SHARE_VIA_EMAIL);
+       }
+       break;
+
+       case IDA_BTN_SHARE_BLUETOOTH:
+       {
+#if 0
+               ShareFile(SHARE_VIA_BLUETOOTH);
+#endif
+       }
+       break;
+
+       case IDA_BTN_SHARE_WIFI_DIRECT:
+       {
+#if 0
+               ShareFile(SHARE_VIA_WIFIDIRECT);
+#endif
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing.
+       }
+       break;
+       }
+
+
+       if (__pLabelNumberOfItems != null && __pLabelNumberOfItems->GetShowState() == true)
+       {
+               if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+               {
+                       __pEditIconListView->SetBounds(Rectangle(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON - H_DISPLAY_PATH_LABEL));
+
+                       __pEditIconListView->Invalidate(true);
+               }
+
+               if (__pEditListView != null && __pEditListView->IsVisible())
+               {
+                       __pEditListView->SetBounds(Rectangle(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON - H_DISPLAY_PATH_LABEL));
+
+                       __pEditListView->Invalidate(true);
+               }
+       }
+       else
+       {
+               if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+               {
+                       __pEditIconListView->SetBounds(Rectangle(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON));
+
+                       __pEditIconListView->Invalidate(true);
+               }
+
+               if (__pEditListView != null && __pEditListView->IsVisible())
+               {
+                       __pEditListView->SetBounds(Rectangle(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON));
+
+                       __pEditListView->Invalidate(true);
+               }
+       }
+
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileManageForm::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
+{
+       AppLogDebug("Entry");
+
+       int itemcount = 0;
+       int selectedItemsCount = 0;
+       DirectoryEntry* pCheckedEntry = null;
+       String selected;
+
+       ArrayList* pCheckedItemsList = null;
+
+       int shareEnableFlag = 1;
+
+       AppResource* pAppResource = null;
+       pAppResource = UiApp::GetInstance()->GetAppResource();
+       if (pAppResource != null)
+       {
+               pAppResource->GetString(L"IDS_COM_BODY_SELECTED", selected);
+       }
+
+       __renameItemIndex = index;
+
+       if (elementId == CONTENT_LIST_ITEM_TYPE_RENAME || elementId == DETAILED_LIST_ELEMENTS_RENAME)
+       {
+               if (listView.IsItemChecked(index) == false)
+               {
+                       listView.SetItemChecked(index, true);
+               }
+               else
+               {
+                       listView.SetItemChecked(index, false);
+               }
+
+               LoadRenameForm(index);
+
+               return;
+               //return;
+       }
+       else
+       {
+               __renameItemIndex = INVALID_LIST_INDEX;
+       }
+
+       if (__pLabelNumberOfItems != null)
+       {
+               __pLabelNumberOfItems->SetShowState(true);
+       }
+
+       if (listView.IsItemChecked(index) == false)
+       {
+               //if item is already checked, uncheck it and Remove from List.
+               if (__pCheckButtonSelectAll != null)
+               {
+                       __pCheckButtonSelectAll->SetSelected(false);
+               }
+               if (__pFileManager != null)
+                       __pFileManager->RemoveCheckedListEntry(index);
+       }
+       else
+       {
+               //Count the number of items in the list which are checked.
+               for (itemcount = 0; itemcount < __pItems->GetCount(); itemcount++)
+               {
+                       if (listView.IsItemChecked(itemcount) == true)
+                       {
+                               selectedItemsCount++;
+                       }
+                       else
+                       {
+                               break;
+                       }
+               }
+
+               pCheckedEntry = static_cast< DirectoryEntry* >(__pItems->GetAt(index));
+               if (pCheckedEntry != null && __pFileManager != null)
+               {
+                       __pFileManager->AddCheckedListEntry(index, pCheckedEntry);
+               }
+       }
+
+       selectedItemsCount = 0;
+
+       //Get Count
+       for (itemcount = 0; itemcount < __pItems->GetCount(); itemcount++)
+       {
+               if (listView.IsItemChecked(itemcount) == true)
+               {
+                       selectedItemsCount++;
+               }
+       }
+
+       if (selectedItemsCount == 0)
+       {
+               if (__pLabelNumberOfItems != null)
+               {
+                       __pLabelNumberOfItems->SetShowState(false);
+               }
+               __pEditListView->SetBounds(Rectangle(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON ));
+
+               SetFooterVisibility(DISABLE_FOOTER_ITEM);
+       }
+       else
+       {
+
+               //if selected itemcount is equal to item count, select the
+               if (selectedItemsCount == __pItems->GetCount())
+               {
+                       if (__pCheckButtonSelectAll != null)
+                       {
+                               __pCheckButtonSelectAll->SetSelected(true);
+                       }
+               }
+               //Selected Item Count Not Equal to Zero, Display the Label.
+               if (__pLabelNumberOfItems != null)
+               {
+                       __pLabelNumberOfItems->SetShowState(true);
+
+                       __pStrItemSelectedCount->Clear();
+                       __pStrItemSelectedCount->Append(selected);
+                       __pStrItemSelectedCount->Append(L" (");
+                       __pStrItemSelectedCount->Append(selectedItemsCount);
+                       __pStrItemSelectedCount->Append(L")");
+
+                       __pLabelNumberOfItems->SetText(*__pStrItemSelectedCount);
+
+                       __pLabelNumberOfItems->Invalidate(true);
+               }
+               __pEditListView->SetBounds(Rectangle(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON - H_DISPLAY_PATH_LABEL));
+
+               SetFooterVisibility(ENABLE_FOOTER_ITEM);
+       }
+
+       if (__pFileManager != null && __pFileManager->IsCheckedListNull() == false)
+       {
+               if (__pFileManager->GetCheckedListCount() > 0)
+               {
+                       SetFooterVisibility(ENABLE_FOOTER_ITEM);
+
+                       pCheckedItemsList = static_cast< ArrayList* >(__pFileManager->GetCheckedList()->GetValuesN());
+
+                       for (itemcount = 0; itemcount < pCheckedItemsList->GetCount(); itemcount++)
+                       {
+                               DirectoryEntry* pEntry = static_cast< DirectoryEntry* >(pCheckedItemsList->GetAt(itemcount));
+                               if (pEntry != null)
+                               {
+                                       if (pEntry->IsDirectory())
+                                       {
+                                               shareEnableFlag = 0;
+                                               break;
+                                       }
+                               }
+                       }
+
+                       if (shareEnableFlag == 0)
+                       {
+                               SetShareFooterItemStatus(false);
+                       }
+                       else
+                       {
+                               SetFooterVisibility(ENABLE_FOOTER_ITEM);
+                       }
+               }
+               else
+               {
+                       SetFooterVisibility(DISABLE_FOOTER_ITEM);
+               }
+       }
+
+       if (pCheckedItemsList != null)
+       {
+               pCheckedItemsList->RemoveAll();
+               delete pCheckedItemsList;
+               pCheckedItemsList = null;
+       }
+
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return;
+
+#if 0
+CATCH:
+       return;
+
+       if (__pCheckedList != null)
+       {
+               __pCheckedList->RemoveAll(true);
+               delete __pCheckedList;
+               __pCheckedList = null;
+       }
+#endif
+
+}
+
+void
+FileManageForm::OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction)
+{
+       //Empty Implementation.
+}
+
+void
+FileManageForm::CreateFooterItems(void)
+{
+       AppLogDebug("Entry");
+       String btnDelete;
+       String btnShare;
+       String btnMove;
+       String btnCopy;
+       String btnCancel;
+       AppResource* pAppResource = null;
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       if (pAppResource != null)
+       {
+               pAppResource->GetString(L"IDS_COM_BUTTON_SHARE", btnShare);
+               pAppResource->GetString(L"IDS_MF_SK3_MOVE", btnMove);
+               pAppResource->GetString(L"IDS_MF_SK3_COPY", btnCopy);
+               pAppResource->GetString(L"IDS_COM_POP_CANCEL", btnCancel);
+               pAppResource->GetString(L"IDS_MF_SK3_DELETE", btnDelete);
+       }
+
+
+       __pDelete = new (std::nothrow) FooterItem();
+       __pDelete->Construct(IDA_BTN_DELETE);
+       __pDelete->SetText(btnDelete);
+
+       __pShare = new (std::nothrow) FooterItem();
+       __pShare->Construct(IDA_BTN_SHARE);
+       __pShare->SetText(btnShare);
+
+
+       __pMove = new (std::nothrow) FooterItem();
+       __pMove->Construct(IDA_BTN_MOVE);
+       __pMove->SetText(btnMove);
+
+       __pCopy = new (std::nothrow) FooterItem();
+       __pCopy->Construct(IDA_BTN_COPY);
+       __pCopy->SetText(btnCopy);
+
+       __pCancel = new (std::nothrow) FooterItem();
+       __pCancel->Construct(IDA_BTN_CANCEL);
+       __pCancel->SetText(btnCancel);
+
+       __pFooter = GetFooter();
+       if (__pFooter != null)
+       {
+               __pFooter->RemoveAllItems();
+
+               __pFooter->SetStyle(FOOTER_STYLE_BUTTON_TEXT);
+               __pFooter->AddItem(*__pDelete);
+               __pFooter->AddItem(*__pShare);
+               __pFooter->AddItem(*__pMove);
+               __pFooter->AddItem(*__pCopy);
+               __pFooter->SetBackButton();
+               __pFooter->SetBackButtonEnabled(true);
+
+               SetFooterVisibility(DISABLE_FOOTER_ITEM);
+
+               //Set am ActionEventListener to the Footer
+               __pFooter->AddActionEventListener(*this);
+       }
+
+       return;
+}
+
+void
+FileManageForm::DeleteFile(void)
+{
+       //__pFolderEntryPM->SetFileEventListener(null);
+       ((MyFilesApp*) Application::GetInstance())->SetNotifyListener(this);
+       if (__pFileManager != null)
+               __pFileManager->DeleteFolderEntries();
+
+}
+
+void
+FileManageForm::CopyFile(void)
+{
+       AppLogDebug("Entry");
+       Integer* pSourceForm = null;
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+       ArrayList* pArgs = null;
+
+       pArgs = new (std::nothrow) ArrayList();
+       TryCatch(pArgs != null, , "pArgs is null.");
+       pSourceForm = new (std::nothrow) Integer(SELECT_COPY_BUTTON);
+
+       //__pFolderEntryPM->SetFileEventListener(null);
+
+       pArgs->Construct();
+
+       pArgs->Add(pSourceForm);
+
+       TryCatch(pSceneManager != null, , "SceneManager is null.");
+
+       if (__rootPath == BasePresentationModel::GetMediaPath() || __rootPath == BasePresentationModel::GetSdCardPath())
+       {
+               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ROOT_DIRECTORY_MOVE_COPY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT), pArgs);
+       }
+       else
+       {
+               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SUB_DIRECTORY_MOVE_COPY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT), pArgs);
+       }
+
+       return;
+CATCH:
+
+       if (pSourceForm != null)
+       {
+               delete pSourceForm;
+               pSourceForm = null;
+       }
+
+       if (pArgs != null)
+       {
+               delete pArgs;
+               pArgs = null;
+       }
+}
+
+void
+FileManageForm::MoveFile(void)
+{
+       AppLogDebug("Entry");
+       Integer* pSourceForm;
+
+       ArrayList* pArgs = null;
+       SceneManager* pSceneManager = null;
+
+       pSceneManager = SceneManager::GetInstance();
+
+       pSourceForm = new (std::nothrow) Integer(SELECT_MOVE_BUTTON);
+
+       pArgs = new (std::nothrow) ArrayList();
+       TryCatch(pArgs != null, , "pArgs is null.");
+       //__pFolderEntryPM->SetFileEventListener(null);
+
+       pArgs->Construct();
+       pArgs->Add(pSourceForm);
+
+       TryCatch(pSceneManager != null, , "SceneManager is null.");
+
+       if ((__rootPath == BasePresentationModel::GetMediaPath() || __rootPath == BasePresentationModel::GetSdCardPath()))
+       {
+               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ROOT_DIRECTORY_MOVE_COPY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT), pArgs);
+       }
+       else
+       {
+               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SUB_DIRECTORY_MOVE_COPY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT), pArgs);
+       }
+
+
+       __pCheckedList = null;
+       return;
+
+CATCH:
+       if (pSourceForm != null)
+       {
+               delete pSourceForm;
+               pSourceForm = null;
+       }
+
+       if (pArgs != null)
+       {
+               delete pArgs;
+               pArgs = null;
+       }
+
+       return;
+}
+
+void
+FileManageForm::ShareFile(ShareVia shareType)
+{
+       AppLogDebug("Entry");
+       DirectoryEntry* ptempDirEntry = null;
+       IMapEnumerator* pMapEnum = null;
+       AppControl* pAc = null;
+       String* pTypeKey = null;
+       String* pTypeValue = null;
+       String* pAttachKey = null;
+       String attachValue;
+       String* pFullfilePath = null;
+       const HashMap* pResultHash = null;
+
+       HashMap dataList;
+       MessageBox messageBox;
+       int modalResult = 0;
+       int selectedFileCount = 0;
+
+       dataList.Construct();
+
+       switch (shareType)
+       {
+       case SHARE_VIA_EMAIL:
+       {
+               pAc = AppManager::FindAppControlN(L"tizen.email", "http://tizen.org/appcontrol/operation/compose");
+               pAttachKey = new (std::nothrow) String(L"attachments");
+       }
+       break;
+
+       case SHARE_VIA_MESSAGE:
+       {
+               pAc = AppManager::FindAppControlN(L"tizen.messages", "http://tizen.org/appcontrol/operation/compose");
+               pTypeKey = new (std::nothrow) String(L"type");
+               pTypeValue = new (std::nothrow) String(L"MMS");
+               pAttachKey = new (std::nothrow) String(L"attachImage");
+               dataList.Add(pTypeKey, pTypeValue);
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing
+       }
+       break;
+       }
+       pResultHash = FolderEntryEditorPresentationModel::GetInstance()->GetCheckedList();
+
+       if (__pFileManager != null && __pFileManager->IsCheckedListNull() == false)
+       {
+               pMapEnum = __pFileManager->GetCheckedList()->GetMapEnumeratorN();
+               if (pMapEnum != null)
+               {
+                       while (pMapEnum->MoveNext() == E_SUCCESS)
+                       {
+                               ptempDirEntry = static_cast< DirectoryEntry* >(pMapEnum->GetValue());
+
+                               if (ptempDirEntry != null)
+                               {
+                                       if (shareType == SHARE_VIA_MESSAGE)
+                                       {
+                                               String* pAttachments = new (std::nothrow) String(L"attach");
+                                               if (pAttachments != null)
+                                               {
+                                                       if (ptempDirEntry->GetFullFilePath().EndsWith("png") || ptempDirEntry->GetFullFilePath().EndsWith("jpg") || ptempDirEntry->GetFullFilePath().EndsWith("jpeg") || ptempDirEntry->GetFullFilePath().EndsWith("tif") || ptempDirEntry->GetFullFilePath().EndsWith("gif") || ptempDirEntry->GetFullFilePath().EndsWith("bmp"))
+                                                       {
+                                                               pAttachments->Append("Image:");
+                                                       }
+                                                       else if (ptempDirEntry->GetFullFilePath().EndsWith("mp3") || ptempDirEntry->GetFullFilePath().EndsWith("3gp") || ptempDirEntry->GetFullFilePath().EndsWith("ogg") || ptempDirEntry->GetFullFilePath().EndsWith("ra") || ptempDirEntry->GetFullFilePath().EndsWith("wma") || ptempDirEntry->GetFullFilePath().EndsWith("amr") || ptempDirEntry->GetFullFilePath().EndsWith("aac") || ptempDirEntry->GetFullFilePath().EndsWith("Wave"))
+                                                       {
+                                                               pAttachments->Append("Audio:");
+                                                       }
+                                                       else if (ptempDirEntry->GetFullFilePath().EndsWith("3gp") || ptempDirEntry->GetFullFilePath().EndsWith("mp4") || ptempDirEntry->GetFullFilePath().EndsWith("avi"))
+                                                       {
+                                                               pAttachments->Clear();
+                                                               pAttachments->Append("Audio:");
+                                                       }
+                                                       else if (ptempDirEntry->GetFullFilePath().EndsWith("vcf"))
+                                                       {
+                                                               pAttachments->Append("Vcard:");
+                                                       }
+                                                       else if (ptempDirEntry->GetFullFilePath().EndsWith("vcs"))
+                                                       {
+                                                               pAttachments->Append("Vcalendar:");
+                                                       }
+                                               }
+                                               pFullfilePath = new (std::nothrow) String(ptempDirEntry->GetFullFilePath());
+                                               //pattachments->Append(ptempDirEntry->GetFullFilePath());
+                                               dataList.Add(pAttachments, pFullfilePath);
+                                       }
+                                       else if (shareType == SHARE_VIA_EMAIL)
+                                       {
+                                               attachValue.Append(ptempDirEntry->GetFullFilePath());
+                                               selectedFileCount++;
+                                               if (pResultHash != null)
+                                               {
+                                                       if (selectedFileCount < pResultHash->GetCount())
+                                                       {
+                                                               attachValue.Append(";");
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+               }
+       }
+                       if (shareType == SHARE_VIA_EMAIL)
+                       {
+               dataList.Add(pAttachKey, new (std::nothrow) String(attachValue));
+       }
+
+       AppLogDebug(" AttachValue is %S",attachValue.GetPointer());
+       if (pAc != null)
+       {
+               if (pAc->Start(null, null, &dataList, null) == E_MAX_EXCEEDED)
+               {
+                       messageBox.Construct(L"", L"Email Size Exceeded", MSGBOX_STYLE_OK);
+                       messageBox.ShowAndWait(modalResult);
+               }
+               delete pAc;
+       }
+
+       if (dataList.GetCount() > 0)
+       {
+               dataList.RemoveAll(true);
+       }
+}
+
+void
+FileManageForm::CreateLabelControl(void)
+{
+       Color backgroundColor(215, 225, 232);
+       //Color textColor(0x83, 0x9A, 0xC0, 0xFF);
+
+       __pLabelNumberOfItems = new (std::nothrow) Label();
+       if (__pLabelNumberOfItems != null)
+       {
+               __pLabelNumberOfItems->Construct(Rectangle(X_DEFAULT, GetClientAreaBounds().height - H_DISPLAY_PATH_LABEL, GetClientAreaBounds().width, H_DISPLAY_PATH_LABEL), *__pStrItemSelectedCount);
+               __pLabelNumberOfItems->SetBackgroundColor(backgroundColor);
+               __pLabelNumberOfItems->SetTextColor(Color(164, 164, 164));
+               __pLabelNumberOfItems->SetTextHorizontalAlignment(ALIGNMENT_CENTER);
+               __pLabelNumberOfItems->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
+               __pLabelNumberOfItems->SetTextConfig(ID_FONT_SIZE_32, LABEL_TEXT_STYLE_BOLD);
+               __pLabelNumberOfItems->SetName(L"IDC_LABEL_COUNT");
+
+               __pLabelNumberOfItems->SetShowState(false);
+
+               AddControl(*__pLabelNumberOfItems);
+       }
+       return;
+}
+
+void
+FileManageForm::SetFooterVisibility(int mode)
+{
+       __pFooter = GetFooter();
+
+       if (mode == 0)
+       {
+               __pFooter->SetItemEnabled(0, false);
+               __pFooter->SetItemEnabled(1, false);
+               __pFooter->SetItemEnabled(2, false);
+               __pFooter->SetItemEnabled(3, false);
+       }
+       else
+       {
+               __pFooter->SetItemEnabled(0, true);
+               __pFooter->SetItemEnabled(1, true);
+               __pFooter->SetItemEnabled(2, true);
+               __pFooter->SetItemEnabled(3, true);
+       }
+
+       __pFooter->Invalidate(true);
+}
+
+void
+FileManageForm::SetShareFooterItemStatus(bool enable)
+{
+       __pFooter = GetFooter();
+
+       if (__pFooter != null)
+       {
+               if (enable == false)
+               {
+                       __pFooter->SetItemEnabled(1, false);
+               }
+               else
+               {
+                       __pFooter->SetItemEnabled(1, true);
+               }
+               __pFooter->Invalidate(true);
+       }
+
+}
+
+void
+FileManageForm::OnIconListViewItemStateChanged(Tizen::Ui::Controls::IconListView& iconListView, int index, Tizen::Ui::Controls::IconListViewItemStatus status)
+{
+       AppLogDebug("Entry");
+       int itemIndex = INVALID_LIST_INDEX;
+       int selectedItemsCount = 0;
+       int shareEnableFlag = 1;
+
+       result r = E_SUCCESS;
+       DirectoryEntry* pCheckedEntry = null;
+       Integer indexToCheck(itemIndex);
+       String selected;
+
+       AppResource* pAppResource = null;
+       pAppResource = UiApp::GetInstance()->GetAppResource();
+       if (pAppResource != null)
+       {
+               pAppResource->GetString(L"IDS_COM_BODY_SELECTED", selected);
+       }
+
+       ArrayList* pCheckedItemsList = null;
+
+       itemIndex = index;
+
+       //Set ShowState of the Label Displaying Selected Count as true
+       if (__pLabelNumberOfItems != null)
+       {
+               __pLabelNumberOfItems->SetShowState(true);
+       }
+
+       //Check the item @ index if it is false.
+       if (iconListView.IsItemChecked(index) == false)
+       {
+               if (__pCheckButtonSelectAll != null)
+               {
+                       __pCheckButtonSelectAll->SetSelected(false);
+               }
+               if (__pFileManager != null)
+                       __pFileManager->RemoveCheckedListEntry(index);
+       }
+       else
+       {
+               //if item @ index is already selected..
+
+               //update the selected Items count for all elements in the IconListView
+               for (int itemcount = 0; itemcount < __pItems->GetCount(); itemcount++)
+               {
+                       if (iconListView.IsItemChecked(itemcount) == true)
+                       {
+                               selectedItemsCount++;
+                       }
+                       else
+                       {
+                               break;
+                       }
+               }
+
+               //if all items are selected then check the SelectAll button as well!
+               if (selectedItemsCount == __pItems->GetCount())
+               {
+                       if (__pCheckButtonSelectAll != null)
+                       {
+                               __pCheckButtonSelectAll->SetSelected(true);
+                       }
+               }
+
+               pCheckedEntry = static_cast< DirectoryEntry* >(__pItems->GetAt(index));
+               if (pCheckedEntry != null && __pFileManager != null)
+               {
+                       __pFileManager->AddCheckedListEntry(index, pCheckedEntry);
+               }
+       }
+
+       selectedItemsCount = __pFileManager->GetCheckedListCount();
+
+       if (selectedItemsCount == 0)
+       {
+               //If each item is unselected, set the showstate of the label to false.
+
+               __pEditIconListView->SetBounds(Rectangle(0, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON));
+
+               if (__pFileManager != null)
+                       __pFileManager->ClearCheckedList();
+
+               if (__pLabelNumberOfItems != null)
+               {
+                       __pLabelNumberOfItems->SetShowState(false);
+               }
+
+               SetFooterVisibility(DISABLE_FOOTER_ITEM);
+
+       }
+       else
+       {
+               __pEditIconListView->SetBounds(Rectangle(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON - H_DISPLAY_PATH_LABEL));
+
+               //Else at least one item is selected and show the number of items selected on the label.
+               if (__pLabelNumberOfItems != null)
+               {
+                       __pLabelNumberOfItems->SetShowState(true);
+
+                       __pStrItemSelectedCount->Clear();
+                       __pStrItemSelectedCount->Append(selected);
+                       __pStrItemSelectedCount->Append(L" (");
+                       __pStrItemSelectedCount->Append(selectedItemsCount);
+                       __pStrItemSelectedCount->Append(L")");
+
+                       AppLogDebug("Text on Label = %ls", __pStrItemSelectedCount->GetPointer());
+
+                       __pLabelNumberOfItems->SetText(*__pStrItemSelectedCount);
+                       __pLabelNumberOfItems->Invalidate(true);
+               }
+               SetFooterVisibility(ENABLE_FOOTER_ITEM);
+
+               if (__pFileManager != null && __pFileManager->IsCheckedListNull() == false)
+               {
+                       if (__pFileManager->GetCheckedListCount() > 0)
+                       {
+                               SetFooterVisibility(ENABLE_FOOTER_ITEM);
+
+                               pCheckedItemsList = static_cast< ArrayList* >(__pFileManager->GetCheckedList()->GetValuesN());
+
+                               for (int itemcount = 0; itemcount < pCheckedItemsList->GetCount(); itemcount++)
+                               {
+                                       DirectoryEntry* pEntry = static_cast< DirectoryEntry* >(pCheckedItemsList->GetAt(itemcount));
+                                       if (pEntry != null)
+                                       {
+                                               if (pEntry->IsDirectory())
+                                               {
+                                                       shareEnableFlag = 0;
+                                                       break;
+                                               }
+                                       }
+                               }
+
+                               if (shareEnableFlag == 0)
+                               {
+                                       SetShareFooterItemStatus(false);
+                               }
+                               else
+                               {
+                                       SetFooterVisibility(ENABLE_FOOTER_ITEM);
+                               }
+                       }
+                       else
+                       {
+                               SetFooterVisibility(DISABLE_FOOTER_ITEM);
+                       }
+               }
+       }
+
+       if (pCheckedItemsList != null)
+       {
+               pCheckedItemsList->RemoveAll();
+               delete pCheckedItemsList;
+               pCheckedItemsList = null;
+       }
+
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return;
+}
+
+void
+FileManageForm::OnIconListViewOverlayBitmapSelected (Tizen::Ui::Controls::IconListView &iconListView, int index, int overlayBitmapId)
+{
+       if (overlayBitmapId == OVERLAYITEM_RENAME)
+       {
+               __renameItemIndex = index;
+               LoadRenameForm(index);
+       }
+       else
+               __renameItemIndex = INVALID_LIST_INDEX;
+}
+
+void
+FileManageForm::OnListViewItemStateChangedNotify(ViewType listViewStyle)
+{
+       //Empty Implementation.
+}
+
+void
+FileManageForm::OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus)
+{
+       int h_EditIconListView = 0;
+       Rectangle checkButtonBounds(GetClientAreaBounds().x, Y_DEFAULT, GetClientAreaBounds().width, H_CHECK_BUTTON);
+       Rectangle listViewBounds(GetClientAreaBounds().x, Y_DEFAULT, GetClientAreaBounds().width, GetClientAreaBounds().height);
+
+       h_EditIconListView = GetClientAreaBounds().height - H_CHECK_BUTTON;
+
+       Rectangle iconListViewBounds(X_DEFAULT, checkButtonBounds.height, GetClientAreaBounds().width, h_EditIconListView);
+
+       switch (orientationStatus)
+       {
+       case ORIENTATION_STATUS_PORTRAIT:
+       {
+               if (__pEditListView != null)
+               {
+                       __pEditListView->SetBounds(listViewBounds);
+               }
+               if (__pEditIconListView != null)
+               {
+                       __pEditIconListView->SetBounds(iconListViewBounds);
+               }
+               if (__pCheckButtonSelectAll != null)
+               {
+                       __pCheckButtonSelectAll->SetBounds(checkButtonBounds);
+               }
+       }
+       break;
+
+       case ORIENTATION_STATUS_LANDSCAPE:
+       {
+               if (__pEditListView != null)
+               {
+                       __pEditListView->SetBounds(listViewBounds);
+               }
+               if (__pEditIconListView != null)
+               {
+                       __pEditIconListView->SetBounds(iconListViewBounds);
+               }
+               if (__pCheckButtonSelectAll != null)
+               {
+                       __pCheckButtonSelectAll->SetBounds(checkButtonBounds);
+               }
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing
+       }
+       break;
+       }
+}
+
+void
+FileManageForm::OnFileManagingStart(void)
+{
+       //ShowFileProgressingPopup();
+}
+
+void
+FileManageForm::OnFileManagingStop(FileManagingResult fileManagingResult)
+{
+       HideFileProgressingPopup();
+
+       switch (fileManagingResult)
+       {
+       case FILE_MANAGING_RESULT_DELETING_SUCCESS:
+       {
+               SceneManager* pSceneManager = SceneManager::GetInstance();
+               if (pSceneManager != null)
+               {
+                       pSceneManager->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_RIGHT, SCENE_DESTROY_OPTION_DESTROY), null);
+               }
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing.
+       }
+       break;
+       }
+}
+
+void
+FileManageForm::ShowFileProgressingPopup(void)
+{
+       CreateFileProgressingPopup();
+
+       if (__pFileProgressingPopup != null)
+       {
+               __pFileProgressingPopup->SetShowState(true);
+               __pFileProgressingPopup->Show();
+       }
+}
+
+void
+FileManageForm::HideFileProgressingPopup(void)
+{
+       if (__pFileProgressingPopup != null && __pFileProgressingPopup->IsVisible())
+       {
+               __pFileProgressingPopup->SetShowState(false);
+               __pFileProgressingPopup->Invalidate(true);
+
+               __pFileProgressingPopup->RemoveAllControls();
+               delete __pFileProgressingPopup;
+               __pFileProgressingPopup = null;
+       }
+}
+
+result
+FileManageForm::CreateFileProgressingPopup(void)
+{
+       result r = E_SUCCESS;
+       //String popUpTitle;
+       String deleting;
+       String fileProgress;
+
+       AppResource* pAppResource = null;
+
+       if (__pFileProgressingPopup != null)
+       {
+               __pFileProgressingPopup->RemoveAllControls();
+               delete __pFileProgressingPopup;
+               __pFileProgressingPopup = null;
+       }
+
+       pAppResource = UiApp::GetInstance()->GetAppResource();
+
+       if (pAppResource != null)
+       {
+               pAppResource->GetString(L"IDS_COM_POP_DELETING", deleting);
+       }
+       __pFileProgressingPopup = new (std::nothrow) Popup();
+       TryCatch(__pFileProgressingPopup != null, , "Failed to Allocate Memory to __pAnimationPopUp");
+
+       __pFileProgressingPopup->Construct(L"IDL_FILE_PROGRESSING_POPUP");
+
+       __pFileProgressingCancelButton = static_cast< Button* >(__pFileProgressingPopup->GetControl(L"IDC_CANCEL_BUTTON", true));
+       if (__pFileProgressingCancelButton != null)
+       {
+               __pFileProgressingCancelButton->SetActionId(IDA_BTN_ANIMATION_POPUP_CANCEL);
+               __pFileProgressingCancelButton->AddActionEventListener(*this);
+               __pFileProgressingCancelButton->SetShowState(true);
+       }
+       __pAnimationProgress = static_cast< Progress* >(__pFileProgressingPopup->GetControl(L"IDC_PROGRESS_BAR", true));
+       if (__pAnimationProgress != null)
+       {
+
+               __pAnimationProgress->SetName(L"AnimationProgress");
+               __pAnimationProgress->SetValue(0);
+       }
+
+       __pFileProgressingHeaderLabel = static_cast< Label* >(__pFileProgressingPopup->GetControl(L"IDC_ANIMATION_HEADER", true));
+       if (__pFileProgressingHeaderLabel != null)
+       {
+               __pFileProgressingHeaderLabel->SetText(deleting);
+               __pFileProgressingHeaderLabel->SetName(L"IDC_ANIMATION_HEADER");
+               __pFileProgressingHeaderLabel->SetShowState(true);
+       }
+       __pFileProgressingLabel = static_cast< Label* >(__pFileProgressingPopup->GetControl(L"IDC_ANIMATION_LABEL", true));
+       if (__pFileProgressingLabel != null)
+       {
+               __pFileProgressingLabel->SetName(L"FileCountLabel");
+               __pFileProgressingLabel->SetText(L"");
+               __pFileProgressingLabel->SetShowState(false);
+       }
+
+       return r;
+
+CATCH:
+       if (__pFileProgressingPopup != null)
+       {
+               delete __pFileProgressingPopup;
+               __pFileProgressingPopup = null;
+       }
+       return r;
+}
+
+void
+FileManageForm::OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs)
+{
+       AppLogDebug("Entry");
+
+       result r = E_SUCCESS;
+       Integer* pCurrentStatus = null;
+       Integer* pTotalCount = null;
+       String fileProcessCountText;
+       Integer* pFileProcessingResult = null;
+       Integer* pFolderEntryDeleteIndex = null;
+
+       Rectangle listViewBounds(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON);
+
+       int badgeNumber = 0;
+
+///    Tizen::Shell::NotificationManager* pNotiManager = null;
+       NotificationManager* pNotiManager = null;
+
+       TryCatch(pArgs != null, , "Argument Lis Received is Invalid!");
+
+       pFileProcessingResult = (Integer*) pArgs->GetAt(0);
+       TryCatch(pFileProcessingResult != null, , "File Processing Result is Invalid!");
+
+       pNotiManager = new (std::nothrow) NotificationManager();
+       TryCatch(pNotiManager != null, , "Failed to fetch AppNotificationManager");
+
+       pNotiManager->Construct();
+       badgeNumber = pNotiManager->GetBadgeNumber();
+       badgeNumber++;
+
+       switch (pFileProcessingResult->ToInt())
+       {
+       case FILE_MANAGING_RESULT_DELETING_SUCCESS:
+       {
+               HideFileProgressingPopup();
+
+               if (__pFileManager != null)
+                       __pFileManager->ClearCheckedList();
+
+               if (__pLabelNumberOfItems != null)
+                       __pLabelNumberOfItems->SetShowState(false);
+
+               __pCheckButtonSelectAll->SetSelected(false);
+
+               SetFooterVisibility(DISABLE_FOOTER_ITEM);
+
+               if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+               {
+                       __pEditIconListView->SetBounds(listViewBounds);
+               }
+
+               if (__pEditListView != null && __pEditListView->IsVisible())
+               {
+                       __pEditListView->SetBounds(listViewBounds);
+               }
+
+               if (__pItems->GetCount() == 0)
+               {
+                       __pCheckButtonSelectAll->SetTextColor(Color::GetColor(COLOR_ID_GREY));
+                       __pCheckButtonSelectAll->SetSelected(false);
+                       __pCheckButtonSelectAll->SetEnabled(false);
+                       SetFooterVisibility(DISABLE_FOOTER_ITEM);
+               }
+       }
+       break;
+
+       case FILE_MANAGING_RESULT_DELETING_FAILED:
+       {
+               HideFileProgressingPopup();
+
+               String deleteFailed;
+               AppResource* pAppResource = null;
+               pAppResource = Application::GetInstance()->GetAppResource();
+               pAppResource->GetString("IDS_DELETE_FAILED", deleteFailed);
+
+               MessageBox messageBox;
+               messageBox.Construct(L"", deleteFailed, MSGBOX_STYLE_NONE, 1000);
+               int modalResult = 0;
+               messageBox.ShowAndWait(modalResult);
+       }
+       break;
+
+       case FILE_MANAGING_RESULT_CURRENT_STATUS:
+       {
+
+               AppLogDebug("FILE_MANAGING_RESULT_CURRENT_STATUS");
+               int value = 0;
+               if (pArgs->GetCount() > 1)
+               {
+                       //pFolderEntryDeleteIndex = (Integer*) pArgs->GetAt(1);
+
+                       pCurrentStatus = (Integer*) pArgs->GetAt(1);
+                       pTotalCount = (Integer*) pArgs->GetAt(2);
+                       //pFolderEntryDeleteIndex = (Integer *) pArgs->GetAt(3);
+                       if (pCurrentStatus != null)
+                       {
+                               __fileProcessedCount = pCurrentStatus->ToInt();
+
+                               fileProcessCountText.Append(__fileProcessedCount);
+                               fileProcessCountText.Append(L"/");
+                               if (pTotalCount != null)
+                               {
+                                       fileProcessCountText.Append(pTotalCount->ToInt());
+                                       value = (__fileProcessedCount * 100) / pTotalCount->ToInt();
+                               }
+                       }
+               }
+
+               if (__pFileProgressingPopup != null)
+               {
+                       if(__pAnimationProgress != null)
+                       {
+                               __pAnimationProgress->SetValue(value);
+                               __pAnimationProgress->SetShowState(true);
+                               //__pAnimationProgress->Draw();
+                               //__pAnimationProgress->Show();
+                               __pAnimationProgress->Invalidate(true);
+                       }
+                       if (__pFileProgressingLabel != null)
+                       {
+                               __pFileProgressingLabel->SetText(fileProcessCountText);
+                               __pFileProgressingLabel->SetShowState(true);
+                               __pFileProgressingLabel->Invalidate(true);
+                       }
+
+               }
+
+       }
+       break;
+       case FILE_MANAGING_REFRESH_LIST:
+       {
+               if (pArgs->GetCount() > 1)
+               {
+                       pFolderEntryDeleteIndex = (Integer*) pArgs->GetAt(1);
+                       if (pFolderEntryDeleteIndex != null)
+                       {
+                               r = __pItems->RemoveAt(pFolderEntryDeleteIndex->ToInt());
+                               TryCatch(r == E_SUCCESS, , "Remove from array list failed");
+                       }
+
+                       if (__pEditListView != null && __pEditListView->IsVisible())
+                       {
+                               __pEditListView->RefreshList(pFolderEntryDeleteIndex->ToInt(), LIST_REFRESH_TYPE_ITEM_REMOVE);
+                       }
+
+                       if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+                       {
+                               __pEditIconListView->RefreshList(pFolderEntryDeleteIndex->ToInt(), LIST_REFRESH_TYPE_ITEM_REMOVE);
+                       }
+               }
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing.
+       }
+       break;
+       }
+
+       if (__pLabelNumberOfItems != null && __pLabelNumberOfItems->GetShowState() == true)
+       {
+               if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+               {
+                       __pEditIconListView->SetBounds(Rectangle(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON - H_DISPLAY_PATH_LABEL));
+
+                       __pEditIconListView->Invalidate(true);
+               }
+
+               if (__pEditListView != null && __pEditListView->IsVisible())
+               {
+                       __pEditListView->SetBounds(Rectangle(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON - H_DISPLAY_PATH_LABEL));
+
+                       __pEditListView->Invalidate(true);
+               }
+       }
+       else
+       {
+               if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+               {
+                       __pEditIconListView->SetBounds(Rectangle(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON));
+
+                       __pEditIconListView->Invalidate(true);
+               }
+
+               if (__pEditListView != null && __pEditListView->IsVisible())
+               {
+                       __pEditListView->SetBounds(Rectangle(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON));
+
+                       __pEditListView->Invalidate(true);
+               }
+       }
+
+       if (pNotiManager != null)
+       {
+               delete pNotiManager;
+               pNotiManager = null;
+       }
+
+       if (pArgs != null)
+       {
+               pArgs->RemoveAll(true);
+               delete pArgs;
+               pArgs = null;
+       }
+
+       return;
+CATCH:
+
+       if (pArgs != null)
+       {
+               pArgs->RemoveAll(true);
+               delete pArgs;
+               pArgs = null;
+       }
+       if (pNotiManager != null)
+       {
+               delete pNotiManager;
+               pNotiManager = null;
+       }
+       return;
+}
+
+void
+FileManageForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
+{
+       SceneManager::GetInstance()->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_RIGHT));
+}
+
+void
+FileManageForm::LoadRenameForm(int index)
+{
+       result r = E_SUCCESS;
+       ArrayList* pArg = null;
+       Integer* pSourceSelected = null;
+       SceneManager* pSceneManager = null;
+       DirectoryEntry* pDirectory = null;
+
+       if (__pItems != null)
+       {
+               pDirectory = static_cast< DirectoryEntry* >(__pItems->GetAt(index));
+       }
+
+       pSceneManager = SceneManager::GetInstance();
+       TryCatch(pSceneManager != null, , "Failed to Get SceneManager Instance");
+
+       pArg = new (std::nothrow) ArrayList();
+       pArg->Construct();
+
+       pSourceSelected = new (std::nothrow) Integer(SELECT_RENAME);
+
+       r = pArg->Add(pSourceSelected);
+       TryCatch(r == E_SUCCESS, , "Failed to Add Entry to ArrayList");
+
+       if (pDirectory != null)
+       {
+               r = pArg->Add(pDirectory);
+               TryCatch(r == E_SUCCESS, , "Failed to Add Entry to ArrayList");
+       }
+       AppLogDebug("FileManageForm: pArgs Count is %d", pArg->GetCount());
+
+       if (pSceneManager != null)
+       {
+               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_CREATE_FOLDER_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pArg);
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return;
+
+CATCH:
+
+       if (pSourceSelected != null)
+       {
+               delete pSourceSelected;
+               pSourceSelected = null;
+       }
+       if (pArg != null)
+       {
+               delete pArg;
+               pArg = null;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return;
+
+}
+
+result
+FileManageForm::CreateDeleteConfirmationPopUp(void)
+{
+       result r = E_SUCCESS;
+       Rectangle popupBounds;
+
+       Label* pPanelLabel = null;
+       Label* pPopupLabel = null;
+
+       Bitmap* pPanelBackground = null;
+       Bitmap* pPopUpBackground = null;
+
+       String deleteLabel = L"";
+
+       pPanelBackground = UiApp::App::GetInstance()->GetAppResource()->GetBitmapN(IDB_BACKGROUND_POPUP_BOTTOM, BITMAP_PIXEL_FORMAT_ARGB8888);
+       pPopUpBackground = UiApp::App::GetInstance()->GetAppResource()->GetBitmapN(IDB_BACKGROUND_POPUP_CENTER, BITMAP_PIXEL_FORMAT_ARGB8888);
+
+       //Create a new popup control
+       __pDeleteConfirmationPopUp = new (std::nothrow) Popup();
+       __pDeleteConfirmationPopUp->Construct(L"IDL_DELETE_POPUP");
+
+       pPanelLabel = static_cast< Label* >(__pDeleteConfirmationPopUp->GetControl(L"IDC_LABEL_BOTTOM_BACKGROUND", true));
+       TryCatch(pPanelLabel != null, , "MfMyFilesApp::pPanelLabel For Popup not created!");
+
+       pPopupLabel = static_cast< Label* >(__pDeleteConfirmationPopUp->GetControl(L"IDC_LABEL_DELETE", true));
+       TryCatch(pPopupLabel != null, , "MfMyFilesApp::pPanelLabel For Popup not created!");
+
+       if (pPanelBackground != null)
+       {
+               pPanelLabel->SetBackgroundBitmap(*pPanelBackground);
+       }
+       if (pPopUpBackground != null)
+       {
+               pPopupLabel->SetBackgroundBitmap(*pPopUpBackground);
+       }
+
+       AppResource::GetInstance()->GetString(L"IDS_MF_SK3_DELETE", deleteLabel);
+
+       if(deleteLabel.IsEmpty() == false)
+       {
+               deleteLabel.Append("?");
+               pPopupLabel->SetText(deleteLabel);
+       }
+
+       __pDeleteFile = static_cast< Button* >(__pDeleteConfirmationPopUp->GetControl(L"IDC_BUTTON_DELETE", true));
+       TryCatch(__pDeleteFile != null, , "MfMyFilesApp::Button For Popup not created!");
+
+       __pDeleteFile->SetActionId(IDA_DELETE_FILE);
+       __pDeleteFile->AddActionEventListener(*this);
+       __pDeleteFile->SetShowState(true);
+
+       __pCancelDeletion = static_cast< Button* >(__pDeleteConfirmationPopUp->GetControl(L"IDC_BUTTON_CANCEL", true));
+       TryCatch(__pCancelDeletion != null, , "MfMyFilesApp::Button For Popup not created!");
+
+       __pCancelDeletion->SetActionId(IDA_CANCEL_DELETION);
+       __pCancelDeletion->AddActionEventListener(*this);
+       __pCancelDeletion->SetShowState(true);
+
+       if (pPopUpBackground != null)
+       {
+               delete pPopUpBackground;
+               pPopUpBackground = null;
+       }
+       if (pPanelBackground != null)
+       {
+               delete pPanelBackground;
+               pPanelBackground = null;
+       }
+       return r;
+
+CATCH:
+
+       if (pPopUpBackground != null)
+       {
+               delete pPopUpBackground;
+               pPopUpBackground = null;
+       }
+       if (pPanelBackground != null)
+       {
+               delete pPanelBackground;
+               pPanelBackground = null;
+       }
+       if (__pDeleteConfirmationPopUp != null)
+       {
+               delete __pDeleteConfirmationPopUp;
+               __pDeleteConfirmationPopUp = null;
+       }
+
+       return r;
+}
+
+void
+FileManageForm::OnDataBindingSourceUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName, const Tizen::Base::String& propertyName)
+{
+       //empty Implementation
+}
+
+void
+FileManageForm::OnDataBindingTargetUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName, const Tizen::Base::String& propertyName)
+{
+       //empty Implementation
+}
+
+void
+FileManageForm::OnDataBindingValidationFailed(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName, const Tizen::Base::String& propertyName, Tizen::Ui::DataBindingDestinationType destType)
+{
+       //empty Implementation
+}
+
+result
+FileManageForm::CreateShareContextMenu(void)
+{
+       result r = E_SUCCESS;
+
+       int x_Footer = 0;
+       int y_Footer = 0;
+
+       String message;
+       String eMail;
+       String bluetooth;
+       String wifiDirect;
+
+       AppResource* pAppResource = null;
+
+
+       __pFooter = GetFooter();
+       if (__pFooter != null)
+       {
+               __pFooter->GetPosition(x_Footer, y_Footer);
+       }
+
+       Point startPosition(GetClientAreaBounds().width / 3, y_Footer);
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       if (pAppResource != null)
+       {
+               pAppResource->GetString(L"IDS_COM_BODY_MESSAGE", message);
+               pAppResource->GetString(L"IDS_SHARE_VIA_EMAIL", eMail);
+               pAppResource->GetString(L"IDS_COM_BODY_BLUETOOTH", bluetooth);
+               pAppResource->GetString(L"IDS_COM_OPT1_WI_FI_DIRECT", wifiDirect);
+       }
+       __pShareContextMenu = new (std::nothrow) ContextMenu();
+       __pShareContextMenu->Construct(startPosition, CONTEXT_MENU_STYLE_LIST, CONTEXT_MENU_ANCHOR_DIRECTION_AUTO);
+
+       //__pShareContextMenu->AddItem(message, IDA_BTN_SHARE_MESSAGE);
+       __pShareContextMenu->AddItem(eMail, IDA_BTN_SHARE_EMAIL);
+       //__pShareContextMenu->AddItem(bluetooth, IDA_BTN_SHARE_BLUETOOTH);
+       //__pShareContextMenu->AddItem(wifiDirect, IDA_BTN_SHARE_WIFI_DIRECT);
+
+       __pShareContextMenu->SetItemTextColor(CONTEXT_MENU_ITEM_STATUS_NORMAL, Color::GetColor(COLOR_ID_BLACK));
+       __pShareContextMenu->SetItemTextColor(CONTEXT_MENU_ITEM_STATUS_PRESSED, Color::GetColor(COLOR_ID_WHITE));
+
+       __pShareContextMenu->SetShowState(false);
+
+       __pShareContextMenu->AddActionEventListener(*this);
+
+       return r;
+}
+
+void
+FileManageForm::OnThumbnailReceived(ThumbRequest* pThumbReq)
+{
+       result res = E_SUCCESS;
+       AppLogDebug("Enter");
+
+       if (__pFolderEntryPM)
+       {
+               if (pThumbReq != null)
+               {
+                       if (pThumbReq->GetCurrentSourceForm() != __pFolderEntryPM->GetSourceForm())
+                       {
+                               if (pThumbReq->pBitmap != null)
+                               {
+                                       AppLogDebug("This Bitmap is not requested from same form");
+                                       delete pThumbReq->pBitmap;
+                               }
+                               return;
+                       }
+               }
+
+               if (pThumbReq)
+               {
+                       if (pThumbReq->iRquestId < __pItems->GetCount())
+                       {
+
+                               __pFolderEntryPM->OnThumbnailResponseReceived(pThumbReq->pBitmap, pThumbReq->iRquestId);
+                               if (__pEditListView && __pEditListView->IsVisible())
+                               {
+                                       res = __pEditListView->RefreshList(pThumbReq->iRquestId, LIST_REFRESH_TYPE_ITEM_MODIFY);
+                               }
+                               else if (__pEditIconListView && __pEditIconListView->IsVisible())
+                               {
+                                       res = __pEditIconListView->RefreshList(pThumbReq->iRquestId, LIST_REFRESH_TYPE_ITEM_MODIFY);
+                               }
+                       }
+               }
+               else
+               {
+                       __pFolderEntryPM->OnThumbnailResponseFailed();
+               }
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(res));
+       return;
+}
+
+FolderEntryPresentationModel*
+FileManageForm::GetFoldeEntryPresentationModel(void)
+{
+       return __pFolderEntryPM;
+}
+
+void
+FileManageForm::OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state)
+{
+       bool setMediaPath = false;
+       MemoryType currentMemoryType = MEMORY_TYPE_PHONE;
+       String unmounted = sdCardStatusUnmounted;
+       String removed = usbDeviceStatusRemoved;
+       String currentPath;
+
+       SceneManager* pSceneManager = null;
+
+       if (state == unmounted || state == removed)
+       {
+               currentPath = FolderNavigationPresentationModel::GetCurrentPath();
+               if (state == unmounted)
+               {
+                       if (currentPath.Contains(BasePresentationModel::GetSdCardPath()))
+                       {
+                               FolderNavigationPresentationModel::SetCurrentFilePath(BasePresentationModel::GetMediaPath());
+                               FolderNavigationPresentationModel::SetStorageType(currentMemoryType);
+                               setMediaPath = true;
+                       }
+               }
+
+               if (state == removed)
+               {
+                       if (currentPath.Contains(BasePresentationModel::GetUsbPath()))
+                       {
+                               FolderNavigationPresentationModel::SetCurrentFilePath(BasePresentationModel::GetMediaPath());
+                               FolderNavigationPresentationModel::SetStorageType(currentMemoryType);
+                               setMediaPath = true;
+                       }
+               }
+
+               if (setMediaPath)
+               {
+                       pSceneManager = SceneManager::GetInstance();
+                       if (pSceneManager != null)
+                       {
+                               pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_ROOT_DIRECTORY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT, SCENE_DESTROY_OPTION_DESTROY), null);
+                       }
+               }
+       }
+}
+
+void
+FileManageForm::OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state)
+{
+
+       ComponentType currentDeviceType;
+       switch (deviceType)
+       {
+       case StorageCard:
+       {
+               currentDeviceType = COMPONENT_TYPE_STORAGE_CARD;
+       }
+       break;
+
+       case UsbClient:
+       {
+               currentDeviceType = COMPONENT_TYPE_USB;
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing.
+       }
+       break;
+       }
+       OnDeviceChange(currentDeviceType, state);
+}
+
+void
+FileManageForm::OnScrollEndReached(Tizen::Ui::Control& source, Tizen::Ui::Controls::ScrollEndEvent type)
+{
+       if (type == SCROLL_END_EVENT_END_BOTTOM)
+       {
+               __bScrollFlag = true;
+       }
+       else
+       {
+               __bScrollFlag = false;
+       }
+}
+
+void
+FileManageForm::OnScrollPositionChanged(Tizen::Ui::Control& source, int scrollPos)
+{
+       //Empty Implementation.
+}
+
+void
+FileManageForm::OnScrollStopped(Tizen::Ui::Control& source)
+{
+       //Empty Implementation.
+}
+
+void
+FileManageForm::SortArrayList(Tizen::Base::Collection::ArrayList* pArrList)
+{
+       for (int i = 0; i < pArrList->GetCount(); i++)
+       {
+               Integer* PValue1 = (Integer*) pArrList->GetAt(i);
+               for (int j = i + 1; j < pArrList->GetCount(); j++)
+               {
+                       Integer* PValue2 = (Integer*) pArrList->GetAt(j);
+                       if (PValue1->ToInt() > PValue2->ToInt())
+                       {
+                               int temp;
+                               temp = PValue1->ToInt();
+                               *PValue1 = *PValue2;
+                               *PValue2 = temp;
+                       }
+               }
+       }
+       for (int i = 0; i < pArrList->GetCount(); i++)
+       {
+               Integer* PValue1 = (Integer*) pArrList->GetAt(i);
+               AppLogDebug("%d", PValue1->ToInt());
+       }
+}
+
+void
+FileManageForm::OnSceneTransitionCompleted(const Tizen::Ui::Scenes::SceneId &previousSceneId,
+               const Tizen::Ui::Scenes::SceneId &currentSceneId)
+{
+       AppLogDebug("Enter");
+
+       Integer* pRenameItemIndex = null;
+       const DirectoryEntry* pDir = null;
+       DirectoryEntry* pDirectoryEntry = null;
+       Integer pReceivedStorageType;
+
+       SceneManager::GetInstance()->RemoveSceneManagerEventListener(*this);
+
+       if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+       {
+               __pEditIconListView->SetBounds(Rectangle(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON));
+       }
+
+       if (__pEditListView != null && __pEditListView->IsVisible())
+       {
+               __pEditListView->SetBounds(Rectangle(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON));
+       }
+
+       if (previousSceneId != IDSCN_CREATE_FOLDER_FORM)
+       {
+               if (__pFileManager != null)
+               {
+                       if (__pFileManager->GetCheckedListCount() != 0)
+                       {
+                               __pFileManager->ClearCheckedList();
+                       }
+                       //__pFileManager->SetFileManagingListener(this);
+               }
+
+               if (__pFolderEntryPM != null)
+               {
+                       pReceivedStorageType = FolderNavigationPresentationModel::GetStorageType();
+                       __pFolderEntryPM->SetFolderEntryPath(__rootPath);
+                       __pItems = __pFolderEntryPM->GetFolderEntryList();
+                       TryCatch(__pItems != null, , "Failed to fetch the directory entry list");
+               }
+
+               if (__pLabelNumberOfItems != null)
+               {
+                       __pLabelNumberOfItems->SetShowState(false);
+               }
+
+               SetFooterVisibility(DISABLE_FOOTER_ITEM);
+
+               if (__pFolderEntryPM != null)
+               {
+                       __pFolderEntryPM->GetFolderEntryCount(__rootPath, __folderCount, __fileCount);
+               }
+
+               if (__folderCount != 0)
+               {
+                       SetShareFooterItemStatus(false);
+               }
+
+               if (__pEditListView != null && __pEditIconListView != null)
+               {
+                       for (int itemCount = 0; itemCount < __pItems->GetCount(); itemCount++)
+                       {
+                               if (__pEditListView->IsItemChecked(itemCount) == true)
+                               {
+                                       __pEditListView->SetItemChecked(itemCount, false);
+                               }
+
+                               if (__pEditIconListView->IsItemChecked(itemCount) == true)
+                               {
+                                       __pEditIconListView->SetItemChecked(itemCount, false);
+                               }
+                       }
+               }
+
+               switch (pReceivedStorageType.ToInt())
+               {
+               case MEMORY_TYPE_PHONE:
+               {
+                       __storageType = MEMORY_TYPE_PHONE;
+               }
+               break;
+
+               case MEMORY_TYPE_SD_CARD:
+               {
+                       __storageType = MEMORY_TYPE_SD_CARD;
+               }
+               break;
+
+               case MEMORY_TYPE_EXTERNAL:
+               {
+                       __storageType = MEMORY_TYPE_EXTERNAL;
+               }
+               break;
+
+               default:
+               {
+                       //Do Nothing.
+               }
+               break;
+               }
+       }
+
+       if (previousSceneId == IDSCN_CREATE_FOLDER_FORM)
+       {
+               if (__renameItemIndex != INVALID_LIST_INDEX && __pFileManager != null)
+               {
+                       AppLogDebug("checked entry count is %d", __pFileManager->GetCheckedListCount());
+                       if (__pEditListView != null && __pEditListView->IsVisible())
+                       {
+                               if (__bCheckNullArgs)
+                               {
+                                       __pEditListView->RefreshList(__renameItemIndex, LIST_REFRESH_TYPE_ITEM_MODIFY);
+                               }
+
+
+                       }
+                       if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+                       {
+                               __pEditIconListView->RefreshList(__renameItemIndex, LIST_REFRESH_TYPE_ITEM_MODIFY);
+                       }
+                               pRenameItemIndex = new (std::nothrow) Integer(__renameItemIndex);
+
+                               pDir = static_cast< const DirectoryEntry* >(__pFileManager->GetCheckedList()->GetValue(*pRenameItemIndex));
+                               if (pDir != null)
+                               {
+                                       pDirectoryEntry = static_cast< DirectoryEntry* >(__pItems->GetAt(__renameItemIndex));
+                                       TryCatch(pDirectoryEntry != null, , "r = E_FAILURE pDirectoryEntry is null");
+
+                                       __pFileManager->RemoveCheckedListEntry(__renameItemIndex);
+                                       __pFileManager->AddCheckedListEntry(__renameItemIndex, pDirectoryEntry);
+                               }
+
+                       delete pRenameItemIndex;
+
+               }
+       }
+       else
+       {
+               switch (__viewType)
+               {
+               case VIEW_TYPE_AS_DETAILED_LIST:
+               {
+                       if (__pCheckButtonSelectAll != null)
+                       {
+                               if (__pCheckButtonSelectAll->IsSelected() == true)
+                               {
+                                       __pCheckButtonSelectAll->SetSelected(false);
+                               }
+                       }
+
+                       if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+                       {
+                               __pEditIconListView->SetShowState(false);
+                       }
+                       if (__pEditListView != null)
+                       {
+                               __pEditListView->ScrollToItem(0);
+                               __pEditListView->UpdateList();
+                               __pEditListView->SetShowState(true);
+                       }
+               }
+               break;
+
+               case VIEW_TYPE_AS_NORMAL_LIST:
+               {
+                       if (__pCheckButtonSelectAll != null)
+                       {
+                               if (__pCheckButtonSelectAll->IsSelected() == true)
+                               {
+                                       __pCheckButtonSelectAll->SetSelected(false);
+                               }
+                       }
+
+                       if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+                       {
+                               __pEditIconListView->SetShowState(false);
+                       }
+
+                       if (__pEditListView != null)
+                       {
+                               __pEditListView->ScrollToItem(0);
+                               __pEditListView->UpdateList();
+                               __pEditListView->SetShowState(true);
+                       }
+               }
+               break;
+
+               case VIEW_TYPE_AS_THUMBNAILS:
+               {
+                       if (__pCheckButtonSelectAll != null)
+                       {
+                               if (__pCheckButtonSelectAll->IsSelected() == true)
+                               {
+                                       __pCheckButtonSelectAll->SetSelected(false);
+                               }
+                       }
+                       if (__pEditListView != null && __pEditListView->IsVisible())
+                       {
+                               __pEditListView->SetShowState(false);
+                       }
+                       if (__pEditIconListView != null)
+                       {
+                               __pEditIconListView->ScrollToItem(0);
+                               __pEditIconListView->UpdateList();
+                               __pEditIconListView->SetShowState(true);
+                       }
+               }
+               break;
+
+               default:
+               {
+                       if (__pEditListView != null)
+                       {
+                               __pEditListView->UpdateList();
+                               __pEditListView->SetShowState(true);
+                       }
+                       if (__pCheckButtonSelectAll != null && __pCheckButtonSelectAll->IsVisible())
+                       {
+                               __pCheckButtonSelectAll->SetSelected(false);
+                       }
+                       if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+                       {
+                               __pEditIconListView->SetShowState(false);
+                       }
+               }
+               break;
+               }
+       }
+
+       __pFolderEntryPM->InitThumbnailManager();
+
+       if (__pLabelNumberOfItems != null && __pLabelNumberOfItems->GetShowState() == true)
+       {
+               if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+               {
+                       __pEditIconListView->SetBounds(Rectangle(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON - H_DISPLAY_PATH_LABEL));
+
+                       __pEditIconListView->Invalidate(true);
+               }
+
+               if (__pEditListView != null && __pEditListView->IsVisible())
+               {
+                       __pEditListView->SetBounds(Rectangle(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON - H_DISPLAY_PATH_LABEL));
+
+                       __pEditListView->Invalidate(true);
+               }
+       }
+       else
+       {
+               if (__pEditIconListView != null && __pEditIconListView->IsVisible())
+               {
+                       __pEditIconListView->SetBounds(Rectangle(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON));
+
+                       __pEditIconListView->Invalidate(true);
+               }
+
+               if (__pEditListView != null && __pEditListView->IsVisible())
+               {
+                       __pEditListView->SetBounds(Rectangle(X_DEFAULT, H_CHECK_BUTTON, GetClientAreaBounds().width, GetClientAreaBounds().height - H_CHECK_BUTTON));
+
+                       __pEditListView->Invalidate(true);
+               }
+       }
+       return;
+
+CATCH:
+       return;
+}
+
+void
+FileManageForm::OnSceneTransitionStarted(const Tizen::Ui::Scenes::SceneId &currentSceneId,
+               const Tizen::Ui::Scenes::SceneId &nextSceneId)
+{
+       //Empty Implementation.
+}
diff --git a/src/MfFileManageWorkerThread.cpp b/src/MfFileManageWorkerThread.cpp
new file mode 100644 (file)
index 0000000..616f61d
--- /dev/null
@@ -0,0 +1,1848 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFileManageWorkerThread.cpp
+ * @brief: This file contains the implementation of FileManageWorkerThread class, which manages file operations like
+ * Copy, Move, Delete, Create and other utilities.
+ */
+
+#include "MfFileManageWorkerThread.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Runtime;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Content;
+using namespace Tizen::Io;
+
+int FileManageWorkerThread::__fileManagedCounter = 0;
+unsigned long FileManageWorkerThread::E_THREAD_CANCEL = 1000;
+
+FileManageWorkerThread::FileManageWorkerThread(void)
+       : __pFolderEntryPM(null)
+       , __pListOfFiles(null)
+{
+       __operationId = OPERATIONID_MANAGE_MIN;
+       __threadRunningState = THREAD_RUNNING_STATE_ALIVE;
+       __fileExistingOperationId = FILE_EXISTING_OPERATIONID_NONE;
+       __fileManagingingResult = FILE_MANAGING_RESULT_NONE;
+}
+
+FileManageWorkerThread::~FileManageWorkerThread(void)
+{
+       if (__pFolderEntryPM != null)
+       {
+               delete __pFolderEntryPM;
+       }
+}
+
+FileManageWorkerThread&
+FileManageWorkerThread::operator =(const FileManageWorkerThread& fileManageWorkerThread)
+{
+       return *this;
+}
+
+FileManageWorkerThread::FileManageWorkerThread(const FileManageWorkerThread& fileManageWorkerThread)
+{
+       //Do Nothing
+}
+
+result
+FileManageWorkerThread::Construct(void)
+{
+       result r = E_SUCCESS;
+
+       r = Thread::Construct(THREAD_TYPE_WORKER);
+       //r = EventDrivenThread::Construct(THREAD_TYPE_WORKER);
+
+       __pFolderEntryPM = new (std::nothrow) FolderEntryPresentationModel();
+       r = __pFolderEntryPM->Construct();
+       AppAssert(__pFolderEntryPM != null)
+
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return r;
+}
+
+result
+FileManageWorkerThread::CreateFolder(const String& destPath, const String& folderName)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       String filePath;
+
+       filePath.Append(destPath);
+       filePath.Append(folderName);
+
+       r = Directory::Create(filePath, false);
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return r;
+}
+
+result
+FileManageWorkerThread::DeleteFile(const String& filePath)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       FileAttributes fileAttrib;
+       File::GetAttributes(filePath, fileAttrib);
+
+       if (fileAttrib.IsDirectory())
+       {
+               r = Directory::Remove(filePath, true);
+       }
+       else
+       {
+               r = File::Remove(filePath);
+       }
+
+       TryCatch(r == E_SUCCESS, , "file deletion failed");
+
+       __fileManagingingResult = FILE_MANAGING_RESULT_DELETING_SUCCESS;
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return r;
+
+CATCH:
+       __fileManagingingResult = FILE_MANAGING_RESULT_DELETING_FAILED;
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return r;
+}
+
+result
+FileManageWorkerThread::CopyFile(String sourcePath, String destPath)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       ArrayList* pBackUpContentList = null;
+       DirectoryEntry* pDirStr = null;
+       DirectoryEntry* pDirStrTemp = null;
+       ArrayList* pTempContentList = null;
+       String tempDestPath;
+
+       FileAttributes fileAttrib;
+       File::GetAttributes(sourcePath, fileAttrib);
+
+       if (fileAttrib.IsDirectory())
+       {
+               sourcePath.Append(L"/");
+               __pFolderEntryPM->SetFolderEntryPath(sourcePath);
+               pTempContentList = __pFolderEntryPM->GetFolderEntryList();
+               TryCatch(pTempContentList != null, , "Failed to allocate memory to original content list");
+
+               pBackUpContentList = new (std::nothrow) ArrayList();
+               pBackUpContentList->Construct();
+
+               for (int count = 0; count < pTempContentList->GetCount(); count++)
+               {
+                       pDirStrTemp = static_cast< DirectoryEntry* >(pTempContentList->GetAt(count));
+                       TryCatch(pDirStrTemp != null, , "Failed to allocate memory to pDirStrTemp");
+
+                       pDirStr = new (std::nothrow) DirectoryEntry(*pDirStrTemp);
+                       TryCatch(pDirStr != null, , "Failed to allocate memory to pdirstr");
+                       pBackUpContentList->Add(pDirStr);
+               }
+
+               r = Directory::Create(destPath, false);
+               TryCatch(r == E_SUCCESS, , "dir already exist");
+
+               destPath.Append(L"/");
+               for (int count = 0; count < pBackUpContentList->GetCount(); count++)
+               {
+                       tempDestPath.Clear();
+                       tempDestPath.Append(destPath);
+
+                       DirectoryEntry* pDirStr = null;
+                       pDirStr = static_cast< DirectoryEntry* >(pBackUpContentList->GetAt(count));
+                       tempDestPath.Append(pDirStr->GetFileName());
+                       if (!pDirStr->IsDirectory())
+                       {
+                               tempDestPath.Append(L".");
+                               tempDestPath.Append(pDirStr->GetFileExtension());
+                       }
+
+                       File::GetAttributes(pDirStr->GetFullFilePath(), fileAttrib);
+                       if (__threadRunningState == THREAD_RUNNING_STATE_ALIVE)
+                       {
+                               r = CopyFile(pDirStr->GetFullFilePath(), tempDestPath);
+                       }
+                       else
+                       {
+                               pBackUpContentList->RemoveAll(true);
+                               delete pBackUpContentList;
+                               pBackUpContentList = null;
+                               return E_SUCCESS;
+                       }
+
+               }
+
+
+               pBackUpContentList->RemoveAll(true);
+               delete pBackUpContentList;
+               pBackUpContentList = null;
+
+       }
+       else
+       {
+               if (__threadRunningState == THREAD_RUNNING_STATE_ALIVE)
+               {
+                       //r = File::Copy(sourcePath, destPath, true);
+                       r = Copy(sourcePath, destPath);
+                       TryCatch(r == E_SUCCESS, , " file Copy  Failed");
+
+                       if (__threadRunningState == THREAD_RUNNING_STATE_ALIVE)
+                       {
+                               r = UpdateContentDB(destPath);
+                       }
+                       else
+                       {
+                               return E_SUCCESS;
+                       }
+               }
+               else
+               {
+                       return E_SUCCESS;
+               }
+       }
+
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return E_SUCCESS;
+CATCH:
+       //r = E_FAILURE;
+       if (pBackUpContentList != null)
+       {
+               pBackUpContentList->RemoveAll(true);
+               delete pBackUpContentList;
+               pBackUpContentList = null;
+       }
+
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return r;
+}
+
+result
+FileManageWorkerThread::MoveFile(String sourcePath, String destPath)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+
+       FileAttributes fileAttrib;
+       File::GetAttributes(sourcePath, fileAttrib);
+
+       ArrayList* pBackUpContentList = null;
+       ArrayList* pTempContentList = null;
+       DirectoryEntry* pDirStr = null;
+       DirectoryEntry* pDirStrTemp = null;
+       String tempDestPath;
+
+       if (fileAttrib.IsDirectory())
+       {
+               sourcePath.Append(L"/");
+               __pFolderEntryPM->SetFolderEntryPath(sourcePath);
+               pTempContentList = __pFolderEntryPM->GetFolderEntryList();
+               TryCatch(pTempContentList != null, , "Failed to allocate memory to original content list");
+
+               pBackUpContentList = new (std::nothrow) ArrayList();
+               pBackUpContentList->Construct();
+
+               for (int count = 0; count < pTempContentList->GetCount(); count++)
+               {
+                       pDirStrTemp = static_cast< DirectoryEntry* >(pTempContentList->GetAt(count));
+                       pDirStr = new (std::nothrow) DirectoryEntry(*pDirStrTemp);
+                       TryCatch(pDirStr != null, , "Failed to allocate memory to pdirstr");
+                       pBackUpContentList->Add(pDirStr);
+               }
+
+               r = Directory::Create(destPath, false);
+               TryCatch(r == E_SUCCESS, , "dir Creation Failed");
+
+               destPath.Append(L"/");
+               for (int count = 0; count < pBackUpContentList->GetCount(); count++)
+               {
+                       tempDestPath.Clear();
+                       tempDestPath.Append(destPath);
+                       DirectoryEntry* pDirStr = null;
+                       pDirStr = static_cast< DirectoryEntry* >(pBackUpContentList->GetAt(count));
+                       tempDestPath.Append(pDirStr->GetFileName());
+                       if (!pDirStr->IsDirectory())
+                       {
+                               tempDestPath.Append(L".");
+                               tempDestPath.Append(pDirStr->GetFileExtension());
+                       }
+
+                       File::GetAttributes(pDirStr->GetFullFilePath(), fileAttrib);
+                       if (__threadRunningState == THREAD_RUNNING_STATE_ALIVE)
+                       {
+                               r = MoveFile(pDirStr->GetFullFilePath(), tempDestPath);
+                       }
+                       else
+                       {
+                               pBackUpContentList->RemoveAll(true);
+                               delete pBackUpContentList;
+                               pBackUpContentList = null;
+                               return E_SUCCESS;
+                       }
+
+               }
+
+               r = DeleteFile(sourcePath);
+               TryCatch(r == E_SUCCESS, , "Directory Deletion Failed");
+
+               pBackUpContentList->RemoveAll(true);
+               delete pBackUpContentList;
+               pBackUpContentList = null;
+
+       }
+       else
+       {
+               if (__threadRunningState == THREAD_RUNNING_STATE_ALIVE)
+               {
+                       //r = File::Copy(sourcePath, destPath, true);
+                       r = Copy(sourcePath, destPath);
+                       TryCatch(r == E_SUCCESS, , " file already exist");
+                       if (__threadRunningState == THREAD_RUNNING_STATE_ALIVE)
+                       {
+                               r = UpdateContentDB(destPath);
+                               r = DeleteFileContentDB(sourcePath);
+                               TryCatch(r == E_SUCCESS || r == E_THREAD_CANCEL,,"MOve file Failed");
+                       }
+                       else
+                       {
+                               return E_SUCCESS;
+                       }
+               }
+               else
+               {
+                       return E_SUCCESS;
+               }
+       }
+
+
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return E_SUCCESS;
+
+CATCH:
+       if (pBackUpContentList != null)
+       {
+               pBackUpContentList->RemoveAll(true);
+               delete pBackUpContentList;
+               pBackUpContentList = null;
+       }
+
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return r;
+}
+
+bool
+FileManageWorkerThread::CheckFileDuplicity(void)
+{
+       //return File::IsFileExist(filePath);
+       bool res = false;
+       DirectoryEntry* pDir = null;
+       IMapEnumerator* pMapEnum = __pListOfFiles->GetMapEnumeratorN();
+       while (pMapEnum->MoveNext() == E_SUCCESS)
+       {
+               pDir = static_cast< DirectoryEntry* >(pMapEnum->GetValue());
+
+               String filePath;
+               filePath.Append(__currentRootPath);
+               if (pDir->IsDirectory())
+               {
+                       filePath.Append(pDir->GetFileName());
+               }
+               else
+               {
+                       filePath.Append(pDir->GetFileName());
+                       filePath.Append(L".");
+                       filePath.Append(pDir->GetFileExtension());
+               }
+               res = File::IsFileExist(filePath);
+               if (res == true)
+               {
+                       delete pMapEnum;
+                       return res;
+               }
+       }
+       delete pMapEnum;
+       return res;
+}
+
+result
+FileManageWorkerThread::DeleteFolderEntry(void)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       DirectoryEntry* pDir = null;
+       ArrayList* pArg = null;
+       Integer* pFileManagedCounter = null;
+       Integer* pTotalFileCount = null;
+       Integer* pFileManagingResult = null;
+       Integer* pFolderEntryDeleteIndex = null;
+       IMapEnumerator* pMapEnum = __pListOfFiles->GetMapEnumeratorN();
+
+       ArrayList* pDeletedFolderEntry = null;
+       pDeletedFolderEntry = new (std::nothrow) ArrayList();
+       pDeletedFolderEntry->Construct();
+       int count = 0;
+
+       if (pMapEnum != null)
+       {
+               while (pMapEnum->MoveNext() == E_SUCCESS)
+               {
+                       pDir = static_cast< DirectoryEntry* >(pMapEnum->GetValue());
+                       TryCatch(pDir != null, , "directory retrieval falied");
+
+                       r = DeleteFileContentDB(pDir->GetFullFilePath());
+                       TryCatch(r == E_SUCCESS || r == E_THREAD_CANCEL, , " delete file failed");
+
+                       if(r == E_THREAD_CANCEL)
+                       {
+                               break;
+                       }
+
+                       pFolderEntryDeleteIndex = static_cast< Integer* >(pMapEnum->GetKey());
+                       pDeletedFolderEntry->Add((new Integer(pFolderEntryDeleteIndex->ToInt())));
+
+
+               count++;
+
+               __fileManagingingResult = FILE_MANAGING_RESULT_CURRENT_STATUS;
+
+               pArg = new (std::nothrow) ArrayList();
+               pArg->Construct();
+
+               pFileManagingResult = new (std::nothrow) Integer(__fileManagingingResult);
+               //pFolderEntryDeleteIndex = new (std::nothrow) Integer(0);
+               pFileManagedCounter = new (std::nothrow) Integer(count);
+               pTotalFileCount = new (std::nothrow) Integer(__pListOfFiles->GetCount());
+
+               pArg->Add(pFileManagingResult);
+               //pArg->Add(pFolderEntryDeleteIndex);
+               pArg->Add(pFileManagedCounter);
+               pArg->Add(pTotalFileCount);
+
+               Application::GetInstance()->SendUserEvent(ID_DELETE_COMPLETE, pArg);
+               //Application::GetInstance()->SendUserEvent(ID_DELETE_COMPLETE, pArg);
+               }
+
+               delete pMapEnum;
+       }
+
+       SortArrayList(pDeletedFolderEntry);
+
+       count = 0;
+       for (int i = pDeletedFolderEntry->GetCount() - 1; i >= 0; i--)
+       {
+               Integer* PIndex = (Integer*) pDeletedFolderEntry->GetAt(i);
+
+               __fileManagingingResult = FILE_MANAGING_REFRESH_LIST;
+
+               pArg = new (std::nothrow) ArrayList();
+               pArg->Construct();
+
+               pFileManagingResult = new (std::nothrow) Integer(__fileManagingingResult);
+               pFolderEntryDeleteIndex = new (std::nothrow) Integer(PIndex->ToInt());
+               //pFileManagedCounter = new (std::nothrow) Integer(count++);
+               //pTotalFileCount = new (std::nothrow) Integer(__pListOfFiles->GetCount());
+
+               pArg->Add(pFileManagingResult);
+               pArg->Add(pFolderEntryDeleteIndex);
+               //pArg->Add(pFileManagedCounter);
+               //pArg->Add(pTotalFileCount);
+
+               Application::GetInstance()->SendUserEvent(ID_DELETE_COMPLETE, pArg);
+       }
+
+       if (pDeletedFolderEntry != null)
+       {
+               pDeletedFolderEntry->RemoveAll(true);
+               delete pDeletedFolderEntry;
+               pDeletedFolderEntry = null;
+       }
+
+       __fileManagingingResult = FILE_MANAGING_RESULT_DELETING_SUCCESS;
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return r;
+
+CATCH:
+
+       SortArrayList(pDeletedFolderEntry);
+
+       for (int i = pDeletedFolderEntry->GetCount() - 1; i >= 0; i--)
+       {
+               Integer* PIndex = (Integer*) pDeletedFolderEntry->GetAt(i);
+
+               __fileManagingingResult = FILE_MANAGING_REFRESH_LIST;
+
+               pArg = new (std::nothrow) ArrayList();
+               pArg->Construct();
+
+               pFileManagingResult = new (std::nothrow) Integer(__fileManagingingResult);
+               pFolderEntryDeleteIndex = new (std::nothrow) Integer(PIndex->ToInt());
+               //pFileManagedCounter = new (std::nothrow) Integer(count++);
+               //pTotalFileCount = new (std::nothrow) Integer(__pListOfFiles->GetCount());
+
+               pArg->Add(pFileManagingResult);
+               pArg->Add(pFolderEntryDeleteIndex);
+               //pArg->Add(pFileManagedCounter);
+               //pArg->Add(pTotalFileCount);
+
+               Application::GetInstance()->SendUserEvent(ID_DELETE_COMPLETE, pArg);
+       }
+       if (pDeletedFolderEntry != null)
+       {
+               pDeletedFolderEntry->RemoveAll(true);
+               delete pDeletedFolderEntry;
+               pDeletedFolderEntry = null;
+       }
+
+       __fileManagingingResult = FILE_MANAGING_RESULT_DELETING_FAILED;
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return r;
+}
+
+bool
+FileManageWorkerThread::OnStart(void)
+{
+       return true;
+}
+
+void
+FileManageWorkerThread::OnStop(void)
+{
+       //empty implementation
+}
+
+Object*
+FileManageWorkerThread::Run(void)
+{
+       AppLogDebug("Entry");
+       ArrayList* pArg = null;
+       result r = E_SUCCESS;
+       Integer* pFileProcessingResult = null;
+       __threadRunningState = THREAD_RUNNING_STATE_ALIVE;
+
+       switch (__operationId)
+       {
+       case OPERATIONID_MANAGE_DELETING:
+       {
+               if (__pListOfFiles == null)
+               {
+                       //DeleteFile(__filePath);
+                       r = DeleteFileContentDB(__filePath);
+                       if(r == E_THREAD_CANCEL)
+                       {
+                               __fileManagingingResult = FILE_MANAGING_RESULT_THREAD_STOP;
+                       }
+               }
+               else
+               {
+                       DeleteFolderEntry();
+               }
+
+               pArg = new (std::nothrow) ArrayList();
+               pArg->Construct();
+               pFileProcessingResult = new (std::nothrow) Integer(__fileManagingingResult);
+               pArg->Add(pFileProcessingResult);
+               Application::GetInstance()->SendUserEvent(ID_FILE_RENAME_COMPLETE, pArg);
+       }
+       break;
+
+       case OPERATIONID_MANAGE_COPYING:
+       {
+               if (__pListOfFiles != null)
+               {
+                       CopyFolderEntry(__fileExistingOperationId);
+               }
+               else
+               {
+                       __fileManagingingResult = FILE_MANAGING_RESULT_COPYING_FAILED;
+               }
+
+               pArg = new (std::nothrow) ArrayList;
+               pArg->Construct();
+               pFileProcessingResult = new (std::nothrow) Integer(__fileManagingingResult);
+               pArg->Add(pFileProcessingResult);
+               pArg->Add(&__duplicateFileName);
+               Application::GetInstance()->SendUserEvent(ID_COPY_COMPLETE, pArg);
+
+       }
+       break;
+
+       case OPERATIONID_MANAGE_MOVING:
+       {
+               if (__pListOfFiles != null)
+               {
+                       MoveFolderEntry(__fileExistingOperationId);
+               }
+               else
+               {
+                       __fileManagingingResult = FILE_MANAGING_RESULT_MOVING_FAILED;
+               }
+
+               pArg = new (std::nothrow) ArrayList();
+               pArg->Construct();
+               pFileProcessingResult = new (std::nothrow) Integer(__fileManagingingResult);
+               pArg->Add(pFileProcessingResult);
+               pArg->Add(&__duplicateFileName);
+               Application::GetInstance()->SendUserEvent(ID_MOVING_COMPLETE, pArg);
+       }
+       break;
+
+       case OPERATIONID_MANAGE_CREATE_FOLDER:
+       {
+               //empty implementation
+       }
+       break;
+
+       case OPERATIONID_MANAGE_RENAME:
+       {
+               RenameFolderEntry();
+               pArg = new (std::nothrow) ArrayList();
+               pArg->Construct();
+               pFileProcessingResult = new (std::nothrow) Integer(__fileManagingingResult);
+               pArg->Add(pFileProcessingResult);
+               //pArg->Add(&__duplicateFileName);
+               Application::GetInstance()->SendUserEvent(ID_MOVING_COMPLETE, pArg);
+       }
+       break;
+       default:
+       {
+               //empty implementation
+       }
+       break;
+       }
+
+       AppLogDebug("Exit");
+       return null;
+}
+
+void
+FileManageWorkerThread::SetNameConflictOperationId(FileManaging& fileManagingStruct)
+{
+       AppLogDebug("Entry");
+       __pListOfFiles = fileManagingStruct.GetListOfFiles();
+       __operationId = fileManagingStruct.GetOperationId();
+       __currentRootPath = fileManagingStruct.GetCurrentRootPath();
+       __filePath = fileManagingStruct.GetFilePath();
+       __renameFilePath = fileManagingStruct.GetNewFilePath();
+       __fileExistingOperationId = fileManagingStruct.GetFileExistingOperationId();
+       AppLogDebug("Exit");
+}
+
+void
+FileManageWorkerThread::CopyFolderEntry(FileExistingOperationId fileExistingOperationId)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       DirectoryEntry* pDirStr = null;
+       String destPath;
+       ArrayList* pArg = null;
+       Integer* pFileManagedCounter = null;
+       Integer* pTotalFileCount = null;
+       Integer* pFileManagingResult = null;
+       String* pRenameFilePath = null;
+       ArrayList* renameFileList = null;
+       IMapEnumerator* pMapEnum = __pListOfFiles->GetMapEnumeratorN();
+
+       __fileManagedCounter = 0;
+
+       if (__pListOfFiles->GetCount() > 0)
+       {
+               switch (fileExistingOperationId)
+               {
+               case FILE_EXISTING_OPERATIONID_NONE:
+               {
+                       if (!CheckForLegalDestination())
+                       {
+                               __fileManagingingResult = FILE_MANAGING_RESULT_SOURCE_SAME_AS_DESTINATION;
+                               delete pMapEnum;
+                               return;
+                       }
+                       if (CheckFileDuplicity() == true)
+                       {
+                               __fileManagingingResult = FILE_MANAGING_RESULT_DUPLICITY;
+                               delete pMapEnum;
+                               return;
+                       }
+
+               }
+               break;
+
+               case FILE_EXISTING_OPERATIONID_RENAME:
+               {
+                       AppLogDebug("FILE_EXISTING_OPERATIONID_RENAME");
+                       renameFileList = GetListOfRenameFilesN();
+                       TryCatch(renameFileList != null, , "Failed to allocate memory to rename file list");
+                       int counter = 0;
+                       while (pMapEnum->MoveNext() == E_SUCCESS)
+                       {
+                               pDirStr = static_cast< DirectoryEntry* >(pMapEnum->GetValue());
+                               if (pDirStr != null)
+                               {
+                                       if (__threadRunningState == THREAD_RUNNING_STATE_ALIVE)
+                                       {
+                                               __fileManagedCounter++;
+                                               __fileManagingingResult = FILE_MANAGING_RESULT_CURRENT_STATUS;
+
+                                               pArg = new (std::nothrow) ArrayList();
+                                               pArg->Construct();
+                                               pFileManagingResult = new (std::nothrow) Integer(__fileManagingingResult);
+                                               pFileManagedCounter = new (std::nothrow) Integer(__fileManagedCounter);
+                                               pTotalFileCount = new (std::nothrow) Integer(__pListOfFiles->GetCount());
+                                               pArg->Add(pFileManagingResult);
+                                               pArg->Add(pFileManagedCounter);
+                                               pArg->Add(pTotalFileCount);
+                                               Application::GetInstance()->SendUserEvent(ID_COPY_COMPLETE, pArg);
+
+                                               pRenameFilePath = static_cast< String* >(renameFileList->GetAt(counter));
+                                               r = CopyFile(pDirStr->GetFullFilePath(), *pRenameFilePath);
+                                               TryCatch(r == E_SUCCESS, , "Failed to Copy File");
+                                               //r = UpdateContentDB(*pRenameFilePath);
+                                               //TryCatch(r == E_SUCCESS, , "Content db update failed");
+                                       }
+                                       else
+                                       {
+                                               __fileManagingingResult = FILE_MANAGING_RESULT_COPYING_SUCCESS;
+                                               __fileManagedCounter = 0;
+                                               delete pMapEnum;
+                                               return;
+                                       }
+                               }
+                               counter++;
+                       }
+                       if (renameFileList != null)
+                       {
+                               renameFileList->RemoveAll(true);
+                               delete renameFileList;
+                               renameFileList = null;
+                       }
+               }
+               break;
+
+               case FILE_EXISTING_OPERATIONID_REPLACE:
+               {
+                       while (pMapEnum->MoveNext() == E_SUCCESS)
+                       {
+                               pDirStr = static_cast< DirectoryEntry* >(pMapEnum->GetValue());
+                               if (pDirStr != null)
+                               {
+                                       destPath.Clear();
+                                       destPath.Append(__currentRootPath);
+                                       destPath.Append(pDirStr->GetFileName());
+                                       if (!pDirStr->IsDirectory())
+                                       {
+                                               destPath.Append(L".");
+                                               destPath.Append(pDirStr->GetFileExtension());
+                                       }
+
+                                       __fileManagedCounter++;
+                                       __fileManagingingResult = FILE_MANAGING_RESULT_CURRENT_STATUS;
+
+                                       pArg = new (std::nothrow) ArrayList();
+                                       pArg->Construct();
+                                       pFileManagingResult = new (std::nothrow) Integer(__fileManagingingResult);
+                                       pFileManagedCounter = new (std::nothrow) Integer(__fileManagedCounter);
+                                       pTotalFileCount = new (std::nothrow) Integer(__pListOfFiles->GetCount());
+                                       pArg->Add(pFileManagingResult);
+                                       pArg->Add(pFileManagedCounter);
+                                       pArg->Add(pTotalFileCount);
+                                       Application::GetInstance()->SendUserEvent(ID_COPY_COMPLETE, pArg);
+
+                                       AppLogDebug("full file path is %ls", pDirStr->GetFullFilePath().GetPointer());
+                                       AppLogDebug("dest path is %ls", destPath.GetPointer());
+
+                                       String tempDestStr;
+                                       tempDestStr.Append(destPath);
+                                       //tempDestStr.Append(L"/");
+                                       if(pDirStr->IsDirectory())
+                                       {
+                                               tempDestStr.Append(L"/");
+                                       }
+                                       AppLogDebug("temp dest str is %ls",tempDestStr.GetPointer());
+
+                                       if(pDirStr->GetFullFilePath() == tempDestStr)
+                                       {
+                                               //AppLogDebug("hello");
+
+                                               //break;
+                                               continue;
+                                       }
+                                       if (pDirStr->GetFullFilePath().StartsWith(tempDestStr, 0))
+                                       {
+                                               AppLogDebug("case exist");
+                                               String modifiedDestPath;
+                                               modifiedDestPath.Append(destPath);
+                                               DateTime t;
+                                               Tizen::System::SystemTime::GetCurrentTime(t);
+                                               modifiedDestPath.Append(t.GetDay());
+                                               modifiedDestPath.Append(t.GetMonth());
+                                               modifiedDestPath.Append(t.GetYear());
+                                               modifiedDestPath.Append(t.GetHour());
+                                               modifiedDestPath.Append(t.GetMinute());
+                                               modifiedDestPath.Append(t.GetSecond());
+
+                                               String modifiedSourcePath;
+                                               modifiedSourcePath.Append(modifiedDestPath);
+                                               modifiedSourcePath.Append(L"/");
+                                               String tempStr;
+                                               pDirStr->GetFullFilePath().SubString(destPath.GetLength() + 1, pDirStr->GetFullFilePath().GetLength() - destPath.GetLength() - 1, tempStr);
+                                               modifiedSourcePath.Append(tempStr);
+
+                                               AppLogDebug("modified source path is %ls", modifiedSourcePath.GetPointer());
+
+                                               r = Directory::Rename(destPath, modifiedDestPath);
+                                               TryCatch(r == E_SUCCESS, , "Rename Failed");
+                                               AppLogDebug("r %s", GetErrorMessage(r));
+                                               r = CopyFile(modifiedSourcePath, destPath);
+                                               TryCatch(r == E_SUCCESS, , "Failed To Copy File");
+                                               //r = UpdateContentDB(destPath);
+                                               //TryCatch(r == E_SUCCESS, , "update db content failed");
+                                               r = DeleteFile(modifiedDestPath);
+                                               TryCatch(r == E_SUCCESS || r == E_FILE_NOT_FOUND, , "Delete Failed");
+                                       }
+                                       else
+                                       {
+                                               if (!pDirStr->GetFullFilePath().StartsWith(destPath, 0))
+                                               {
+                                                       /*r = DeleteFile(destPath);
+                                                       TryCatch(r == E_SUCCESS || r == E_FILE_NOT_FOUND,,"Delete Failed");
+                                                       r = CopyFile(pDirStr->GetFullFilePath(), destPath);
+                                                       TryCatch(r == E_SUCCESS,,"Failed To Copy File");*/
+
+                                                       r = DeleteFileContentDB(destPath);
+                                                       TryCatch(r == E_SUCCESS || r == E_FILE_NOT_FOUND, , "Delete Failed");
+                                                       r = CopyFile(pDirStr->GetFullFilePath(), destPath);
+                                                       TryCatch(r == E_SUCCESS, , "copy failed");
+                                                       //r = UpdateContentDB(destPath);
+                                                       //TryCatch(r == E_SUCCESS, , "update db content failed");
+                                               }
+                                       }
+
+                               }
+                       }
+               }
+               break;
+
+               case FILE_EXISTING_OPERATIONID_CANCEL:
+               {
+                       //goto STOPTHREAD;
+               }
+               break;
+
+               default:
+               {
+                       // Deafult Case
+               }
+               break;
+               }
+
+               while (pMapEnum->MoveNext() == E_SUCCESS)
+               {
+                       pDirStr = static_cast< DirectoryEntry* >(pMapEnum->GetValue());
+                       destPath.Clear();
+                       destPath.Append(__currentRootPath);
+                       destPath.Append(pDirStr->GetFileName());
+                       if (pDirStr->IsDirectory() == false)
+                       {
+                               destPath.Append(L".");
+                               destPath.Append(pDirStr->GetFileExtension());
+                       }
+                       if (__threadRunningState == THREAD_RUNNING_STATE_ALIVE)
+                       {
+                               __fileManagedCounter++;
+
+                               __fileManagingingResult = FILE_MANAGING_RESULT_CURRENT_STATUS;
+                               pArg = new (std::nothrow) ArrayList();
+                               pArg->Construct();
+                               pFileManagingResult = new (std::nothrow) Integer(__fileManagingingResult);
+                               pFileManagedCounter = new (std::nothrow) Integer(__fileManagedCounter);
+                               pTotalFileCount = new (std::nothrow) Integer(__pListOfFiles->GetCount());
+                               pArg->Add(pFileManagingResult);
+                               pArg->Add(pFileManagedCounter);
+                               pArg->Add(pTotalFileCount);
+                               Application::GetInstance()->SendUserEvent(ID_COPY_COMPLETE, pArg);
+
+
+                               r = CopyFile(pDirStr->GetFullFilePath(), destPath);
+                               TryCatch(r == E_SUCCESS, , "Copy File Failed");
+                               //r = UpdateContentDB(destPath);
+                               //TryCatch(r == E_SUCCESS, , "update db Copy File Failed");
+
+                               //r = Copy(pDirStr->GetFullFilePath(), destPath);
+
+                       }
+                       else
+                       {
+                               __fileManagingingResult = FILE_MANAGING_RESULT_COPYING_SUCCESS;
+                               __fileManagedCounter = 0;
+                               delete pMapEnum;
+                               return;
+                       }
+
+               }
+
+               __fileManagingingResult = FILE_MANAGING_RESULT_COPYING_SUCCESS;
+               __fileManagedCounter = 0;
+               AppLogDebug("Exit %s", GetErrorMessage(r));
+               delete pMapEnum;
+               return;
+
+CATCH:
+
+        //AppLogDebug("")
+               if (r == E_STORAGE_FULL)
+               {
+                       __fileManagingingResult = FILE_MANAGING_RESULT_STORAGE_FULL;
+               }
+               else
+               {
+                       __fileManagingingResult = FILE_MANAGING_RESULT_COPYING_FAILED;
+               }
+               //r = DeleteFile(destPath);
+               if (renameFileList != null)
+               {
+                       renameFileList->RemoveAll(true);
+                       delete renameFileList;
+                       renameFileList = null;
+               }
+
+               /*pArg = new (std::nothrow) ArrayList();
+               pArg->Construct();
+               pFileManagingResult = new (std::nothrow) Integer(__fileManagingingResult);
+               pArg->Add(pFileManagingResult);
+               Application::GetInstance()->SendUserEvent(ID_FILE_MANAGING_FAILED, pArg);*/
+               AppLogDebug("Exit %s", GetErrorMessage(r));
+               delete pMapEnum;
+               return;
+       }
+}
+void
+FileManageWorkerThread::MoveFolderEntry(FileExistingOperationId fileExistingOperationId)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       DirectoryEntry* pDirStr = null;
+       String destPath;
+       ArrayList* pArg = null;
+       Integer* pFileManagedCounter = null;
+       Integer* pTotalFileCount = null;
+       Integer* pFileManagingResult = null;
+       String* pRenameFilePath;
+       ArrayList* renameFileList = null;
+       IMapEnumerator* pMapEnum = __pListOfFiles->GetMapEnumeratorN();
+
+    __fileManagedCounter = 0;
+
+       if (__pListOfFiles->GetCount() > 0)
+       {
+               switch (fileExistingOperationId)
+               {
+               case FILE_EXISTING_OPERATIONID_NONE:
+               {
+                       if (IsSourceSameAsDestination())
+                       {
+                               __fileManagingingResult = FILE_MANAGING_RESULT_SOURCE_SAME_AS_DESTINATION;
+                               delete pMapEnum;
+                               return;
+                       }
+                       if (CheckFileDuplicity() == true)
+                       {
+                               __fileManagingingResult = FILE_MANAGING_RESULT_DUPLICITY;
+                               delete pMapEnum;
+                               return;
+                       }
+
+               }
+               break;
+
+               case FILE_EXISTING_OPERATIONID_RENAME:
+               {
+                       renameFileList = GetListOfRenameFilesN();
+                       TryCatch(renameFileList != null, , "Failed to allocate memory to rename file list");
+                       int counter = 0;
+                       while (pMapEnum->MoveNext() == E_SUCCESS)
+                       {
+                               pDirStr = static_cast< DirectoryEntry* >(pMapEnum->GetValue());
+                               if (pDirStr != null)
+                               {
+                                       if (__threadRunningState == THREAD_RUNNING_STATE_ALIVE)
+                                       {
+                                               __fileManagedCounter++;
+                                               __fileManagingingResult = FILE_MANAGING_RESULT_CURRENT_STATUS;
+
+                                               pArg = new (std::nothrow) ArrayList();
+                                               pArg->Construct();
+                                               pFileManagingResult = new (std::nothrow) Integer(__fileManagingingResult);
+                                               pFileManagedCounter = new (std::nothrow) Integer(__fileManagedCounter);
+                                               pTotalFileCount = new (std::nothrow) Integer(__pListOfFiles->GetCount());
+                                               pArg->Add(pFileManagingResult);
+                                               pArg->Add(pFileManagedCounter);
+                                               pArg->Add(pTotalFileCount);
+                                               Application::GetInstance()->SendUserEvent(ID_MOVING_COMPLETE, pArg);
+
+                                               pRenameFilePath = static_cast< String* >(renameFileList->GetAt(counter));
+
+                                               r = MoveFile(pDirStr->GetFullFilePath(), *pRenameFilePath);
+                                               TryCatch(r == E_SUCCESS || r == E_THREAD_CANCEL,,"Move File Failed");
+
+                                               if(r == E_THREAD_CANCEL)
+                                               {
+                                                       __fileManagingingResult = FILE_MANAGING_RESULT_MOVING_SUCCESS;
+                                                       __fileManagedCounter = 0;
+                                                       delete pMapEnum;
+                                                       return;
+                                               }
+                                               /*r = CopyFile(pDirStr->GetFullFilePath(), *pRenameFilePath);
+                                               r = UpdateContentDB(*pRenameFilePath);
+                                               //TryCatch(r == E_SUCCESS, , "move File Failed");
+                                               r = DeleteFileContentDB(pDirStr->GetFullFilePath());
+                                               TryCatch(r == E_SUCCESS, , "Delete source failed");*/
+                                       }
+                                       else
+                                       {
+                                               __fileManagingingResult = FILE_MANAGING_RESULT_MOVING_SUCCESS;
+                                               __fileManagedCounter = 0;
+                                               delete pMapEnum;
+                                               return;
+                                       }
+                               }
+                               counter++;
+                       }
+                       if (renameFileList != null)
+                       {
+                               renameFileList->RemoveAll(true);
+                               delete renameFileList;
+                               renameFileList = null;
+                       }
+               }
+               break;
+
+               case FILE_EXISTING_OPERATIONID_REPLACE:
+               {
+                       while (pMapEnum->MoveNext() == E_SUCCESS)
+                       {
+                               pDirStr = static_cast< DirectoryEntry* >(pMapEnum->GetValue());
+                               if (pDirStr != null)
+                               {
+                                       destPath.Clear();
+                                       destPath.Append(__currentRootPath);
+                                       destPath.Append(pDirStr->GetFileName());
+                                       if (!pDirStr->IsDirectory())
+                                       {
+                                               destPath.Append(L".");
+                                               destPath.Append(pDirStr->GetFileExtension());
+                                       }
+
+                                       __fileManagedCounter++;
+                                       __fileManagingingResult = FILE_MANAGING_RESULT_CURRENT_STATUS;
+
+                                       pArg = new (std::nothrow) ArrayList();
+                                       pArg->Construct();
+                                       pFileManagingResult = new (std::nothrow) Integer(__fileManagingingResult);
+                                       pFileManagedCounter = new (std::nothrow) Integer(__fileManagedCounter);
+                                       pTotalFileCount = new (std::nothrow) Integer(__pListOfFiles->GetCount());
+                                       pArg->Add(pFileManagingResult);
+                                       pArg->Add(pFileManagedCounter);
+                                       pArg->Add(pTotalFileCount);
+                                       Application::GetInstance()->SendUserEvent(ID_MOVING_COMPLETE, pArg);
+
+                                       String tempDestStr;
+                                       tempDestStr.Append(destPath);
+                                       tempDestStr.Append(L"/");
+                                       if (pDirStr->GetFullFilePath().StartsWith(tempDestStr, 0))
+                                       {
+                                               AppLogDebug("case exist");
+                                               String modifiedDestPath;
+                                               modifiedDestPath.Append(destPath);
+                                               DateTime t;
+                                               Tizen::System::SystemTime::GetCurrentTime(t);
+                                               modifiedDestPath.Append(t.GetDay());
+                                               modifiedDestPath.Append(t.GetMonth());
+                                               modifiedDestPath.Append(t.GetYear());
+                                               modifiedDestPath.Append(t.GetHour());
+                                               modifiedDestPath.Append(t.GetMinute());
+                                               modifiedDestPath.Append(t.GetSecond());
+
+                                               String modifiedSourcePath;
+                                               modifiedSourcePath.Append(modifiedDestPath);
+                                               modifiedSourcePath.Append(L"/");
+                                               String tempStr;
+                                               pDirStr->GetFullFilePath().SubString(destPath.GetLength() + 1, pDirStr->GetFullFilePath().GetLength() - destPath.GetLength() - 1, tempStr);
+                                               modifiedSourcePath.Append(tempStr);
+
+                                               AppLogDebug("modified source path is %ls", modifiedSourcePath.GetPointer());
+
+                                               r = Directory::Rename(destPath, modifiedDestPath);
+                                               TryCatch(r == E_SUCCESS, , "Rename Failed");
+                                               AppLogDebug("r %s", GetErrorMessage(r));
+                                               r = MoveFile(modifiedSourcePath, destPath);
+                                               TryCatch(r == E_SUCCESS, , "Move File Failed");
+                                               r = DeleteFile(modifiedDestPath);
+                                               TryCatch(r == E_SUCCESS || r == E_FILE_NOT_FOUND, , "Delete Failed");
+                                       }
+                                       else
+                                       {
+
+                                               /*r = DeleteFile(destPath);
+                                               TryCatch(r == E_SUCCESS || r == E_FILE_NOT_FOUND,,"Delete Failed");
+                                               r = MoveFile(pDirStr->GetFullFilePath(), destPath);
+                                               TryCatch(r == E_SUCCESS,,"Move File Failed");*/
+
+                                               r = DeleteFileContentDB(destPath);
+                                               TryCatch(r == E_SUCCESS || r == E_FILE_NOT_FOUND, , "Delete same file failed");
+                                               r = CopyFile(pDirStr->GetFullFilePath(), destPath);
+                                               r = UpdateContentDB(destPath);
+                                               //TryCatch(r == E_SUCCESS, , "move File Failed");
+                                               r = DeleteFileContentDB(pDirStr->GetFullFilePath());
+                                               TryCatch(r == E_SUCCESS, , "Delete source failed");
+                                       }
+
+                               }
+                       }
+               }
+               break;
+
+               case FILE_EXISTING_OPERATIONID_CANCEL:
+               {
+                       //goto STOPTHREAD;
+               }
+               break;
+
+               default:
+               {
+                       // Deafult Case
+               }
+               break;
+               }
+
+               while (pMapEnum->MoveNext() == E_SUCCESS)
+               {
+                       pDirStr = static_cast< DirectoryEntry* >(pMapEnum->GetValue());
+                       destPath.Clear();
+                       destPath.Append(__currentRootPath);
+                       destPath.Append(pDirStr->GetFileName());
+                       if (pDirStr->IsDirectory() == false)
+                       {
+                               destPath.Append(L".");
+                               destPath.Append(pDirStr->GetFileExtension());
+                       }
+                       if (__threadRunningState == THREAD_RUNNING_STATE_ALIVE)
+                       {
+
+                               __fileManagedCounter++;
+
+                               __fileManagingingResult = FILE_MANAGING_RESULT_CURRENT_STATUS;
+                               pArg = new (std::nothrow) ArrayList();
+                               pArg->Construct();
+                               pFileManagingResult = new (std::nothrow) Integer(__fileManagingingResult);
+                               pFileManagedCounter = new (std::nothrow) Integer(__fileManagedCounter);
+                               pTotalFileCount = new (std::nothrow) Integer(__pListOfFiles->GetCount());
+                               pArg->Add(pFileManagingResult);
+                               pArg->Add(pFileManagedCounter);
+                               pArg->Add(pTotalFileCount);
+                               Application::GetInstance()->SendUserEvent(ID_MOVING_COMPLETE, pArg);
+
+                               r = MoveFile(pDirStr->GetFullFilePath(), destPath);
+                               TryCatch(r == E_SUCCESS || r == E_THREAD_CANCEL, , "move File Failed");
+
+                               if(r == E_THREAD_CANCEL)
+                               {
+                                       __fileManagingingResult = FILE_MANAGING_RESULT_MOVING_SUCCESS;
+                                       __fileManagedCounter = 0;
+                                       delete pMapEnum;
+                                       return;
+                               }
+                               /*r = CopyFile(pDirStr->GetFullFilePath(), destPath);
+                               TryCatch(r == E_SUCCESS, , "Copy file failed");
+                               r = UpdateContentDB(destPath);
+                               //TryCatch(r == E_SUCCESS, , "move File Failed");
+                               r = DeleteFileContentDB(pDirStr->GetFullFilePath());
+                               TryCatch(r == E_SUCCESS, , "Delete source failed");*/
+
+                       }
+                       else
+                       {
+                               __fileManagingingResult = FILE_MANAGING_RESULT_MOVING_SUCCESS;
+                               __fileManagedCounter = 0;
+                               delete pMapEnum;
+                               return;
+                       }
+
+               }
+
+               __fileManagingingResult = FILE_MANAGING_RESULT_MOVING_SUCCESS;
+               __fileManagedCounter = 0;
+               AppLogDebug("Exit %s", GetErrorMessage(r));
+               delete pMapEnum;
+               return;
+
+CATCH:
+               if (r == E_STORAGE_FULL)
+               {
+                       __fileManagingingResult = FILE_MANAGING_RESULT_STORAGE_FULL;
+               }
+               else
+               {
+                       __fileManagingingResult = FILE_MANAGING_RESULT_MOVING_FAILED;
+               }
+
+               if (renameFileList != null)
+               {
+                       renameFileList->RemoveAll(true);
+                       delete renameFileList;
+                       renameFileList = null;
+               }
+
+               //__fileManagingingResult = FILE_MANAGING_RESULT_MOVING_FAILED;
+               pArg = new (std::nothrow) ArrayList();
+               pArg->Construct();
+               pFileManagingResult = new (std::nothrow) Integer(__fileManagingingResult);
+               pArg->Add(pFileManagingResult);
+               Application::GetInstance()->SendUserEvent(ID_FILE_MANAGING_FAILED, pArg);
+               AppLogDebug("Exit %s", GetErrorMessage(r));
+               delete pMapEnum;
+               return;
+       }
+}
+
+bool
+FileManageWorkerThread::IsSourceSameAsDestination(void)
+{
+       AppLogDebug("Entry");
+       IMapEnumerator* pMapEnum = __pListOfFiles->GetMapEnumeratorN();
+       bool r = false;
+       DirectoryEntry* pDirStr = null;
+       String destPath;
+       if (__pListOfFiles->GetCount() > 0)
+       {
+               while (pMapEnum->MoveNext() == E_SUCCESS)
+               {
+                       pDirStr = static_cast< DirectoryEntry* >(pMapEnum->GetValue());
+                       if (pDirStr != null)
+                       {
+                               destPath.Clear();
+                               if (pDirStr->IsDirectory())
+                               {
+                                       destPath.Append(__currentRootPath);
+                                       destPath.Append(pDirStr->GetFileName());
+                                       destPath.Append(L"/");
+
+                                       /*if (__currentRootPath.StartsWith(pDirStr->GetFullFilePath(), 0))
+                                       {
+                                           AppLogDebug("hello");
+                                           __fileManagingingResult = FILE_MANAGING_RESULT_SOURCE_SAME_AS_DESTINATION;
+                                           r = true;
+                                           break;
+                                       }
+                                       else
+                                       {
+                                           r = false;
+                                       }
+                                        */
+                               }
+                               else
+                               {
+                                       destPath.Append(__currentRootPath);
+                                       destPath.Append(pDirStr->GetFileName());
+                                       destPath.Append(L".");
+                                       destPath.Append(pDirStr->GetFileExtension());
+                               }
+
+                               if (destPath == pDirStr->GetFullFilePath() || __currentRootPath.StartsWith(pDirStr->GetFullFilePath(), 0))
+                               {
+                                       AppLogDebug("hello");
+                                       __fileManagingingResult = FILE_MANAGING_RESULT_SOURCE_SAME_AS_DESTINATION;
+                                       r = true;
+                                       break;
+                               }
+                               else
+                               {
+                                       r = false;
+                               }
+
+                       }
+               }
+
+
+       }
+       AppLogDebug("Exit");
+       delete pMapEnum;
+       return r;
+}
+
+String
+FileManageWorkerThread::GenerateNewName(DirectoryEntry* pSourceDirStr)
+{
+       AppLogDebug("Entry");
+       IMapEnumerator* pMapEnum = null;
+       pMapEnum = __pListOfFiles->GetMapEnumeratorN();
+       String rename;
+       int count = 1;
+       DirectoryEntry* pDirStr = null;
+       String filePath;
+
+       rename.Append(pSourceDirStr->GetFileName());
+       rename.Append(L"_");
+       rename.Append(count);
+
+       while (pMapEnum->MoveNext() == E_SUCCESS)
+       {
+               pDirStr = static_cast< DirectoryEntry* >(pMapEnum->GetValue());
+               filePath.Clear();
+               filePath.Append(__currentRootPath);
+               filePath.Append(rename);
+               if (pDirStr != null)
+               {
+                       if (pDirStr->IsDirectory() == false)
+                       {
+                               filePath.Append(L".");
+                               filePath.Append(pDirStr->GetFileExtension());
+                       }
+
+                       if (rename == pDirStr->GetFileName() || CheckFileDuplicity())
+                       {
+                               count++;
+                               rename.Clear();
+                               rename.Append(pSourceDirStr->GetFileName());
+                               rename.Append(L"_");
+                               rename.Append(count);
+                               pMapEnum->Reset();
+                       }
+
+               }
+
+       }
+
+       delete pMapEnum;
+       pMapEnum = null;
+       AppLogDebug("Exit");
+       return rename;
+}
+
+void
+FileManageWorkerThread::StopThread(void)
+{
+       __threadRunningState = THREAD_RUNNING_STATE_STOP;
+}
+
+ArrayList*
+FileManageWorkerThread::GetListOfRenameFilesN(void)
+{
+
+       AppLogDebug("Enter");
+       ArrayList* pRenameFileList;
+       pRenameFileList = null;
+       IMapEnumerator* pMapEnum = null;
+       String* pRenameFile;
+       pRenameFile = null;
+       pRenameFileList = new (std::nothrow) ArrayList();
+       TryCatch(pRenameFileList != null, , "failed to allocate memory to renameFileList");
+
+       pMapEnum = __pListOfFiles->GetMapEnumeratorN();
+       while (pMapEnum->MoveNext() == E_SUCCESS)
+       {
+
+               DirectoryEntry* pDirStr = null;
+               pDirStr = static_cast< DirectoryEntry* >(pMapEnum->GetValue());
+               if (pDirStr != null)
+               {
+                       String renameFileName(L"");
+                       FileAttributes fileAttrib;
+                       File::GetAttributes(pDirStr->GetFullFilePath(), fileAttrib);
+                       String fileName = pDirStr->GetFileName();
+                       if (!pDirStr->IsDirectory())
+                       {
+                               fileName.Append(L".");
+                               fileName.Append(pDirStr->GetFileExtension());
+                       }
+
+                       renameFileName.Append(__currentRootPath);
+                       renameFileName.Append(fileName);
+                       int count = 1;
+                       while (File::IsFileExist(renameFileName) == true || IsFileNameExist(renameFileName, pRenameFileList) == true)
+                       {
+                               renameFileName.Clear();
+                               if (fileAttrib.IsDirectory())
+                               {
+                                       renameFileName.Append(__currentRootPath);
+                                       renameFileName.Append(pDirStr->GetFileName());
+                                       renameFileName.Append(L"_");
+                                       renameFileName.Append(count);
+                               }
+                               else
+                               {
+
+                                       renameFileName.Append(__currentRootPath);
+                                       renameFileName.Append(pDirStr->GetFileName());
+                                       renameFileName.Append(L"_");
+                                       renameFileName.Append(count);
+                                       renameFileName.Append(L".");
+                                       renameFileName.Append(pDirStr->GetFileExtension());
+                               }
+                               count++;
+                       }
+
+                       pRenameFile = new (std::nothrow) String();
+                       TryCatch(pRenameFile != null, , "failed to allocate memoy to renamefile");
+
+                       pRenameFile->Append(renameFileName);
+                       pRenameFileList->Add(pRenameFile);
+
+
+               }
+
+       }
+       for (int i = 0; i < pRenameFileList->GetCount(); i++)
+       {
+               String* pName = (String*) pRenameFileList->GetAt(i);
+               AppLogDebug("rename is %ls", pName->GetPointer());
+       }
+       delete pMapEnum;
+       return pRenameFileList;
+
+CATCH:
+       if (pRenameFileList != null)
+       {
+               pRenameFileList->RemoveAll(true);
+               delete pRenameFileList;
+               pRenameFileList = null;
+       }
+       return null;
+
+}
+
+bool
+FileManageWorkerThread::CheckForLegalDestination(void)
+{
+       AppLogDebug("Entry");
+       IMapEnumerator* pMapEnum = __pListOfFiles->GetMapEnumeratorN();
+       bool r = true;
+       DirectoryEntry* pDirStr = null;
+
+       while (pMapEnum->MoveNext() == E_SUCCESS)
+       {
+               pDirStr = static_cast< DirectoryEntry* >(pMapEnum->GetValue());
+               if (pDirStr != null)
+               {
+                       if (pDirStr->IsDirectory())
+                       {
+
+                               if (__currentRootPath.StartsWith(pDirStr->GetFullFilePath(), 0))
+                               {
+                                       __fileManagingingResult = FILE_MANAGING_RESULT_SOURCE_SAME_AS_DESTINATION;
+                                       r = false;
+                                       break;
+                               }
+                               else
+                               {
+                                       r = true;
+                               }
+
+                       }
+                       /*else
+                       {
+                           destPath.Append(__currentRootPath);
+                           destPath.Append(pDirStr->GetFileName());
+                           destPath.Append(L".");
+                           destPath.Append(pDirStr->GetFileExtension());
+                       }*/
+
+                       /*if (destPath == pDirStr->GetFullFilePath() || __currentRootPath.StartsWith(pDirStr->GetFullFilePath(), 0))
+                       {
+                           AppLogDebug("hello");
+                           __fileManagingingResult = FILE_MANAGING_RESULT_SOURCE_SAME_AS_DESTINATION;
+                           r = true;
+                           break;
+                       }
+                       else
+                       {
+                           r = false;
+                       }
+                        */
+               }
+       }
+       AppLogDebug("Exit");
+       delete pMapEnum;
+       return r;
+}
+
+bool
+FileManageWorkerThread::IsFileNameExist(Tizen::Base::String fileName, Tizen::Base::Collection::ArrayList* pRenameList)
+{
+       for (int i = 0; i < pRenameList->GetCount(); i++)
+       {
+               String* pRenamedFileName = static_cast< String* >(pRenameList->GetAt(i));
+               if (*pRenamedFileName == fileName)
+               {
+                       return true;
+               }
+       }
+       return false;
+}
+
+void
+FileManageWorkerThread::SortArrayList(Tizen::Base::Collection::ArrayList* pArrList)
+{
+       for (int i = 0; i < pArrList->GetCount(); i++)
+       {
+               Integer* pValue1 = (Integer*) pArrList->GetAt(i);
+               for (int j = i + 1; j < pArrList->GetCount(); j++)
+               {
+                       Integer* pValue2 = (Integer*) pArrList->GetAt(j);
+                       if (pValue1->ToInt() > pValue2->ToInt())
+                       {
+                               int temp;
+                               temp = pValue1->ToInt();
+                               *pValue1 = *pValue2;
+                               *pValue2 = temp;
+                               //value2(temp);
+                       }
+               }
+       }
+}
+
+ContentType
+FileManageWorkerThread::GetContentTypeInfo(const String& FilePath)
+{
+
+       ContentType contentType = CONTENT_TYPE_UNKNOWN;
+       contentType = ContentManagerUtil::CheckContentType(FilePath);
+       AppLogDebug("Content type result is %s",GetErrorMessage(GetLastResult()));
+       return contentType;
+}
+
+result
+FileManageWorkerThread::DeleteFileContentDB(String filePath)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       ContentId contentId;
+       ContentManager contentManager;
+       ArrayList* pContentList = null;
+       ArrayList* pBackUpContentList = null;
+       DirectoryEntry* pDirStr = null;
+       DirectoryEntry* pDirStrTemp = null;
+       String sourcePath;
+       FileAttributes fileAttrib;
+       File::GetAttributes(filePath, fileAttrib);
+
+       AppLogDebug("file path is %ls", filePath.GetPointer());
+       if (fileAttrib.IsDirectory())
+       {
+               pBackUpContentList = new (std::nothrow) ArrayList();
+               pBackUpContentList->Construct();
+
+               AppLogDebug("source path is %ls", sourcePath.GetPointer());
+               if(!filePath.EndsWith(L"/"))
+               {
+                       filePath.Append(L"/");
+               }
+               __pFolderEntryPM->SetFolderEntryPath(filePath);
+               pContentList = __pFolderEntryPM->GetFolderEntryList();
+               TryCatch(pContentList != null, , "Failed to get content list");
+               AppLogDebug("pcontent list count is %d", pContentList->GetCount());
+
+               for (int count = 0; count < pContentList->GetCount(); count++)
+               {
+                       pDirStrTemp = static_cast< DirectoryEntry* >(pContentList->GetAt(count));
+                       TryCatch(pDirStrTemp != null, , "Failed to allocate memory to pDirStrTemp");
+                       pDirStr = new (std::nothrow) DirectoryEntry(*pDirStrTemp);
+                       TryCatch(pDirStr != null, , "Failed to allocate memory to pdirstr");
+                       pBackUpContentList->Add(pDirStr);
+               }
+
+               for (int counter = 0; counter < pBackUpContentList->GetCount(); counter++)
+               {
+                       pDirStr = static_cast< DirectoryEntry* >(pBackUpContentList->GetAt(counter));
+                       AppLogDebug("dir name is %ls", pDirStr->GetFileName().GetPointer());
+                       sourcePath.Clear();
+                       sourcePath.Append(pDirStr->GetFullFilePath());
+
+                       if (__threadRunningState == THREAD_RUNNING_STATE_ALIVE)
+                       {
+                          r = DeleteFileContentDB(sourcePath);
+                       }
+                       else
+                       {
+                               pBackUpContentList->RemoveAll(true);
+                               delete pBackUpContentList;
+                               pBackUpContentList = null;
+                               return E_THREAD_CANCEL;
+                       }
+                       //TryCatch(r == E_SUCCESS, , "content Delete failed");
+               }
+
+               r = Directory::Remove(filePath, true);
+               TryCatch(r == E_SUCCESS, , "content Delete failed");
+
+               pBackUpContentList->RemoveAll(true);
+               delete pBackUpContentList;
+               pBackUpContentList = null;
+
+       }
+       else
+       {
+               if (__threadRunningState == THREAD_RUNNING_STATE_ALIVE)
+               {
+                       contentManager.Construct();
+                       r = GetContentID(filePath, contentId);
+                       if(r == E_SUCCESS)
+                       {
+                               contentManager.DeleteContent(contentId);
+                       }
+                       else
+                       {
+                               r = DeleteFile(filePath);
+                       }
+               }
+               else
+               {
+                       return E_THREAD_CANCEL;
+               }
+
+       }
+       __fileManagingingResult = FILE_MANAGING_RESULT_DELETING_SUCCESS;
+       AppLogDebug("Exit");
+       return r;
+CATCH:
+
+       __fileManagingingResult = FILE_MANAGING_RESULT_DELETING_FAILED;
+       AppLogDebug("Catch result %s", GetErrorMessage(r));
+       AppLogDebug("Exit");
+       r = E_FAILURE;
+       return r;
+}
+
+result
+FileManageWorkerThread::UpdateContentDB(Tizen::Base::String filePath)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       ContentId contentId;
+       ArrayList* pContentList = null;
+       DirectoryEntry* pDirStr = null;
+       String tempFilePath;
+       FileAttributes fileAttrib;
+       File::GetAttributes(filePath, fileAttrib);
+       AppLogDebug("file path is %ls", filePath.GetPointer());
+       //AppLogDebug("dest path is %ls",destPath.GetPointer());
+
+       if (fileAttrib.IsDirectory())
+       {
+               filePath.Append(L"/");
+               __pFolderEntryPM->SetFolderEntryPath(filePath);
+               pContentList = __pFolderEntryPM->GetFolderEntryList();
+               TryCatch(pContentList != null, , "Failed to get content list");
+               AppLogDebug("pcontent list count is %d", pContentList->GetCount());
+               for (int counter = 0; counter < pContentList->GetCount(); counter++)
+               {
+                       pDirStr = static_cast< DirectoryEntry* >(pContentList->GetAt(counter));
+                       AppLogDebug("dir name is %ls", pDirStr->GetFileName().GetPointer());
+                       tempFilePath.Clear();
+                       tempFilePath.Append(pDirStr->GetFullFilePath());
+                       r = UpdateContentDB(tempFilePath);
+                       //TryCatch(r == E_SUCCESS, , "content copy updated");
+               }
+       }
+       else
+       {
+               r = GetContentID(filePath, contentId);
+
+       }
+       AppLogDebug("Exit");
+       return r;
+CATCH:
+       r = GetLastResult();
+       AppLogDebug("result is %s", GetErrorMessage(r));
+       AppLogDebug("Exit");
+       return r;
+}
+
+result
+FileManageWorkerThread::GetContentID(const String& filePath, ContentId& contentId)
+{
+
+       ContentManager contentManager;
+       //ContentId contentId;
+       result r = E_SUCCESS;
+       ContentType contentType;
+       ContentInfo* contentInfo = null;
+       contentType = CONTENT_TYPE_UNKNOWN;
+
+       contentManager.Construct();
+
+       contentType = GetContentTypeInfo(filePath);
+
+
+       switch (contentType)
+       {
+       case CONTENT_TYPE_IMAGE:
+       {
+               AppLogDebug("CONTENT_TYPE_IMAGE");
+               ImageContentInfo* imagecontentInfo = null;
+               imagecontentInfo = new (std::nothrow) ImageContentInfo();
+               String* pPath = new (std::nothrow) String(filePath);
+               imagecontentInfo->Construct(pPath);
+               delete pPath;
+               contentInfo = imagecontentInfo;
+               contentId = contentManager.CreateContent(*imagecontentInfo);
+               TryCatch(GetLastResult() == E_SUCCESS, , "create content failed");
+               delete imagecontentInfo;
+       }
+       break;
+
+       case CONTENT_TYPE_AUDIO:
+       {
+               AppLogDebug("CONTENT_TYPE_AUDIO");
+               AudioContentInfo* audiocontentInfo = null;
+               audiocontentInfo = new (std::nothrow) AudioContentInfo();
+               TryCatch(audiocontentInfo != null, , "memory for audio failed");
+               String* pPath = new (std::nothrow) String(filePath);
+               r = audiocontentInfo->Construct(pPath);
+               delete pPath;
+               contentInfo = audiocontentInfo;
+               contentId = contentManager.CreateContent(*audiocontentInfo);
+               TryCatch(GetLastResult() == E_SUCCESS, , "create content failed");
+               delete audiocontentInfo;
+       }
+       break;
+
+       case CONTENT_TYPE_VIDEO:
+       {
+               AppLogDebug("CONTENT_TYPE_VIDEO");
+               VideoContentInfo* videocontentInfo = null;
+               videocontentInfo = new (std::nothrow) VideoContentInfo();
+               String* pPath = new (std::nothrow) String(filePath);
+               videocontentInfo->Construct(pPath);
+               delete pPath;
+               contentInfo = videocontentInfo;
+               contentId = contentManager.CreateContent(*videocontentInfo);
+               TryCatch(GetLastResult() == E_SUCCESS, , "create content failed");
+               delete videocontentInfo;
+       }
+       break;
+
+       case CONTENT_TYPE_OTHER:
+       {
+               AppLogDebug("CONTENT_TYPE_OTHER");
+               OtherContentInfo* othercontentInfo = null;
+               othercontentInfo = new (std::nothrow) OtherContentInfo();
+               String* pPath = new (std::nothrow) String(filePath);
+               othercontentInfo->Construct(pPath);
+               delete pPath;
+               contentInfo = othercontentInfo;
+               contentId = contentManager.CreateContent(*othercontentInfo);
+               TryCatch(GetLastResult() == E_SUCCESS, , "create content failed");
+               delete othercontentInfo;
+       }
+       break;
+
+       case CONTENT_TYPE_UNKNOWN:
+       {
+               AppLogDebug("CONTENT_TYPE_UNKNOWN");
+               return E_FAILURE;
+       }
+       break;
+
+       default:
+               break;
+       }
+
+       AppLogDebug("Exit");
+       return E_SUCCESS;
+
+CATCH:
+       r = GetLastResult();
+       AppLogDebug("catch result %s", GetErrorMessage(r));
+       if (contentInfo != null)
+       {
+               delete contentInfo;
+               contentInfo = null;
+       }
+
+
+       AppLogDebug("catch result %s", GetErrorMessage(r));
+       AppLogDebug("Exit");
+       return r;
+}
+
+result
+FileManageWorkerThread::RenameFolderEntry(void)
+{
+       result r = E_SUCCESS;
+       FileAttributes fileAttrib;
+
+       r = CopyFile(__filePath,__renameFilePath);
+       TryCatch(r == E_SUCCESS,,"copy failed");
+
+       r = DeleteFileContentDB(__filePath);
+
+       File::GetAttributes(__renameFilePath, fileAttrib);
+       if(fileAttrib.IsDirectory())
+       {
+               __renameFilePath.Append(L"/");
+       }
+
+       __fileManagingingResult = FILE_MANAGING_RENAME_SUCCESS;
+
+       return r;
+CATCH:
+       r = DeleteFile(__renameFilePath);
+       __fileManagingingResult = FILE_MANAGING_RENAME_FAILED;
+       AppLogDebug("catch result is %s",GetErrorMessage(r));
+       return r;
+}
+
+result
+FileManageWorkerThread::Copy(Tizen::Base::String& sourcePath, Tizen::Base::String& destPath)
+{
+       AppLogDebug("FileManageWorkerThread::Copy");
+       result r;
+       const int BUFFER_SIZE_MAX = 4096;
+       File sourceFIle;
+       File destFile;
+       int count= 0;
+       void* byteToWrite = null;
+       byteToWrite = (void*) malloc(sizeof(char)*BUFFER_SIZE_MAX);
+
+       r = sourceFIle.Construct(sourcePath, "r");
+       TryCatch(r == E_SUCCESS, , "Failed to open source file in read mode");
+
+       AppLogDebug("FileManageWorkerThread::Copy:%s", GetErrorMessage(r));
+
+       r = destFile.Construct(destPath, "w+");
+       TryCatch(r == E_SUCCESS, , "Failed to open destination file in write mode");
+
+       count = sourceFIle.Read(byteToWrite, BUFFER_SIZE_MAX);
+       AppLogDebug("FileManageWorkerThread::Copy:%d", count);
+       while (count >0)
+       {
+               if (__threadRunningState != THREAD_RUNNING_STATE_ALIVE)
+               {
+                       File::Remove(destPath);
+                       return E_SUCCESS;
+               }
+               if (!IsFailed(GetLastResult()))
+               {
+                       destFile.Write(byteToWrite, BUFFER_SIZE_MAX);
+                       count = sourceFIle.Read(byteToWrite, BUFFER_SIZE_MAX);
+               }
+       }
+       return E_SUCCESS;
+CATCH:
+       return E_FAILURE;
+}
diff --git a/src/MfFolderEntriesComparer.cpp b/src/MfFolderEntriesComparer.cpp
new file mode 100644 (file)
index 0000000..e536039
--- /dev/null
@@ -0,0 +1,244 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFolderEntriesComparer.cpp
+ * @brief: This file contains the implementation of FolderEntriesComparer class, which is used for Sorting the list entries
+ * depending on different input types.
+ */
+
+#include "MfDirectoryEntry.h"
+#include "MfFolderEntriesComparer.h"
+#include "MfFolderEntryDetailPresentationModel.h"
+#include "MfMediaMetaData.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Io;
+
+result
+FolderEntriesComparer::Compare(const Tizen::Base::Object& obj1, const Tizen::Base::Object& obj2, int& cmp) const
+{
+       AppLogDebug("Entry");
+
+       DirectoryEntry* pSource = const_cast< DirectoryEntry* >(static_cast< const DirectoryEntry* >(&obj1));
+       DirectoryEntry* pDestination = const_cast< DirectoryEntry* >(static_cast< const DirectoryEntry* >(&obj2));
+
+       String source;
+       String destination;
+
+       DateTime sourceCreationDate;
+       DateTime destinationCreationDate;
+
+       FolderEntryDetailPresentationModel mediaUtility;
+       MediaMetaData* pMediaMetaDataSource = null;
+       MediaMetaData* pMediaMetaDataDestination = null;
+       long long int sourceSize;
+       long long int destinationSize;
+       result r = E_SUCCESS;
+
+       if (pSource && pDestination)
+       {
+               if (__sortByType == SORT_BY_TYPE_NAME_ASCENDING)
+               {
+                       source = pSource->GetFileName();
+                       source.ToLowerCase();
+                       destination = pDestination->GetFileName();
+                       destination.ToLowerCase();
+                       cmp = source.CompareTo(destination);
+               }
+               else if (__sortByType == SORT_BY_TYPE_NAME_DESCENDING)
+               {
+                       source = pSource->GetFileName();
+                       source.ToLowerCase();
+                       destination = pDestination->GetFileName();
+                       destination.ToLowerCase();
+                       cmp = destination.CompareTo(source);
+               }
+               else if (__sortByType == SORT_BY_TYPE_ASCENDING)
+               {
+                       source = pSource->GetFileExtension();
+                       source.ToLowerCase();
+                       destination = pDestination->GetFileExtension();
+                       destination.ToLowerCase();
+                       cmp = source.CompareTo(destination);
+                       if (cmp == 0)
+                       {
+                               source = pSource->GetFileName();
+                               source.ToLowerCase();
+                               destination = pDestination->GetFileName();
+                               destination.ToLowerCase();
+                               cmp = source.CompareTo(destination);
+                       }
+               }
+               else if (__sortByType == SORT_BY_TYPE_DESCENDING)
+               {
+                       source = pSource->GetFileExtension();
+                       source.ToLowerCase();
+                       destination = pDestination->GetFileExtension();
+                       destination.ToLowerCase();
+                       cmp = destination.CompareTo(source);
+
+                       if (cmp == 0)
+                       {
+                               source = pSource->GetFileName();
+                               source.ToLowerCase();
+                               destination = pDestination->GetFileName();
+                               destination.ToLowerCase();
+                               cmp = destination.CompareTo(source);
+                       }
+               }
+               else
+               {
+                       if (__sortByType == SORT_BY_TYPE_DATE_RECENT)
+                       {
+                               sourceCreationDate = GetFileCreationTime(pSource->GetFullFilePath());
+                               destinationCreationDate = GetFileCreationTime(pDestination->GetFullFilePath());
+                               cmp = destinationCreationDate.CompareTo(sourceCreationDate);
+
+                               if (cmp == 0)
+                               {
+                                       source = pSource->GetFileName();
+                                       source.ToLowerCase();
+                                       destination = pDestination->GetFileName();
+                                       destination.ToLowerCase();
+                                       cmp = source.CompareTo(destination);
+                               }
+                       }
+                       else if (__sortByType == SORT_BY_TYPE_DATE_OLDEST)
+                       {
+                               sourceCreationDate = GetFileCreationTime(pSource->GetFullFilePath());
+                               destinationCreationDate = GetFileCreationTime(pDestination->GetFullFilePath());
+                               cmp = sourceCreationDate.CompareTo(destinationCreationDate);
+
+                               if (cmp == 0)
+                               {
+                                       source = pSource->GetFileName();
+                                       source.ToLowerCase();
+                                       destination = pDestination->GetFileName();
+                                       destination.ToLowerCase();
+                                       cmp = source.CompareTo(destination);
+                               }
+                       }
+                       else if (__sortByType == SORT_BY_TYPE_SIZE_ASCENDING)
+                       {
+                               if (pSource->IsDirectory())
+                               {
+                                       pMediaMetaDataSource = mediaUtility.GetFolderEntryMetaDataN(pSource->GetFullFilePath(), FILE_TYPE_FOLDER_TYPE);
+                                       pMediaMetaDataDestination = mediaUtility.GetFolderEntryMetaDataN(pDestination->GetFullFilePath(), FILE_TYPE_FOLDER_TYPE);
+                               }
+                               else
+                               {
+                                       pMediaMetaDataSource = mediaUtility.GetFolderEntryMetaDataN(pSource->GetFullFilePath(), FILE_TYPE_OTHER_TYPE);
+                                       pMediaMetaDataDestination = mediaUtility.GetFolderEntryMetaDataN(pDestination->GetFullFilePath(), FILE_TYPE_OTHER_TYPE);
+                               }
+
+                               sourceSize = pMediaMetaDataSource->GetFileSize();
+                               destinationSize = pMediaMetaDataDestination->GetFileSize();
+
+                               if (sourceSize < destinationSize)
+                               {
+                                       cmp = -1;
+                               }
+                               else if (sourceSize == destinationSize)
+                               {
+                                       cmp = 0;
+                                       source = pSource->GetFileName();
+                                       source.ToLowerCase();
+                                       destination = pDestination->GetFileName();
+                                       destination.ToLowerCase();
+                                       cmp = source.CompareTo(destination);
+                               }
+                               else if (sourceSize > destinationSize)
+                               {
+                                       cmp = 1;
+                               }
+                       }
+                       else if (__sortByType == SORT_BY_TYPE_SIZE_DESCENDING)
+                       {
+                               if (pSource->IsDirectory())
+                               {
+                                       pMediaMetaDataSource = mediaUtility.GetFolderEntryMetaDataN(pSource->GetFullFilePath(), FILE_TYPE_FOLDER_TYPE);
+                                       pMediaMetaDataDestination = mediaUtility.GetFolderEntryMetaDataN(pDestination->GetFullFilePath(), FILE_TYPE_FOLDER_TYPE);
+                               }
+                               else
+                               {
+                                       pMediaMetaDataSource = mediaUtility.GetFolderEntryMetaDataN(pSource->GetFullFilePath(), FILE_TYPE_OTHER_TYPE);
+                                       pMediaMetaDataDestination = mediaUtility.GetFolderEntryMetaDataN(pDestination->GetFullFilePath(), FILE_TYPE_OTHER_TYPE);
+                               }
+
+                               sourceSize = pMediaMetaDataSource->GetFileSize();
+                               destinationSize = pMediaMetaDataDestination->GetFileSize();
+
+                               if (sourceSize < destinationSize)
+                               {
+                                       cmp = 1;
+                               }
+                               else if (sourceSize == destinationSize)
+                               {
+                                       cmp = 0;
+                                       source = pSource->GetFileName();
+                                       source.ToLowerCase();
+                                       destination = pDestination->GetFileName();
+                                       destination.ToLowerCase();
+                                       cmp = source.CompareTo(destination);
+                               }
+                               else if (sourceSize > destinationSize)
+                               {
+                                       cmp = -1;
+                               }
+                       }
+               }
+
+               if (pMediaMetaDataSource != null)
+               {
+                       delete pMediaMetaDataSource;
+                       pMediaMetaDataSource = null;
+               }
+
+               if (pMediaMetaDataDestination != null)
+               {
+                       delete pMediaMetaDataDestination;
+                       pMediaMetaDataDestination = null;
+               }
+               return r;
+       }
+       else
+       {
+               r = E_INVALID_ARG;
+               return r;
+       }
+}
+
+void
+FolderEntriesComparer::SetSortType(int sortType)
+{
+       __sortByType = sortType;
+}
+
+Tizen::Base::DateTime
+FolderEntriesComparer::GetFileCreationTime(String filePath) const
+{
+       AppLogDebug("Entry");
+
+       DateTime fileCreationTime;
+       FileAttributes fileAttrib;
+
+       File::GetAttributes(filePath, fileAttrib);
+       fileCreationTime = fileAttrib.GetDateTime();
+
+       return fileCreationTime;
+}
diff --git a/src/MfFolderEntryDetailPresentationModel.cpp b/src/MfFolderEntryDetailPresentationModel.cpp
new file mode 100644 (file)
index 0000000..9bbafa4
--- /dev/null
@@ -0,0 +1,489 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFolderEntryDetailPresentationModel.cpp
+ * @brief: This file contains the implementation of class FolderEntryDetailPresentationModel,
+ * which acts as a manager for providing file or folder specific information.
+ */
+
+#include "MfFolderEntryDetailPresentationModel.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Content;
+using namespace Tizen::Io;
+
+FolderEntryDetailPresentationModel::FolderEntryDetailPresentationModel(void)
+{
+       __noOfFiles = 0;
+       __noOfFolders = 0;
+       __directorySize = 0;
+}
+
+FolderEntryDetailPresentationModel::~FolderEntryDetailPresentationModel(void)
+{
+       //empty Implementation
+}
+
+FolderEntryDetailPresentationModel&
+FolderEntryDetailPresentationModel::operator =(const FolderEntryDetailPresentationModel& mediaUtility)
+{
+       return *this;
+}
+
+FolderEntryDetailPresentationModel::FolderEntryDetailPresentationModel(const FolderEntryDetailPresentationModel&)
+{
+       //empty Implementation
+}
+
+MediaMetaData*
+FolderEntryDetailPresentationModel::GetFolderEntryMetaDataN(Tizen::Base::String filePath, FileType fileType)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       MediaMetaData* pMediaMetaData = null;
+       FolderMediaMetaData* pFolderMediaMetaData = null;
+       ImageMediaMetaData* pImageMediaMetaData = null;
+       AudioMediaMetaData* pAudioMediaMetaData = null;
+       VideoMediaMetaData* pVideoMediaMetaData = null;
+       OtherMediaMetaData* pOtherMediaMetaData = null;
+
+       __directorySize =0;
+       __noOfFiles = 0;
+       __noOfFolders = 0;
+
+       TryCatch(filePath.GetLength() != 0, r=E_FAILURE,"Invalid file path");
+       r = GetMetaData(filePath);
+
+       __directorySize = GetFileSize(filePath);
+       if (r == E_SUCCESS)
+       {
+               if (fileType == FILE_TYPE_FOLDER_TYPE)
+               {
+                       pFolderMediaMetaData = new (std::nothrow) FolderMediaMetaData();
+                       TryCatch(pFolderMediaMetaData != null, , "Failed to allocate Memory to pFolderMediaMetaData");
+                       pFolderMediaMetaData->SetFileName(GetFileName(filePath));
+                       pFolderMediaMetaData->SetFilePath(GetFileDisplayPath(filePath));
+                       pFolderMediaMetaData->SetFileCreationTime(GetFileCreationTime(filePath));
+                       pFolderMediaMetaData->SetFileSize(__directorySize);
+                       pFolderMediaMetaData->SetNoOfFiles(__noOfFiles);
+                       pFolderMediaMetaData->SetNoOfFolders(__noOfFolders);
+                       pMediaMetaData = pFolderMediaMetaData;
+               }
+               else if (fileType == FILE_TYPE_IMAGE_TYPE)
+               {
+                       pImageMediaMetaData = new (std::nothrow) ImageMediaMetaData();
+                       TryCatch(pImageMediaMetaData != null, , "Failed to allocate Memory to pImageMediaMetaData");
+                       pImageMediaMetaData->SetFileName(GetFileName(filePath));
+                       pImageMediaMetaData->SetFilePath(GetFileDisplayPath(filePath));
+                       pImageMediaMetaData->SetFileCreationTime(GetFileCreationTime(filePath));
+                       pImageMediaMetaData->SetFileSize(__directorySize);
+                       pImageMediaMetaData->SetFileFormat(GetFileFormat(filePath));
+                       pImageMediaMetaData->SetFileResolution(GetFileResolution(filePath, fileType));
+                       pMediaMetaData = pImageMediaMetaData;
+               }
+               else if (fileType == FILE_TYPE_AUDIO_TYPE)
+               {
+                       pAudioMediaMetaData = new (std::nothrow) AudioMediaMetaData();
+                       TryCatch(pAudioMediaMetaData != null, , "Failed to allocate Memory to pAudioMediaMetaData");
+                       pAudioMediaMetaData->SetFileName(GetFileName(filePath));
+                       pAudioMediaMetaData->SetFilePath(GetFileDisplayPath(filePath));
+                       pAudioMediaMetaData->SetFileCreationTime(GetFileCreationTime(filePath));
+                       pAudioMediaMetaData->SetFileSize(__directorySize);
+                       pAudioMediaMetaData->SetFileFormat(GetFileFormat(filePath));
+                       pMediaMetaData = pAudioMediaMetaData;
+               }
+               else if (fileType == FILE_TYPE_VIDEO_TYPE)
+               {
+                       pVideoMediaMetaData = new (std::nothrow) VideoMediaMetaData();
+                       TryCatch(pVideoMediaMetaData != null, , "Failed to allocate Memory to pVideoMediaMetaData");
+                       pVideoMediaMetaData->SetFileName(GetFileName(filePath));
+                       pVideoMediaMetaData->SetFilePath(GetFileDisplayPath(filePath));
+                       pVideoMediaMetaData->SetFileCreationTime(GetFileCreationTime(filePath));
+                       pVideoMediaMetaData->SetFileSize(__directorySize);
+                       pVideoMediaMetaData->SetFileFormat(GetFileFormat(filePath));
+                       pVideoMediaMetaData->SetFileResolution(GetFileResolution(filePath, fileType));
+                       pMediaMetaData = pVideoMediaMetaData;
+               }
+               else if (fileType == FILE_TYPE_OTHER_TYPE)
+               {
+                       pOtherMediaMetaData = new (std::nothrow) OtherMediaMetaData();
+                       TryCatch(pOtherMediaMetaData != null, , "Failed to allocate Memory to pOtherMediaMetaData");
+                       pOtherMediaMetaData->SetFileName(GetFileName(filePath));
+                       pOtherMediaMetaData->SetFilePath(GetFileDisplayPath(filePath));
+                       pOtherMediaMetaData->SetFileCreationTime(GetFileCreationTime(filePath));
+                       pOtherMediaMetaData->SetFileSize(__directorySize);
+                       pOtherMediaMetaData->SetFileFormat(GetFileFormat(filePath));
+                       pMediaMetaData = pOtherMediaMetaData;
+               }
+
+               AppLogDebug("Exit %s", GetErrorMessage(r));
+               return pMediaMetaData;
+       }
+       else
+       {
+               AppLogDebug("Exit %s", GetErrorMessage(r));
+               return null;
+       }
+
+CATCH:
+
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return null;
+}
+
+Tizen::Base::String*
+FolderEntryDetailPresentationModel::GetFileName(const Tizen::Base::String& filePath)
+{
+       AppLogDebug("Entry");
+       String delim(L"/");
+       String token;
+       String* pFileName = null;
+       StringTokenizer strTok(filePath, delim);
+       result r = E_SUCCESS;
+
+       while (strTok.HasMoreTokens())
+       {
+               strTok.GetNextToken(token);
+       }
+
+       pFileName = new (std::nothrow) String;
+       pFileName->Append(token);
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return pFileName;
+}
+
+String*
+FolderEntryDetailPresentationModel::GetFileDisplayPath(const Tizen::Base::String& filePath)
+{
+       String fileDisplayPath;
+       String* pUpdatedFilePath = null;
+       String displayPhone;
+       String displaySdCard;
+       String defMediaPath = BasePresentationModel::GetMediaPath();
+       String defSdCardPath = BasePresentationModel::GetSdCardPath();
+
+       AppResource* pAppResource = null;
+
+       pAppResource = UiApp::GetInstance()->GetAppResource();
+
+       if (pAppResource != null)
+       {
+               pAppResource->GetString(L"IDS_MF_TAB_PHONE", displayPhone);
+               pAppResource->GetString(L"IDS_MF_TAB_MEMORY_CARD", displaySdCard);
+
+               displayPhone.Append("/");
+               displaySdCard.Append("/");
+       }
+
+       fileDisplayPath = filePath;
+
+       if (fileDisplayPath.IsEmpty() == false)
+       {
+               if (fileDisplayPath.StartsWith(defMediaPath, 0))
+               {
+                       fileDisplayPath.Replace(defMediaPath, displayPhone);
+               }
+               else if (fileDisplayPath.StartsWith(defSdCardPath, 0))
+               {
+                       fileDisplayPath.Replace(defSdCardPath, displaySdCard);
+               }
+       }
+
+       pUpdatedFilePath = new (std::nothrow) String(fileDisplayPath);
+       return pUpdatedFilePath;
+}
+
+long long int
+FolderEntryDetailPresentationModel::GetFileSize(const Tizen::Base::String& filePath)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       Directory* pDirectory = null;
+       FileAttributes fileAttrib;
+
+       TryCatch(filePath.GetLength() != 0, r=E_FAILURE,"Invalid file path");
+       r = File::GetAttributes(filePath, fileAttrib);
+       TryCatch(r==E_SUCCESS,,"Failed to get folderentry attributes");
+
+       if (fileAttrib.IsDirectory())
+       {
+               pDirectory = new (std::nothrow) Directory();
+               TryCatch(pDirectory != null, , "Failed to allocate Memory to pDirectory");
+               TryCatch(filePath.GetLength() != 0, , "Filepath  is empty");
+
+               DirEnumerator* pDirectoryEnum = null;
+
+               r = pDirectory->Construct(filePath);
+
+               pDirectoryEnum = pDirectory->ReadN();
+
+               if (pDirectoryEnum != null)
+               {
+                       while (pDirectoryEnum->MoveNext() == E_SUCCESS)
+                       {
+                               DirEntry entry = pDirectoryEnum->GetCurrentDirEntry();
+                               if (entry.GetName() != "." && entry.GetName() != ".." && entry.GetName() != ".emptydir" && entry.GetName() != ".tmp" && entry.GetName() != ".gitignore")
+                               {
+                                       String str = entry.GetName();
+                                       String fullpath = filePath + L"/" + str;
+
+                                       r = File::GetAttributes(fullpath, fileAttrib);
+                                       TryCatch(r==E_SUCCESS,,"Failed to get folderEntry attributes");
+
+                                       __directorySize = __directorySize + fileAttrib.GetFileSize();
+
+                                       if (fileAttrib.IsDirectory())
+                                       {
+                                               GetFileSize(fullpath); ///recursivley calling the function getMetaData
+                                       }
+                               }
+                       }
+
+
+                       //if (pDirectoryEnum != null)
+                       //{
+                       delete pDirectoryEnum;
+                       pDirectoryEnum = null;
+                       //}
+               }
+               ///if (pDirectory != null)
+               //{
+               delete pDirectory;
+               pDirectory = null;
+               //}
+       }
+       else
+       {
+               __directorySize = fileAttrib.GetFileSize();
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return __directorySize;
+
+CATCH:
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return 0;
+
+}
+
+Tizen::Base::DateTime
+FolderEntryDetailPresentationModel::GetFileCreationTime(const Tizen::Base::String& filePath)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       ///create an instance of fileAttribute
+       DateTime fileCreationTime;
+       FileAttributes fileAttrib;
+
+       TryCatch(filePath.GetLength() != 0, r=E_FAILURE,"Invalid file path");
+       r = File::GetAttributes(filePath, fileAttrib);
+       TryCatch(r==E_SUCCESS,,"Failed to get folderentry attributes");
+
+       fileCreationTime = fileAttrib.GetDateTime();
+
+       AppLogDebug("Exit");
+
+CATCH:
+       return fileCreationTime;
+}
+
+int
+FolderEntryDetailPresentationModel::GetFileCount(const Tizen::Base::String& filePath)
+{
+       return __noOfFiles;
+}
+
+int
+FolderEntryDetailPresentationModel::GetFolderCount(const Tizen::Base::String& filePath)
+{
+       return __noOfFolders;
+}
+
+result
+FolderEntryDetailPresentationModel::GetMetaData(const Tizen::Base::String filePath)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       Directory* pDirectory = null;
+       FileAttributes fileAttrib;
+
+       TryCatch(filePath.GetLength() != 0, r=E_FAILURE,"Invalid file path");
+       r = File::GetAttributes(filePath, fileAttrib);
+       TryCatch(r==E_SUCCESS,,"Failed to get folderentry attributes");
+
+       if (fileAttrib.IsDirectory())
+       {
+               pDirectory = new (std::nothrow) Directory();
+               TryCatch(pDirectory != null, , "Failed to allocate Memory to pDirectory");
+
+               DirEnumerator* pDirectoryEnum = null;
+
+               r = pDirectory->Construct(filePath);
+
+               pDirectoryEnum = pDirectory->ReadN();
+
+               if (pDirectoryEnum != null)
+               {
+                       while (pDirectoryEnum->MoveNext() == E_SUCCESS)
+                       {
+                               DirEntry entry = pDirectoryEnum->GetCurrentDirEntry();
+                               if (entry.GetName() != "." && entry.GetName() != ".." && entry.GetName() != ".emptydir" && entry.GetName() != ".tmp" && entry.GetName() != ".gitignore")
+                               {
+
+                                       String str = entry.GetName();
+                                       String fullpath = filePath + L"/" + str;
+
+                                       r = File::GetAttributes(fullpath, fileAttrib);
+
+                                       //__directorySize = __directorySize + fileAttrib.GetFileSize();
+
+                                       if (fileAttrib.IsDirectory())
+                                       {
+                                               __noOfFolders = __noOfFolders + 1; ///increase the number of folders if current file is a directory
+                                       }
+                                       else
+                                       {
+
+                                               __noOfFiles++;
+                                       }
+
+                               }
+                       }
+
+
+                       //if (pDirectoryEnum != null)
+                       //{
+                       delete pDirectoryEnum;
+                       pDirectoryEnum = null;
+                       //}
+               }
+               //if (pDirectory != null)
+               //{
+               delete pDirectory;
+               pDirectory = null;
+               //}
+       }
+       /*else
+       {
+               __directorySize = fileAttrib.GetFileSize();
+       }*/
+
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return r;
+
+CATCH:
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return r;
+}
+
+Tizen::Base::String*
+FolderEntryDetailPresentationModel::GetFileFormat(const Tizen::Base::String& filePath)
+{
+       AppLogDebug("Entry");
+       String delim(L".");
+       String* pFileName = null;
+       pFileName = GetFileName(filePath);
+       StringTokenizer strTok(*pFileName, delim);
+       delete pFileName;
+       String token;
+       String* pFileFormat;
+       pFileFormat = null;
+       if(strTok.GetTokenCount() != 1)
+       {
+               while (strTok.HasMoreTokens())
+               {
+                       strTok.GetNextToken(token);
+
+               }
+       }
+       else
+       {
+               token.Clear();
+               token.Append(L"Unknown");
+       }
+       pFileFormat = new (std::nothrow) String;
+       pFileFormat->Append(token);
+       AppLogDebug("Exit");
+       return pFileFormat;
+}
+
+Tizen::Base::String*
+FolderEntryDetailPresentationModel::GetFileResolution(const Tizen::Base::String& filePath, FileType fileType)
+{
+       AppLogDebug("Entry");
+       Tizen::Base::String contentPath = filePath;
+       String* pFileResolution = null;
+       ImageMetadata* pImgMeta = null;
+       VideoMetadata* pVideoMeta = null;
+
+       pFileResolution = new (std::nothrow) String;
+       TryCatch(pFileResolution != null, , "Failed to allocate Memory to pFileResolution");
+
+       switch (fileType)
+       {
+       case FILE_TYPE_IMAGE_TYPE:
+       {
+               int width;
+               int height;
+               pImgMeta = ContentManagerUtil::GetImageMetaN(contentPath);
+               TryCatch(pImgMeta != null, pFileResolution->Append(L"NOT FOUND");
+                               , "GetImageMetaN failed.");
+
+               width = pImgMeta->GetWidth();
+               height = pImgMeta->GetHeight();
+               pFileResolution->Append(width);
+               pFileResolution->Append(L"x");
+               pFileResolution->Append(height);
+
+               delete pImgMeta;
+               //return pFileResolution;
+
+       }
+       break;
+
+       case FILE_TYPE_VIDEO_TYPE:
+       {
+               int width;
+               int height;
+               pVideoMeta = ContentManagerUtil::GetVideoMetaN(contentPath);
+               TryCatch(pVideoMeta != null, pFileResolution->Append(L"NOT FOUND"), "::GetImageMetaN failed.");
+
+               width = pVideoMeta->GetWidth();
+               height = pVideoMeta->GetHeight();
+               pFileResolution->Append(width);
+               pFileResolution->Append(L"x");
+               pFileResolution->Append(height);
+
+               delete pVideoMeta;
+               //return pFileResolution;
+       }
+       break;
+
+       default:
+       {
+               //do nothing
+       }
+       break;
+       }
+       AppLogDebug("Exit");
+       return pFileResolution;
+
+CATCH:
+       AppLogDebug("Exit");
+       return pFileResolution;
+}
diff --git a/src/MfFolderEntryEditorPresentationModel.cpp b/src/MfFolderEntryEditorPresentationModel.cpp
new file mode 100644 (file)
index 0000000..fdd4c92
--- /dev/null
@@ -0,0 +1,311 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFolderEntryEditorPresentationModel.cpp
+ * @brief: This file contains the implementation of class FolderEntryEditorPresentationModel,
+ * acts as a manager for IO Operations like copy,move,delete and createFolder
+ */
+
+#include "MfFolderEntryEditorPresentationModel.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Runtime;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Content;
+using namespace Tizen::Io;
+
+FolderEntryEditorPresentationModel* FolderEntryEditorPresentationModel::__pFilePresentation = null;
+
+FolderEntryEditorPresentationModel::FolderEntryEditorPresentationModel(void)
+       : __pCheckedListHash(null)
+       , __pFileManagerThread(null)
+       , __listener(null)
+{
+       __fileProcessingResult = FILE_MANAGING_RESULT_NONE;
+}
+
+FolderEntryEditorPresentationModel::~FolderEntryEditorPresentationModel(void)
+{
+       if (__pCheckedListHash != null)
+       {
+               __pCheckedListHash->RemoveAll(true);
+               delete __pCheckedListHash;
+       }
+       if (__pFileManagerThread != null)
+       {
+               __pFileManagerThread->Stop();
+               __pFileManagerThread->Join();
+
+               delete __pFileManagerThread;
+       }
+}
+
+result
+FolderEntryEditorPresentationModel::Construct(void)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       __pCheckedListHash = new (std::nothrow) HashMap();
+       __pCheckedListHash->Construct();
+
+       __pFileManagerThread = new (std::nothrow) FileManageWorkerThread();
+       if (__pFileManagerThread != null)
+       {
+               r = __pFileManagerThread->Construct();
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return r;
+}
+
+FolderEntryEditorPresentationModel::FolderEntryEditorPresentationModel(const FolderEntryEditorPresentationModel&)
+{
+       // Empty implementation
+}
+
+FolderEntryEditorPresentationModel&
+FolderEntryEditorPresentationModel::operator =(const FolderEntryEditorPresentationModel& filePM)
+{
+       return *__pFilePresentation;
+}
+
+result
+FolderEntryEditorPresentationModel::CreateFolder(const String& destPath, const String& folderName)
+{
+       String filePath;
+       filePath.Append(destPath);
+       filePath.Append(folderName);
+       return Directory::Create(filePath, false);
+}
+
+result
+FolderEntryEditorPresentationModel::RenameFolderEntry(String& oldName, String& newName)
+{
+       result r = E_SUCCESS;
+
+       AppLogDebug("Entry");
+       FileManaging fileProcessing;
+
+       String* pOldName = null;
+       pOldName = new String(oldName);
+
+       String* pNewName = null;
+       pNewName = new (std::nothrow) String(newName);
+
+
+       fileProcessing.SetFilePath(*pOldName);
+       fileProcessing.SetNewFilePath(*pNewName);
+
+       delete pOldName;
+       delete pNewName;
+
+       fileProcessing.SetCurrentRootPath(L"");
+       fileProcessing.SetOperationId(OPERATIONID_MANAGE_RENAME);
+
+       __pFileManagerThread->SetNameConflictOperationId(fileProcessing);
+       __pFileManagerThread->Start();
+
+       __listener->OnFileManagingStart();
+       AppLogDebug("Exit");
+       return r;
+}
+
+FolderEntryEditorPresentationModel*
+FolderEntryEditorPresentationModel::GetInstance(void)
+{
+       if (__pFilePresentation == null)
+       {
+               CreateInstance();
+       }
+       return __pFilePresentation;
+
+}
+
+void
+FolderEntryEditorPresentationModel::AddCheckedListEntry(int index, DirectoryEntry* checkedEntry)
+{
+       result r = E_SUCCESS;
+       DirectoryEntry* pAddEntry = null;
+       Integer* pAddIndex = null;
+
+       pAddEntry = new (std::nothrow) DirectoryEntry(*checkedEntry);
+       pAddIndex = new (std::nothrow) Integer(index);
+
+       r = __pCheckedListHash->Add(pAddIndex, pAddEntry);
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+}
+
+void
+FolderEntryEditorPresentationModel::RemoveCheckedListEntry(int index)
+{
+       result r = E_SUCCESS;
+       Integer currentIndex(index);
+       r = __pCheckedListHash->Remove(currentIndex, true);
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+}
+
+void
+FolderEntryEditorPresentationModel::DeleteInstance(void)
+{
+       if (__pFilePresentation != null)
+       {
+               delete __pFilePresentation;
+               __pFilePresentation = null;
+       }
+}
+
+void
+FolderEntryEditorPresentationModel::CreateInstance(void)
+{
+       result r = E_SUCCESS;
+
+       __pFilePresentation = new (std::nothrow) FolderEntryEditorPresentationModel();
+       r = __pFilePresentation->Construct();
+
+       if (r != E_SUCCESS)
+       {
+               DeleteInstance();
+               return;
+       }
+
+       std::atexit(DeleteInstance);
+}
+void
+FolderEntryEditorPresentationModel::ClearCheckedList(void)
+{
+       __pCheckedListHash->RemoveAll(true);
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+int
+FolderEntryEditorPresentationModel::GetCheckedListCount(void)
+{
+       if (__pCheckedListHash != null)
+       {
+               return __pCheckedListHash->GetCount();
+       }
+       else
+       {
+               return 0;
+       }
+}
+
+void
+FolderEntryEditorPresentationModel::CopyFolderEntries(FileExistingOperationId fileExistingOperationId)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       FileManaging fileProcessing;
+
+       fileProcessing.SetListOfFiles(__pCheckedListHash);
+       fileProcessing.SetCurrentRootPath(FolderNavigationPresentationModel::GetCurrentPath());
+       fileProcessing.SetFilePath(L"");
+       fileProcessing.SetOperationId(OPERATIONID_MANAGE_COPYING);
+       fileProcessing.setFileExistingOperationId(fileExistingOperationId);
+
+       __pFileManagerThread->SetNameConflictOperationId(fileProcessing);
+       r = __pFileManagerThread->Start();
+       __listener->OnFileManagingStart();
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+}
+
+
+void
+FolderEntryEditorPresentationModel::MoveFolderEntries(FileExistingOperationId fileExistingOperationId)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       FileManaging fileProcessing;
+
+       fileProcessing.SetListOfFiles(__pCheckedListHash);
+       fileProcessing.SetCurrentRootPath(FolderNavigationPresentationModel::GetCurrentPath());
+       fileProcessing.SetFilePath(L"");
+       fileProcessing.SetOperationId(OPERATIONID_MANAGE_MOVING);
+       fileProcessing.setFileExistingOperationId(fileExistingOperationId);
+
+       __pFileManagerThread->SetNameConflictOperationId(fileProcessing);
+       r = __pFileManagerThread->Start();
+       __listener->OnFileManagingStart();
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+}
+
+void
+FolderEntryEditorPresentationModel::DeleteFolderEntries(Tizen::Base::String* filePath)
+{
+       AppLogDebug("Entry");
+       FileManaging fileProcessing;
+
+       if (filePath == null)
+       {
+               fileProcessing.SetListOfFiles(__pCheckedListHash);
+       }
+       else
+       {
+               fileProcessing.SetFilePath(*filePath);
+               fileProcessing.SetListOfFiles(null);
+       }
+       fileProcessing.SetCurrentRootPath(L"");
+       fileProcessing.SetOperationId(OPERATIONID_MANAGE_DELETING);
+
+       __pFileManagerThread->SetNameConflictOperationId(fileProcessing);
+       __pFileManagerThread->Start();
+
+       __listener->OnFileManagingStart();
+       AppLogDebug("Exit");
+}
+
+void
+FolderEntryEditorPresentationModel::ForceStopWorkerThread(void)
+{
+       __pFileManagerThread->StopThread();
+}
+
+void
+FolderEntryEditorPresentationModel::SetFileManagingListener(IFileManagingListener* listener)
+{
+       __listener = listener;
+}
+
+bool
+FolderEntryEditorPresentationModel::IsCheckedListNull(void)
+{
+       bool r = true;
+       if (__pCheckedListHash != null)
+       {
+               r = false;
+       }
+       return r;
+}
+
+const Tizen::Base::Collection::HashMap*
+FolderEntryEditorPresentationModel::GetCheckedList(void)
+{
+       return __pCheckedListHash;
+}
+
+result
+FolderEntryEditorPresentationModel::StopFolderEntryEditorThread(void)
+{
+       result r = E_SUCCESS;
+       if ( __pFileManagerThread )
+       {
+               r = __pFileManagerThread->Stop();
+               r = __pFileManagerThread->Join();
+       }
+       AppLogDebug("Exit : %s", GetErrorMessage(r));
+       return r;
+}
diff --git a/src/MfFolderEntryPresentationModel.cpp b/src/MfFolderEntryPresentationModel.cpp
new file mode 100644 (file)
index 0000000..481c0f9
--- /dev/null
@@ -0,0 +1,1134 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFolderEntryPresentationModel.cpp
+ * @brief: This model is responsible for getting the details of any Directory/File entries in the
+ * file system. Constructs the structure which contains basic information of these entries.
+ */
+
+#include <FApp.h>
+#include <FLocales.h>
+#include <FSystem.h>
+#include <FUi.h>
+
+#include "MfFolderEntryDetailPresentationModel.h"
+#include "MfFolderEntryPresentationModel.h"
+#include "MfFolderEntriesComparer.h"
+#include "MfFolderNavigationPresentationModel.h"
+#include "MfMediaMetaData.h"
+#include "MfTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Content;
+using namespace Tizen::Io;
+using namespace Tizen::Locales;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+
+
+static const int INVALID_INDEX = -1;
+IFolderEntryEventListener* FolderEntryPresentationModel::__pFolderEntryEventListener = null;
+//! Constructor for the FileListPresentationModel class
+
+FolderEntryPresentationModel::FolderEntryPresentationModel(void)
+: __requestId(INVALID_INDEX)
+, __forceStop(false)
+, __enableSort(false)
+, __ThumbnailRequestInProgress(false)
+, __currentViewType(APPCONTROL_VIEW_DEFAULT)
+, __sourceForm(CREATE_ITEM_SOURCE_NONE)
+, __entryType(FILE_TYPE_ALL)
+, __pFolderEntries(null)
+, __pFileEventManager(null)
+, __pThumbnailManager(null)
+{
+       //empty implementation
+}
+
+result
+FolderEntryPresentationModel::Construct(void)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+
+       __requestId = 0;
+
+       __pFileEventManager = new (std::nothrow) FileEventManager();
+       r = __pFileEventManager->Construct(*this);
+
+       __pFolderEntries = new (std::nothrow) ArrayList();
+       r = __pFolderEntries->Construct();
+       __enableSort = true;
+
+       __pThumbnailManager = ThumbnailManager::GetInstance();
+
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return r;
+}
+
+//! Destructor for the FileListPresentationModel class
+FolderEntryPresentationModel::~FolderEntryPresentationModel(void)
+{
+       if (__pFolderEntries != null)
+       {
+               __pFolderEntries->RemoveAll(true);
+               delete __pFolderEntries;
+       }
+       if (__pThumbnailManager)
+       {
+               __requestId = INVALID_INDEX;
+       }
+       if (__pFileEventManager != null)
+       {
+               delete __pFileEventManager;
+               __pFileEventManager = null;
+       }
+}
+
+//!Copy Constructor for the FileListPresentationModel class
+FolderEntryPresentationModel::FolderEntryPresentationModel(const FolderEntryPresentationModel& content)
+{
+       //empty Implementation
+}
+
+/*!Overloaded assignment operator for the FileListPresentationModel class.
+ */
+FolderEntryPresentationModel&
+FolderEntryPresentationModel::operator =(const FolderEntryPresentationModel& source)
+{
+       return *this;
+}
+
+/*! This function is responsible for constructing the arraylist which contains
+ * list of all the directory entries in the given path.
+ * Returns the constructed arraylist from the function.
+ */
+void
+FolderEntryPresentationModel::CreateFolderEntryList(const String& directoryName)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       DirectoryEntry* pName = null;
+       DirectoryEntry* pSource = null;
+       DirectoryEntry* pDestination = null;
+       String fileFullName;
+
+       int currentDirectoryCount = 0; //To keep track of the number of directories in the given path
+       int currentFileCount = 0; // To keep track of the number of files in the given path
+       int swapIndex = 0; //This is used to store the position where the next swap operation should be done
+
+       //Check whether the directory path is valid or not. If not then return null from the method.
+       if (directoryName.IsEmpty() || !directoryName.StartsWith(L"/", 0))
+       {
+               if (__pFolderEntries != null)
+               {
+                       __pFolderEntries->RemoveAll(true);
+                       __pFolderEntries = null;
+               }
+               return;
+       }
+
+       //!This call is to construct the directory list of the given path.
+       r = MakeFolderEntryList(directoryName);
+       TryCatch(r == E_SUCCESS, , "construct directory failed");
+
+       // After constructing the arraylist, the directoryCount, fileCount entries have to be updated.
+       // To update these values, call ConstructDirectoryEntryListN for the entries which are directory.
+       for (int fileEntriesCount = 0; fileEntriesCount < __pFolderEntries->GetCount(); fileEntriesCount++) // Start of Directory and File Count loop
+       {
+               currentDirectoryCount = 0;
+               currentFileCount = 0;
+
+               pName = static_cast< DirectoryEntry* >(__pFolderEntries->GetAt(fileEntriesCount));
+               TryCatch(pName != null, , "Failed to get entry");
+               fileFullName = pName->GetFullFilePath();
+               pName->SetDirectoryCount(0);
+               pName->SetFilecount(0);
+
+               //Only if the current entry is a directory we have to update DrirectoryCount and filecount.
+               // If its a file then these entries will be set to 0.
+
+               if (pName->IsDirectory())
+               {
+                       GetFolderEntryCount(fileFullName, currentDirectoryCount, currentFileCount);
+                       pName->SetDirectoryCount(currentDirectoryCount);
+                       pName->SetFilecount(currentFileCount);
+               }
+               else
+               {
+                       pName->SetDirectoryCount(0);
+                       pName->SetFilecount(0);
+               }
+
+               // Once the arraylist for the given path is constructed, the entries which are directory should be in the top of the list.
+               // List is sorted so that Directory entries will be in the top of the list and file entries after this.
+
+               swapIndex = GetSwapIndex();  // The slot number is updated for the next swap operation
+
+               pSource = static_cast< DirectoryEntry* >(__pFolderEntries->GetAt(fileEntriesCount));
+               TryCatch(pSource != null, , "Failed to get entry");
+
+
+               // Swapping should be done only if the entry is a directory
+               if (pSource->IsDirectory())
+               {
+                       if (swapIndex != INVALID_INDEX)
+                       {
+                               pDestination = static_cast< DirectoryEntry* >(__pFolderEntries->GetAt(swapIndex)); //This contains the index where the first non directory entry is present.
+                               TryCatch(pDestination != null, , "Failed to get entry");
+                               //Swapping will be done based on the slot number. The slot number is the first location where the non directory entry is present
+                               SwapFolderEntries(*pSource, *pDestination);
+                       }
+               }
+
+       } // End of Directory and File Count loop
+
+       if (__enableSort == true)
+       {
+               SortFolderEntries();
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return;
+       CATCH:
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       if (__pFolderEntries != null)
+       {
+               __pFolderEntries->RemoveAll(true);
+       }
+}
+
+result
+FolderEntryPresentationModel::MakeFolderEntryList(const String& directoryName)
+{
+       AppLogDebug("Entry");
+       int fileExtensionLength = 0;
+       String entryValue;
+       String fullpath;
+       result r = E_SUCCESS;
+       Directory* pDirectory = null; //! Stores the newly constructed Directory entry
+       DirEnumerator* pDirectoryEnum = null; //! Directory Enumerator for the newly created Directory entry
+       unsigned int typeCount = 0;
+       int currentType = 0;
+       ContentType contentType = CONTENT_TYPE_UNKNOWN;
+
+       pDirectory = new (std::nothrow) Directory();
+       r = pDirectory->Construct(directoryName);
+       AppLogDebug("dir construct result is %s",GetErrorMessage(r));
+       if(r != E_SUCCESS)
+       {
+               delete pDirectory;
+               return r;
+       }
+
+       pDirectoryEnum = pDirectory->ReadN();
+
+       //Add all the directory entries in the given path to arraylist.
+       //Traverse the Directory Enumerator to find all the entries in the given Directory path
+
+       while (pDirectoryEnum->MoveNext() == E_SUCCESS)
+       {
+               DirEntry entryName = pDirectoryEnum->GetCurrentDirEntry();
+
+               //! Some of the default files like "." , "..", hidden files should not be added to the list.
+               if (!(entryName.GetName().StartsWith(L".", 0)) && !entryName.IsHidden())
+               {
+                       //! Add the DirectoryStructure object to the arraylist for each directory entry in the path
+                       DirectoryEntry* pCurrentFolderEntry = new (std::nothrow) DirectoryEntry();
+                       entryValue.Clear();
+                       entryValue = entryName.GetName();
+                       fullpath.Clear();
+
+                       fullpath = directoryName + entryValue;
+
+                       // If the entry is a direcotry then currentDirectoryCount should be incremented.
+                       // Else currentFileCount should be incremented.
+
+                       if (entryName.IsDirectory())
+                       {
+                               fullpath.Append(L"/");
+                       }
+                       else
+                       {
+                               pCurrentFolderEntry->SetFileExtension(File::GetFileExtension(fullpath));
+                               fileExtensionLength = pCurrentFolderEntry->GetFileExtension().GetLength();
+                               if(fileExtensionLength != 0)
+                               {
+                                       entryValue.Remove(entryValue.GetLength() - fileExtensionLength - 1, fileExtensionLength + 1);
+                               }
+                       }
+
+                       pCurrentFolderEntry->SetFullFilePath(fullpath);
+                       pCurrentFolderEntry->SetFileName(entryValue);
+                       pCurrentFolderEntry->SetCheckDirectory(entryName.IsDirectory());
+
+                       contentType = ContentManagerUtil::CheckContentType(fullpath);
+
+                       if (!pCurrentFolderEntry->IsDirectory())
+                       {
+                               if (__entryType == FILE_TYPE_ALL)
+                               {
+                                       __pFolderEntries->Add(pCurrentFolderEntry);
+                               }
+                               else if (__entryType == FILE_TYPE_AUDIO_TYPE)
+                               {
+                                       if (contentType == CONTENT_TYPE_AUDIO)
+                                       {
+                                               __pFolderEntries->Add(pCurrentFolderEntry);
+                                       }
+                               }
+                               else if (__entryType == FILE_TYPE_VIDEO_TYPE)
+                               {
+                                       if (contentType == CONTENT_TYPE_VIDEO)
+                                       {
+                                               __pFolderEntries->Add(pCurrentFolderEntry);
+                                       }
+                               }
+                               else if (__entryType == FILE_TYPE_IMAGE_TYPE)
+                               {
+                                       if (contentType == CONTENT_TYPE_IMAGE)
+                                       {
+                                               __pFolderEntries->Add(pCurrentFolderEntry);
+                                       }
+                               }
+                               else if (__entryType == FILE_TYPE_CONTACTS_TYPE)
+                               {
+                                       typeCount = 0;
+                                       for (currentType = 0; typeCount < sizeof(typeContacts); )
+                                       {
+                                               typeCount = typeCount + sizeof(String);
+                                               if (pCurrentFolderEntry->GetFileExtension().CompareTo(typeContacts[currentType]) == 0)
+                                               {
+                                                       __pFolderEntries->Add(pCurrentFolderEntry);
+                                                       break;
+                                               }
+                                               currentType++;
+                                       }
+                               }
+                       }
+                       else
+                       {
+                               if (__currentViewType != APPCONTROL_VIEW_IMPORT)
+                               {
+                                       __pFolderEntries->Add(pCurrentFolderEntry);
+                               }
+                       }
+               }
+       }
+
+       //if (pDirectory != null)
+       //{
+       delete pDirectory;
+       pDirectory = null;
+       //}
+
+       //if (pDirectoryEnum != null)
+       //{
+       delete pDirectoryEnum;
+       pDirectoryEnum = null;
+       //}
+
+       return r;
+       /*CATCH:
+       if (pDirectory != null)
+       {
+           delete pDirectory;
+           pDirectory = null;
+       }
+
+       if (pDirectoryEnum != null)
+       {
+           delete pDirectoryEnum;
+           pDirectoryEnum = null;
+       }
+       AppLogDebug("Exit:[%s]", GetErrorMessage(r));
+       return r; //! Array list which contains the result value*/
+}
+
+/*! Used to swap two DirectoryStructure objects.
+ * Required during sorting elements so that directory will be in the top of arraylist
+ */
+void
+FolderEntryPresentationModel::SwapFolderEntries(DirectoryEntry& source, DirectoryEntry& destination)
+{
+       //Exchange the contents of source object with the destination object
+       DirectoryEntry intermediate;
+       intermediate = source;
+       source = destination;
+       destination = intermediate;
+}
+
+/*! Returns the next available position in the list where the swapping should be done.
+ * Scans the list from the start and when any entry which is a file is found, that will be
+ * returned as the available slot. Used during sorting elements.
+ */
+int
+FolderEntryPresentationModel::GetSwapIndex(void)
+{
+       int swapIndex = INVALID_INDEX;
+       DirectoryEntry* pDir = null;
+
+       for (int entryCount = 0; entryCount < __pFolderEntries->GetCount(); entryCount++)
+       {
+               pDir = static_cast< DirectoryEntry* >(__pFolderEntries->GetAt(entryCount));
+
+               // Keep searching till a slot is available.
+               // Slot is the position where the first file entry is present.
+               // When this position is reached, return the position as available slot.
+
+               if (!pDir->IsDirectory())
+               {
+                       swapIndex = entryCount;
+                       break;
+               }
+       }
+       return swapIndex;
+}
+
+ArrayList*
+FolderEntryPresentationModel::GetFolderEntryList(void)
+{
+       return __pFolderEntries;
+}
+
+void
+FolderEntryPresentationModel::RefreshFolderEntries(void)
+{
+       if (__pFolderEntries != null)
+       {
+               __pFolderEntries->RemoveAll(true);
+       }
+       CreateFolderEntryList(__currentFilePath);
+}
+
+void
+FolderEntryPresentationModel::SetFolderEntryPath(const String& filePath)
+{
+       AppLogDebug("Entry");
+       __currentFilePath.Clear();
+       __currentFilePath = filePath;
+       if (__pFolderEntries != null)
+       {
+               __pFolderEntries->RemoveAll(true);
+       }
+       CreateFolderEntryList(__currentFilePath);
+}
+
+void
+FolderEntryPresentationModel::GetFolderEntryCount(const String& filePath, int& currentDirectoryCount, int& currentFileCount)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       Directory* pDirectory = null;
+       FileAttributes fileAttrib;
+       String fileExtension;
+       unsigned int typeCount = 0;
+       int currentType = 0;
+
+       r = File::GetAttributes(filePath, fileAttrib);
+
+       if (r != E_SUCCESS)
+       {
+               currentDirectoryCount = 0;
+               currentFileCount = 0;
+               return;
+       }
+
+       currentDirectoryCount = 0;
+       currentFileCount = 0;
+       if (fileAttrib.IsDirectory())
+       {
+               DirEnumerator* pDirectoryEnum = null;
+               pDirectory = new (std::nothrow) Directory();
+
+               r = pDirectory->Construct(filePath);
+               if (pDirectory != null)
+               {
+                       pDirectoryEnum = pDirectory->ReadN();
+               }
+
+               if (pDirectoryEnum != null)
+               {
+                       while (pDirectoryEnum->MoveNext() == E_SUCCESS)
+                       {
+                               DirEntry entryName = pDirectoryEnum->GetCurrentDirEntry();
+                               if (!(entryName.GetName().StartsWith(".", 0)) && !entryName.IsHidden())
+                               {
+                                       String currentName = entryName.GetName();
+                                       String fullpath = filePath + L"/" + currentName;
+
+                                       r = File::GetAttributes(fullpath, fileAttrib);
+
+                                       fileExtension = File::GetFileExtension(fullpath);
+
+                                       if (fileAttrib.IsDirectory())
+                                       {
+                                               currentDirectoryCount++;
+                                       }
+                                       else
+                                       {
+                                               if (__entryType == FILE_TYPE_ALL)
+                                               {
+                                                       currentFileCount++;
+                                               }
+                                               else if (__entryType == FILE_TYPE_AUDIO_TYPE)
+                                               {
+                                                       typeCount = 0;
+                                                       for (currentType = 0; typeCount < sizeof(typeAudio); )
+                                                       {
+                                                               typeCount = typeCount + sizeof(String);
+                                                               if (fileExtension.CompareTo(typeAudio[currentType]) == 0)
+                                                               {
+                                                                       currentFileCount++;
+                                                                       break;
+                                                               }
+                                                               currentType++;
+                                                       }
+                                               }
+                                               else if (__entryType == FILE_TYPE_VIDEO_TYPE)
+                                               {
+                                                       typeCount = 0;
+                                                       for (currentType = 0; typeCount < sizeof(typeVideo); )
+                                                       {
+                                                               typeCount = typeCount + sizeof(String);
+                                                               if (fileExtension.CompareTo(typeVideo[currentType]) == 0)
+                                                               {
+                                                                       currentFileCount++;
+                                                                       break;
+                                                               }
+                                                               currentType++;
+                                                       }
+                                               }
+                                               else if (__entryType == FILE_TYPE_IMAGE_TYPE)
+                                               {
+                                                       typeCount = 0;
+                                                       for (currentType = 0; typeCount < sizeof(typeImage); )
+                                                       {
+                                                               typeCount = typeCount + sizeof(String);
+                                                               if (fileExtension.CompareTo(typeImage[currentType]) == 0)
+                                                               {
+                                                                       currentFileCount++;
+                                                                       break;
+                                                               }
+                                                               currentType++;
+                                                       }
+                                               }
+                                               else if (__entryType == FILE_TYPE_CONTACTS_TYPE)
+                                               {
+                                                       typeCount = 0;
+                                                       for (currentType = 0; typeCount < sizeof(typeContacts); )
+                                                       {
+                                                               typeCount = typeCount + sizeof(String);
+                                                               if (fileExtension.CompareTo(typeContacts[currentType]) == 0)
+                                                               {
+                                                                       currentFileCount++;
+                                                                       break;
+                                                               }
+                                                               currentType++;
+                                                       }
+                                               }
+                                       }
+
+                               }
+                       }
+
+                       if (pDirectory != null)
+                       {
+                               delete pDirectory;
+                               pDirectory = null;
+                       }
+                       if (pDirectoryEnum != null)
+                       {
+                               delete pDirectoryEnum;
+                               pDirectoryEnum = null;
+                       }
+               }
+       }
+
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return;
+}
+
+void
+FolderEntryPresentationModel::SortFolderEntries(void)
+{
+       AppLogDebug("Entry");
+       FolderEntriesComparer comparerObject;
+       ArrayList* pDirectoriesList = null;
+       ArrayList* pFilesList = null;
+       DirectoryEntry* pFiles = null;
+       DirectoryEntry* pFolderList = null;
+       DirectoryEntry* pFileList = null;
+       DirectoryEntry* pNewEntry = null;
+       int directoryCount = 0;
+       int fileCount = 0;
+       int currentCount = 0;
+       result r = E_SUCCESS;
+
+       AppRegistry* pAppRegistry = null;
+       String sortbyKeyName(L"SortBy");
+       int sortType;
+       String currentpath;
+
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+       r = pAppRegistry->Get(sortbyKeyName, sortType);
+       TryCatch(r == E_SUCCESS, , "App Registry Get failed");
+
+       comparerObject.SetSortType(sortType);
+
+       pDirectoriesList = new (std::nothrow) ArrayList();
+       r = pDirectoriesList->Construct();
+       TryCatch(r == E_SUCCESS, , "App Registry Get failed");
+
+       pFilesList = new (std::nothrow) ArrayList();
+       r = pFilesList->Construct();
+       TryCatch(r == E_SUCCESS, , "App Registry Get failed");
+
+
+       GetFolderEntryCount(__currentFilePath, directoryCount, fileCount);
+
+       if (__pFolderEntries != null)
+       {
+               if (__currentViewType != APPCONTROL_VIEW_IMPORT)
+               {
+                       if (directoryCount != 0)
+                       {
+                               for (currentCount = 0; currentCount < directoryCount; currentCount++)
+                               {
+                                       pFiles = static_cast< DirectoryEntry* >(__pFolderEntries->GetAt(currentCount));
+
+                                       if (pFiles != null)
+                                       {
+                                               pFolderList = new (std::nothrow) DirectoryEntry(*pFiles);
+                                               pDirectoriesList->Add(pFolderList);
+                                       }
+                               }
+                       }
+               }
+
+               if (fileCount != 0)
+               {
+                       for (; currentCount < directoryCount + fileCount; currentCount++)
+                       {
+                               pFiles = static_cast< DirectoryEntry* >(__pFolderEntries->GetAt(currentCount));
+
+                               if (pFiles != null)
+                               {
+                                       pFileList = new (std::nothrow) DirectoryEntry(*pFiles);
+                                       pFilesList->Add(pFileList);
+                               }
+                       }
+               }
+       }
+
+       if (directoryCount != 0)
+       {
+               pDirectoriesList->Sort(comparerObject);
+       }
+       if (fileCount != 0)
+       {
+               pFilesList->Sort(comparerObject);
+       }
+
+       if (__pFolderEntries != null)
+       {
+               __pFolderEntries->RemoveAll(true);
+       }
+
+       for (currentCount = 0; currentCount < pDirectoriesList->GetCount(); currentCount++)
+       {
+               pFiles = static_cast< DirectoryEntry* >(pDirectoriesList->GetAt(currentCount));
+               pNewEntry = new (std::nothrow) DirectoryEntry(*pFiles);
+               __pFolderEntries->Add(pNewEntry);
+       }
+
+       for (currentCount = 0; currentCount < pFilesList->GetCount(); currentCount++)
+       {
+               pFiles = static_cast< DirectoryEntry* >(pFilesList->GetAt(currentCount));
+
+               if (pFiles != null)
+               {
+                       pNewEntry = new (std::nothrow) DirectoryEntry(*pFiles);
+                       __pFolderEntries->Add(pNewEntry);
+               }
+       }
+
+       if (pDirectoriesList != null)
+       {
+               pDirectoriesList->RemoveAll(true);
+               delete pDirectoriesList;
+               pDirectoriesList = null;
+       }
+
+       if (pFilesList != null)
+       {
+               pFilesList->RemoveAll(true);
+               delete pFilesList;
+               pFilesList = null;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+
+       CATCH:
+       if (pDirectoriesList != null)
+       {
+               pDirectoriesList->RemoveAll(true);
+               delete pDirectoriesList;
+               pDirectoriesList = null;
+       }
+
+       if (pFilesList != null)
+       {
+               pFilesList->RemoveAll(true);
+               delete pFilesList;
+               pFilesList = null;
+       }
+}
+
+void
+FolderEntryPresentationModel::OnFileEventOccured(unsigned long events, const Tizen::Base::String& path, unsigned int eventId)
+{
+       AppLogDebug("OnFileEventOccured");
+       if (__pFolderEntryEventListener != null)
+       {
+               UpdateFileListEnteries(events, path);
+               AppLogDebug("%d", __pFolderEntries->GetCount());
+               __pFolderEntryEventListener->OnFileEventExecuted(path, events);
+       }
+}
+
+void
+FolderEntryPresentationModel::SetFileEventListener(IFolderEntryEventListener* pIFileEventNotification)
+{
+       result r = E_SUCCESS;
+       __currentFilePath = FolderNavigationPresentationModel::GetCurrentPath();
+       AppLogDebug("SetFileEventListener %ls %d", __currentFilePath.GetPointer(), __pFolderEntries->GetCount());
+       __pFolderEntryEventListener = pIFileEventNotification;
+       if (pIFileEventNotification != null)
+       {
+               r = __pFileEventManager->AddPath(__currentFilePath, FILE_EVENT_TYPE_CREATE | FILE_EVENT_TYPE_DELETE);
+       }
+       else
+       {
+               if (__pFileEventManager != null)
+               {
+                       r = __pFileEventManager->RemovePath(__currentFilePath);
+               }
+               AppLogDebug("its null %s", GetErrorMessage(r));
+       }
+}
+
+void
+FolderEntryPresentationModel::SetFolderEntryType(FileType currentType)
+{
+       __entryType = currentType;
+}
+
+void
+FolderEntryPresentationModel::UpdateFileListEnteries(const unsigned long events, const Tizen::Base::String& path)
+{
+       AppLogDebug("Entry");
+       switch (events)
+       {
+       case FILE_EVENT_TYPE_CREATE:
+       {
+               DirectoryEntry* pDirStr = new (std::nothrow) DirectoryEntry();
+               String delim(L".");
+               String token;
+               String filePath;
+               StringTokenizer strTok(path, delim);
+               int dirCount = 0;
+               int fileCount = 0;
+               String fileName;
+
+               filePath = pDirStr->GetFullFilePath();
+               filePath.Append(__currentFilePath);
+               filePath.Append(path);
+               pDirStr->SetFullFilePath(filePath);
+
+               //pDirStr->fileName.Append(path);
+               while (strTok.HasMoreTokens())
+               {
+                       strTok.GetNextToken(token);
+                       fileName = pDirStr->GetFileName();
+                       fileName.Append(token);
+                       pDirStr->SetFileName(fileName);
+                       //pDirStr->__fileName.Append(token);
+                       break;
+               }
+               pDirStr->SetCheckDirectory(false);
+
+               GetFolderEntryCount(pDirStr->GetFullFilePath(), dirCount, fileCount);
+               pDirStr->SetDirectoryCount(dirCount);
+               pDirStr->SetFilecount(fileCount);
+               pDirStr->SetFileExtension(File::GetFileExtension(pDirStr->GetFullFilePath()));
+               __pFolderEntries->Add(pDirStr);
+               AppLogDebug("%d", __pFolderEntries->GetCount());
+       }
+       break;
+
+       case FILE_EVENT_TYPE_DELETE:
+       {
+               DirectoryEntry* pDirStr = null;
+               int index = 0;
+
+               for (int entriesCount = 0; entriesCount < __pFolderEntries->GetCount(); entriesCount++)
+               {
+                       pDirStr = static_cast< DirectoryEntry* >(__pFolderEntries->GetAt(entriesCount));
+                       String fileName;
+                       if (pDirStr != null)
+                       {
+                               fileName.Append(pDirStr->GetFileName());
+                               fileName.Append(L".");
+                               fileName.Append(pDirStr->GetFileExtension());
+                               if (path == fileName)
+                               {
+                                       index = entriesCount;
+                                       break;
+                               }
+                       }
+               }
+               __pFolderEntries->RemoveAt(index, true);
+       }
+       break;
+
+       case FILE_EVENT_TYPE_DELETE_SELF:
+       {
+               //ShowHomeView();
+       }
+       break;
+
+       default:
+               break;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+result
+FolderEntryPresentationModel::InitThumbnailManager(void)
+{
+       result r = E_SUCCESS;
+       DirectoryEntry* pDirEntry = null;
+
+       AppLogDebug("Enter");
+
+       __forceStop = false;
+       StopThumbnailManager();
+
+       __requestId =0;
+       __ThumbnailRequestInProgress = false;
+
+       TryReturn(__pThumbnailManager != null, E_FAILURE, "Thumbnails could not be generated");
+       TryCatch((__pFolderEntries != null) && (__pFolderEntries->GetCount() != 0) && (__requestId >= 0),r=E_FAILURE, "Invalid Arguments!");
+
+       pDirEntry = static_cast< DirectoryEntry* >(__pFolderEntries->GetAt(__requestId));
+       TryCatch(pDirEntry != null,r=E_FAILURE , "FileEntry list is empty!");
+
+       if (!pDirEntry->IsDirectory() )
+       {
+               pDirEntry->SetLoadBitmap(true);
+               pDirEntry->SetDummy(true);
+       }
+
+       if (!__ThumbnailRequestInProgress && pDirEntry->GetLoadBitmap())
+       {
+               __ThumbnailRequestInProgress = true;
+               r = StartThumbnailRequest(__requestId);
+       }
+       return r;
+CATCH:
+       if ( __requestId >= __pFolderEntries->GetCount()-1)
+               __requestId = INVALID_INDEX;
+       else
+               __requestId++;
+       return r;
+}
+
+result
+FolderEntryPresentationModel::StartThumbnailRequest(int ReqIndex)
+{
+       result r = E_SUCCESS;
+       ArrayList* pList = null;
+       ThumbRequest* pThumbReq = null;
+       DirectoryEntry* pDirEntry = null;
+
+       AppLogDebug("Enter [%d]", ReqIndex);
+       __requestId = ReqIndex;
+
+       if (__forceStop)
+       {
+               StopThumbnailManager();
+               return E_FAILURE;
+       }
+
+       TryReturn(__pThumbnailManager != null, E_FAILURE, "Thumbnails could not be generated");
+       TryCatch((__pFolderEntries != null) && (__pFolderEntries->GetCount() != 0) && (__requestId >= 0), , "Invalid Arguments!");
+
+       if ( __requestId > __pFolderEntries->GetCount()-1 )
+       {
+               StopThumbnailManager();
+               return E_FAILURE;
+       }
+
+       pDirEntry = static_cast< DirectoryEntry* >(__pFolderEntries->GetAt(__requestId));
+       TryCatch(pDirEntry != null, , "FileEntry list is empty!");
+
+       if (pDirEntry->GetBitmap() == null && /* pDirEntry->IstDummy()  && */!pDirEntry->IsDirectory() )
+       {
+               pThumbReq = new (std::nothrow) ThumbRequest(__sourceForm);
+               TryCatch(pThumbReq != null, , "ThumbRequest is null!");
+
+               pThumbReq->iRquestId = __requestId;
+               pThumbReq->FilePath = pDirEntry->GetFullFilePath();
+
+               pList = new (std::nothrow) ArrayList();
+               TryCatch(pList != null, , "ArrayList is null!");
+
+               r = pList->Construct();
+               TryCatch(r == E_SUCCESS, , "ArrayList is null!");
+
+               pList->Add(pThumbReq);
+               __pThumbnailManager->SendUserEvent(ThumbnailManager::THUMB_MGR_GET_THUMBNAIL, pList);
+       }
+       else
+       {
+               __requestId++;
+               StartThumbnailRequest(__requestId);
+       }
+       return r;
+CATCH:
+       if (pList != null)
+       {
+               pList->RemoveAll(false);
+               delete pList;
+       }
+       if (pThumbReq != null)
+       {
+               delete pThumbReq;
+       }
+       AppLogDebug("FLPM Error occured: Entered inputs are invalid!");
+       Application::GetInstance()->SendUserEvent(THUMBNAIL_FAILED, null);
+       __ThumbnailRequestInProgress = false;
+
+       if ( __requestId >= __pFolderEntries->GetCount()-1)
+       {
+               __requestId = INVALID_INDEX;
+               StopThumbnailManager();
+       }
+       else
+       {
+               __requestId++;
+       }
+       AppLogDebug("Exit");
+       return r;
+}
+
+result
+FolderEntryPresentationModel::OnThumbnailResponseReceived(Tizen::Graphics::Bitmap* pThumb, int index)
+{
+       result r = E_SUCCESS;
+       int FolderEntryCount = INVALID_INDEX;
+       DirectoryEntry* pDirEntry = null;
+       AppLogDebug("Enter [%d]", index);
+
+       __ThumbnailRequestInProgress = false;
+
+       AppLogDebug("Current ReqId : %d %d", __requestId, index);
+       if ( __forceStop )
+       {
+               StopThumbnailManager();
+               return E_FAILURE;
+       }
+
+       TryCatch(__pFolderEntries != null && __pFolderEntries->GetCount() != 0, , "Invalid Arguments");
+       TryCatch(__requestId != INVALID_INDEX, , "Item index reached to maximum value!");
+       pDirEntry = static_cast< DirectoryEntry* >(__pFolderEntries->GetAt(index));
+       TryCatch(pDirEntry != null, , "Invalid directory entry pointer!");
+
+       if (index > INVALID_INDEX && pThumb != null)
+       {
+               if (__requestId == index)
+               {
+                       pDirEntry->SetDummy(false);
+                       pDirEntry->SetLoadBitmap(false);
+                       pDirEntry->SetBitmap(pThumb);
+               }
+               else
+               {
+                       //This is just a temporary fix, actualy fix should be in Source form.
+                       AppLogDebug("Request Id mismatch");
+                       pDirEntry = static_cast< DirectoryEntry* >(__pFolderEntries->GetAt(__requestId));
+                       TryCatch(pDirEntry != null, , "Invalid directory entry pointer!");
+                       if ( pDirEntry )
+                       {
+                               pDirEntry->SetDummy(false);
+                               pDirEntry->SetLoadBitmap(false);
+                               pDirEntry->SetBitmap(pThumb);
+                       }
+               }
+       }
+       else
+               AppLogDebug("Invalid Index of No Thumbnail");
+
+       FolderEntryCount = __pFolderEntries->GetCount();
+
+       if (pDirEntry->GetLoadBitmap())
+       {
+               if (__requestId < FolderEntryCount )
+               {
+                       __requestId++;
+                       StartThumbnailRequest(__requestId);
+               }
+               else if (__requestId >= FolderEntryCount)
+               {
+                       __requestId = INVALID_INDEX;
+                       __ThumbnailRequestInProgress = false;
+                       StopThumbnailManager();
+               }
+       }
+       else
+       {
+               __requestId++;
+               StartThumbnailRequest(__requestId);
+       }
+       return r;
+CATCH:
+       if (pThumb != null)
+       {
+               delete pThumb;
+       }
+       if (!__ThumbnailRequestInProgress)
+       {
+               if(__requestId >= __pFolderEntries->GetCount()-1 )
+                       StopThumbnailManager();
+               else
+                       __requestId++;
+       }
+
+       AppLogDebug("FLPM : Failed due to unknown reasons [%d]", __requestId);
+       AppLogDebug("Exit");
+       return r;
+}
+
+result
+FolderEntryPresentationModel::OnThumbnailResponseFailed(int index)
+{
+       result r = E_SUCCESS;
+       int FolderEntryCount = INVALID_INDEX;
+       DirectoryEntry* pDirEntry = null;
+
+       AppLogDebug("Current ReqId : %d %d", __requestId, index);
+
+       if ( __forceStop )
+       {
+               StopThumbnailManager();
+               return E_FAILURE;
+       }
+
+       TryCatch((__pFolderEntries != null) && (__pFolderEntries->GetCount() != 0), r= E_FAILURE, "Data not found");
+       AppLogDebug("ThumbnailResponseFailed : Request id [%d], Index [%d]", __requestId, index);
+
+       __ThumbnailRequestInProgress = false;
+
+       pDirEntry = static_cast< DirectoryEntry* >(__pFolderEntries->GetAt(index));
+       TryCatch(pDirEntry != null, , "Invalid parameters!");
+
+       FolderEntryCount = __pFolderEntries->GetCount();
+
+       if (pDirEntry->GetLoadBitmap())
+       {
+               if (__requestId < FolderEntryCount )
+               {
+                       __requestId++;
+                       StartThumbnailRequest(__requestId);
+               }
+               else if (__requestId >= FolderEntryCount)
+               {
+                       __requestId = INVALID_INDEX;
+                       __ThumbnailRequestInProgress = false;
+                       StopThumbnailManager();
+               }
+       }
+       else
+       {
+               __requestId++;
+               StartThumbnailRequest(__requestId);
+       }
+       AppLogDebug("EXIT : %s", GetErrorMessage(r));
+CATCH:
+       __ThumbnailRequestInProgress = false;
+
+       if(__requestId >= __pFolderEntries->GetCount()-1 )
+               StopThumbnailManager();
+       else
+               __requestId++;
+       return r;
+}
+
+result
+FolderEntryPresentationModel::SetListUpdateEventListener(IListViewStateChangeListener* pListener)
+{
+       result r = E_SUCCESS;
+#if 0
+       __pListUpdateListener = pListener;
+#endif
+       return r;
+
+}
+
+result
+FolderEntryPresentationModel::StopThumbnailManager(bool bForceStop)
+{
+       result r = E_SUCCESS;
+
+       AppLogDebug("StopThumbnailManager [%d]", __requestId);
+
+       __forceStop = bForceStop;
+
+       TryCatch(__pThumbnailManager != null, r=E_FAILURE, "Thumbnails could not be generated");
+       __pThumbnailManager->SendUserEvent(ThumbnailManager::THUMB_MGR_STOP, null);
+CATCH:
+       __ThumbnailRequestInProgress = false;
+       __requestId = INVALID_INDEX;
+
+       AppLogDebug("StopThumbnailManager--");
+       return r;
+}
+
+void
+FolderEntryPresentationModel::SetSortEnabled(bool enableFlag)
+{
+       __enableSort = enableFlag;
+}
+IFolderEntryProviderListener::~IFolderEntryProviderListener(void)
+{
+       //empty Implementation
+}
+
+void
+FolderEntryPresentationModel::SetSourceForm(CreateItemSource currentSource)
+{
+       __sourceForm = currentSource;
+}
+
+CreateItemSource
+FolderEntryPresentationModel::GetSourceForm(void)
+{
+       return __sourceForm;
+}
diff --git a/src/MfFolderMediaMetaData.cpp b/src/MfFolderMediaMetaData.cpp
new file mode 100644 (file)
index 0000000..cfeed6b
--- /dev/null
@@ -0,0 +1,76 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFolderMediaMetaData.cpp
+ * @brief: This file contains the implementation of FolderMediaMetaData class,
+ * which acts as a Folder Meta Data Provider.
+ */
+
+#include "MfFolderMediaMetaData.h"
+
+FolderMediaMetaData::FolderMediaMetaData(void)
+{
+       __noOfFiles = 0;
+       __noOfFolders = 0;
+}
+
+FolderMediaMetaData::~FolderMediaMetaData(void)
+{
+       // empty implementation
+}
+
+FolderMediaMetaData&
+FolderMediaMetaData::operator =(const FolderMediaMetaData& folderMediaMetaData)
+{
+       AppLogDebug("Entry");
+       if (this != &folderMediaMetaData)
+       {
+               __noOfFiles = folderMediaMetaData.__noOfFiles;
+               __noOfFolders = folderMediaMetaData.__noOfFolders;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return *this;
+}
+
+FolderMediaMetaData::FolderMediaMetaData(const FolderMediaMetaData& folderMediaMetaData)
+{
+       __noOfFiles = folderMediaMetaData.__noOfFiles;
+       __noOfFolders = folderMediaMetaData.__noOfFolders;
+}
+
+void
+FolderMediaMetaData::SetNoOfFiles(int noOfFilesInDir)
+{
+       __noOfFiles = noOfFilesInDir;
+}
+
+void
+FolderMediaMetaData::SetNoOfFolders(int noOfFoldersInDir)
+{
+       __noOfFolders = noOfFoldersInDir;
+}
+
+int
+FolderMediaMetaData::GetNoOfFiles(void)
+{
+       return __noOfFiles;
+}
+int
+FolderMediaMetaData::GetNoOfFolders(void)
+{
+       return __noOfFolders;
+}
diff --git a/src/MfFolderNavigationPresentationModel.cpp b/src/MfFolderNavigationPresentationModel.cpp
new file mode 100644 (file)
index 0000000..b2d9141
--- /dev/null
@@ -0,0 +1,134 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFolderNavigationPresentationModel.cpp
+ * @brief: This file contains the implementation of FolderNavigationPresentationModel class, manages the navigation of folders through the application.
+ * Contains methods which maintain the flow of the file paths involved in the application.
+ */
+
+#include "MfFolderNavigationPresentationModel.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+
+String FolderNavigationPresentationModel::__currentFilePath;
+String FolderNavigationPresentationModel::__previousSearchPath;
+MemoryType FolderNavigationPresentationModel::__storageType = MEMORY_TYPE_PHONE;
+
+FolderNavigationPresentationModel::FolderNavigationPresentationModel(void)
+{
+       AppLogDebug("Entry");
+       __storageType = MEMORY_TYPE_PHONE;
+}
+
+FolderNavigationPresentationModel::~FolderNavigationPresentationModel(void)
+{
+       //Empty Implementation.
+}
+
+
+void
+FolderNavigationPresentationModel::SetCurrentFilePath(const String& filePath)
+{
+       AppLogDebug("Entry");
+       __currentFilePath.Clear();
+       __currentFilePath.Append(filePath);
+}
+
+String
+FolderNavigationPresentationModel::GetParentPath(void)
+{
+       AppLogDebug("Entry");
+       String previousParentPath(L"");
+       String delim(L"/");
+       String token(L"");
+
+
+       AppLogDebug("path sent is: %S",__currentFilePath.GetPointer());
+
+       if ( __currentFilePath.Equals(BasePresentationModel::GetMediaPath(), false) ||
+                       token.Equals(BasePresentationModel::GetSdCardPath(), false) ||
+                       token.Equals(BasePresentationModel::GetUsbPath(), false))
+       {
+               AppLogDebug("path sent is root path hence return");
+               return __currentFilePath;
+       }
+       else
+       {
+               StringTokenizer strTok(__currentFilePath, delim);
+               while (strTok.HasMoreTokens())
+               {
+                       strTok.GetNextToken(token);
+                       previousParentPath.Append(L"/");
+                       previousParentPath.Append(token);
+
+                       AppLogDebug("Parent Path (Current Token )is : %S", previousParentPath.GetPointer());
+                       if (strTok.GetTokenCount() == 1 /*||
+                                       token.Equals(BasePresentationModel::GetMediaPath(), false) ||
+                                       token.Equals(BasePresentationModel::GetSdCardPath(), false) ||
+                                       token.Equals(BasePresentationModel::GetUsbPath(), false)*/)
+                       {
+                               break;
+                       }
+               }
+               previousParentPath.Append(L"/");
+
+               AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+               return previousParentPath;
+       }
+
+}
+
+String
+FolderNavigationPresentationModel::GetCurrentPath(void)
+{
+       AppLogDebug("Entry");
+       return __currentFilePath;
+}
+
+void
+FolderNavigationPresentationModel::SetStorageType(MemoryType storageType)
+{
+       AppLogDebug("Entry");
+       __storageType = storageType;
+}
+
+MemoryType
+FolderNavigationPresentationModel::GetStorageType(void)
+{
+       AppLogDebug("Entry");
+       return __storageType;
+}
+
+String
+FolderNavigationPresentationModel::GetSearchPreviousPath(void)
+{
+       AppLogDebug("Entry");
+       return __previousSearchPath;
+}
+
+void
+FolderNavigationPresentationModel::SetSearchPreviousPath(const String& filePath)
+{
+       AppLogDebug("Entry");
+       __previousSearchPath = filePath;
+}
diff --git a/src/MfFontManager.cpp b/src/MfFontManager.cpp
new file mode 100644 (file)
index 0000000..05adee6
--- /dev/null
@@ -0,0 +1,108 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFontManager.cpp
+ * @brief: This file contains implementation of FontManager class, which manages the styles and fonts used across the application.
+ * Also contains a structure Font_Table, which manages the fonts.
+ */
+
+#include "MfFontManager.h"
+
+using namespace Tizen::Graphics;
+
+FontTable g_FontTable[] = {
+//FONT_MAIN
+{
+       NULL, L"Helvetica Neue" /*L"GT_Latin"*/, FONT_STYLE_PLAIN, ID_FONT_SIZE_44,
+},
+
+//FONT_SUB
+{
+       NULL, L"Helvetica Neue" /*L"GT_Latin"*/, FONT_STYLE_BOLD, ID_FONT_SIZE_32,
+},
+
+//FONT_BUTTON
+{
+       NULL, L"Helvetica Neue" /*L"GT_Latin"*/, FONT_STYLE_PLAIN, ID_FONT_SIZE_36,
+},
+//FONT_HELVETICA
+{
+       NULL, L"Helvetica Neue", FONT_STYLE_PLAIN | FONT_STYLE_BOLD, ID_FONT_SIZE_26,
+},
+//FONT_OTHER
+{
+       NULL, L"Global" /*L"GT_Latin"*/, FONT_STYLE_PLAIN | FONT_STYLE_BOLD, ID_FONT_SIZE_26,
+},
+// end of font table ----------
+{
+       NULL, L"", FONT_STYLE_PLAIN, 0
+},
+};
+
+void
+FontManager::CreateFont(FontId fontid)
+{
+       AppLogDebug("Entry");
+       if (fontid < 0 || fontid >= FONT_MAX) return;
+       if (g_FontTable[fontid].pInstance) return;
+       if (g_FontTable[fontid].fontName.GetLength() <= 0) return;
+
+       Font* f = new (std::nothrow) Font();
+       if (f == NULL)
+       {
+               return;
+       }
+
+       f->Construct( /*g_FontTable[fontid].fontName,*/
+               g_FontTable[fontid].fontStyle,
+               g_FontTable[fontid].fontSize);
+
+       g_FontTable[fontid].pInstance = f;
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+Font*
+FontManager::GetFont(FontId fontid)
+{
+       AppLogDebug("Entry");
+       if (fontid < 0 || fontid >= FONT_MAX) return NULL;
+
+       if (!g_FontTable[fontid].pInstance)
+       {
+               CreateFont(fontid);
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return g_FontTable[fontid].pInstance;
+
+}
+
+void
+FontManager::ReleaseFonts(void)
+{
+       AppLogDebug("Entry");
+       int i = 0;
+
+       for (i = 0; i < FONT_MAX; i++)
+       {
+               if (g_FontTable[i].pInstance)
+               {
+                       delete g_FontTable[i].pInstance;
+                       g_FontTable[i].pInstance = NULL;
+               }
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
diff --git a/src/MfFormFactory.cpp b/src/MfFormFactory.cpp
new file mode 100644 (file)
index 0000000..42da93b
--- /dev/null
@@ -0,0 +1,219 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ *@file: MfFormFactory.cpp
+ *@brief: This file contains the implementation MfMyFilesAppFormFactory class, which manages
+ *all the forms of the application.
+ */
+
+
+#include "MfCreateFolderForm.h"
+#include "MfDetailsForm.h"
+#include "MfFormFactory.h"
+#include "MfFileManageForm.h"
+#include "MfSearchForm.h"
+#include "MfSubFolderSelection.h"
+#include "MfSubFolderFileListForm.h"
+#include "MfSubFolderMoveCopy.h"
+#include "MfTopMostFileSelectionForm.h"
+#include "MfTopMostFolderFileListForm.h"
+#include "MfTopMostMoveCopy.h"
+
+using namespace Tizen::Ui::Scenes;
+using namespace Tizen::Ui::Controls;
+
+const wchar_t* FORM_MAIN = L"FormMain";
+const wchar_t* FORM_FILE_DETAIL = L"FormFileDetail";
+const wchar_t* FORM_EDIT = L"FormEdit";
+const wchar_t* FORM_CREATE_FOLDER = L"FormCreateFolder";
+const wchar_t* FORM_ROOT_DIRECTORY = L"FormRootDirectory";
+const wchar_t* FORM_SUB_DIRECTORY = L"FormSubDirectory";
+const wchar_t* FORM_SUB_DIRECTORY1 = L"FormSubDirectory1";
+const wchar_t* FORM_ROOT_DIRECTORY_MOVE_COPY = L"FormRootDirectoryMoveCopy";
+const wchar_t* FORM_SUB_DIRECTORY_MOVE_COPY = L"FormSubDirectoryMoveCopy";
+const wchar_t* FORM_SUB_DIRECTORY_MOVE_COPY1 = L"FormSubDirectoryMoveCopy1";
+const wchar_t* FORM_SEARCH = L"FormSearch";
+const wchar_t* FORM_TOP_MOST_FILE_SELECTION = L"FormTopMostSelection";
+const wchar_t* FORM_SUB_FOLDER_FILE_SELECTION = L"FormSubFolderSelection";
+const wchar_t* FORM_SUB_FOLDER_FILE_SELECTION1 = L"FormSubFolderSelection1";
+
+FormFactory::FormFactory(void)
+{
+       //Empty Implementation.
+}
+
+FormFactory::~FormFactory(void)
+{
+       //Empty Implementation.
+}
+
+Tizen::Ui::Controls::Form*
+FormFactory::CreateFormN(const Tizen::Base::String& formId, const Tizen::Ui::Scenes::SceneId& sceneId)
+{
+       AppLogDebug("ENTER");
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+
+       Form* pNewForm = null;
+
+       if (formId == FORM_FILE_DETAIL)
+       {
+               DetailsForm* pForm = new (std::nothrow) DetailsForm();
+               if (pForm != null)
+               {
+                       pForm->Initialize();
+                       pSceneManager->AddSceneEventListener(sceneId, *pForm);
+                       pNewForm = pForm;
+               }
+               else
+               {
+                       return null;
+               }
+       }
+       else if (formId == FORM_EDIT)
+       {
+               FileManageForm* pForm = new (std::nothrow) FileManageForm();
+               if (pForm != null)
+               {
+                       pForm->Initialize();
+
+                       pSceneManager->AddSceneEventListener(sceneId, *pForm);
+
+                       pNewForm = pForm;
+               }
+               else
+               {
+                       return null;
+               }
+       }
+       else if (formId == FORM_CREATE_FOLDER)
+       {
+               CreateFolderForm* pForm = new (std::nothrow) CreateFolderForm();
+               if (pForm != null)
+               {
+                       pForm->Initialize();
+                       pSceneManager->AddSceneEventListener(sceneId, *pForm);
+                       pNewForm = pForm;
+               }
+               else
+               {
+                       return null;
+               }
+
+       }
+       else if (formId == FORM_ROOT_DIRECTORY)
+       {
+               TopMostFolderFileListForm* pForm = new (std::nothrow) TopMostFolderFileListForm();
+               if (pForm != null)
+               {
+                       pForm->Initialize();
+                       pSceneManager->AddSceneEventListener(sceneId, *pForm);
+                       pNewForm = pForm;
+               }
+               else
+               {
+                       return null;
+               }
+       }
+       else if (formId == FORM_SUB_DIRECTORY || formId == FORM_SUB_DIRECTORY1)
+       {
+               SubFolderFileListForm* pForm = new (std::nothrow) SubFolderFileListForm();
+               if (pForm != null)
+               {
+                       pForm->Initialize();
+                       pSceneManager->AddSceneEventListener(sceneId, *pForm);
+                       //pSceneManager->AddSceneEventListener(IDSCN_SUB_DIRECTORY_FORM1,*pForm);
+                       pNewForm = pForm;
+               }
+               else
+               {
+                       return null;
+               }
+       }
+       else if (formId == FORM_ROOT_DIRECTORY_MOVE_COPY)
+       {
+               TopMostMoveCopy* pForm = new (std::nothrow) TopMostMoveCopy();
+               if (pForm != null)
+               {
+                       pForm->Initialize();
+                       pSceneManager->AddSceneEventListener(sceneId, *pForm);
+                       pNewForm = pForm;
+               }
+               else
+               {
+                       return null;
+               }
+       }
+       else if (formId == FORM_SUB_DIRECTORY_MOVE_COPY || formId == FORM_SUB_DIRECTORY_MOVE_COPY1)
+       {
+               SubFolderMoveCopy* pForm = new (std::nothrow) SubFolderMoveCopy();
+               if (pForm != null)
+               {
+                       pForm->Initialize();
+                       pSceneManager->AddSceneEventListener(sceneId, *pForm);
+
+                       pNewForm = pForm;
+               }
+               else
+               {
+                       return null;
+               }
+       }
+       else if (formId == FORM_SEARCH)
+       {
+               SearchForm* pForm = new (std::nothrow) SearchForm();
+               if (pForm != null)
+               {
+                       pForm->Initialize();
+                       pSceneManager->AddSceneEventListener(sceneId, *pForm);
+                       pNewForm = pForm;
+               }
+               else
+               {
+                       return null;
+               }
+       }
+       else if (formId == FORM_TOP_MOST_FILE_SELECTION)
+       {
+               TopMostFileSelectionForm* pForm = new (std::nothrow) TopMostFileSelectionForm();
+               if (pForm != null)
+               {
+                       pForm->Initialize();
+                       pSceneManager->AddSceneEventListener(sceneId, *pForm);
+                       pNewForm = pForm;
+               }
+               else
+               {
+                       return null;
+               }
+       }
+       else if (formId == FORM_SUB_FOLDER_FILE_SELECTION || formId == FORM_SUB_FOLDER_FILE_SELECTION1)
+       {
+               SubFolderSelection* pForm = new (std::nothrow) SubFolderSelection();
+               if (pForm != null)
+               {
+                       pForm->Initialize();
+                       pSceneManager->AddSceneEventListener(sceneId, *pForm);
+                       pNewForm = pForm;
+               }
+               else
+               {
+                       return null;
+               }
+       }
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+       return pNewForm;
+}
diff --git a/src/MfFormatedText.cpp b/src/MfFormatedText.cpp
new file mode 100644 (file)
index 0000000..5b9e5cc
--- /dev/null
@@ -0,0 +1,355 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfFormatedText.cpp
+ * @brief: This file contains implementation of FormatedText class, which is derived from ICustomElement and contains
+ * customized format of text for the application.
+ */
+
+#include "MfFormatedText.h"
+#include "MfFontManager.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Graphics;
+using namespace Tizen::Media;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+
+FormatedText::FormatedText(int width, bool selectState)
+{
+       AppLogDebug("Entry");
+       int i = 0;
+       __nWidth = width;
+
+       for (i = 0; i < ID_MAX_TEXT_ITEMS; i++)
+       {
+               if (i < int(sizeof(__strText) / sizeof(__strText[0])))
+                       __strText[i] = L"";
+               if (i < int(sizeof(__textColor) / sizeof(__textColor[0])))
+                       __textColor[i] = Color(0, 0, 0);
+               __font[i] = FONT_INVALID;
+               __pTElement[i] = null;
+       }
+
+       __nCurIdx = 0;
+
+       __halign = TEXT_ALIGNMENT_LEFT;
+       __valign = TEXT_ALIGNMENT_TOP;
+       __nLineSpace = 1;
+       __bUpdated = false;
+       __bSelectState = selectState;
+       __pButtonBgNormal = null;
+       __pButtonBgSelect = null;
+       __textWrap = TEXT_WRAP_NONE;
+
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+
+FormatedText::~FormatedText(void)
+{
+       AppLogDebug("Entry");
+       FreeTextElements();
+
+       if (__pButtonBgNormal != null)
+       {
+               delete __pButtonBgNormal;
+       }
+       if (__pButtonBgSelect != null)
+       {
+               delete __pButtonBgSelect;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+FormatedText::FormatedText(const FormatedText& p)
+{
+       AppLogDebug("Entry");
+       int i = 0;
+       __nWidth = p.__nWidth;
+       __nCurIdx = p.__nCurIdx;
+
+       __halign = p.__halign;
+       __valign = p.__valign;
+       __nLineSpace = p.__nLineSpace;
+       __bUpdated = p.__bUpdated;
+       __bSelectState = p.__bSelectState;
+       __textWrap = p.__textWrap;
+
+       for (i = 0; i < ID_MAX_TEXT_ITEMS; i++)
+       {
+               if (i < int(sizeof(p.__strText) / sizeof(p.__strText[0])))
+                       __strText[i] = p.__strText[i];
+               if (i < int(sizeof(p.__textColor) / sizeof(p.__textColor[0])))
+                       __textColor[i] = p.__textColor[i];
+               __font[i] = p.__font[i];
+               __pTElement[i] = p.__pTElement[i];
+       }
+
+       __pButtonBgNormal = new (std::nothrow) Bitmap();
+       if (__pButtonBgNormal != null)
+               __pButtonBgNormal->Construct(*p.__pButtonBgNormal, Rectangle(X_DEFAULT, Y_DEFAULT, p.__pButtonBgNormal->GetWidth(), p.__pButtonBgNormal->GetHeight()));
+       __pButtonBgSelect = new (std::nothrow) Bitmap();
+       if (__pButtonBgSelect != null)
+               __pButtonBgSelect->Construct(*p.__pButtonBgSelect, Rectangle(X_DEFAULT, Y_DEFAULT, p.__pButtonBgSelect->GetWidth(), p.__pButtonBgSelect->GetHeight()));
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+FormatedText&
+FormatedText::operator =(const FormatedText& rhs)
+{
+       AppLogDebug("Entry");
+       if (this != &rhs)
+       {
+               int i = 0;
+               __nWidth = rhs.__nWidth;
+               __nCurIdx = rhs.__nCurIdx;
+
+               __halign = rhs.__halign;
+               __valign = rhs.__valign;
+               __nLineSpace = rhs.__nLineSpace;
+               __bUpdated = rhs.__bUpdated;
+               __bSelectState = rhs.__bSelectState;
+
+               for (i = 0; i < ID_MAX_TEXT_ITEMS; i++)
+               {
+                       if (i < int(sizeof(rhs.__strText) / sizeof(rhs.__strText[0])))
+                               __strText[i] = rhs.__strText[i];
+                       if (i < int(sizeof(rhs.__textColor) / sizeof(rhs.__textColor[0])))
+                               __textColor[i] = rhs.__textColor[i];
+                       __font[i] = rhs.__font[i];
+                       __pTElement[i] = rhs.__pTElement[i];
+               }
+
+               __pButtonBgNormal = new (std::nothrow) Bitmap();
+               if (__pButtonBgNormal)
+                       __pButtonBgNormal->Construct(*rhs.__pButtonBgNormal, Rectangle(X_DEFAULT, Y_DEFAULT, rhs.__pButtonBgNormal->GetWidth(), rhs.__pButtonBgNormal->GetHeight()));
+               __pButtonBgSelect = new (std::nothrow) Bitmap();
+               if (__pButtonBgSelect)
+                       __pButtonBgSelect->Construct(*rhs.__pButtonBgSelect, Rectangle(X_DEFAULT, Y_DEFAULT, rhs.__pButtonBgSelect->GetWidth(), rhs.__pButtonBgSelect->GetHeight()));
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return *this;
+}
+void
+FormatedText::FreeTextElements(void)
+{
+       AppLogDebug("Entry");
+       for (int i = 0; i < ID_MAX_TEXT_ITEMS; i++)
+       {
+               if (!__pTElement[i]) continue;
+
+               delete __pTElement[i];
+               __pTElement[i] = null;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+void
+FormatedText::AddText(Tizen::Base::String& text, FontId fontid, Tizen::Graphics::Color& color)
+{
+       AppLogDebug("Entry");
+       if (__nCurIdx >= ID_MAX_TEXT_ITEMS) return;
+
+       if (text.GetLength() <= 0) text = L" ";
+
+       if (__nCurIdx < int(sizeof(__strText) / sizeof(__strText[0])))
+               __strText[__nCurIdx] = text;
+       if (__nCurIdx < int(sizeof(__textColor) / sizeof(__textColor[0])))
+               __textColor[__nCurIdx] = color;
+       __font[__nCurIdx] = fontid;
+
+       __nCurIdx++;
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+
+void
+FormatedText::SetAlignment(TextHorizontalAlignment halign, TextVerticalAlignment valign)
+{
+       AppLogDebug("Entry");
+       __halign = halign;
+       __valign = valign;
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+void
+FormatedText::SetLineSpace(int lineSpace)
+{
+       AppLogDebug("Entry");
+       if (lineSpace < 0) lineSpace = 0;
+       if (lineSpace > ID_MAX_LINE_SPACE)
+       {
+               AppLogDebug("MultiText::SetLineSpace(%d): WARNNING. Too big line space.", lineSpace);
+               lineSpace = ID_MAX_LINE_SPACE;
+       }
+
+       __nLineSpace = lineSpace;
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+void
+FormatedText::SetTextWrap(Tizen::Graphics::TextWrap textWrap)
+{
+       __textWrap = textWrap;
+}
+
+void
+FormatedText::CreateEnrichedText(EnrichedText& eText, Rectangle* rect, bool textonButton)
+{
+       AppLogDebug("Entry");
+       if (__nCurIdx == 0) return;
+
+       FreeTextElements();
+
+       int i = 0;
+       if (rect != null)
+       {
+               Dimension dim = Dimension(rect->width, rect->height);
+               eText.Construct(dim);
+       }
+       else
+       {
+               Rectangle tmp = Rectangle(0, 0, __nWidth, H_ENRICHED_TEXT);
+               Dimension dim2 = Dimension(__nWidth, H_ENRICHED_TEXT);
+               eText.Construct(dim2);
+       }
+
+       eText.SetHorizontalAlignment(__halign);
+       eText.SetVerticalAlignment(__valign);
+       eText.SetTextWrapStyle(__textWrap);
+
+       AppLogDebug("Text Wrap Style is : %d", __textWrap);
+
+       eText.SetLineSpace(__nLineSpace);
+
+       for (i = 0; i < __nCurIdx; i++)
+       {
+               if (!__pTElement[i])
+               {
+                       delete __pTElement[i];
+                       __pTElement[i] = null;
+               }
+
+               if (__strText[i].IsEmpty() == true)
+               {
+                       AppLogDebug("Text is Empty");
+                       return;
+               }
+
+               __pTElement[i] = new (std::nothrow) TextElement();
+               __pTElement[i]->Construct(__strText[i]);
+
+               Font* font = NULL;
+               AppLogDebug("FormatedText::CreateEnrichedText:%d", __font[i]);
+               if (__font[i] != FONT_INVALID)
+               {
+                       font = FontManager::GetFont(__font[i]);
+                       if (font)
+                               __pTElement[i]->SetFont(*font);
+               }
+
+               if (true == textonButton)
+                       __pTElement[i]->SetTextColor(Color(0, 0, 0));
+               else
+                       __pTElement[i]->SetTextColor(__textColor[i]);
+               eText.Add(*__pTElement[i]);
+       }
+       eText.SetTextWrapStyle(__textWrap);
+       eText.SetTextAbbreviationEnabled(true);
+       eText.Refresh();
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+int
+FormatedText::GetHeight(void)
+{
+       AppLogDebug("Entry");
+       EnrichedText etext;
+
+       CreateEnrichedText(etext, null);
+       int height = 0;
+       height = etext.GetTotalLineHeight();
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return height;
+}
+
+bool
+FormatedText::OnDraw(Tizen::Graphics::Canvas& canvas, const Tizen::Graphics::Rectangle& rect, Tizen::Ui::Controls::ListItemDrawingStatus status)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       Canvas* pCanvas = const_cast< Canvas* >(&canvas);
+       Rectangle rectMessageBg = rect;
+       EnrichedText etext;
+       TextElement* pTextElement = null;
+       Rectangle* eTextRect = const_cast< Rectangle* >(&rect);
+
+       CreateEnrichedText(etext, eTextRect);
+       etext.SetTextWrapStyle(__textWrap);
+       Point ptText = Point(rect.x, rect.y);
+
+
+       if (status == LIST_ITEM_DRAWING_STATUS_PRESSED)
+       {
+               pTextElement = static_cast< TextElement* >(etext.GetTextElementAt(0));
+               if (pTextElement != null)
+               {
+                       pTextElement->SetTextColor(Color::GetColor(COLOR_ID_WHITE));
+               }
+
+               AppLogDebug("%s", GetErrorMessage(r));
+       }
+
+       if (pCanvas != null)
+               r = pCanvas->DrawText(ptText, etext);
+       else
+               AppLog("pCanvas is null");
+       AppLogDebug("%s", GetErrorMessage(r));
+
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return true;
+}
+
+int
+FormatedText::GetWidth(void)
+{
+       AppLogDebug("Entry");
+
+       EnrichedText etext;
+       CreateEnrichedText(etext, null);
+
+       int width = 0;
+       int height = 0;
+       int length = 0;
+       int firstLineLength = etext.GetLineLength(0);
+       etext.GetTextExtent(0, firstLineLength, width, height, length);
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return width;
+}
+
+void
+FormatedText::AddSimpleText(String& text, FontId fontid, Color& color,
+                                                       TextHorizontalAlignment halign,
+                                                       TextVerticalAlignment valign)
+{
+       AppLogDebug("Entry");
+       AddText(text, fontid, color);
+       SetAlignment(halign, valign);
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       //SetLineSpace(0);
+}
diff --git a/src/MfIDeviceNotificationListener.cpp b/src/MfIDeviceNotificationListener.cpp
new file mode 100644 (file)
index 0000000..459f0cb
--- /dev/null
@@ -0,0 +1,33 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfIDeviceNotificationListener.cpp
+ * @brief: This file contains implementation of IFolderEntryDeviceListener class, which is a custom listener class for handling
+ * storage device changes to file.
+ */
+
+#include <MfIDeviceNotificationListener.h>
+
+IFolderEntryDeviceListener::IFolderEntryDeviceListener(void)
+{
+       //empty implementation
+}
+
+IFolderEntryDeviceListener::~IFolderEntryDeviceListener(void)
+{
+       //empty implementation
+}
diff --git a/src/MfIFileEventNotification.cpp b/src/MfIFileEventNotification.cpp
new file mode 100644 (file)
index 0000000..546a774
--- /dev/null
@@ -0,0 +1,33 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfIFileEventNotification.cpp
+ * @brief: This file contains implementation of IFolderEntryEventListener class, which is a custom listener class for handling
+ * the notification of file events to the user.
+ */
+
+#include "MfIFileEventNotification.h"
+
+IFolderEntryEventListener::IFolderEntryEventListener(void)
+{
+       //empty implementation
+}
+
+IFolderEntryEventListener::~IFolderEntryEventListener(void)
+{
+       //empty implementation
+}
diff --git a/src/MfIFileManagingListener.cpp b/src/MfIFileManagingListener.cpp
new file mode 100644 (file)
index 0000000..190f111
--- /dev/null
@@ -0,0 +1,32 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfIFileManagingListener.cpp
+ * @brief: This file contains declaration of IFileManagingListener class, listener for start and stop file operations
+ */
+
+#include "MfIFileManagingListener.h"
+
+IFileManagingListener::IFileManagingListener(void)
+{
+       //empty implementation
+}
+
+IFileManagingListener::~IFileManagingListener(void)
+{
+       //empty implementation
+}
diff --git a/src/MfIFileNotificationListener.cpp b/src/MfIFileNotificationListener.cpp
new file mode 100644 (file)
index 0000000..6232527
--- /dev/null
@@ -0,0 +1,33 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfINotificationListener.cpp
+ * @brief: This file contains implementation of INotificationListener class,
+ * listener for notifications received.
+ */
+
+#include <MfINotificationListener.h>
+
+INotificationListener::INotificationListener(void)
+{
+       //empty implementation
+}
+
+INotificationListener::~INotificationListener(void)
+{
+       //empty implementation
+}
diff --git a/src/MfImageMediaMetaData.cpp b/src/MfImageMediaMetaData.cpp
new file mode 100644 (file)
index 0000000..7f4354f
--- /dev/null
@@ -0,0 +1,92 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfImageMediaMetaData.cpp
+ * @brief: This file contains the implementation of  ImageMediaMetaData class,
+ * which acts as a Image Meta Data Provider.
+ */
+
+#include "MfImageMediaMetaData.h"
+
+using namespace Tizen::Base;
+
+ImageMediaMetaData::ImageMediaMetaData(void)
+       : __pFileFormat(null)
+       , __pFileResolution(null)
+{
+       //Do Nothing
+}
+
+ImageMediaMetaData::~ImageMediaMetaData(void)
+{
+       AppLogDebug("Entry");
+       if (__pFileFormat != null)
+       {
+
+               delete __pFileFormat;
+       }
+       if (__pFileResolution != null)
+       {
+
+               delete __pFileResolution;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+ImageMediaMetaData&
+ImageMediaMetaData::operator =(const ImageMediaMetaData& imageMediaMetaData)
+{
+       AppLogDebug("Entry");
+       if (this != &imageMediaMetaData)
+       {
+               __pFileFormat = imageMediaMetaData.__pFileFormat;
+               __pFileResolution = imageMediaMetaData.__pFileResolution;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return *this;
+}
+
+ImageMediaMetaData::ImageMediaMetaData(const ImageMediaMetaData& imageMediaMetaData)
+{
+       //__pFileFormat = null;
+       //__pFileResolution = null;
+       __pFileFormat = imageMediaMetaData.__pFileFormat;
+       __pFileResolution = imageMediaMetaData.__pFileResolution;
+}
+void
+ImageMediaMetaData::SetFileFormat(String* pFileFormat)
+{
+       __pFileFormat = pFileFormat;
+}
+
+void
+ImageMediaMetaData::SetFileResolution(String* pFileResolution)
+{
+       __pFileResolution = pFileResolution;
+}
+
+String*
+ImageMediaMetaData::GetFileFormat(void)
+{
+       return __pFileFormat;
+}
+
+String*
+ImageMediaMetaData::GetFileResolution(void)
+{
+       return __pFileResolution;
+}
diff --git a/src/MfMainFrame.cpp b/src/MfMainFrame.cpp
new file mode 100644 (file)
index 0000000..3d10b41
--- /dev/null
@@ -0,0 +1,92 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfMainFrame.cpp
+ * @brief: This file contains the implementation of MfMainFrame class,
+ * which is the main frame of the application.
+ */
+
+#include "MfMainFrame.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+MfMainFrame::MfMainFrame(void)
+{
+       // Do Nothing
+}
+
+MfMainFrame::~MfMainFrame(void)
+{
+       // Do Nothing
+}
+
+result
+MfMainFrame::OnInitializing(void)
+{
+
+       result r = E_SUCCESS;
+       // TODO:
+       // Add your initialization code here
+
+       // Prepare Scene management.
+//     TryCatch(pSceneManager != null, , "ScneManager is null!");
+
+
+       return r;
+}
+
+result
+MfMainFrame::OnTerminating(void)
+{
+       result r = E_SUCCESS;
+
+       // TODO:
+       // Add your termination code here
+       return r;
+}
+
+/*void
+MfMainFrame::SetAppControlOperationId(Tizen::Base::String& operationId)
+{
+    __operationId = operationId;
+
+}
+
+void
+MfMainFrame::InitializeScene(void)
+{
+    SceneManager* pSceneManager = null;
+
+    pSceneManager = SceneManager::GetInstance();
+
+    // Goto the scene.
+    if (pSceneManager != null)
+    {
+        if (__operationId.CompareTo("http://tizen.org/appcontrol/operation/pick") == 0)
+        {
+            __inputSource = APPCONTROL_STATE_SELECTED;
+            pSceneManager->GoForward(ForwardSceneTransition(IDSCN_TOP_MOST_SELECTION_FORM));
+        }
+        else
+        {
+            pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ROOT_DIRECTORY_FORM));
+        }
+    }
+}*/
diff --git a/src/MfMediaMetaData.cpp b/src/MfMediaMetaData.cpp
new file mode 100644 (file)
index 0000000..2f494e1
--- /dev/null
@@ -0,0 +1,125 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ *@file: MfMediaMetaData.cpp
+ *@brief: This file contains the implementation of MediaMetaData class,
+ *which acts as a base class for all Meta Data Provider classes.
+ */
+
+#include "MfMediaMetaData.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Io;
+
+MediaMetaData::MediaMetaData(void)
+       : __pFileName(null)
+       , __pFilePath(null)
+{
+       __fileSize = 0;
+}
+
+MediaMetaData::~MediaMetaData(void)
+{
+       AppLogDebug("Entry");
+       if (__pFileName != null)
+       {
+               delete __pFileName;
+               __pFileName = null;
+       }
+       if (__pFilePath != null)
+       {
+
+               delete __pFilePath;
+               __pFilePath = null;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+MediaMetaData&
+MediaMetaData::operator =(const MediaMetaData& mediaMetaData)
+{
+       AppLogDebug("Entry");
+       if (this != &mediaMetaData)
+       {
+               __pFileName = mediaMetaData.__pFileName;
+               __pFilePath = mediaMetaData.__pFilePath;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return *this;
+}
+
+MediaMetaData::MediaMetaData(const MediaMetaData& mediaMetaData)
+{
+       __pFileName = null;
+       __pFilePath = null;
+}
+
+void
+MediaMetaData::SetFileName(Tizen::Base::String* pFileName)
+{
+       __pFileName = pFileName;
+}
+
+void
+MediaMetaData::SetFilePath(Tizen::Base::String* PFilePath)
+{
+       __pFilePath = PFilePath;
+}
+
+void
+MediaMetaData::SetFileCreationTime(Tizen::Base::DateTime fileCreationTime)
+{
+       __fileCreationTime = fileCreationTime;
+}
+
+void
+MediaMetaData::SetFileSize(long long int fileOrDirSize)
+{
+       __fileSize = fileOrDirSize;
+}
+
+Tizen::Base::String*
+MediaMetaData::GetFileName(void)
+{
+       return __pFileName;
+}
+
+Tizen::Base::String*
+MediaMetaData::GetFilePath(void)
+{
+       return __pFilePath;
+}
+
+Tizen::Base::DateTime
+MediaMetaData::GetFileCreationTime(String* filePath)
+{
+       result r = E_SUCCESS;
+       if (filePath != null)
+       {
+               FileAttributes fileAttrib;
+               r = File::GetAttributes(*filePath, fileAttrib);
+               __fileCreationTime = fileAttrib.GetDateTime();
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return __fileCreationTime;
+}
+
+long long int
+MediaMetaData::GetFileSize(void)
+{
+       return __fileSize;
+}
diff --git a/src/MfMyFilesApp.cpp b/src/MfMyFilesApp.cpp
new file mode 100644 (file)
index 0000000..4eb8458
--- /dev/null
@@ -0,0 +1,525 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfMyFilesApp.cpp
+ * @brief:  This file contains the declaration of MyFilesApp Class,
+ * which provides basic features necessary to define an UiApp.
+ */
+
+#include <FSystem.h>
+#include <FUiScenes.h>
+
+#include "MfCustomAppControl.h"
+#include "MfFolderEntryPresentationModel.h"
+#include "MfFormFactory.h"
+#include "MfMainFrame.h"
+#include "MfMyFilesApp.h"
+#include "MfPanelFactory.h"
+#include "MfSceneRegister.h"
+
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+MyFilesApp::MyFilesApp(void)
+       : __pResultList(null)
+       , __pCurrentListToUpdate(null)
+       , __pNotificationListener(null)
+{
+       __operationId.Append(L"");
+       __bAppControlEnabled = false;
+       __inputSource = APPCONTROL_STATE_MAINVIEW_SELECTED;
+       __currentFileType = FILE_TYPE_ALL;
+       __currentSelectionMode = SELECTION_MODE_SINGE;
+       __currentView = APPCONTROL_VIEW_DEFAULT;
+       __bImgAppControlLaunched = true;
+       __currentAppControlResult = APP_CTRL_RESULT_FAILED;
+}
+
+MyFilesApp::~MyFilesApp(void)
+{
+       // Do Nothing
+}
+
+UiApp*
+MyFilesApp::CreateInstance(void)
+{
+       // Create the instance through the constructor.
+
+       return new (std::nothrow) MyFilesApp();
+}
+
+bool
+MyFilesApp::OnAppInitializing(AppRegistry& appRegistry)
+{
+       result r = E_SUCCESS;
+
+       InitializeListeners();
+       r = AppControlProviderManager::GetInstance()->SetAppControlProviderEventListener(this);
+       //r = AppControlProviderManager::GetInstance()->SendAppControlResult()
+       return true;
+}
+
+bool
+MyFilesApp::OnAppInitialized(void)
+{
+       result r = E_SUCCESS;
+
+       SceneManager* pSceneManager = null;
+       MfMainFrame* pMyFileMainFrame = null;
+       MessageBox messageBox;
+
+       // Create a Frame
+       pMyFileMainFrame = new (std::nothrow) MfMainFrame();
+       TryCatch(pMyFileMainFrame != null, , "MainFrame pointer is null!");
+
+       r = pMyFileMainFrame->Construct();
+       TryCatch(r == E_SUCCESS, , "MainFrame creation failed!");
+
+       //pMyFileMainFrame->SetOperationIdAndInputSource(__operationId, __inputSource);
+       pMyFileMainFrame->SetName(L"MyFilesAppFrame");
+       AddFrame(*pMyFileMainFrame);
+
+       ThumbnailManager::GetInstance();
+
+       SceneRegister::RegisterAllScenes();
+       // Prepare Scene management.
+       pSceneManager = SceneManager::GetInstance();
+       TryCatch(pSceneManager != null, , "ScneManager is null!");
+
+       // Goto the scene.
+       if (pSceneManager != null)
+       {
+               if (__operationId.CompareTo("http://tizen.org/appcontrol/operation/pick") == 0)
+               {
+                       __inputSource = APPCONTROL_STATE_SELECTED;
+                       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_TOP_MOST_SELECTION_FORM));
+               }
+               else
+               {
+                       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ROOT_DIRECTORY_FORM));
+               }
+       }
+       return true;
+CATCH:
+       return false;           //Returning false changes app state to TERMINATING and app's OnAppTerminating function will be called.
+}
+
+void
+MyFilesApp::OnAppControlRequestReceivedN(RequestId reqId, const Tizen::Base::String& providerId, const Tizen::Base::String& operationId, const Tizen::Base::String& category,
+                                                                                const Tizen::Base::String* pDataType, const Tizen::Base::String* pUriScheme, Tizen::Base::Collection::IList* pArgs)
+{
+       //Empty Implementation.
+}
+
+bool
+MyFilesApp::OnAppWillTerminate(void)
+{
+       return true;
+}
+
+bool
+MyFilesApp::OnAppTerminating(AppRegistry& appRegistry, bool forcedTermination)
+{
+       AppLogDebug("ENTER");
+       String resultList;
+
+       // Deallocate resources allocated by this App for termination.
+       // The App's permanent data and context can be saved via appRegistry.
+
+       if (__bAppControlEnabled == true)
+       {
+               result r = E_SUCCESS;
+               const HashMap* pResultHash = null;
+               IMapEnumerator* pResultMapEnum = null;
+               DirectoryEntry* pDirStr = null;
+               int Count=0;
+
+               pResultHash = FolderEntryEditorPresentationModel::GetInstance()->GetCheckedList();
+
+               if (pResultHash != null)
+               {
+                       pResultMapEnum = pResultHash->GetMapEnumeratorN();
+
+                       if (pResultMapEnum != null)
+                       {
+                               if (pResultHash->GetCount() != 0)
+                               {
+                                       //__pResultList->Add(*new (std::nothrow) String(APPCONTROL_RESULT_SUCCEEDED));
+                                       while (pResultMapEnum->MoveNext() == E_SUCCESS)
+                                       {
+                                               pDirStr = static_cast< DirectoryEntry* >(pResultMapEnum->GetValue());
+
+                                               if (pDirStr != null)
+                                               {
+                                                       resultList.Append(pDirStr->GetFullFilePath());
+                                                       Count++;
+                                                       if (Count < pResultHash->GetCount())
+                                                               resultList.Append(";");
+                                               }
+                                       }
+                               }
+                               delete pResultMapEnum;
+                       }
+               }
+
+               if (__pResultList != null && resultList.CompareTo("") != 0)
+               {
+                       __pResultList->Add(new (std::nothrow) String(appcontrolKey), new (std::nothrow) String(resultList));
+                       __pResultList->Add(new (std::nothrow) String(appcontroldataKey), new (std::nothrow) String(resultList));
+               }
+
+               if (__currentAppControlResult == APP_CTRL_RESULT_CANCELED)
+               {
+                       if (__pResultList != null)
+                       {
+                               __pResultList->RemoveAll(true);
+                               delete __pResultList;
+                               __pResultList = null;
+                       }
+                       r = AppControlProviderManager::GetInstance()->SendAppControlResult(__currentRequestId, __currentAppControlResult, null);
+               }
+               else
+               {
+                       r = AppControlProviderManager::GetInstance()->SendAppControlResult(__currentRequestId, __currentAppControlResult, __pResultList);
+               }
+
+       }
+
+       //Following code stops FolderEntryEditor thread and thumbnail manager thread. Don't remove this code as it's must to gracefully terminate the spawned thread from main threads.
+       FolderEntryEditorPresentationModel::GetInstance()->StopFolderEntryEditorThread();
+       ThumbnailManager::GetInstance()->StopThumbnailManagerThread();
+
+       InitializeListeners();
+
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+       return true;
+}
+
+void
+MyFilesApp::OnForeground(void)
+{
+       // Start or resume drawing when the application is moved to the foreground.
+       CustomAppControl::GetInstance()->SetAppControlInUse(null);
+}
+
+void
+MyFilesApp::OnBackground(void)
+{
+       AppLogDebug("ENTER");
+       //Appcontrol Should not be terminated
+       /*if (__inputSource == APPCONTROL_STATE_SELECTED)
+       {
+               UiApp* pApp = UiApp::GetInstance();
+               if (pApp != null)
+               {
+                       pApp->Terminate();
+               }
+       }*/
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+}
+
+void
+MyFilesApp::OnLowMemory(void)
+{
+       //Empty Implementation
+}
+
+void
+MyFilesApp::OnBatteryLevelChanged(BatteryLevel batteryLevel)
+{
+       //Empty Implementation
+}
+
+void
+MyFilesApp::OnScreenOn(void)
+{
+       //Empty Implementation
+}
+
+void
+MyFilesApp::OnScreenOff(void)
+{
+       // Empty Implementation
+}
+void
+MyFilesApp::OnUserEventReceivedN(RequestId requestId, Tizen::Base::Collection::IList* pArgs)
+{
+       AppLogDebug("ENTER");
+       ThumbRequest* pCurrentThumbReq = null;
+
+       switch (requestId)
+       {
+       case THUMBNAIL_LAODED:
+       case THUMBNAIL_FAILED:
+       {
+               if (__pCurrentListToUpdate == null)
+               {
+                       if (pArgs != null)
+                       {
+                               pCurrentThumbReq = (ThumbRequest*) pArgs->GetAt(0);
+                               if (pCurrentThumbReq != null && pCurrentThumbReq->pBitmap != null)
+                                       delete pCurrentThumbReq->pBitmap;
+
+                               if (pArgs != null)
+                               {
+                                       pArgs->RemoveAll(true);
+                                       delete pArgs;
+                                       pArgs = null;
+                               }
+                       }
+               }
+               else
+               {
+                       if (pArgs != null)
+                       {
+                               pCurrentThumbReq = (ThumbRequest*) pArgs->GetAt(0);
+                               __pCurrentListToUpdate->OnThumbnailReceived(pCurrentThumbReq);
+
+                               if (pArgs != null)
+                               {
+                                       pArgs->RemoveAll(true);
+                                       delete pArgs;
+                                       pArgs = null;
+                               }
+                       }
+                       else
+                               __pCurrentListToUpdate->OnThumbnailReceived(null);
+               }
+       }
+       break;
+
+       case ID_COPY_COMPLETE:
+       case ID_FILE_RENAME_COMPLETE:
+       case ID_DELETE_COMPLETE:
+       case ID_MOVING_COMPLETE:
+       case ID_CREATE_FOLDER_COMPLETE:
+       case ID_FILE_MANAGING_FAILED:
+       case ID_FOLDER_SEARCH_STARTED:
+       case ID_SEARCH_COMPLETED:
+       case ID_SEARCH_RESULT_FOUND:
+       {
+               if (__pNotificationListener != null)
+               {
+                       __pNotificationListener->OnNotificationReceived((Tizen::Base::Collection::ArrayList*) pArgs);
+               }
+       }
+       break;
+
+       default:
+       {
+               //Empty Implementation.
+       }
+       break;
+       }
+
+       return;
+}
+
+void
+MyFilesApp::LaunchCacheManager(void)
+{
+       //Empty Implementation
+}
+
+void
+MyFilesApp::SetAppControlSelected(void)
+{
+       __bAppControlEnabled = true;
+}
+
+String
+MyFilesApp::ExtractType(Tizen::Base::String& inputType)
+{
+       AppLogDebug("ENTER");
+       String type = L"";
+       StringTokenizer strTok(inputType, L":");
+
+       while (strTok.HasMoreTokens())
+       {
+               type.Clear();
+               strTok.GetNextToken(type);
+       }
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+       return type;
+}
+
+void
+MyFilesApp::AddAppControlResult(Tizen::App::AppCtrlResult result)
+{
+       AppLogDebug("ENTER");
+       if (__pResultList != null)
+       {
+               //if (result.CompareTo(APPCONTROL_RESULT_CANCELED) == 0)
+               if (result == APP_CTRL_RESULT_CANCELED)
+               {
+                       FolderEntryEditorPresentationModel::GetInstance()->ClearCheckedList();
+               }
+               //__pResultList->Add(new (std::nothrow) String(result));
+               __currentAppControlResult = result;
+       }
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+}
+
+SelectionMode
+MyFilesApp::GetCurrentSelectionMode(void)
+{
+       return __currentSelectionMode;
+}
+
+FileType
+MyFilesApp::GetCurrentFileType(void)
+{
+       return __currentFileType;
+}
+
+AppControlView
+MyFilesApp::GetCurrentView(void)
+{
+       return __currentView;
+}
+void
+MyFilesApp::SetNotifyListener(INotificationListener* listener)
+{
+       __pNotificationListener = listener;
+}
+
+void
+MyFilesApp::SetImageAppControlLanched(bool bAppControlLaunched)
+{
+       __bImgAppControlLaunched = bAppControlLaunched;
+}
+
+bool
+MyFilesApp::IsImageAppControlLanched(void)
+{
+       return __bImgAppControlLaunched;
+}
+
+result
+MyFilesApp::SetCurrentView(IListViewStateChangeListener* pListToUpdate)
+{
+       result res = E_SUCCESS;
+       __pCurrentListToUpdate = pListToUpdate;
+       return res;
+}
+
+IListViewStateChangeListener*
+MyFilesApp::GetCurrentViewToUpdate(void)
+{
+       return __pCurrentListToUpdate;
+}
+
+//End of changes
+void
+MyFilesApp::OnAppControlRequestReceived(RequestId reqId, const Tizen::Base::String& operationId, const Tizen::Base::String* pUriData, const Tizen::Base::String* pMimeType, const Tizen::Base::Collection::IMap* pExtraData)
+{
+       __bAppControlEnabled = false;
+       __currentRequestId = reqId;
+       __operationId.Clear();
+       __operationId.Append(operationId);
+
+       if (operationId.CompareTo(L"http://tizen.org/appcontrol/operation/pick") == 0)
+       {
+
+               const String* inputSelectionType = null;
+               const String* inputFileType = null;
+
+               if (pExtraData != null)
+               {
+                       inputSelectionType = static_cast< const String* >(pExtraData->GetValue(String(L"selectionType")));
+                       inputFileType = static_cast< const String* >(pExtraData->GetValue(String(L"type")));
+               }
+
+               if (__pResultList == null)
+               {
+                       __pResultList = new (std::nothrow) HashMap();
+                       __pResultList->Construct();
+               }
+
+               __inputSource = APPCONTROL_STATE_SELECTED;
+
+               if (inputFileType != null)
+               {
+                       if (inputFileType->CompareTo("all") == 0)
+                       {
+                               __currentFileType = FILE_TYPE_ALL;
+                       }
+                       else if (inputFileType->CompareTo("image") == 0)
+                       {
+                               __currentFileType = FILE_TYPE_IMAGE_TYPE;
+                       }
+                       else if (inputFileType->CompareTo("audio") == 0)
+                       {
+                               __currentFileType = FILE_TYPE_AUDIO_TYPE;
+                       }
+                       else if (inputFileType->CompareTo("video") == 0)
+                       {
+                               __currentFileType = FILE_TYPE_VIDEO_TYPE;
+                       }
+                       else if (inputFileType->CompareTo("contacts") == 0)
+                       {
+                               __currentFileType = FILE_TYPE_CONTACTS_TYPE;
+                       }
+               }
+               else
+               {
+                       __currentFileType = FILE_TYPE_ALL;
+               }
+
+               if (inputSelectionType != null)
+               {
+                       if (inputSelectionType->CompareTo("single") == 0)
+                       {
+                               __currentSelectionMode = SELECTION_MODE_SINGE;
+                       }
+                       else if (inputSelectionType->CompareTo("multiple") == 0)
+                       {
+                               __currentSelectionMode = SELECTION_MODE_MULTIPLE;
+                       }
+               }
+               else
+               {
+                       __currentSelectionMode = SELECTION_MODE_SINGE;
+               }
+
+       }
+
+       if (__inputSource == APPCONTROL_STATE_SELECTED)
+       {
+               SceneManager* pSceneManager = null;
+               pSceneManager = SceneManager::GetInstance();
+
+               if (pSceneManager != null)
+               {
+                       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_TOP_MOST_SELECTION_FORM));
+               }
+       }
+
+}
+void
+MyFilesApp::InitializeListeners(void)
+{
+       __pCurrentListToUpdate = null;
+       __pNotificationListener = null;
+}
diff --git a/src/MfOtherMediaMetaData.cpp b/src/MfOtherMediaMetaData.cpp
new file mode 100644 (file)
index 0000000..490a419
--- /dev/null
@@ -0,0 +1,71 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfOtherMediaMetaData.cpp
+ * @brief: This file contains the implementation of OtherMediaMetaData class,
+ * which acts as a Other Meta Data Provider.
+ */
+
+#include "MfOtherMediaMetaData.h"
+
+using namespace Tizen::Base;
+
+OtherMediaMetaData::OtherMediaMetaData(void)
+       : __pFileFormat(null)
+{
+       //empty implementation
+}
+
+OtherMediaMetaData::~OtherMediaMetaData(void)
+{
+       AppLogDebug("Entry");
+       if (__pFileFormat != null)
+       {
+               delete __pFileFormat;
+               __pFileFormat = null;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+OtherMediaMetaData&
+OtherMediaMetaData::operator =(const OtherMediaMetaData& otherMediaMetaData)
+{
+       AppLogDebug("Entry");
+       if (this != &otherMediaMetaData)
+       {
+               __pFileFormat = otherMediaMetaData.__pFileFormat;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return *this;
+}
+
+OtherMediaMetaData::OtherMediaMetaData(const OtherMediaMetaData& otherMediaMetaData)
+{
+       __pFileFormat = otherMediaMetaData.__pFileFormat;
+}
+
+void
+OtherMediaMetaData::SetFileFormat(String* pFileFormat)
+{
+       __pFileFormat = pFileFormat;
+}
+
+String*
+OtherMediaMetaData::GetFileFormat(void)
+{
+       return __pFileFormat;
+}
diff --git a/src/MfPanelFactory.cpp b/src/MfPanelFactory.cpp
new file mode 100644 (file)
index 0000000..527563a
--- /dev/null
@@ -0,0 +1,48 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfPanelFactory.cpp
+ * @brief: This file contains the implementation of MfMyFilesAppPanelFactory class, which manages
+ * all the panel containers used across the application.
+ */
+
+#include "MfPanelFactory.h"
+#include "MfSubFolderFileListForm.h"
+
+using namespace Tizen::Ui::Scenes;
+
+const wchar_t* PANEL_BUTTON = L"SubDirectoryPanel";
+
+PanelFactory::PanelFactory(void)
+{
+       //Empty Implementation.
+}
+
+PanelFactory::~PanelFactory(void)
+{
+       //Empty Implementation.
+}
+
+Tizen::Ui::Controls::Panel*
+PanelFactory::CreatePanelN(const Tizen::Base::String& panelId, const Tizen::Ui::Scenes::SceneId& sceneId)
+{
+       AppLogDebug("ENTER");
+       Tizen::Ui::Controls::Panel* pNewPanel = null;
+
+       AppLogDebug("EXIT");
+       return pNewPanel;
+}
diff --git a/src/MfSceneRegister.cpp b/src/MfSceneRegister.cpp
new file mode 100644 (file)
index 0000000..6e3c7e0
--- /dev/null
@@ -0,0 +1,100 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSceneRegister.cpp
+ * @brief:This file contains implementation of SceneRegister class, which
+ * registers all the scenes used in the application.
+ */
+
+#include <FUiScenes.h>
+
+#include "MfFormFactory.h"
+#include "MfPanelFactory.h"
+#include "MfSceneRegister.h"
+#include "MfSceneTransitionPolicyProvider.h"
+
+using namespace Tizen::Ui::Scenes;
+
+const wchar_t* IDSCN_MAIN_FORM = L"ScnMainForm";
+const wchar_t* IDSCN_FILE_DETAIL_FORM = L"ScnFileDetailForm";
+const wchar_t* IDSCN_EDIT_FORM = L"ScnEditForm";
+const wchar_t* IDSCN_CREATE_FOLDER_FORM = L"ScnCreateFolder";
+const wchar_t* IDSCN_ROOT_DIRECTORY_FORM = L"ScnRootDirectoryForm";
+const wchar_t* IDSCN_SUB_DIRECTORY_FORM = L"ScnSubDirectoryForm";
+const wchar_t* IDSCN_SUB_DIRECTORY_FORM1 = L"ScnSubDirectoryForm1";
+const wchar_t* IDSCN_ROOT_DIRECTORY_MOVE_COPY_FORM = L"ScnRootDirectoryMoveCopyForm";
+const wchar_t* IDSCN_SUB_DIRECTORY_MOVE_COPY_FORM = L"ScnSubDirectoryMoveCopyForm";
+const wchar_t* IDSCN_SUB_DIRECTORY_MOVE_COPY_FORM1 = L"ScnSubDirectoryMoveCopyForm1";
+const wchar_t* IDSCN_SEARCH_FORM = L"ScnSearchForm";
+const wchar_t* IDSCN_TOP_MOST_SELECTION_FORM = L"ScnTopMostSelectionForm";
+const wchar_t* IDSCN_SUB_FOLDER_SELECTION_FORM = L"ScnSubFolderSelectionForm";
+const wchar_t* IDSCN_SUB_FOLDER_SELECTION_FORM1 = L"ScnSubFolderSelectionForm1";
+
+SceneRegister::SceneRegister(void)
+{
+       //empty Implementation
+}
+
+SceneRegister::~SceneRegister(void)
+{
+       //empty Implementation
+}
+
+SceneRegister&
+SceneRegister::operator =(const SceneRegister& MfMyFilesAppSceneRegister)
+{
+       return *this;
+}
+
+SceneRegister::SceneRegister(const SceneRegister&)
+{
+       //empty Implementation
+}
+
+void
+SceneRegister::RegisterAllScenes(void)
+{
+       AppLogDebug("Entry");
+       static FormFactory formFactory;
+       static PanelFactory panelFactory;
+       static SceneTransitionPolicyProvider policyProvider;
+
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+
+       if (pSceneManager != null)
+       {
+               pSceneManager->RegisterFormFactory(formFactory);
+               pSceneManager->RegisterPanelFactory(panelFactory);
+               pSceneManager->SetSceneTransitionPolicyProvider(&policyProvider);
+
+               pSceneManager->RegisterScene(IDSCN_MAIN_FORM, FORM_MAIN, L"");
+               pSceneManager->RegisterScene(IDSCN_FILE_DETAIL_FORM, FORM_FILE_DETAIL, L"");
+               pSceneManager->RegisterScene(IDSCN_EDIT_FORM, FORM_EDIT, L"");
+               pSceneManager->RegisterScene(IDSCN_CREATE_FOLDER_FORM, FORM_CREATE_FOLDER, L"");
+               pSceneManager->RegisterScene(IDSCN_ROOT_DIRECTORY_FORM, FORM_ROOT_DIRECTORY, L"");
+               pSceneManager->RegisterScene(IDSCN_SUB_DIRECTORY_FORM, FORM_SUB_DIRECTORY, L"");
+               pSceneManager->RegisterScene(IDSCN_SUB_DIRECTORY_FORM1, FORM_SUB_DIRECTORY1, L"");
+               pSceneManager->RegisterScene(IDSCN_ROOT_DIRECTORY_MOVE_COPY_FORM, FORM_ROOT_DIRECTORY_MOVE_COPY, L"");
+               pSceneManager->RegisterScene(IDSCN_SUB_DIRECTORY_MOVE_COPY_FORM, FORM_SUB_DIRECTORY_MOVE_COPY, L"");
+               pSceneManager->RegisterScene(IDSCN_SUB_DIRECTORY_MOVE_COPY_FORM1, FORM_SUB_DIRECTORY_MOVE_COPY1, L"");
+               pSceneManager->RegisterScene(IDSCN_SEARCH_FORM, FORM_SEARCH, L"");
+               pSceneManager->RegisterScene(IDSCN_TOP_MOST_SELECTION_FORM, FORM_TOP_MOST_FILE_SELECTION, L"");
+               pSceneManager->RegisterScene(IDSCN_SUB_FOLDER_SELECTION_FORM, FORM_SUB_FOLDER_FILE_SELECTION, L"");
+               pSceneManager->RegisterScene(IDSCN_SUB_FOLDER_SELECTION_FORM1, FORM_SUB_FOLDER_FILE_SELECTION1, L"");
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
diff --git a/src/MfSceneTransitionPolicyProvider.cpp b/src/MfSceneTransitionPolicyProvider.cpp
new file mode 100644 (file)
index 0000000..0599961
--- /dev/null
@@ -0,0 +1,68 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSceneTransitionPolicyProvider.cpp
+ * @brief: This file contains the implementation of the SceneTransitionPolicyProvider class,
+ * which provides policy for Scene Transition across the application.
+ */
+
+#include "MfSceneRegister.h"
+#include "MfSceneTransitionPolicyProvider.h"
+#include "MfSearchForm.h"
+
+using namespace Tizen::Ui::Scenes;
+
+SceneTransitionPolicyProvider::SceneTransitionPolicyProvider(void)
+{
+       //Empty Implementation.
+}
+
+SceneTransitionPolicyProvider::~SceneTransitionPolicyProvider(void)
+{
+       //Empty Implementation.
+}
+
+Tizen::Ui::Scenes::SceneId
+SceneTransitionPolicyProvider::GetNextScene(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+                                                                                       const Tizen::Base::Collection::IList* pArgs)
+{
+       if (currentSceneId == IDSCN_SUB_DIRECTORY_FORM)
+       {
+               return IDSCN_SUB_DIRECTORY_FORM1;
+       }
+       else if (currentSceneId == IDSCN_SUB_DIRECTORY_FORM1)
+       {
+               return IDSCN_SUB_DIRECTORY_FORM;
+       }
+       else if (currentSceneId == IDSCN_SUB_DIRECTORY_MOVE_COPY_FORM)
+       {
+               return IDSCN_SUB_DIRECTORY_MOVE_COPY_FORM1;
+       }
+       else if (currentSceneId == IDSCN_SUB_DIRECTORY_MOVE_COPY_FORM1)
+       {
+               return IDSCN_SUB_DIRECTORY_MOVE_COPY_FORM;
+       }
+       else if (currentSceneId == IDSCN_SUB_FOLDER_SELECTION_FORM1)
+       {
+               return IDSCN_SUB_FOLDER_SELECTION_FORM;
+       }
+       else if (currentSceneId == IDSCN_SUB_FOLDER_SELECTION_FORM)
+       {
+               return IDSCN_SUB_FOLDER_SELECTION_FORM1;
+       }
+       return L"";
+}
diff --git a/src/MfSearchForm.cpp b/src/MfSearchForm.cpp
new file mode 100644 (file)
index 0000000..2e32b82
--- /dev/null
@@ -0,0 +1,2074 @@
+//\r
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.\r
+//\r
+// Licensed under the Flora License, Version 1.0 (the License);\r
+// you may not use this file except in compliance with the License.\r
+// You may obtain a copy of the License at\r
+//\r
+//     http://floralicense.org/license/\r
+//\r
+// Unless required by applicable law or agreed to in writing, software\r
+// distributed under the License is distributed on an AS IS BASIS,\r
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+// See the License for the specific language governing permissions and\r
+// limitations under the License.\r
+//\r
+\r
+/**\r
+ * @file: SearchForm.cpp\r
+ * @brief: This file contains implementation of SearchForm.\r
+ */\r
+\r
+#include "MfSearchForm.h"\r
+\r
+using namespace Tizen::App;\r
+using namespace Tizen::App::Package;\r
+using namespace Tizen::Base;\r
+using namespace Tizen::Base::Collection;\r
+using namespace Tizen::Base::Utility;\r
+using namespace Tizen::Content;\r
+using namespace Tizen::Graphics;\r
+using namespace Tizen::Io;\r
+using namespace Tizen::System;\r
+using namespace Tizen::Ui;\r
+using namespace Tizen::Ui::Controls;\r
+using namespace Tizen::Ui::Scenes;\r
+\r
+int SearchForm::searchBackSelected = 0;\r
+SearchForm::SearchForm(void)\r
+{\r
+       __pContentListFromLastView = null;\r
+       __pSearchedContentList = null;\r
+\r
+       __pListView = null;\r
+       __pSearchBar = null;\r
+       __pPopUpPanel = null;\r
+       __pPopUpLabel = null;\r
+       __pCancelSearch = null;\r
+       __pDividerLabel = null;\r
+\r
+       __pThumbnailManager = null;\r
+       __pSearchModel = null;\r
+\r
+       __searchText = L"";\r
+       __displayPath = L"";\r
+       //__SelectedTab = L"";\r
+\r
+       __searchedAllFolders = false;\r
+       __isSearchCompleted = false;\r
+       __isCancelClicked = false;\r
+       __isSearchStarted = false;\r
+       __bCheckArgsNull = false;\r
+\r
+       __itemCount = -1;\r
+       __searchItemIndex = INVALID_LIST_INDEX;\r
+\r
+       __pFolderBitmap = null;\r
+       __pDummyImage = null;\r
+\r
+       __pInstallationConfirmationPopUp = null;\r
+       __pInstallationProgressPopup = null;\r
+       __pDeleteConfirmationPopUp = null;\r
+\r
+       __selectedItemIndexForRename = 0;\r
+       __selectedItemIndexForDelete = 0;\r
+       __SelectedTab = MEMORY_TYPE_NONE;\r
+       __previouFormTab = MEMORY_TYPE_NONE;\r
+\r
+       __pCancelDeletion = null;\r
+       __pCancelInstallation = null;\r
+       __pDelete = null;\r
+       __pFileProgressingCancelButton = null;\r
+       __pInstall = null;\r
+       __pFileProgressingHeaderLabel = null;\r
+       __pItemContext = null;\r
+       __pFileProgressingPopup = null;\r
+       __pFileProgressingProgress = null;\r
+       __pFileEventManager = null;\r
+}\r
+\r
+SearchForm::~SearchForm(void)\r
+{\r
+       AppLogDebug("Entry");\r
+\r
+       if (__pSearchedContentList != null)\r
+       {\r
+               __pSearchedContentList->RemoveAll(true);\r
+               delete __pSearchedContentList;\r
+       }\r
+\r
+       if (__pSearchModel != null)\r
+       {\r
+               delete __pSearchModel;\r
+       }\r
+\r
+       if (__pItemContext != null)\r
+       {\r
+               delete __pItemContext;\r
+       }\r
+\r
+       if (__pInstallationConfirmationPopUp != null)\r
+       {\r
+               delete __pInstallationConfirmationPopUp;\r
+       }\r
+\r
+       if (__pInstallationProgressPopup != null)\r
+       {\r
+               delete __pInstallationProgressPopup;\r
+       }\r
+\r
+       if (__pDeleteConfirmationPopUp != null)\r
+       {\r
+               delete __pDeleteConfirmationPopUp;\r
+       }\r
+       if(__pFolderEntryPM != null)\r
+       {\r
+               delete __pFolderEntryPM;\r
+       }\r
+       if (__pFileEventManager != null)\r
+       {\r
+               delete __pFileEventManager;\r
+       }\r
+}\r
+\r
+SearchForm&\r
+SearchForm::operator =(const SearchForm& pSearchForm)\r
+{\r
+       return *this;\r
+}\r
+\r
+SearchForm::SearchForm(const SearchForm& pSearchForm)\r
+{\r
+       __pContentListFromLastView = pSearchForm.__pContentListFromLastView;\r
+       __selectedItemIndexForRename = pSearchForm.__selectedItemIndexForRename;\r
+}\r
+\r
+\r
+bool\r
+SearchForm::Initialize(void)\r
+{\r
+       result r = Form::Construct(L"IDL_SEARCH");\r
+       if (r != E_SUCCESS)\r
+       {\r
+               AppLogDebug("Form construct failed with %s", GetErrorMessage(r));\r
+               return false;\r
+       }\r
+       return true;\r
+}\r
+\r
+result\r
+SearchForm::OnInitializing(void)\r
+{\r
+       AppLogDebug("ENTER::SearchForm::OnInitializing");\r
+       result r = E_SUCCESS;\r
+       String cancelButton(L"");\r
+\r
+       Bitmap* pPopUpBackground = null;\r
+       Bitmap* pBottomLabelBg = null;\r
+       Bitmap* pMainLabelBg = null;\r
+       Bitmap* pDeleteNormalBmp = null;\r
+       Bitmap* pDeletePressBmp = null;\r
+       Label* pSearchPopUpMainlabel = null;\r
+       Label* pSearchPopUpBottomlabel = null;\r
+       String renameButtonText;\r
+       String detailButtonText;\r
+       String deleteButtonText;\r
+       IListT< SceneId >* pSceneList = null;\r
+\r
+       Rectangle popupBounds;\r
+\r
+       Bitmap* pPanelBackground = null;\r
+\r
+       __SelectedTab = MEMORY_TYPE_NONE;\r
+\r
+       pPanelBackground = AppResource::GetInstance()->GetBitmapN(IDB_BACKGROUND_POPUP_BOTTOM, BITMAP_PIXEL_FORMAT_ARGB8888);\r
+       pPopUpBackground = AppResource::GetInstance()->GetBitmapN(IDB_BACKGROUND_POPUP_CENTER, BITMAP_PIXEL_FORMAT_ARGB8888);\r
+\r
+       __pFolderBitmap = AppResource::GetInstance()->GetBitmapN(IDB_FOLDER, BITMAP_PIXEL_FORMAT_ARGB8888);\r
+       __pDummyImage = AppResource::GetInstance()->GetBitmapN(IDB_DUMMY_IMG, BITMAP_PIXEL_FORMAT_ARGB8888);\r
+       AppResource::GetInstance()->GetString(L"IDS_MF_BODY_RENAME_ABB", renameButtonText);\r
+       AppResource::GetInstance()->GetString(L"IDS_MF_SK3_DELETE", deleteButtonText);\r
+       AppResource::GetInstance()->GetString(L"IDS_MF_SK_DETAILS", detailButtonText);\r
+\r
+       pDeleteNormalBmp =  AppResource::GetInstance()->GetBitmapN(IDB_CONTEXT_DELETE_NORMAL);\r
+       pDeletePressBmp = AppResource::GetInstance()->GetBitmapN(IDB_CONTEXT_DELETE_PRESS);\r
+\r
+       Footer* pFooter = GetFooter();\r
+       pFooter->SetStyle(FOOTER_STYLE_SEGMENTED_TEXT);\r
+       pFooter->SetBackButton();\r
+\r
+       SetFormBackEventListener(this);\r
+       __pThumbnailManager = ThumbnailManager::GetInstance();\r
+       TryCatch(__pThumbnailManager != null, , "ThumbnailManager::GetInstance() failed:%s", GetErrorMessage(GetLastResult()));\r
+\r
+       ((MyFilesApp*) Application::GetInstance())->SetCurrentView(this);\r
+\r
+       __searchBarMode = SEARCH_BAR_MODE_INPUT;\r
+\r
+       __pSearchBar = static_cast< SearchBar* >(GetControl("IDC_SEARCHFORM_SEARCHBAR"));\r
+       TryCatch(__pSearchBar != null, , "__pSearchBar is Null");\r
+\r
+       __pSearchBar->AddSearchBarEventListener(*this);\r
+       __pSearchBar->AddTextEventListener(*this);\r
+       __pSearchBar->AddKeypadEventListener(*this);\r
+       __pSearchBar->SetShowState(true);\r
+\r
+       __pFolderEntryPM = new (std::nothrow) FolderEntryPresentationModel();\r
+       TryCatch(__pFolderEntryPM != null, , "Content Manager not found!");\r
+       __pFolderEntryPM->Construct();\r
+       __pPopUpPanel = new (std::nothrow) Panel();\r
+       TryCatch(__pPopUpPanel != null, , "Failed to allocate memory to __pPopUpPanel");\r
+\r
+       r = __pPopUpPanel->Construct(Rectangle(X_POPUP_SEARCH, Y_POPUP_SEARCH, W_MAX_POPUP, H_POPUP_SEARCH));\r
+       TryCatch(r == E_SUCCESS, , "failed to construct __pPopUpPanel");\r
+\r
+       pMainLabelBg = AppResource::GetInstance()->GetBitmapN(IDB_BACKGROUND_POPUP_CENTER);\r
+\r
+       pSearchPopUpMainlabel = new (std::nothrow) Label();\r
+       TryCatch(pSearchPopUpMainlabel != null, , "Failed to allocate memory to _pSearchPopUpMainlabel");\r
+\r
+       r = pSearchPopUpMainlabel->Construct(Rectangle(X_DEFAULT, Y_DEFAULT, __pPopUpPanel->GetWidth(), __pPopUpPanel->GetHeight() - H_BOTTOM_PANEL), L"");\r
+       TryCatch(r == E_SUCCESS, , "failed to construct __pPopUpLabel");\r
+\r
+       if (pMainLabelBg != null)\r
+       {\r
+               pSearchPopUpMainlabel->SetBackgroundBitmap(*pMainLabelBg);\r
+       }\r
+       __pPopUpPanel->AddControl(*pSearchPopUpMainlabel);\r
+       __pPopUpPanel->SetControlAlwaysAtBottom(*pSearchPopUpMainlabel, true);\r
+\r
+       pBottomLabelBg = AppResource::GetInstance()->GetBitmapN(IDB_BACKGROUND_POPUP_BOTTOM);\r
+\r
+       pSearchPopUpBottomlabel = new (std::nothrow) Label();\r
+       TryCatch(pSearchPopUpBottomlabel != null, , "Failed to allocate memory to _pSearchPopUpBottomlabel");\r
+\r
+       r = pSearchPopUpBottomlabel->Construct(Rectangle(X_DEFAULT, __pPopUpPanel->GetHeight() - H_BOTTOM_PANEL, __pPopUpPanel->GetWidth(), H_BOTTOM_PANEL), L"");\r
+       TryCatch(r == E_SUCCESS, , "failed to construct __pPopUpLabel");\r
+\r
+       if (pBottomLabelBg != null)\r
+       {\r
+               pSearchPopUpBottomlabel->SetBackgroundBitmap(*pBottomLabelBg);\r
+       }\r
+       __pPopUpPanel->AddControl(*pSearchPopUpBottomlabel);\r
+       __pPopUpPanel->SetControlAlwaysAtBottom(*pSearchPopUpBottomlabel, true);\r
+\r
+       __pPopUpLabel = new (std::nothrow) Label();\r
+       TryCatch(__pPopUpLabel != null, , "Failed to allocate memory to __pPopUpLabel");\r
+\r
+       r = __pPopUpLabel->Construct(Rectangle(20, 30, __pPopUpPanel->GetWidth() - 40, 60), L"Searching...");\r
+       TryCatch(r == E_SUCCESS, , "failed to construct __pPopUpLabel");\r
+\r
+       __pPopUpLabel->SetTextConfig(25, LABEL_TEXT_STYLE_NORMAL);\r
+       __pPopUpPanel->AddControl(*__pPopUpLabel);\r
+\r
+       __pDividerLabel = new (std::nothrow) Label();\r
+       TryCatch(__pDividerLabel != null, r = GetLastResult(), "Failed to allocate memory to __pDividerLabel");\r
+\r
+       r = __pDividerLabel->Construct(Rectangle(20, 30 + 40, __pPopUpPanel->GetWidth() - 40, 60), L"");\r
+       TryCatch(r == E_SUCCESS, , "failed to construct __pDividerLabel");\r
+\r
+       __pDividerLabel->SetTextConfig(25, LABEL_TEXT_STYLE_NORMAL);\r
+\r
+       __pPopUpPanel->AddControl(*__pDividerLabel);\r
+\r
+       //The cancel button inside the popup, hides the popup  and stops search thread, when clicked.\r
+       AppResource::GetInstance()->GetString(L"IDS_COM_POP_CANCEL", cancelButton);\r
+       __pCancelSearch = new (std::nothrow) Button();\r
+       TryCatch(__pCancelSearch != null, , "MfMyFilesApp::Button For Popup not created!");\r
+\r
+       r = __pCancelSearch->Construct(Rectangle(110, __pPopUpPanel->GetHeight() - 84, __pPopUpPanel->GetBounds().width - 220, H_DEFAULT_BUTTON), cancelButton);\r
+       TryCatch(r == E_SUCCESS, , "failed to construct __pButtonPopPUP");\r
+\r
+       AddControl(*__pPopUpPanel);\r
+       __pPopUpPanel->AddControl(*__pCancelSearch);\r
+\r
+       __pCancelSearch->SetActionId(IDA_BTN_POPUP_SEARCH_CANCEL);\r
+       __pCancelSearch->AddActionEventListener(*this);\r
+\r
+       SetControlAlwaysOnTop(*__pPopUpPanel, true);\r
+       __pPopUpPanel->SetControlAlwaysOnTop(*__pCancelSearch, true);\r
+\r
+       __pPopUpPanel->SetShowState(false);\r
+\r
+\r
+       __listViewRectangle.SetBounds(X_DEFAULT, H_SEARCH_BAR, GetClientAreaBounds().width, GetClientAreaBounds().height - H_SEARCH_BAR);\r
+\r
+       __pListView = static_cast< ListView* >(GetControl("IDC_SEARCHFORM_LISTVIEW"));\r
+       TryCatch(__pListView != null, r = GetLastResult(), "__pListView is Null");\r
+\r
+       __pListView->SetItemProvider(*this);\r
+       __pListView->AddListViewItemEventListener(*this);\r
+\r
+       __pSearchModel = new (std::nothrow) SearchPresentationModel();\r
+       TryCatch(__pSearchModel != null, r = GetLastResult(), "SearchForm::OnInitializing::Failed to allocate memory to __PSearchModel");\r
+\r
+       r = __pSearchModel->Initialize();\r
+       TryCatch(r == E_SUCCESS, , "SearchPresentationModel:Init()failed with %s", GetErrorMessage(GetLastResult()));\r
+\r
+       __pSearchedContentList = new (std::nothrow) ArrayList();\r
+       TryCatch(__pSearchedContentList != null, , "SearchForm::GetCurrentFileControl::Failed to allocate Memory to __pSearchedContentList");\r
+\r
+       r = __pSearchedContentList->Construct();\r
+       TryCatch(r == E_SUCCESS, , "SearchForm::GetCurrentFileControl::Failed to construct __pSearchedContentList");\r
+       __pPackageManager = PackageManager::GetInstance();\r
+       __pPackageManager->AddPackageInstallationEventListener(*this);\r
+\r
+       __pItemContext = new (std::nothrow) ListContextItem();\r
+\r
+       r = __pItemContext->Construct();\r
+       TryCatch(r == E_SUCCESS, r = GetLastResult(), "Failed to construct pitemcontext");\r
+\r
+       __pItemContext->AddElement(IDA_CONTEXT_RENAME, renameButtonText);\r
+       __pItemContext->AddElement(IDA_CONTEXT_DETAIL, detailButtonText);\r
+\r
+       __pItemContext->AddElement(IDA_CONTEXT_DELETE,\r
+                       deleteButtonText,\r
+                       *pDeleteNormalBmp,\r
+                       *pDeletePressBmp,\r
+                       null,\r
+                       true);\r
+\r
+       __previousFormPath = FolderNavigationPresentationModel::GetCurrentPath();\r
+       __previouFormTab = FolderNavigationPresentationModel::GetStorageType();\r
+       pSceneList = SceneManager::GetInstance()->GetSceneHistoryN();\r
+       if (pSceneList != null)\r
+       {\r
+               __previousSceneId = SceneManager::GetInstance()->GetCurrentSceneId();\r
+       }\r
+       AppLogDebug("previouspath is %S", __previousFormPath.GetPointer());\r
+       AppLogDebug("__previousSceneId is %S", __previousSceneId.GetPointer());\r
+       AppLogDebug("SearchForm::OnInitializing");\r
+\r
+       AppLogDebug("Exit");\r
+       if (pPopUpBackground != null)\r
+       {\r
+               delete pPopUpBackground;\r
+               pPopUpBackground = null;\r
+       }\r
+       if (pPanelBackground != null)\r
+       {\r
+               delete pPanelBackground;\r
+               pPanelBackground = null;\r
+       }\r
+       if (pDeleteNormalBmp != null)\r
+       {\r
+               delete pDeleteNormalBmp;\r
+               pDeleteNormalBmp = null;\r
+       }\r
+       if (pDeletePressBmp != null)\r
+       {\r
+               delete pDeletePressBmp;\r
+               pDeletePressBmp = null;\r
+       }\r
+       if (pBottomLabelBg != null)\r
+       {\r
+               delete pBottomLabelBg;\r
+               pBottomLabelBg = null;\r
+       }\r
+       if (pMainLabelBg != null)\r
+       {\r
+               delete pMainLabelBg;\r
+               pMainLabelBg = null;\r
+       }\r
+\r
+       return r;\r
+\r
+       CATCH:\r
+       if (__pDividerLabel != null)\r
+       {\r
+               delete __pDividerLabel;\r
+       }\r
+       if (__pPopUpPanel != null)\r
+       {\r
+               delete __pPopUpPanel;\r
+       }\r
+       if (__pSearchBar != null)\r
+       {\r
+               delete __pSearchBar;\r
+       }\r
+       if (__pListView != null)\r
+       {\r
+               delete __pListView;\r
+       }\r
+       if (__pSearchModel != null)\r
+       {\r
+               delete __pSearchModel;\r
+       }\r
+       if (pDeleteNormalBmp != null)\r
+       {\r
+               delete pDeleteNormalBmp;\r
+               pDeleteNormalBmp = null;\r
+       }\r
+       if (pDeletePressBmp != null)\r
+       {\r
+               delete pDeletePressBmp;\r
+               pDeletePressBmp = null;\r
+       }\r
+       if (pBottomLabelBg != null)\r
+       {\r
+               delete pBottomLabelBg;\r
+               pBottomLabelBg = null;\r
+       }\r
+       if (pMainLabelBg != null)\r
+       {\r
+               delete pMainLabelBg;\r
+               pMainLabelBg = null;\r
+       }\r
+       AppLogDebug("EXIT::SearchForm::OnInitializing");\r
+       return r;\r
+}\r
+\r
+result\r
+SearchForm::OnTerminating(void)\r
+{\r
+       result r = E_SUCCESS;\r
+       //((MfMyFilesApp*)Application::GetInstance())->SetCurrentView(null);\r
+\r
+       if (__pFolderBitmap)\r
+               delete __pFolderBitmap;\r
+\r
+       if (__pDummyImage)\r
+               delete __pDummyImage;\r
+       return r;\r
+}\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////\r
+// Call-back functions\r
+////////////////////////////////////////////////////////////////////////\r
+\r
+void\r
+SearchForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,\r
+               const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)\r
+{\r
+       AppLogDebug("ENTER:SearchForm::OnSceneActivatedN:%s", GetErrorMessage(GetLastResult()));\r
+\r
+       ((MyFilesApp*) Application::GetInstance())->SetCurrentView(this);\r
+\r
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);\r
+#if 0\r
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_USB_CLIENT, *this);\r
+#endif\r
+\r
+       SceneManager::GetInstance()->AddSceneManagerEventListener(*this);\r
+\r
+       if (pArgs != null)\r
+       {\r
+               __bCheckArgsNull = true;\r
+\r
+               __displayPath = FolderNavigationPresentationModel::GetCurrentPath();\r
+               __SelectedTab = FolderNavigationPresentationModel::GetStorageType();\r
+\r
+               if (__pFolderEntryPM != null)\r
+               {\r
+                       __pFolderEntryPM->SetFolderEntryPath(__displayPath);\r
+                       __pContentListFromLastView = __pFolderEntryPM->GetFolderEntryList();\r
+                       TryCatch(__pContentListFromLastView != null, , "Failed to allocate Memory to __pContentListFromLastView");\r
+               __pFolderEntryPM->SetSourceForm(CREATE_ITEM_SOURCE_SEARCH_FORM);\r
+               }\r
+\r
+               __isSearchCompleted = false;\r
+               __isSearchStarted = false;\r
+\r
+               String topLevelPath = L"";\r
+\r
+\r
+               if (__SelectedTab == MEMORY_TYPE_PHONE)\r
+               {\r
+                       topLevelPath = __pFolderEntryPM->GetMediaPath();\r
+               }\r
+               else if (__SelectedTab == MEMORY_TYPE_SD_CARD)\r
+               {\r
+                       topLevelPath = __pFolderEntryPM->GetSdCardPath();\r
+               }\r
+\r
+               if (__displayPath.GetLength() > 0 && __displayPath != topLevelPath)\r
+               {\r
+                       AppLogDebug("SearchForm::OnSceneActivatedN:%S:%S", __displayPath.GetPointer(), topLevelPath.GetPointer());\r
+                       __pDividerLabel->SetText(__displayPath);\r
+               }\r
+\r
+               pArgs->RemoveAll(false);\r
+               delete pArgs;\r
+               pArgs = null;\r
+\r
+       }\r
+       else\r
+       {\r
+               __bCheckArgsNull = false;\r
+       }\r
+\r
+       AppLogDebug("EXIT:SearchForm::OnSceneActivatedN");\r
+       return;\r
+\r
+       CATCH:\r
+       AppLogDebug("EXIT:SearchForm::OnSceneActivatedN");\r
+       return;\r
+\r
+}\r
+\r
+void\r
+SearchForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,\r
+               const Tizen::Ui::Scenes::SceneId& nextSceneId)\r
+{\r
+       DeviceManager::RemoveAllDeviceEventListeners();\r
+}\r
+\r
+void\r
+SearchForm::OnFormBackRequested(Form& source)\r
+{\r
+       String rootMediaPath = BasePresentationModel::GetHomePath();\r
+       SceneManager* pSceneManager = null;\r
+       pSceneManager = SceneManager::GetInstance();\r
+\r
+       if (__isSearchStarted == true && __isSearchCompleted == false)\r
+       {\r
+               __pSearchModel->StopSearch();\r
+       }\r
+\r
+       if (__previousFormPath.CompareTo("") != 0)\r
+       {\r
+               FolderNavigationPresentationModel::SetCurrentFilePath(__previousFormPath);\r
+               FolderNavigationPresentationModel::SetStorageType(__previouFormTab);\r
+               AppLogDebug("__previouspath is %S", __previousFormPath.GetPointer());\r
+       }\r
+\r
+       pSceneManager->GoBackward(BackwardSceneTransition(__previousSceneId, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT), null);\r
+}\r
+\r
+void\r
+SearchForm::OnListViewItemStateChanged(ListView& listView, int index, int elementId, ListItemStatus status)\r
+{\r
+       int modalResult = 0;\r
+       CustomAppControl* pCustomAppControl = null;\r
+       String topLevelPath;\r
+       String emptySearchString;\r
+\r
+       DirectoryEntry* pFileDetails = null;\r
+       MessageBox messageEmptyString;\r
+\r
+       AppResource* pAppResource = null;\r
+\r
+\r
+       pAppResource = UiApp::GetInstance()->GetAppResource();\r
+       TryReturn(pAppResource != null, , "Failed to fetch AppResource");\r
+\r
+       pAppResource->GetString(L"IDS_SEARCH_STRING_CANNOT_BE_EMPTY", emptySearchString);\r
+\r
+       __pathOfSelectedFile = L"";\r
+\r
+       if (__isCancelClicked == true)\r
+       {\r
+               return;\r
+       }\r
+       if (index == __itemCount && __searchedAllFolders == false)\r
+       {\r
+               AppLogDebug("SearchPresentationModel::Search:%d", index);\r
+               messageEmptyString.Construct(L"", emptySearchString , MSGBOX_STYLE_NONE, ID_MESSAGE_BOX_TIMEOUT_ONE_SECOND);\r
+\r
+               if (__pSearchBar->GetText().IsEmpty())\r
+               {\r
+                       messageEmptyString.ShowAndWait(modalResult);\r
+                       return;\r
+               }\r
+\r
+               __searchedAllFolders = true;\r
+\r
+               __searchItemIndex = INVALID_LIST_INDEX;\r
+               //Free the content of  __pSearchedContentList and Delete the same before searching again\r
+               if (__pSearchedContentList != null)\r
+               {\r
+                       __pSearchedContentList->RemoveAll(true);\r
+               }\r
+               AppLogDebug("SearchPresentationModel::Search:%d", index);\r
+               __pListView->UpdateList();\r
+               AppLogDebug("SearchPresentationModel::Search:%d", index);\r
+               __pDividerLabel->SetText(L"");\r
+               __pPopUpPanel->SetShowState(true);\r
+               __pPopUpPanel->Draw();\r
+               __pSearchBar->SetEnabled(false);\r
+\r
+               AppLogDebug("SearchPresentationModel::Search:%d", index);\r
+               if (__SelectedTab == MEMORY_TYPE_PHONE)\r
+               {\r
+                       //topLevelPath = folderEntryPM.GetMediaPath();\r
+                       topLevelPath = __pFolderEntryPM->GetMediaPath();\r
+               }\r
+               else if (__SelectedTab == MEMORY_TYPE_SD_CARD)\r
+               {\r
+                       //topLevelPath = folderEntryPM.GetSdCardPath();\r
+                       topLevelPath = __pFolderEntryPM->GetSdCardPath();\r
+               }\r
+\r
+               __pSearchModel->SetFolderToSearch(topLevelPath);\r
+               __pSearchModel->SetStringToSearch(__searchText);\r
+               __pSearchModel->Start();\r
+\r
+               AppLogDebug("SearchPresentationModel::Search:%d", index);\r
+       }\r
+       else\r
+       {\r
+\r
+               if (__isSearchCompleted == false && __isSearchStarted == false)\r
+               {\r
+                       pFileDetails = static_cast< DirectoryEntry* >(__pContentListFromLastView->GetAt(index));\r
+               }\r
+               else\r
+               {\r
+                       pFileDetails = static_cast< DirectoryEntry* >(__pSearchedContentList->GetAt(index));\r
+               }\r
+               TryCatch(pFileDetails != null, , "pFileDetails is Null")\r
+\r
+\r
+               __pathOfSelectedFile = pFileDetails->GetFullFilePath();\r
+\r
+               if (pFileDetails->IsDirectory() == true)\r
+               {\r
+                       String fileName = pFileDetails->GetFileName();\r
+                       String filePath = pFileDetails->GetFullFilePath();\r
+                       LoadSubDirectoryForm(filePath, fileName);\r
+               }\r
+               else\r
+               {\r
+                       //Else launch the corresponding AppControl.\r
+                       if (__pathOfSelectedFile.EndsWith(L".tpk"))\r
+                       {\r
+                               ShowInstallationConfirmationPopup();\r
+                       }\r
+                       else\r
+                       {\r
+                               pCustomAppControl = CustomAppControl::GetInstance();\r
+                               if (pCustomAppControl != null)\r
+                               {\r
+                                       if (__pFileEventManager != null)\r
+                                       {\r
+                                               delete __pFileEventManager;\r
+                                               __pFileEventManager = null;\r
+\r
+                                       }\r
+                                       __pFileEventManager = new (std::nothrow) FileEventManager();\r
+                                       __pFileEventManager->Construct(*this);\r
+\r
+                                       __pFileEventManager->AddPath(__pathOfSelectedFile, FILE_EVENT_TYPE_MODIFY | FILE_EVENT_TYPE_DELETE );\r
+\r
+                                       pCustomAppControl->SetAppControlListener(this);\r
+                                       AppControl* pAppControlInUse = pCustomAppControl->LaunchAppControl(__pathOfSelectedFile);\r
+                                       if (pAppControlInUse != null)\r
+                                               CustomAppControl::SetAppControlInUse(pAppControlInUse);\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+       return;\r
+\r
+       CATCH:\r
+       return;\r
+}\r
+\r
+void\r
+SearchForm::OnListViewItemSwept(ListView& listView, int index, SweepDirection direction)\r
+{\r
+       //Empty Implementation.\r
+}\r
+\r
+void\r
+SearchForm::OnListViewContextItemStateChanged(ListView& listView, int index, int elementId, ListContextItemStatus state)\r
+{\r
+       AppLogDebug("Enter");\r
+       AppLogDebug("ENTER: SearchForm::OnListViewContextItemStateChanged:%d, %d, %d, %d", index, elementId, __isSearchCompleted, __isSearchStarted);\r
+\r
+       String filePath = L"";\r
+       DirectoryEntry* pFileDetails = null;\r
+\r
+       if (__isSearchCompleted == false)\r
+       {\r
+               if (__isSearchStarted == true)\r
+               {\r
+                       pFileDetails = static_cast< DirectoryEntry* >(__pSearchedContentList->GetAt(index));\r
+               }\r
+               else\r
+               {\r
+                       pFileDetails = static_cast< DirectoryEntry* >(__pContentListFromLastView->GetAt(index));\r
+               }\r
+       }\r
+       else\r
+       {\r
+               pFileDetails = static_cast< DirectoryEntry* >(__pSearchedContentList->GetAt(index));\r
+       }\r
+       TryCatch(pFileDetails != null, , "SearchForm::CreateItem::pFileDetails is null");\r
+\r
+       filePath.Append(pFileDetails->GetFullFilePath());\r
+       AppLogDebug("SearchForm::OnListViewContextItemStateChanged:%S", filePath.GetPointer());\r
+\r
+       switch (elementId)\r
+       {\r
+       case IDA_CONTEXT_DETAIL:\r
+       {\r
+               LoadDetailForm(filePath);\r
+       }\r
+       break;\r
+\r
+       case IDA_CONTEXT_RENAME:\r
+       {\r
+               LoadRenameForm(index, pFileDetails);\r
+       }\r
+       break;\r
+\r
+       case IDA_CONTEXT_DELETE:\r
+       {\r
+               __selectedItemIndexForDelete = index;\r
+               __fileToDelete = pFileDetails->GetFullFilePath();\r
+\r
+               ShowDeleteConfirmationPopup();\r
+\r
+       }\r
+       break;\r
+\r
+       default:\r
+       {\r
+               //Do nothing\r
+       }\r
+       break;\r
+       }\r
+\r
+       CATCH:\r
+\r
+       AppLogDebug("EXIT: SearchForm::OnListViewContextItemStateChanged");\r
+}\r
+\r
+int\r
+SearchForm::GetItemCount(void)\r
+{\r
+       AppLogDebug("ENTER::SearchForm::GetItemCount:%d", __isSearchCompleted);\r
+       int count = 0;\r
+\r
+       TryCatch(__pSearchedContentList != null, , "__pContentListFromLastView is null!")\r
+       TryCatch(__pContentListFromLastView != null, , "__pContentListFromLastView is null!")\r
+\r
+       if (__isSearchCompleted == false)\r
+       {\r
+               if (__isSearchStarted == true)\r
+                       count = __pSearchedContentList->GetCount();\r
+               else\r
+                       count = __pContentListFromLastView->GetCount();\r
+       }\r
+       else\r
+       {\r
+               count = __pSearchedContentList->GetCount();\r
+               String topLevelPath = L"";\r
+\r
+               if (__SelectedTab == MEMORY_TYPE_PHONE)\r
+               {\r
+                       topLevelPath = defaultPhoneBody;\r
+                       topLevelPath.Append("/");\r
+               }\r
+               else if (__SelectedTab == MEMORY_TYPE_SD_CARD)\r
+               {\r
+                       topLevelPath = defaultSdCardBody;\r
+                       topLevelPath.Append("/");\r
+               }\r
+\r
+               if (__displayPath != topLevelPath && __searchedAllFolders == false)\r
+               {\r
+                       __itemCount = count++;\r
+               }\r
+       }\r
+       AppLogDebug("EXIT::SearchForm::GetItemCount:%d", count);\r
+       return count;\r
+\r
+       CATCH:\r
+       AppLogDebug("EXIT::SearchForm::GetItemCount:%d", count);\r
+       return count;\r
+}\r
+\r
+ListItemBase*\r
+SearchForm::CreateItem(int index, int itemWidth)\r
+{\r
+       AppLogDebug("ENTER::SearchForm::CreateItem");\r
+       result r = E_SUCCESS;\r
+       String filename;\r
+       String imageIconPath;\r
+       String strHightlightedText;\r
+\r
+       Dimension thumbnailDimension(H_LISTVIEW_ITEM_BITMAP, W_LISTVIEW_ITEM_BITMAP);\r
+       Dimension textDimension(itemWidth - H_LISTVIEW_ITEM_BITMAP, H_ITEM_LISTVIEW);\r
+\r
+       AppResource* pAppResource = null;\r
+       DirectoryEntry* pFileDetails = null;\r
+       ContentListItem* pCustomItem = null;\r
+       ThumbRequest* pThumbReq = null;\r
+\r
+       ArrayList* pList = null;\r
+\r
+       if (index == __itemCount && __searchedAllFolders == false)\r
+       {\r
+               CustomItem* pItem = null;\r
+               String searchAllFolder = L"";\r
+               AppResource::GetInstance()->GetString(L"IDS_MF_BUTTON_SEARCH_ALL_FOLDERS", searchAllFolder);\r
+               pItem = new (std::nothrow) SearchAllFoldersItem(itemWidth, H_ITEM_LISTVIEW, searchAllFolder);\r
+               return pItem;\r
+       }\r
+\r
+       TryCatch(__pContentListFromLastView != null, , "__pContentListFromLastView is NULL!");\r
+       TryCatch(__pContentListFromLastView->GetCount() != 0, , "__pContentListFromLastView count is Zero!");\r
+\r
+       pAppResource = Application::GetInstance()->GetAppResource();\r
+       TryCatch(pAppResource != null, , "Resource manager not found!");\r
+\r
+       if (__isSearchCompleted == false)\r
+       {\r
+               if (__isSearchStarted == true)\r
+               {\r
+                       pFileDetails = static_cast< DirectoryEntry* >(__pSearchedContentList->GetAt(index));\r
+               }\r
+               else\r
+               {\r
+                       pFileDetails = static_cast< DirectoryEntry* >(__pContentListFromLastView->GetAt(index));\r
+               }\r
+       }\r
+       else\r
+       {\r
+               pFileDetails = static_cast< DirectoryEntry* >(__pSearchedContentList->GetAt(index));\r
+       }\r
+       TryCatch(pFileDetails != null, , "SearchForm::Failed to get pFileDetails");\r
+\r
+       pCustomItem = new (std::nothrow) ContentListItem(itemWidth, H_ITEM_LISTVIEW, true);\r
+       TryCatch(pCustomItem != null, , "SearchForm::Failed to create pCustomItem");\r
+\r
+       filename.Clear();\r
+       filename.Append(pFileDetails->GetFileName());\r
+\r
+       if (pFileDetails->IsDirectory() == false)\r
+       {\r
+               filename.Append(".");\r
+               filename.Append(pFileDetails->GetFileExtension());\r
+       }\r
+\r
+       if (__searchText.GetLength() > 0)\r
+               strHightlightedText.Append(__searchText);\r
+\r
+       pCustomItem->SetTitle(filename, strHightlightedText);\r
+\r
+#if 0\r
+       if (__pThumbnailManager != null)\r
+       {\r
+               if (pFileDetails->IsDirectory() == true)\r
+               {\r
+                       pListBitmap = pAppResource->GetBitmapN(L"U01_icon_folder_Cropped.png", BITMAP_PIXEL_FORMAT_ARGB8888); //pFolderImage->DecodeN(folderIconPath, BITMAP_PIXEL_FORMAT_ARGB8888);\r
+                       AppLogDebug("MfMyFilesApp::Decode Folder Result: %s", GetErrorMessage(GetLastResult()));\r
+               }\r
+               else\r
+               {\r
+                       imageIconPath = pFileDetails->GetFullFilePath();\r
+                       pListBitmap = __pThumbnailManager->InitThumbnailManagerN(imageIconPath, thumbnailDimension);\r
+               }\r
+               TryCatch(pListBitmap != null, , "SearchForm::CreateItem::pListBitmap is null");\r
+       }\r
+#else\r
+       if (pFileDetails->IsDirectory() == true)\r
+       {\r
+               pCustomItem->SetThumbnail(__pFolderBitmap);\r
+       }\r
+       else\r
+       {\r
+               if (pFileDetails->GetBitmap() == null)\r
+               {\r
+                       pCustomItem->SetThumbnail(__pDummyImage);\r
+\r
+                       pThumbReq = new (std::nothrow) ThumbRequest(CREATE_ITEM_SOURCE_SEARCH_FORM);\r
+                       TryCatch(pThumbReq != null, , "ThumbRequest is null!");\r
+\r
+                       pThumbReq->iRquestId = index;\r
+                       pThumbReq->FilePath = pFileDetails->GetFullFilePath();\r
+\r
+                       pList = new (std::nothrow) ArrayList();\r
+                       TryCatch(pList != null, , "Failed to create pList");\r
+\r
+                       r = pList->Construct();\r
+                       TryCatch(r == E_SUCCESS, , "Failed to construct pList");\r
+\r
+                       r = pList->Add(pThumbReq);\r
+                       TryCatch(r == E_SUCCESS, , "Failed to add object to  pList");\r
+\r
+                       __pThumbnailManager->SendUserEvent(ThumbnailManager::THUMB_MGR_GET_THUMBNAIL, pList);\r
+               }\r
+               else\r
+               {\r
+                       pCustomItem->SetThumbnail(pFileDetails->GetBitmap());\r
+               }\r
+       }\r
+#endif\r
+       pCustomItem->Make();\r
+       pCustomItem->SetContextItem(__pItemContext);\r
+\r
+       AppLogDebug("EXIT::SearchForm::CreateItem");\r
+       return pCustomItem;\r
+\r
+CATCH:\r
+       if (pCustomItem != null)\r
+       {\r
+               delete pCustomItem;\r
+       }\r
+       if (pList != null)\r
+       {\r
+               delete pList;\r
+       }\r
+       if (pThumbReq)\r
+       {\r
+               delete pThumbReq;\r
+       }\r
+       AppLogDebug("EXIT::SearchForm::CreateItem");\r
+       return null;\r
+}\r
+\r
+bool\r
+SearchForm::DeleteItem(int index, ListItemBase* pItem, int itemWidth)\r
+{\r
+       AppLogDebug("ENTER::SearchForm::DeleteItem");\r
+       if (pItem != null)\r
+       {\r
+               delete pItem;\r
+               pItem = null;\r
+       }\r
+       AppLogDebug("EXIT::SearchForm::DeleteItem");\r
+       return true;\r
+}\r
+\r
+void\r
+SearchForm::OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction)\r
+{\r
+       AppLogDebug("Enter:SearchForm::OnKeypadActionPerformed");\r
+       int modalResult = 0;\r
+       String emptySearchString;\r
+\r
+       MessageBox messageEmptyString;\r
+       AppResource* pAppResource = null;\r
+\r
+       pAppResource = UiApp::GetInstance()->GetAppResource();\r
+       TryReturn(pAppResource != null, , "Failed to fetch AppResource");\r
+\r
+       pAppResource->GetString(L"IDS_SEARCH_STRING_CANNOT_BE_EMPTY", emptySearchString);\r
+\r
+       messageEmptyString.Construct(L"", emptySearchString, MSGBOX_STYLE_NONE, ID_MESSAGE_BOX_TIMEOUT_ONE_SECOND);\r
+\r
+\r
+       if (__pSearchBar->GetText().IsEmpty())\r
+       {\r
+               messageEmptyString.ShowAndWait(modalResult);\r
+               __pSearchBar->ShowKeypad();\r
+               return;\r
+       }\r
+\r
+       __isCancelClicked = false;\r
+\r
+       //Get the text entered in SearchBar\r
+       __searchText.Clear();\r
+       __searchText = __pSearchBar->GetText();\r
+\r
+       //Start Searching\r
+       if (__searchText.IsEmpty() == false)\r
+               StartSearch();\r
+\r
+       AppLogDebug("Exit::SearchForm::OnKeypadActionPerformed");\r
+}\r
+void\r
+SearchForm::OnKeypadClosed(Tizen::Ui::Control& source)\r
+{\r
+       AppLogDebug("ENTER::SearchForm::OnKeypadClosed");\r
+\r
+       __pSearchBar->SetContentAreaSize(Dimension(GetClientAreaBounds().width, GetClientAreaBounds().height - H_SEARCH_BAR));\r
+       __pListView->SetSize(Dimension(GetClientAreaBounds().width, GetClientAreaBounds().height - H_SEARCH_BAR));\r
+\r
+       AppLogDebug("EXIT::SearchForm::OnKeypadClosed");\r
+}\r
+void\r
+SearchForm::OnKeypadOpened(Tizen::Ui::Control& source)\r
+{\r
+       __pSearchBar->SetContentAreaSize(Dimension(GetClientAreaBounds().width, GetClientAreaBounds().height - H_SEARCH_BAR));\r
+       __pListView->SetSize(Dimension(GetClientAreaBounds().width, GetClientAreaBounds().height - H_SEARCH_BAR));\r
+\r
+}\r
+void\r
+SearchForm::OnKeypadWillOpen(Tizen::Ui::Control& source)\r
+{\r
+       //Empty Implementation\r
+}\r
+void\r
+SearchForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)\r
+{\r
+       AppLogDebug("ENTER::SearchForm::OnActionPerformed");\r
+       switch (actionId)\r
+       {\r
+       case IDA_BTN_POPUP_SEARCH_CANCEL:\r
+       {\r
+               AppLogDebug("SearchForm::OnSearchBarModeChanged:Search Cancelled");\r
+               __isSearchCompleted = true;\r
+\r
+               __pSearchModel->StopSearch();\r
+\r
+               __searchBarMode = SEARCH_BAR_MODE_NORMAL;\r
+               __pSearchBar->SetMode(__searchBarMode);\r
+               __pSearchBar->HideKeypad();\r
+\r
+               __pPopUpPanel->SetShowState(false);\r
+               __pSearchBar->SetEnabled(true);\r
+\r
+               SetActionBarsVisible(FORM_ACTION_BAR_FOOTER, true);\r
+               __searchText.Clear();\r
+\r
+       }\r
+       break;\r
+\r
+       case IDA_INSTALL_APP:\r
+       {\r
+               HideInstallationConfirmationPopup();\r
+\r
+               ShowInstallationProgressPopup();\r
+\r
+               PackageId pkgId;\r
+               result r = __pPackageManager->InstallPackage(pkgId, __pathOfSelectedFile, this);\r
+               AppLogDebug("Package Installation:Error:%s", GetErrorMessage(r));\r
+       }\r
+       break;\r
+\r
+       case IDA_CANCEL_INSTALLATION:\r
+       {\r
+               HideInstallationConfirmationPopup();\r
+       }\r
+       break;\r
+\r
+       case IDA_DELETE_FILE:\r
+       {\r
+               HideDeleteConfirmationPopup();\r
+               //Call the DeleteFile Function.\r
+               DeleteFile(__fileToDelete);\r
+       }\r
+       break;\r
+\r
+       case IDA_CANCEL_DELETION:\r
+       {\r
+               HideDeleteConfirmationPopup();\r
+       }\r
+       break;\r
+\r
+       default:\r
+       {\r
+               //Do nothing\r
+       }\r
+       break;\r
+       }\r
+       AppLogDebug("EXIT::SearchForm::OnActionPerformed");\r
+}\r
+void\r
+SearchForm::OnTextValueChangeCanceled(const Tizen::Ui::Control& source)\r
+{\r
+       AppLogDebug("ENTER::SearchForm::OnTextValueChangeCanceled");\r
+       if (__pPopUpPanel->GetShowState() == true)\r
+       {\r
+               __pPopUpPanel->SetShowState(false);\r
+               __pPopUpPanel->Invalidate(true);\r
+               __pSearchBar->SetEnabled(true);\r
+       }\r
+}\r
+\r
+void\r
+SearchForm::OnTextValueChanged(const Tizen::Ui::Control& source)\r
+{\r
+       //Empty Implementation.\r
+}\r
+\r
+//SearchBar Control\r
+void\r
+SearchForm::OnSearchBarModeChanged(Tizen::Ui::Controls::SearchBar& source, Tizen::Ui::Controls::SearchBarMode mode)\r
+{\r
+       AppLogDebug("SearchForm::OnSearchBarModeChanged");\r
+\r
+       if (mode == SEARCH_BAR_MODE_INPUT)\r
+       {\r
+               __searchBarMode = SEARCH_BAR_MODE_INPUT;\r
+               SetActionBarsVisible(FORM_ACTION_BAR_FOOTER, false);\r
+       }\r
+       else\r
+       {\r
+               __searchBarMode = SEARCH_BAR_MODE_NORMAL;\r
+               SetActionBarsVisible(FORM_ACTION_BAR_FOOTER, true);\r
+               if (__isSearchStarted == true)\r
+               {\r
+                       if (__isSearchCompleted == false)\r
+                       {\r
+                               //Stop Search Thread\r
+                               __pSearchModel->StopSearch();\r
+\r
+                               //Hide keypad of SearchBar\r
+                               __pSearchBar->HideKeypad();\r
+\r
+                               //Hide popUp\r
+                               if (__pPopUpPanel != null)\r
+                               {\r
+                                       __pPopUpPanel->SetShowState(false);\r
+                                       __pPopUpPanel->Invalidate(true);\r
+                               }\r
+                       }\r
+               }\r
+               __pListView->UpdateList();\r
+       }\r
+\r
+       __pSearchBar->SetContentAreaSize(Dimension(GetClientAreaBounds().width, GetClientAreaBounds().height - H_SEARCH_BAR));\r
+       __pListView->SetSize(Dimension(GetClientAreaBounds().width, GetClientAreaBounds().height - H_SEARCH_BAR));\r
+\r
+       __pSearchBar->Invalidate(true);\r
+}\r
+\r
+void\r
+SearchForm::OnAppControlCompleteResponseReceived(const Tizen::App::AppId& appId, const Tizen::Base::String& operationId, Tizen::App::AppCtrlResult appControlResult, const Tizen::Base::Collection::IMap* pExtraData)\r
+{\r
+       CustomAppControl::GetInstance()->SetAppControlInUse(null);\r
+       ContentType contentType = ContentManagerUtil::CheckContentType(__pathOfSelectedFile);\r
+\r
+       __pSearchBar->SetMode(__searchBarMode);\r
+\r
+       if (GetLastResult() == E_FILE_NOT_FOUND)\r
+       {\r
+               __isSearchCompleted = false;\r
+               if (__searchText.IsEmpty() == false)\r
+                       StartSearch();\r
+       }\r
+       else\r
+       {\r
+               AppLogDebug("OnAppControlResponseReceived:ContentType:%s:%d", GetErrorMessage(GetLastResult()), contentType);\r
+       }\r
+\r
+       if (__pListView != null)\r
+               __pListView->UpdateList();\r
+}\r
+\r
+void\r
+SearchForm::OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs)\r
+{\r
+       AppLogDebug("ENTER::SearchForm::GetCurrentFileControl");\r
+       result r = E_FAILURE;\r
+       Integer* pEventType = null;\r
+       DirectoryEntry* pResultDirEntry = null;\r
+\r
+       TryCatch(pArgs != null, , "SearchForm::GetCurrentFileControl::pArg is null");\r
+\r
+       pEventType = static_cast< Integer* >(pArgs->GetAt(0));\r
+       TryCatch(pEventType != null, , "SearchForm::GetCurrentFileControl::pArg is null");\r
+\r
+       switch (pEventType->ToInt())\r
+       {\r
+       case ID_FOLDER_SEARCH_STARTED:\r
+       {\r
+               String* pFolderSearchResult = (String*) pArgs->GetAt(1);\r
+               TryCatch(pFolderSearchResult != null, , "SearchForm::GetCurrentFileControl::folderSearchResult is null");\r
+\r
+               String defMediaPath = FolderNavigationPresentationModel::GetMediaPath();\r
+               String defSdCardPath = FolderNavigationPresentationModel::GetSdCardPath();\r
+\r
+               String displayPhone = defaultPhoneBody;\r
+               String displaySdCard = defaultSdCardBody;\r
+\r
+               displayPhone.Append("/");\r
+               displaySdCard.Append("/");\r
+\r
+               if (pFolderSearchResult->IsEmpty() == false)\r
+               {\r
+                       if (pFolderSearchResult->StartsWith(defMediaPath, 0))\r
+                       {\r
+                               pFolderSearchResult->Replace(defMediaPath, displayPhone);\r
+                       }\r
+                       else if (pFolderSearchResult->StartsWith(defSdCardPath, 0))\r
+                       {\r
+                               pFolderSearchResult->Replace(defSdCardPath, displaySdCard);\r
+                       }\r
+\r
+                       __pDividerLabel->SetText(*pFolderSearchResult);\r
+                       __pDividerLabel->Invalidate(true);\r
+               }\r
+\r
+\r
+       }\r
+       break;\r
+\r
+       case ID_SEARCH_COMPLETED:\r
+       {\r
+               AppLogDebug("ENTER::SearchForm::GetCurrentFileControl:Search Completed");\r
+               __isSearchCompleted = true;\r
+\r
+               __pPopUpPanel->SetShowState(false);\r
+               __pPopUpPanel->Invalidate(true);\r
+               __pSearchBar->SetEnabled(true);\r
+\r
+               __pSearchModel->StopSearch();\r
+\r
+               if (__pSearchBar->GetMode() == SEARCH_BAR_MODE_INPUT)\r
+               {\r
+                       __searchBarMode = SEARCH_BAR_MODE_NORMAL;\r
+                       __pSearchBar->SetMode(__searchBarMode);\r
+                       __pSearchBar->SetText(__searchText);\r
+               }\r
+\r
+               //Scroll the List to top\r
+               __pListView->ScrollToItem(0);\r
+       }\r
+       break;\r
+\r
+       case ID_SEARCH_RESULT_FOUND:\r
+       {\r
+               AppLogDebug("ENTER::SearchForm::GetCurrentFileControl:ID_SEARCH_RESULT_FOUND");\r
+               __isSearchCompleted = false;\r
+               __searchItemIndex++;\r
+               AppLogDebug("ItemCount::%d", __searchItemIndex);\r
+\r
+               __pSearchBar->SetText(__searchText);\r
+\r
+               DirectoryEntry* pSearchResult = static_cast< DirectoryEntry* >(pArgs->GetAt(1));\r
+               TryCatch(pSearchResult != null, , "GetCurrentFileControl::pSearchResult is null");\r
+\r
+               AppLogDebug("ItemCount::%S", pSearchResult->GetFileName().GetPointer());\r
+\r
+               pResultDirEntry = new (std::nothrow) DirectoryEntry(*pSearchResult);\r
+               r = __pSearchedContentList->InsertAt(pResultDirEntry, __searchItemIndex);\r
+\r
+               AppLogDebug("Check Insert to SearchedContentList Result: %s", GetErrorMessage(r));\r
+\r
+               TryCatch(r == E_SUCCESS, , "GetCurrentFileControl::Failed to add items to  __pSearchedContentList");\r
+\r
+               AppLogDebug("Check SearchItemIndex: %d", __searchItemIndex);\r
+               result res = __pListView->RefreshList(__searchItemIndex, LIST_REFRESH_TYPE_ITEM_ADD);\r
+               AppLogDebug("Check Refresh List Result: %s", GetErrorMessage(res));\r
+\r
+       }\r
+       break;\r
+\r
+       case FILE_MANAGING_RESULT_DELETING_SUCCESS:\r
+       {\r
+               AppLogDebug("FILE_MANAGING_RESULT_DELETING_SUCCESS");\r
+               HideFileProgressingPopup();\r
+\r
+               if (__isSearchCompleted == true || __isSearchStarted == true)\r
+               {\r
+                       __pSearchedContentList->RemoveAt(__selectedItemIndexForDelete, true);\r
+               }\r
+               else\r
+               {\r
+                       __pContentListFromLastView->RemoveAt(__selectedItemIndexForDelete, false);\r
+               }\r
+               __pListView->UpdateList();\r
+\r
+       }\r
+       break;\r
+\r
+       default:\r
+               break;\r
+       }\r
+\r
+       pArgs->RemoveAll(true);\r
+       delete pArgs;\r
+       pArgs = null;\r
+\r
+       AppLogDebug("EXIT::SearchForm::GetCurrentFileControl");\r
+       return;\r
+\r
+       CATCH:\r
+\r
+       AppLogDebug("EXIT::SearchForm::GetCurrentFileControl");\r
+       return;\r
+}\r
+\r
+void\r
+SearchForm::OnFolderSearchStarted(Tizen::Base::String& folderName)\r
+{\r
+       //Empty Implementation\r
+}\r
+\r
+void\r
+SearchForm::OnAllFoldersSearchCompleted(void)\r
+{\r
+       //Empty Implementation\r
+}\r
+\r
+void\r
+SearchForm::LoadSubDirectoryForm(Tizen::Base::String& fullPath, Tizen::Base::String& fileName)\r
+{\r
+       result r = E_SUCCESS;\r
+       ArrayList* pArg = null;\r
+       SceneManager* pSceneManager = null;\r
+       //int storageType = -1;\r
+\r
+       if (__SelectedTab == MEMORY_TYPE_PHONE)\r
+       {\r
+               FolderNavigationPresentationModel::SetStorageType(MEMORY_TYPE_PHONE);\r
+       }\r
+       else if (__SelectedTab == MEMORY_TYPE_SD_CARD)\r
+       {\r
+               FolderNavigationPresentationModel::SetStorageType(MEMORY_TYPE_SD_CARD);\r
+       }\r
+\r
+\r
+       FolderNavigationPresentationModel::SetCurrentFilePath(fullPath);\r
+\r
+\r
+       pArg = new (std::nothrow) ArrayList();\r
+       TryCatch(pArg != null, , "SearchForm::LoadSubDirectoryForm::Failed to allocate Memory to pArg");\r
+\r
+       r = pArg->Construct();\r
+       TryCatch(r == E_SUCCESS, , "SearchForm::LoadSubDirectoryForm::Failed to construct pArg");\r
+\r
+       pArg->Add(&fileName);\r
+\r
+       pSceneManager = SceneManager::GetInstance();\r
+       TryCatch(pSceneManager != null, , "SceneManager::GetInstance() failed:%s", GetErrorMessage(GetLastResult()));\r
+\r
+       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SUB_DIRECTORY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT, SCENE_HISTORY_OPTION_ADD_HISTORY, SCENE_DESTROY_OPTION_KEEP), pArg);\r
+       return;\r
+\r
+       CATCH:\r
+       if (pArg != null)\r
+       {\r
+               pArg->RemoveAll(true);\r
+               delete pArg;\r
+               pArg = null;\r
+       }\r
+       return;\r
+\r
+}\r
+void\r
+SearchForm::OnListViewItemStateChangedNotify(ViewType viewType)\r
+{\r
+       //Empty Implementation.\r
+}\r
+void\r
+SearchForm::OnThumbnailReceived(ThumbRequest* pThumbReq)\r
+{\r
+       AppLogDebug("Enter:SearchForm::OnThumbnailReceived");\r
+       ArrayList* pResultList = null;\r
+       result res = E_SUCCESS;\r
+       DirectoryEntry* pFileDetails = null;\r
+\r
+       TryCatch(pThumbReq != null, , "SearchForm::Thumbrequest is null");\r
+\r
+       if (pThumbReq != null)\r
+       {\r
+               if (pThumbReq->GetCurrentSourceForm() != __pFolderEntryPM->GetSourceForm())\r
+               {\r
+                       if (pThumbReq->pBitmap != null)\r
+                       {\r
+                               AppLogDebug("This Bitmap is not requested from same form");\r
+                               delete pThumbReq->pBitmap;\r
+                       }\r
+                       return;\r
+               }\r
+       }\r
+\r
+       if (__isSearchCompleted == false)\r
+       {\r
+               if (__isSearchStarted == true)\r
+                       pResultList = __pSearchedContentList;\r
+               else\r
+                       pResultList = __pContentListFromLastView;\r
+       }\r
+       else\r
+               pResultList = __pSearchedContentList;\r
+\r
+       TryCatch(pResultList != null, , "SearchForm::CreateItem::pResultList is null");\r
+\r
+       if (pThumbReq->iRquestId < pResultList->GetCount())\r
+       {\r
+               pFileDetails = static_cast< DirectoryEntry* >(pResultList->GetAt(pThumbReq->iRquestId));\r
+               TryCatch(pFileDetails != null, , "SearchForm::CreateItem::pFileDetails is null");\r
+\r
+               pFileDetails->SetBitmap(pThumbReq->pBitmap);\r
+               if (__pListView && __pListView->IsVisible())\r
+               {\r
+                       res = __pListView->RefreshList(pThumbReq->iRquestId, LIST_REFRESH_TYPE_ITEM_MODIFY);\r
+               }\r
+       }\r
+       else\r
+               AppLogDebug("Thumbnail Request is not valid");\r
+\r
+       AppLogDebug("Exit");\r
+       return;\r
+       CATCH:\r
+       if (pThumbReq != null)\r
+       {\r
+               if (pThumbReq->pBitmap != null)\r
+                       delete pThumbReq->pBitmap;\r
+       }\r
+       AppLogDebug("Exit");\r
+       return;\r
+\r
+}\r
+\r
+void\r
+SearchForm::OnPackageInstallationCompleted(const Tizen::App::PackageId& packageId, Tizen::App::Package::PackageInstallationResult installationResult)\r
+{\r
+       AppLogDebug("SearchForm::OnPackageInstallationComplete");\r
+       HideInstallationProgressPopup();\r
+\r
+}\r
+\r
+void\r
+SearchForm::OnPackageInstallationInProgress(const Tizen::App::PackageId& packageId, int progress)\r
+{\r
+       //Empty Implementation\r
+}\r
+\r
+void\r
+SearchForm::OnPackageUninstallationCompleted(const Tizen::App::PackageId& packageId, bool uninstallationResult)\r
+{\r
+       //Empty Implementation\r
+}\r
+\r
+void\r
+SearchForm::OnPackageInstallationResponseReceived(const PackageId& packageId, PackageInstallationResult installationResult)\r
+{\r
+       //Empty Implementation\r
+}\r
+\r
+void\r
+SearchForm::OnPackageInstallationInProgressResponseReceived(const PackageId& packageId, int progress)\r
+{\r
+       //Empty Implementation\r
+}\r
+\r
+\r
+result\r
+SearchForm::CreateInstallationConfirmationPopUp(void)\r
+{\r
+       AppLogDebug("Entry");\r
+       result r = E_SUCCESS;\r
+       Rectangle popupBounds;\r
+\r
+       Label* pPanelLabel = null;\r
+       Label* pPopupLabel = null;\r
+\r
+       Bitmap* pPanelBackground = null;\r
+       Bitmap* pPopUpBackground = null;\r
+\r
+       pPanelBackground = UiApp::App::GetInstance()->GetAppResource()->GetBitmapN(IDB_BACKGROUND_POPUP_BOTTOM, BITMAP_PIXEL_FORMAT_ARGB8888);\r
+       pPopUpBackground = UiApp::App::GetInstance()->GetAppResource()->GetBitmapN(IDB_BACKGROUND_POPUP_CENTER, BITMAP_PIXEL_FORMAT_ARGB8888);\r
+\r
+       //Create a new popup control\r
+       __pInstallationConfirmationPopUp = new (std::nothrow) Popup();\r
+       TryCatch(__pInstallationConfirmationPopUp != null, , "MfMyFilesApp::Failed to create __pInstallationConfirmationPopUp");\r
+\r
+       r = __pInstallationConfirmationPopUp->Construct(L"IDL_INSTALL_POPUP");\r
+       TryCatch(r == E_FAILURE, , "MfMyFilesApp::Failed to construct __pInstallationConfirmationPopUp");\r
+\r
+       popupBounds = __pInstallationConfirmationPopUp->GetClientAreaBounds();\r
+\r
+       pPanelLabel = static_cast< Label* >(__pInstallationConfirmationPopUp->GetControl(L"IDC_LABEL_BOTTOM", true));\r
+       AppLogDebug("Install Popup:Error Message:%s", GetErrorMessage(GetLastResult()));\r
+       TryCatch(pPanelLabel != null, , "MfMyFilesApp::pPanelLabel For Popup not created!");\r
+\r
+\r
+       if (pPanelBackground != null)\r
+       {\r
+               pPanelLabel->SetBackgroundBitmap(*pPanelBackground);\r
+       }\r
+\r
+       pPopupLabel = static_cast< Label* >(__pInstallationConfirmationPopUp->GetControl(L"IDC_LABEL_TOP", true));\r
+       AppLogDebug("Install Popup:Error Message:%s", GetErrorMessage(GetLastResult()));\r
+       TryCatch(pPopupLabel != null, , "MfMyFilesApp::pPanelLabel For Popup not created!");\r
+\r
+       if (pPopUpBackground != null)\r
+       {\r
+               pPopupLabel->SetBackgroundBitmap(*pPopUpBackground);\r
+       }\r
+\r
+       __pInstall = static_cast< Button* >(__pInstallationConfirmationPopUp->GetControl(L"IDC_BUTTON_YES", true));\r
+       AppLogDebug("Install Popup:Error Message:%s", GetErrorMessage(GetLastResult()));\r
+       TryCatch(__pInstall != null, , "MfMyFilesApp::Button For Popup not created!");\r
+\r
+       __pInstall->SetActionId(IDA_INSTALL_APP);\r
+       __pInstall->AddActionEventListener(*this);\r
+       __pInstall->SetShowState(true);\r
+\r
+       __pCancelInstallation = static_cast< Button* >(__pInstallationConfirmationPopUp->GetControl(L"IDC_BUTTON_NO", true));\r
+       AppLogDebug("Install Popup:Error Message:%s", GetErrorMessage(GetLastResult()));\r
+       TryCatch(__pCancelInstallation != null, , "MfMyFilesApp::Button For Popup not created!");\r
+\r
+       __pCancelInstallation->SetActionId(IDA_CANCEL_INSTALLATION);\r
+       __pCancelInstallation->AddActionEventListener(*this);\r
+       __pCancelInstallation->SetShowState(true);\r
+\r
+       AppLogDebug("Exit");\r
+       if (pPopUpBackground != null)\r
+       {\r
+               delete pPopUpBackground;\r
+               pPopUpBackground = null;\r
+       }\r
+       if (pPanelBackground != null)\r
+       {\r
+               delete pPanelBackground;\r
+               pPanelBackground = null;\r
+       }\r
+       return r;\r
+\r
+       CATCH:\r
+\r
+       if (pPopUpBackground != null)\r
+       {\r
+               delete pPopUpBackground;\r
+               pPopUpBackground = null;\r
+       }\r
+       if (pPanelBackground != null)\r
+       {\r
+               delete pPanelBackground;\r
+               pPanelBackground = null;\r
+       }\r
+       if (__pInstallationConfirmationPopUp != null)\r
+       {\r
+               delete __pInstallationConfirmationPopUp;\r
+               __pInstallationConfirmationPopUp = null;\r
+       }\r
+\r
+       return r;\r
+}\r
+\r
+\r
+void\r
+SearchForm::LoadDetailForm(String& fullFilePath)\r
+{\r
+       AppLogDebug("ENTER:SearchForm::LoadDetailForm:%S", fullFilePath.GetPointer());\r
+       result r = E_FAILURE;\r
+\r
+       SceneManager* pSceneManager = null;\r
+       ArrayList* pList = null;\r
+       String* pFullFilePath = null;\r
+\r
+       pList = new (std::nothrow) ArrayList();\r
+       TryCatch(pList != null, , "Failed to create pList");\r
+\r
+       r = pList->Construct();\r
+       TryCatch(r == E_SUCCESS, , "Failed to construct pList");\r
+\r
+       pFullFilePath = new (std::nothrow) String(fullFilePath);\r
+\r
+       r = pList->Add(pFullFilePath);\r
+       TryCatch(r == E_SUCCESS, , "Failed to add pFullFilePath to ArrayList");\r
+\r
+       pSceneManager = SceneManager::GetInstance();\r
+       TryCatch(pSceneManager != null, , "Failed to allocate Memory to pSceneManager");\r
+\r
+       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_FILE_DETAIL_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pList);\r
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));\r
+       return;\r
+\r
+       CATCH:\r
+\r
+       if (pFullFilePath != null)\r
+       {\r
+               delete pFullFilePath;\r
+               pFullFilePath = null;\r
+       }\r
+       if (pList != null)\r
+       {\r
+               delete pList;\r
+               pList = null;\r
+       }\r
+       return;\r
+}\r
+\r
+void\r
+SearchForm::LoadRenameForm(int index, DirectoryEntry* pDirectory)\r
+{\r
+       AppLogDebug("ENTER");\r
+       result r = E_SUCCESS;\r
+\r
+       ArrayList* pArg = null;\r
+       Integer* pSourceSelected = null;\r
+       SceneManager* pSceneManager = null;\r
+\r
+       __selectedItemIndexForRename = index;\r
+       pSceneManager = SceneManager::GetInstance();\r
+       TryCatch(pSceneManager != null, r = GetLastResult(), "Failed to Get SceneManager instance");\r
+\r
+       pArg = new (std::nothrow) ArrayList;\r
+       r = pArg->Construct();\r
+\r
+       pSourceSelected = new (std::nothrow) Integer(SELECT_RENAME);\r
+       pArg->Add(pSourceSelected);\r
+       TryCatch(r == E_SUCCESS, r = GetLastResult(), "Failed to add sourceSelected");\r
+\r
+       pArg->Add(pDirectory);\r
+\r
+       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_CREATE_FOLDER_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pArg);\r
+\r
+       return;\r
+\r
+       CATCH:\r
+       if (pSourceSelected != null)\r
+       {\r
+               delete pSourceSelected;\r
+       }\r
+\r
+       if (pDirectory != null)\r
+       {\r
+               delete pDirectory;\r
+       }\r
+       if (pArg != null)\r
+       {\r
+               delete pArg;\r
+               pArg = null;\r
+       }\r
+       return;\r
+}\r
+\r
+\r
+void\r
+SearchForm::DeleteFile(String& filePath)\r
+{\r
+       AppLogDebug("ENTER");\r
+\r
+       ((MyFilesApp*) Application::GetInstance())->SetNotifyListener(this);\r
+       ((MyFilesApp*) Application::GetInstance())->SetCurrentView(this);\r
+\r
+       FolderEntryEditorPresentationModel* __pFileManager = FolderEntryEditorPresentationModel::GetInstance();\r
+       if (__pFileManager != null)\r
+       {\r
+               __pFileManager->SetFileManagingListener(this);\r
+               __pFileManager->DeleteFolderEntries(&filePath);\r
+       }\r
+\r
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));\r
+}\r
+\r
+\r
+void\r
+SearchForm::OnFileManagingStart(void)\r
+{\r
+       AppLogDebug("Entry");\r
+       ShowFileProgressingPopup();\r
+}\r
+\r
+void\r
+SearchForm::OnFileManagingStop(FileManagingResult fileManagingResult)\r
+{\r
+       //Empty Implementation\r
+}\r
+\r
+void\r
+SearchForm::ShowFileProgressingPopup(void)\r
+{\r
+       CreateFileProgressingPopup();\r
+\r
+       if (__pFileProgressingPopup != null)\r
+       {\r
+               __pFileProgressingPopup->SetShowState(true);\r
+               __pFileProgressingPopup->Show();\r
+       }\r
+}\r
+\r
+void\r
+SearchForm::HideFileProgressingPopup(void)\r
+{\r
+       AppLogDebug("HideFileProgressingPopup:ENTER");\r
+       if (__pFileProgressingPopup != null && __pFileProgressingPopup->IsVisible())\r
+       {\r
+               __pFileProgressingPopup->SetShowState(false);\r
+\r
+               delete __pFileProgressingPopup;\r
+               __pFileProgressingPopup = null;\r
+       }\r
+}\r
+\r
+result\r
+SearchForm::CreateFileProgressingPopup(void)\r
+{\r
+       AppLogDebug("ENTER");\r
+       result r = E_SUCCESS;\r
+       String deleting;\r
+\r
+       AppResource* pAppResource = null;\r
+       pAppResource = UiApp::GetInstance()->GetAppResource();\r
+       TryReturn(pAppResource != null, r, "Failed to fetch AppResource");\r
+\r
+       pAppResource->GetString(L"IDS_COM_POP_DELETING", deleting);\r
+\r
+       __pFileProgressingPopup = new (std::nothrow) Popup();\r
+       __pFileProgressingPopup->Construct(L"IDL_FILE_PROGRESSING_POPUP");\r
+\r
+       __pFileProgressingCancelButton = static_cast< Button* >(__pFileProgressingPopup->GetControl(L"IDC_CANCEL_BUTTON", true));\r
+       if (__pFileProgressingCancelButton != null)\r
+       {\r
+               __pFileProgressingCancelButton->SetActionId(IDA_BTN_ANIMATION_POPUP_CANCEL);\r
+               __pFileProgressingCancelButton->AddActionEventListener(*this);\r
+       }\r
+       __pFileProgressingProgress = static_cast< Progress* >(__pFileProgressingPopup->GetControl(L"IDC_PROGRESS_BAR", true));\r
+       if (__pFileProgressingProgress != null)\r
+       {\r
+               __pFileProgressingProgress->SetName(L"IDC_ANIMATION_PROGRESS");\r
+               __pFileProgressingProgress->SetValue(0);\r
+       }\r
+       __pFileProgressingHeaderLabel = static_cast< Label* >(__pFileProgressingPopup->GetControl(L"IDC_ANIMATION_HEADER", true));\r
+       if (__pFileProgressingHeaderLabel != null)\r
+       {\r
+               __pFileProgressingHeaderLabel->SetName(L"IDC_ANIMATION_HEADER");\r
+               __pFileProgressingHeaderLabel->SetText(deleting);\r
+       }\r
+       __pFileProgressingLabel = static_cast< Label* >(__pFileProgressingPopup->GetControl(L"IDC_ANIMATION_LABEL", true));\r
+       if (__pFileProgressingLabel != null)\r
+       {\r
+               __pFileProgressingLabel->SetName(L"IDC_FILE_COUNT_LABEL");\r
+       }\r
+\r
+       return r;\r
+\r
+}\r
+\r
+result\r
+SearchForm::CreateInstallationProgressPopUp(void)\r
+{\r
+       result r = E_SUCCESS;\r
+\r
+       if (__pInstallationProgressPopup != null)\r
+       {\r
+               return r;\r
+       }\r
+\r
+       __pInstallationProgressPopup = new (std::nothrow) Popup();\r
+       __pInstallationProgressPopup->Construct(L"IDL_INSTALLATION_PROGRESS_POPUP");\r
+\r
+       __pInstallationProgressPopup->SetShowState(false);\r
+\r
+       return r;\r
+}\r
+\r
+void\r
+SearchForm::ShowInstallationProgressPopup(void)\r
+{\r
+       CreateInstallationProgressPopUp();\r
+\r
+       if (__pInstallationProgressPopup != null)\r
+       {\r
+               __pInstallationProgressPopup->SetShowState(true);\r
+               __pInstallationProgressPopup->Invalidate(true);\r
+       }\r
+}\r
+\r
+void\r
+SearchForm::HideInstallationProgressPopup(void)\r
+{\r
+       if (__pInstallationProgressPopup != null && __pInstallationProgressPopup->IsVisible())\r
+       {\r
+               __pInstallationProgressPopup->SetShowState(false);\r
+\r
+               delete __pInstallationProgressPopup;\r
+               __pInstallationProgressPopup = null;\r
+       }\r
+}\r
+\r
+void\r
+SearchForm::ShowInstallationConfirmationPopup(void)\r
+{\r
+       CreateInstallationConfirmationPopUp();\r
+       if (__pInstallationConfirmationPopUp != null)\r
+       {\r
+               __pInstallationConfirmationPopUp->SetShowState(true);\r
+               __pInstallationConfirmationPopUp->Show();\r
+       }\r
+}\r
+void\r
+SearchForm::HideInstallationConfirmationPopup(void)\r
+{\r
+       if (__pInstallationConfirmationPopUp != null && __pInstallationConfirmationPopUp->IsVisible())\r
+       {\r
+               __pInstallationConfirmationPopUp->SetShowState(false);\r
+\r
+               delete __pInstallationConfirmationPopUp;\r
+               __pInstallationConfirmationPopUp = null;\r
+       }\r
+}\r
+\r
+result\r
+SearchForm::CreateDeleteConfirmationPopup(void)\r
+{\r
+       result r = E_SUCCESS;\r
+       Rectangle popupBounds;\r
+\r
+       Label* pPanelLabel = null;\r
+       Label* pPopupLabel = null;\r
+\r
+       Bitmap* pPanelBackground = null;\r
+       Bitmap* pPopUpBackground = null;\r
+\r
+       String deleteLabel = L"";\r
+\r
+       pPanelBackground = AppResource::GetInstance()->GetBitmapN(IDB_BACKGROUND_POPUP_BOTTOM, BITMAP_PIXEL_FORMAT_ARGB8888);\r
+       pPopUpBackground = AppResource::GetInstance()->GetBitmapN(IDB_BACKGROUND_POPUP_CENTER, BITMAP_PIXEL_FORMAT_ARGB8888);\r
+\r
+       //Create a Delete popup control\r
+       __pDeleteConfirmationPopUp = new (std::nothrow) Popup();\r
+       __pDeleteConfirmationPopUp->Construct(L"IDL_DELETE_POPUP");\r
+\r
+       popupBounds = __pDeleteConfirmationPopUp->GetClientAreaBounds();\r
+\r
+       pPanelLabel = static_cast< Label* >(__pDeleteConfirmationPopUp->GetControl(L"IDC_LABEL_BOTTOM_BACKGROUND", true));\r
+       TryCatch(pPanelLabel != null, , "MfMyFilesApp::pPanelLabel For Popup not created!");\r
+\r
+       pPopupLabel = static_cast< Label* >(__pDeleteConfirmationPopUp->GetControl(L"IDC_LABEL_DELETE", true));\r
+       TryCatch(pPopupLabel != null, , "MfMyFilesApp::pPanelLabel For Popup not created!");\r
+\r
+       if (pPanelBackground != null)\r
+       {\r
+               pPanelLabel->SetBackgroundBitmap(*pPanelBackground);\r
+       }\r
+       if (pPopUpBackground != null)\r
+       {\r
+               pPopupLabel->SetBackgroundBitmap(*pPopUpBackground);\r
+       }\r
+\r
+       AppResource::GetInstance()->GetString(L"IDS_MF_SK3_DELETE", deleteLabel);\r
+\r
+       if(deleteLabel.IsEmpty() == false)\r
+       {\r
+               deleteLabel.Append("?");\r
+               pPopupLabel->SetText(deleteLabel);\r
+       }\r
+\r
+       __pDelete = static_cast< Button* >(__pDeleteConfirmationPopUp->GetControl(L"IDC_BUTTON_DELETE", true));\r
+       TryCatch(__pDelete != null, , "MfMyFilesApp::Button For Popup not created!");\r
+\r
+       __pDelete->SetActionId(IDA_DELETE_FILE);\r
+       __pDelete->AddActionEventListener(*this);\r
+       __pDelete->SetShowState(true);\r
+\r
+       __pCancelDeletion = static_cast< Button* >(__pDeleteConfirmationPopUp->GetControl(L"IDC_BUTTON_CANCEL", true));\r
+       TryCatch(__pCancelDeletion != null, , "MfMyFilesApp::Button For Popup not created!");\r
+\r
+       __pCancelDeletion->SetActionId(IDA_CANCEL_DELETION);\r
+       __pCancelDeletion->AddActionEventListener(*this);\r
+       __pCancelDeletion->SetShowState(true);\r
+\r
+       if (pPopUpBackground != null)\r
+       {\r
+               delete pPopUpBackground;\r
+               pPopUpBackground = null;\r
+       }\r
+       if (pPanelBackground != null)\r
+       {\r
+               delete pPanelBackground;\r
+               pPanelBackground = null;\r
+       }\r
+       return r;\r
+\r
+\r
+CATCH:\r
+       if (pPopUpBackground != null)\r
+       {\r
+               delete pPopUpBackground;\r
+               pPopUpBackground = null;\r
+       }\r
+       if (pPanelBackground != null)\r
+       {\r
+               delete pPanelBackground;\r
+               pPanelBackground = null;\r
+       }\r
+\r
+       if (__pDeleteConfirmationPopUp != null)\r
+       {\r
+               delete __pDeleteConfirmationPopUp;\r
+               __pDeleteConfirmationPopUp = null;\r
+       }\r
+\r
+       return r;\r
+\r
+}\r
+\r
+void\r
+SearchForm::HideDeleteConfirmationPopup(void)\r
+{\r
+       if (__pDeleteConfirmationPopUp != null && __pDeleteConfirmationPopUp->IsVisible())\r
+       {\r
+               __pDeleteConfirmationPopUp->SetShowState(false);\r
+\r
+               delete __pDeleteConfirmationPopUp;\r
+               __pDeleteConfirmationPopUp = null;\r
+\r
+       }\r
+}\r
+\r
+void\r
+SearchForm::ShowDeleteConfirmationPopup(void)\r
+{\r
+       CreateDeleteConfirmationPopup();\r
+\r
+       if (__pDeleteConfirmationPopUp != null)\r
+       {\r
+               __pDeleteConfirmationPopUp->SetShowState(true);\r
+               __pDeleteConfirmationPopUp->Show();\r
+       }\r
+}\r
+\r
+void\r
+SearchForm::OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state)\r
+{\r
+       bool setMediaPath = false;\r
+       MemoryType currentMemoryType = MEMORY_TYPE_PHONE;\r
+       String unmounted = sdCardStatusUnmounted;\r
+       String removed = usbDeviceStatusRemoved;\r
+       String currentPath;\r
+       SceneManager* pSceneManager = null;\r
+\r
+       if (state == unmounted || state == removed)\r
+       {\r
+               currentPath = FolderNavigationPresentationModel::GetCurrentPath();\r
+               if (state == unmounted)\r
+               {\r
+                       if (currentPath.Contains(BasePresentationModel::GetSdCardPath()))\r
+                       {\r
+                               FolderNavigationPresentationModel::SetCurrentFilePath(BasePresentationModel::GetMediaPath());\r
+                               FolderNavigationPresentationModel::SetStorageType(currentMemoryType);\r
+                               setMediaPath = true;\r
+                       }\r
+               }\r
+\r
+               if (state == removed)\r
+               {\r
+                       if (currentPath.Contains(BasePresentationModel::GetUsbPath()))\r
+                       {\r
+                               FolderNavigationPresentationModel::SetCurrentFilePath(BasePresentationModel::GetMediaPath());\r
+                               FolderNavigationPresentationModel::SetStorageType(currentMemoryType);\r
+                               setMediaPath = true;\r
+                       }\r
+               }\r
+\r
+               if (setMediaPath)\r
+               {\r
+                       pSceneManager = SceneManager::GetInstance();\r
+                       if (pSceneManager != null)\r
+                       {\r
+                               pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_ROOT_DIRECTORY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_DESTROY_OPTION_DESTROY), null);\r
+                       }\r
+               }\r
+       }\r
+}\r
+\r
+void\r
+SearchForm::OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state)\r
+{\r
+\r
+       ComponentType currentDeviceType;\r
+       switch (deviceType)\r
+       {\r
+       case StorageCard:\r
+       {\r
+               currentDeviceType = COMPONENT_TYPE_STORAGE_CARD;\r
+       }\r
+       break;\r
+\r
+       case UsbClient:\r
+       {\r
+               currentDeviceType = COMPONENT_TYPE_USB;\r
+       }\r
+       break;\r
+\r
+       default:\r
+       {\r
+               //Do Nothing.\r
+       }\r
+       break;\r
+       }\r
+       OnDeviceChange(currentDeviceType, state);\r
+}\r
+\r
+void\r
+SearchForm::OnSceneTransitionCompleted(const Tizen::Ui::Scenes::SceneId &previousSceneId,\r
+               const Tizen::Ui::Scenes::SceneId &currentSceneId)\r
+{\r
+       SceneManager::GetInstance()->RemoveSceneManagerEventListener(*this);\r
+       __pSearchBar->SetText(L"");\r
+       __pSearchBar->SetMode(__searchBarMode);\r
+\r
+       if (__bCheckArgsNull)\r
+       {\r
+               if (__pListView != null)\r
+               {\r
+                       __pListView->UpdateList();\r
+               }\r
+       }\r
+       else\r
+       {\r
+               if (previousSceneId == IDSCN_CREATE_FOLDER_FORM)\r
+               {\r
+                       __pListView->RefreshList(__selectedItemIndexForRename, LIST_REFRESH_TYPE_ITEM_MODIFY);\r
+               }\r
+       }\r
+}\r
+\r
+void\r
+SearchForm::OnSceneTransitionStarted(const Tizen::Ui::Scenes::SceneId &currentSceneId,\r
+               const Tizen::Ui::Scenes::SceneId &nextSceneId)\r
+{\r
+       //Empty Implementation.\r
+}\r
+\r
+void\r
+SearchForm::StartSearch(void)\r
+{\r
+       String searchtext;\r
+       String folderToSearch;\r
+       String topLevelPath;\r
+\r
+       //Hide keypad of Search bar\r
+       __pSearchBar->HideKeypad();\r
+       __pSearchBar->SetContentAreaVisible(true);\r
+       __pSearchBar->SetEnabled(false);\r
+\r
+       //Show Popup\r
+       __pDividerLabel->SetText(folderToSearch);\r
+       __pPopUpPanel->SetShowState(true);\r
+       __pPopUpPanel->Invalidate(true);\r
+\r
+       ///Set Application Notification Listener to current form\r
+       ((MyFilesApp*) Application::GetInstance())->SetNotifyListener(this);\r
+\r
+       if (__SelectedTab == MEMORY_TYPE_PHONE)\r
+       {\r
+               //topLevelPath = folderEntryPM.GetMediaPath();\r
+               topLevelPath = __pFolderEntryPM->GetMediaPath();\r
+       }\r
+       else if (__SelectedTab == MEMORY_TYPE_SD_CARD)\r
+       {\r
+               //topLevelPath = folderEntryPM.GetSdCardPath();\r
+               topLevelPath = __pFolderEntryPM->GetSdCardPath();\r
+       }\r
+\r
+       if (__displayPath.GetLength() > 0 && __displayPath == topLevelPath)\r
+       {\r
+               __searchedAllFolders = true;\r
+       }\r
+\r
+       if (__pSearchedContentList != null)\r
+       {\r
+               __pSearchedContentList->RemoveAll(true);\r
+       }\r
+       __searchItemIndex = INVALID_LIST_INDEX;\r
+       __isSearchCompleted = false;\r
+       __isSearchStarted = true;\r
+\r
+       __pListView->UpdateList();\r
+\r
+       __pSearchModel->SetFolderToSearch(__displayPath);\r
+       __pSearchModel->SetStringToSearch(__searchText);\r
+       __pSearchModel->Start();\r
+}\r
+\r
+void\r
+SearchForm::OnFileEventOccured(const unsigned long events,const Tizen::Base::String &  path, const unsigned int        eventId)\r
+{\r
+       if (__pFileEventManager != null)\r
+       {\r
+               __pFileEventManager->RemovePath(__pathOfSelectedFile);\r
+       }\r
+\r
+       __pSearchBar->SetMode(__searchBarMode);\r
+\r
+       if (__searchText.IsEmpty() == false)\r
+               StartSearch();\r
+\r
+       if (__pListView != null)\r
+               __pListView->UpdateList();\r
+}\r
diff --git a/src/MfSearchPresentationModel.cpp b/src/MfSearchPresentationModel.cpp
new file mode 100644 (file)
index 0000000..03f45e6
--- /dev/null
@@ -0,0 +1,309 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSearchPresentationModel.cpp
+ * @brief: This file contains implementation of SearchPresentationModel class.
+ */
+
+#include "MfSearchPresentationModel.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Runtime;
+
+SearchPresentationModel::SearchPresentationModel(void)
+{
+       __pFolderSearchStartedMessage = null;
+       __pFolderEntryPM = null;
+       __searchToStop = false;
+}
+
+SearchPresentationModel::~SearchPresentationModel(void)
+{
+       //Empty Implementation.
+}
+
+
+result
+SearchPresentationModel::Initialize(void)
+{
+       result r = E_FAILURE;
+       r = Construct(THREAD_TYPE_WORKER);
+       return r;
+}
+
+void
+SearchPresentationModel::SetFolderToSearch(const String& foldername)
+{
+       __folderToSearch = foldername;
+}
+
+void
+SearchPresentationModel::SetStringToSearch(const String& searchString)
+{
+       __searchKeyword = searchString;
+}
+
+result
+SearchPresentationModel::Search(const String& folderToSearch)
+{
+       AppLogDebug("Enter:SearchPresentationModel::Search::SearchPath:%S", folderToSearch.GetPointer());
+
+       ArrayList* pDirectoryEntryList = null;
+       FolderEntryPresentationModel* pFolderEntryPM = null;
+       result r = E_SUCCESS;
+
+       pFolderEntryPM = new (std::nothrow) FolderEntryPresentationModel();
+       TryCatch(pFolderEntryPM != null, , "SearchPresentationModel::Search::Failed to allocate Memory to listmanager");
+       pFolderEntryPM->Construct();
+
+       pFolderEntryPM->SetFolderEntryPath(folderToSearch);
+       pDirectoryEntryList = pFolderEntryPM->GetFolderEntryList();
+       TryCatch(pDirectoryEntryList != null, , "SearchPresentationModel::Search::pDirectoryEntryList is null");
+
+       for (int directoryEntryCount = 0; directoryEntryCount < pDirectoryEntryList->GetCount(); directoryEntryCount++)
+       {
+               if (__searchToStop == true)
+               {
+                       r = E_FAILURE;
+                       break;
+               }
+               DirectoryEntry* pdirStructure = static_cast< DirectoryEntry* >(pDirectoryEntryList->GetAt(directoryEntryCount));
+               TryCatch(pdirStructure != null, , "SearchPresentationModel::Search::pdirStructure is null");
+
+               String filename;
+               if (pdirStructure->IsDirectory() == true)
+                       filename = pdirStructure->GetFileName();
+               else
+                       filename = pdirStructure->GetFileName() + "." + pdirStructure->GetFileExtension();
+
+               if (filename.IsEmpty() == false && __searchKeyword.IsEmpty() == false)
+               {
+                       int index = -1;
+                       filename.ToLowerCase();
+                       __searchKeyword.ToLowerCase();
+                       filename.IndexOf(__searchKeyword, 0, index);
+                       if (index >= 0)
+                       {
+                               //__pSubFolderSearchedResult->Add(*new (std::nothrow) DirectoryEntry(*pdirStructure));
+
+
+                               ArrayList* pListToBeSent = new (std::nothrow) ArrayList;
+                               if (pListToBeSent != null)
+                               {
+                                       pListToBeSent->Construct();
+                                       pListToBeSent->Add(new (std::nothrow) Integer(ID_SEARCH_RESULT_FOUND));
+                                       pListToBeSent->Add(new (std::nothrow) DirectoryEntry(*pdirStructure));
+                               }
+                               AppLogDebug("Exit:SearchPresentationModel::Search::Result:%S", filename.GetPointer());
+                               Application::GetInstance()->SendUserEvent(ID_SEARCH_RESULT_FOUND, pListToBeSent);
+                       }
+               }
+               if (pdirStructure->IsDirectory() == true)
+               {
+                       ///Free __pListToBeSent and construct again
+                       /*if (__pFolderSearchStartedMessage != null)
+                       {
+                           delete __pFolderSearchStartedMessage;
+                           __pFolderSearchStartedMessage = null;
+                       }*/
+                       __pFolderSearchStartedMessage = new (std::nothrow) ArrayList();
+                       if (__pFolderSearchStartedMessage != null)
+                       {
+                               __pFolderSearchStartedMessage->Construct();
+                               __pFolderSearchStartedMessage->Add(new (std::nothrow) Integer(ID_FOLDER_SEARCH_STARTED));
+                               __pFolderSearchStartedMessage->Add(new (std::nothrow) String(pdirStructure->GetFullFilePath()));
+                       }
+                       Application::GetInstance()->SendUserEvent(ID_FOLDER_SEARCH_STARTED, __pFolderSearchStartedMessage);
+                       Search(pdirStructure->GetFullFilePath());
+               }
+       }
+       AppLogDebug("Exit:SearchPresentationModel::Search::SearchPath:%S", folderToSearch.GetPointer());
+       return r;
+
+CATCH:
+       if (pFolderEntryPM != null)
+       {
+               delete pFolderEntryPM;
+       }
+       return r;
+}
+
+result
+SearchPresentationModel::Search(void)
+{
+       AppLogDebug("Enter:SearchPresentationModel::Search");
+       result r = E_SUCCESS;
+
+       __pFolderEntryPM = new (std::nothrow) FolderEntryPresentationModel();
+       TryCatch(__pFolderEntryPM != null, , "SearchPresentationModel::Search::Failed to allocate Memory to __pContentManager");
+       __pFolderEntryPM->Construct();
+
+       if (__folderToSearch.IsEmpty() == false)
+       {
+               if ((__folderToSearch == BasePresentationModel::GetMediaPath()) || (__folderToSearch == BasePresentationModel::GetSdCardPath()))
+               {
+                       ArrayList* pDirectoryEntryList = null;
+                       __pFolderEntryPM->SetFolderEntryPath(__folderToSearch);
+
+                       pDirectoryEntryList = __pFolderEntryPM->GetFolderEntryList();
+                       TryCatch(pDirectoryEntryList != null, , "SearchPresentationModel::Search::pDirectoryEntryList is null");
+
+                       for (int directoryEntryCount = 0; directoryEntryCount < pDirectoryEntryList->GetCount(); directoryEntryCount++)
+                       {
+                               if (__searchToStop == true)
+                               {
+                                       r = E_FAILURE;
+                                       break;
+                               }
+
+                               DirectoryEntry* pdirStructure = static_cast< DirectoryEntry* >(pDirectoryEntryList->GetAt(directoryEntryCount));
+                               TryCatch(pdirStructure != null, , "SearchPresentationModel::Search::pdirStructure is null");
+
+                               String filename;
+                               if (pdirStructure->IsDirectory() == true)
+                                       filename = pdirStructure->GetFileName();
+                               else
+                                       filename = pdirStructure->GetFileName() + "." + pdirStructure->GetFileExtension();
+
+                               if (filename.IsEmpty() == false && __searchKeyword.IsEmpty() == false)
+                               {
+                                       int index = -1;
+                                       filename.ToLowerCase();
+                                       __searchKeyword.ToLowerCase();
+                                       filename.IndexOf(__searchKeyword, 0, index);
+                                       if (index >= 0)
+                                       {
+                                               //__pSearchedResult->Add(*new (std::nothrow) DirectoryEntry(*pdirStructure));
+                                               ArrayList* pListToBeSent = new (std::nothrow) ArrayList;
+                                               if (pListToBeSent != null)
+                                               {
+                                                       pListToBeSent->Construct();
+                                                       pListToBeSent->Add(new (std::nothrow) Integer(ID_SEARCH_RESULT_FOUND));
+                                                       pListToBeSent->Add(new (std::nothrow) DirectoryEntry(*pdirStructure));
+                                               }
+                                               AppLogDebug("Exit:SearchPresentationModel::Search::Result:%S", filename.GetPointer());
+                                               Application::GetInstance()->SendUserEvent(ID_SEARCH_RESULT_FOUND, pListToBeSent);
+                                       }
+                               }
+                               if (pdirStructure->IsDirectory() == true)
+                               {
+                                       /*if (__pFolderSearchStartedMessage != null)
+                                       {
+                                           delete __pFolderSearchStartedMessage;
+                                           __pFolderSearchStartedMessage = null;
+                                       }*/
+                                       __pFolderSearchStartedMessage = new (std::nothrow) ArrayList();
+                                       if (__pFolderSearchStartedMessage != null)
+                                       {
+                                               __pFolderSearchStartedMessage->Construct();
+                                               __pFolderSearchStartedMessage->Add(new (std::nothrow) Integer(ID_FOLDER_SEARCH_STARTED));
+                                               __pFolderSearchStartedMessage->Add(new (std::nothrow) String(pdirStructure->GetFullFilePath()));
+                                       }
+                                       Application::GetInstance()->SendUserEvent(ID_FOLDER_SEARCH_STARTED, __pFolderSearchStartedMessage);
+                                       r = Search(pdirStructure->GetFullFilePath());
+                               }
+                       }
+               }
+               else
+               {
+                       /*if (__pFolderSearchStartedMessage != null)
+                       {
+                           delete __pFolderSearchStartedMessage;
+                           __pFolderSearchStartedMessage = null;
+                       }*/
+                       __pFolderSearchStartedMessage = new (std::nothrow) ArrayList();
+                       if (__pFolderSearchStartedMessage != null)
+                       {
+                               __pFolderSearchStartedMessage->Construct();
+                               __pFolderSearchStartedMessage->Add(new (std::nothrow) Integer(ID_FOLDER_SEARCH_STARTED));
+                               __pFolderSearchStartedMessage->Add(new (std::nothrow) String(__folderToSearch));
+                       }
+                       Application::GetInstance()->SendUserEvent(ID_FOLDER_SEARCH_STARTED, __pFolderSearchStartedMessage);
+                       r = Search(__folderToSearch);
+
+               }
+       }
+       SetLastResult(r);
+       AppLogDebug("Exit:SearchPresentationModel::Search");
+       return r;
+
+CATCH:
+       return r;
+
+}
+
+Tizen::Base::Object*
+SearchPresentationModel::Run(void)
+{
+       AppLogDebug("Enter:SearchPresentationModel::Run");
+       result r = E_FAILURE;
+       __searchToStop = false;
+
+       if (__folderToSearch.IsEmpty() == false)
+       {
+               r = Search();
+       }
+       return null;
+
+}
+bool
+SearchPresentationModel::OnStart(void)
+{
+       AppLogDebug("Enter:SearchPresentationModel::OnStart");
+       return true;
+}
+
+void
+SearchPresentationModel::OnStop(void)
+{
+       AppLogDebug("Enter:SearchPresentationModel::OnStop");
+       result r = E_FAILURE;
+       Tizen::Base::Collection::ArrayList* pSearchCompleteMessage = null;
+       if (!IsFailed(GetLastResult()))
+       {
+               pSearchCompleteMessage = new (std::nothrow) ArrayList();
+               TryCatch(pSearchCompleteMessage != null, , "SearchPresentationModel::Run::Failed to allocate Memory to pSearchCompleteMessage");
+
+               r = pSearchCompleteMessage->Construct();
+               TryCatch(r == E_SUCCESS, , "SearchPresentationModel::Run::Failed to Construct pFinalListToBeSent");
+
+               pSearchCompleteMessage->Add(new (std::nothrow) Integer(ID_SEARCH_COMPLETED));
+
+               Application::GetInstance()->SendUserEvent(ID_SEARCH_COMPLETED, pSearchCompleteMessage);
+
+       }
+       AppLogDebug("Exit:SearchPresentationModel::OnStop");
+       return;
+
+CATCH:
+       if (pSearchCompleteMessage)
+       {
+               delete pSearchCompleteMessage;
+       }
+       AppLogDebug("SearchPresentationModel::OnStop--");
+       return;
+
+}
+
+void
+SearchPresentationModel::StopSearch(void)
+{
+       AppLogDebug("Enter:SearchPresentationModel::StopSearch");
+       __searchToStop = true;
+}
diff --git a/src/MfSubBaseFolderEntryForm.cpp b/src/MfSubBaseFolderEntryForm.cpp
new file mode 100644 (file)
index 0000000..cd12a87
--- /dev/null
@@ -0,0 +1,2191 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSubBaseFolderEntryForm.cpp
+ * @brief: This file contains the implementation of SubBaseFolderEntryForm class, which acts as a base form for
+ * the TopMostFileFolderListForm and SubFileFolderListForm.
+ */
+
+#include "MfSubBaseFolderEntryForm.h"
+
+using namespace Tizen::App;
+using namespace Tizen::App::Package;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::Io;
+using namespace Tizen::Locales;
+using namespace Tizen::Media;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+SubBaseFolderEntryForm::SubBaseFolderEntryForm(void)
+       : _pFileEventManager(null)
+       , _pPackageManager(null)
+       , _pFilenames(null)
+       , _pCancelDeletion(null)
+       , _pCancelInstallation(null)
+       , _pCancelSortBy(null)
+       , _pCancelViewAs(null)
+       , _pDeleteFile(null)
+       , _pFileProgressingCancelButton(null)
+       , _pInstall(null)
+       , _pMoreContextMenu(null)
+       , _pFooter(null)
+       , _pEdit(null)
+       , _pMore(null)
+       , _pSearch(null)
+       , _pSortBy(null)
+       , _pIconListView(null)
+       , _pFileProgressingHeaderLabel(null)
+       , _pFileProgressingLabel(null)
+       , __pItemContext(null)
+       , _pListView(null)
+       , _pSortByListView(null)
+       , _pViewAsListView(null)
+       , _pDeleteConfirmationPopUp(null)
+       , _pFileProgressingPopup(null)
+       , _pInstallationConfirmationPopUp(null)
+       , _pInstallationProgressPopup(null)
+       , _pSortByPopup(null)
+       , _pViewAsPopup(null)
+       , _pBaseItemProvider(null)
+       , _pCustomListViewForPopup(null)
+       , _pFileManager(null)
+       , _pFolderEntryPM(null)
+       , _pMediaMetaData(null)
+       , _pThumbnailItemProvider(null)
+       , _pThumbnailManager(null)
+
+{
+       _flagViewAsStatus = 0;
+       _indexToDelete = 0;
+       _indexTracker = 0;
+       _listItemCount = 0;
+       ;
+       _renameIndex = 0;
+       _renameOrCreate = 0;
+}
+
+SubBaseFolderEntryForm::~SubBaseFolderEntryForm(void)
+{
+       AppLogDebug("Entry");
+
+       if (_pFolderEntryPM != null)
+       {
+               delete _pFolderEntryPM;
+       }
+
+       if (_pMoreContextMenu != null)
+       {
+               delete _pMoreContextMenu;
+       }
+
+       if (_pViewAsPopup != null)
+       {
+               delete _pViewAsPopup;
+       }
+
+       if (_pDeleteConfirmationPopUp != null)
+       {
+               delete _pDeleteConfirmationPopUp;
+       }
+
+       if (_pCustomListViewForPopup != null)
+       {
+               delete _pCustomListViewForPopup;
+       }
+
+       if (_pMediaMetaData != null)
+       {
+               delete _pMediaMetaData;
+       }
+
+       if (_pSortByPopup != null)
+       {
+               delete _pSortByPopup;
+       }
+
+       if (_pFileProgressingPopup != null)
+       {
+               delete _pFileProgressingPopup;
+       }
+
+       if (_pThumbnailItemProvider != null)
+       {
+               delete _pThumbnailItemProvider;
+       }
+
+       if (_pBaseItemProvider != null)
+       {
+               delete _pBaseItemProvider;
+       }
+
+       if (_pEdit != null)
+       {
+               delete _pEdit;
+       }
+
+       if (_pSortBy != null)
+       {
+               delete _pSortBy;
+       }
+
+       if (_pSearch != null)
+       {
+               delete _pSearch;
+       }
+
+       if (_pMore != null)
+       {
+               delete _pMore;
+       }
+
+       if (_pFileEventManager != null)
+       {
+               delete _pFileEventManager;
+       }
+
+}
+
+SubBaseFolderEntryForm&
+SubBaseFolderEntryForm::operator =(const SubBaseFolderEntryForm& pSubBaseFolderEntryForm)
+{
+       return *this;
+}
+
+SubBaseFolderEntryForm::SubBaseFolderEntryForm(const SubBaseFolderEntryForm& pSubBaseFolderEntryForm)
+{
+       //Do Nothing
+}
+
+result
+SubBaseFolderEntryForm::CreateFooterControls(void)
+{
+       AppLogDebug("ENTER");
+       //Create Footer and controls contained within the footer
+       result r = E_SUCCESS;
+
+       String buttonEdit;
+       String buttonSortBy;
+       String buttonSearch;
+       String buttonMore;
+
+       String buttonCancel;
+
+       AppResource* pAppResource = null;
+       pAppResource = Application::GetInstance()->GetAppResource();
+
+       if (pAppResource != null)
+       {
+               //Get the Title texts for all the FooterItems
+               pAppResource->GetString(L"IDS_MF_SK3_EDIT", buttonEdit);
+               pAppResource->GetString(L"IDS_MF_SK3_SORT_BY", buttonSortBy);
+               pAppResource->GetString(L"IDS_MORE", buttonMore);
+               pAppResource->GetString(L"IDS_MF_SK3_SEARCH", buttonSearch);
+               pAppResource->GetString(L"IDS_COM_POP_CANCEL", buttonCancel);
+       }
+
+       //Construct the 4 FooterItems Copy, Create , Sort By and More
+       //Edit
+       if(_pEdit == null)
+       {
+       _pEdit = new (std::nothrow) FooterItem();
+       _pEdit->Construct(IDA_BTN_EDIT);
+       _pEdit->SetText(buttonEdit);
+       }
+
+       //SortBy
+       if(_pSortBy == null)
+       {
+       _pSortBy = new (std::nothrow) FooterItem();
+       _pSortBy->Construct(IDA_BTN_SORT_BY);
+       _pSortBy->SetText(buttonSortBy);
+       }
+
+       //More
+       if(_pMore == null)
+       {
+       _pMore = new (std::nothrow) FooterItem();
+       _pMore->Construct(IDA_BTN_MORE);
+       _pMore->SetText(buttonMore);
+       }
+
+       //Search
+       if (CheckSearchHistory() == false)
+       {
+               if(_pSearch == null)
+               {
+               _pSearch = new (std::nothrow) FooterItem();
+               _pSearch->Construct(IDA_BTN_SEARCH);
+               _pSearch->SetText(buttonSearch);
+               }
+       }
+
+       //Get the Footer and set the FooterItems.
+       _pFooter = GetFooter();
+       if (_pFooter != null)
+       {
+               _pFooter->RemoveAllButtons();
+               _pFooter->RemoveAllItems();
+
+               _pFooter->SetStyle(FOOTER_STYLE_BUTTON_TEXT);
+               _pFooter->AddItem(*_pEdit);
+               _pFooter->AddItem(*_pSortBy);
+               if (CheckSearchHistory() == false)
+               {
+                       _pFooter->AddItem(*_pSearch);
+               }
+
+               _pFooter->AddItem(*_pMore);
+
+
+               //Set am ActionEventListener to the Footer
+               _pFooter->AddActionEventListener(*this);
+               _pFooter->SetBackButton();
+               _pFooter->SetBackButtonEnabled(true);
+               _pFooter->Invalidate(true);
+       }
+
+       return r;
+}
+
+result
+SubBaseFolderEntryForm::CreateDeleteConfirmationPopUp(void)
+{
+       result r = E_SUCCESS;
+       Rectangle popupBounds;
+
+       Label* pPanelLabel = null;
+       Label* pPopupLabel = null;
+
+       Bitmap* pPanelBackground = null;
+       Bitmap* pPopUpBackground = null;
+
+       String deleteLabel = L"";
+
+       pPanelBackground = UiApp::App::GetInstance()->GetAppResource()->GetBitmapN(IDB_BACKGROUND_POPUP_BOTTOM, BITMAP_PIXEL_FORMAT_ARGB8888);
+       pPopUpBackground = UiApp::App::GetInstance()->GetAppResource()->GetBitmapN(IDB_BACKGROUND_POPUP_CENTER, BITMAP_PIXEL_FORMAT_ARGB8888);
+
+       //Create a new popup control
+       _pDeleteConfirmationPopUp = new (std::nothrow) Popup();
+       _pDeleteConfirmationPopUp->Construct(L"IDL_DELETE_POPUP");
+
+       pPanelLabel = static_cast< Label* >(_pDeleteConfirmationPopUp->GetControl(L"IDC_LABEL_BOTTOM_BACKGROUND", true));
+       TryCatch(pPanelLabel != null, , "MfMyFilesApp::pPanelLabel For Popup not created!");
+
+       pPopupLabel = static_cast< Label* >(_pDeleteConfirmationPopUp->GetControl(L"IDC_LABEL_DELETE", true));
+       TryCatch(pPopupLabel != null, , "MfMyFilesApp::pPanelLabel For Popup not created!");
+
+       if (pPanelBackground != null)
+       {
+               pPanelLabel->SetBackgroundBitmap(*pPanelBackground);
+       }
+       if (pPopUpBackground != null)
+       {
+               pPopupLabel->SetBackgroundBitmap(*pPopUpBackground);
+       }
+
+       AppResource::GetInstance()->GetString(L"IDS_MF_SK3_DELETE", deleteLabel);
+
+       if(deleteLabel.IsEmpty() == false)
+       {
+               deleteLabel.Append("?");
+               pPopupLabel->SetText(deleteLabel);
+       }
+
+       _pDeleteFile = static_cast< Button* >(_pDeleteConfirmationPopUp->GetControl(L"IDC_BUTTON_DELETE", true));
+       TryCatch(_pDeleteFile != null, , "MfMyFilesApp::Button For Popup not created!");
+
+       _pDeleteFile->SetActionId(IDA_DELETE_FILE);
+       _pDeleteFile->AddActionEventListener(*this);
+       _pDeleteFile->SetShowState(true);
+
+       _pCancelDeletion = static_cast< Button* >(_pDeleteConfirmationPopUp->GetControl(L"IDC_BUTTON_CANCEL", true));
+       TryCatch(_pCancelDeletion != null, , "MfMyFilesApp::Button For Popup not created!");
+
+       _pCancelDeletion->SetActionId(IDA_CANCEL_DELETION);
+       _pCancelDeletion->AddActionEventListener(*this);
+       _pCancelDeletion->SetShowState(true);
+
+       if (pPopUpBackground != null)
+       {
+               delete pPopUpBackground;
+               pPopUpBackground = null;
+       }
+       if (pPanelBackground != null)
+       {
+               delete pPanelBackground;
+               pPanelBackground = null;
+       }
+       return r;
+
+CATCH:
+       if (pPopUpBackground != null)
+       {
+               delete pPopUpBackground;
+               pPopUpBackground = null;
+       }
+       if (pPanelBackground != null)
+       {
+               delete pPanelBackground;
+               pPanelBackground = null;
+       }
+       if (_pDeleteConfirmationPopUp != null)
+       {
+               delete _pDeleteConfirmationPopUp;
+               _pDeleteConfirmationPopUp = null;
+       }
+
+       return r;
+}
+
+void
+SubBaseFolderEntryForm::ShowSortByPopup(void)
+{
+
+       CreateSortByPopup();
+
+       //Set the showstate of the popup to true. so that it's displayed on the form.
+       if (_pSortByPopup != null)
+       {
+               _pSortByPopup->SetShowState(true);
+               _pSortByPopup->Show();
+       }
+
+       SetDefaultSelectionForSortByPopUp();
+
+}
+
+void
+SubBaseFolderEntryForm::HideSortByPopup(void)
+{
+       //Set the showstate of the popup to false. so that it's hidden on the form.
+       if (_pSortByPopup != null && _pSortByPopup->IsVisible())
+       {
+               _pSortByPopup->SetShowState(false);
+       }
+
+}
+
+void
+SubBaseFolderEntryForm::LoadRenameForm(int index)
+{
+       result r = E_SUCCESS;
+       _renameOrCreate = SELECT_RENAME;
+       ArrayList* pArg = null;
+       Integer* pSourceSelected = null;
+       SceneManager* pSceneManager = null;
+       DirectoryEntry* pDirectory = null;
+
+       pDirectory = static_cast< DirectoryEntry* >(_pFilenames->GetAt(index));
+       TryCatch(pDirectory != null, , "failed to allocate memeory to cast to DirectoryEntry");
+
+       pArg = new (std::nothrow) ArrayList();
+       r = pArg->Construct();
+
+       pSourceSelected = new (std::nothrow) Integer(_renameOrCreate);
+
+       pArg->Add(pSourceSelected);
+       TryCatch(r == E_SUCCESS, , "failed to construct parg");
+
+       //pArg->Add(__rootMediaPath);
+       pArg->Add(pDirectory);
+       TryCatch(r == E_SUCCESS, , "failed to construct parg");
+
+       pSceneManager = SceneManager::GetInstance();
+       TryCatch(pSceneManager != null, , "failed to Get SceneManager instance");
+
+       //pSceneManager->GoForward(SCENE_RENAME_FORM, pArg, SCENE_TRANSITION_ANIMATION_TYPE_LEFT);
+       r = pSceneManager->GoForward(ForwardSceneTransition(IDSCN_CREATE_FOLDER_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pArg);
+
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+       return;
+
+CATCH:
+       if (pSourceSelected != null)
+       {
+               delete pSourceSelected;
+               pSourceSelected = null;
+       }
+       if (pDirectory != null)
+       {
+               delete pDirectory;
+               pDirectory = null;
+       }
+       if (pArg != null)
+       {
+               delete pArg;
+               pArg = null;
+       }
+}
+
+void
+SubBaseFolderEntryForm::LoadSearchForm(void)
+{
+       ArrayList* pTopLevelDirectoryList = new (std::nothrow) ArrayList();
+
+       //String* pDirectoryPath = null;
+       //String* pTabSelected = null;
+       ArrayList* pFilepathList = null;
+       SceneManager* pSceneManager = null;
+
+       //pDirectoryPath = new (std::nothrow) String();
+       //pDirectoryPath->Append(FolderNavigationPresentationModel::GetCurrentPath());
+
+       //pTabSelected = new (std::nothrow) String();
+       //pTabSelected->Append(tabSelected);
+
+       if (pTopLevelDirectoryList != null && _pFilenames != null)
+       {
+               //pTopLevelDirectoryList->Add(*pDirectoryPath);
+               pFilepathList = new (std::nothrow) ArrayList();
+               if (pFilepathList != null)
+               {
+                       pFilepathList->Construct();
+                       pFilepathList->AddItems(*_pFilenames);
+                       pTopLevelDirectoryList->Add(pFilepathList);
+               }
+               //pTopLevelDirectoryList->Add(*pTabSelected);
+       }
+
+       TryCatch(pTopLevelDirectoryList != null, , "failed to Get SceneManager instance");
+
+       pSceneManager = SceneManager::GetInstance();
+       TryCatch(pSceneManager != null, , "failed to Get SceneManager instance");
+
+       //pSceneManager->GoForward(SCENE_SEARCH_FORM, pTopLevelDirectoryList, SCENE_TRANSITION_ANIMATION_TYPE_LEFT);
+       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SEARCH_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pTopLevelDirectoryList);
+
+       return;
+CATCH:
+
+       /*if (pDirectoryPath != null)
+       {
+           delete pDirectoryPath;
+           pDirectoryPath = null;
+       }
+
+       if (pTabSelected != null)
+       {
+           delete pTabSelected;
+           pTabSelected = null;
+       }*/
+       if (pFilepathList != null)
+       {
+               delete pFilepathList;
+               pFilepathList = null;
+       }
+
+       if (pTopLevelDirectoryList != null)
+       {
+               delete pTopLevelDirectoryList;
+               pTopLevelDirectoryList = null;
+       }
+}
+
+void
+SubBaseFolderEntryForm::ShowViewAsPopup(void)
+{
+       //Call functions to create the popups.
+       CreateViewAsPopupControl();
+
+       //Set the showstate of the popup to true. so that it's displayed on the form.
+       if (_pViewAsPopup != null)
+       {
+               _pViewAsPopup->SetShowState(true);
+               _pViewAsPopup->Show();
+       }
+
+       SetDefaultSelectionForViewAsPopUp();
+}
+
+void
+SubBaseFolderEntryForm::HideViewAsPopup(void)
+{
+       //Set the showstate of the popup to false. so that it's hidden on the form.
+       if (_pViewAsPopup != null && _pViewAsPopup->IsVisible())
+       {
+               _pViewAsPopup->SetShowState(false);
+       }
+}
+
+void
+SubBaseFolderEntryForm::LoadCreateFolderForm(void)
+{
+       //Load the CreateFolder view in the current directory.
+       result r = E_SUCCESS;
+       Integer* pSourceSelected = null;
+       SceneManager* pSceneManager = null;
+       ArrayList* pArg = null;
+
+       pSourceSelected = new (std::nothrow) Integer(SELECT_CREATE_FOLDER);
+
+       pArg = new (std::nothrow) ArrayList();
+       r = pArg->Construct();
+
+       pArg->Add(pSourceSelected);
+       TryCatch(r == E_SUCCESS, , "failed to construct parg");
+
+       pSceneManager = SceneManager::GetInstance();
+       TryCatch(pSceneManager != null, , "failed to construct parg");
+
+       //pSceneManager->GoForward(SCENE_CREATE_FOLDER_FORM, pArg, SCENE_TRANSITION_ANIMATION_TYPE_LEFT);
+       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_CREATE_FOLDER_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pArg);
+       return;
+
+CATCH:
+
+       if (pSourceSelected != null)
+       {
+               delete pSourceSelected;
+       }
+
+       if (pArg != null)
+       {
+               delete pArg;
+       }
+}
+
+void
+SubBaseFolderEntryForm::LoadDetailForm(Tizen::Base::String& Fullpath)
+{
+       result r = E_SUCCESS;
+
+       SceneManager* pSceneManager = null;
+       ArrayList* pList = null;
+       String* pFullFilePath = null;
+
+       pList = new (std::nothrow) ArrayList();
+       r = pList->Construct();
+
+       pFullFilePath = new (std::nothrow) String(Fullpath);
+       pList->Add(pFullFilePath);
+
+       pSceneManager = SceneManager::GetInstance();
+       TryCatch(pSceneManager != null, , "Failed to allocate Memory to pSceneManager");
+
+       //pSceneManager->GoForward(SCENE_FILE_DETAIL_FORM, pList, SCENE_TRANSITION_ANIMATION_TYPE_LEFT);
+       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_FILE_DETAIL_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pList);
+       AppLogDebug("Exit: %s", GetErrorMessage(r));
+       return;
+CATCH:
+
+       AppLogDebug("Exit: %s", GetErrorMessage(r));
+       if (pFullFilePath != null)
+       {
+               delete pFullFilePath;
+               pFullFilePath = null;
+       }
+
+       if (pList != null)
+       {
+               pList->RemoveAll();
+               delete pList;
+               pList = null;
+       }
+}
+
+void
+SubBaseFolderEntryForm::LoadEditForm(void)
+{
+       //__pFileListPM->SetFileEventListener(null);
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+       if (pSceneManager != null)
+       {
+               //pSceneManager->GoForward(SCENE_EDIT_FORM, pArg, SCENE_TRANSITION_ANIMATION_TYPE_LEFT);
+               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_EDIT_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT), null);
+       }
+       return;
+}
+
+void
+SubBaseFolderEntryForm::ShowFileProgressingPopup(void)
+{
+       CreateFileProgressingPopup();
+
+       if (_pFileProgressingPopup != null)
+       {
+               _pFileProgressingPopup->SetShowState(true);
+               _pFileProgressingPopup->Show();
+       }
+}
+
+void
+SubBaseFolderEntryForm::HideFileProgressingPopup(void)
+{
+       if (_pFileProgressingPopup != null)
+       {
+               _pFileProgressingPopup->SetShowState(false);
+
+               if (_pFileProgressingPopup != null)
+               {
+                       delete _pFileProgressingPopup;
+                       _pFileProgressingPopup = null;
+               }
+       }
+}
+
+result
+SubBaseFolderEntryForm::CreateFileProgressingPopup(void)
+{
+       AppLogDebug("Enter");
+       result r = E_SUCCESS;
+       //String popUpTitle;
+       String deleting;
+       //String fileProgress;
+
+       if (_pFileProgressingPopup != null)
+       {
+               AppLogDebug("_pFileProgressingPopup is not null");
+               return r;
+       }
+
+       AppResource* pAppResource = null;
+       pAppResource = UiApp::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Failed to fetch AppResource");
+
+       //pAppResource->GetString(L"IDS_FILE_PROCESSING", popUpTitle);
+       pAppResource->GetString(L"IDS_COM_POP_DELETING", deleting);
+       //pAppResource->GetString(L"IDS_FILE_PROGRESS", fileProgress);
+
+       _pFileProgressingPopup = new (std::nothrow) Popup();
+       _pFileProgressingPopup->Construct(L"IDL_FILE_PROGRESSING_POPUP");
+       TryCatch(_pFileProgressingPopup != null, , "Failed to allocate memory to FileProgressing Popup.");
+
+       //_pFileProgressingPopup->SetTitleText(popUpTitle); //Not in UI
+
+
+       _pFileProgressingCancelButton = static_cast< Button* >(_pFileProgressingPopup->GetControl(L"IDC_CANCEL_BUTTON", true));
+       TryCatch(_pFileProgressingCancelButton != null, , "Failed to fetch _pFileProgressingCancelButton.");
+
+       _pFileProgressingCancelButton->SetActionId(IDA_BTN_ANIMATION_POPUP_CANCEL);
+       _pFileProgressingCancelButton->AddActionEventListener(*this);
+       _pFileProgressingCancelButton->SetShowState(true);
+
+       _pFileProgressingProgress = static_cast< Progress* >(_pFileProgressingPopup->GetControl(L"IDC_PROGRESS_BAR", true));
+       TryCatch(_pFileProgressingProgress != null, , "Failed to fetch _pFileProgressingProgress.");
+
+       _pFileProgressingProgress->SetName(L"IDC_ANIMATION_PROGRESS");
+       _pFileProgressingProgress->SetValue(0);
+
+       _pFileProgressingHeaderLabel = static_cast< Label* >(_pFileProgressingPopup->GetControl(L"IDC_ANIMATION_HEADER", true));
+       TryCatch(_pFileProgressingHeaderLabel != null, , "Failed to fetch _pFileProgressingHeaderLabel.");
+
+       _pFileProgressingHeaderLabel->SetName(L"IDC_ANIMATION_HEADER");
+       _pFileProgressingHeaderLabel->SetText(deleting);
+       _pFileProgressingHeaderLabel->SetShowState(true);
+       _pFileProgressingHeaderLabel->Invalidate(true);
+
+
+       _pFileProgressingLabel = static_cast< Label* >(_pFileProgressingPopup->GetControl(L"IDC_ANIMATION_LABEL", true));
+       TryCatch(_pFileProgressingLabel != null, , "Failed to fetch _pFileProgressingLabel.");
+
+       _pFileProgressingLabel->SetName(L"IDC_FILE_COUNT_LABEL");
+       //_pFileProgressingLabel->SetText(fileProgress);
+       _pFileProgressingLabel->SetShowState(true);
+
+
+       return r;
+
+CATCH:
+
+       if (_pFileProgressingPopup != null)
+       {
+               delete _pFileProgressingPopup;
+               _pFileProgressingPopup = null;
+       }
+       return r;
+}
+
+
+void
+SubBaseFolderEntryForm::OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus)
+{
+       int x_FooterPosition = 0;
+       int y_FooterPosition = 0;
+       int x_ContextMenu = 0;
+       int y_ContextMenu = 0;
+
+       Rectangle listViewBounds(GetClientAreaBounds().x, H_DISPLAY_PATH_LABEL, GetClientAreaBounds().width, GetClientAreaBounds().height);
+       Rectangle labelBounds(GetClientAreaBounds().x, 0, GetClientAreaBounds().width, H_DISPLAY_PATH_LABEL);
+
+       _pFooter = GetFooter();
+       if (_pFooter != null)
+       {
+               _pFooter->GetPosition(x_FooterPosition, y_FooterPosition);
+       }
+
+       x_ContextMenu = x_FooterPosition + 3 * (listViewBounds.width / 4);
+       y_ContextMenu = y_FooterPosition;
+
+       switch (orientationStatus)
+       {
+       case ORIENTATION_STATUS_PORTRAIT:
+       {
+               if (_pListView != null)
+               {
+                       _pListView->SetBounds(listViewBounds);
+               }
+               if (_pIconListView != null)
+               {
+                       _pIconListView->SetBounds(listViewBounds);
+               }
+               if (_pMoreContextMenu != null)
+               {
+                       _pMoreContextMenu->SetAnchorPosition(Point(x_ContextMenu, y_ContextMenu));
+               }
+               /*              if (__pLabelDisplayPath != null)
+               {
+                   __pLabelDisplayPath->SetBounds(labelBounds);
+               }*/
+       }
+       break;
+
+       case ORIENTATION_STATUS_LANDSCAPE:
+       {
+               if (_pListView != null)
+               {
+                       _pListView->SetBounds(listViewBounds);
+               }
+               if (_pIconListView != null)
+               {
+                       _pIconListView->SetBounds(listViewBounds);
+               }
+               if (_pMoreContextMenu != null)
+               {
+                       _pMoreContextMenu->SetAnchorPosition(Point(x_ContextMenu, y_ContextMenu));
+               }
+               /*              if (__pLabelDisplayPath != null)
+               {
+                   __pLabelDisplayPath->SetBounds(labelBounds);
+               }*/
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing
+       }
+       break;
+       }
+
+       Invalidate(true);
+}
+
+void
+SubBaseFolderEntryForm::OnFileManagingStart(void)
+{
+       ShowFileProgressingPopup();
+}
+
+void
+SubBaseFolderEntryForm::OnFileManagingStop(FileManagingResult fileManagingResult)
+{
+       //Empty Implementation.
+}
+
+void
+SubBaseFolderEntryForm::HideFileExtension(void)
+{
+       int listViewDisplayType = VIEW_TYPE_AS_NORMAL_LIST;
+       String viewStyleKeyName(L"ListDisplayType");
+
+       result r = E_SUCCESS;
+
+       AppRegistry* pAppRegistry = null;
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+
+       if (pAppRegistry != null)
+       {
+               r = pAppRegistry->Set(_extensionKeyName, _hideExtension);
+               r = pAppRegistry->Save();
+
+               r = pAppRegistry->Get(viewStyleKeyName, listViewDisplayType);
+       }
+       if (_pMoreContextMenu != null)
+       {
+               r = _pMoreContextMenu->SetItemAt(2, _showExtension, IDA_CONTEXT_MENU_SHOW_EXTENSION);
+               AppLogDebug("error %s", GetErrorMessage(r));
+       }
+
+       //Update the corresponding List.
+       if (listViewDisplayType == VIEW_TYPE_AS_THUMBNAILS)
+       {
+               if (_pListView != null && _pListView->IsVisible())
+               {
+                       _pListView->SetShowState(false);
+               }
+               if (_pIconListView != null)
+               {
+                       _pIconListView->SetShowState(true);
+                       _pIconListView->UpdateList();
+               }
+       }
+       else
+       {
+               if (_pIconListView != null && _pIconListView->IsVisible())
+               {
+                       _pIconListView->SetShowState(false);
+               }
+               if (_pListView != null)
+               {
+                       _pListView->UpdateList();
+                       _pListView->SetShowState(true);
+               }
+       }
+
+       if (_pMoreContextMenu != null)
+       {
+               delete _pMoreContextMenu;
+               _pMoreContextMenu = null;
+       }
+
+       Invalidate(true);
+
+       AppLogDebug("Exit : %s", GetErrorMessage(r));
+}
+
+void
+SubBaseFolderEntryForm::ShowFileExtension(void)
+{
+       int listViewDisplayType = VIEW_TYPE_AS_NORMAL_LIST;
+       String viewStyleKeyName(L"ListDisplayType");
+
+       result r = E_SUCCESS;
+
+       AppRegistry* pAppRegistry = null;
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+       if (pAppRegistry != null)
+       {
+               r = pAppRegistry->Set(_extensionKeyName, _showExtension);
+               r = pAppRegistry->Save();
+
+               r = pAppRegistry->Get(viewStyleKeyName, listViewDisplayType);
+       }
+
+       if (_pMoreContextMenu != null)
+       {
+               r = _pMoreContextMenu->SetItemAt(2, _hideExtension, IDA_CONTEXT_MENU_HIDE_EXTENSION);
+               AppLogDebug("error %s", GetErrorMessage(r));
+       }
+
+       if (listViewDisplayType == VIEW_TYPE_AS_THUMBNAILS)
+       {
+               if (_pListView != null && _pListView->IsVisible())
+               {
+                       _pListView->SetShowState(false);
+               }
+               if (_pIconListView != null)
+               {
+                       _pIconListView->UpdateList();
+                       _pIconListView->SetShowState(true);
+               }
+       }
+       else
+       {
+               if (_pIconListView != null && _pIconListView->IsVisible())
+               {
+                       _pIconListView->SetShowState(false);
+               }
+               if (_pListView != null)
+               {
+                       _pListView->UpdateList();
+                       _pListView->SetShowState(true);
+               }
+       }
+
+       if (_pMoreContextMenu != null)
+       {
+               delete _pMoreContextMenu;
+               _pMoreContextMenu = null;
+       }
+
+       Invalidate(true);
+       AppLogDebug("Exit: %s", GetErrorMessage(r));
+}
+
+
+void
+SubBaseFolderEntryForm::HideDeleteConfirmationPopup(void)
+{
+       if (_pDeleteConfirmationPopUp != null && _pDeleteConfirmationPopUp->IsVisible())
+       {
+               _pDeleteConfirmationPopUp->SetShowState(false);
+       }
+}
+
+void
+SubBaseFolderEntryForm::ShowDeleteConfirmationPopup(void)
+{
+       CreateDeleteConfirmationPopUp();
+
+       if (_pDeleteConfirmationPopUp != null)
+       {
+               _pDeleteConfirmationPopUp->SetShowState(true);
+               _pDeleteConfirmationPopUp->Show();
+       }
+}
+
+result
+SubBaseFolderEntryForm::CreateViewAsPopupControl(void)
+{
+       AppLogDebug("ENTER");
+       //Creates a popup control for the ViewAs context item asking which view is to be shown
+
+       result r = E_SUCCESS;
+
+       if (_pViewAsPopup != null)
+       {
+               AppLogDebug("_pViewAsPopup is not null");
+               return r;
+       }
+
+       String viewAsPopupTitle;
+       String cancelButton;
+       String sortByPopupTitle;
+
+       Label* pViewAsPanelLabel = null;
+
+       Label* pViewAsPopupLabel = null;
+
+       Bitmap* pPanelBackground = null;
+       Bitmap* pPopUpBackground = null;
+
+       pPanelBackground = UiApp::App::GetInstance()->GetAppResource()->GetBitmapN(IDB_BACKGROUND_POPUP_BOTTOM, BITMAP_PIXEL_FORMAT_ARGB8888);
+       pPopUpBackground = UiApp::App::GetInstance()->GetAppResource()->GetBitmapN(IDB_BACKGROUND_POPUP_CENTER, BITMAP_PIXEL_FORMAT_ARGB8888);
+
+       //Create a new popup control
+       _pViewAsPopup = new (std::nothrow) Popup();
+       _pViewAsPopup->Construct(L"IDL_VIEW_AS_POPUP");
+
+       //The cancel button inside the popup, hides the popup when clicked.
+       _pCancelViewAs = static_cast< Button* >(_pViewAsPopup->GetControl(L"IDC_CANCEL_BUTTON", true));
+       TryCatch(_pCancelViewAs != null, , "MfMyFilesApp::Button For Popup not created!");
+
+       _pCancelViewAs->SetActionId(IDA_BTN_POPUP_CANCEL);
+       _pCancelViewAs->AddActionEventListener(*this);
+       _pCancelViewAs->SetShowState(true);
+
+       pViewAsPanelLabel = static_cast< Label* >(_pViewAsPopup->GetControl(L"IDC_LABEL_BOTTOM_BACKGROUND", true));
+       TryCatch(pViewAsPanelLabel != null, , "MfMyFilesApp::pLabel For Popup not created!");
+
+       pViewAsPopupLabel = static_cast< Label* >(_pViewAsPopup->GetControl(L"IDC_LABEL_POPUP_BACKGROUND", true));
+       TryCatch(pViewAsPopupLabel != null, , "MfMyFilesApp::pLabel For Popup not created!");
+
+
+       if (pPanelBackground != null)
+       {
+               pViewAsPanelLabel->SetBackgroundBitmap(*pPanelBackground);
+       }
+
+       if (pPopUpBackground != null)
+       {
+               pViewAsPopupLabel->SetBackgroundBitmap(*pPopUpBackground);
+
+       }
+       //The listview control which is to be added inside the popup. The itemprovider and listener are
+       //implemented in another class because this class already contains an instance of Listview control
+       //attached to an ItemProvider.
+
+       _pViewAsPopup->SetControlAlwaysOnTop(*_pCancelViewAs, true);
+
+
+       _pViewAsListView = static_cast< ListView* >(_pViewAsPopup->GetControl(L"IDC_LISTVIEW_VIEW_AS", true));
+       TryCatch(_pViewAsListView != null, , "MfMyFilesApp::ListView Control For Popup not created!");
+
+       _pViewAsListView->SetShowState(true);
+       _pViewAsListView->AddListViewItemEventListener(*_pCustomListViewForPopup);
+       _pViewAsListView->SetItemProvider(*_pCustomListViewForPopup);
+       _pViewAsListView->SetName(L"VIEW_AS_LISTVIEW");
+       _pViewAsListView->SetItemDividerColor(Color::GetColor(COLOR_ID_GREY));
+
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+
+       if (pPanelBackground != null)
+       {
+               delete pPanelBackground;
+               pPanelBackground = null;
+       }
+       if (pPopUpBackground != null)
+       {
+               delete pPopUpBackground;
+               pPopUpBackground = null;
+       }
+       return r;
+CATCH:
+
+       if (_pViewAsPopup != null)
+       {
+               delete _pViewAsPopup;
+               _pViewAsPopup = null;
+       }
+
+       if (_pCustomListViewForPopup != null)
+       {
+               delete _pCustomListViewForPopup;
+               _pCustomListViewForPopup = null;
+       }
+
+       if (pPanelBackground != null)
+       {
+               delete pPanelBackground;
+               pPanelBackground = null;
+       }
+
+       if (pPopUpBackground != null)
+       {
+               delete pPopUpBackground;
+               pPopUpBackground = null;
+       }
+       return r;
+}
+
+void
+SubBaseFolderEntryForm::ShowMoreContextMenu(void)
+{
+       String extensionStatus;
+
+       AppRegistry* pAppRegistry = null;
+       result r = E_SUCCESS;
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+       //Show ContextMenu with More Options
+       if (pAppRegistry != null)
+       {
+               r = pAppRegistry->Get(_extensionKeyName, extensionStatus);
+       }
+
+       if (_pMoreContextMenu != null)
+       {
+               if (extensionStatus == _hideExtension)
+               {
+                       r = _pMoreContextMenu->SetItemAt(2, _showExtension, IDA_CONTEXT_MENU_SHOW_EXTENSION);
+               }
+               else
+               {
+                       r = _pMoreContextMenu->SetItemAt(2, _hideExtension, IDA_CONTEXT_MENU_HIDE_EXTENSION);
+               }
+
+               _pMoreContextMenu->SetShowState(true);
+               _pMoreContextMenu->Show();
+       }
+       AppLogDebug("Exit: %s", GetErrorMessage(r));
+}
+
+void
+SubBaseFolderEntryForm::OnListViewItemStateChangedNotify(ViewType listViewStyle)
+{
+       AppLogDebug("ENTER");
+
+       int popupSource = POP_UP_VIEW_AS;
+       int sortType = SORT_BY_TYPE_NAME_ASCENDING;
+
+       AppRegistry* pAppRegistry = null;
+       String sortByKeyName(L"SortBy");
+
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+       if (_pCustomListViewForPopup != null)
+       {
+               popupSource = _pCustomListViewForPopup->GetSelectionPopup();
+       }
+
+       pAppRegistry->Get(sortByKeyName, sortType);
+
+       if (popupSource == POP_UP_VIEW_AS)
+       {
+               _flagViewAsStatus = listViewStyle;
+
+               SwitchViewType();
+
+               Invalidate(true);
+
+               HideViewAsPopup();
+       }
+       else
+       {
+               if (_pFolderEntryPM != null)
+               {
+                       _pFolderEntryPM->SortFolderEntries();
+               }
+               HideSortByPopup();
+               if (_pListView != null && _pListView->IsVisible())
+               {
+                       _pListView->UpdateList();
+               }
+               else
+               {
+                       if (_pIconListView != null && _pIconListView->IsVisible())
+                       {
+                               _pIconListView->UpdateList();
+                       }
+               }
+
+               if (_pFolderEntryPM != null)
+               {
+                       _pFolderEntryPM->InitThumbnailManager();
+               }
+
+       }
+
+       if (_pMoreContextMenu != null)
+       {
+               delete _pMoreContextMenu;
+               _pMoreContextMenu = null;
+       }
+}
+void
+SubBaseFolderEntryForm::OnIconListViewItemStateChangeNotify()
+{
+       if (_pIconListView != null && _pIconListView->IsVisible())
+       {
+               _pIconListView->UpdateList();
+       }
+}
+void
+SubBaseFolderEntryForm::OnFooterStateChangeNotify(void)
+{
+       SetFooterVisibility(DISABLE_FOOTER_ITEM);
+
+       _pFooter = GetFooter();
+       if (_pFooter != null)
+       {
+               _pFooter->Invalidate(true);
+       }
+}
+
+void
+SubBaseFolderEntryForm::OnAppControlCompleteResponseReceived(const Tizen::App::AppId& appId, const Tizen::Base::String& operationId, Tizen::App::AppCtrlResult appControlResult, const Tizen::Base::Collection::IMap* pExtraData)
+{
+       AppLogDebug("OnAppControlCompleteResponseReceived");
+       result r = E_SUCCESS;
+       CustomAppControl::GetInstance()->SetAppControlInUse(null);
+
+       ContentType contentType = CONTENT_TYPE_UNKNOWN;
+       contentType = ContentManagerUtil::CheckContentType(_pathOfSelectedFile);
+       AppLogDebug("OnAppControlCompleteResponseReceived:%d", contentType);
+
+       if (GetLastResult() == E_FILE_NOT_FOUND)
+       {
+               _pFolderEntryPM->RefreshFolderEntries();
+               if (_pListView != null && _pListView->IsVisible())
+               {
+                       r = _pListView->UpdateList();
+               }
+
+               if (_pIconListView != null && _pIconListView->IsVisible())
+               {
+                       r = _pIconListView->UpdateList();
+               }
+               _pFolderEntryPM->InitThumbnailManager();
+       }
+}
+
+result
+SubBaseFolderEntryForm::SetDefaultSelectionForSortByPopUp(void)
+{
+       result r = E_SUCCESS;
+
+       int defaultSortPopUpSelect = 0;
+
+       int sortType = SORT_BY_TYPE_NAME_ASCENDING;
+
+       int uncheckItem1 = 0;
+       int uncheckItem2 = 0;
+       int uncheckItem3 = 0;
+       int uncheckItem4 = 0;
+       int uncheckItem5 = 0;
+
+       String sortByKeyName(L"SortBy");
+
+       AppRegistry* pAppRegistry = null;
+
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+       r = pAppRegistry->Get(sortByKeyName, sortType);
+       TryCatch(r == E_SUCCESS, , "Failed To Get Value From AppRegistry");
+
+       switch (sortType)
+       {
+
+       case SORT_BY_TYPE_NAME_ASCENDING:
+       {
+               defaultSortPopUpSelect = 0;
+               uncheckItem1 = 1;
+               uncheckItem2 = 2;
+               uncheckItem3 = 3;
+               uncheckItem4 = 4;
+               uncheckItem5 = 5;
+       }
+       break;
+
+       case SORT_BY_TYPE_NAME_DESCENDING:
+       {
+               defaultSortPopUpSelect = 1;
+               uncheckItem1 = 0;
+               uncheckItem2 = 2;
+               uncheckItem3 = 3;
+               uncheckItem4 = 4;
+               uncheckItem5 = 5;
+       }
+       break;
+
+       case SORT_BY_TYPE_DATE_RECENT:
+       {
+               defaultSortPopUpSelect = 2;
+               uncheckItem1 = 0;
+               uncheckItem2 = 1;
+               uncheckItem3 = 3;
+               uncheckItem4 = 4;
+               uncheckItem5 = 5;
+
+       }
+       break;
+
+       case SORT_BY_TYPE_DATE_OLDEST:
+       {
+               defaultSortPopUpSelect = 3;
+               uncheckItem1 = 0;
+               uncheckItem2 = 1;
+               uncheckItem3 = 2;
+               uncheckItem4 = 4;
+               uncheckItem5 = 5;
+       }
+       break;
+
+       case SORT_BY_TYPE_SIZE_ASCENDING:
+       {
+               defaultSortPopUpSelect = 4;
+               uncheckItem1 = 0;
+               uncheckItem2 = 1;
+               uncheckItem3 = 2;
+               uncheckItem4 = 3;
+               uncheckItem5 = 5;
+       }
+       break;
+
+       case SORT_BY_TYPE_SIZE_DESCENDING:
+       {
+               defaultSortPopUpSelect = 4;
+               uncheckItem1 = 0;
+               uncheckItem2 = 1;
+               uncheckItem3 = 2;
+               uncheckItem4 = 3;
+               uncheckItem5 = 5;
+       }
+       break;
+
+       case SORT_BY_TYPE_ASCENDING:
+       {
+               defaultSortPopUpSelect = 5;
+               uncheckItem1 = 0;
+               uncheckItem2 = 1;
+               uncheckItem3 = 2;
+               uncheckItem4 = 3;
+               uncheckItem5 = 4;
+
+       }
+       break;
+
+       case SORT_BY_TYPE_DESCENDING:
+       {
+               defaultSortPopUpSelect = 5;
+               uncheckItem1 = 0;
+               uncheckItem2 = 1;
+               uncheckItem3 = 2;
+               uncheckItem4 = 3;
+               uncheckItem5 = 4;
+
+       }
+       break;
+
+       default:
+       {
+               defaultSortPopUpSelect = 0;
+               AppLogDebug("UnSupported case reached");
+       }
+       break;
+       }
+
+       if (_pCustomListViewForPopup != null)
+       {
+               _pCustomListViewForPopup->SetSelectionPopup(POP_UP_SORT_BY);
+       }
+
+       if (_pSortByPopup != null && _pSortByListView != null)
+       {
+               _pSortByListView->UpdateList();
+               _pSortByListView->SetItemChecked(defaultSortPopUpSelect, true);
+               _pSortByListView->SetItemChecked(uncheckItem1, false);
+               _pSortByListView->SetItemChecked(uncheckItem2, false);
+               _pSortByListView->SetItemChecked(uncheckItem3, false);
+               _pSortByListView->SetItemChecked(uncheckItem4, false);
+               _pSortByListView->SetItemChecked(uncheckItem5, false);
+
+               _pSortByListView->Invalidate(true);
+       }
+
+       return r;
+CATCH:
+       return r;
+}
+
+void
+SubBaseFolderEntryForm::SwitchViewType(void)
+{
+       String viewStyleKeyName(L"ListDisplayType");
+
+       switch (_flagViewAsStatus)
+       {
+
+       case VIEW_TYPE_AS_DETAILED_LIST:
+       {
+               if (_pIconListView != null && _pIconListView->IsVisible())
+               {
+                       _pIconListView->SetShowState(false);
+               }
+               if (_pListView != null)
+               {
+                       _pListView->UpdateList();
+                       _pListView->ScrollToItem(0);
+                       _pListView->SetShowState(true);
+               }
+
+       }
+       break;
+
+       case VIEW_TYPE_AS_NORMAL_LIST:
+       {
+               if (_pIconListView != null && _pIconListView->IsVisible())
+               {
+                       _pIconListView->SetShowState(false);
+               }
+
+               if (_pListView != null)
+               {
+                       _pListView->UpdateList();
+                       _pListView->ScrollToItem(0);
+                       _pListView->SetShowState(true);
+               }
+       }
+       break;
+
+       case VIEW_TYPE_AS_THUMBNAILS:
+       {
+               if (_pListView != null && _pListView->IsVisible())
+               {
+                       _pListView->SetShowState(false);
+               }
+               if (_pIconListView != null)
+               {
+                       _pIconListView->UpdateList();
+                       _pIconListView->ScrollToItem(0);
+                       _pIconListView->SetShowState(true);
+               }
+       }
+       break;
+
+       default:
+       {
+               if (_pListView != null)
+               {
+                       _pListView->UpdateList();
+               }
+       }
+       break;
+       }
+}
+
+FolderEntryPresentationModel*
+SubBaseFolderEntryForm::GetFoldeEntryPresentationModel(void)
+{
+       return _pFolderEntryPM;
+}
+
+result
+SubBaseFolderEntryForm::DeleteFile(String& filePath)
+{
+       AppLogDebug("ENTER");
+       result r = E_SUCCESS;
+
+       //_pFolderEntryPM->SetFileEventListener(null);
+       ((MyFilesApp*) Application::GetInstance())->SetNotifyListener(this);
+
+       _pFileManager->DeleteFolderEntries(&filePath);
+
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+       return r;
+}
+
+void
+SubBaseFolderEntryForm::SubBaseOnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+{
+       DirectoryEntry* pDirStr = null;
+       switch (actionId)
+       {
+       case IDA_BTN_EDIT:
+       {
+               //If filenames is not empty then Load the edit form.
+               if (_pFilenames->GetCount() != 0)
+               {
+                       //_pFolderEntryPM->SetFileEventListener(null);
+
+                       LoadEditForm();
+               }
+       }
+       break;
+
+       case IDA_BTN_MORE:
+       {
+               CreateMoreContextMenu();
+
+               ShowMoreContextMenu();
+       }
+       break;
+
+       case IDA_BTN_SORT_BY:
+       {
+               //Show the SortBy PopUp.
+               if (_pCustomListViewForPopup != null)
+               {
+                       _pCustomListViewForPopup->SetSelectionPopup(POP_UP_SORT_BY);
+               }
+
+
+               ShowSortByPopup();
+       }
+       break;
+
+       case IDA_CONTEXT_MENU_CREATE_FOLDER:
+       {
+               //Load the CreateFolder Form.
+               //_pFolderEntryPM->SetFileEventListener(null);
+               _renameOrCreate = SELECT_CREATE_FOLDER;
+
+               if (_pMoreContextMenu != null)
+               {
+                       delete _pMoreContextMenu;
+                       _pMoreContextMenu = null;
+               }
+
+               LoadCreateFolderForm();
+       }
+       break;
+
+       case IDA_CONTEXT_MENU_VIEW_AS:
+       {
+               //Show the ViewAs Popup
+               if (_pCustomListViewForPopup != null)
+               {
+                       _pCustomListViewForPopup->SetSelectionPopup(POP_UP_VIEW_AS);
+               }
+
+               ShowViewAsPopup();
+       }
+       break;
+
+       case IDA_BTN_POPUP_CANCEL:
+       {
+               //Hide the ViewAs PopUp and redraw the form.
+               HideViewAsPopup();
+       }
+       break;
+
+       case IDA_BTN_SORT_POPUP_CANCEL:
+       {
+               //Hide the SortBy PopUp and redraw the form.
+               HideSortByPopup();
+
+
+       }
+       break;
+
+       case IDA_BTN_SEARCH:
+       {
+               //Load the SearchForm
+               //LoadSearchForm(_tabSelected);
+               LoadSearchForm();
+       }
+       break;
+
+       case IDA_DELETE_FILE:
+       {
+               HideDeleteConfirmationPopup();
+
+               if (_pDeleteConfirmationPopUp != null)
+               {
+                       delete _pDeleteConfirmationPopUp;
+                       _pDeleteConfirmationPopUp = null;
+               }
+
+               _filePath.Clear();
+
+               if (_pFilenames != null)
+               {
+                       pDirStr = static_cast< DirectoryEntry* >(_pFilenames->GetAt(_indexToDelete));
+               }
+
+               if (pDirStr != null)
+               {
+                       _filePath = pDirStr->GetFullFilePath();
+               }
+
+               _indexTracker = _indexToDelete;
+
+               //Call the DeleteFile Function.
+               DeleteFile(_filePath);
+       }
+       break;
+
+       case IDA_CANCEL_DELETION:
+       {
+               HideDeleteConfirmationPopup();
+
+               if (_pDeleteConfirmationPopUp != null)
+               {
+                       delete _pDeleteConfirmationPopUp;
+                       _pDeleteConfirmationPopUp = null;
+               }
+       }
+       break;
+       case IDA_BTN_ANIMATION_POPUP_CANCEL:
+       {
+               AppLogDebug("IDA_BTN_ANIMATION_POPUP_CANCEL");
+               HideFileProgressingPopup();
+               _pFileManager->ForceStopWorkerThread();
+       }
+       break;
+       default:
+       {
+               //Do Nothing.
+       }
+       break;
+       }
+}
+
+void
+SubBaseFolderEntryForm::OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status)
+{
+       DirectoryEntry* pDirStr = null;
+
+       if (_pFilenames != null)
+       {
+               pDirStr = static_cast< DirectoryEntry* >(_pFilenames->GetAt(index));
+
+               if (pDirStr != null)
+               {
+                       switch (elementId)
+                       {
+                       case IDA_CONTEXT_DETAIL:
+                       {
+                               _filePath.Clear();
+                               //                      if (pDirStr != null)
+                               //                      {
+                               _filePath = pDirStr->GetFullFilePath();
+                               //                      }
+                               //Load the FileDetails View
+                               LoadDetailForm(_filePath);
+                       }
+                       break;
+
+                       case IDA_CONTEXT_RENAME:
+                       {
+                               //                      if (pDirStr != null)
+                               //                      {
+                               _currentFileName.Clear();
+                               _currentFileName = pDirStr->GetFileName();
+                               //                      }
+
+                               _renameIndex = index;
+                               _renameOrCreate = SELECT_RENAME;
+                               //Load the Rename View of the item selected.
+                               LoadRenameForm(index);
+                       }
+                       break;
+
+                       case IDA_CONTEXT_DELETE:
+                       {
+                               _indexToDelete = index;
+
+                               ShowDeleteConfirmationPopup();
+                       }
+                       break;
+
+                       default:
+                       {
+                               //Empty Implementation.
+                       }
+                       break;
+                       }
+               }
+       }
+}
+
+void
+SubBaseFolderEntryForm::OnThumbnailReceived(ThumbRequest* pThumbReq)
+{
+       result res = E_SUCCESS;
+       AppLogDebug("Enter");
+
+       if (_pFolderEntryPM)
+       {
+               if (pThumbReq != null)
+               {
+                       if (pThumbReq->GetCurrentSourceForm() != _pFolderEntryPM->GetSourceForm())
+                       {
+                               if (pThumbReq->pBitmap != null)
+                               {
+                                       delete pThumbReq->pBitmap;
+                               }
+                               return;
+                       }
+               }
+
+               if (pThumbReq)
+               {
+                       if (pThumbReq->iRquestId < _pFilenames->GetCount())
+                       {
+                               _pFolderEntryPM->OnThumbnailResponseReceived(pThumbReq->pBitmap, pThumbReq->iRquestId);
+                               if (_pListView && _pListView->IsVisible())
+                               {
+                                       res = _pListView->RefreshList(pThumbReq->iRquestId, LIST_REFRESH_TYPE_ITEM_MODIFY);
+                               }
+                               else if (_pIconListView && _pIconListView->IsVisible())
+                               {
+                                       res = _pIconListView->RefreshList(pThumbReq->iRquestId, LIST_REFRESH_TYPE_ITEM_MODIFY);
+                               }
+                       }
+                       else
+                               AppLogDebug("Thumbnail Request is not valid");
+               }
+               else
+               {
+                       _pFolderEntryPM->OnThumbnailResponseFailed();
+               }
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(res));
+       return;
+}
+
+result
+SubBaseFolderEntryForm::CreateSortByPopup(void)
+{
+       result r = E_SUCCESS;
+
+       if (_pSortByPopup != null)
+       {
+               AppLogDebug("_pSortByPopup is not null");
+               return r;
+       }
+       String cancelButton;
+       String sortByPopupTitle;
+
+       Label* pSortByPanelLabel = null;
+       Label* pSortByPopupLabel = null;
+
+       Bitmap* pPanelBackground = null;
+       Bitmap* pPopUpBackground = null;
+
+       pPanelBackground = UiApp::App::GetInstance()->GetAppResource()->GetBitmapN(IDB_BACKGROUND_POPUP_BOTTOM, BITMAP_PIXEL_FORMAT_ARGB8888);
+       pPopUpBackground = UiApp::App::GetInstance()->GetAppResource()->GetBitmapN(IDB_BACKGROUND_POPUP_CENTER, BITMAP_PIXEL_FORMAT_ARGB8888);
+
+       _pSortByPopup = new (std::nothrow) Popup();
+       _pSortByPopup->Construct(L"IDL_SORT_BY_POPUP");
+
+       _pCancelSortBy = static_cast< Button* >(_pSortByPopup->GetControl(L"IDC_CANCEL_BUTTON", true));
+       TryCatch(_pCancelSortBy != null, , "MfMyFilesApp::Button For Popup not created!");
+
+       _pCancelSortBy->SetActionId(IDA_BTN_SORT_POPUP_CANCEL);
+       _pCancelSortBy->AddActionEventListener(*this);
+       _pCancelSortBy->SetShowState(true);
+
+       pSortByPanelLabel = static_cast< Label* >(_pSortByPopup->GetControl(L"IDC_LABEL_PANEL_BACKGROUND", true));
+       TryCatch(pSortByPanelLabel != null, , "MfMyFilesApp::pLabel For Popup not created!");
+
+       pSortByPopupLabel = static_cast< Label* >(_pSortByPopup->GetControl(L"IDC_LABEL_POPUP_BACKGROUND", true));
+       TryCatch(pSortByPopupLabel != null, , "MfMyFilesApp::pLabel For Popup not created!");
+
+       if (pPanelBackground != null)
+       {
+               pSortByPanelLabel->SetBackgroundBitmap(*pPanelBackground);
+       }
+
+       if (pPopUpBackground != null)
+       {
+               pSortByPopupLabel->SetBackgroundBitmap(*pPopUpBackground);
+
+       }
+
+       _pSortByListView = static_cast< ListView* >(_pSortByPopup->GetControl(L"IDC_LISTVIEW_SORT_BY", true));
+       TryCatch(_pSortByListView != null, , "MfMyFilesApp::ListView Control For Popup not created!");
+
+       _pSortByListView->SetShowState(true);
+       _pSortByListView->AddListViewItemEventListener(*_pCustomListViewForPopup);
+       _pSortByListView->SetItemProvider(*_pCustomListViewForPopup);
+       _pSortByListView->SetName(L"SORT_BY_LISTVIEW");
+       _pSortByListView->SetItemDividerColor(Color::GetColor(COLOR_ID_GREY));
+
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+
+       _pSortByPopup->SetControlAlwaysAtBottom(*pSortByPanelLabel, true);
+       _pSortByPopup->SetControlAlwaysAtBottom(*pSortByPopupLabel, true);
+       _pSortByPopup->SetControlAlwaysOnTop(*_pSortByListView, true);
+       _pSortByPopup->SetControlAlwaysOnTop(*_pCancelSortBy, true);
+
+       if (pPanelBackground != null)
+       {
+               delete pPanelBackground;
+               pPanelBackground = null;
+       }
+       if (pPopUpBackground != null)
+       {
+               delete pPopUpBackground;
+               pPopUpBackground = null;
+       }
+       return r;
+
+CATCH:
+       if (_pCustomListViewForPopup != null)
+       {
+               delete _pCustomListViewForPopup;
+               _pCustomListViewForPopup = null;
+       }
+
+       if (_pSortByPopup != null)
+       {
+               delete _pSortByPopup;
+               _pSortByPopup = null;
+       }
+
+       if (pPanelBackground != null)
+       {
+               delete pPanelBackground;
+               pPanelBackground = null;
+       }
+
+       if (pPopUpBackground != null)
+       {
+               delete pPopUpBackground;
+               pPopUpBackground = null;
+       }
+
+       return r;
+}
+
+result
+SubBaseFolderEntryForm::CreateMoreContextMenu(void)
+{
+       result r = E_SUCCESS;
+
+       int xPosition = 0;
+       int yPosition = 0;
+
+       String viewAs;
+       String extensionVisibility;
+
+       String buttonCreateFolder;
+
+       AppResource* pAppResource = null;
+       AppRegistry* pAppRegistry = null;
+       pAppResource = Application::GetInstance()->GetAppResource();
+
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+       if (pAppResource != null)
+       {
+               pAppResource->GetString(L"IDS_MF_OPT_VIEW_AS", viewAs);
+               pAppResource->GetString(L"IDS_MF_OPT_CREATE_FOLDER", buttonCreateFolder);
+               pAppResource->GetString(L"IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB", _hideExtension);
+               pAppResource->GetString(L"IDS_MF_OPT_SHOW_FILE_EXTENSION", _showExtension);
+       }
+
+       _pFooter = GetFooter();
+       if (_pFooter != null)
+       {
+               _pFooter->GetPosition(xPosition, yPosition);
+       }
+
+       xPosition += 3 * (GetClientAreaBounds().width / 4);
+
+       //Create the ContextMenu
+       _pMoreContextMenu = new (std::nothrow) ContextMenu();
+
+       _pMoreContextMenu->Construct(Point(0, 0), CONTEXT_MENU_STYLE_LIST, CONTEXT_MENU_ANCHOR_DIRECTION_UPWARD);
+       _pMoreContextMenu->SetItemTextColor(CONTEXT_MENU_ITEM_STATUS_NORMAL, Color::GetColor(COLOR_ID_WHITE));
+       _pMoreContextMenu->SetItemTextColor(CONTEXT_MENU_ITEM_STATUS_PRESSED, Color::GetColor(COLOR_ID_WHITE));
+
+       _pMoreContextMenu->AddItem(buttonCreateFolder, IDA_CONTEXT_MENU_CREATE_FOLDER);
+
+       _pMoreContextMenu->AddItem(viewAs, IDA_CONTEXT_MENU_VIEW_AS);
+
+       pAppRegistry->Get(_extensionKeyName, extensionVisibility);
+
+       if (extensionVisibility == _hideExtension)
+       {
+               _pMoreContextMenu->AddItem(_showExtension, IDA_CONTEXT_MENU_SHOW_EXTENSION);
+       }
+       else
+       {
+               _pMoreContextMenu->AddItem(_hideExtension, IDA_CONTEXT_MENU_HIDE_EXTENSION);
+       }
+
+       //Set the ContextMenu's ActionEventListener
+       _pMoreContextMenu->AddActionEventListener(*this);
+       _pMoreContextMenu->SetAnchorPosition(Point(xPosition, yPosition));
+       _pMoreContextMenu->SetShowState(true);
+
+       return r;
+}
+
+result
+SubBaseFolderEntryForm::SetDefaultSelectionForViewAsPopUp(void)
+{
+       result r = E_SUCCESS;
+
+       int defaultViewAsPopUpSelect = 0;
+       int uncheckItem1 = 0;
+       int uncheckItem2 = 0;
+
+       int viewType = VIEW_TYPE_AS_NONE;
+       String viewStyleKeyName(L"ListDisplayType");
+
+       AppRegistry* pAppRegistry = null;
+
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+       r = pAppRegistry->Get(viewStyleKeyName, viewType);
+
+       switch (viewType)
+       {
+
+       case VIEW_TYPE_AS_DETAILED_LIST:
+       {
+               defaultViewAsPopUpSelect = 1;
+               uncheckItem1 = 0;
+               uncheckItem2 = 2;
+       }
+       break;
+
+       case VIEW_TYPE_AS_NORMAL_LIST:
+       {
+               defaultViewAsPopUpSelect = 0;
+               uncheckItem1 = 1;
+               uncheckItem2 = 2;
+       }
+       break;
+
+       case VIEW_TYPE_AS_THUMBNAILS:
+       {
+               defaultViewAsPopUpSelect = 2;
+               uncheckItem1 = 0;
+               uncheckItem2 = 1;
+       }
+       break;
+
+       default:
+       {
+               //Empty Implementation.
+       }
+       break;
+       }
+
+
+       if (_pCustomListViewForPopup != null)
+       {
+               _pCustomListViewForPopup->SetSelectionPopup(POP_UP_VIEW_AS);
+       }
+
+       if (_pViewAsPopup != null && _pViewAsListView != null)
+       {
+               _pViewAsListView->UpdateList();
+               _pViewAsListView->SetItemChecked(defaultViewAsPopUpSelect, true);
+               _pViewAsListView->SetItemChecked(uncheckItem1, false);
+               _pViewAsListView->SetItemChecked(uncheckItem2, false);
+               _pViewAsListView->Invalidate(true);
+       }
+       return r;
+}
+
+void
+SubBaseFolderEntryForm::OnPackageInstallationCompleted(const Tizen::App::PackageId& packageId, Tizen::App::Package::PackageInstallationResult installationResult)
+{
+       AppLogDebug("TopMostFolderFileListForm::OnPackageInstallationComplete");
+       HideInstallationProgressPopup();
+}
+
+void
+SubBaseFolderEntryForm::OnPackageInstallationInProgress(const Tizen::App::PackageId& packageId, int progress)
+{
+       //Empty Implementation
+}
+
+void
+SubBaseFolderEntryForm::OnPackageUninstallationCompleted(const Tizen::App::PackageId& packageId, bool uninstallationResult)
+{
+       //Empty Implementation
+}
+
+void
+SubBaseFolderEntryForm::OnPackageInstallationResponseReceived(const PackageId& packageId, PackageInstallationResult installationResult)
+{
+       //Empty Implementation
+}
+
+void
+SubBaseFolderEntryForm::OnPackageInstallationInProgressResponseReceived(const PackageId& packageId, int progress)
+{
+       //Empty Implementation
+}
+
+result
+SubBaseFolderEntryForm::CreateInstallationConfirmationPopUp(void)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+
+       Label* pPanelLabel = null;
+       Label* pPopupLabel = null;
+
+       Bitmap* pPanelBackground = null;
+       Bitmap* pPopUpBackground = null;
+
+       pPanelBackground = UiApp::App::GetInstance()->GetAppResource()->GetBitmapN(IDB_BACKGROUND_POPUP_BOTTOM, BITMAP_PIXEL_FORMAT_ARGB8888);
+       pPopUpBackground = UiApp::App::GetInstance()->GetAppResource()->GetBitmapN(IDB_BACKGROUND_POPUP_CENTER, BITMAP_PIXEL_FORMAT_ARGB8888);
+
+       //Create a new popup control
+       _pInstallationConfirmationPopUp = new (std::nothrow) Popup();
+       _pInstallationConfirmationPopUp->Construct(L"IDL_INSTALL_POPUP");
+       AppLogDebug("Install Popup:Error Message:%s", GetErrorMessage(GetLastResult()));
+
+       pPanelLabel = static_cast< Label* >(_pInstallationConfirmationPopUp->GetControl(L"IDC_LABEL_BOTTOM", true));
+       AppLogDebug("Install Popup:Error Message:%s", GetErrorMessage(GetLastResult()));
+       TryCatch(pPanelLabel != null, , "MfMyFilesApp::pPanelLabel For Popup not created!");
+
+
+       if (pPanelBackground != null)
+       {
+               pPanelLabel->SetBackgroundBitmap(*pPanelBackground);
+       }
+
+       pPopupLabel = static_cast< Label* >(_pInstallationConfirmationPopUp->GetControl(L"IDC_LABEL_TOP", true));
+       AppLogDebug("Install Popup:Error Message:%s", GetErrorMessage(GetLastResult()));
+       TryCatch(pPopupLabel != null, , "MfMyFilesApp::pPanelLabel For Popup not created!");
+
+       if (pPopUpBackground != null)
+       {
+               pPopupLabel->SetBackgroundBitmap(*pPopUpBackground);
+       }
+
+       _pInstall = static_cast< Button* >(_pInstallationConfirmationPopUp->GetControl(L"IDC_BUTTON_YES", true));
+       AppLogDebug("Install Popup:Error Message:%s", GetErrorMessage(GetLastResult()));
+       TryCatch(_pInstall != null, , "MfMyFilesApp::Button For Popup not created!");
+
+       _pInstall->SetActionId(IDA_INSTALL_APP);
+       _pInstall->AddActionEventListener(*this);
+       _pInstall->SetShowState(true);
+
+       _pCancelInstallation = static_cast< Button* >(_pInstallationConfirmationPopUp->GetControl(L"IDC_BUTTON_NO", true));
+       AppLogDebug("Install Popup:Error Message:%s", GetErrorMessage(GetLastResult()));
+       TryCatch(_pCancelInstallation != null, , "MfMyFilesApp::Button For Popup not created!");
+
+       _pCancelInstallation->SetActionId(IDA_CANCEL_INSTALLATION);
+       _pCancelInstallation->AddActionEventListener(*this);
+       _pCancelInstallation->SetShowState(true);
+
+       AppLogDebug("Exit");
+       if (pPopUpBackground != null)
+       {
+               delete pPopUpBackground;
+               pPopUpBackground = null;
+       }
+       if (pPanelBackground != null)
+       {
+               delete pPanelBackground;
+               pPanelBackground = null;
+       }
+       return r;
+
+CATCH:
+       r = GetLastResult();
+       if (pPopUpBackground != null)
+       {
+               delete pPopUpBackground;
+               pPopUpBackground = null;
+       }
+       if (pPanelBackground != null)
+       {
+               delete pPanelBackground;
+               pPanelBackground = null;
+       }
+       if (_pInstallationConfirmationPopUp != null)
+       {
+               delete _pInstallationConfirmationPopUp;
+               _pInstallationConfirmationPopUp = null;
+       }
+
+       return r;
+}
+result
+SubBaseFolderEntryForm::CreateInstallationProgressPopUp(void)
+{
+       result r = E_SUCCESS;
+
+       Label* pinstProgPopupLabel = null;
+       Bitmap* pPopUpBackground = null;
+
+
+       _pInstallationProgressPopup = new (std::nothrow) Popup();
+       _pInstallationProgressPopup->Construct(L"IDL_INSTALLATION_PROGRESS_POPUP");
+
+       pinstProgPopupLabel = static_cast< Label* >(_pInstallationProgressPopup->GetControl(L"IDC_LABEL1", true));
+
+       pPopUpBackground = UiApp::App::GetInstance()->GetAppResource()->GetBitmapN(IDB_BACKGROUND_POPUP_CENTER, BITMAP_PIXEL_FORMAT_ARGB8888);
+       if (pinstProgPopupLabel && pPopUpBackground)
+       {
+               pinstProgPopupLabel->SetBackgroundBitmap(*pPopUpBackground);
+       }
+       _pInstallationProgressPopup->SetShowState(false);
+
+       if (pPopUpBackground != null)
+       {
+               delete pPopUpBackground;
+               pPopUpBackground = null;
+       }
+       return r;
+}
+
+void
+SubBaseFolderEntryForm::ShowInstallationProgressPopup(void)
+{
+       CreateInstallationProgressPopUp();
+       if (_pInstallationProgressPopup != null)
+       {
+               _pInstallationProgressPopup->SetShowState(true);
+               _pInstallationProgressPopup->Invalidate(true);
+       }
+}
+void
+SubBaseFolderEntryForm::HideInstallationProgressPopup(void)
+{
+       if (_pInstallationProgressPopup != null && _pInstallationProgressPopup->IsVisible())
+       {
+               _pInstallationProgressPopup->SetShowState(false);
+
+               delete _pInstallationProgressPopup;
+               _pInstallationProgressPopup = null;
+       }
+}
+void
+SubBaseFolderEntryForm::ShowInstallationConfirmationPopup(void)
+{
+       CreateInstallationConfirmationPopUp();
+
+       if (_pInstallationConfirmationPopUp != null)
+       {
+               _pInstallationConfirmationPopUp->SetShowState(true);
+               _pInstallationConfirmationPopUp->Show();
+       }
+}
+void
+SubBaseFolderEntryForm::HideInstallationConfirmationPopup(void)
+{
+       if (_pInstallationConfirmationPopUp != null && _pInstallationConfirmationPopUp->IsVisible())
+       {
+               _pInstallationConfirmationPopUp->SetShowState(false);
+
+               delete _pInstallationConfirmationPopUp;
+               _pInstallationConfirmationPopUp = null;
+       }
+}
+
+void
+SubBaseFolderEntryForm::SetFooterVisibility(int mode)
+{
+       AppLogDebug("Entry");
+       _pFooter = GetFooter();
+
+       if (mode == 0)
+       {
+               _pFooter->SetItemEnabled(0, false);
+               _pFooter->SetItemEnabled(1, false);
+               if (CheckSearchHistory() == false)
+               {
+               _pFooter->SetItemEnabled(2, false);
+               }
+       }
+       else
+       {
+               _pFooter->SetItemEnabled(0, true);
+               _pFooter->SetItemEnabled(1, true);
+               _pFooter->SetItemEnabled(2, true);
+       }
+
+       _pFooter->Invalidate(true);
+}
+
+bool
+SubBaseFolderEntryForm::CheckSearchHistory(void)
+{
+       bool searchHistoryStatus = false;
+       int itemCount = 0;
+       String searchScene;
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+       IListT< SceneId >* pSceneList = pSceneManager->GetSceneHistoryN();
+
+       if (pSceneList != null)
+       {
+               itemCount = pSceneList->GetCount() - 1;
+               pSceneList->GetAt(itemCount, searchScene);
+               while (searchScene != IDSCN_SEARCH_FORM && itemCount >= 0)
+               {
+                       itemCount--;
+                       pSceneList->GetAt(itemCount, searchScene);
+               }
+       }
+
+       if (searchScene == IDSCN_SEARCH_FORM)
+       {
+               AppLogDebug("Search scene present");
+               searchHistoryStatus = true;
+       }
+       else
+       {
+               AppLogDebug("Search scene not present");
+               searchHistoryStatus = false;
+       }
+
+       if(pSceneList)
+       {
+               pSceneList->RemoveAll();
+               delete pSceneList;
+               pSceneList = null;
+       }
+       return searchHistoryStatus;
+}
+
+void
+SubBaseFolderEntryForm::OnFileEventOccured(const unsigned long events,const Tizen::Base::String &  path, const unsigned int    eventId)
+{
+
+}
diff --git a/src/MfSubBaseMoveCopy.cpp b/src/MfSubBaseMoveCopy.cpp
new file mode 100644 (file)
index 0000000..c598669
--- /dev/null
@@ -0,0 +1,1027 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSubBaseMoveCopy.cpp
+ * @brief: This file contains the implementation of SubBaseMoveCopy class, which acts as a base view for TopMostMoveCopy
+ * and SubMoveCopy forms.
+ */
+
+#include "MfSubBaseMoveCopy.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Graphics;
+using namespace Tizen::Io;
+using namespace Tizen::Media;
+using namespace Tizen::Locales;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+Integer SubBaseMoveCopy::sourceFormOption;
+
+SubBaseMoveCopy::SubBaseMoveCopy(void)
+       : _pFileNames(null)
+       , _pCopyCancelButton(null)
+       , _pCopyRenameButton(null)
+       , _pCopyReplaceButton(null)
+       , _pFileProgressingCancelButton(null)
+       , _pFooter(null)
+       , _pCancel(null)
+       , _pCopy(null)
+       , _pCreateFolder(null)
+       , _pMove(null)
+       , _pPaste(null)
+       , _pIconListView(null)
+       , _pDisplayPathLabel(null)
+       , _pFileProgressingHeaderLabel(null)
+       , _pFileProgressingLabel(null)
+       , _pListView(null)
+       , _pFileExistingPopup(null)
+       , _pFileProgressingPopup(null)
+       , _pFileProgressingProgress(null)
+       , _pBaseItemProvider(null)
+       , _pFileManager(null)
+       , _pFolderEntryPM(null)
+       , _pMediaMetaData(null)
+       , _pThumbnailItemProvider(null)
+       , _pThumbnailManager(null)
+{
+       _fileManagedCount = 0;
+       _moveCopySource = MOVE_COPY_SOURCE_NONE;
+       setMediaPath = false;
+}
+
+SubBaseMoveCopy::~SubBaseMoveCopy(void)
+{
+       if (_pFileExistingPopup != null)
+       {
+               delete _pFileExistingPopup;
+       }
+
+       if (_pFileProgressingPopup != null)
+       {
+               delete _pFileProgressingPopup;
+       }
+
+       if (_pMove != null)
+       {
+               delete _pMove;
+       }
+
+       if (_pCopy != null)
+       {
+               delete _pCopy;
+       }
+
+       if (_pPaste != null)
+       {
+               delete _pPaste;
+       }
+
+       if (_pCreateFolder != null)
+       {
+               delete _pCreateFolder;
+       }
+
+       if (_pCancel != null)
+       {
+               delete _pCancel;
+       }
+
+       if (_pFolderEntryPM != null)
+       {
+               delete _pFolderEntryPM;
+       }
+
+       if (_pBaseItemProvider != null)
+       {
+               delete _pBaseItemProvider;
+       }
+
+       if (_pThumbnailItemProvider != null)
+       {
+               delete _pThumbnailItemProvider;
+       }
+}
+
+SubBaseMoveCopy&
+SubBaseMoveCopy::operator =(const SubBaseMoveCopy& pSubBaseMoveCopy)
+{
+       return *this;
+}
+
+SubBaseMoveCopy::SubBaseMoveCopy(const SubBaseMoveCopy& pSubBaseMoveCopy)
+{
+       //Do Nothing
+}
+
+result
+SubBaseMoveCopy::CreateFileExistingPopup(void)
+{
+       AppLogDebug("ENTER");
+       result r = E_SUCCESS;
+       Label* pPopupLabel = null;
+       Label* pBottomPanelLabel = null;
+       Label* pLabelTitleText = null;
+
+       Bitmap* pPopUpBackground = null;
+       Bitmap* pBottomPanelBackground = null;
+
+       pPopUpBackground = UiApp::App::GetInstance()->GetAppResource()->GetBitmapN(IDB_BACKGROUND_POPUP_CENTER, BITMAP_PIXEL_FORMAT_ARGB8888);
+       pBottomPanelBackground = UiApp::App::GetInstance()->GetAppResource()->GetBitmapN(IDB_BACKGROUND_POPUP_BOTTOM, BITMAP_PIXEL_FORMAT_ARGB8888);
+
+       _pFileExistingPopup = new (std::nothrow) Popup;
+       r = _pFileExistingPopup->Construct(L"IDL_FILE_EXISTING_POPUP");
+
+       pPopupLabel = static_cast< Label* >(_pFileExistingPopup->GetControl(L"IDC_LABEL_POPUP_CENTER_BACKGROUND", true));
+       TryCatch(pPopupLabel != null, , "__pCopyRenameButton Popup Could Not be Created!");
+
+       pBottomPanelLabel = static_cast< Label* >(_pFileExistingPopup->GetControl(L"IDC_LABEL_POPUP_BOTTOM_BACKGROUND", true));
+       TryCatch(pBottomPanelLabel != null, , "__pCopyRenameButton Popup Could Not be Created!");
+
+       pLabelTitleText = static_cast< Label* >(_pFileExistingPopup->GetControl(L"IDC_LABEL_TITLE_TEXT", true));
+       TryCatch(pLabelTitleText != null, , "__pCopyRenameButton Popup Could Not be Created!");
+
+       if (pPopUpBackground != null)
+       {
+               pPopupLabel->SetBackgroundBitmap(*pPopUpBackground);
+       }
+       if (pBottomPanelBackground != null)
+       {
+               pBottomPanelLabel->SetBackgroundBitmap(*pBottomPanelBackground);
+       }
+
+       _pCopyRenameButton = static_cast< Button* >(_pFileExistingPopup->GetControl(L"IDC_FILE_EXISTING_RENAME", true));
+       TryCatch(_pCopyRenameButton != null, , "::__pCopyRenameButton Popup Could Not be Created!");
+
+       _pCopyRenameButton->SetActionId(IDA_BTN_POPUP_COPY_RENAME);
+       _pCopyRenameButton->AddActionEventListener(*this);
+       _pCopyRenameButton->SetShowState(true);
+
+       _pCopyReplaceButton = static_cast< Button* >(_pFileExistingPopup->GetControl(L"IDC_FILE_EXISTING_REPLACE", true));
+       TryCatch(_pCopyReplaceButton != null, , "::__pCopyReplaceButton Could Not be Created!");
+
+       _pCopyReplaceButton->SetActionId(IDA_BTN_POPUP_COPY_REPLACE);
+       _pCopyReplaceButton->AddActionEventListener(*this);
+       _pCopyReplaceButton->SetShowState(true);
+
+
+       _pCopyCancelButton = static_cast< Button* >(_pFileExistingPopup->GetControl(L"IDC_FILE_EXISTING_CANCEL", true));
+       TryCatch(_pCopyCancelButton != null, , " __pCopyCancelButton Could Not be Created!");
+
+       _pCopyCancelButton->SetActionId(IDA_BTN_POPUP_COPY_CANCEL);
+       _pCopyCancelButton->AddActionEventListener(*this);
+       _pCopyCancelButton->SetShowState(true);
+
+       _pFileExistingPopup->SetControlAlwaysOnTop(*_pCopyRenameButton, true);
+       _pFileExistingPopup->SetControlAlwaysOnTop(*_pCopyReplaceButton, true);
+       _pFileExistingPopup->SetControlAlwaysOnTop(*_pCopyCancelButton, true);
+       _pFileExistingPopup->SetControlAlwaysOnTop(*pLabelTitleText, true);
+       _pFileExistingPopup->SetControlAlwaysAtBottom(*pPopupLabel, true);
+       _pFileExistingPopup->SetControlAlwaysAtBottom(*pBottomPanelLabel, true);
+
+       if (pPopUpBackground != null)
+       {
+               delete pPopUpBackground;
+               pPopUpBackground = null;
+       }
+
+       if (pBottomPanelBackground != null)
+       {
+               delete pBottomPanelBackground;
+               pBottomPanelBackground = null;
+       }
+       AppLogDebug(":: CreateFileExistingPopup--");
+       return r;
+
+CATCH:
+       if (pPopUpBackground != null)
+       {
+               delete pPopUpBackground;
+               pPopUpBackground = null;
+       }
+       if (pBottomPanelBackground != null)
+       {
+               delete pBottomPanelBackground;
+               pBottomPanelBackground = null;
+       }
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+       return r;
+}
+
+result
+SubBaseMoveCopy::CreateFileProgressingPopup(void)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       _pFileProgressingPopup = new (std::nothrow) Popup();
+       _pFileProgressingPopup->Construct(L"IDL_FILE_PROGRESSING_POPUP");
+       if (_pFileProgressingPopup != null)
+       {
+               _pFileProgressingPopup->SetTitleText(L"FileProcessing");
+
+               _pFileProgressingCancelButton = static_cast< Button* >(_pFileProgressingPopup->GetControl(L"IDC_CANCEL_BUTTON", true));
+               if (_pFileProgressingCancelButton != null)
+               {
+                       _pFileProgressingCancelButton->SetActionId(IDA_BTN_ANIMATION_POPUP_CANCEL);
+                       _pFileProgressingCancelButton->AddActionEventListener(*this);
+                       _pFileProgressingCancelButton->SetShowState(true);
+               }
+
+               _pFileProgressingProgress = static_cast< Progress* >(_pFileProgressingPopup->GetControl(L"IDC_PROGRESS_BAR", true));
+               if (_pFileProgressingProgress != null)
+               {
+                       _pFileProgressingProgress->SetName(L"IDC_ANIMATION_PROGRESS");
+                       _pFileProgressingProgress->SetValue(0);
+               }
+
+               _pFileProgressingHeaderLabel = static_cast< Label* >(_pFileProgressingPopup->GetControl(L"IDC_ANIMATION_HEADER", true));
+               if (_pFileProgressingHeaderLabel != null)
+               {
+                       _pFileProgressingHeaderLabel->SetName(L"IDC_ANIMATION_HEADER");
+                       _pFileProgressingHeaderLabel->SetShowState(true);
+               }
+
+               _pFileProgressingLabel = static_cast< Label* >(_pFileProgressingPopup->GetControl(L"IDC_ANIMATION_LABEL", true));
+               if (_pFileProgressingLabel != null)
+               {
+                       _pFileProgressingLabel->SetName(L"IDC_FILE_COUNT_LABEL");
+                       _pFileProgressingLabel->SetShowState(true);
+               }
+       }
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+       return r;
+}
+
+void
+SubBaseMoveCopy::CreateFooterItems(void)
+{
+       AppLogDebug("ENTER");
+       result r = E_SUCCESS;
+       _pFooter = GetFooter();
+
+       String btnCancel;
+
+       String btnMove;
+       String btnMoveHere;
+       String btnPaste;
+       String btnPasteHere;
+
+       String btnCreateFolder;
+
+       AppResource* pAppResource = null;
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Resource manager not found!");
+
+       pAppResource->GetString(L"IDS_MF_SK3_MOVE_HERE", btnMoveHere);
+       pAppResource->GetString(L"IDS_MF_SK3_PASTE_HERE", btnPasteHere);
+       pAppResource->GetString(L"IDS_MF_OPT_CREATE_FOLDER", btnCreateFolder);
+       pAppResource->GetString(L"IDS_COM_POP_CANCEL", btnCancel);
+
+       _pFooter = GetFooter();
+
+       if (_pFooter != null)
+       {
+               _pFooter->SetStyle(FOOTER_STYLE_BUTTON_TEXT);
+       }
+
+       if (sourceFormOption.ToInt() == SELECT_MOVE_BUTTON)
+       {
+               if (_pMove == null)
+               {
+                       _pMove = new (std::nothrow) FooterItem();
+                       r = _pMove->Construct(IDA_BTN_MOVE);
+                       _pMove->SetText(btnMoveHere);
+               }
+               if (_pFooter != null)
+               {
+                       r = _pFooter->AddItem(*_pMove);
+               }
+       }
+       else
+       {
+
+               if (_pPaste == null)
+               {
+                       _pPaste = new (std::nothrow) FooterItem();
+                       r = _pPaste->Construct(IDA_BTN_PASTE);
+                       _pPaste->SetText(btnPasteHere);
+               }
+               if (_pFooter != null)
+               {
+                       r = _pFooter->AddItem(*_pPaste);
+               }
+       }
+
+       if (_pCreateFolder == null)
+       {
+               _pCreateFolder = new (std::nothrow) FooterItem();
+               r = _pCreateFolder->Construct(IDA_BTN_CREATE_FOLDER);
+               _pCreateFolder->SetText(btnCreateFolder);
+       }
+       if (_pFooter != null)
+       {
+               r = _pFooter->AddItem(*_pCreateFolder);
+       }
+
+       if (_pCancel == null)
+       {
+               _pCancel = new (std::nothrow) FooterItem();
+               r = _pCancel->Construct(IDA_BTN_CANCEL);
+               _pCancel->SetText(btnCancel);
+       }
+       if (_pFooter != null)
+       {
+               r = _pFooter->AddItem(*_pCancel);
+
+               _pFooter->AddActionEventListener(*this);
+               _pFooter->SetShowState(true);
+               _pFooter->Invalidate(true);
+       }
+
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+       return;
+CATCH:
+       if (_pFooter != null)
+       {
+               _pFooter->RemoveAllItems();
+       }
+
+       AppLogDebug("CreateFooterCustomControls--");
+}
+
+FolderEntryPresentationModel*
+SubBaseMoveCopy::GetFoldeEntryPresentationModel(void)
+{
+       return _pFolderEntryPM;
+}
+
+void
+SubBaseMoveCopy::HideFileExistingPopup(void)
+{
+       if (_pFileExistingPopup != null && _pFileExistingPopup->IsVisible())
+       {
+               _pFileExistingPopup->SetShowState(false);
+
+               delete _pFileExistingPopup;
+               _pFileExistingPopup = null;
+       }
+}
+
+void
+SubBaseMoveCopy::HideFileProgressingPopup(void)
+{
+       if (_pFileProgressingPopup != null && _pFileProgressingPopup->IsVisible())
+       {
+               _pFileProgressingPopup->SetShowState(false);
+
+               delete _pFileProgressingPopup;
+               _pFileProgressingPopup = null;
+       }
+}
+
+void
+SubBaseMoveCopy::LoadCreateFolderForm(void)
+{
+       //Load the CreateFolder view in the current directory.
+       AppLogDebug("ENTER");
+       result r = E_SUCCESS;
+       ArrayList* pArg = null;
+       Integer* pSourceSelected = null;
+       SceneManager* pSceneManager = null;
+
+       pSceneManager = SceneManager::GetInstance();
+       //TryCatch(pSceneManager != null, , "failed to Get SceneManager instance");
+
+       pArg = new (std::nothrow) ArrayList();
+       r = pArg->Construct();
+
+       pSourceSelected = new (std::nothrow) Integer(SELECT_CREATE_FOLDER);
+       pArg->Add(pSourceSelected);
+
+       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_CREATE_FOLDER_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pArg);
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+
+       return;
+}
+
+void
+SubBaseMoveCopy::SubBaseOnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+{
+       AppLogDebug("ENTER");
+
+       String __mediaPath;
+       String __StoragePath;
+
+       switch (actionId)
+       {
+
+       case IDA_BTN_MOVE:
+       {
+               ((MyFilesApp*) Application::GetInstance())->SetNotifyListener(this);
+               _rootPath = FolderNavigationPresentationModel::GetCurrentPath();
+               _pFileManager->MoveFolderEntries(FILE_EXISTING_OPERATIONID_NONE);
+       }
+       break;
+
+       case IDA_BTN_PASTE:
+       {
+               ((MyFilesApp*) Application::GetInstance())->SetNotifyListener(this);
+               _rootPath = FolderNavigationPresentationModel::GetCurrentPath();
+               _pFileManager->CopyFolderEntries(FILE_EXISTING_OPERATIONID_NONE);
+       }
+       break;
+
+       case IDA_BTN_CREATE_FOLDER:
+       {
+               LoadCreateFolderForm();
+       }
+       break;
+
+       case IDA_BTN_CANCEL:
+       {
+               SceneManager* pSceneManager = SceneManager::GetInstance();
+               if (pSceneManager != null)
+               {
+                       pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_EDIT_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT, SCENE_DESTROY_OPTION_DESTROY), null);
+               }
+
+       }
+       break;
+
+       case IDA_BTN_ANIMATION_POPUP_CANCEL:
+       {
+               //HideFileProgressingPopup();
+               _pFileManager->ForceStopWorkerThread();
+       }
+       break;
+
+       case IDA_BTN_POPUP_COPY_RENAME:
+       {
+               HideFileExistingPopup();
+               if (sourceFormOption.ToInt() == SELECT_COPY_BUTTON)
+               {
+                       ((MyFilesApp*) Application::GetInstance())->SetNotifyListener(this);
+                       _pFileManager->CopyFolderEntries(FILE_EXISTING_OPERATIONID_RENAME);
+
+               }
+
+               if (sourceFormOption.ToInt() == SELECT_MOVE_BUTTON)
+               {
+                       ((MyFilesApp*) Application::GetInstance())->SetNotifyListener(this);
+                       _pFileManager->MoveFolderEntries(FILE_EXISTING_OPERATIONID_RENAME);
+
+               }
+       }
+       break;
+
+       case IDA_BTN_POPUP_COPY_REPLACE:
+       {
+               HideFileExistingPopup();
+               if (sourceFormOption.ToInt() == SELECT_COPY_BUTTON)
+               {
+                       ((MyFilesApp*) Application::GetInstance())->SetNotifyListener(this);
+                       _pFileManager->CopyFolderEntries(FILE_EXISTING_OPERATIONID_REPLACE);
+
+               }
+
+               if (sourceFormOption.ToInt() == SELECT_MOVE_BUTTON)
+               {
+                       ((MyFilesApp*) Application::GetInstance())->SetNotifyListener(this);
+                       _pFileManager->MoveFolderEntries(FILE_EXISTING_OPERATIONID_REPLACE);
+
+               }
+       }
+       break;
+
+       case IDA_BTN_POPUP_COPY_CANCEL:
+       {
+               //HideFileProgressingPopup();
+               HideFileExistingPopup();
+               LoadDirectoryForm();
+       }
+       break;
+
+       default:
+       {
+               // In Default
+       }
+       break;
+       }
+       Invalidate(true);
+       AppLogDebug("EXIT");
+}
+
+
+void
+SubBaseMoveCopy::OnFileManagingStart(void)
+{
+       ShowFileProgressingPopup();
+}
+
+void
+SubBaseMoveCopy::ShowFileProgressingPopup(void)
+{
+       String movingLabelText;
+       String copyingLabelText;
+       AppResource* pAppResource = null;
+       pAppResource = Application::GetInstance()->GetAppResource();
+
+       pAppResource->GetString("IDS_COM_POP_MOVING", movingLabelText);
+       pAppResource->GetString("IDS_MF_POP_COPYING", copyingLabelText);
+
+       CreateFileProgressingPopup();
+
+       if (_pFileProgressingPopup != null)
+       {
+
+               if (_pFileProgressingHeaderLabel != null)
+               {
+                       if (sourceFormOption.ToInt() == SELECT_MOVE_BUTTON)
+                       {
+                               _pFileProgressingHeaderLabel->SetText(movingLabelText);
+                               _pFileProgressingHeaderLabel->Invalidate(true);
+                       }
+
+                       if (sourceFormOption.ToInt() == SELECT_COPY_BUTTON)
+                       {
+                               _pFileProgressingHeaderLabel->SetText(copyingLabelText);
+                               _pFileProgressingHeaderLabel->Invalidate(true);
+                       }
+               }
+
+               _pFileProgressingPopup->SetShowState(true);
+               _pFileProgressingPopup->Show();
+       }
+}
+
+void
+SubBaseMoveCopy::OnFileManagingStop(FileManagingResult fileProcessingResult)
+{
+       //Empty Implementation.
+}
+
+void
+SubBaseMoveCopy::OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status)
+{
+       //Empty Implementation.
+}
+
+void
+SubBaseMoveCopy::OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback)
+{
+       //Empty Implementation.
+}
+
+void
+SubBaseMoveCopy::OnListViewItemStateChangedNotify(ViewType viewType)
+{
+       //Empty Implementation.
+}
+
+void
+SubBaseMoveCopy::OnThumbnailReceived(ThumbRequest* pThumbReq)
+{
+       result res = E_SUCCESS;
+       ArrayList*              pFileList  = null;
+       AppLogDebug("Enter");
+
+
+
+
+       if (_pFolderEntryPM)
+       {
+               pFileList = _pFolderEntryPM->GetFolderEntryList();
+               if (pThumbReq != null)
+               {
+                       if (pThumbReq->GetCurrentSourceForm() != _pFolderEntryPM->GetSourceForm())
+                       {
+                               if (pThumbReq->pBitmap != null)
+                               {
+                                       AppLogDebug("This Bitmap is not requested from same form");
+                                       delete pThumbReq->pBitmap;
+                               }
+                               return;
+                       }
+               }
+
+               if (pThumbReq)
+               {
+                       if (pThumbReq->iRquestId < pFileList->GetCount())
+                       {
+
+                               _pFolderEntryPM->OnThumbnailResponseReceived(pThumbReq->pBitmap, pThumbReq->iRquestId);
+
+                               if (_pListView && _pListView->IsVisible())
+                               {
+                                       res = _pListView->RefreshList(pThumbReq->iRquestId, LIST_REFRESH_TYPE_ITEM_MODIFY);
+                               }
+                               else if (_pIconListView && _pIconListView->IsVisible())
+                               {
+                                       res = _pIconListView->RefreshList(pThumbReq->iRquestId, LIST_REFRESH_TYPE_ITEM_MODIFY);
+                               }
+                       }
+               }
+               else
+               {
+                       _pFolderEntryPM->OnThumbnailResponseFailed();
+               }
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(res));
+       return;
+}
+
+result
+SubBaseMoveCopy::OnTerminating(void)
+{
+       result r = E_SUCCESS;
+
+       _pFooter = GetFooter();
+       if (_pFooter != null)
+       {
+               _pFooter->RemoveAllButtons();
+               _pFooter->RemoveAllItems();
+       }
+       return r;
+}
+
+void
+SubBaseMoveCopy::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+                                                                       const Tizen::Ui::Scenes::SceneId& nextSceneId)
+{
+       //Empty Implementation.
+       ((MyFilesApp*)Application::GetInstance())->SetCurrentView(null);
+       if (_pFolderEntryPM != null)
+       {
+               _pFolderEntryPM->StopThumbnailManager(true);
+       }
+}
+
+void
+SubBaseMoveCopy::OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction)
+{
+       //empty Implementation
+}
+
+void
+SubBaseMoveCopy::ShowFileExistingPopup(void)
+{
+       CreateFileExistingPopup();
+
+       if (_pFileExistingPopup != null)
+       {
+               _pFileExistingPopup->SetShowState(true);
+               _pFileExistingPopup->Show();
+       }
+}
+
+void
+SubBaseMoveCopy::OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus)
+{
+
+       AppLogDebug("ENTER");
+       Rectangle listViewBounds;
+       Rectangle labelBounds;
+
+
+       if (_moveCopySource == MOVE_COPY_SOURCE_SUB_FOLDER)
+       {
+               listViewBounds.SetBounds(GetClientAreaBounds().x, H_DISPLAY_PATH_LABEL, GetClientAreaBounds().width, GetClientAreaBounds().height);
+               labelBounds.SetBounds(GetClientAreaBounds().x, 0, GetClientAreaBounds().width, H_DISPLAY_PATH_LABEL);
+       }
+       else
+       {
+               listViewBounds.SetBounds(GetClientAreaBounds().x, 0, GetClientAreaBounds().width, GetClientAreaBounds().height);
+       }
+
+       switch (orientationStatus)
+       {
+       case ORIENTATION_STATUS_PORTRAIT:
+       {
+               if (_pListView != null)
+               {
+                       _pListView->SetBounds(listViewBounds);
+               }
+
+               if (_pIconListView != null)
+               {
+                       _pIconListView->SetBounds(listViewBounds);
+               }
+
+               if (_moveCopySource == MOVE_COPY_SOURCE_SUB_FOLDER)
+               {
+                       if (_pDisplayPathLabel != null)
+                       {
+                               _pDisplayPathLabel->SetBounds(labelBounds);
+                       }
+               }
+
+       }
+       break;
+
+       case ORIENTATION_STATUS_LANDSCAPE:
+       {
+               if (_pListView != null)
+               {
+                       _pListView->SetBounds(listViewBounds);
+               }
+
+               if (_pIconListView != null)
+               {
+                       _pIconListView->SetBounds(listViewBounds);
+               }
+
+               if (_moveCopySource == MOVE_COPY_SOURCE_SUB_FOLDER)
+               {
+                       if (_pDisplayPathLabel != null)
+                       {
+                               _pDisplayPathLabel->SetBounds(labelBounds);
+                       }
+               }
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing
+       }
+       break;
+       }
+
+       Invalidate(true);
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+}
+
+void
+SubBaseMoveCopy::OnNotificationReceived(ArrayList* pArgs)
+{
+       AppLogDebug("ENTER");
+
+       int fileProcessingResult = 0;
+       Integer* pfileProcessingResult = null;
+
+       TryCatch(pArgs != null, , "Argument list received is invalid");
+
+       pfileProcessingResult = (Integer*) pArgs->GetAt(0);
+       if (pfileProcessingResult != null)
+       {
+               //TryCatch(pArgs!=null ,,"Argument list received is invalid");
+               fileProcessingResult = pfileProcessingResult->ToInt();
+
+               delete pfileProcessingResult;
+       }
+       switch (fileProcessingResult)
+       {
+       case FILE_MANAGING_RESULT_COPYING_SUCCESS:
+       {
+               HideFileProgressingPopup();
+               LoadDirectoryForm();
+       }
+       break;
+
+       case FILE_MANAGING_RESULT_MOVING_SUCCESS:
+       {
+               HideFileProgressingPopup();
+               LoadDirectoryForm();
+       }
+       break;
+
+       case FILE_MANAGING_RESULT_DUPLICITY:
+       {
+               HideFileProgressingPopup();
+               ShowFileExistingPopup();
+       }
+       break;
+
+       case FILE_MANAGING_RESULT_SOURCE_SAME_AS_DESTINATION:
+       {
+               HideFileProgressingPopup();
+               MessageBox messageBox;
+               if (sourceFormOption.ToInt() == SELECT_MOVE_BUTTON)
+               {
+                       messageBox.Construct(L"", L"Cannot Move: The Destination and \n the source are the\n same", MSGBOX_STYLE_NONE, 1000);
+               }
+               else
+               {
+                       messageBox.Construct(L"", L"Cannot Copy: The Destination and \n the source are the\n same", MSGBOX_STYLE_NONE, 1000);
+               }
+
+               // Call ShowAndWait - draw, show itself and process events
+               int modalResult = 0;
+               messageBox.ShowAndWait(modalResult);
+       }
+       break;
+
+       case FILE_MANAGING_RESULT_CURRENT_STATUS:
+       {
+               String movingLabelText;
+               String copyingLabelText;
+               AppResource* pAppResource = null;
+               pAppResource = Application::GetInstance()->GetAppResource();
+
+               pAppResource->GetString("IDS_COM_POP_MOVING", movingLabelText);
+               pAppResource->GetString("IDS_MF_POP_COPYING", copyingLabelText);
+               int value = 0;
+               String strFileProcessCount(L"");
+               if (pArgs->GetCount() > 1)
+               {
+                       Integer* pCurrentStatus = (Integer*) pArgs->GetAt(1);
+                       Integer* pTotalFileCount = (Integer*) pArgs->GetAt(2);
+                       if (pCurrentStatus != null && pTotalFileCount != null)
+                       {
+                               value = (_fileManagedCount * 100) / (pTotalFileCount->ToInt());
+
+                               _fileManagedCount = pCurrentStatus->ToInt();
+                               strFileProcessCount.Append(_fileManagedCount);
+                               strFileProcessCount.Append(L"/");
+                               strFileProcessCount.Append(pTotalFileCount->ToInt());
+                               delete pCurrentStatus;
+                               delete pTotalFileCount;
+                       }
+               }
+               if (_pFileProgressingPopup != null)
+               {
+                       Progress* pProgrssAnimation = static_cast< Progress* >(_pFileProgressingPopup->GetControl(L"IDC_ANIMATION_PROGRESS", true));
+                       if (_pFileProgressingHeaderLabel != null)
+                       {
+                               if (sourceFormOption.ToInt() == SELECT_MOVE_BUTTON)
+                               {
+                                       _pFileProgressingHeaderLabel->SetText(movingLabelText);
+                                       _pFileProgressingHeaderLabel->Invalidate(true);
+                               }
+
+                               if (sourceFormOption.ToInt() == SELECT_COPY_BUTTON)
+                               {
+                                       _pFileProgressingHeaderLabel->SetText(copyingLabelText);
+                                       _pFileProgressingHeaderLabel->Invalidate(true);
+                               }
+                       }
+                       if (pProgrssAnimation != null)
+                       {
+                               pProgrssAnimation->SetValue(value);
+                               pProgrssAnimation->Invalidate(true);
+                       }
+
+                       Label* pLabel = static_cast< Label* >(_pFileProgressingPopup->GetControl(L"IDC_FILE_COUNT_LABEL", true));
+                       if (pLabel != null)
+                       {
+                               pLabel->SetText(strFileProcessCount);
+                               pLabel->Invalidate(true);
+                       }
+
+               }
+
+       }
+       break;
+
+       case FILE_MANAGING_RESULT_COPYING_FAILED:
+       {
+               String copyingFailed;
+               AppResource* pAppResource = null;
+               pAppResource = Application::GetInstance()->GetAppResource();
+               pAppResource->GetString("IDS_COPY_FAILED_MESSAGE", copyingFailed);
+
+               HideFileProgressingPopup();
+
+               MessageBox messageBox;
+               //messageBox.Construct(L"", L"Not enough memory.\n Delete some items and try again", MSGBOX_STYLE_NONE, 1000);
+               messageBox.Construct(L"", copyingFailed, MSGBOX_STYLE_NONE, 1000);
+               // Call ShowAndWait - draw, show itself and process events
+               int modalResult = 0;
+               messageBox.ShowAndWait(modalResult);
+
+               String tempDeviceState;
+
+               DeviceManager::GetState(DEVICE_TYPE_STORAGE_CARD,tempDeviceState);
+               if(tempDeviceState == sdCardStatusUnmounted && deviceState == sdCardStatusMounted)
+               {
+                       SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_ROOT_DIRECTORY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT, SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY), null);
+               }
+               else
+               {
+                       LoadDirectoryForm();
+               }
+               
+       }
+       break;
+
+       case FILE_MANAGING_RESULT_MOVING_FAILED:
+       {
+               String movingFailed;
+               AppResource* pAppResource = null;
+               pAppResource = Application::GetInstance()->GetAppResource();
+               pAppResource->GetString("IDS_MOVE_FAILED_MESSAGE", movingFailed);
+
+               HideFileProgressingPopup();
+
+               MessageBox messageBox;
+               //messageBox.Construct(L"", L"Not enough memory.\n Delete some items and try again", MSGBOX_STYLE_NONE, 1000);
+               messageBox.Construct(L"", movingFailed, MSGBOX_STYLE_NONE, 1000);
+               // Call ShowAndWait - draw, show itself and process events
+               int modalResult = 0;
+               messageBox.ShowAndWait(modalResult);
+
+               String tempDeviceState;
+               DeviceManager::GetState(DEVICE_TYPE_STORAGE_CARD,tempDeviceState);
+               AppLogDebug("cureent %ls",tempDeviceState.GetPointer());
+               AppLogDebug("old device %ls",deviceState.GetPointer());
+               if(tempDeviceState == sdCardStatusUnmounted && deviceState == sdCardStatusMounted)
+               {
+                       SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_ROOT_DIRECTORY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT, SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY), null);
+               }
+               else
+               {
+                       LoadDirectoryForm();
+               }
+       }
+       break;
+
+       case FILE_MANAGING_RESULT_STORAGE_FULL:
+       {
+               String storageFull;
+               AppResource* pAppResource = null;
+               pAppResource = Application::GetInstance()->GetAppResource();
+               pAppResource->GetString("IIDS_STORAGE_FULL", storageFull);
+
+               HideFileProgressingPopup();
+               MessageBox messageBox;
+               //messageBox.Construct(L"", L"Not enough memory.\n Delete some items and try again", MSGBOX_STYLE_NONE, 1000);
+               messageBox.Construct(L"", storageFull, MSGBOX_STYLE_NONE, 1000);
+               // Call ShowAndWait - draw, show itself and process events
+               int modalResult = 0;
+               messageBox.ShowAndWait(modalResult);
+
+               LoadDirectoryForm();
+       }
+       break;
+
+       default:
+               break;
+       }
+
+CATCH:
+       if (pArgs != null)
+       {
+               pArgs->RemoveAll(false);
+               delete pArgs;
+               pArgs = null;
+       }
+
+       AppLogDebug("EXIT");
+}
+
+result
+SubBaseMoveCopy::LoadDirectoryForm(void)
+{
+       AppLogDebug("ENTER");
+       result r = E_SUCCESS;
+       ArrayList* pArg = null;
+       String fileName;
+       SceneManager* pSceneManager = null;
+       pSceneManager = SceneManager::GetInstance();
+
+       FolderNavigationPresentationModel::SetCurrentFilePath(_rootPath);
+       if (_moveCopySource == MOVE_COPY_SOURCE_SUB_FOLDER)
+       {
+               String delim(L"/");
+               String token;
+               StringTokenizer strTok(_rootPath, delim);
+               while (strTok.HasMoreTokens())
+               {
+                       strTok.GetNextToken(token);
+               }
+               fileName.Append(token);
+               pArg = new (std::nothrow) ArrayList();
+               r = pArg->Construct();
+               pArg->Add(&fileName);
+       }
+
+       if (_moveCopySource == MOVE_COPY_SOURCE_TOP_MOST)
+       {
+               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ROOT_DIRECTORY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT, SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY), null);
+       }
+       else
+       {
+               r = pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SUB_DIRECTORY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT, SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY), pArg);
+       }
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+       return r;
+}
diff --git a/src/MfSubBaseSelectionForm.cpp b/src/MfSubBaseSelectionForm.cpp
new file mode 100644 (file)
index 0000000..1e02d97
--- /dev/null
@@ -0,0 +1,684 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSubBaseSelectionForm.cpp
+ * @brief: This file contains implementation of SubBaseSelection class, which acts as a view for traversing SubDirectories
+ * in the AppControl.
+ */
+
+#include "MfMyFilesApp.h"
+#include "MfSceneRegister.h"
+#include "MfSubBaseSelectionForm.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::Io;
+using namespace Tizen::Locales;
+using namespace Tizen::Media;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+SubBaseSelection::SubBaseSelection(void)
+: _pFilenames(null)
+, _pFooter(null)
+, _pAttach(null)
+, _pCancel(null)
+, _pCreateFolder(null)
+, _pExport(null)
+, _pImport(null)
+, _pHeader(null)
+, _pLabelNumberOfItems(null)
+, _pListView(null)
+, _pAudioPause(null)
+, _pAudioPlay(null)
+, _pAudioPlayPressed(null)
+, _pDummyImage(null)
+, _pFolderBitmap(null)
+, _pAudioPlayer(null)
+, _pFileManager(null)
+, _pFolderEntryPM(null)
+, _pThumbnailManager(null)
+{
+       //,_listAnnexStyle(null)
+       _selectionMode = SELECTION_MODE_MULTIPLE;
+       _storedSortStyle = SORT_BY_TYPE_DATE_RECENT;
+       _storePreviousIndex = -1;
+       _currentViewStyle = APPCONTROL_VIEW_DEFAULT;
+       _currentFileType = FILE_TYPE_ALL;
+       _previousAudioSelected = -1;
+       _annexStyle = ANNEX_STYLE_NORMAL;
+       _storageType = MEMORY_TYPE_PHONE;
+       _currentAudioPlayIndex = -1;
+       __defaultListViewBounds = Rectangle(0,0,0,0);
+}
+
+SubBaseSelection::~SubBaseSelection(void)
+{
+       if (_pCancel != null)
+       {
+               delete _pCancel;
+       }
+
+       if (_pAttach != null)
+       {
+               delete _pAttach;
+       }
+
+       if (_pImport != null)
+       {
+               delete _pImport;
+       }
+
+       if (_pExport != null)
+       {
+               delete _pExport;
+       }
+
+       if (_pCreateFolder != null)
+       {
+               delete _pCreateFolder;
+       }
+
+       if (_pAudioPlayer != null)
+       {
+               delete _pAudioPlayer;
+       }
+
+       if (_pFolderEntryPM != null)
+       {
+               delete _pFolderEntryPM;
+       }
+
+       if (_pAudioPlay != null)
+       {
+               delete _pAudioPlay;
+       }
+
+       if (_pAudioPause != null)
+       {
+               delete _pAudioPause;
+       }
+
+       if (_pAudioPlayPressed != null)
+       {
+               delete _pAudioPlayPressed;
+       }
+
+       if (_pFolderBitmap != null)
+       {
+               delete _pFolderBitmap;
+       }
+
+       if (_pDummyImage != null)
+       {
+               delete _pDummyImage;
+       }
+}
+
+SubBaseSelection&
+SubBaseSelection::operator =(const SubBaseSelection& pSubBaseSelection)
+{
+       return *this;
+}
+
+SubBaseSelection::SubBaseSelection(const SubBaseSelection& pSubBaseSelection)
+{
+       //Do Nothing
+}
+
+void
+SubBaseSelection::OnPlayerOpened(result r)
+{
+       //empty implementation
+}
+
+void
+SubBaseSelection::OnPlayerEndOfClip(void)
+{
+       //empty implementation
+}
+
+void
+SubBaseSelection::OnPlayerBuffering(int percent)
+{
+       //empty implementation
+}
+
+void
+SubBaseSelection::OnPlayerErrorOccurred(PlayerErrorReason r)
+{
+       //empty implementation
+}
+
+void
+SubBaseSelection::OnPlayerInterrupted(void)
+{
+       //empty implementation
+}
+
+void
+SubBaseSelection::OnPlayerReleased(void)
+{
+       //empty implementation
+}
+
+void
+SubBaseSelection::OnPlayerSeekCompleted(result r)
+{
+       //empty implementation
+}
+
+Tizen::Ui::Controls::ListItemBase*
+SubBaseSelection::CreateItem(int index, int itemWidth)
+{
+       AppLogDebug("Entry");
+       CustomItem* pCustomItem = null;
+       pCustomItem = CreateDefaultContentItem(index, itemWidth);
+       return pCustomItem;
+}
+
+bool
+SubBaseSelection::DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth)
+{
+       if (pItem != null)
+       {
+               delete pItem;
+               pItem = null;
+       }
+
+       return true;
+}
+
+int
+SubBaseSelection::GetItemCount(void)
+{
+       AppLogDebug("Entry");
+       int itemCount = 0;
+
+       if (_pFilenames != null)
+       {
+               AppResource* pAppResource = null;
+               String selectFiles;
+
+               pAppResource = Application::GetInstance()->GetAppResource();
+               TryCatch(pAppResource != null, , "Resource manager not found!");
+
+               pAppResource->GetString(L"IDS_SELECT_FILES", selectFiles);
+
+               if (_pFilenames->GetCount() == 0)
+               {
+                       if (_pLabelNumberOfItems->GetShowState() == true)
+                       {
+                               _pLabelNumberOfItems->SetShowState(false);
+                               _pLabelNumberOfItems->Draw();
+
+                               if (_selectionMode == SELECTION_MODE_MULTIPLE)
+                               {
+                                       _pListView->SetSize(__defaultListViewBounds.width, __defaultListViewBounds.height);
+                                       _pListView->Invalidate(true);
+                               }
+                       }
+               }
+               else
+               {
+                       if (_pLabelNumberOfItems->GetShowState() == false && _selectionMode != SELECTION_MODE_SINGE && _currentViewStyle == APPCONTROL_VIEW_DEFAULT)
+                       {
+                               _pLabelNumberOfItems->SetShowState(true);
+                       }
+
+                       if (_selectionMode == SELECTION_MODE_MULTIPLE)
+                       {
+                               _pListView->SetSize(__defaultListViewBounds.width, __defaultListViewBounds.height - _pLabelNumberOfItems->GetHeight());
+                               _pListView->Invalidate(true);
+                       }
+                       _itemSelectedCount.Clear();
+                       _itemSelectedCount.Append(selectFiles);
+                       _pLabelNumberOfItems->SetText(_itemSelectedCount);
+                       _pLabelNumberOfItems->Invalidate(true);
+               }
+               AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+               itemCount = _pFilenames->GetCount();
+       }
+       else
+       {
+               itemCount = 0;
+       }
+       return itemCount;
+       CATCH:
+       AppLogDebug("Failed to get count");
+       return 0;
+}
+
+ContentListItem*
+SubBaseSelection::CreateDefaultContentItem(int index, int itemWidth)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       Font font;
+       String filename;
+       String folderIconPath;
+       String imageIconPath;
+       String fontName;
+       String searchedString;
+       PlayerState audioPlayerStatus;
+       ContentType contentType = CONTENT_TYPE_UNKNOWN;
+
+       ContentListItem* pCustomItem = null;
+
+       Dimension thumbnailDimension(W_LISTVIEW_ITEM_BITMAP, H_LISTVIEW_ITEM_BITMAP);
+       Dimension textDimension(itemWidth - W_LISTVIEW_ITEM_BITMAP, H_ITEM_LISTVIEW);
+       AppResource* pAppResource = null;
+       DirectoryEntry* pFileDetails = null;
+
+       int w_Title = 0;
+
+       w_Title = itemWidth - ((W_LISTVIEW_ITEM_BITMAP * 4) + (4 * X_LISTVIEW));
+       TryCatch(_pFilenames != null, , "Filename list if empty!");
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Resource manager not found!");
+
+       pCustomItem = new (std::nothrow) ContentListItem(itemWidth, H_ITEM_LISTVIEW);
+       TryCatch(pCustomItem != null, , "Failed to alloated customitem");
+
+       pFileDetails = static_cast< DirectoryEntry* >(_pFilenames->GetAt(index));
+       if (pFileDetails != null)
+       {
+               filename = pFileDetails->GetFileName();
+
+
+               if (_pThumbnailManager != null)
+               {
+                       if (pFileDetails->IsDirectory())
+                       {
+                               pCustomItem->SetThumbnail(_pFolderBitmap);
+                               _annexStyle = ANNEX_STYLE_NORMAL;
+                               pCustomItem->SetListAnnexStyle(_annexStyle);
+                       }
+                       else
+                       {
+                               if (pFileDetails->GetBitmap() == null)
+                               {
+                                       pCustomItem->SetThumbnail(_pDummyImage);
+                                       //r = _pFolderEntryPM->InitThumbnailManager(index);
+                               }
+                               else
+                               {
+                                       pCustomItem->SetThumbnail(pFileDetails->GetBitmap());
+                               }
+
+                               if (_selectionMode == SELECTION_MODE_SINGE)
+                               {
+                                       _annexStyle = ANNEX_STYLE_RADIO;
+                                       pCustomItem->SetListAnnexStyle(_annexStyle);
+                               }
+                               else if (_selectionMode == SELECTION_MODE_MULTIPLE)
+                               {
+                                       _annexStyle = ANNEX_STYLE_MARK;
+                                       pCustomItem->SetListAnnexStyle(_annexStyle);
+                               }
+                               else if (_selectionMode == SELECTION_MODE_NONE)
+                               {
+                                       _annexStyle = ANNEX_STYLE_NORMAL;
+                                       pCustomItem->SetListAnnexStyle(_annexStyle);
+                               }
+
+                               contentType = ContentManagerUtil::CheckContentType(pFileDetails->GetFullFilePath());
+
+                               if (contentType == CONTENT_TYPE_AUDIO)
+                               {
+                                       if (_pAudioPlayer != null)
+                                       {
+                                               audioPlayerStatus = _pAudioPlayer->GetState();
+
+                                               if (audioPlayerStatus == PLAYER_STATE_CLOSED)
+                                               {
+                                                       pCustomItem->SetAudioBitmap(_pAudioPlay, null);
+                                               }
+
+                                               if (_currentAudioPlayIndex == index)
+                                               {
+                                                       if (audioPlayerStatus == PLAYER_STATE_PLAYING)
+                                                       {
+                                                               pCustomItem->SetAudioBitmap(null, _pAudioPause);
+                                                       }
+                                                       else if (audioPlayerStatus == PLAYER_STATE_PAUSED || audioPlayerStatus == PLAYER_STATE_ENDOFCLIP)
+                                                       {
+                                                               pCustomItem->SetAudioBitmap(_pAudioPlay, null);
+                                                       }
+                                               }
+                                               else
+                                               {
+                                                       pCustomItem->SetAudioBitmap(_pAudioPlay, null);
+                                               }
+                                       }
+                                       else
+                                       {
+                                               pCustomItem->SetAudioBitmap(_pAudioPlay, null);
+                                       }
+                               }
+                       }
+               }
+       }
+
+       if (!filename.IsEmpty())
+       {
+               pCustomItem->SetTitle(filename, searchedString);
+       }
+       pCustomItem->MakeAppControlFormListItem();
+
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+
+       return pCustomItem;
+
+       CATCH:
+       //Free EnrichedText
+       if (_pAudioPlay != null)
+       {
+               delete _pAudioPlay;
+               _pAudioPlay = null;
+       }
+
+       if (_pAudioPause != null)
+       {
+               delete _pAudioPause;
+               _pAudioPause = null;
+       }
+
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return null;
+}
+
+void
+SubBaseSelection::OnThumbnailReceived(ThumbRequest* pThumbReq)
+{
+       result res = E_SUCCESS;
+       AppLogDebug("Enter");
+
+       if (_pFolderEntryPM)
+       {
+               if (pThumbReq != null)
+               {
+                       if (pThumbReq->GetCurrentSourceForm() != _pFolderEntryPM->GetSourceForm())
+                       {
+                               if (pThumbReq->pBitmap != null)
+                               {
+                                       AppLogDebug("This Bitmap is not requested from same form");
+                                       delete pThumbReq->pBitmap;
+                               }
+                               return;
+                       }
+               }
+
+               if (pThumbReq)
+               {
+                       if (pThumbReq->iRquestId < _pFilenames->GetCount())
+                       {
+
+                               _pFolderEntryPM->OnThumbnailResponseReceived(pThumbReq->pBitmap, pThumbReq->iRquestId);
+
+                               if (_pListView && _pListView->IsVisible())
+                               {
+                                       res = _pListView->RefreshList(pThumbReq->iRquestId, LIST_REFRESH_TYPE_ITEM_MODIFY);
+                               }
+                       }
+               }
+               else
+               {
+                       _pFolderEntryPM->OnThumbnailResponseFailed();
+               }
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(res));
+       return;
+}
+
+void
+SubBaseSelection::OnListViewItemStateChangedNotify(ViewType viewType)
+{
+       //empty Implementation
+}
+
+void
+SubBaseSelection::InitializePlayer(void)
+{
+       _pAudioPlayer = new (std::nothrow) Player();
+
+       if (_pAudioPlayer != null)
+       {
+               _pAudioPlayer->Construct(*this);
+       }
+}
+
+void
+SubBaseSelection::LoadMusicPlayer(const Tizen::Base::String& mediaFilepath, Tizen::Media::PlayerState PlayerCurrentState)
+{
+       result r = E_SUCCESS;
+
+       r = _pAudioPlayer->OpenFile(mediaFilepath, false);
+       r = _pAudioPlayer->Play();
+       r = _pAudioPlayer->SetLooping(false);
+       r = _pAudioPlayer->SetVolume(100);
+
+       AppLogDebug("Exit: %s", GetErrorMessage(r));
+}
+
+result
+SubBaseSelection::InitializeAppRegistry(void)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       int previousSortValue = 0;
+       AppRegistry* pAppRegistry = null;
+       String sortbyKeyName(L"SortBy");
+       SortByType sortStyle = SORT_BY_TYPE_DATE_RECENT;
+
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+       r = pAppRegistry->Add(sortbyKeyName, sortStyle);
+
+       if (r == E_SUCCESS)
+       {
+               r = pAppRegistry->Save();
+       }
+       else if (r == E_KEY_ALREADY_EXIST)
+       {
+               pAppRegistry->Get(sortbyKeyName, previousSortValue);
+               _storedSortStyle = static_cast< SortByType >(previousSortValue);
+               if (_storedSortStyle != null)
+               {
+                       pAppRegistry->Set(sortbyKeyName, sortStyle);
+                       r = pAppRegistry->Save();
+               }
+       }
+
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return r;
+}
+
+result
+SubBaseSelection::CreateLabelControl(void)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       Color backgroundColor(215, 225, 232);
+       Color textColor(Color(164, 164, 164));
+
+       _pLabelNumberOfItems = new (std::nothrow) Label();
+       TryCatch(_pLabelNumberOfItems != null, , "applog: allocation failed for __pLabelNumberOfItems");
+
+       _pLabelNumberOfItems->Construct(Rectangle(0, GetClientAreaBounds().height - 40, GetClientAreaBounds().width, 40), _itemSelectedCount);
+       _pLabelNumberOfItems->SetBackgroundColor(backgroundColor);
+       _pLabelNumberOfItems->SetTextColor(textColor);
+       _pLabelNumberOfItems->SetTextHorizontalAlignment(ALIGNMENT_CENTER);
+       _pLabelNumberOfItems->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
+       _pLabelNumberOfItems->SetTextConfig(ID_FONT_SIZE_26, LABEL_TEXT_STYLE_NORMAL);
+
+       if (_selectionMode == SELECTION_MODE_SINGE)
+       {
+               _pLabelNumberOfItems->SetShowState(false);
+       }
+       else
+       {
+               if (_currentViewStyle != APPCONTROL_VIEW_IMPORT)
+               {
+                       _pLabelNumberOfItems->SetShowState(true);
+               }
+       }
+
+       r = AddControl(*_pLabelNumberOfItems);
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return r;
+       CATCH:
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       r = GetLastResult();
+       return r;
+}
+
+
+void
+SubBaseSelection::SubBaseOnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+{
+       AppLogDebug("Entry");
+       String mediaPath;
+       String storagePath;
+
+       switch (actionId)
+       {
+       case IDA_BTN_ATTACH:
+       {
+               UiApp* pApp = UiApp::GetInstance();
+               ((MyFilesApp*) Application::GetInstance())->SetAppControlSelected();
+               ((MyFilesApp*) Application::GetInstance())->AddAppControlResult(APP_CTRL_RESULT_SUCCEEDED);
+
+               if (pApp != null)
+               {
+                       pApp->Terminate();
+               }
+       }
+       break;
+
+       case IDA_BTN_CANCEL:
+       {
+               MyFilesApp* pApp = (MyFilesApp*) Application::GetInstance();
+               ((MyFilesApp*) Application::GetInstance())->SetAppControlSelected();
+               ((MyFilesApp*) Application::GetInstance())->AddAppControlResult(APP_CTRL_RESULT_CANCELED);
+               if (pApp != null)
+               {
+                       pApp->Terminate();
+               }
+       }
+       break;
+
+       case IDA_BTN_IMPORT:
+       {
+               UiApp* pApp = UiApp::GetInstance();
+
+               ((MyFilesApp*) Application::GetInstance())->SetAppControlSelected();
+               ((MyFilesApp*) Application::GetInstance())->AddAppControlResult(APP_CTRL_RESULT_SUCCEEDED);
+
+               if (pApp != null)
+               {
+                       pApp->Terminate();
+               }
+       }
+       break;
+
+       case IDA_BTN_EXPORT:
+       {
+
+       }
+       break;
+
+       case IDA_BTN_CREATE_FOLDER:
+       {
+               ArrayList* pArg = null;
+               Integer* pSourceSelected = null;
+               SceneManager* pSceneManager = null;
+
+               pSceneManager = SceneManager::GetInstance();
+
+               pArg = new (std::nothrow) ArrayList();
+               pArg->Construct();
+               pSourceSelected = new (std::nothrow) Integer(SELECT_CREATE_FOLDER);
+               pArg->Add(pSourceSelected);
+
+               _rootMediaPath = FolderNavigationPresentationModel::GetCurrentPath();
+               pArg->Add(&_rootMediaPath);
+
+               if (pSceneManager != null)
+               {
+                       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_CREATE_FOLDER_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pArg);
+               }
+       }
+       break;
+
+       default:
+               break;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+void
+SubBaseSelection::ClearSelectedItems(Tizen::Ui::Controls::ListView& listView)
+{
+       ArrayList* pCheckedKeys = null;
+       int itemCount = 0;
+       if (_pFileManager != null)
+       {
+               pCheckedKeys = static_cast< ArrayList* >(_pFileManager->GetCheckedList()->GetKeysN());
+               AppLogDebug("Get count is %d",pCheckedKeys->GetCount());
+               for (itemCount=0; itemCount<pCheckedKeys->GetCount();itemCount++)
+               {
+                       Integer* currentIndex = static_cast<Integer*>(pCheckedKeys->GetAt(itemCount));
+                       listView.SetItemChecked(currentIndex->ToInt(), false);
+               }
+               _pFileManager->ClearCheckedList();
+       }
+}
+
+void
+SubBaseSelection::ResetFooter(void)
+{
+       AppResource* pAppResource = null;
+       String selectFiles;
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       pAppResource->GetString(L"IDS_SELECT_FILES", selectFiles);
+
+       if (_pListView != null)
+       {
+               ClearSelectedItems(*_pListView);
+               _pFooter->SetItemEnabled(0,false);
+               _pFooter->Invalidate(true);
+               _itemSelectedCount.Clear();
+               _itemSelectedCount.Append(selectFiles);
+               _pLabelNumberOfItems->SetText(_itemSelectedCount);
+               _pLabelNumberOfItems->Invalidate(true);
+       }
+}
+
+void
+SubBaseSelection::OnPlayerAudioFocusChanged (void)
+{
+}
+
diff --git a/src/MfSubFolderFileListForm.cpp b/src/MfSubFolderFileListForm.cpp
new file mode 100644 (file)
index 0000000..8b6a591
--- /dev/null
@@ -0,0 +1,1390 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSubFolderFileListForm.cpp
+ * @brief: This file contains the implementation of SubFolderFileListForm class, which acts as a media explorer displaying a list of all the files in the sub directories of the root directory opt/Media/
+ * and defines a set of operations that can be done with the files like edit, view etc.
+ */
+
+#include "MfSubFolderFileListForm.h"
+#include "MfSearchForm.h"
+
+using namespace Tizen::App;
+//using namespace Tizen::App::Package;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Graphics;
+using namespace Tizen::Io;
+using namespace Tizen::Locales;
+using namespace Tizen::Media;
+//using namespace Tizen::Shell;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+SubFolderFileListForm::SubFolderFileListForm(void)
+: __pHomeButton(null)
+, __pUpButton(null)
+, __pHeader(null)
+, __pLabelDisplayPath(null)
+{
+       __counter = 0;
+}
+
+SubFolderFileListForm::~SubFolderFileListForm(void)
+{
+       if (__pHomeButton != null)
+       {
+               delete __pHomeButton;
+       }
+
+       if (__pUpButton != null)
+       {
+               delete __pUpButton;
+       }
+
+}
+
+SubFolderFileListForm&
+SubFolderFileListForm::operator =(const SubFolderFileListForm& pSubFolderFileListForm)
+{
+       return *this;
+}
+
+SubFolderFileListForm::SubFolderFileListForm(const SubFolderFileListForm& pSubFolderFileListForm)
+{
+       __pHomeButton = pSubFolderFileListForm.__pHomeButton;
+       __pUpButton = pSubFolderFileListForm.__pUpButton;
+       __pHeader = pSubFolderFileListForm.__pHeader;
+       __pLabelDisplayPath = pSubFolderFileListForm.__pLabelDisplayPath;
+}
+
+bool
+SubFolderFileListForm::Initialize(void)
+{
+       Form::Construct(L"IDL_SUB_DIRECTORY");
+       return true;
+}
+
+result
+SubFolderFileListForm::OnInitializing(void)
+{
+       AppLogDebug("SubFolderFileListForm::Initializing");
+       result r = E_SUCCESS;
+       __counter = 0;
+       int sourceForm = THUMBNAIL_PROVIDER_SOURCEID_SUB_FOLDER_FILE_LIST_FORM;
+       CreateItemSource createitemsource = CREATE_ITEM_SOURCE_SUB_FOLDER_FILE_LIST;
+
+       String path;
+       String ThumbnailProviderPath;
+       String rootParentPath;
+       String displayPath;
+       String buttonHome;
+       String buttonUp;
+       String extensionVisibility;
+
+       SceneId currentSceneId;
+
+       AppResource* pAppResource = null;
+
+       String  SubDirectorySceneOne(L"ScnSubDirectoryForm"), SubDirecorySceneTwo(L"ScnSubDirectoryForm1");
+
+       _renameIndex = 0;
+       _renameOrCreate = SELECT_CREATE_FOLDER;
+
+#if 0
+       DataBindingContext* pContext = null;
+       Bitmap* pHomeBitmap = null;
+       Bitmap* pUpBitmap = null;
+#endif
+
+       Color formBgColor = GetBackgroundColor();
+
+       ((MyFilesApp*) Application::GetInstance())->SetCurrentView(this);
+
+       pAppResource = UiApp::App::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Resource manager not found!");
+
+       //Set FormBackEvent Listener
+       SetFormBackEventListener(this);
+
+       //Set Orientation Event Listener
+       //      AddOrientationEventListener(*this);
+       //      SetOrientation(ORIENTATION_AUTOMATIC_FOUR_DIRECTION);
+
+       //Get the label control from IDL_SUB_DIRECTORY
+       __pLabelDisplayPath = static_cast< Label* >(GetControl("IDC_LABEL_DISPLAY_PATH"));
+       TryCatch(__pLabelDisplayPath != null, , "Label is Null");
+       __pLabelDisplayPath->SetBounds(0, 0, GetClientAreaBounds().width, H_DISPLAY_PATH_LABEL);
+
+       pAppResource->GetString(L"IDS_MF_BUTTON_HOME", buttonHome);
+       pAppResource->GetString(L"IDS_MF_TAB_UP", buttonUp);
+       pAppResource->GetString(L"IDS_MF_OPT_SHOW_FILE_EXTENSION", _showExtension);
+       pAppResource->GetString(L"IDS_MF_TAB_PHONE", displayPath);
+       pAppResource->GetString(L"IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB", _hideExtension);
+       extensionVisibility = fileExtenstionKeyName;
+       displayPath.Append("/");
+
+       __pHeader = GetHeader();
+
+       if (__pHeader != null)
+       {
+               __pHomeButton = new (std::nothrow) ButtonItem();
+               __pHomeButton->Construct(BUTTON_ITEM_STYLE_TEXT, IDA_BTN_HOME);
+               __pHomeButton->SetText(buttonHome);
+
+               __pUpButton = new (std::nothrow) ButtonItem();
+               __pUpButton->Construct(BUTTON_ITEM_STYLE_TEXT, IDA_BTN_UP);
+               __pUpButton->SetText(buttonUp);
+
+               __pHeader->SetButton(BUTTON_POSITION_LEFT, *__pHomeButton);
+               __pHeader->SetButton(BUTTON_POSITION_RIGHT, *__pUpButton);
+               __pHeader->AddActionEventListener(*this);
+       }
+
+       _extensionKeyName.Append(extensionVisibility);
+
+       //Pointer for FileListPresentationModel object
+       _pFolderEntryPM = new (std::nothrow) FolderEntryPresentationModel();
+       TryCatch(_pFolderEntryPM != null, , "Content Manager not found!");
+       _pFolderEntryPM->Construct();
+
+       currentSceneId = SceneManager::GetInstance()->GetCurrentSceneId();
+       AppLogDebug("Current Scene Id : %S", currentSceneId.GetPointer());
+
+       /*if(currentSceneId == CREATE_ITEM_SOURCE_SUB_FOLDER_FILE_LIST )
+       {
+               createitemsource = CREATE_ITEM_SOURCE_SUB_FOLDER_FILE_LIST_TWO;
+       }
+       else
+       {
+               */createitemsource = CREATE_ITEM_SOURCE_SUB_FOLDER_FILE_LIST;
+       //}
+
+       _pFolderEntryPM->SetSourceForm(createitemsource);
+
+       _pFileManager = FolderEntryEditorPresentationModel::GetInstance();
+       TryCatch(_pFileManager != null, , "File Manager not found!");
+
+       //String that contains the path of the file to be displayed on the ListView
+       __displayPath = displayPath;
+
+       path = BasePresentationModel::GetMediaPath();
+       __rootMediaPath.Append(path);
+
+       //Initialize the itemprovider class for the listview inside the popup
+       if (_pCustomListViewForPopup == null)
+       {
+               _pCustomListViewForPopup = new (std::nothrow) CustomListViewForPopup();
+       }
+       TryCatch(_pCustomListViewForPopup != null, , "MfMyFilesApp::ListView For Popup not created!");
+
+       _pCustomListViewForPopup->SetEventListener(this);
+
+       _pBaseItemProvider = new (std::nothrow) BaseItemProvider();
+       TryCatch(_pBaseItemProvider != null, , "Failed to allocate base itemprovider");
+       _pBaseItemProvider->Construct();
+       _pBaseItemProvider->SetSourceForm(createitemsource);
+       _pBaseItemProvider->SetFolderEntryProvider(this);
+       _pBaseItemProvider->SetFooterItemStateChangeListener(this);
+
+       //Get the ListView Control from IDL_SUB_DIRECTORY and set the ItemProvider and Listener
+       _pListView = static_cast< ListView* >(GetControl("IDC_LISTVIEW"));
+       TryCatch(_pListView != null, , "__pListView is Null");
+       _pListView->AddListViewItemEventListener(*this);
+       _pListView->SetItemProvider(*_pBaseItemProvider);
+       _pListView->SetShowState(false);
+
+       _pFooter = GetFooter();
+
+       if (_pThumbnailItemProvider == null)
+       {
+               _pThumbnailItemProvider = new (std::nothrow) ThumbnailItemProviderAndListener(__rootMediaPath, sourceForm);
+               _pThumbnailItemProvider->SetFolderEntryProvider(this);
+       }
+       TryCatch(_pThumbnailItemProvider != null, , "Failed to allocate Memory to __pSubFolderThumbnailsProvider");
+
+       _pThumbnailItemProvider->SetFooterItemStateChangeListener(this);
+
+       _pIconListView = static_cast< IconListView* >(GetControl("IDC_ICONLISTVIEW_SUB_DIRECTORY_THUMBNAILS"));
+       TryCatch(_pIconListView != null, , "__pIconListviewSubThumbnails is Null");
+       _pIconListView->AddIconListViewItemEventListener(*_pThumbnailItemProvider);
+       _pIconListView->SetItemProvider(*_pThumbnailItemProvider);
+       _pIconListView->SetShowState(false);
+
+       //      _pPackageManager = PackageManager::GetInstance();
+       //      _pPackageManager->AddPackageInstallationEventListener(*this);
+
+#if 0
+       pContext = GetDataBindingContextN();
+       TryCatch(pContext != null, , "Failed to Fetch the DataBinding Context");
+
+       pContext->Bind(L"ID_DISPLAY_PATH", L"IDC_LABEL_DISPLAY_PATH", L"text", __displayPath, DATA_BINDING_DATA_TYPE_STRING, DATA_BINDING_FLOW_TWO_WAY, DATA_BINDING_TRIGGER_EXPLICIT, null, null, null);
+
+       delete pContext;
+#endif
+
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+       return r;
+
+CATCH:
+       if (__pHomeButton != null)
+       {
+               delete __pHomeButton;
+               __pHomeButton = null;
+       }
+
+       if (__pUpButton != null)
+       {
+               delete __pUpButton;
+               __pUpButton = null;
+       }
+
+       if (_pCustomListViewForPopup != null)
+       {
+               delete _pCustomListViewForPopup;
+               _pCustomListViewForPopup = null;
+       }
+       return r;
+}
+
+result
+SubFolderFileListForm::OnTerminating(void)
+{
+       result r = E_SUCCESS;
+       //((MfMyFilesApp*)Application::GetInstance())->SetCurrentView(null);
+
+       _pFooter = GetFooter();
+       if (_pFooter != null)
+       {
+               _pFooter->RemoveAllButtons();
+               _pFooter->RemoveAllItems();
+       }
+
+       __pHeader = GetHeader();
+       if (__pHeader != null)
+       {
+               __pHeader->RemoveAllButtons();
+               __pHeader->RemoveAllItems();
+       }
+
+       return r;
+}
+
+void
+SubFolderFileListForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
+{
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+       result r = E_SUCCESS;
+       String parentPath;
+       String delim(L"/");
+       String token;
+       String displayPath;
+#if 0
+       AppLogDebug("Scene History");
+       bool searchHistory = CheckSearchHistory();
+       String currentPath = FolderNavigationPresentationModel::GetCurrentPath();
+       String parentPath;
+
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+#endif
+       if (CheckSearchHistory() == true)
+       {
+#if 0
+               parentPath = FolderNavigationPresentationModel::GetSearchPreviousPath();
+               AppLogDebug("ParentPath is %S", parentPath.GetPointer());
+               FolderNavigationPresentationModel::SetCurrentFilePath(parentPath);
+               AppLogDebug("__previousSceneName is %S", __previousSceneName.GetPointer());
+
+               //pSceneManager->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_RIGHT), null);
+
+
+               if (parentPath == currentPath)
+               {
+                       pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_SEARCH_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT), null);
+               }
+               else
+               {
+                       if (__previousSceneName == IDSCN_SUB_DIRECTORY_FORM1 || __previousSceneName == IDSCN_SUB_DIRECTORY_FORM)
+                       {
+                               String searchPath = FolderNavigationPresentationModel::GetCurrentPath();
+
+                               FolderNavigationPresentationModel::SetSearchPreviousPath(searchPath);
+                               if (SceneManager::GetInstance()->IsSceneAlive(__previousSceneName))
+                               {
+                                       r = pSceneManager->GoForward(ForwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_RIGHT), null);
+                                       AppLogDebug("result is %s", GetErrorMessage(r));
+                               }
+                               else
+                               {
+                                       pSceneManager->GoForward(ForwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_RIGHT), null);
+                                       AppLogDebug("result is %s", GetErrorMessage(r));
+                               }
+                       }
+                       else
+                       {
+                               r = pSceneManager->GoBackward(BackwardSceneTransition(__previousSceneName, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT), null);
+                               AppLogDebug("result is %s", GetErrorMessage(r));
+                       }
+               }
+#endif
+               pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_SEARCH_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT), null);
+       }
+       else
+       {
+               //ShowParentDirectoryView();
+               parentPath = FolderNavigationPresentationModel::GetParentPath();
+
+               if (parentPath == BasePresentationModel::GetMediaPath() || parentPath == BasePresentationModel::GetSdCardPath())
+               {
+                       FolderNavigationPresentationModel::SetCurrentFilePath(parentPath);
+                       r = ShowHomeView();
+               }
+               else
+               {
+                       FolderNavigationPresentationModel::SetCurrentFilePath(parentPath);
+                       r = pSceneManager->GoForward(ForwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_RIGHT), null);
+               }
+       }
+}
+
+void
+SubFolderFileListForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+               const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
+{
+       AppLogDebug("OnSceneActivatedN ENTER");
+
+       int listViewDisplayType = VIEW_TYPE_AS_NORMAL_LIST;
+
+       result r = E_SUCCESS;
+       String parentPath;
+       String viewStyleKeyName(L"ListDisplayType");
+
+       String phone;
+       String sdCard;
+       String external;
+
+       String received_Filepath;
+       String* pReceived_Filename = null;
+       int receivedStorageType = null;
+
+       AppRegistry* pAppRegistry = null;
+       AppResource* pAppResource = null;
+       String check;
+       pAppResource = UiApp::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Failed to fetch AppResource");
+
+       //Create the FooterControls of IDL_SUB_DIRECTORY
+       r = CreateFooterControls();
+       TryCatch(r == E_SUCCESS, , "Failed to create footer controls");
+
+       ((MyFilesApp*) Application::GetInstance())->SetCurrentView(this);
+
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+       pAppResource->GetString(L"IDS_MF_TAB_PHONE", phone);
+       pAppResource->GetString(L"IDS_MF_TAB_MEMORY_CARD", sdCard);
+       pAppResource->GetString(L"IDS_MF_TAB_EXTERNAL_STORAGE", external);
+
+       phone.Append(L"/");
+       sdCard.Append(L"/");
+       external.Append(L"/");
+
+       SceneManager::GetInstance()->AddSceneManagerEventListener(*this);
+
+       if (_pListView != null && _pListView->IsVisible() ==  true)
+       {
+               _pListView->SetSize(GetClientAreaBounds().width, GetClientAreaBounds().height - __pLabelDisplayPath->GetHeight());
+       }
+       if (_pIconListView != null && _pIconListView->IsVisible() ==  true)
+       {
+               _pIconListView->SetSize(GetClientAreaBounds().width, GetClientAreaBounds().height - __pLabelDisplayPath->GetHeight());
+       }
+
+       if (_pFileManager != null)
+       {
+               _pFileManager->SetFileManagingListener(this);
+       }
+
+       if (previousSceneId == IDSCN_CREATE_FOLDER_FORM)
+       {
+               if (_renameOrCreate == SELECT_RENAME)
+               {
+                       //_pListView->RefreshList(_renameIndex, LIST_REFRESH_TYPE_ITEM_MODIFY);
+                       return;
+               }
+       }
+
+       receivedStorageType = FolderNavigationPresentationModel::GetStorageType();
+
+       if (__pLabelDisplayPath != null)
+       {
+               switch (receivedStorageType)
+               {
+               case MEMORY_TYPE_PHONE:
+               {
+                       __displayPath = phone;
+                       _storageType = MEMORY_TYPE_PHONE;
+               }
+               break;
+
+               case MEMORY_TYPE_SD_CARD:
+               {
+                       __displayPath = sdCard;
+                       _storageType = MEMORY_TYPE_SD_CARD;
+               }
+               break;
+
+               case MEMORY_TYPE_EXTERNAL:
+               {
+                       __displayPath = external;
+                       _storageType = MEMORY_TYPE_EXTERNAL;
+               }
+               break;
+
+               default:
+               {
+               }
+               break;
+               }
+
+       }
+
+       r = pAppRegistry->Get(viewStyleKeyName, listViewDisplayType);
+       TryCatch(r == E_SUCCESS, , "Failed to get values from AppRegistry");
+
+       _flagViewAsStatus = listViewDisplayType;
+
+       if (_pMoreContextMenu != null)
+       {
+               _pMoreContextMenu->SetShowState(false);
+       }
+
+
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+#if 0
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_USB_CLIENT, *this);
+#endif
+
+
+       if (pArgs != null)
+       {
+               pReceived_Filename = static_cast< String* >(pArgs->GetAt(0));
+
+               received_Filepath = FolderNavigationPresentationModel::GetCurrentPath();
+               receivedStorageType = FolderNavigationPresentationModel::GetStorageType();
+
+               if (pReceived_Filename != null)
+               {
+                       check.Append(*pReceived_Filename);
+                       __pHeader = GetHeader();
+
+                       if (__pHeader != null)
+                       {
+                               __pHeader->SetTitleText(check);
+                               __pHeader->Invalidate(true);
+                       }
+               }
+
+               __rootMediaPath.Clear();
+               __rootMediaPath.Append(received_Filepath);
+
+               //Get the Directory Entries for the received Filepath.
+               if (_pFolderEntryPM != null)
+               {
+                       _pFolderEntryPM->SetFolderEntryPath(received_Filepath);
+                       _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+                       TryCatch(_pFilenames != null, , "Failed to allocate Memory to __pFilenames");
+               }
+               SetNextDisplayPath();
+       }
+       else
+       {
+               //Empty Arguments Received.
+
+               __rootMediaPath = FolderNavigationPresentationModel::GetCurrentPath();
+               parentPath.Append(__rootMediaPath);
+               SetNextDisplayPath();
+               SetHeaderTitleText(__rootMediaPath);
+
+               if (_pFolderEntryPM != null)
+               {
+                       _pFolderEntryPM->SetFolderEntryPath(parentPath);
+                       _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+                       TryCatch(_pFilenames != null, , "Failed to allocate Memory to Filenames ArrayList");
+               }
+       }
+
+       if (_pFilenames != null && _pFilenames->GetCount() == 0)
+       {
+               SetFooterVisibility(DISABLE_FOOTER_ITEM);
+       }
+       else
+       {
+               SetFooterVisibility(ENABLE_FOOTER_ITEM);
+       }
+
+       //_pFileListPM->SetFileEventListener(this);
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+
+
+       if (pArgs != null)
+       {
+               pArgs->RemoveAll(false);
+               delete pArgs;
+       }
+       return;
+
+       CATCH:
+       if (pArgs != null)
+       {
+               pArgs->RemoveAll(false);
+               delete pArgs;
+       }
+       return;
+}
+
+void
+SubFolderFileListForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+{
+       AppLogDebug("ENTER");
+
+       result r = E_SUCCESS;
+
+       switch (actionId)
+       {
+       case IDA_BTN_HOME:
+       {
+               //Navigate to the TopFolderFileListForm.
+               String homeRootPath;
+               homeRootPath.Append(__rootMediaPath);
+
+               while ((homeRootPath != BasePresentationModel::GetMediaPath()) && (homeRootPath != BasePresentationModel::GetSdCardPath()))
+               {
+                       FolderNavigationPresentationModel::SetCurrentFilePath(homeRootPath);
+                       homeRootPath.Clear();
+                       homeRootPath = FolderNavigationPresentationModel::GetParentPath();
+               }
+
+               FolderNavigationPresentationModel::SetCurrentFilePath(homeRootPath);
+               ShowHomeView();
+       }
+       break;
+
+       case IDA_BTN_UP:
+       {
+               bool searchHistory = CheckSearchHistory();
+               String previousPath;
+               //Navigate to the ParentForm.
+               if (searchHistory)
+               {
+                       __previousSceneName = SceneManager::GetInstance()->GetCurrentSceneId();
+                       AppLogDebug("__previousSceneName is %S", __previousSceneName.GetPointer());
+                       previousPath = FolderNavigationPresentationModel::GetCurrentPath();
+                       AppLogDebug("previousPath is %S", previousPath.GetPointer());
+                       FolderNavigationPresentationModel::SetSearchPreviousPath(previousPath);
+               }
+               ShowParentDirectoryView();
+       }
+       break;
+
+       case IDA_CONTEXT_MENU_HIDE_EXTENSION:
+       {
+               __rootMediaPath.Clear();
+               __rootMediaPath = FolderNavigationPresentationModel::GetCurrentPath();
+               HideFileExtension();
+       }
+
+       break;
+
+       case IDA_CONTEXT_MENU_SHOW_EXTENSION:
+       {
+               __rootMediaPath.Clear();
+               __rootMediaPath = FolderNavigationPresentationModel::GetCurrentPath();
+               ShowFileExtension();
+       }
+
+       break;
+
+       case IDA_INSTALL_APP:
+       {
+               HideInstallationConfirmationPopup();
+
+               ShowInstallationProgressPopup();
+
+               //              PackageId pkgId;
+               //              result r = _pPackageManager->InstallPackage(pkgId, _pathOfSelectedFile, this);
+
+               //              AppLogDebug("Package Installation:Error:%s", GetErrorMessage(r));
+       }
+       break;
+
+       case IDA_CANCEL_INSTALLATION:
+       {
+               HideInstallationConfirmationPopup();
+       }
+       break;
+
+       default:
+       {
+               SubBaseOnActionPerformed(source, actionId);
+       }
+       break;
+       }
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+}
+
+void
+SubFolderFileListForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+               const Tizen::Ui::Scenes::SceneId& nextSceneId)
+{
+       ((MyFilesApp*)Application::GetInstance())->SetCurrentView(null);
+       DeviceManager::RemoveAllDeviceEventListeners();
+       TryReturn(_pFolderEntryPM!=null, , "FolderEntryPresentationModel is NULL") ;
+       _pFolderEntryPM->StopThumbnailManager(true);
+}
+
+
+void
+SubFolderFileListForm::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
+{
+       //When state is changed, push the parent filepath to the stack and save the selected path as
+       //root path so that listview can be refreshed to this path the next time. If Up button is click in
+       //the mean time, refresh the root path to be pushed to the parent path (changed in ShowParentView())
+
+       AppLogDebug("ENTER");
+       String nextFilename;
+       String tempRootMediaPath;
+       String filePathToPush;
+       String searchPath;
+       bool searchHistory = false;
+       result r = E_FAILURE;
+       DirectoryEntry* pDirStr = null;
+
+       ArrayList* pArgs = new (std::nothrow) ArrayList();
+       pArgs->Construct();
+
+
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+       SceneId currentSceneId = pSceneManager->GetCurrentSceneId();
+
+       if (_pFilenames != null)
+       {
+               pDirStr = static_cast< DirectoryEntry* >(_pFilenames->GetAt(index));
+               if (pDirStr != null)
+               {
+                       //temprootmediapath gives the full file path of the selected item
+                       tempRootMediaPath = pDirStr->GetFullFilePath();
+
+                       if (pDirStr->IsDirectory())
+                       {
+                               //Append the name of the file to the existing path
+                               nextFilename = pDirStr->GetFileName();
+                               _currentFileName.Clear();
+                               _currentFileName = pDirStr->GetFileName();
+
+                               //tempRootMediaPath.Append(L"/");
+                               //Set the full file path as future parent filepath, changed when Up button is
+                               //clicked..
+                               if (__rootMediaPath != null)
+                               {
+                                       __rootMediaPath.Clear();
+                                       __rootMediaPath.Append(tempRootMediaPath);
+                               }
+                               FolderNavigationPresentationModel::SetCurrentFilePath(__rootMediaPath);
+
+                               pArgs->Add(&nextFilename);
+
+                               searchHistory = CheckSearchHistory();
+                               if (searchHistory)
+                               {
+                                       searchPath = FolderNavigationPresentationModel::GetParentPath();
+                                       FolderNavigationPresentationModel::SetSearchPreviousPath(searchPath);
+                               }
+
+                               pSceneManager->GoForward(ForwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pArgs);
+                       }
+                       else
+                       {
+                               _pathOfSelectedFile = tempRootMediaPath;
+                               //It's not a directory, Launch the AppControl.
+                               if (_pathOfSelectedFile.EndsWith(L".tpk"))
+                               {
+                                       ShowInstallationConfirmationPopup();
+                               }
+                               else
+                               {
+                                       CustomAppControl* pCustomAppControl = CustomAppControl::GetInstance();
+                                       if (pCustomAppControl != null)
+                                       {
+                                               __counter = index;
+
+                                               if (_pFileEventManager != null)
+                                               {
+                                                       delete _pFileEventManager;
+                                                       _pFileEventManager = null;
+
+                                               }
+                                               _pFileEventManager = new (std::nothrow)FileEventManager();
+                                               _pFileEventManager->Construct(*this);
+
+                                               r = _pFileEventManager->AddPath(_pathOfSelectedFile, FILE_EVENT_TYPE_MODIFY | FILE_EVENT_TYPE_DELETE );
+                                               AppLogDebug("OnFileEventOccured:%s", GetErrorMessage(r));
+
+                                               pCustomAppControl->SetAppControlListener(null);
+                                               AppControl* pAppControlInUse = pCustomAppControl->LaunchAppControl(_pathOfSelectedFile);
+                                               if (pAppControlInUse != null)
+                                                       CustomAppControl::SetAppControlInUse(pAppControlInUse);
+                                       }
+                               }
+                       }
+               }
+       }
+
+       return;
+
+}
+
+result
+SubFolderFileListForm::ShowHomeView(void)
+{
+       AppLogDebug("Enter");
+       SceneManager* pSceneManager = null;
+       result r = E_SUCCESS;
+       pSceneManager = SceneManager::GetInstance();
+       if (pSceneManager != null)
+       {
+               if (CheckSearchHistory())
+               {
+                       r = pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ROOT_DIRECTORY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT), null);
+                       TryCatch(r == E_SUCCESS, , "scene transition failed");
+               }
+               else
+               {
+                       /*String homeRootPath;
+                       homeRootPath.Append(__rootMediaPath);
+
+                       while ((homeRootPath != BasePresentationModel::GetMediaPath()) && (homeRootPath != BasePresentationModel::GetSdCardPath()))
+                       {
+                               FolderNavigationPresentationModel::SetCurrentFilePath(homeRootPath);
+                               homeRootPath.Clear();
+                               homeRootPath = FolderNavigationPresentationModel::GetParentPath();
+                       }
+
+                       FolderNavigationPresentationModel::SetCurrentFilePath(homeRootPath);
+                       AppLogDebug("Root Path is : %S", homeRootPath.GetPointer());*/
+
+                       r = pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_ROOT_DIRECTORY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT, SCENE_DESTROY_OPTION_DESTROY), null);
+                       TryCatch(r == E_SUCCESS, , "scene transition failed");
+               }
+               //pSceneManager->GoBackward(BackwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_RIGHT), null);
+       }
+
+       if (_pFolderEntryPM != null)
+       {
+               _pFolderEntryPM->InitThumbnailManager();
+       }
+
+       AppLogDebug("Exit");
+       return r;
+CATCH:
+       return r;
+}
+
+void
+SubFolderFileListForm::SetParentDisplayPath(void)
+{
+       //Sets the display path for the parent directory using the current path.
+
+       String dislayPath;
+       String delim(L"/");
+       String parentDisplayPath;
+       String token;
+#if 0
+       DataBindingContext* pContext = null;
+       pContext = GetDataBindingContextN();
+
+       if (pContext != null)
+       {
+               //Update binding on the source to fetch the current display path.
+               pContext->UpdateBinding(L"ID_DISPLAY_PATH", DATA_BINDING_DESTINATION_TYPE_SOURCE);
+       }
+#endif
+
+       StringTokenizer tokenizer(__displayPath, delim);
+
+       //Use a string tokenizer to get the filepath until it's the last token, break the loop when
+       //it is the last token
+       while (tokenizer.HasMoreTokens())
+       {
+               int tokenCount = tokenizer.GetTokenCount();
+
+               if (tokenCount != 1)
+               {
+                       tokenizer.GetNextToken(token);
+                       parentDisplayPath.Append(token);
+                       parentDisplayPath.Append(L"/");
+               }
+               else
+               {
+                       break;
+               }
+       }
+
+       //Set the display path to that of the generated filepath from the tokenizer
+       __displayPath = parentDisplayPath;
+
+       if (__pLabelDisplayPath != null)
+       {
+               __pLabelDisplayPath->SetText(__displayPath);
+               __pLabelDisplayPath->Invalidate(true);
+       }
+#if 0
+       if (pContext != null)
+       {
+               //Update Binding on the Target control to display the currently constructed path.
+               pContext->UpdateBinding(L"ID_DISPLAY_PATH", DATA_BINDING_DESTINATION_TYPE_TARGET);
+       }
+
+       if (pContext != null)
+       {
+               delete pContext;
+       }
+#endif
+}
+
+void
+SubFolderFileListForm::ShowParentDirectoryView(void)
+{
+       AppLogDebug("ENTER");
+       //Shows the files of the above/parent directory
+       CreateItemSource sourceForm = CREATE_ITEM_SOURCE_NONE;
+
+       result r = E_SUCCESS;
+
+       String displayPath;
+       String pPoppedPath;
+       String ParentPath;
+       String backUpCurrentPath;
+
+       backUpCurrentPath = FolderNavigationPresentationModel::GetCurrentPath();
+
+       if(backUpCurrentPath == BasePresentationModel::GetMediaPath() || backUpCurrentPath == BasePresentationModel::GetSdCardPath())
+       {
+               return;
+       }
+
+       displayPath = defaultPhoneBody;
+       displayPath.Append("/");
+
+       ParentPath = FolderNavigationPresentationModel::GetParentPath();
+
+       __rootMediaPath.Clear();
+       __rootMediaPath.Append(ParentPath);
+
+       FolderNavigationPresentationModel::SetCurrentFilePath(__rootMediaPath);
+
+       SetFooterVisibility(1);
+       if (ParentPath == BasePresentationModel::GetMediaPath() || ParentPath == BasePresentationModel::GetSdCardPath())
+       {
+               //It is the homeview, so call showhomeview
+               r = ShowHomeView();
+               TryCatch(r == E_SUCCESS, , "scene transition failed");
+               //return;
+       }
+       else
+       {
+               SetParentDisplayPath();
+               SetHeaderTitleText(ParentPath);
+
+               //Remove the current files from the filenames list
+               if (_pFolderEntryPM != null)
+               {
+                       //__pContentManager->ClearList();
+                       _pFolderEntryPM->SetFolderEntryPath(ParentPath);
+                       _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+                       TryCatch(_pFilenames != null, , "Failed to fetch ArrayList from the ContentBrowser!");
+
+                       sourceForm =  _pFolderEntryPM->GetSourceForm();
+                       AppLogDebug("Current Source Form is : %d",sourceForm);
+
+                       /*if ( sourceForm == CREATE_ITEM_SOURCE_SUB_FOLDER_FILE_LIST )
+                               _pFolderEntryPM->SetSourceForm(CREATE_ITEM_SOURCE_SUB_FOLDER_FILE_LIST_TWO);
+                       else
+                               _pFolderEntryPM->SetSourceForm(CREATE_ITEM_SOURCE_SUB_FOLDER_FILE_LIST);*/
+
+                       _pFolderEntryPM->InitThumbnailManager();
+
+               }
+
+               //Get the files in the parent path of the current view
+
+               //Update the icon list to view the files of the parent directory
+               if (_pListView != null && _pListView->IsVisible())
+               {
+                       r = _pListView->UpdateList();
+               }
+
+               if (_pIconListView != null && _pIconListView->IsVisible())
+               {
+                       r = _pIconListView->UpdateList();
+               }
+       }
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+       return;
+
+CATCH:
+       FolderNavigationPresentationModel::SetCurrentFilePath(backUpCurrentPath);
+}
+
+
+void
+SubFolderFileListForm::OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs)
+{
+       Integer* pFileProcessingResult = null;
+       TryCatch(pArgs != null, , "Argument list received is invalid!");
+       pFileProcessingResult = (Integer*) pArgs->GetAt(0);
+
+       TryCatch(pFileProcessingResult != null, , "FileProcessing Result  list is invalid!");
+
+       switch (pFileProcessingResult->ToInt())
+       {
+       case FILE_MANAGING_RESULT_DELETING_SUCCESS:
+       {
+               if (_pFilenames != null)
+               {
+                       _pFilenames->RemoveAt(_indexTracker, true);
+                       //r = __pListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_REMOVE);
+                       if (_pListView != null)
+                       {
+                               //_pListView->UpdateList();
+                               _pListView->RefreshList(_indexTracker, LIST_REFRESH_TYPE_ITEM_REMOVE);
+                       }
+                       if (_pIconListView != null && _pIconListView->IsVisible())
+                       {
+                               _pIconListView->RefreshList(_indexTracker, LIST_REFRESH_TYPE_ITEM_REMOVE);
+                       }
+               }
+               HideFileProgressingPopup();
+       }
+       break;
+
+       case FILE_MANAGING_RESULT_DELETING_FAILED:
+       {
+               HideFileProgressingPopup();
+       }
+       break;
+       case FILE_MANAGING_RESULT_THREAD_STOP:
+       {
+               HideFileProgressingPopup();
+       }
+       break;
+       default:
+       {
+               //Do Nothing.
+       }
+       break;
+       }
+       CATCH:
+       if (pArgs != null)
+       {
+               pArgs->RemoveAll(true);
+               delete pArgs;
+       }
+       ///return this;
+}
+
+void
+SubFolderFileListForm::SetNextDisplayPath(void)
+{
+       String displayPath;
+       String delim(L"/");
+       String token;
+       String fullPath;
+
+       fullPath = FolderNavigationPresentationModel::GetCurrentPath();
+
+       StringTokenizer tokenizer(fullPath, delim);
+
+#if 0
+       DataBindingContext* pContext = null;
+       pContext = GetDataBindingContextN();
+#endif
+
+       int Counter = 0;
+       switch (_storageType)
+       {
+       case MEMORY_TYPE_PHONE:
+       {
+               Counter = 3;
+       }
+       break;
+
+       case MEMORY_TYPE_SD_CARD:
+       {
+               Counter = 3;
+       }
+       break;
+
+       default:
+               //Do Nothing.
+               break;
+       }
+
+       //Use a string tokenizer to get the filepath until it's the last token, break the loop when
+       //it is the last token
+       while (tokenizer.HasMoreTokens())
+       {
+               if (Counter > 0)
+               {
+                       Counter--;
+                       tokenizer.GetNextToken(token);
+               }
+               else
+               {
+                       tokenizer.GetNextToken(token);
+                       //dislayPath.Append(L"/");
+                       displayPath.Append(token);
+                       displayPath.Append(L"/");
+               }
+       }
+
+       if (__pLabelDisplayPath != null)
+       {
+               __displayPath.Append(displayPath);
+               __pLabelDisplayPath->SetText(__displayPath);
+               __pLabelDisplayPath->Invalidate(true);
+       }
+
+#if 0
+       if (pContext != null)
+       {
+               //UpdateBinding on the target label control.
+               pContext->UpdateBinding(L"ID_DISPLAY_PATH", DATA_BINDING_DESTINATION_TYPE_TARGET);
+       }
+
+       if (pContext != null)
+       {
+               delete pContext;
+       }
+#endif
+
+}
+
+void
+SubFolderFileListForm::OnDataBindingSourceUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName, const Tizen::Base::String& propertyName)
+{
+       //Empty Implementation.
+}
+
+void
+SubFolderFileListForm::OnDataBindingTargetUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName, const Tizen::Base::String& propertyName)
+{
+       //Empty Implementation.
+}
+
+void
+SubFolderFileListForm::OnDataBindingValidationFailed(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName, const Tizen::Base::String& propertyName, Tizen::Ui::DataBindingDestinationType destType)
+{
+       //Empty Implementation.
+}
+
+void
+SubFolderFileListForm::OnFileEventExecuted(const Tizen::Base::String& path, const unsigned long eventId)
+{
+       AppLogDebug("ENTER");
+
+       int badgeNumber = 0;
+       result r = E_SUCCESS;
+
+       //      Tizen::Shell::NotificationManager* pNotiMgr = null;
+
+       NotificationManager* pNotiMgr = null;
+       AppResource* pAppResource = null;
+       pAppResource = UiApp::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Failed to fetch AppResource");
+
+       pNotiMgr = new (std::nothrow) NotificationManager();
+       TryCatch(pNotiMgr != null, , "Failed to fetch AppNotificationManager");
+
+       pNotiMgr->Construct();
+       badgeNumber = pNotiMgr->GetBadgeNumber();
+       badgeNumber++;
+
+       if (_pFolderEntryPM != null)
+       {
+               //_pFolderEntryPM->SetFileEventListener(null);
+               _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+               TryCatch(_pFilenames != null, , "File Names List retrieval failed");
+       }
+
+       switch (eventId)
+       {
+       case FILE_EVENT_TYPE_CREATE:
+       {
+               if (_pListView != null && _pListView->IsVisible())
+               {
+                       _pListView->RefreshList(_pFilenames->GetCount() - 1, LIST_REFRESH_TYPE_ITEM_ADD);
+               }
+               if (_pIconListView != null && _pIconListView->IsVisible())
+               {
+                       _pIconListView->RefreshList(_pFilenames->GetCount() - 1, LIST_REFRESH_TYPE_ITEM_ADD);
+               }
+
+       }
+       break;
+
+       case FILE_EVENT_TYPE_DELETE:
+       {
+               if (_pListView != null && _pListView->IsVisible())
+               {
+                       _pListView->RefreshList(__counter, LIST_REFRESH_TYPE_ITEM_REMOVE);
+               }
+               if (_pIconListView != null && _pIconListView->IsVisible())
+               {
+                       if (_pThumbnailItemProvider != null)
+                       {
+                               __counter = _pThumbnailItemProvider->GetPressedIndex();
+                       }
+                       _pIconListView->RefreshList(__counter, LIST_REFRESH_TYPE_ITEM_REMOVE);
+               }
+
+       }
+       break;
+
+       case FILE_EVENT_TYPE_DELETE_SELF:
+       {
+               ShowHomeView();
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing.
+       }
+       break;
+       }
+
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+
+       if (pNotiMgr != null)
+       {
+               delete pNotiMgr;
+               pNotiMgr = null;
+       }
+       return;
+
+       CATCH:
+       if (pNotiMgr != null)
+       {
+               delete pNotiMgr;
+               pNotiMgr = null;
+       }
+       return;
+}
+
+void
+SubFolderFileListForm::SetHeaderTitleText(Tizen::Base::String& filePath)
+{
+       String token;
+       String parentFileName;
+       String delimiter(L"/");
+       StringTokenizer tokenizer(filePath, delimiter);
+
+       while (tokenizer.HasMoreTokens())
+       {
+               int tokenCount = tokenizer.GetTokenCount();
+
+               if (tokenCount == 1)
+               {
+                       tokenizer.GetNextToken(parentFileName);
+               }
+               else
+               {
+                       tokenizer.GetNextToken(token);
+               }
+       }
+
+       __pHeader = GetHeader();
+       if (__pHeader != null)
+       {
+               if (!parentFileName.IsEmpty())
+               {
+                       __pHeader->SetTitleText(parentFileName);
+                       __pHeader->Invalidate(true);
+               }
+       }
+}
+
+void
+SubFolderFileListForm::OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state)
+{
+       bool setMediaPath = false;
+       MemoryType currentMemoryType = MEMORY_TYPE_PHONE;
+       String unmounted = sdCardStatusUnmounted;
+       String removed = usbDeviceStatusRemoved;
+       String currentPath;
+
+       SceneManager* pSceneManager = null;
+
+       if (state == unmounted || state == removed)
+       {
+               currentPath = FolderNavigationPresentationModel::GetCurrentPath();
+               if (state == unmounted)
+               {
+                       if (currentPath.Contains(BasePresentationModel::GetSdCardPath()))
+                       {
+                               FolderNavigationPresentationModel::SetCurrentFilePath(BasePresentationModel::GetMediaPath());
+                               FolderNavigationPresentationModel::SetStorageType(currentMemoryType);
+                               setMediaPath = true;
+                       }
+               }
+
+               if (state == removed)
+               {
+                       if (currentPath.Contains(BasePresentationModel::GetUsbPath()))
+                       {
+                               FolderNavigationPresentationModel::SetCurrentFilePath(BasePresentationModel::GetMediaPath());
+                               FolderNavigationPresentationModel::SetStorageType(currentMemoryType);
+                               setMediaPath = true;
+                       }
+               }
+
+               if (setMediaPath)
+               {
+                       pSceneManager = SceneManager::GetInstance();
+                       if (pSceneManager != null)
+                       {
+                               pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_ROOT_DIRECTORY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT, SCENE_DESTROY_OPTION_DESTROY), null);
+                       }
+               }
+       }
+}
+
+void
+SubFolderFileListForm::OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state)
+{
+       ComponentType currentDeviceType;
+       switch (deviceType)
+       {
+       case StorageCard:
+       {
+               currentDeviceType = COMPONENT_TYPE_STORAGE_CARD;
+       }
+       break;
+
+       case UsbClient:
+       {
+               currentDeviceType = COMPONENT_TYPE_USB;
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing.
+       }
+       break;
+       }
+       OnDeviceChange(currentDeviceType, state);
+}
+
+void
+SubFolderFileListForm::OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId)
+{
+       AppLogDebug("Enter");
+       AppLogDebug("_rename index %d",_renameIndex);
+       AppRegistry* pAppRegistry = null;
+       String sortbyKeyName(L"SortBy");
+       int sortStyle = SORT_BY_TYPE_DATE_RECENT;
+
+       SceneManager::GetInstance()->RemoveSceneManagerEventListener(*this);
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+       if (previousSceneId == IDSCN_CREATE_FOLDER_FORM)
+       {
+               if (_renameOrCreate == SELECT_RENAME)
+               {
+                       pAppRegistry->Get(sortbyKeyName, sortStyle);
+
+                       if (sortStyle == SORT_BY_TYPE_NAME_ASCENDING || sortStyle == SORT_BY_TYPE_NAME_DESCENDING)
+                       {
+                               _pFolderEntryPM->SetFolderEntryPath(FolderNavigationPresentationModel::GetCurrentPath());
+                               _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+
+                               if (_pListView != null && _pListView->IsVisible())
+                               {
+                                       _pListView->UpdateList();
+                               }
+                       }
+                       else
+                       {
+                               _pListView->RefreshList(_renameIndex, LIST_REFRESH_TYPE_ITEM_MODIFY);
+                       }
+
+                       _pFolderEntryPM->InitThumbnailManager();
+
+                       return;
+               }
+       }
+
+       if (CheckSearchHistory())
+       {
+               __previousSceneName = previousSceneId;
+       }
+
+       SwitchViewType();
+
+       if (_pFolderEntryPM != null)
+       {
+               _pFolderEntryPM->InitThumbnailManager();
+       }
+}
+
+void
+SubFolderFileListForm::OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId)
+{
+       //Empty Implementation.
+}
+
+void
+SubFolderFileListForm::OnFileEventOccured(const unsigned long events,const Tizen::Base::String &  path, const unsigned int     eventId)
+{
+       AppLogDebug("TopMostFolderFileListForm::OnFileEventOccured");
+       _pFileEventManager->RemovePath(_pathOfSelectedFile);
+
+       if (_pFolderEntryPM!=null)
+       {
+               _pFolderEntryPM->RefreshFolderEntries();
+       }
+
+       if (_pListView != null && _pListView->IsVisible())
+       {
+               _pListView->UpdateList();
+       }
+
+       if (_pIconListView != null && _pIconListView->IsVisible())
+       {
+               _pIconListView->UpdateList();
+       }
+
+       if (_pFolderEntryPM!=null)
+       {
+               _pFolderEntryPM->InitThumbnailManager();
+       }
+}
diff --git a/src/MfSubFolderMoveCopy.cpp b/src/MfSubFolderMoveCopy.cpp
new file mode 100644 (file)
index 0000000..9ecce5b
--- /dev/null
@@ -0,0 +1,879 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSubFolderMoveCopy.cpp
+ * @brief: This file contains the implementation SubFolderMoveCopy class, which loads the form which implements the Copy
+ * and Move Functionalities on the SubDirectoryForm.
+ */
+
+#include "MfSubFolderMoveCopy.h"
+#include "MfTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Graphics;
+using namespace Tizen::Io;
+using namespace Tizen::Locales;
+using namespace Tizen::Media;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+
+SubFolderMoveCopy::SubFolderMoveCopy(void)
+       : __pHomeButton(null)
+       , __pUpButton(null)
+       , __pHeader(null)
+{
+       __updateFooterCheck = false;
+       __fileManagedCount = 0;
+       __storageType = MEMORY_TYPE_NONE;
+       __viewType = 0;
+       setMediaPath = false;
+}
+
+SubFolderMoveCopy::~SubFolderMoveCopy(void)
+{
+       if (__pHomeButton != null)
+       {
+               delete __pHomeButton;
+       }
+
+       if (__pUpButton != null)
+       {
+               delete __pUpButton;
+       }
+}
+
+bool
+SubFolderMoveCopy::Initialize(void)
+{
+       Form::Construct(L"IDL_SUB_FOLDER_MOVE_COPY");
+       return true;
+}
+
+result
+SubFolderMoveCopy::OnInitializing(void)
+{
+       AppLogDebug("ENTER");
+       result r = E_SUCCESS;
+       String btnHome;
+       String btnUp;
+       Color formBgColor = GetBackgroundColor();
+
+       AppResource* pAppResource = null;
+       __fileManagedCount = 0;
+       __updateFooterCheck = false;
+
+       ((MyFilesApp*) Application::GetInstance())->SetCurrentView(this);
+
+       int sourceForm = THUMBNAIL_PROVIDER_SOURCEID_SUB_MOVE_COPY_FORM;
+       CreateItemSource createitemsource = CREATE_ITEM_SOURCE_SUB_BASE_MOVE_COPY;
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Resource manager not found!");
+
+       pAppResource->GetString(L"IDS_MF_BUTTON_HOME", btnHome);
+       pAppResource->GetString(L"IDS_MF_TAB_UP", btnUp);
+
+       __pHeader = GetHeader();
+       if (__pHeader != null)
+       {
+               __pHomeButton = new (std::nothrow) ButtonItem();
+               __pHomeButton->Construct(BUTTON_ITEM_STYLE_TEXT, IDA_BTN_HOME);
+               __pHomeButton->SetText(btnHome);
+
+               __pUpButton = new (std::nothrow) ButtonItem();
+               __pUpButton->Construct(BUTTON_ITEM_STYLE_TEXT, IDA_BTN_UP);
+               __pUpButton->SetText(btnUp);
+
+               __pHeader->SetButton(BUTTON_POSITION_LEFT, *__pHomeButton);
+               __pHeader->SetButton(BUTTON_POSITION_RIGHT, *__pUpButton);
+               __pHeader->AddActionEventListener(*this);
+       }
+
+       _pFolderEntryPM = new (std::nothrow) FolderEntryPresentationModel();
+       TryCatch(_pFolderEntryPM != null, , "__pContentManager not found!");
+       _pFolderEntryPM->Construct();
+       _pFolderEntryPM->SetSourceForm(createitemsource);
+       //_pFileListPM->SetSortEnabled(false);
+
+       _moveCopySource = MOVE_COPY_SOURCE_SUB_FOLDER;
+
+       _pFileManager = FolderEntryEditorPresentationModel::GetInstance();
+       TryCatch(_pFileManager != null, , "File Manager not found!");
+
+       if (_pThumbnailItemProvider == null)
+       {
+               _pThumbnailItemProvider = new (std::nothrow) ThumbnailItemProviderAndListener(_rootPath, sourceForm);
+               TryCatch(_pThumbnailItemProvider != null, , "Failed to allocate memory to thumbnail provider");
+               _pThumbnailItemProvider->SetFolderEntryProvider(this);
+               _pThumbnailItemProvider->SetFooterItemStateChangeListener(this);
+
+       }
+
+//     r = CreateFileExistingPopup();
+//     TryCatch(r == E_SUCCESS,, "failed to create file existing popup");
+
+       _pDisplayPathLabel = static_cast< Label* >(GetControl("IDC_LABEL_DISPLAY_PATH"));
+       TryCatch(_pDisplayPathLabel != null, , "__pDisplayPathLabel is null");
+       _pDisplayPathLabel->SetBounds(0, 0, GetClientAreaBounds().width, H_DISPLAY_PATH_LABEL);
+
+       _pBaseItemProvider = new (std::nothrow) BaseItemProvider();
+       TryCatch(_pBaseItemProvider != null, , "Failed to allocate base itemprovider");
+       _pBaseItemProvider->Construct();
+       _pBaseItemProvider->SetSourceForm(createitemsource);
+       _pBaseItemProvider->SetFolderEntryProvider(this);
+
+       _pListView = static_cast< ListView* >(GetControl("IDC_LISTVIEW1"));
+       TryCatch(_pListView != null, , "list view is null");
+
+       _pListView->AddListViewItemEventListener(*this);
+       //__pListView->SetItemProvider(*this);
+       _pListView->SetItemProvider(*_pBaseItemProvider);
+       //_pListView->SetBounds(0, H_DISPLAY_PATH_LABEL, GetClientAreaBounds().width, GetClientAreaBounds().height - H_DISPLAY_PATH_LABEL);
+
+       _pIconListView = static_cast< IconListView* >(GetControl(L"IDC_ICONLISTVIEW_SUB_THUMBNAILS"));
+       if (_pIconListView != null)
+       {
+               //_pIconListView->SetBounds(0, H_DISPLAY_PATH_LABEL, GetClientAreaBounds().width, GetClientAreaBounds().height - H_DISPLAY_PATH_LABEL);
+               _pIconListView->SetShowState(false);
+               r = _pIconListView->SetItemProvider(*_pThumbnailItemProvider);
+               _pIconListView->AddIconListViewItemEventListener(*_pThumbnailItemProvider);
+       }
+
+#if 0
+       DataBindingContext* pContext = null;
+
+       pContext = GetDataBindingContextN();
+       pContext->Bind(L"ID_DISPLAY_PATH", L"IDC_LABEL_DISPLAY_PATH", L"text", __displayPath, DATA_BINDING_DATA_TYPE_STRING, DATA_BINDING_FLOW_ONE_WAY, DATA_BINDING_TRIGGER_EXPLICIT, this, null, null);
+       delete pContext;
+
+#endif
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+
+       return r;
+CATCH:
+
+       if (__pHomeButton != null)
+       {
+               delete __pHomeButton;
+               __pHomeButton = null;
+       }
+
+       if (__pUpButton != null)
+       {
+               delete __pUpButton;
+               __pUpButton = null;
+       }
+
+       if (_pDisplayPathLabel != null)
+       {
+               delete _pDisplayPathLabel;
+               _pDisplayPathLabel = null;
+       }
+
+       if (_pListView != null)
+       {
+               delete _pListView;
+               _pListView = null;
+       }
+
+       return r;
+}
+
+void
+SubFolderMoveCopy::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+{
+       AppLogDebug("ENTER");
+       switch (actionId)
+       {
+       case IDA_BTN_HOME:
+       {
+               ShowHomeView();
+       }
+       break;
+
+       case IDA_BTN_UP:
+       {
+               LoadParentForm();
+       }
+       break;
+
+       default:
+       {
+               SubBaseOnActionPerformed(source, actionId);
+       }
+       break;
+       }
+       AppLogDebug("EXIT");
+}
+
+void
+SubFolderMoveCopy::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
+{
+       AppLogDebug("ENTER");
+       DirectoryEntry* pDirStr = null;
+       String fileName;
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+       result r = E_SUCCESS;
+       String backupRootPath = FolderNavigationPresentationModel::GetCurrentPath();
+       if (_pFileNames != null)
+       {
+               pDirStr = static_cast< DirectoryEntry* >(_pFileNames->GetAt(index));
+               TryCatch(pDirStr != null, , " Failed to retrieve pDirStr");
+
+               _rootPath.Clear();
+               _rootPath.Append(pDirStr->GetFullFilePath());
+               if (pDirStr->IsDirectory())
+               {
+                       FolderNavigationPresentationModel::SetCurrentFilePath(_rootPath);
+
+                       String oldLabelText = _pDisplayPathLabel->GetText();
+
+                       String newLabelText;
+                       newLabelText.Append(oldLabelText);
+                       newLabelText.Append(pDirStr->GetFileName());
+                       newLabelText.Append(L"/");
+
+                       __displayPath = newLabelText;
+
+                       //Get the header and set the title to the current Directory Name.
+                       __pHeader = GetHeader();
+                       if (__pHeader != null)
+                       {
+                               if (!fileName.IsEmpty())
+                               {
+                                       __pHeader->SetTitleText(fileName);
+                                       __pHeader->Invalidate(true);
+                               }
+                       }
+                       /*if (_pFileListPM != null)
+                       {
+                           _pFileListPM->SetFolderEntryPath(_rootPath);
+                       }*/
+
+                       ArrayList* pArg = null;
+                       pArg = new (std::nothrow) ArrayList();
+                       pArg->Construct();
+                       pArg->Add(new (std::nothrow) Integer(sourceFormOption));
+                       pSceneManager->GoForward(ForwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pArg);
+                       TryCatch(r == E_SUCCESS, , "scene transition failed");
+               }
+       }
+
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+       return;
+
+CATCH:
+       FolderNavigationPresentationModel::SetCurrentFilePath(backupRootPath);
+       if (_pFolderEntryPM != null)
+       {
+               delete _pFolderEntryPM;
+       }
+
+       return;
+}
+
+void
+SubFolderMoveCopy::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+                                                                        const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
+{
+       AppLogDebug("ENTER");
+       result r = E_SUCCESS;
+
+       ((MyFilesApp*) Application::GetInstance())->SetCurrentView(this);
+
+       AppResource* pAppResource = null;
+       AppRegistry* pAppRegistry = null;
+       String viewStyleKeyName(L"ListDisplayType");
+       String phone;
+       String sdCard;
+       String externalStorage;
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+       int listViewDisplayType = VIEW_TYPE_AS_NORMAL_LIST;
+
+       r = pAppRegistry->Get(viewStyleKeyName, listViewDisplayType);
+       AppLogDebug("AppRegistry Get Result: %s", GetErrorMessage(r));
+
+       __viewType = listViewDisplayType;
+
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+       DeviceManager::GetState(DEVICE_TYPE_STORAGE_CARD,deviceState);
+#if 0
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_USB_CLIENT, *this);
+#endif
+
+       pAppResource = UiApp::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Failed to fetch AppResource");
+       pAppResource->GetString(L"IDS_MF_TAB_PHONE", phone);
+       pAppResource->GetString(L"IDS_MF_TAB_MEMORY_CARD", sdCard);
+       pAppResource->GetString(L"IDS_MF_TAB_EXTERNAL_STORAGE", externalStorage);
+       phone.Append(L"/");
+       sdCard.Append(L"/");
+       externalStorage.Append(L"/");
+
+       SceneManager::GetInstance()->AddSceneManagerEventListener(*this);
+
+       if (pArgs != null)
+       {
+               sourceFormOption = *(static_cast< Integer* >(pArgs->GetAt(0)));
+
+               pArgs->RemoveAll(true);
+               delete pArgs;
+               pArgs = null;
+
+               _rootPath.Clear();
+               _rootPath = FolderNavigationPresentationModel::GetCurrentPath();
+               __receivedStorageType = FolderNavigationPresentationModel::GetStorageType();
+
+               SetHeaderTitleText(_rootPath);
+
+               switch (__receivedStorageType.ToInt())
+               {
+               case MEMORY_TYPE_PHONE:
+               {
+                       __storageType = MEMORY_TYPE_PHONE;
+                       __displayPath = phone;
+               }
+               break;
+
+               case MEMORY_TYPE_SD_CARD:
+               {
+                       __storageType = MEMORY_TYPE_SD_CARD;
+
+                       __displayPath = sdCard;
+               }
+               break;
+
+               case MEMORY_TYPE_EXTERNAL:
+               {
+                       __storageType = MEMORY_TYPE_EXTERNAL;
+                       __displayPath = externalStorage;
+               }
+               break;
+
+               default:
+               {
+                       //Do Nothing.
+               }
+               break;
+               }
+
+       }
+       //Call SetNextDisplayPath to Append the right path to the label.
+       SetNextDisplayPath();
+
+       _pFileManager->SetFileManagingListener(this);
+
+       if (_pFolderEntryPM != null)
+       {
+               _pFolderEntryPM->SetFolderEntryPath(_rootPath);
+               //__pFileListPM->SetFileEventListener(this);
+               _pFileNames = _pFolderEntryPM->GetFolderEntryList();
+               TryCatch(_pFileNames != null, , "Failed to allocate Memory to Filenames ArrayList");
+       }
+
+
+       AppLogDebug("Filenames Count %d", _pFileNames->GetCount());
+
+       _pThumbnailItemProvider->SetSourceFromOption(sourceFormOption.ToInt());
+
+       _pFooter = GetFooter();
+       if (_pFooter != null)
+       {
+               _pFooter->RemoveAllButtons();
+               _pFooter->RemoveAllItems();
+       }
+       CreateFooterItems();
+
+       _pFolderEntryPM->InitThumbnailManager();
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+       return;
+CATCH:
+       return;
+}
+
+void
+SubFolderMoveCopy::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+                                                                         const Tizen::Ui::Scenes::SceneId& nextSceneId)
+{
+       ((MyFilesApp*)Application::GetInstance())->SetCurrentView(null);
+       DeviceManager::RemoveAllDeviceEventListeners();
+       _pFolderEntryPM->StopThumbnailManager(true);
+}
+
+result
+SubFolderMoveCopy::LoadParentForm(void)
+{
+       AppLogDebug("ENTER");
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+       result r = E_SUCCESS;
+       _rootPath = FolderNavigationPresentationModel::GetCurrentPath();
+       String previousParentPath = GetParentDirectoryName();
+
+       FolderNavigationPresentationModel::SetCurrentFilePath(previousParentPath);
+
+       if (previousParentPath == BasePresentationModel::GetMediaPath() || previousParentPath == BasePresentationModel::GetSdCardPath())
+       {
+               String __rootPath;
+               __rootPath.Append(previousParentPath);
+               ArrayList* pArgs = new (std::nothrow) ArrayList();
+               r = pArgs->Construct();
+               Integer* pSourceFromOption = new (std::nothrow) Integer(sourceFormOption);
+               pArgs->Add(pSourceFromOption);
+               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ROOT_DIRECTORY_MOVE_COPY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT, SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY), pArgs);
+       }
+       else
+       {
+               _rootPath.Clear();
+               _rootPath.Append(previousParentPath);
+
+               SetParentDisplayPath();
+               SetHeaderTitleText(_rootPath);
+
+               if (_pFolderEntryPM != null)
+               {
+                       //__pContentManager->ClearList();
+                       _pFolderEntryPM->SetFolderEntryPath(_rootPath);
+                       _pFileNames = _pFolderEntryPM->GetFolderEntryList();
+
+                       _pFolderEntryPM->InitThumbnailManager();
+                       TryCatch(_pFileNames != null, , "Failed to allocate Memory to __pFilenames");
+               }
+
+
+
+               if (_pListView != null && _pListView->IsVisible())
+               {
+                       //Call UpdateList on __pListView
+                       r = _pListView->UpdateList();
+               }
+
+               if (_pIconListView != null && _pIconListView->IsVisible())
+               {
+                       _pIconListView->UpdateList();
+               }
+
+               AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+       }
+       return r;
+CATCH:
+       return r;
+}
+
+String
+SubFolderMoveCopy::GetParentDirectoryName(void)
+{
+       String pPreviousParentPath;
+       pPreviousParentPath = FolderNavigationPresentationModel::GetParentPath();
+       return pPreviousParentPath;
+}
+
+void
+SubFolderMoveCopy::SetNextDisplayPath(void)
+{
+       AppLogDebug("ENTER");
+       String dislayPath;
+       String delim(L"/");
+       String token;
+       String newDisplayPath;
+       String testPath;
+
+       String phone;
+       String sdCard;
+       String externalStorage;
+       AppResource* pAppResource = null;
+       pAppResource = UiApp::GetInstance()->GetAppResource();
+       if (pAppResource != null)
+       {
+               pAppResource->GetString(L"IDS_MF_TAB_PHONE", phone);
+               pAppResource->GetString(L"IDS_MF_TAB_MEMORY_CARD", sdCard);
+               pAppResource->GetString(L"IDS_MF_TAB_EXTERNAL_STORAGE", externalStorage);
+               phone.Append(L"/");
+               sdCard.Append(L"/");
+               externalStorage.Append(L"/");
+       }
+       _rootPath = FolderNavigationPresentationModel::GetCurrentPath();
+       StringTokenizer StrTok(_rootPath, delim);
+       int tokenCount = 0;
+
+       switch (__storageType)
+       {
+       case MEMORY_TYPE_PHONE:
+       {
+               tokenCount = 3;
+               __displayPath = phone;
+       }
+       break;
+
+       case MEMORY_TYPE_SD_CARD:
+       {
+               tokenCount = 3;
+               __displayPath = sdCard;
+       }
+       break;
+
+       case MEMORY_TYPE_EXTERNAL:
+       {
+               tokenCount = 3;
+               __displayPath = externalStorage;
+       }
+       break;
+
+       default:
+               //Do Nothing.
+               break;
+       }
+
+       //Use a string tokenizer to get the filepath until it's the last token, break the loop when
+       //it is the last token
+       while (StrTok.HasMoreTokens())
+       {
+               if (tokenCount > 0)
+               {
+                       tokenCount--;
+                       StrTok.GetNextToken(token);
+               }
+               else
+               {
+                       StrTok.GetNextToken(token);
+                       dislayPath.Append(token);
+                       dislayPath.Append(L"/");
+               }
+       }
+
+       newDisplayPath = __displayPath;
+       newDisplayPath.Append(dislayPath);
+       __displayPath = newDisplayPath;
+
+#if 0
+       DataBindingContext* pContext = GetDataBindingContextN();
+       if (pContext != null)
+       {
+               pContext->UpdateBinding(L"ID_DISPLAY_PATH", DATA_BINDING_DESTINATION_TYPE_TARGET);
+               delete pContext;
+               pContext = null;
+       }
+#endif
+
+       if (_pDisplayPathLabel != null)
+       {
+               _pDisplayPathLabel->SetText(__displayPath);
+               _pDisplayPathLabel->Invalidate(true);
+       }
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+}
+
+void
+SubFolderMoveCopy::SetParentDisplayPath(void)
+{
+       AppLogDebug("ENTER");
+       String dislayPath;
+       String delim(L"/");
+       String parentDisplayPath;
+       String token;
+
+       if (_pDisplayPathLabel != null)
+       {
+               dislayPath = _pDisplayPathLabel->GetText();
+       }
+
+       StringTokenizer StrTok(dislayPath, delim);
+
+       //Use a string tokenizer to get the filepath until it's the last token, break the loop when
+       //it is the last token
+       while (StrTok.HasMoreTokens())
+       {
+               int tokenCount = StrTok.GetTokenCount();
+
+               if (tokenCount != 1)
+               {
+                       StrTok.GetNextToken(token);
+                       parentDisplayPath.Append(token);
+                       parentDisplayPath.Append(L"/");
+               }
+               else
+               {
+                       break;
+               }
+       }
+
+       __displayPath = parentDisplayPath;
+
+#if 0
+       DataBindingContext* pContext = GetDataBindingContextN();
+       pContext->UpdateBinding(L"ID_DISPLAY_PATH", DATA_BINDING_DESTINATION_TYPE_TARGET);
+       delete pContext;
+       pContext = null;
+#endif
+       if (_pDisplayPathLabel != null)
+       {
+               _pDisplayPathLabel->SetText(__displayPath);
+               _pDisplayPathLabel->Invalidate(true);
+       }
+
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+}
+
+void
+SubFolderMoveCopy::OnDataBindingSourceUpdated(const String& bindingId, const String& controlName, const Tizen::Base::String& propertyName)
+{
+       //Empty Implementation.
+}
+
+void
+SubFolderMoveCopy::OnDataBindingTargetUpdated(const String& bindingId, const String& controlName, const Tizen::Base::String& propertyName)
+{
+       //Empty Implementation.
+}
+void
+SubFolderMoveCopy::OnDataBindingValidationFailed(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName, const Tizen::Base::String& propertyName, Tizen::Ui::DataBindingDestinationType destType)
+{
+       //Empty Implementation.
+}
+
+void
+SubFolderMoveCopy::ShowHomeView(void)
+{
+       AppLogDebug("ENTER");
+       result r = E_SUCCESS;
+       String homeRootPath;
+       ArrayList* pArgs = null;
+
+       homeRootPath.Append(_rootPath);
+
+       while ((homeRootPath != BasePresentationModel::GetMediaPath()) && (homeRootPath != BasePresentationModel::GetSdCardPath()))
+       {
+               FolderNavigationPresentationModel::SetCurrentFilePath(homeRootPath);
+               homeRootPath.Clear();
+               homeRootPath = FolderNavigationPresentationModel::GetParentPath();
+       }
+
+       FolderNavigationPresentationModel::SetCurrentFilePath(homeRootPath);
+
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+
+       pArgs = new (std::nothrow) ArrayList();
+       r = pArgs->Construct();
+
+       pArgs->Add(new (std::nothrow) Integer(sourceFormOption));
+
+       if (pSceneManager != null)
+       {
+               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ROOT_DIRECTORY_MOVE_COPY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT, SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY), pArgs);
+       }
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+       return;
+}
+
+void
+SubFolderMoveCopy::SetHeaderTitleText(Tizen::Base::String& filePath)
+{
+       String token;
+       String parentFileName;
+       String delimiter(L"/");
+       StringTokenizer tokenizer(filePath, delimiter);
+
+       while (tokenizer.HasMoreTokens())
+       {
+               int tokenCount = tokenizer.GetTokenCount();
+
+               if (tokenCount == 1)
+               {
+                       tokenizer.GetNextToken(parentFileName);
+               }
+               else
+               {
+                       tokenizer.GetNextToken(token);
+               }
+       }
+
+       __pHeader = GetHeader();
+       if (__pHeader != null)
+       {
+               if (!parentFileName.IsEmpty())
+               {
+                       __pHeader->SetTitleText(parentFileName);
+                       __pHeader->Invalidate(true);
+                       __pHeader->Invalidate(true);
+               }
+       }
+}
+
+void
+SubFolderMoveCopy::OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state)
+{
+       bool setMediaPath = false;
+       MemoryType currentMemoryType = MEMORY_TYPE_PHONE;
+       String unmounted = sdCardStatusUnmounted;
+       String removed = usbDeviceStatusRemoved;
+       String currentPath;
+
+       if (state == unmounted || state == removed)
+       {
+               currentPath = FolderNavigationPresentationModel::GetCurrentPath();
+               if (state == unmounted)
+               {
+                       if (currentPath.Contains(BasePresentationModel::GetSdCardPath()))
+                       {
+                               FolderNavigationPresentationModel::SetCurrentFilePath(BasePresentationModel::GetMediaPath());
+                               FolderNavigationPresentationModel::SetStorageType(currentMemoryType);
+                               setMediaPath = true;
+                       }
+               }
+
+               if (state == removed)
+               {
+                       if (currentPath.Contains(BasePresentationModel::GetUsbPath()))
+                       {
+                               FolderNavigationPresentationModel::SetCurrentFilePath(BasePresentationModel::GetMediaPath());
+                               FolderNavigationPresentationModel::SetStorageType(currentMemoryType);
+                               setMediaPath = true;
+                       }
+               }
+
+               if (setMediaPath)
+               {
+                       SceneManager::GetInstance()->GoBackward(BackwardSceneTransition(IDSCN_ROOT_DIRECTORY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT, SCENE_DESTROY_OPTION_DESTROY), null);
+               }
+       }
+}
+void
+SubFolderMoveCopy::OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state)
+{
+
+       ComponentType currentDeviceType;
+       switch (deviceType)
+       {
+       case StorageCard:
+       {
+               currentDeviceType = COMPONENT_TYPE_STORAGE_CARD;
+       }
+       break;
+
+       case UsbClient:
+       {
+               currentDeviceType = COMPONENT_TYPE_USB;
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing.
+       }
+       break;
+       }
+       OnDeviceChange(currentDeviceType, state);
+}
+
+void
+SubFolderMoveCopy::OnSceneTransitionCompleted(const Tizen::Ui::Scenes::SceneId &previousSceneId,
+               const Tizen::Ui::Scenes::SceneId &currentSceneId)
+{
+       AppLogDebug("Enter");
+
+       result r = E_SUCCESS;
+
+       int listViewDisplayType = VIEW_TYPE_AS_NORMAL_LIST;
+       String viewStyleKeyName(L"ListDisplayType");
+
+       AppRegistry* pAppRegistry = null;
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+       r = pAppRegistry->Get(viewStyleKeyName, listViewDisplayType);
+       AppLogDebug("AppRegistry Get Result: %s", GetErrorMessage(r));
+
+       SceneManager::GetInstance()->RemoveSceneManagerEventListener(*this);
+
+       switch (listViewDisplayType)
+       {
+       case VIEW_TYPE_AS_DETAILED_LIST:
+       {
+               if (_pIconListView != null && _pIconListView->IsVisible())
+               {
+                       _pIconListView->SetShowState(false);
+               }
+
+               if (_pListView != null)
+               {
+                       _pListView->ScrollToItem(0);
+                       _pListView->UpdateList();
+                       _pListView->SetShowState(true);
+               }
+
+       }
+       break;
+
+       case VIEW_TYPE_AS_NORMAL_LIST:
+       {
+               if (_pIconListView != null && _pIconListView->IsVisible())
+               {
+                       _pIconListView->SetShowState(false);
+               }
+
+               if (_pListView != null)
+               {
+                       _pListView->ScrollToItem(0);
+                       _pListView->UpdateList();
+                       _pListView->SetShowState(true);
+               }
+
+       }
+       break;
+
+       case VIEW_TYPE_AS_THUMBNAILS:
+       {
+               if (_pListView != null && _pListView->IsVisible())
+               {
+                       _pListView->SetShowState(false);
+               }
+
+               if (_pIconListView != null)
+               {
+                       _pIconListView->ScrollToItem(0);
+                       _pIconListView->UpdateList();
+                       _pIconListView->SetShowState(true);
+               }
+
+       }
+       break;
+
+       default:
+       {
+               __viewType = VIEW_TYPE_AS_NORMAL_LIST;
+               if (_pListView != null)
+               {
+                       _pListView->ScrollToItem(0);
+                       _pListView->UpdateList();
+               }
+       }
+       break;
+       }
+
+}
+
+void
+SubFolderMoveCopy::OnSceneTransitionStarted(const Tizen::Ui::Scenes::SceneId &currentSceneId,
+               const Tizen::Ui::Scenes::SceneId &nextSceneId)
+{
+       //Empty Implementation.
+}
+
diff --git a/src/MfSubFolderSelection.cpp b/src/MfSubFolderSelection.cpp
new file mode 100644 (file)
index 0000000..ef90539
--- /dev/null
@@ -0,0 +1,1059 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfSubFolderSelection.cpp
+ * @brief: This file contains the implementation of SubFolderSelection class,
+ *  which acts an AppControl for the SubDirectories.
+ */
+
+#include "MfMyFilesApp.h"
+#include "MfSubFolderSelection.h"
+#include "MfSceneRegister.h"
+#include "MfUtility.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Graphics;
+using namespace Tizen::Locales;
+using namespace Tizen::Media;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+SubFolderSelection::SubFolderSelection(void)
+       :   __pReceivedFilename(null)
+       , __pHomeButton(null)
+       , __pUpButton(null)
+
+       , __pLabelDisplayPath(null)
+{
+       //Do Nothing
+}
+
+SubFolderSelection::~SubFolderSelection(void)
+{
+       if (__pHomeButton != null)
+       {
+               delete __pHomeButton;
+       }
+
+       if (__pUpButton != null)
+       {
+               delete __pUpButton;
+       }
+}
+
+SubFolderSelection&
+SubFolderSelection::operator =(const SubFolderSelection& pSubFolderSelection)
+{
+       return *this;
+}
+
+SubFolderSelection::SubFolderSelection(const SubFolderSelection& pSubFolderSelection)
+{
+       //Do Nothing
+}
+
+
+bool
+SubFolderSelection::Initialize(void)
+{
+       AppLogDebug("Entry");
+       Form::Construct(L"IDL_SUB_FOLDER_FILE_SELECTION");
+       AppLogDebug("Exit");
+       return true;
+}
+
+result
+SubFolderSelection::OnInitializing(void)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       String buttonCancel;
+       String buttonAttach;
+       String buttonCreate;
+       String buttonFolder;
+       String buttonCreateFolder;
+       String buttonHome;
+       String buttonUp;
+       String buttonExport;
+       String buttonHere;
+       String buttonExportHere;
+       String displayPath;
+
+       CreateItemSource createitemsource = CREATE_ITEM_SOURCE_SUB_FOLDER_SELECTION;
+
+       AppResource* pAppResource = null;
+
+       __pReceivedFilename = new (std::nothrow) String();
+
+       _pListView = static_cast< ListView* >(GetControl("IDC_SUB_FOLDER_SELECTION_LISTVIEW"));
+       TryCatch(_pListView != null, , "Failed to get list view control");
+
+       _pListView->AddListViewItemEventListener(*this);
+       _pListView->SetItemProvider(*this);
+       _pListView->SetShowState(false);
+
+       _selectionMode = ((MyFilesApp*) Application::GetInstance())->GetCurrentSelectionMode();
+       _currentFileType = ((MyFilesApp*) Application::GetInstance())->GetCurrentFileType();
+       _currentViewStyle = ((MyFilesApp*) Application::GetInstance())->GetCurrentView();
+
+       __pLabelDisplayPath = static_cast< Label* >(GetControl("IDC_SUB_FOLDER_SELECTION_LABEL_DISPLAY_PATH"));
+       TryCatch(__pLabelDisplayPath != null, , "Label is Null");
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Resource manager not found!");
+
+       displayPath = defaultPhoneBody;
+       displayPath.Append("/");
+
+       pAppResource->GetString(L"IDS_MF_BUTTON_HOME", buttonHome);
+       pAppResource->GetString(L"IDS_COM_POP_ATTACH", buttonAttach);
+       pAppResource->GetString(L"IDS_COM_POP_CANCEL", buttonCancel);
+       pAppResource->GetString(L"IDS_MF_TAB_UP", buttonUp);
+
+       __displayPath = displayPath;
+
+       _pFolderBitmap = pAppResource->GetBitmapN(IDB_FOLDER, BITMAP_PIXEL_FORMAT_ARGB8888);
+       _pDummyImage = pAppResource->GetBitmapN(IDB_DUMMY_IMG, BITMAP_PIXEL_FORMAT_ARGB8888);
+
+       _pAudioPlay = MfUtility::MergeBitmapN(IDB_PLAY_OUTER_CIRCLE, IDB_PLAY, 64, 64);
+       _pAudioPause = MfUtility::MergeBitmapN(IDB_PLAY_OUTER_CIRCLE, IDB_PAUSE, 64, 64);
+
+       if (_currentViewStyle == APPCONTROL_VIEW_EXPORT)
+       {
+               pAppResource->GetString(L"IDS_EXPORT", buttonExport);
+               pAppResource->GetString(L"IDS_CREATE_FOLDER", buttonCreate);
+       }
+
+       _pHeader = GetHeader();
+       TryCatch(_pHeader != null, , "Header is Null");
+
+       __pHomeButton = new (std::nothrow) ButtonItem();
+       __pHomeButton->Construct(BUTTON_ITEM_STYLE_TEXT, IDA_BTN_HOME);
+       __pHomeButton->SetText(buttonHome);
+
+       __pUpButton = new (std::nothrow) ButtonItem();
+       __pUpButton->Construct(BUTTON_ITEM_STYLE_TEXT, IDA_BTN_UP);
+       __pUpButton->SetText(buttonUp);
+
+       _pHeader->SetButton(BUTTON_POSITION_LEFT, *__pHomeButton);
+       _pHeader->SetButton(BUTTON_POSITION_RIGHT, *__pUpButton);
+       _pHeader->AddActionEventListener(*this);
+
+       if (_currentViewStyle == APPCONTROL_VIEW_EXPORT)
+       {
+               _pExport = new (std::nothrow) FooterItem();
+               r = _pExport->Construct(IDA_BTN_EXPORT);
+               _pExport->SetText(buttonExport);
+
+               _pCreateFolder = new (std::nothrow) FooterItem();
+               r = _pCreateFolder->Construct(IDA_BTN_CREATE_FOLDER);
+               _pCreateFolder->SetText(buttonCreate);
+       }
+       else
+       {
+               _pAttach = new (std::nothrow) FooterItem();
+               r = _pAttach->Construct(IDA_BTN_ATTACH);
+               _pAttach->SetText(buttonAttach);
+       }
+
+       _pCancel = new (std::nothrow) FooterItem();
+       r = _pCancel->Construct(IDA_BTN_CANCEL);
+       _pCancel->SetText(buttonCancel);
+
+       _pFooter = GetFooter();
+       TryCatch(_pFooter != null, , "Footer is Null");
+
+       if (_pFooter != null)
+       {
+               _pFooter->RemoveAllButtons();
+               _pFooter->RemoveAllItems();
+               _pFooter->SetStyle(FOOTER_STYLE_BUTTON_TEXT);
+
+               if (_currentViewStyle == APPCONTROL_VIEW_EXPORT)
+               {
+                       _pFooter->AddItem(*_pExport);
+                       _pFooter->AddItem(*_pCreateFolder);
+               }
+               else
+               {
+                       _pFooter->AddItem(*_pAttach);
+               }
+
+               _pFooter->AddItem(*_pCancel);
+               _pFooter->AddActionEventListener(*this);
+               _pFooter->SetItemEnabled(0, false);
+       }
+
+       CreateLabelControl();
+
+       __defaultListViewBounds = _pListView->GetBounds();
+
+       _pFolderEntryPM = new (std::nothrow) FolderEntryPresentationModel();
+       TryCatch(_pFolderEntryPM != null, , "Failed to allocate memory");
+       _pFolderEntryPM->Construct();
+       _pFolderEntryPM->SetSourceForm(createitemsource);
+
+       _rootMediaPath = FolderNavigationPresentationModel::GetCurrentPath();
+       _rootStoragePath = BasePresentationModel::GetSdCardPath();
+
+       _pFolderEntryPM->SetFolderEntryType(_currentFileType);
+       _pFolderEntryPM->SetFolderEntryPath(_rootMediaPath);
+       _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+       TryCatch(_pFilenames != null, , "MfMyFilesApp::Failed to allocate Memory to Filenames ArrayList");
+
+       _pThumbnailManager = ThumbnailManager::GetInstance();
+       TryCatch(_pThumbnailManager != null, , "Thumbnail Manager not found!");
+
+       _pFileManager = FolderEntryEditorPresentationModel::GetInstance();
+       TryCatch(_pFileManager != null, , "File Manager not found!");
+
+       InitializeAppRegistry();
+
+       if (_currentViewStyle == APPCONTROL_VIEW_EXPORT)
+       {
+               __pLabelDisplayPath->SetShowState(true);
+               _pLabelNumberOfItems->SetShowState(false);
+       }
+
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+
+#if 0
+       DataBindingContext* pContext = null;
+
+       pContext = GetDataBindingContextN();
+       TryCatch(pContext != null, , "Failed to Fetch the DataBinding Context");
+
+       pContext->Bind(L"ID_APPCONTROL_DISPLAY_PATH", L"IDC_SUB_FOLDER_SELECTION_LABEL_DISPLAY_PATH", L"text", __displayPath, DATA_BINDING_DATA_TYPE_STRING, DATA_BINDING_FLOW_TWO_WAY, DATA_BINDING_TRIGGER_EXPLICIT, null, null, null);
+
+       delete pContext;
+
+#endif
+
+       AppLogDebug("Exit: %s", GetErrorMessage(r));
+       return r;
+
+CATCH:
+       r = E_FAILURE;
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return r;
+}
+
+result
+SubFolderSelection::OnTerminating(void)
+{
+       result r = E_SUCCESS;
+
+       _pHeader = GetHeader();
+       if (_pHeader != null)
+       {
+               _pHeader->RemoveAllButtons();
+               _pHeader->RemoveAllItems();
+       }
+
+       _pFooter = GetFooter();
+       if (_pFooter != null)
+       {
+               _pFooter->RemoveAllButtons();
+               _pFooter->RemoveAllItems();
+       }
+
+       return r;
+}
+
+void
+SubFolderSelection::OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status)
+{
+       //empty implementation
+}
+
+void
+SubFolderSelection::OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback)
+{
+       //empty implementation
+}
+
+void
+SubFolderSelection::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       String selectFiles;
+       String selectedCount;
+       String selectedRootMediaPath;
+       DirectoryEntry* pDirStr = null;
+       String nextFilename;
+       int selectedItemsCount = 0;
+       int itemcount = 0;
+       AppResource* pAppResource = null;
+       SceneManager* pSceneManager = null;
+       ArrayList* pArgs = null;
+       bool itemStatus = false;
+       Integer currentIndex = index;
+
+       pArgs = new (std::nothrow) ArrayList();
+       pArgs->Construct();
+
+       pSceneManager = SceneManager::GetInstance();
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Resource manager not found!");
+
+       pAppResource->GetString(L"IDS_SELECT_FILES", selectFiles);
+       pAppResource->GetString(L"IDS_COM_BODY_SELECTED", selectedCount);
+       selectedCount.Append(" (");
+
+       itemStatus = _pFileManager->GetCheckedList()->ContainsKey(currentIndex /*,itemStatus*/);
+
+       if (elementId == CONTENT_LIST_ITEM_TYPE_PLAY || elementId == CONTENT_LIST_ITEM_TYPE_PAUSE)
+       {
+               pDirStr = static_cast< DirectoryEntry* >(_pFilenames->GetAt(index));
+
+               if (!itemStatus)
+               {
+                       listView.SetItemChecked(index, false);
+               }
+               else
+               {
+                       listView.SetItemChecked(index, true);
+               }
+
+               if (_pAudioPlayer == null)
+               {
+                       InitializePlayer();
+                       LoadMusicPlayer(pDirStr->GetFullFilePath(), PLAYER_STATE_INITIALIZED);
+                       _previousAudioSelected = index;
+                       _currentAudioPlayIndex = index;
+                       _pListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+
+                       return;
+               }
+
+               if (_previousAudioSelected == index)
+               {
+                       if (_pAudioPlayer->GetState() == PLAYER_STATE_PLAYING)
+                       {
+                               _pAudioPlayer->Pause();
+                       }
+                       else
+                       {
+                               _pAudioPlayer->Play();
+                       }
+               }
+               else
+               {
+                       _pAudioPlayer->Stop();
+                       _pAudioPlayer->Close();
+                       _pListView->RefreshList(_previousAudioSelected, LIST_REFRESH_TYPE_ITEM_MODIFY);
+                       _previousAudioSelected = index;
+                       LoadMusicPlayer(pDirStr->GetFullFilePath(), PLAYER_STATE_STOPPED);
+               }
+               _currentAudioPlayIndex = index;
+               _pListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+               //listView.SetItemChecked(index, false);
+               return;
+       }
+
+       if (_pFilenames != null) //start of FILENAME check if
+       {
+               pDirStr = static_cast< DirectoryEntry* >(_pFilenames->GetAt(index));
+
+               if (pDirStr != null) //start of NULL check if
+               {
+                       if (pDirStr->IsDirectory()) // start of DIRECTORY CHECK if
+                       {
+                               selectedRootMediaPath = pDirStr->GetFullFilePath();
+                               nextFilename = pDirStr->GetFileName();
+
+                               if (_rootMediaPath != null)
+                               {
+                                       _rootMediaPath.Clear();
+                                       _rootMediaPath.Append(selectedRootMediaPath);
+                               }
+
+                               if (_pAudioPlayer != null)
+                               {
+                                       if (_pAudioPlayer->GetState() == PLAYER_STATE_PLAYING || _pAudioPlayer->GetState() == PLAYER_STATE_PAUSED)
+                                       {
+                                               _pAudioPlayer->Stop();
+                                               _pAudioPlayer->Close();
+                                       }
+                               }
+                               FolderNavigationPresentationModel::SetCurrentFilePath(_rootMediaPath);
+
+                               pArgs->Add(&nextFilename);
+                               pArgs->Add(&_rootMediaPath);
+                               ClearSelectedItems(listView);
+                               pSceneManager->GoForward(ForwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pArgs);
+                       } // end of DIRECTORY CHECK if
+                       else //start of FILE CHECK else
+                       {
+                               if (listView.IsItemChecked(index) == true)
+                               {
+                                       _pFileManager->AddCheckedListEntry(index, pDirStr);
+                               }
+                               else
+                               {
+                                       _pFileManager->RemoveCheckedListEntry(index);
+                               }
+
+                               if (_selectionMode == SELECTION_MODE_SINGE)
+                               {
+                                       if (listView.IsItemChecked(_storePreviousIndex) == true && _storePreviousIndex != index)
+                                       {
+                                               listView.SetItemChecked(_storePreviousIndex, false);
+                                               _pListView->RefreshList(_storePreviousIndex, LIST_REFRESH_TYPE_ITEM_MODIFY);
+                                               _pFileManager->RemoveCheckedListEntry(_storePreviousIndex);
+                                       }
+                                       _storePreviousIndex = index;
+                               }
+                       } //end of FILE CHECK else
+               } //end of NULL check if
+
+               for (itemcount = 0; itemcount <= GetItemCount(); itemcount++)
+               {
+                       if (listView.IsItemChecked(itemcount) == true)
+                       {
+                               selectedItemsCount++;
+                       }
+               }
+
+               if (selectedItemsCount != 0)
+               {
+                       r = _pFooter->SetItemEnabled(0, true);
+               }
+               else
+               {
+                       _pFooter->SetItemEnabled(0, false);
+               }
+
+               if (_selectionMode == SELECTION_MODE_MULTIPLE) // start of MULTIPLE_MODE_SELECTION if
+               {
+                       if (selectedItemsCount > 0)
+                       {
+                               _itemSelectedCount.Clear();
+                               _itemSelectedCount.Append(selectedCount);
+                               _itemSelectedCount.Append(selectedItemsCount);
+                               _itemSelectedCount.Append(L")");
+                               _pLabelNumberOfItems->SetText(_itemSelectedCount);
+                       }
+                       else
+                       {
+                               _itemSelectedCount.Clear();
+                               _itemSelectedCount.Append(selectFiles);
+                               _pLabelNumberOfItems->SetText(_itemSelectedCount);
+                       }
+
+                       _pLabelNumberOfItems->Invalidate(true);
+               }
+       } //end of FILENAME check if
+
+       _pFooter->Invalidate(true);
+
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return;
+CATCH:
+       r = GetLastResult();
+       if (_pFolderEntryPM != null)
+       {
+               delete _pFolderEntryPM;
+               _pFolderEntryPM = null;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+void
+SubFolderSelection::OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction)
+{
+       //empty implementation
+}
+
+void
+SubFolderSelection::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+                                                                         const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
+{
+
+       SceneManager::GetInstance()->AddSceneManagerEventListener(*this);
+       if (pArgs != null)
+       {
+               __pReceivedFilename->Clear();
+               __pReceivedFilename->Append(*static_cast<String*>(pArgs->GetAt(0)));
+       }
+
+       ((MyFilesApp*) Application::GetInstance())->SetCurrentView(this);
+
+       if (pArgs != null)
+       {
+               pArgs->RemoveAll(false);
+               delete pArgs;
+       }
+}
+
+void
+SubFolderSelection::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+                                                                          const Tizen::Ui::Scenes::SceneId& nextSceneId)
+{
+       DeviceManager::RemoveAllDeviceEventListeners();
+       ((MyFilesApp*)Application::GetInstance())->SetCurrentView(null);
+       _pFolderEntryPM->StopThumbnailManager(true);
+}
+
+void
+SubFolderSelection::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+{
+       AppLogDebug("Entry");
+
+       switch (actionId)
+       {
+       case IDA_BTN_HOME:
+       {
+               ShowHomeView();
+               _pFolderEntryPM->InitThumbnailManager();
+       }
+       break;
+
+       case IDA_BTN_UP:
+       {
+               ShowParentDirectoryView();
+               _pFolderEntryPM->InitThumbnailManager();
+       }
+       break;
+
+       default:
+       {
+               SubBaseOnActionPerformed(source, actionId);
+       }
+       break;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+void
+SubFolderSelection::ShowParentDirectoryView(void)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       String displayPath;
+       String ParentPath;
+
+       displayPath = defaultPhoneBody;
+       displayPath.Append("/");
+
+       ParentPath = FolderNavigationPresentationModel::GetParentPath();
+       //_pFileManager->ClearCheckedList();
+
+       if (ParentPath == BasePresentationModel::GetMediaPath() || ParentPath == BasePresentationModel::GetSdCardPath())
+       {
+               _pFileManager->ClearCheckedList();
+               ShowHomeView();
+       }
+       else
+       {
+               ResetFooter();
+               if (_pAudioPlayer != null)
+               {
+                       if (_pAudioPlayer->GetState() == PLAYER_STATE_PLAYING || _pAudioPlayer->GetState() == PLAYER_STATE_PAUSED)
+                       {
+                               _pAudioPlayer->Stop();
+                               _pAudioPlayer->Close();
+                       }
+               }
+               _rootMediaPath.Clear();
+               _rootMediaPath.Append(ParentPath);
+
+               FolderNavigationPresentationModel::SetCurrentFilePath(_rootMediaPath);
+
+               SetParentDisplayPath();
+               SetHeaderTitleText(ParentPath);
+
+               //Remove the current files from the filenames list
+               if (_pFolderEntryPM != null)
+               {
+                       _pFolderEntryPM->SetFolderEntryPath(ParentPath);
+                       //Get the files in the parent path of the current view
+                       _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+                       TryCatch(_pFilenames != null, , "Failed to fetch ArrayList from the ContentBrowser!");
+               }
+
+               if (_pListView != null)
+               {
+                       _pListView->UpdateList();
+                       _storePreviousIndex = 0;
+                       }
+       }
+
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return;
+CATCH:
+       r = E_FAILURE;
+       if (_pFolderEntryPM != null)
+       {
+               delete _pFolderEntryPM;
+               _pFolderEntryPM = null;
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+void
+SubFolderSelection::ShowHomeView(void)
+{
+       SceneManager* pSceneManager = null;
+       String topMostFileSelection(L"ScnTopMostSelectionForm");
+
+       String homeRootPath;
+       homeRootPath.Append(_rootMediaPath);
+
+       while ((homeRootPath != BasePresentationModel::GetMediaPath()) && (homeRootPath != BasePresentationModel::GetSdCardPath()))
+       {
+               FolderNavigationPresentationModel::SetCurrentFilePath(homeRootPath);
+               homeRootPath.Clear();
+               homeRootPath = FolderNavigationPresentationModel::GetParentPath();
+       }
+
+       FolderNavigationPresentationModel::SetCurrentFilePath(homeRootPath);
+
+       pSceneManager = SceneManager::GetInstance();
+       if (pSceneManager != null)
+       {
+               if (pSceneManager->IsSceneAlive(topMostFileSelection))
+               {
+                       pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_TOP_MOST_SELECTION_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT, SCENE_DESTROY_OPTION_DESTROY), null);
+               }
+               else
+               {
+                       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_TOP_MOST_SELECTION_FORM, SCENE_TRANSITION_ANIMATION_TYPE_NONE), null);
+               }
+       }
+}
+
+void
+SubFolderSelection::SetParentDisplayPath(void)
+{
+       String dislayPath;
+       String delim(L"/");
+       String parentDisplayPath;
+       String token;
+
+#if 0
+       DataBindingContext* pContext = null;
+       pContext = GetDataBindingContextN();
+
+       if (pContext != null)
+       {
+               //Update binding on the source to fetch the current display path.
+               pContext->UpdateBinding(L"ID_APPCONTROL_DISPLAY_PATH", DATA_BINDING_DESTINATION_TYPE_SOURCE);
+       }
+#endif
+
+       StringTokenizer tokenizer(__displayPath, delim);
+
+       //Use a string tokenizer to get the filepath until it's the last token, break the loop when
+       //it is the last token
+       while (tokenizer.HasMoreTokens())
+       {
+               int tokenCount = tokenizer.GetTokenCount();
+
+               if (tokenCount != 1)
+               {
+                       tokenizer.GetNextToken(token);
+                       parentDisplayPath.Append(token);
+                       parentDisplayPath.Append(L"/");
+               }
+               else
+               {
+                       break;
+               }
+       }
+
+       //Set the display path to that of the generated filepath from the tokenizer
+       __displayPath = parentDisplayPath;
+
+#if 0
+       if (pContext != null)
+       {
+               //Update Binding on the Target control to display the currently constructed path.
+               pContext->UpdateBinding(L"ID_APPCONTROL_DISPLAY_PATH", DATA_BINDING_DESTINATION_TYPE_TARGET);
+       }
+
+       if (pContext != null)
+       {
+               delete pContext;
+       }
+#endif
+
+       if (__pLabelDisplayPath != null)
+       {
+               __pLabelDisplayPath->SetText(__displayPath);
+               __pLabelDisplayPath->Invalidate(true);
+       }
+}
+
+void
+SubFolderSelection::SetHeaderTitleText(Tizen::Base::String& filePath)
+{
+       String token;
+       String parentFileName;
+       String delimiter(L"/");
+       StringTokenizer tokenizer(filePath, delimiter);
+
+       while (tokenizer.HasMoreTokens())
+       {
+               int tokenCount = tokenizer.GetTokenCount();
+
+               if (tokenCount == 1)
+               {
+                       tokenizer.GetNextToken(parentFileName);
+               }
+               else
+               {
+                       tokenizer.GetNextToken(token);
+               }
+       }
+
+       if (_pHeader != null)
+       {
+               if (!parentFileName.IsEmpty())
+               {
+                       _pHeader->SetTitleText(parentFileName);
+                       _pHeader->Invalidate(true);
+               }
+       }
+}
+
+void
+SubFolderSelection::SetNextDisplayPath(void)
+{
+       String displayPath;
+       String delim(L"/");
+       String token;
+       String fullPath;
+#if 0
+       DataBindingContext* pContext = null;
+       pContext = GetDataBindingContextN();
+#endif
+
+       fullPath = FolderNavigationPresentationModel::GetCurrentPath();
+       //fullPath = __rootMediaPath;
+
+       StringTokenizer tokenizer(fullPath, delim);
+
+       int Counter = 0;
+       switch (_storageType)
+       {
+       case MEMORY_TYPE_PHONE:
+       {
+               Counter = 3;
+       }
+       break;
+
+       case MEMORY_TYPE_SD_CARD:
+       {
+               Counter = 3;
+       }
+       break;
+
+       default:
+               //Do Nothing.
+               break;
+       }
+
+       //Use a string tokenizer to get the filepath until it's the last token, break the loop when
+       //it is the last token
+       while (tokenizer.HasMoreTokens())
+       {
+               if (Counter > 0)
+               {
+                       Counter--;
+                       tokenizer.GetNextToken(token);
+               }
+               else
+               {
+                       tokenizer.GetNextToken(token);
+                       //dislayPath.Append(L"/");
+                       displayPath.Append(token);
+                       displayPath.Append(L"/");
+               }
+       }
+
+       if (__pLabelDisplayPath != null)
+       {
+               __displayPath.Append(displayPath);
+               __pLabelDisplayPath->SetText(__displayPath);
+               __pLabelDisplayPath->Invalidate(true);
+       }
+
+
+#if 0
+       if (pContext != null)
+       {
+               //UpdateBinding on the target label control.
+               pContext->UpdateBinding(L"ID_APPCONTROL_DISPLAY_PATH", DATA_BINDING_DESTINATION_TYPE_TARGET);
+       }
+
+       if (pContext != null)
+       {
+               delete pContext;
+       }
+#endif
+}
+
+void
+SubFolderSelection::OnDataBindingSourceUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName, const Tizen::Base::String& propertyName)
+{
+       //Empty Implementation.
+}
+
+void
+SubFolderSelection::OnDataBindingTargetUpdated(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName, const Tizen::Base::String& propertyName)
+{
+       //Empty Implementation.
+}
+
+void
+SubFolderSelection::OnDataBindingValidationFailed(const Tizen::Base::String& bindingId, const Tizen::Base::String& controlName, const Tizen::Base::String& propertyName, Tizen::Ui::DataBindingDestinationType destType)
+{
+       //Empty Implementation.
+}
+
+void
+SubFolderSelection::OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state)
+{
+       bool setMediaPath = false;
+       MemoryType currentMemoryType = MEMORY_TYPE_PHONE;
+       String unmounted = sdCardStatusUnmounted;
+       String removed = usbDeviceStatusRemoved;
+       String currentPath;
+
+       SceneManager* pSceneManager = null;
+
+       if (state == unmounted || state == removed)
+       {
+               currentPath = FolderNavigationPresentationModel::GetCurrentPath();
+               if (state == unmounted)
+               {
+                       if (currentPath.Contains(BasePresentationModel::GetSdCardPath()))
+                       {
+                               FolderNavigationPresentationModel::SetCurrentFilePath(BasePresentationModel::GetMediaPath());
+                               FolderNavigationPresentationModel::SetStorageType(currentMemoryType);
+                               setMediaPath = true;
+                       }
+               }
+
+               if (state == removed)
+               {
+                       if (currentPath.Contains(BasePresentationModel::GetUsbPath()))
+                       {
+                               FolderNavigationPresentationModel::SetCurrentFilePath(BasePresentationModel::GetMediaPath());
+                               FolderNavigationPresentationModel::SetStorageType(currentMemoryType);
+                               setMediaPath = true;
+                       }
+               }
+
+               if (setMediaPath)
+               {
+                       pSceneManager = SceneManager::GetInstance();
+                       if (pSceneManager != null)
+                       {
+                               pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_TOP_MOST_SELECTION_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT, SCENE_DESTROY_OPTION_DESTROY), null);
+                       }
+               }
+       }
+}
+
+void
+SubFolderSelection::OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state)
+{
+
+       ComponentType currentDeviceType;
+       switch (deviceType)
+       {
+       case StorageCard:
+       {
+               currentDeviceType = COMPONENT_TYPE_STORAGE_CARD;
+       }
+       break;
+
+       case UsbClient:
+       {
+               currentDeviceType = COMPONENT_TYPE_USB;
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing.
+       }
+       break;
+       }
+       OnDeviceChange(currentDeviceType, state);
+}
+
+void
+SubFolderSelection::OnPlayerEndOfClip(void)
+{
+       if (_pListView != null)
+       {
+               _pListView->RefreshList(_currentAudioPlayIndex, LIST_REFRESH_TYPE_ITEM_MODIFY);
+       }
+}
+
+
+void
+SubFolderSelection::OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId)
+{
+       AppLogDebug("ENTER");
+       SceneManager::GetInstance()->RemoveSceneManagerEventListener(*this);
+       AppResource* pAppResource = null;
+       String importText;
+       String displayPath;
+       String phone;
+       String sdCard;
+       String external;
+       String received_Filepath;
+       int receivedStorageType = -1;
+       Tizen::Base::String parentPath;
+
+               pAppResource = Application::GetInstance()->GetAppResource();
+               TryCatch(pAppResource != null, , "Resource manager not found!");
+
+               pAppResource->GetString(L"IDS_COM_OPT_IMPORT", importText);
+               pAppResource->GetString(L"IDS_MF_TAB_PHONE", phone);
+               pAppResource->GetString(L"IDS_MF_TAB_MEMORY_CARD", sdCard);
+               pAppResource->GetString(L"IDS_MF_TAB_EXTERNAL_STORAGE", external);
+               phone.Append(L"/");
+               sdCard.Append(L"/");
+               external.Append(L"/");
+
+               if (_pListView != null)
+               {
+                       _pListView->SetShowState(true);
+               }
+
+               if (__pReceivedFilename != null)
+               {
+                       //pReceived_Filename = static_cast< String* >(pArgs->GetAt(0));
+                       received_Filepath = FolderNavigationPresentationModel::GetCurrentPath();
+                       receivedStorageType = FolderNavigationPresentationModel::GetStorageType();
+
+                       if (__pReceivedFilename != null)
+                       {
+                               _pHeader = GetHeader();
+                               if (_pHeader != null)
+                               {
+                                       _pHeader->SetTitleText(*__pReceivedFilename);
+                                       _pHeader->Invalidate(true);
+                               }
+                       }
+                       if (received_Filepath != null)
+                       {
+
+                               //Clear the rootMediaPath and set it to the received filepath.
+                               if (_rootMediaPath != null)
+                               {
+                                       _rootMediaPath.Clear();
+                                       _rootMediaPath.Append(received_Filepath);
+                               }
+
+                               if (__pLabelDisplayPath != null)
+                               {
+                                       switch (receivedStorageType)
+                                       {
+                                       case MEMORY_TYPE_PHONE:
+                                       {
+                                               __displayPath = phone;
+                                               _storageType = MEMORY_TYPE_PHONE;
+                                               //AppResource::GetInstance()->GetString(L"IDS_MF_TAB_PHONE", __tabSelected);
+                                       }
+                                       break;
+
+                                       case MEMORY_TYPE_SD_CARD:
+                                       {
+                                               __displayPath = sdCard;
+                                               _storageType = MEMORY_TYPE_SD_CARD;
+                                               //AppResource::GetInstance()->GetString(L"IDS_SD_CARD", __tabSelected);
+                                       }
+                                       break;
+
+                                       case MEMORY_TYPE_EXTERNAL:
+                                       {
+                                               __displayPath = external;
+                                               _storageType = MEMORY_TYPE_EXTERNAL;
+                                       }
+                                       break;
+
+                                       default:
+                                       {
+                                               //Empty Implementation.
+                                       }
+                                       break;
+                                       }
+
+                                       //Call the function to set the DisplayPath of the label.
+                                       SetNextDisplayPath();
+                               }
+
+                       }
+               }
+               else
+               {
+                       _rootMediaPath = FolderNavigationPresentationModel::GetCurrentPath();
+               }
+
+               parentPath.Append(_rootMediaPath);
+
+               if (_pFolderEntryPM != null)
+               {
+                       _pFolderEntryPM->SetFolderEntryPath(parentPath);
+                       _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+                       TryCatch(_pFilenames != null, , "Failed to allocate Memory to Filenames ArrayList");
+                       _pFolderEntryPM->InitThumbnailManager();
+               }
+
+       if (_pListView != null)
+       {
+               _pListView->UpdateList();
+       }
+
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return;
+CATCH:
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+void
+SubFolderSelection::OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId)
+{
+
+}
+void SubFolderSelection::OnPlayerAudioFocusChanged (void)
+{
+       int AudioPlayerState = _pAudioPlayer->GetState();
+
+       AppLogDebug("SubFolderSelectionForm %d ++", AudioPlayerState);
+       if (AudioPlayerState == PLAYER_STATE_PAUSED)
+       {
+               AppLogDebug("Pause");
+               AppLogDebug("Refreshing  %d", _currentAudioPlayIndex);
+               _pListView->RefreshList(_currentAudioPlayIndex, LIST_REFRESH_TYPE_ITEM_MODIFY);
+       }
+
+       AppLogDebug("SubFolderSelectionForm--");
+}
diff --git a/src/MfThumbnailItemProviderAndListener.cpp b/src/MfThumbnailItemProviderAndListener.cpp
new file mode 100644 (file)
index 0000000..788800c
--- /dev/null
@@ -0,0 +1,600 @@
+//\r
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.\r
+//\r
+// Licensed under the Flora License, Version 1.0 (the License);\r
+// you may not use this file except in compliance with the License.\r
+// You may obtain a copy of the License at\r
+//\r
+//     http://floralicense.org/license/\r
+//\r
+// Unless required by applicable law or agreed to in writing, software\r
+// distributed under the License is distributed on an AS IS BASIS,\r
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+// See the License for the specific language governing permissions and\r
+// limitations under the License.\r
+//\r
+\r
+/**\r
+ * @file: MfThumbnailItemProviderAndListener.cpp\r
+ * @brief: This file contains the implementation ThumbnailItemProviderAndListener class, which acts as an ItemProvider and Listener\r
+ * for the IconListView control used for the View As Thumbnails Functionality.\r
+ */\r
+\r
+#include "MfThumbnailItemProviderAndListener.h"\r
+\r
+using namespace Tizen::App;\r
+using namespace Tizen::Base;\r
+using namespace Tizen::Base::Collection;\r
+using namespace Tizen::Graphics;\r
+using namespace Tizen::Ui;\r
+using namespace Tizen::Ui::Controls;\r
+using namespace Tizen::Ui::Scenes;\r
+using namespace Tizen::Io;\r
+\r
+static const int ICON_LISTVIEW_RENAME_BOTTON_WIDTH = 42;\r
+static const int ICON_LISTVIEW_RENAME_BOTTON_HEIGHT = 42;\r
+\r
+int ThumbnailItemProviderAndListener::__sourceFromOption;\r
+\r
+ThumbnailItemProviderAndListener::ThumbnailItemProviderAndListener(Tizen::Base::String& filePath, int sourceForm)\r
+: __pFilenames(null)\r
+, __pRenameBitmap(null)\r
+, _pFileEventManager(null)\r
+, __pFolderEntryPM(null)\r
+, __pFolderEntryEventListener(null)\r
+, __pProviderPM(null)\r
+, __pListViewItemStateChangeListener(null)\r
+, __pThumbnailManager(null)\r
+{\r
+       AppLogDebug("ENTER");\r
+\r
+       AppResource* pAppResource = null;\r
+\r
+       pAppResource = Application::GetInstance()->GetAppResource();\r
+       pAppResource->GetString(L"IDS_MF_OPT_SHOW_FILE_EXTENSION", __showExtension);\r
+\r
+       //Set the source which triggered the ItemStateChangedEvent.\r
+       __sourceForm = sourceForm;\r
+\r
+       //Fill the arraylist __pFilenames with the list of files/folder in the received Filepath.\r
+       if (!filePath.IsEmpty())\r
+       {\r
+               __rootMediaPath = filePath;\r
+       }\r
+\r
+       __extensionKeyName.Append(L"ExtensionVisibility");\r
+       __counter = 0;\r
+       __listItemCount = 0;\r
+       __storageType = MEMORY_TYPE_NONE;\r
+\r
+       return;\r
+\r
+\r
+#if 0\r
+       CATCH:\r
+       if (__pFolderEntryPM != null)\r
+       {\r
+               delete __pFolderEntryPM;\r
+               __pFolderEntryPM = null;\r
+       }\r
+#else\r
+       return;\r
+#endif\r
+}\r
+\r
+result\r
+ThumbnailItemProviderAndListener::Construct(FolderEntryPresentationModel* pModel)\r
+{\r
+       result res = E_SUCCESS;\r
+       TryCatch(pModel != null, , "Received PresentataionModel is null!");\r
+\r
+#if 0\r
+       __pContentBrowser = pModel;\r
+#else\r
+       __pFolderEntryPM = __pProviderPM->GetFoldeEntryPresentationModel();\r
+#endif\r
+\r
+       //TryCatch(__pContentBrowser!=null, , "Presentataion Model is null!");\r
+       CATCH:\r
+       return res;\r
+}\r
+ThumbnailItemProviderAndListener::~ThumbnailItemProviderAndListener(void)\r
+{\r
+       //Empty Implementation\r
+\r
+       if (__pRenameBitmap != null)\r
+       {\r
+               delete __pRenameBitmap;\r
+               __pRenameBitmap= null;\r
+       }\r
+}\r
+\r
+void\r
+ThumbnailItemProviderAndListener::OnIconListViewItemStateChanged(Tizen::Ui::Controls::IconListView& listView, int index, Tizen::Ui::Controls::IconListViewItemStatus status)\r
+{\r
+       AppLogDebug("ENTER");\r
+       result r = E_SUCCESS;\r
+       //If the source of the event is from the RootForm's IconListView, Changes the Scene to the SubFolderFileListForm. Else just refreshes the source IconListView.\r
+       DirectoryEntry* pDirStr = null;\r
+\r
+       String fileName;\r
+       String filepath;\r
+       String filePathToPush;\r
+       String displayPath;\r
+       String labelDisplayPath;\r
+       String fullFilePath;\r
+\r
+       Integer* pCopyOrMove = null;\r
+\r
+       ArrayList* pArgs = null;\r
+\r
+       CustomAppControl* pCustomAppControl = null;\r
+\r
+       SceneManager* pSceneManager = SceneManager::GetInstance();\r
+\r
+       //Get the directory structure at this index from the filenames arraylist\r
+       if (__pFilenames != null)\r
+       {\r
+               pDirStr = static_cast< DirectoryEntry* >(__pFilenames->GetAt(index));\r
+\r
+       }\r
+\r
+       //Get the filename of the specified index if pDirStr not null.\r
+       if (pDirStr != null)\r
+       {\r
+               fileName = pDirStr->GetFileName();\r
+               filepath = pDirStr->GetFullFilePath();\r
+\r
+               //Switch the ListView Source to check if the event has been triggered from RootForm or SubForm.\r
+               if (pDirStr->IsDirectory())\r
+               {\r
+                       FolderNavigationPresentationModel::SetCurrentFilePath(filepath);\r
+\r
+                       switch (__sourceForm)\r
+                       {\r
+                       case THUMBNAIL_PROVIDER_SOURCEID_TOP_FOLDER_FILE_LIST_FORM:\r
+                       {\r
+                               //Event Triggered from the RootForm's IconListViewControl, hence call the function to change Scene to SubFolderFileListForm\r
+                               LoadSubDirectoryThumbnailsView(fileName, filepath);\r
+                       }\r
+                       break;\r
+\r
+                       case THUMBNAIL_PROVIDER_SOURCEID_SUB_FOLDER_FILE_LIST_FORM:\r
+                       {\r
+                               //Event Triggered from the SubFolderFileListForm, so just update the source IconListView Control.\r
+\r
+                               pArgs = new (std::nothrow) ArrayList();\r
+                               pArgs->Construct();\r
+\r
+                               //Change the DisplayPath shown on the label of the SubFolderFileListForm.\r
+                               displayPath.Append(fileName);\r
+\r
+                               pArgs->Add(&displayPath);\r
+\r
+                               pSceneManager->GoForward(ForwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pArgs);\r
+\r
+                       }\r
+                       break;\r
+\r
+                       case THUMBNAIL_PROVIDER_SOURCEID_SUB_MOVE_COPY_FORM:\r
+                       {\r
+                               pArgs = new (std::nothrow) ArrayList();\r
+                               pArgs->Construct();\r
+\r
+                               pCopyOrMove = new (std::nothrow) Integer(__sourceFromOption);\r
+\r
+                               pArgs->Add(pCopyOrMove);\r
+\r
+                               pSceneManager->GoForward(ForwardSceneTransition(SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pArgs);\r
+\r
+                       }\r
+                       break;\r
+\r
+                       case THUMBNAIL_PROVIDER_SOURCEID_TOP_MOVE_COPY_FORM:\r
+                       {\r
+                               LoadSubMoveCopyForm(fileName, filepath);\r
+                       }\r
+                       break;\r
+\r
+                       default:\r
+                       {\r
+                               //Do Nothing.\r
+                       }\r
+                       break;\r
+                       }\r
+               }\r
+               else\r
+               {\r
+                       _pathOfSelectedFile = FolderNavigationPresentationModel::GetCurrentPath();\r
+\r
+                       if (__sourceForm != THUMBNAIL_PROVIDER_SOURCEID_SUB_MOVE_COPY_FORM && __sourceForm !=  THUMBNAIL_PROVIDER_SOURCEID_TOP_MOVE_COPY_FORM)\r
+                       {\r
+                               pCustomAppControl = CustomAppControl::GetInstance();\r
+\r
+                               if (pCustomAppControl != null)\r
+                               {\r
+                                       if (_pFileEventManager != null)\r
+                                       {\r
+                                               delete _pFileEventManager;\r
+                                               _pFileEventManager = null;\r
+                                       }\r
+                                       _pFileEventManager = new (std::nothrow)FileEventManager();\r
+                                       _pFileEventManager->Construct(*this);\r
+\r
+                                       AppLogDebug("Path to watch: %S", _pathOfSelectedFile.GetPointer());\r
+                                       r = _pFileEventManager->AddPath(_pathOfSelectedFile, FILE_EVENT_TYPE_MODIFY | FILE_EVENT_TYPE_DELETE );\r
+\r
+                                       __counter = index;\r
+                                       fullFilePath = pDirStr->GetFullFilePath();\r
+\r
+                                       pCustomAppControl->SetAppControlListener(null);\r
+\r
+                                       AppControl* pAppControlInUse = pCustomAppControl->LaunchAppControl(fullFilePath);\r
+                                       if (pAppControlInUse != null)\r
+                                               CustomAppControl::SetAppControlInUse(pAppControlInUse);\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));\r
+\r
+       return;\r
+}\r
+\r
+Tizen::Ui::Controls::IconListViewItem*\r
+ThumbnailItemProviderAndListener::CreateItem(int index)\r
+{\r
+       AppLogDebug("ENTER");\r
+\r
+       result r = E_SUCCESS;\r
+       bool bLoadBitmap = false;\r
+       AppResource* pAppResource = null;\r
+\r
+       String fileName;\r
+       //String iconFilepath;\r
+       String fileExtension;\r
+\r
+       Bitmap* pListBitmap = null;\r
+\r
+       DirectoryEntry* pDirStr = null;\r
+       IconListViewItem* pItem = null;\r
+\r
+       AppRegistry* pAppRegistry = null;\r
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();\r
+\r
+       pAppResource = UiApp::GetInstance()->GetAppResource();\r
+\r
+       TryCatch(pAppResource != null, , "Resource manager not found!");\r
+\r
+       TryCatch(__pProviderPM != null, , "FolderEntry Provider is null!");\r
+\r
+       __pFolderEntryPM = __pProviderPM->GetFoldeEntryPresentationModel();\r
+       TryCatch(__pFolderEntryPM != null, , "FileListPresentationMOdel not found!");\r
+\r
+       __pFilenames = __pFolderEntryPM->GetFolderEntryList();\r
+       TryCatch(__pFilenames != null, , "FileNames list not found!");\r
+\r
+       //Get the directory structure at this index from the filenames arraylist\r
+       pDirStr = static_cast< DirectoryEntry* >(__pFilenames->GetAt(index));\r
+       TryCatch(pDirStr != null, , "MfMyFilesApp::Failed to fetch FileDetails from __pFilenames!");\r
+\r
+       //Get the filename of the specified index\r
+       fileName = pDirStr->GetFileName();\r
+       pAppRegistry->Get(__extensionKeyName, fileExtension);\r
+\r
+       if (fileExtension == __showExtension && !pDirStr->IsDirectory())\r
+       {\r
+               if (!pDirStr->GetFileExtension().IsEmpty())\r
+               {\r
+                       fileName = fileName + "." + pDirStr->GetFileExtension();\r
+               }\r
+       }\r
+\r
+       if (pDirStr->IsDirectory())\r
+       {\r
+               //If selected item is a directory, use the Folder Thumbnail.\r
+               pListBitmap = pAppResource->GetBitmapN(IDB_FOLDER, BITMAP_PIXEL_FORMAT_ARGB8888);\r
+       }\r
+       else\r
+       {\r
+               //If selected item is not a directory, use the thumbnail manager to get the thumbnail.\r
+               //iconFilepath = pDirStr->GetFullFilePath();\r
+               if (pDirStr->GetBitmap() == null)\r
+               {\r
+                       pListBitmap = pAppResource->GetBitmapN(IDB_DUMMY_IMG, BITMAP_PIXEL_FORMAT_ARGB8888);\r
+                       //r = __pProviderPM->GetFoldeEntryPresentationModel()->InitThumbnailManager(index);\r
+                       bLoadBitmap = true;\r
+               }\r
+               else\r
+               {\r
+                       pListBitmap = pDirStr->GetBitmap();\r
+               }\r
+       }\r
+\r
+       TryCatch(pListBitmap != null, , "Failed to allocate Memory to pListBitmap");\r
+       //Create a new IconListViewItem, Construct it.\r
+       pItem = new (std::nothrow) IconListViewItem();\r
+       r = pItem->Construct(*pListBitmap, &fileName);\r
+\r
+       if (__pProviderPM->GetFoldeEntryPresentationModel()->GetSourceForm() == CREATE_ITEM_SOURCE_FILE_MANAGE_FORM)\r
+       {\r
+               Bitmap* __pRenameBitmap = MfUtility::MergeBitmapN(IDB_RENAME_OUTER_CIRCLE, IDB_RENAME, ICON_LISTVIEW_RENAME_BOTTON_WIDTH, ICON_LISTVIEW_RENAME_BOTTON_HEIGHT);\r
+               if (__pRenameBitmap != null)\r
+               {\r
+                       pItem->SetOverlayBitmap(OVERLAYITEM_RENAME,__pRenameBitmap, ALIGNMENT_LEFT, ALIGNMENT_BOTTOM);\r
+                       delete __pRenameBitmap;\r
+               }\r
+\r
+       }\r
+\r
+       if (pDirStr->IsDirectory() || bLoadBitmap)\r
+       {\r
+               if (pListBitmap != null)\r
+               {\r
+                       delete pListBitmap;\r
+                       pListBitmap = null;\r
+               }\r
+       }\r
+\r
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));\r
+       //Return the IconListViewItem constructed\r
+       return pItem;\r
+\r
+CATCH:\r
+       return null;\r
+}\r
+\r
+bool\r
+ThumbnailItemProviderAndListener::DeleteItem(int index, Tizen::Ui::Controls::IconListViewItem* pItem)\r
+{\r
+       //Deletes the IconListViewItem at specified index\r
+       if (pItem != null)\r
+       {\r
+               delete pItem;\r
+               pItem = null;\r
+       }\r
+       return true;\r
+}\r
+\r
+int\r
+ThumbnailItemProviderAndListener::GetItemCount(void)\r
+{\r
+       AppLogDebug("ENTER");\r
+       result r = E_SUCCESS;\r
+       //Gets the ItemCount, return the number of files in the parent directory.\r
+       __listItemCount = 0;\r
+\r
+       TryCatch(__pProviderPM != null, , "Folderentry provide is null!");\r
+       __pFolderEntryPM = __pProviderPM->GetFoldeEntryPresentationModel();\r
+       TryCatch(__pFolderEntryPM != null, , "FileListPM is null!");\r
+#if 0\r
+       if (__pFilenames != null)\r
+               __listItemCount = __pFilenames->GetCount();\r
+#else\r
+       __pFilenames = __pFolderEntryPM->GetFolderEntryList();\r
+       TryCatch(__pFilenames != null, , "FileListPM is null!");\r
+\r
+       __listItemCount = __pFilenames->GetCount();\r
+#endif\r
+\r
+       if (__listItemCount == 0)\r
+       {\r
+               if (__pListViewItemStateChangeListener != null)\r
+               {\r
+                       __pListViewItemStateChangeListener->OnFooterStateChangeNotify();\r
+               }\r
+       }\r
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));\r
+       CATCH:\r
+       return __listItemCount;\r
+}\r
+\r
+\r
+void\r
+ThumbnailItemProviderAndListener::LoadSubDirectoryThumbnailsView(Tizen::Base::String& fileName, Tizen::Base::String& filePath)\r
+{\r
+       AppLogDebug("ENTER");\r
+       //Changes the Scene to the SubDirectoryView when called from the RootDirectory.\r
+       result r = E_SUCCESS;\r
+       ArrayList* pArgs = null;\r
+       SceneManager* pSceneManager = null;\r
+\r
+       if (!filePath.IsEmpty())\r
+       {\r
+               FolderNavigationPresentationModel::SetCurrentFilePath(filePath);\r
+       }\r
+       pArgs = new (std::nothrow) ArrayList;\r
+\r
+       pArgs->Construct();\r
+\r
+       r = pArgs->Add(&fileName);\r
+       TryCatch(r == E_SUCCESS, , "MfMyFilesApp::Failed to Add to ArrayList");\r
+\r
+       pSceneManager = SceneManager::GetInstance();\r
+       TryCatch(pSceneManager != null, , "MfMyFilesApp::Failed to get SceneManager Instace");\r
+\r
+       //r = pSceneManager->GoForward(SCENE_SUB_DIRECTORY_FORM, pArgs, SCENE_TRANSITION_ANIMATION_TYPE_LEFT);\r
+       r = pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SUB_DIRECTORY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pArgs);\r
+\r
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));\r
+       return;\r
+\r
+       CATCH:\r
+       if (pArgs != null)\r
+       {\r
+               pArgs->RemoveAll();\r
+               delete pArgs;\r
+               pArgs = null;\r
+       }\r
+       return;\r
+}\r
+\r
+void\r
+ThumbnailItemProviderAndListener::LoadSubMoveCopyForm(Tizen::Base::String& fileName, Tizen::Base::String& filePath)\r
+{\r
+       AppLogDebug("ENTER");\r
+       result r = E_SUCCESS;\r
+       SceneManager* pSceneManager = null;\r
+\r
+       Integer* pCopyOrMove = null;\r
+       ArrayList* pArg = null;\r
+\r
+       pSceneManager = SceneManager::GetInstance();\r
+       TryCatch(pSceneManager != null, , "failed to Get SceneManager instance");\r
+\r
+       pCopyOrMove = new (std::nothrow) Integer(__sourceFromOption);\r
+\r
+       FolderNavigationPresentationModel::SetCurrentFilePath(filePath);\r
+\r
+       pArg = new (std::nothrow) ArrayList();\r
+       r = pArg->Construct();\r
+\r
+       r = pArg->Add(pCopyOrMove);\r
+       TryCatch(r == E_SUCCESS, , "failed to add pCopyOrMove to parg");\r
+\r
+       //pSceneManager->GoForward(SCENE_SUB_DIRECTORY_MOVE_COPY_FORM,pArg, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT,SCENE_HISTORY_OPTION_NO_HISTORY,SCENE_DESTROY_OPTION_DESTROY);\r
+       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SUB_DIRECTORY_MOVE_COPY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT, SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY), pArg);\r
+\r
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));\r
+       return;\r
+       CATCH:\r
+\r
+       if (pCopyOrMove != null)\r
+       {\r
+               delete pCopyOrMove;\r
+               pCopyOrMove = null;\r
+       }\r
+       if (pArg != null)\r
+       {\r
+               delete pArg;\r
+               pArg = null;\r
+       }\r
+       return;\r
+}\r
+\r
+void\r
+ThumbnailItemProviderAndListener::SetSourceFromOption(int sourceFromOption)\r
+{\r
+       __sourceFromOption = sourceFromOption;\r
+}\r
+\r
+\r
+result\r
+ThumbnailItemProviderAndListener::SetRootPath(const String& rootMediaPath)\r
+{\r
+       if (!rootMediaPath.IsEmpty())\r
+       {\r
+               __rootMediaPath = rootMediaPath;\r
+               //__pContentBrowser->SetDirectoryPath(__rootMediaPath);\r
+               //__pFilenames = __pContentBrowser->GetDirectoryEntryList();\r
+               //TryCatch(__pFilenames!=null, , "MfMyFilesApp::Failed to Allocate Memory to __pFilenames!");\r
+       }\r
+       return E_SUCCESS;\r
+}\r
+\r
+void\r
+ThumbnailItemProviderAndListener::OnAppControlCompleteResponseReceived(const Tizen::App::AppId& appId, const Tizen::Base::String& operationId, Tizen::App::AppCtrlResult appControlResult, const Tizen::Base::Collection::IMap* pExtraData)\r
+{\r
+       //Empty Implementation.\r
+\r
+       CustomAppControl::GetInstance()->SetAppControlInUse(null);\r
+       AppLogDebug("OnAppControlCompleteResponseReceived++");\r
+       if ( __pProviderPM && __pProviderPM->GetFoldeEntryPresentationModel())\r
+       {\r
+               AppLogDebug("OnAppControlCompleteResponseReceived : Init++");\r
+               __pProviderPM->GetFoldeEntryPresentationModel()->RefreshFolderEntries();\r
+               if (__pListViewItemStateChangeListener != null)\r
+               {\r
+                       __pListViewItemStateChangeListener->OnIconListViewItemStateChangeNotify();\r
+               }\r
+\r
+               __pProviderPM->GetFoldeEntryPresentationModel()->InitThumbnailManager();\r
+       }\r
+       AppLogDebug("OnAppControlCompleteResponseReceived--");\r
+}\r
+\r
+result\r
+ThumbnailItemProviderAndListener::SetFooterItemStateChangeListener(IListViewStateChangeListener* listener)\r
+{\r
+       result r = E_SUCCESS;\r
+       __pListViewItemStateChangeListener = listener;\r
+\r
+       return r;\r
+}\r
+\r
+result\r
+ThumbnailItemProviderAndListener::StopThumbnailRequest(void)\r
+{\r
+       result res = E_SUCCESS;\r
+       AppLogDebug("ENTER");\r
+#if 0\r
+       TryCatch(__pContentBrowser != null, , "FileListPresentationModel not found!");\r
+       __pContentBrowser->StopThumbnailManager();\r
+       CATCH:\r
+#endif\r
+       AppLogDebug("Exit : %s ", GetErrorMessage(res));\r
+       return res;\r
+}\r
+result\r
+ThumbnailItemProviderAndListener::OnThumbnailResponseReceived(Tizen::Graphics::Bitmap* pThumb, int iIndex)\r
+{\r
+       result res = E_SUCCESS;\r
+       TryCatch((pThumb != null) && (iIndex >= 0), res = E_FAILURE, "Invalid Arguments");\r
+#if 0\r
+       __pContentBrowser->OnThumbnailResponseReceived(pThumb, iIndex);\r
+#endif\r
+       CATCH:\r
+       return res;\r
+}\r
+//Ends\r
+void\r
+ThumbnailItemProviderAndListener::SetFolderEntryProvider(IFolderEntryProviderListener* pProvider)\r
+{\r
+       __pProviderPM = pProvider;\r
+}\r
+\r
+int\r
+ThumbnailItemProviderAndListener::GetPressedIndex(void)\r
+{\r
+       return __counter;\r
+}\r
+\r
+void\r
+ThumbnailItemProviderAndListener::SetFileEventListener(IFolderEntryEventListener* pIFileEventNotification)\r
+{\r
+       //__pFolderEntryEventListener = pIFileEventNotification;\r
+}\r
+\r
+ThumbnailItemProviderAndListener::ThumbnailItemProviderAndListener(const ThumbnailItemProviderAndListener& thumbnailItemProviderAndListener)\r
+{\r
+       //Empty Implementation.\r
+}\r
+\r
+ThumbnailItemProviderAndListener&\r
+ThumbnailItemProviderAndListener::operator =(const ThumbnailItemProviderAndListener& thumbnailItemProviderAndListener)\r
+{\r
+       return *this;\r
+}\r
+void\r
+ThumbnailItemProviderAndListener::OnFileEventOccured(const unsigned long events, const Tizen::Base::String& path, const unsigned int eventId)\r
+{\r
+       AppLogDebug("Enter");\r
+       result r = E_SUCCESS;\r
+       r = _pFileEventManager->RemovePath(_pathOfSelectedFile);\r
+\r
+       TryCatch(r == E_SUCCESS, ,"Remove path failed");\r
+       if ( __pProviderPM && __pProviderPM->GetFoldeEntryPresentationModel())\r
+       {\r
+               __pProviderPM->GetFoldeEntryPresentationModel()->RefreshFolderEntries();\r
+               if (__pListViewItemStateChangeListener != null)\r
+               {\r
+                       __pListViewItemStateChangeListener->OnIconListViewItemStateChangeNotify();\r
+               }\r
+               __pProviderPM->GetFoldeEntryPresentationModel()->InitThumbnailManager();\r
+       }\r
+\r
+       AppLogDebug("Exit : %s", GetErrorMessage(r));\r
+       return;\r
+       CATCH:\r
+       return;\r
+}\r
diff --git a/src/MfThumbnailManager.cpp b/src/MfThumbnailManager.cpp
new file mode 100644 (file)
index 0000000..84a36bf
--- /dev/null
@@ -0,0 +1,638 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: ThumbnailManager.cpp
+ * @brief: This file contains the implementation of ThumbnailManager class,
+ * which manages creation of Thumbnails for each folder entry.
+ */
+
+#include <FApp.h>
+#include <FBase.h>
+#include <FContent.h>
+#include <FGraphics.h>
+#include <FMedia.h>
+
+#include "MfThumbnailManager.h"
+#include "MfUtility.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Graphics;
+
+static ThumbnailManager* thumbnailManager = null;
+
+#if 0
+static const wchar_t* IDB_VIDEO_PLAY_THUMB_BIG = L"U01_thumbnail_icon_video.png";
+#endif
+
+using namespace     Tizen::App;
+using namespace     Tizen::Base;
+using namespace     Tizen::Base::Collection;
+using namespace     Tizen::Base::Runtime;
+using namespace     Tizen::Content;
+using namespace     Tizen::Graphics;
+using namespace     Tizen::Media;
+
+ThumbnailManager*
+ThumbnailManager::GetInstance(void)
+{
+       if (thumbnailManager == null)
+       {
+               CreateInstance();
+       }
+       return thumbnailManager;
+}
+
+void
+ThumbnailManager::CreateInstance(void)
+{
+       result r = E_SUCCESS;
+
+       thumbnailManager = new (std::nothrow) ThumbnailManager();
+       r = thumbnailManager->Construct();
+
+
+       if (r != E_SUCCESS)
+       {
+               DeleteInstance();
+               return;
+       }
+
+       std::atexit(DeleteInstance);
+}
+
+void
+ThumbnailManager::DeleteInstance(void)
+{
+       if (thumbnailManager != null)
+       {
+               /*thumbnailManager->Stop();
+               thumbnailManager->Join();*/
+
+               delete thumbnailManager;
+               thumbnailManager = null;
+       }
+}
+result
+ThumbnailManager::Construct(void)
+{
+       result r = E_FAILURE;
+       r = Thread::Construct(THREAD_TYPE_EVENT_DRIVEN);
+
+       AppResource* pAppResource = null;
+       pAppResource = Application::GetInstance()->GetAppResource();
+
+       __pDummyImage = pAppResource->GetBitmapN(IDB_DUMMY_IMG, BITMAP_PIXEL_FORMAT_ARGB8888);
+
+       r = Start();
+       return r;
+}
+
+ThumbnailManager::ThumbnailManager(void)
+       : __pCurrentThumbReq(null)
+       , __pDummyImage(null)
+{
+       //Empty Implementation.
+}
+
+ThumbnailManager::~ThumbnailManager(void)
+{
+       ClearCurrentThumbRequest();
+       delete __pDummyImage;
+}
+
+ThumbnailManager::ThumbnailManager(const ThumbnailManager& thumbnailManager)
+{
+       __pCurrentThumbReq = null;
+}
+
+ThumbnailManager&
+ThumbnailManager::operator =(const ThumbnailManager& thumbnailManager)
+{
+       if (this != &thumbnailManager)
+       {
+               __pCurrentThumbReq = thumbnailManager.__pCurrentThumbReq;
+       }
+       return *this;
+
+}
+
+ThumbMgrResultValues
+ThumbnailManager::GetThumbnail(ThumbRequest* pRequest)
+{
+       result r = E_SUCCESS;
+       ThumbMgrResultValues thumbMgrRes = THUMB_MGR_RES_SUCCESS;
+
+       AppResource* pAppResource = null;
+
+       Bitmap* pTempBitmap = null;
+       Bitmap* pBitmapToMerge = null;
+       Bitmap* pMergedThumbnail = null;
+
+       ImageMetadata* pImageMeta = null;
+       ImageBuffer* pImage = null;
+       VideoFrameExtractor extractor;
+
+       Bitmap* pTmpBmp = null;
+
+       bool GenerateThumbnail = false;
+       bool IsVideoFile = false;
+
+
+       TryCatch((pRequest != null) && (pRequest->iRquestId > -1) && (pRequest->FilePath.IsEmpty() == false), thumbMgrRes = THUMB_MGR_RES_FAILED, "ThumbRequest is NULL, Thumbnail genrataion failed!");
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       pBitmapToMerge = pAppResource->GetBitmapN(IDB_VIDEO_PLAY_SMALL, BITMAP_PIXEL_FORMAT_ARGB8888);
+       if (pBitmapToMerge != null)
+       {
+               pBitmapToMerge->Scale(Dimension(ID_THUMBNAIL_WIDH, ID_THUMBNAIL_HEIGHT));
+       }
+
+       //Generate thumbnail
+       pTempBitmap = MakeBitmapN(pRequest->FilePath, GenerateThumbnail, IsVideoFile);
+       if (GenerateThumbnail)
+       {
+               if (IsVideoFile)
+               {
+                r = extractor.Construct(pRequest->FilePath, MEDIA_PIXEL_FORMAT_BGRA8888);
+
+               // Extracts video frames from the video file
+               if (!IsFailed(r))
+               {
+                       pImage = extractor.GetFrameN(0);
+                       if  ( pImage )
+                       {
+                               pRequest->pBitmap = pImage->GetBitmapN(BITMAP_PIXEL_FORMAT_ARGB8888, BUFFER_SCALING_AUTO);
+                               TryCatch(pRequest->pBitmap != null, r = E_OUT_OF_MEMORY, "FRAMEEXTRACTOR : failed to allocate memory to pTempBitmap");
+
+                               delete pImage;
+                               pImage = null;
+                       }
+               }
+               if( pRequest->pBitmap==null)
+               {
+                       pRequest->pBitmap = new (std::nothrow) Bitmap();
+                       if (__pDummyImage)
+                               r = pRequest->pBitmap->Construct(*__pDummyImage, Rectangle(0, 0, __pDummyImage->GetWidth(), __pDummyImage->GetHeight()));
+               }
+
+               if (pBitmapToMerge)
+               {
+                       pMergedThumbnail = MfUtility::MergeBitmapN(pRequest->pBitmap, pBitmapToMerge, ID_THUMBNAIL_WIDH, ID_THUMBNAIL_HEIGHT);
+                       if (pMergedThumbnail != null)
+                       {
+                               pRequest->pBitmap = pMergedThumbnail;
+                               AppLogDebug("Bitmap Merging Completed Successfully: [%s]", GetErrorMessage(GetLastResult()));
+                       }
+                       pBitmapToMerge = null;
+               }
+               if (pTempBitmap)
+               {
+                       delete pTempBitmap;
+                       pTempBitmap = null;
+               }
+
+               thumbMgrRes = THUMB_MGR_RES_SUCCESS;
+               }
+               else
+               {
+                       pImageMeta = ContentManagerUtil::GetImageMetaN(pRequest->FilePath);
+                       if (pImageMeta)
+                       {
+                               pTmpBmp = pImageMeta->GetThumbnailN();
+                               if (pTmpBmp)
+                               {
+                                       pRequest->pBitmap = pTmpBmp;
+                                       delete pTempBitmap;
+                               }
+                               else
+                                       pRequest->pBitmap = pTempBitmap;
+
+                               delete pImageMeta;
+                       }
+                       else
+                               pRequest->pBitmap = pTempBitmap;
+
+                       thumbMgrRes = THUMB_MGR_RES_SUCCESS;
+               }
+       }
+       else
+       {
+               TryCatch(pTempBitmap != null, thumbMgrRes = THUMB_MGR_RES_FAILED, "Thumbnail generation failed");
+               thumbMgrRes = THUMB_MGR_RES_SUCCESS;
+               pRequest->pBitmap = pTempBitmap;
+       }
+
+       if (pBitmapToMerge != null)
+       {
+               delete pBitmapToMerge;
+               pBitmapToMerge = null;
+       }
+
+       return thumbMgrRes;
+CATCH:
+       AppLogDebug("Exit [%s]:", GetErrorMessage(r));
+
+       if (pRequest != null)
+       {
+               pRequest->pBitmap = null;
+       }
+
+       if (pTempBitmap != null)
+               delete pTempBitmap;
+       
+       if (pMergedThumbnail)
+               delete pMergedThumbnail;
+       
+       return thumbMgrRes;
+}
+
+
+Bitmap*
+ThumbnailManager::GetThumbnailN(Tizen::Base::String& FilePath, Tizen::Graphics::Dimension& Dim)
+{
+       bool GenerateThumbnail = false;
+       bool IsVideoFile = false;
+       result r = E_SUCCESS;
+
+       Bitmap* pTempBitmap = null;
+       Bitmap* pThumbBitmap = null;
+       Bitmap* pTmpBmp = null;
+
+       ImageMetadata* pImageMeta = null;
+
+       if (FilePath.IsEmpty() || FilePath.GetLength() == 0)
+       {
+               return null;
+       }
+
+       pTempBitmap = MakeBitmapN(FilePath, GenerateThumbnail, IsVideoFile);
+       TryCatch(pTempBitmap != null, r = E_FAILURE, "Thumbnail Geneeration failed");
+
+       if (GenerateThumbnail)
+       {
+               if (IsVideoFile)
+               {
+                       VideoFrameExtractor extractor;
+                       result r = extractor.Construct(FilePath, MEDIA_PIXEL_FORMAT_BGRA8888);
+
+                       // Extracts video frames from the video file
+                       ImageBuffer* pImage = extractor.GetFrameN(0);
+                       if  ( pImage )
+                       {
+                               pThumbBitmap = pImage->GetBitmapN(BITMAP_PIXEL_FORMAT_ARGB8888, BUFFER_SCALING_AUTO);
+                               TryCatch(pThumbBitmap != null, r = E_OUT_OF_MEMORY, "FRAMEEXTRACTOR : failed to allocate memory to pTempBitmap");
+                       }
+
+               }
+               else
+               {
+                       pImageMeta = ContentManagerUtil::GetImageMetaN(FilePath);
+                       if (pImageMeta)
+                       {
+
+                               pTmpBmp = pImageMeta->GetThumbnailN();
+                               if (pTmpBmp)
+                               {
+                                       pThumbBitmap = new (std::nothrow) Bitmap();
+                                       TryCatch(pThumbBitmap != null, r = E_OUT_OF_MEMORY, "failed to allocate memory to pTempBitmap");
+                                       pThumbBitmap->Construct(*pTmpBmp, Rectangle(0, 0, Dim.width, Dim.height));
+
+                               }
+                               else
+                                       pThumbBitmap = pTempBitmap;
+
+                               delete pTmpBmp;
+                               pTmpBmp = null;
+
+                               delete pImageMeta;
+                               pImageMeta = null;
+                       }
+               }
+       }
+       else
+       {
+               TryCatch(pTempBitmap != null, r = E_FAILURE, "Thumbnail Generation failed");
+               pThumbBitmap = pTempBitmap;
+       }
+       return pThumbBitmap;
+
+CATCH:
+
+       if (pImageMeta)
+               delete pImageMeta;
+       if (pTempBitmap != null)
+       {
+               delete pTempBitmap;
+               pTempBitmap = null;
+       }
+       return null;
+
+}
+
+Bitmap*
+ThumbnailManager::MakeBitmapN(const Tizen::Base::String& FilePath, bool& makeThumbnail, bool& bVideo)
+{
+       result r = E_SUCCESS;
+
+       ImageBuffer* imageBuffer = null;
+       Bitmap* pTempBitmap = null;
+       AppResource* pAppResource = null;
+
+       BitmapPixelFormat pixelFormat = BITMAP_PIXEL_FORMAT_MIN;
+       ThumbMgrResultValues thumbMgrRes = THUMB_MGR_RES_SUCCESS;
+       String TempFilePath;
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, r = E_OUT_OF_MEMORY, "Could not locate app resource manager!");
+
+       if (FilePath.IsEmpty() || FilePath.GetLength() == 0)
+               return null;
+
+       if (FilePath.EndsWith(L"jpg") || FilePath.EndsWith(L"JPG") || FilePath.EndsWith(L"bmp") || FilePath.EndsWith(L"BMP") ||
+               FilePath.EndsWith(L"gif") || FilePath.EndsWith(L"GIF") || FilePath.EndsWith(L"jpeg") || FilePath.EndsWith(L"JPEG"))
+       {
+               pixelFormat = BITMAP_PIXEL_FORMAT_RGB565;
+               makeThumbnail = true;
+               bVideo = false;
+               return null;
+       }
+       else if (FilePath.EndsWith(L"png") || FilePath.EndsWith(L"PNG"))
+       {
+               pixelFormat = BITMAP_PIXEL_FORMAT_ARGB8888;
+               makeThumbnail = true;
+               bVideo = false;
+               return null;
+       }
+       else if (FilePath.EndsWith(L"3gp") || FilePath.EndsWith(L"3GP")
+                        || FilePath.EndsWith(L"avi") || FilePath.EndsWith(L"AVI")
+                        || FilePath.EndsWith(L"mp4") || FilePath.EndsWith(L"MP4")
+                        || FilePath.EndsWith(L"mpeg") || FilePath.EndsWith(L"MPEG")
+                        || FilePath.EndsWith(L"mkv") || FilePath.EndsWith(L"MKV")
+                        || FilePath.EndsWith(L"wmv") || FilePath.EndsWith(L"WMV")
+                       || FilePath.EndsWith(L"mov") || FilePath.EndsWith(L"MOV")
+                       || FilePath.EndsWith(L"dat") || FilePath.EndsWith(L"DAT")
+                       || FilePath.EndsWith(L"flv") || FilePath.EndsWith(L"FLV"))
+       {
+               makeThumbnail = true;
+               bVideo = true;
+               return null;
+       }
+       else if (FilePath.EndsWith(L"pdf") || FilePath.EndsWith(L"PDF"))
+       {
+               pixelFormat = BITMAP_PIXEL_FORMAT_ARGB8888;
+               pTempBitmap = pAppResource->GetBitmapN(IDB_PDF, pixelFormat);
+               makeThumbnail = false;
+               return pTempBitmap;
+       }
+       else if (FilePath.EndsWith(L"doc") || FilePath.EndsWith(L"DOC"))
+       {
+               pixelFormat = BITMAP_PIXEL_FORMAT_ARGB8888;
+               pTempBitmap = pAppResource->GetBitmapN(IDB_MS_WORD, pixelFormat);
+               makeThumbnail = false;
+               return pTempBitmap;
+       }
+       else if (FilePath.EndsWith(L"docx") || FilePath.EndsWith(L"DOCX"))
+       {
+               pixelFormat = BITMAP_PIXEL_FORMAT_ARGB8888;
+               pTempBitmap = pAppResource->GetBitmapN(IDB_MS_WORD, pixelFormat);
+               makeThumbnail = false;
+               return pTempBitmap;
+       }
+       else if (FilePath.EndsWith(L"xls") || FilePath.EndsWith(L"XLS"))
+       {
+               pixelFormat = BITMAP_PIXEL_FORMAT_ARGB8888;
+               pTempBitmap = pAppResource->GetBitmapN(IDB_MS_EXCEL, pixelFormat);
+               makeThumbnail = false;
+               return pTempBitmap;
+       }
+       else if (FilePath.EndsWith(L"xlsx") || FilePath.EndsWith(L"XLSX"))
+       {
+               pixelFormat = BITMAP_PIXEL_FORMAT_ARGB8888;
+               pTempBitmap = pAppResource->GetBitmapN(IDB_MS_EXCEL, pixelFormat);
+               makeThumbnail = false;
+               return pTempBitmap;
+       }
+       else if (FilePath.EndsWith(L"ppt") || FilePath.EndsWith(L"PPT"))
+       {
+               pixelFormat = BITMAP_PIXEL_FORMAT_ARGB8888;
+               pTempBitmap = pAppResource->GetBitmapN(IDB_MS_PPT, pixelFormat);
+               makeThumbnail = false;
+               return pTempBitmap;
+       }
+       else if (FilePath.EndsWith(L"pptx") || FilePath.EndsWith(L"PPTX"))
+       {
+               pixelFormat = BITMAP_PIXEL_FORMAT_ARGB8888;
+               pTempBitmap = pAppResource->GetBitmapN(IDB_MS_PPT, pixelFormat);
+               makeThumbnail = false;
+               return pTempBitmap;
+       }
+       else if ( FilePath.EndsWith(L"mp3") || FilePath.EndsWith(L"MP3") ||
+                       FilePath.EndsWith(L"wmp") || FilePath.EndsWith(L"WMP") ||
+                       FilePath.EndsWith(L"aac") || FilePath.EndsWith(L"AAC") ||
+                       FilePath.EndsWith("ra") || FilePath.EndsWith("RA")||
+                       FilePath.EndsWith("amr") || FilePath.EndsWith("AMR") ||
+                       FilePath.EndsWith("wav") || FilePath.EndsWith("WAV") ||
+                       FilePath.EndsWith("wave") || FilePath.EndsWith("WAVE") ||
+                       FilePath.EndsWith("ogg") || FilePath.EndsWith("OGG")
+                       /* ||FilePath.EndsWith("wma") || FilePath.EndsWith("WMA")
+                       FilePath.EndsWith("m4a") || FilePath.EndsWith("M4A") ||
+                       FilePath.EndsWith("vorbis") || FilePath.EndsWith("VORBIS") ||
+                       FilePath.EndsWith("amr-wb") || FilePath.EndsWith("AMR-WB") */)
+       {
+               pixelFormat = BITMAP_PIXEL_FORMAT_ARGB8888;
+               makeThumbnail = false;
+               pTempBitmap = pAppResource->GetBitmapN(IDB_MUSIC, pixelFormat);
+               return pTempBitmap;
+       }
+       else if (FilePath.EndsWith(L"html") || FilePath.EndsWith(L"HTML") || FilePath.EndsWith(L"htm") ||
+                       FilePath.EndsWith(L"HTM") || FilePath.EndsWith(L"JS") || FilePath.EndsWith(L"js"))
+       {
+               pixelFormat = BITMAP_PIXEL_FORMAT_ARGB8888;
+               makeThumbnail = false;
+               pTempBitmap = pAppResource->GetBitmapN(IDB_HTML, pixelFormat);
+               return pTempBitmap;
+       }
+       else if (FilePath.EndsWith(L"rss") || FilePath.EndsWith(L"RSS"))
+       {
+               pixelFormat = BITMAP_PIXEL_FORMAT_ARGB8888;
+               makeThumbnail = false;
+               pTempBitmap = pAppResource->GetBitmapN(IDB_RSS, pixelFormat);
+               return pTempBitmap;
+       }
+       else if (FilePath.EndsWith(L"txt") || FilePath.EndsWith(L"TXT"))
+       {
+               pixelFormat = BITMAP_PIXEL_FORMAT_ARGB8888;
+               makeThumbnail = false;
+               pTempBitmap = pAppResource->GetBitmapN(IDB_TEXT, pixelFormat);
+               return pTempBitmap;
+       }
+       else if (FilePath.EndsWith(L"SVF") || FilePath.EndsWith(L"svg"))
+       {
+               pixelFormat = BITMAP_PIXEL_FORMAT_ARGB8888;
+               pTempBitmap = pAppResource->GetBitmapN(IDB_SVG, pixelFormat);
+               makeThumbnail = false;
+               return pTempBitmap;
+       }
+       else if (FilePath.EndsWith(L"swf") || FilePath.EndsWith(L"SWF"))
+       {
+               pixelFormat = BITMAP_PIXEL_FORMAT_ARGB8888;
+               makeThumbnail = false;
+               pTempBitmap = pAppResource->GetBitmapN(IDB_SWF, pixelFormat);
+               return pTempBitmap;
+       }
+       else        //unknown File type
+       {
+               pixelFormat = BITMAP_PIXEL_FORMAT_ARGB8888;
+               makeThumbnail = false;
+               pTempBitmap = pAppResource->GetBitmapN(IDB_UNKNOWN, pixelFormat);
+               return pTempBitmap;
+       }
+       //End of Changes.
+
+       //Generate thumbnail
+       imageBuffer = new (std::nothrow) ImageBuffer();
+       TryCatch(imageBuffer != null, thumbMgrRes = THUMB_MGR_RES_FAILED, "Failed to allocate memory to imageBuffer");
+
+       r = imageBuffer->Construct(FilePath, null, true);
+       TryCatch(r == E_SUCCESS, thumbMgrRes = THUMB_MGR_RES_FAILED, "Failed to construct to image decoder");
+
+       pTempBitmap = imageBuffer->GetBitmapN(pixelFormat, BUFFER_SCALING_AUTO);
+       TryCatch(pTempBitmap != null, thumbMgrRes = THUMB_MGR_RES_FAILED, "Failed to decode bitmap");
+
+       if (imageBuffer != null)
+       {
+               delete imageBuffer;
+               imageBuffer = null;
+       }
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+       return pTempBitmap;
+
+CATCH:
+       makeThumbnail = false;
+       bVideo = false;
+
+       if (imageBuffer != null)
+       {
+               delete imageBuffer;
+               imageBuffer = null;
+       }
+       if (pTempBitmap != null)
+       {
+               delete pTempBitmap;
+               pTempBitmap = null;
+       }
+       return null;
+}
+result
+ThumbnailManager::SetThumbnailSize(void /*Tizen::Graphics::Dimension& dim*/)
+{
+       //__Dimention = dim;
+       return E_SUCCESS;
+}
+
+Tizen::Graphics::Dimension&
+ThumbnailManager::GetDefaultThumbSize(void)
+{
+       return __Dimension;
+}
+
+result
+ThumbnailManager::ClearCurrentThumbRequest(void)
+{
+       result r = E_SUCCESS;
+       if (__pCurrentThumbReq)
+       {
+               __pCurrentThumbReq = null;
+       }
+       return r;
+}
+void
+ThumbnailManager::OnUserEventReceivedN(RequestId requestId, Tizen::Base::Collection::IList* pArgs)
+{
+       ThumbRequest* pTempThumbReq = null;
+       ArrayList* pTempArrayList = null;
+       result r = E_SUCCESS;
+
+       switch (requestId)
+       {
+       case ThumbnailManager::THUMB_MGR_GET_THUMBNAIL:
+       {
+               TryCatch(pArgs != null, r = E_FAILURE, "Argument list is null");
+               pTempThumbReq = (ThumbRequest*) pArgs->GetAt(0);
+               TryCatch(pTempThumbReq != null, r = E_FAILURE, "Request is null!");
+
+               __pCurrentThumbReq = pTempThumbReq;
+               TryCatch(__pCurrentThumbReq != null, , "E_FAILURE Current Request is null");
+
+               pTempArrayList = new (std::nothrow) ArrayList();
+               pTempArrayList->Construct();
+
+               if (GetThumbnail(__pCurrentThumbReq) == THUMB_MGR_RES_SUCCESS)
+               {
+                       pTempArrayList->Add(pTempThumbReq);
+                       Application::GetInstance()->SendUserEvent(THUMBNAIL_LAODED, pTempArrayList);
+               }
+               else
+               {
+                       if (__pCurrentThumbReq != null)
+                       {
+                               if (__pCurrentThumbReq->pBitmap != null)
+                               {
+                                       delete __pCurrentThumbReq->pBitmap;
+                                       __pCurrentThumbReq->pBitmap = null;
+                               }
+                       }
+                       Application::GetInstance()->SendUserEvent(THUMBNAIL_FAILED, null);
+               }
+       }
+       break;
+
+       case ThumbnailManager::THUMB_MGR_STOP:
+       {
+               ClearCurrentThumbRequest();
+       }
+       break;
+
+       default:
+       {
+               AppLogDebug("Unsupported case reached!");
+               Application::GetInstance()->SendUserEvent(THUMBNAIL_CANCELED, null);
+       }
+       break;
+       }
+       return;
+CATCH:
+       ClearCurrentThumbRequest();
+       if (pArgs)
+       {
+               pArgs->RemoveAll(true);
+               delete pArgs;
+       }
+       Application::GetInstance()->SendUserEvent(THUMBNAIL_FAILED, null);
+       return;
+}
+
+result
+ThumbnailManager::StopThumbnailManagerThread(void)
+{
+       result r = E_SUCCESS;
+       r = Stop();
+       r = Join();
+       AppLogDebug("Exit : %s", GetErrorMessage(r));
+       return r;
+}
diff --git a/src/MfTopMostFileSelectionForm.cpp b/src/MfTopMostFileSelectionForm.cpp
new file mode 100644 (file)
index 0000000..e8697cc
--- /dev/null
@@ -0,0 +1,1194 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file:MfTopMostFileSelectionForm.cpp
+ * @brief:This file contains the implementation of TopMostFileSelectionForm class, which acts as a view for Appcontrol launch.
+ * When MfMyFilesApp is launched from other applications, this view will be enabled.
+ */
+
+#include "MfMyFilesApp.h"
+#include "MfSceneRegister.h"
+#include "MfTopMostFileSelectionForm.h"
+#include "MfUtility.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Graphics;
+using namespace Tizen::Io;
+using namespace Tizen::Locales;
+using namespace Tizen::Media;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+TopMostFileSelectionForm::TopMostFileSelectionForm(void)
+       : __pCheckButtonSelectAll(null)
+{
+       __bCheckNullArgs = false;
+       //empty Implementation
+}
+
+TopMostFileSelectionForm::~TopMostFileSelectionForm(void)
+{
+       //empty Implementation
+}
+
+bool
+TopMostFileSelectionForm::Initialize(void)
+{
+       AppLogDebug("Entry:TopMostFileSelectionForm::Initialize");
+       Form::Construct(L"IDL_TOP_MOST_FILE_SELECTION");
+       return true;
+}
+
+TopMostFileSelectionForm&
+TopMostFileSelectionForm::operator =(const TopMostFileSelectionForm& topMostFileSelectionForm)
+{
+       return *this;
+}
+
+TopMostFileSelectionForm::TopMostFileSelectionForm(const TopMostFileSelectionForm& topMostFileSelectionForm)
+{
+       //Do Nothing
+}
+
+result
+TopMostFileSelectionForm::OnInitializing(void)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       String buttonCancel;
+       String buttonAttach;
+       String buttonCreate;
+       String buttonExport;
+       String buttonImport;
+       String displayPath;
+       String importText;
+
+
+       Rectangle checkButtonBounds(GetClientAreaBounds().x, 0, GetClientAreaBounds().width, H_CHECK_BUTTON);
+
+       CreateItemSource createitemsource = CREATE_ITEM_SOURCE_TOP_MOST_SELECTION;
+
+       AppResource* pAppResource = null;
+
+       _pListView = static_cast< ListView* >(GetControl("IDC_TOP_MOST_SELECTION_LISTVIEW"));
+       TryCatch(_pListView != null, , "Failed to get list view control");
+
+       _pListView->AddListViewItemEventListener(*this);
+       _pListView->SetItemProvider(*this);
+
+       _selectionMode = ((MyFilesApp*) Application::GetInstance())->GetCurrentSelectionMode();
+       _currentFileType = ((MyFilesApp*) Application::GetInstance())->GetCurrentFileType();
+       _currentViewStyle = ((MyFilesApp*) Application::GetInstance())->GetCurrentView();
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Resource manager not found!");
+
+       _pFolderBitmap = pAppResource->GetBitmapN(IDB_FOLDER, BITMAP_PIXEL_FORMAT_ARGB8888);
+       _pDummyImage = pAppResource->GetBitmapN(IDB_DUMMY_IMG, BITMAP_PIXEL_FORMAT_ARGB8888);
+
+       pAppResource->GetString(L"IDS_COM_POP_ATTACH", buttonAttach);
+       pAppResource->GetString(L"IDS_COM_POP_CANCEL", buttonCancel);
+       pAppResource->GetString(L"IDS_COM_OPT_IMPORT", importText);
+
+       __pCheckButtonSelectAll = static_cast< CheckButton* >(GetControl(L"IDC_CHECK_BUTTON_APP_CONTROL"));
+       if (__pCheckButtonSelectAll != null)
+       {
+               if (_currentViewStyle == APPCONTROL_VIEW_IMPORT)
+               {
+                       __pCheckButtonSelectAll->SetShowState(true);
+                       __pCheckButtonSelectAll->AddActionEventListener(*this);
+                       __pCheckButtonSelectAll->SetActionId(IDA_BTN_CHECKED, IDA_BTN_UNCHECKED);
+                       __pCheckButtonSelectAll->SetBounds(checkButtonBounds);
+                       _pListView->SetBounds(GetClientAreaBounds().x, GetClientAreaBounds().y, GetClientAreaBounds().width, GetClientAreaBounds().height - __pCheckButtonSelectAll->GetHeight());
+
+               }
+               else
+               {
+                       __pCheckButtonSelectAll->SetShowState(false);
+               }
+       }
+
+       if (_pAudioPlay == null)
+       {
+               _pAudioPlay = MfUtility::MergeBitmapN(IDB_PLAY_OUTER_CIRCLE, IDB_PLAY, 64, 64);
+       }
+       if (_pAudioPause == null)
+       {
+               _pAudioPause = MfUtility::MergeBitmapN(IDB_PLAY_OUTER_CIRCLE, IDB_PAUSE, 64, 64);
+       }
+
+       if (_currentViewStyle == APPCONTROL_VIEW_EXPORT)
+       {
+               pAppResource->GetString(L"IDS_EXPORT", buttonExport);
+               pAppResource->GetString(L"IDS_CREATE_FOLDER", buttonCreate);
+       }
+       else if (_currentViewStyle == APPCONTROL_VIEW_IMPORT)
+       {
+               pAppResource->GetString(L"IDS_COM_OPT_IMPORT", buttonImport);
+       }
+
+       _pHeader = GetHeader();
+       TryCatch(_pHeader != null, , "Header is Null");
+
+       if (_currentViewStyle == APPCONTROL_VIEW_EXPORT)
+       {
+               _pExport = new (std::nothrow) FooterItem();
+               r = _pExport->Construct(IDA_BTN_EXPORT);
+               _pExport->SetText(buttonExport);
+
+               _pCreateFolder = new (std::nothrow) FooterItem();
+               r = _pCreateFolder->Construct(IDA_BTN_CREATE_FOLDER);
+               _pCreateFolder->SetText(buttonCreate);
+       }
+       else if (_currentViewStyle == APPCONTROL_VIEW_IMPORT)
+       {
+               _pImport = new (std::nothrow) FooterItem();
+               r = _pImport->Construct(IDA_BTN_IMPORT);
+               _pImport->SetText(buttonImport);
+       }
+       else
+       {
+               _pAttach = new (std::nothrow) FooterItem();
+               r = _pAttach->Construct(IDA_BTN_ATTACH);
+               _pAttach->SetText(buttonAttach);
+       }
+
+       _pCancel = new (std::nothrow) FooterItem();
+       r = _pCancel->Construct(IDA_BTN_CANCEL);
+       _pCancel->SetText(buttonCancel);
+
+       _pFooter = GetFooter();
+       TryCatch(_pFooter != null, , "Footer is Null");
+
+       if (_pFooter != null)
+       {
+               _pFooter->RemoveAllButtons();
+               _pFooter->RemoveAllItems();
+               _pFooter->SetStyle(FOOTER_STYLE_BUTTON_TEXT);
+
+               if (_currentViewStyle == APPCONTROL_VIEW_IMPORT)
+               {
+                       _pFooter->AddItem(*_pImport);
+               }
+               else if (_currentViewStyle == APPCONTROL_VIEW_EXPORT)
+               {
+                       _pFooter->AddItem(*_pExport);
+                       _pFooter->AddItem(*_pCreateFolder);
+               }
+               else
+               {
+                       _pFooter->AddItem(*_pAttach);
+               }
+
+               _pFooter->AddItem(*_pCancel);
+               _pFooter->AddActionEventListener(*this);
+               _pFooter->SetItemEnabled(0, false);
+       }
+
+       CreateLabelControl();
+
+
+       __defaultListViewBounds = _pListView->GetBounds();
+
+       _pFolderEntryPM = new (std::nothrow) FolderEntryPresentationModel();
+       TryCatch(_pFolderEntryPM != null, r = E_FAILURE, "Failed to allocate memory");
+       _pFolderEntryPM->Construct();
+       _pFolderEntryPM->SetSourceForm(createitemsource);
+
+       _rootMediaPath = BasePresentationModel::GetMediaPath();
+       _rootStoragePath = BasePresentationModel::GetSdCardPath();
+
+       FolderNavigationPresentationModel::SetCurrentFilePath(_rootMediaPath);
+
+       _pFolderEntryPM->SetFolderEntryType(_currentFileType);
+       _pFolderEntryPM->SetFolderEntryPath(_rootMediaPath);
+       _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+       TryCatch(_pFilenames != null, , "MfMyFilesApp::Failed to allocate Memory to Filenames ArrayList");
+
+       _pThumbnailManager = ThumbnailManager::GetInstance();
+       TryCatch(_pThumbnailManager != null, , "Thumbnail Manager not found!");
+
+       _pFileManager = FolderEntryEditorPresentationModel::GetInstance();
+       TryCatch(_pFileManager != null, , "File Manager not found!");
+
+       InitializeAppRegistry();
+
+       if (_currentViewStyle == APPCONTROL_VIEW_IMPORT)
+       {
+               r = _pLabelNumberOfItems->SetShowState(false);
+               _pHeader->SetTitleText(importText);
+               _pHeader->Invalidate(true);
+
+               _pListView->SetBounds(__defaultListViewBounds.x, __defaultListViewBounds.y - 50,
+                               __defaultListViewBounds.width, __defaultListViewBounds.height + 50);
+       }
+       else if (_currentViewStyle == APPCONTROL_VIEW_EXPORT)
+       {
+               _pLabelNumberOfItems->SetShowState(false);
+       }
+
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return r;
+
+CATCH:
+       r = E_FAILURE;
+       AppLogDebug("Exit %s", GetErrorMessage(r));
+       return r;
+}
+
+result
+TopMostFileSelectionForm::OnTerminating(void)
+{
+       result r = E_SUCCESS;
+       return r;
+}
+
+void
+TopMostFileSelectionForm::OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status)
+{
+       //empty implementation
+}
+
+void
+TopMostFileSelectionForm::OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback)
+{
+       //empty implementation
+}
+
+void
+TopMostFileSelectionForm::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       String selectFiles;
+       String filePath;
+       String fileName;
+       String selectedCount;
+       String selectedRootMediaPath;
+       DirectoryEntry* pDirStr = null;
+       String parentPath;
+       String nextFilename;
+       int selectedItemsCount = 0;
+       int itemcount = 0;
+       AppResource* pAppResource = null;
+       bool itemStatus = false;
+       Integer currentIndex = index;
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Resource manager not found!");
+
+       pAppResource->GetString(L"IDS_SELECT_FILES", selectFiles);
+       pAppResource->GetString(L"IDS_COM_BODY_SELECTED", selectedCount);
+       selectedCount.Append(" (");
+
+       itemStatus = _pFileManager->GetCheckedList()->ContainsKey(currentIndex);
+
+       if (elementId == CONTENT_LIST_ITEM_TYPE_PLAY || elementId == CONTENT_LIST_ITEM_TYPE_PAUSE)
+       {
+               pDirStr = static_cast< DirectoryEntry* >(_pFilenames->GetAt(index));
+
+               if (!itemStatus)
+               {
+                       listView.SetItemChecked(index, false);
+               }
+               else
+               {
+                       listView.SetItemChecked(index, true);
+               }
+
+               _pListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+
+               if (_pAudioPlayer == null)
+               {
+                       InitializePlayer();
+                       LoadMusicPlayer(pDirStr->GetFullFilePath(), PLAYER_STATE_INITIALIZED);
+                       _previousAudioSelected = index;
+                       _currentAudioPlayIndex = index;
+                       _pListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+
+                       return;
+               }
+
+               if (_previousAudioSelected == index)
+               {
+                       if (_pAudioPlayer->GetState() == PLAYER_STATE_PLAYING)
+                       {
+                               _pAudioPlayer->Pause();
+                       }
+                       else
+                       {
+                               _pAudioPlayer->Play();
+                       }
+               }
+               else
+               {
+                       _pAudioPlayer->Stop();
+                       _pAudioPlayer->Close();
+                       _pListView->RefreshList(_previousAudioSelected, LIST_REFRESH_TYPE_ITEM_MODIFY);
+                       _previousAudioSelected = index;
+                       LoadMusicPlayer(pDirStr->GetFullFilePath(), PLAYER_STATE_STOPPED);
+               }
+               _currentAudioPlayIndex = index;
+               _pListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+               //listView.SetItemChecked(index, false);
+               return;
+       }
+
+       if (_pFilenames != null) //start of FILENAME check if
+       {
+               if (_currentViewStyle != APPCONTROL_VIEW_IMPORT)  //Start of APPCONTROL_VIEW if
+               {
+                       pDirStr = static_cast< DirectoryEntry* >(_pFilenames->GetAt(index));
+
+                       if (pDirStr != null) //start of NULL check if
+                       {
+                               if (pDirStr->IsDirectory()) // start of DIRECTORY CHECK if
+                               {
+                                       filePath.Append(_rootMediaPath);
+                                       filePath.Append(pDirStr->GetFileName());
+                                       filePath.Append(L"/");
+
+                                       fileName.Append(pDirStr->GetFileName());
+                                       FolderNavigationPresentationModel::SetCurrentFilePath(filePath);
+                                       //_pFolderEntryPM->SetFileEventListener(null);
+
+                                       if (_pAudioPlayer != null)
+                                       {
+                                               if (_pAudioPlayer->GetState() == PLAYER_STATE_PLAYING || _pAudioPlayer->GetState() == PLAYER_STATE_PAUSED)
+                                               {
+                                                       _pAudioPlayer->Stop();
+                                                       _pAudioPlayer->Close();
+                                               }
+                                       }
+                                       ClearSelectedItems(listView);
+                                       LoadSubDirectoryForm(filePath, fileName);
+
+                               } // end of DIRECTORY CHECK if
+                               else //start of FILE CHECK else
+                               {
+                                       if (listView.IsItemChecked(index) == true)
+                                       {
+                                               _pFileManager->AddCheckedListEntry(index, pDirStr);
+                                       }
+                                       else
+                                       {
+                                               _pFileManager->RemoveCheckedListEntry(index);
+                                       }
+
+                                       if (_selectionMode == SELECTION_MODE_SINGE)
+                                       {
+                                               if (listView.IsItemChecked(_storePreviousIndex) == true && _storePreviousIndex != index)
+                                               {
+                                                       listView.SetItemChecked(_storePreviousIndex, false);
+                                                       _pListView->RefreshList(_storePreviousIndex, LIST_REFRESH_TYPE_ITEM_MODIFY);
+                                                       _pFileManager->RemoveCheckedListEntry(_storePreviousIndex);
+                                               }
+                                               _storePreviousIndex = index;
+                                       }
+
+                               } //end of FILE CHECK else
+                       } //end of NULL check if
+               } // end of APPCONTROL_VIEW if
+               else // start of APPCONTROL_IMPORT else
+               {
+
+                       pDirStr = static_cast< DirectoryEntry* >(_pFilenames->GetAt(index));
+
+                       if (listView.IsItemChecked(index) == false)
+                       {
+                               //listView.SetItemChecked(0, false);
+                               __pCheckButtonSelectAll->SetSelected(false);
+                               _pFileManager->RemoveCheckedListEntry(index);
+                       }
+                       else //start of item selected true else
+                       {
+                               _pFileManager->AddCheckedListEntry(index, pDirStr);
+
+                       } //end of item selected true else
+               } // end of APPCONTROL_IMPORT else
+
+               for (itemcount = 0; itemcount < GetItemCount(); itemcount++)
+               {
+                       if (listView.IsItemChecked(itemcount) == true)
+                       {
+                               selectedItemsCount++;
+                       }
+               }
+
+               if (selectedItemsCount != 0)
+               {
+                       if (selectedItemsCount == GetItemCount())
+                       {
+                               if (_currentViewStyle == APPCONTROL_VIEW_IMPORT)
+                               {
+                                       __pCheckButtonSelectAll->SetSelected(true);
+                               }
+                       }
+                       _pFooter->SetItemEnabled(0, true);
+               }
+               else
+               {
+                       _pFooter->SetItemEnabled(0, false);
+               }
+
+               if (_selectionMode == SELECTION_MODE_MULTIPLE) // start of MULTIPLE_MODE_SELECTION if
+               {
+                       if (selectedItemsCount > 0)
+                       {
+                               _itemSelectedCount.Clear();
+                               _itemSelectedCount.Append(selectedCount);
+                               _itemSelectedCount.Append(selectedItemsCount);
+                               _itemSelectedCount.Append(L")");
+                               _pLabelNumberOfItems->SetText(_itemSelectedCount);
+                       }
+                       else
+                       {
+                               _itemSelectedCount.Clear();
+                               _itemSelectedCount.Append(selectFiles);
+                               _pLabelNumberOfItems->SetText(_itemSelectedCount);
+                       }
+                       _pLabelNumberOfItems->Invalidate(true);
+                       //_pLabelNumberOfItems->Draw();
+               }
+       }
+       //end of FILENAME check if
+       _pFooter->Invalidate(true);
+
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return;
+CATCH:
+       r = GetLastResult();
+       /*if (_pFolderEntryPM != null)
+       {
+               delete _pFolderEntryPM;
+               _pFolderEntryPM = null;
+       }*/
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+}
+
+void
+TopMostFileSelectionForm::OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction)
+{
+       //empty implementation
+}
+
+void
+TopMostFileSelectionForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+                                                                                       const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
+{
+       AppLogDebug("Entry");
+       result r = E_SUCCESS;
+       AppResource* pAppResource = null;
+       String importText;
+       String displayPath;
+       String parentPath;
+       String deviceSateSdCard;
+       String deviceSateUsbClient;
+       String headerTextMemCard;
+       String headerTextExternal;
+       String mounted = sdCardStatusMounted;
+       String inserted = usbDeviceStatusInserted;
+
+       ArrayList* pTabList = null;
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Resource manager not found!");
+
+       displayPath = defaultPhoneBody;
+       displayPath.Append("/");
+
+       pAppResource->GetString(L"IDS_COM_OPT_IMPORT", importText);
+       //pAppResource->GetString(L"IDS_MOUNTED", mounted);
+       //pAppResource->GetString(L"IDS_INSERTED", inserted); //Not required to get from Resource XML
+       pAppResource->GetString(L"IDS_MF_TAB_MEMORY_CARD", headerTextMemCard);
+       pAppResource->GetString(L"IDS_MF_TAB_EXTERNAL_STORAGE", headerTextExternal);
+
+       SceneManager::GetInstance()->AddSceneManagerEventListener(*this);
+
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+#if 0
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_USB_CLIENT, *this);
+#endif
+
+       DeviceManager::GetState(StorageCard, deviceSateSdCard);
+#if 0
+       DeviceManager::GetState(UsbClient, deviceSateUsbClient);
+#endif
+
+       _rootMediaPath.Clear();
+       _rootMediaPath.Append(FolderNavigationPresentationModel::GetCurrentPath());
+
+       pTabList = new (std::nothrow) ArrayList();
+       pTabList->Construct();
+       if (pTabList != null)
+       {
+               if (deviceSateSdCard == mounted)
+               {
+                       pTabList->Add(new (std::nothrow) String(headerTextMemCard));
+               }
+               if (deviceSateUsbClient == inserted)
+               {
+                       pTabList->Add(new (std::nothrow) String(headerTextExternal));
+               }
+               r = CreateHeaderControls(pTabList);
+
+               _pHeader = GetHeader();
+
+               if (_pHeader != null)
+               {
+                       if (_rootMediaPath.Equals(BasePresentationModel::GetSdCardPath(), false))
+                       {
+                               _pHeader->SetItemSelected(1);
+                       }
+                       else if (_rootMediaPath.Equals(BasePresentationModel::GetUsbPath(), false))
+                       {
+                               _pHeader->SetItemSelected(2);
+                       }
+                       else
+                       {
+                               _pHeader->SetItemSelected(0);
+                       }
+               }
+       }
+       else
+       {
+               r = CreateHeaderControls();
+       }
+
+       if (pTabList != null)
+       {
+               pTabList->RemoveAll(true);
+               delete pTabList;
+               pTabList = null;
+       }
+
+       ((MyFilesApp*) Application::GetInstance())->SetCurrentView(this);
+
+       if (pArgs != null)
+       {
+               __bCheckNullArgs = true;
+       }
+       else
+       {
+               __bCheckNullArgs = false;
+
+               if (_currentViewStyle == APPCONTROL_VIEW_IMPORT)
+               {
+                       _pHeader = GetHeader();
+                       TryCatch(_pHeader != null, , "Failed to get header");
+                       _pHeader->SetTitleText(importText);
+                       _pHeader->Invalidate(true);
+               }
+
+               if (_currentViewStyle == APPCONTROL_VIEW_EXPORT || _currentViewStyle == APPCONTROL_VIEW_IMPORT)
+               {
+                       String backupPath;
+                       backupPath = BasePresentationModel::GetMediaPath();
+                       backupPath.Append("Backup");
+                       if (!File::IsFileExist(backupPath))
+                       {
+                               Directory::Create(backupPath, true);
+                       }
+               }
+
+
+               parentPath.Append(_rootMediaPath);
+
+               if (_pFolderEntryPM != null)
+               {
+                       _pFolderEntryPM->SetFolderEntryPath(parentPath);
+                       _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+                       TryCatch(_pFilenames != null, , "Failed to allocate Memory to Filenames ArrayList");
+               }
+
+
+               FolderNavigationPresentationModel::SetCurrentFilePath(parentPath);
+       }
+
+       if (pArgs != null)
+       {
+               //pArgs->RemoveAll(true);
+               delete pArgs;
+       }
+
+       if(_pFolderEntryPM != null)
+       {
+               _pFolderEntryPM->InitThumbnailManager();
+       }
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       return;
+CATCH:
+
+       AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
+       AppLogDebug("Failed");
+       return;
+}
+
+void
+TopMostFileSelectionForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+                                                                                        const Tizen::Ui::Scenes::SceneId& nextSceneId)
+{
+       DeviceManager::RemoveAllDeviceEventListeners();
+       ((MyFilesApp*)Application::GetInstance())->SetCurrentView(null);
+
+       if (_pFolderEntryPM != null)
+       {
+               _pFolderEntryPM->StopThumbnailManager(true);
+       }
+}
+
+
+void
+TopMostFileSelectionForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+{
+       AppLogDebug("Entry");
+       String mediaPath;
+       String storagePath;
+       String usbPath;
+
+       if (_pFolderEntryPM != null)
+       {
+               mediaPath = BasePresentationModel::GetMediaPath();
+               storagePath = BasePresentationModel::GetSdCardPath();
+               usbPath = BasePresentationModel::GetUsbPath();
+       }
+
+       switch (actionId)
+       {
+       case IDA_TABBAR_ITEM_PHONE:
+       {
+               String displayPath;
+               String currentPath;
+               bool enableUpdate = false;
+
+               displayPath = defaultPhoneBody;
+               displayPath.Append("/");
+               currentPath = FolderNavigationPresentationModel::GetCurrentPath();
+
+               if (!currentPath.StartsWith(mediaPath, 0))
+               {
+                       enableUpdate = true;
+               }
+
+               if (enableUpdate)
+               {
+                       _rootMediaPath.Clear();
+                       _rootMediaPath.Append(mediaPath);
+
+                       ResetFooter();
+
+                       if (_pFolderEntryPM != null)
+                       {
+                               _pFolderEntryPM->SetFolderEntryPath(mediaPath);
+                               _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+                       }
+
+                       if (_pListView != null)
+                       {
+                               _pListView->UpdateList();
+                       }
+
+                       FolderNavigationPresentationModel::SetCurrentFilePath(mediaPath);
+                       FolderNavigationPresentationModel::SetStorageType(MEMORY_TYPE_PHONE);
+                       //Invalidate(true);
+               }
+       }
+       break;
+
+       case IDA_TABBAR_ITEM_SD_CARD:
+       {
+               String displayPath;
+               displayPath = defaultSdCardBody;
+               displayPath.Append(L"/");
+
+               _rootMediaPath.Clear();
+               _rootMediaPath.Append(storagePath);
+
+               ResetFooter();
+
+               if (_pFolderEntryPM != null)
+               {
+                       _pFolderEntryPM->SetFolderEntryPath(storagePath);
+                       _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+               }
+
+               if (_pListView != null)
+               {
+                       _pListView->UpdateList();
+               }
+
+               FolderNavigationPresentationModel::SetCurrentFilePath(storagePath);
+               FolderNavigationPresentationModel::SetStorageType(MEMORY_TYPE_SD_CARD);
+               ResetFooter();
+               //Invalidate(true);
+       }
+       break;
+
+       case IDA_TABBAR_ITEM_USB:
+       {
+               String displayPath;
+               displayPath = defaultExternalStorageBody;
+               displayPath.Append("/");
+
+               _rootMediaPath.Clear();
+               _rootMediaPath.Append(usbPath);
+
+               if (_pFolderEntryPM != null)
+               {
+                       _pFolderEntryPM->SetFolderEntryPath(usbPath);
+                       _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+               }
+
+               if (_pListView != null)
+               {
+                       _pListView->UpdateList();
+               }
+
+               FolderNavigationPresentationModel::SetCurrentFilePath(usbPath);
+               FolderNavigationPresentationModel::SetStorageType(MEMORY_TYPE_EXTERNAL);
+               //Invalidate(true);
+       }
+       break;
+
+       case IDA_BTN_CHECKED:
+       {
+               FooterItemStatus currentStatus;
+               _pFooter->GetItemStatus(0, currentStatus);
+
+               if (_pFileManager != null)
+               {
+                       _pFileManager->ClearCheckedList();
+               }
+
+               for (int itemcount = 0; itemcount < _pFilenames->GetCount(); itemcount++)
+               {
+                       if (_pListView != null)
+                       {
+                               _pListView->SetItemChecked(itemcount, true);
+                       }
+                       DirectoryEntry* pCheckedEntry = null;
+                       pCheckedEntry = static_cast< DirectoryEntry* >(_pFilenames->GetAt(itemcount));
+                       if (_pFileManager != null)
+                       {
+                               _pFileManager->AddCheckedListEntry(itemcount, pCheckedEntry);
+                       }
+               }
+
+               if (currentStatus != FOOTER_ITEM_STATUS_NORMAL)
+               {
+                       _pFooter->SetItemEnabled(0, true);
+                       _pFooter->Invalidate(true);
+               }
+       }
+       break;
+
+       case IDA_BTN_UNCHECKED:
+       {
+               FooterItemStatus currentStatus;
+               _pFooter->GetItemStatus(0, currentStatus);
+
+               if (_pFileManager != null)
+               {
+                       _pFileManager->ClearCheckedList();
+               }
+
+               for (int itemcount = 0; itemcount < _pFilenames->GetCount(); itemcount++)
+               {
+                       _pListView->SetItemChecked(itemcount, false);
+               }
+
+               if (currentStatus != FOOTER_ITEM_STATUS_DISABLED)
+               {
+                       _pFooter->SetItemEnabled(0, false);
+                       _pFooter->Invalidate(true);
+               }
+       }
+       break;
+
+       default:
+       {
+               SubBaseOnActionPerformed(source, actionId);
+       }
+       break;
+       }
+
+       AppLogDebug("EXit OnActionPerformed");
+}
+
+void
+TopMostFileSelectionForm::OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state)
+{
+       result r = E_SUCCESS;
+       bool setMediaPath = false;
+       String __mediaPath;
+       String displayMediaPath;
+       String headerTextMemCard;
+       String headerTextExternal;
+       String mounted = sdCardStatusMounted;
+       String unmounted = sdCardStatusUnmounted;
+       String inserted = usbDeviceStatusInserted;
+       String removed = usbDeviceStatusRemoved;
+       String headerTextPhone;
+       String deviceSateSdCard;
+       String deviceSateUsbClient;
+       String currentPath;
+       Header* pHeader = null;
+       MemoryType currentMemoryType;
+
+       ArrayList* pTabList = null;
+
+       AppResource* pAppResource = null;
+
+       DeviceManager::GetState(StorageCard, deviceSateSdCard);
+#if 0
+       DeviceManager::GetState(UsbClient, deviceSateUsbClient);
+#endif
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "MfMyFilesApp::Resource manager not found!");
+
+       pAppResource->GetString(L"IDS_MF_TAB_MEMORY_CARD", headerTextMemCard);
+       pAppResource->GetString(L"IDS_MF_TAB_EXTERNAL_STORAGE", headerTextExternal);
+       pAppResource->GetString(L"IDS_MF_TAB_PHONE", headerTextPhone);
+
+       pTabList = new (std::nothrow) ArrayList();
+       TryCatch(pTabList != null, , "MfMyFilesApp::Failed to Allocate memory to pTabList!");
+       pTabList->Construct();
+
+       switch (deviceType)
+       {
+       case COMPONENT_TYPE_USB:
+       {
+               if (deviceSateSdCard == mounted)
+               {
+                       pTabList->Add(&headerTextMemCard);
+               }
+               if (state == inserted)
+               {
+                       pTabList->Add(&headerTextExternal);
+               }
+       }
+       break;
+
+       case COMPONENT_TYPE_STORAGE_CARD:
+       {
+               if (state == mounted)
+               {
+                       pTabList->Add(&headerTextMemCard);
+               }
+               if (deviceSateUsbClient == inserted)
+               {
+                       pTabList->Add(&headerTextExternal);
+               }
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing.
+       }
+       break;
+       }
+
+       r = CreateHeaderControls(pTabList);
+
+       if (r == E_SUCCESS && (deviceSateSdCard == unmounted || deviceSateUsbClient == removed))
+       {
+               currentPath = FolderNavigationPresentationModel::GetCurrentPath();
+
+               if (state == unmounted)
+               {
+                       if (currentPath.Contains(BasePresentationModel::GetSdCardPath()))
+                       {
+                               setMediaPath = true;
+                       }
+               }
+
+               if (state == removed)
+               {
+                       if (currentPath.Contains(BasePresentationModel::GetUsbPath()))
+                       {
+                               setMediaPath = true;
+                       }
+               }
+
+               if (setMediaPath)
+               {
+                       _storageType = MEMORY_TYPE_PHONE;
+
+                       __mediaPath = BasePresentationModel::GetMediaPath();
+
+                       displayMediaPath = defaultPhoneBody;
+                       displayMediaPath.Append("/");
+
+                       _rootMediaPath.Clear();
+                       _rootMediaPath.Append(__mediaPath);
+
+                       _pFolderEntryPM->SetFolderEntryPath(__mediaPath);
+                       _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+
+                       if (_pFilenames != null)
+                       {
+                               FolderNavigationPresentationModel::SetCurrentFilePath(__mediaPath);
+                               FolderNavigationPresentationModel::SetStorageType(MEMORY_TYPE_PHONE);
+
+                               if (_pListView != null)
+                               {
+                                       _pListView->UpdateList();
+                               }
+                       }
+               }
+       }
+
+       currentMemoryType = FolderNavigationPresentationModel::GetStorageType();
+       pHeader = GetHeader();
+
+       if (pHeader != null)
+       {
+               if (currentMemoryType == MEMORY_TYPE_PHONE)
+               {
+                       pHeader->SetItemSelected(0);
+               }
+               else if (currentMemoryType == MEMORY_TYPE_SD_CARD)
+               {
+                       pHeader->SetItemSelected(1);
+               }
+               else
+               {
+                       pHeader->SetItemSelected(2);
+               }
+       }
+
+       Invalidate(true);
+
+       if (pTabList != null)
+       {
+               delete pTabList;
+               pTabList = null;
+       }
+
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+       return;
+CATCH:
+       return;
+}
+
+void
+TopMostFileSelectionForm::OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state)
+{
+       ComponentType currentDeviceType = COMPONENT_TYPE_NONE;
+       switch (deviceType)
+       {
+       case StorageCard:
+       {
+               currentDeviceType = COMPONENT_TYPE_STORAGE_CARD;
+       }
+       break;
+
+       case UsbClient:
+       {
+               currentDeviceType = COMPONENT_TYPE_USB;
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing.
+       }
+       break;
+       }
+
+       OnDeviceChange(currentDeviceType, state);
+}
+
+result
+TopMostFileSelectionForm::CreateHeaderControls(ArrayList* pExtraHeaderItemList)
+{
+       AppLogDebug("ENTER");
+       Header* pHeader = GetHeader();
+       Bitmap* pPhoneIcon = null;
+       Bitmap* pSDCardIcon = null;
+       Bitmap* pUsbIcon = null;
+
+       Bitmap* pPhoneIconPressed = null;
+       Bitmap* pSDCardIconPressed = null;
+       Bitmap* pUsbIconPressed = null;
+
+       String headerDisplayPhone;
+       String headerDisplayMfMyFilesApp;
+       String headerTextMemCard;
+       String headerTextExternal;
+       result r = E_SUCCESS;
+
+       AppResource* pAppResource = null;
+       pAppResource = UiApp::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Failed to Fetch the AppResource");
+
+       pAppResource->GetString(L"IDS_MF_TAB_PHONE", headerDisplayPhone);
+       pAppResource->GetString(L"IDS_COM_BODY_MY_FILES", headerDisplayMfMyFilesApp);
+       pAppResource->GetString(L"IDS_MF_TAB_MEMORY_CARD", headerTextMemCard);
+       pAppResource->GetString(L"IDS_MF_TAB_EXTERNAL_STORAGE", headerTextExternal);
+
+       pPhoneIcon = pAppResource->GetBitmapN(IDB_PHONE_HEADER_TAB, BITMAP_PIXEL_FORMAT_ARGB8888);
+       pSDCardIcon = pAppResource->GetBitmapN(IDB_SDCARD_HEADER_TAB, BITMAP_PIXEL_FORMAT_ARGB8888);
+       pUsbIcon = pAppResource->GetBitmapN(IDB_EXTERNAL_HEADER_TAB, BITMAP_PIXEL_FORMAT_ARGB8888);
+
+       pPhoneIconPressed = pAppResource->GetBitmapN(IDB_PHONE_HEADER_TAB_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888);
+       pSDCardIconPressed = pAppResource->GetBitmapN(IDB_SDCARD_HEADER_TAB_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888);
+       pUsbIconPressed = pAppResource->GetBitmapN(IDB_EXTERNAL_HEADER_TAB_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888);
+
+       if (pPhoneIconPressed && pSDCardIconPressed && pUsbIconPressed)
+       {
+               AppLogDebug("TopMostFileSelectionForm::CreateHeaderControls: Pressed icons are not null:%s", GetErrorMessage(GetLastResult()));
+       }
+
+       if (pHeader != null)
+       {
+               if (pExtraHeaderItemList != null && pExtraHeaderItemList->GetCount() > 0)
+               {
+                       pHeader->RemoveAllItems();
+                       pHeader->SetStyle(HEADER_STYLE_TAB);
+
+                       HeaderItem headerItemPhone;
+                       headerItemPhone.Construct(IDA_TABBAR_ITEM_PHONE);
+                       headerItemPhone.SetText(headerDisplayPhone);
+                       headerItemPhone.SetIcon(HEADER_ITEM_STATUS_NORMAL, pPhoneIcon);
+                       headerItemPhone.SetIcon(HEADER_ITEM_STATUS_PRESSED, pPhoneIconPressed);
+                       headerItemPhone.SetIcon(HEADER_ITEM_STATUS_SELECTED, pPhoneIconPressed);
+                       r = pHeader->AddItem(headerItemPhone);
+                       TryCatch(r == E_SUCCESS, , "Failed to add header item");
+
+                       for (int headerItemCount = 0; headerItemCount < pExtraHeaderItemList->GetCount(); headerItemCount++)
+                       {
+                               HeaderItem headerItem;
+                               String* PHeaderItemText = static_cast< String* >(pExtraHeaderItemList->GetAt(headerItemCount));
+                               if (PHeaderItemText != null)
+                               {
+                                       if (PHeaderItemText->CompareTo(headerTextMemCard) == 0)
+                                       {
+                                               headerItem.Construct(IDA_TABBAR_ITEM_SD_CARD);
+                                               headerItem.SetIcon(HEADER_ITEM_STATUS_NORMAL, pSDCardIcon);
+                                               headerItem.SetIcon(HEADER_ITEM_STATUS_SELECTED, pSDCardIconPressed);
+                                               headerItem.SetIcon(HEADER_ITEM_STATUS_PRESSED, pSDCardIconPressed);
+                                       }
+                                       else if (PHeaderItemText->CompareTo(headerTextExternal) == 0)
+                                       {
+                                               headerItem.Construct(IDA_TABBAR_ITEM_USB);
+                                               headerItem.SetIcon(HEADER_ITEM_STATUS_NORMAL, pUsbIcon);
+                                               headerItem.SetIcon(HEADER_ITEM_STATUS_PRESSED, pUsbIconPressed);
+                                               headerItem.SetIcon(HEADER_ITEM_STATUS_SELECTED, pUsbIconPressed);
+                                       }
+
+                                       headerItem.SetText(*PHeaderItemText);
+                               }
+                               r = pHeader->AddItem(headerItem);
+                               TryCatch(r == E_SUCCESS, , "Failed to add header item");
+                       }
+                       pHeader->AddActionEventListener(*this);
+               }
+               else
+               {
+                       pHeader->RemoveAllItems();
+                       pHeader->SetStyle(HEADER_STYLE_TITLE);
+                       r = pHeader->SetTitleText(headerDisplayMfMyFilesApp);
+                       pHeader->Invalidate(true);
+               }
+       }
+
+       if (pPhoneIcon != null)
+       {
+               delete pPhoneIcon;
+       }
+
+       if (pSDCardIcon != null)
+       {
+               delete pSDCardIcon;
+       }
+
+       if (pUsbIcon != null)
+       {
+               delete pUsbIcon;
+       }
+
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+       return E_SUCCESS;
+
+CATCH:
+       if (pPhoneIcon != null)
+       {
+               delete pPhoneIcon;
+       }
+
+       if (pSDCardIcon != null)
+       {
+               delete pSDCardIcon;
+       }
+
+       if (pUsbIcon != null)
+       {
+               delete pUsbIcon;
+       }
+       return r;
+}
+
+void
+TopMostFileSelectionForm::LoadSubDirectoryForm(Tizen::Base::String& fullPath, Tizen::Base::String& fileName)
+{
+       SceneManager* pSceneManager = null;
+       ArrayList* pArgs = null;
+       pArgs = new (std::nothrow) ArrayList();
+       pArgs->Construct();
+       pArgs->Add(&fileName);
+       pArgs->Add(&fullPath);
+       pSceneManager = SceneManager::GetInstance();
+       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SUB_FOLDER_SELECTION_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pArgs);
+       return;
+}
+
+void
+TopMostFileSelectionForm::OnPlayerEndOfClip(void)
+{
+       if (_pListView != null)
+       {
+               _pListView->RefreshList(_currentAudioPlayIndex, LIST_REFRESH_TYPE_ITEM_MODIFY);
+       }
+}
+
+void
+TopMostFileSelectionForm::OnSceneTransitionCompleted(const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId)
+{
+       SceneManager::GetInstance()->RemoveSceneManagerEventListener(*this);
+
+//     if (__bCheckNullArgs == false)
+       {
+               if (_pListView != null && _pFilenames->GetCount() != 0)
+               {
+                       _pListView->UpdateList();
+               }
+       }
+}
+
+void
+TopMostFileSelectionForm::OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId)
+{
+       //Empty Implementation.
+}
diff --git a/src/MfTopMostFolderFileListForm.cpp b/src/MfTopMostFolderFileListForm.cpp
new file mode 100644 (file)
index 0000000..67ac049
--- /dev/null
@@ -0,0 +1,1450 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfTopMostFolderFileListForm.cpp
+ * @brief: This file contains the implementation of TopMostFolderFileListForm class, which acts as a
+ * media explorer displaying a list of all the files in the root directory
+ * and defines a set of operations that can be done with the files like edit, view etc.
+ */
+
+#include "MfMyFilesApp.h"
+#include "MfTopMostFolderFileListForm.h"
+
+using namespace Tizen::App;
+//using namespace Tizen::App::Package;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Runtime;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Graphics;
+using namespace Tizen::Io;
+using namespace Tizen::Locales;
+using namespace Tizen::Media;
+//using namespace Tizen::Shell;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+TopMostFolderFileListForm::TopMostFolderFileListForm(void)
+{
+       __counter = 0;
+}
+
+TopMostFolderFileListForm::~TopMostFolderFileListForm(void)
+{
+       //Empty Implementation
+}
+
+bool
+TopMostFolderFileListForm::Initialize(void)
+{
+       Form::Construct(L"IDL_ROOT_DIRECTORY");
+       return true;
+}
+
+TopMostFolderFileListForm&
+TopMostFolderFileListForm::operator =(const TopMostFolderFileListForm& topMostFolderFileListForm)
+{
+       return *this;
+}
+
+TopMostFolderFileListForm::TopMostFolderFileListForm(const TopMostFolderFileListForm& topMostFolderFileListForm)
+{
+       //Do Nothing
+}
+
+
+result
+TopMostFolderFileListForm::OnInitializing(void)
+{
+       AppLogDebug("ENTER");
+       result r = E_SUCCESS;
+       int sourceForm = THUMBNAIL_PROVIDER_SOURCEID_TOP_FOLDER_FILE_LIST_FORM;
+       _renameIndex = 0;
+       _renameOrCreate = SELECT_CREATE_FOLDER;
+       CreateItemSource createitemsource = CREATE_ITEM_SOURCE_TOP_MOST_FILE_LIST;
+
+       AppResource* pAppResource = null;
+
+       Color backgroundColor(0xAE, 0x36, 0x36, 0xFF);
+       String displayPath;
+       String path;
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "MfMyFilesApp::Resource manager not found!");
+
+       displayPath = defaultPhoneBody;
+       displayPath.Append("/");
+       pAppResource->GetString(L"IDS_MF_OPT_SHOW_FILE_EXTENSION", _showExtension);
+       pAppResource->GetString(L"IDS_MF_OPT_HIDE_FILE_EXTENSION_ABB", _hideExtension);
+       _extensionKeyName.Append(L"ExtensionVisibility");
+       // Setup back event listener
+       SetFormBackEventListener(this);
+
+       //Call the InitializeAppRegistry() method to define the keys used throughout the application.
+       InitializeAppRegistry();
+
+       //Create a new instance of the pointer for FileListPresentation Model.
+       if (_pFolderEntryPM == null)
+       {
+               _pFolderEntryPM = new (std::nothrow) FolderEntryPresentationModel();
+               AppAssert(_pFolderEntryPM != null);
+               r = _pFolderEntryPM->Construct();
+               AppAssert(r==E_SUCCESS);
+               _pFolderEntryPM->SetSourceForm(createitemsource);
+       }
+
+#if 0
+       _pFolderEntryPM->SetFolderEntryPath(__StoragePath);
+       __ptempFilenames = _pFolderEntryPM->GetFolderEntryList();
+       if (__ptempFilenames != null && __ptempFilenames->GetCount() > 1)
+       {
+
+               pTabList = new (std::nothrow) ArrayList();
+               if (pTabList != null)
+               {
+                       pTabList->Add(new String("Memory Card"));
+                       r = CreateHeaderControls(pTabList);
+               }
+       }
+       else
+       {
+               r = CreateHeaderControls();
+       }
+#endif
+
+       _pFileManager = FolderEntryEditorPresentationModel::GetInstance();
+       TryCatch(_pFileManager != null, , "MfMyFilesApp::File Manager not found!");
+
+       path = BasePresentationModel::GetMediaPath();
+       if (!path.IsEmpty())
+       {
+               __rootMediaPath = path;
+               FolderNavigationPresentationModel::SetCurrentFilePath(path);
+       }
+
+       _pFolderEntryPM->SetFolderEntryPath(__rootMediaPath);
+       _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+       TryCatch(_pFilenames != null, , "MfMyFilesApp::Failed to allocate Memory to Filenames ArrayList");
+
+       AppLogDebug("Filenames Count %d", _pFilenames->GetCount());
+
+       _pBaseItemProvider = new (std::nothrow) BaseItemProvider();
+       TryCatch(_pBaseItemProvider != null, , "Failed to allocate base itemprovider");
+       _pBaseItemProvider->Construct();
+       _pBaseItemProvider->SetSourceForm(createitemsource);
+       _pBaseItemProvider->SetFolderEntryProvider(this);
+       _pBaseItemProvider->SetFooterItemStateChangeListener(this);
+
+       _pListView = static_cast< ListView* >(GetControl("IDC_LISTVIEW_ROOT_DIRECTORY"));
+       if (_pListView != null)
+       {
+               _pListView->AddListViewItemEventListener(*this);
+               //__pListView->SetItemProvider(*this);
+               _pListView->SetItemProvider(*_pBaseItemProvider);
+               _pListView->SetShowState(true);
+               _pListView->SetBounds(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height);
+       }
+
+       //Initialize the itemprovider class for the listview inside the popup
+       if (_pCustomListViewForPopup == null)
+       {
+               _pCustomListViewForPopup = new (std::nothrow) CustomListViewForPopup();
+       }
+       TryCatch(_pCustomListViewForPopup != null, , "MfMyFilesApp::ListView For Popup not created!");
+
+       _pCustomListViewForPopup->SetEventListener(this);
+
+       _pFooter = GetFooter();
+       _pThumbnailItemProvider = new (std::nothrow) ThumbnailItemProviderAndListener(path, sourceForm);
+       //__pThumbnailItemProviderAndListener->Construct(__pContentManager);
+       TryCatch(_pThumbnailItemProvider != null, , "Failed to allocate Memory to __pThumbnailItemProviderAndListener");
+       _pThumbnailItemProvider->SetFolderEntryProvider(this);
+       _pThumbnailItemProvider->SetFooterItemStateChangeListener(this);
+
+       _pIconListView = static_cast< IconListView* >(GetControl("IDC_ICONLISTVIEW_ROOT_THUMBNAILS"));
+       if (_pIconListView != null)
+       {
+               _pIconListView->AddIconListViewItemEventListener(*_pThumbnailItemProvider);
+               _pIconListView->SetItemProvider(*_pThumbnailItemProvider);
+               _pIconListView->SetBounds(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height);
+               _pIconListView->SetShowState(false);
+       }
+       //      _pPackageManager = PackageManager::GetInstance();
+       //      _pPackageManager->AddPackageInstallationEventListener(*this);
+
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+       return r;
+
+CATCH:
+       if (_pFolderEntryPM != null)
+       {
+               delete _pFolderEntryPM;
+               _pFolderEntryPM = null;
+       }
+
+       if (_pThumbnailItemProvider != null)
+       {
+               delete _pThumbnailItemProvider;
+               _pThumbnailItemProvider = null;
+       }
+       return r;
+}
+
+result
+TopMostFolderFileListForm::OnTerminating(void)
+{
+       AppLogDebug("ENTER");
+       result r = E_SUCCESS;
+
+       _pFooter = GetFooter();
+       if (_pFooter != null)
+       {
+               _pFooter->RemoveAllButtons();
+               _pFooter->RemoveAllItems();
+       }
+
+       return r;
+}
+
+void
+TopMostFolderFileListForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
+{
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+#if 0
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+       String searchPath;
+#endif
+
+       if (CheckSearchHistory() == true)
+       {
+#if 0
+               /*searchPath = FolderNavigationPresentationModel::GetSearchPreviousPath();
+
+               FolderNavigationPresentationModel::SetCurrentFilePath(searchPath);
+               if (SceneManager::GetInstance()->IsSceneAlive(__previousSceneName))
+               {
+                       pSceneManager->GoBackward(BackwardSceneTransition(__previousSceneName, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT, SCENE_DESTROY_OPTION_KEEP), null);
+               }
+               else
+               {
+                       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SUB_DIRECTORY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT), null);
+               }*/
+#endif
+               pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_SEARCH_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT), null);
+       }
+       else
+       {
+               UiApp::GetInstance()->Terminate();
+       }
+}
+
+void
+TopMostFolderFileListForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+               const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
+{
+       AppLogDebug("ENTER");
+       result r = E_SUCCESS;
+
+       String deviceSateSdCard;
+       String deviceSateUsbClient;
+       String headerTextMemCard;
+       String headerTextExternal;
+       String mounted = sdCardStatusMounted;
+       String inserted = usbDeviceStatusInserted;
+       String viewStyleKeyName(L"ListDisplayType");
+       String tabSelected;
+
+       ArrayList* pTabList = null;
+       AppResource* pAppResource = null;
+       AppRegistry* pAppRegistry = null;
+
+       Header* pHeader = null;
+
+       SceneManager::GetInstance()->AddSceneManagerEventListener(*this);
+       ((MyFilesApp*) Application::GetInstance())->SetCurrentView(this);
+
+       TryReturn (_pFolderEntryPM !=null, , "FolderEntryPresentation Model is NULL");
+
+       _pFileManager->SetFileManagingListener(this);
+
+       if (previousSceneId == IDSCN_CREATE_FOLDER_FORM)
+       {
+               if (_renameOrCreate == SELECT_RENAME)
+               {
+                       return;
+               }
+       }
+
+       int listViewDisplayType = VIEW_TYPE_AS_NORMAL_LIST;
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "MfMyFilesApp::Resource manager not found!");
+
+       //pAppResource->GetString(L"IDS_MOUNTED", mounted);
+       //pAppResource->GetString(L"IDS_INSERTED", inserted);
+       pAppResource->GetString(L"IDS_MF_TAB_MEMORY_CARD", headerTextMemCard);
+       pAppResource->GetString(L"IDS_MF_TAB_EXTERNAL_STORAGE", headerTextExternal);
+       pAppResource->GetString(L"IDS_MF_TAB_PHONE", tabSelected);
+
+
+       //Call the CreateFooterControls() to personalize the footerItems.
+       r = CreateFooterControls();
+       TryCatch(r == E_SUCCESS, , "Failed to create footer controls");
+
+       //SceneManager::GetInstance()->AddSceneManagerEventListener(*this);
+
+       //Get the current path from the Folder Navigation Model.
+       __rootMediaPath.Clear();
+       __rootMediaPath.Append(FolderNavigationPresentationModel::GetCurrentPath());
+
+
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+#if 0
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_USB_CLIENT, *this);
+#endif
+
+       DeviceManager::GetState(StorageCard, deviceSateSdCard);
+#if 0
+       DeviceManager::GetState(UsbClient, deviceSateUsbClient);
+#endif
+
+
+       pTabList = new (std::nothrow) ArrayList();
+       pTabList->Construct();
+       if (pTabList != null)
+       {
+               if (deviceSateSdCard == mounted)
+               {
+                       pTabList->Add(new (std::nothrow) String(headerTextMemCard));
+               }
+               if (deviceSateUsbClient == inserted)
+               {
+                       pTabList->Add(new (std::nothrow) String(headerTextExternal));
+               }
+               r = CreateHeaderControls(pTabList);
+
+               pHeader = GetHeader();
+
+               if (pHeader != null)
+               {
+                       if (__rootMediaPath.Equals(BasePresentationModel::GetSdCardPath(), false))
+                       {
+                               pHeader->SetItemSelected(1);
+                       }
+                       else if (__rootMediaPath.Equals(BasePresentationModel::GetUsbPath(), false))
+                       {
+                               pHeader->SetItemSelected(2);
+                       }
+                       else
+                       {
+                               pHeader->SetItemSelected(0);
+                       }
+               }
+       }
+       else
+       {
+               r = CreateHeaderControls();
+       }
+
+       if (pTabList != null)
+       {
+               pTabList->RemoveAll(true);
+               delete pTabList;
+               pTabList = null;
+       }
+
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+       r = pAppRegistry->Get(viewStyleKeyName, listViewDisplayType);
+       TryCatch(r == E_SUCCESS, , "Failed To Get Value From AppRegistry");
+       _flagViewAsStatus = listViewDisplayType;
+
+       _tabSelected = tabSelected;
+
+       if (_pMoreContextMenu != null)
+       {
+               _pMoreContextMenu->SetShowState(false);
+       }
+
+       //Fill the ArrayList with the folder entries present at RootMediaPath.
+       _pFolderEntryPM->SetFolderEntryPath(__rootMediaPath);
+
+       _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+       TryCatch(_pFilenames != null, , "Failed to allocate Memory to Filenames ArrayList");
+
+       if (_pFilenames->GetCount() == 0)
+       {
+               SetFooterVisibility(0);
+       }
+       else
+       {
+               SetFooterVisibility(1);
+       }
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+
+       if (pArgs != null)
+       {
+               pArgs->RemoveAll(false);
+               delete pArgs;
+       }
+       return;
+
+       CATCH:
+       if (pArgs != null)
+       {
+               pArgs->RemoveAll(false);
+               delete pArgs;
+       }
+
+}
+
+void
+TopMostFolderFileListForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+               const Tizen::Ui::Scenes::SceneId& nextSceneId)
+{
+       DeviceManager::RemoveAllDeviceEventListeners();
+       ((MyFilesApp*)Application::GetInstance())->SetCurrentView(null);
+       TryReturn (_pFolderEntryPM !=null, , "FolderEntryPresentation Model is NULL");
+       _pFolderEntryPM->StopThumbnailManager(true);
+}
+
+void
+TopMostFolderFileListForm::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)
+{
+       String rootMediaPath;
+       String fileName;
+       String filePath;
+       result r = E_FAILURE;
+       DirectoryEntry* pDirStr = null;
+
+       TryReturn (_pFolderEntryPM !=null, , "FolderEntryPresentation Model is NULL");
+
+       if (_pFilenames != null)
+       {
+               pDirStr = static_cast< DirectoryEntry* >(_pFilenames->GetAt(index));
+               if (pDirStr != null)
+               {
+                       rootMediaPath = pDirStr->GetFullFilePath();
+
+                       if (pDirStr->IsDirectory())
+                       {
+                               //If the current filepath is a directory then load the SubDirectoryForm
+                               filePath.Append(__rootMediaPath);
+                               filePath.Append(pDirStr->GetFileName());
+                               filePath.Append(L"/");
+
+
+                               fileName.Append(pDirStr->GetFileName());
+
+                               _currentFileName.Clear();
+                               _currentFileName = pDirStr->GetFileName();
+
+                               FolderNavigationPresentationModel::SetCurrentFilePath(filePath);
+                               //_pFileListPM->SetFileEventListener(null);
+                               LoadSubDirectoryForm(filePath, fileName);
+                       }
+                       else
+                       {
+                               _pathOfSelectedFile = rootMediaPath;
+                               //Else launch the corresponding AppControl.
+                               if (_pathOfSelectedFile.EndsWith(L".tpk"))
+                               {
+                                       ShowInstallationConfirmationPopup();
+                               }
+                               else
+                               {
+                                       CustomAppControl* pCustomAppControl = CustomAppControl::GetInstance();
+                                       if (pCustomAppControl != null)
+                                       {
+                                               __counter = index;
+
+                                               if (_pFileEventManager != null)
+                                               {
+                                                       delete _pFileEventManager;
+                                                       _pFileEventManager = null;
+
+                                               }
+                                               _pFileEventManager = new FileEventManager();
+                                               _pFileEventManager->Construct(*this);
+
+                                               r = _pFileEventManager->AddPath(_pathOfSelectedFile, FILE_EVENT_TYPE_MODIFY | FILE_EVENT_TYPE_DELETE );
+                                               AppLogDebug("OnFileEventOccured:%S", GetErrorMessage(r));
+
+                                               pCustomAppControl->SetAppControlListener(null);
+                                               AppControl* pAppControlInUse = pCustomAppControl->LaunchAppControl(_pathOfSelectedFile);
+                                               if (pAppControlInUse != null)
+                                                       CustomAppControl::SetAppControlInUse(pAppControlInUse);
+                                       }
+                               }
+                       }
+               }
+       }
+       return;
+
+}
+
+void
+TopMostFolderFileListForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+{
+       String mediaPath;
+       String storagePath;
+       String usbPath;
+
+       String displayMediaPath;
+       String displayStoragePath;
+       String displayUsbPath;
+       String extensionStatus;
+       String tabPhone;
+       String tabSDCard;
+       String tabUsb;
+
+       AppResource* pAppResource = AppResource::GetInstance();
+       Header* pHeader = null;
+
+       TryReturn (_pFolderEntryPM !=null, , "FolderEntryPresentation Model is NULL");
+
+       if (pAppResource != null)
+       {
+               displayMediaPath = defaultPhoneBody;
+               displayMediaPath.Append("/");
+
+               displayStoragePath = defaultSdCardBody;
+               displayStoragePath.Append("/");
+
+               displayUsbPath = defaultExternalStorageBody;
+               displayUsbPath.Append("/");
+
+               pAppResource->GetString(L"IDS_MF_TAB_PHONE", tabPhone);
+               pAppResource->GetString(L"IDS_MF_TAB_MEMORY_CARD", tabSDCard);
+               pAppResource->GetString(L"IDS_COM_BODY_USB", tabUsb);
+       }
+
+
+       mediaPath = BasePresentationModel::GetMediaPath();
+       storagePath = BasePresentationModel::GetSdCardPath();
+       usbPath = BasePresentationModel::GetUsbPath();
+       AppLogDebug("SD Card Path is %ls", storagePath.GetPointer());
+
+       pHeader = GetHeader();
+
+       switch (actionId)
+       {
+       case IDA_CONTEXT_MENU_HIDE_EXTENSION:
+       {
+               HideFileExtension();
+       }
+       break;
+
+       case IDA_CONTEXT_MENU_SHOW_EXTENSION:
+       {
+               ShowFileExtension();
+       }
+       break;
+
+       case IDA_BTN_CANCEL:
+       {
+               UiApp* pApp = UiApp::GetInstance();
+               if (pApp != null)
+               {
+                       pApp->Terminate();
+               }
+       }
+       break;
+
+       case IDA_INSTALL_APP:
+       {
+               HideInstallationConfirmationPopup();
+
+               ShowInstallationProgressPopup();
+
+               //              PackageId pkgId;
+               //              result r = _pPackageManager->InstallPackage(pkgId, _pathOfSelectedFile, this);
+               //              AppLogDebug("Package Installation:Error:%s", GetErrorMessage(r));
+       }
+       break;
+
+       case IDA_CANCEL_INSTALLATION:
+       {
+               HideInstallationConfirmationPopup();
+       }
+       break;
+
+       case IDA_TABBAR_ITEM_PHONE:
+       {
+               String currentPath;
+               bool enableUpdate = false;
+               currentPath = FolderNavigationPresentationModel::GetCurrentPath();
+
+               if (currentPath.CompareTo(mediaPath) != 0)
+               {
+                       enableUpdate = true;
+               }
+
+               if (enableUpdate)
+               {
+                       if (pHeader != null)
+                       {
+                               pHeader->SetItemSelected(0);
+                       }
+
+                       _tabSelected = tabPhone;
+                       //__storageType = MEMORY_TYPE_PHONE;
+
+
+                       _pFolderEntryPM->SetFolderEntryPath(mediaPath);
+                       _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+
+                       __rootMediaPath.Clear();
+                       __rootMediaPath.Append(mediaPath);
+
+                       if (_pListView != null && _pListView->IsVisible())
+                       {
+                               _pListView->UpdateList();
+                               _pListView->ScrollToItem(0);
+
+                       }
+
+                       if (_pIconListView != null && _pIconListView->IsVisible())
+                       {
+                               _pIconListView->UpdateList();
+                               _pIconListView->ScrollToItem(0);
+                       }
+
+                       FolderNavigationPresentationModel::SetCurrentFilePath(mediaPath);
+                       FolderNavigationPresentationModel::SetStorageType(MEMORY_TYPE_PHONE);
+
+                       if (_pFilenames != null && _pFilenames->GetCount() == 0)
+                       {
+                               SetFooterVisibility(0);
+                       }
+                       else
+                       {
+                               SetFooterVisibility(1);
+                       }
+                       //Invalidate(true);
+               }
+               if (_pFolderEntryPM != null)
+               {
+                       _pFolderEntryPM->InitThumbnailManager();
+               }
+       }
+       break;
+
+       case IDA_TABBAR_ITEM_SD_CARD:
+       {
+               String currentPath;
+               bool enableUpdate = false;
+               currentPath = FolderNavigationPresentationModel::GetCurrentPath();
+
+               if (currentPath.CompareTo(storagePath) != 0)
+               {
+                       enableUpdate = true;
+               }
+
+               if (enableUpdate)
+               {
+                       if (pHeader != null)
+                       {
+                               pHeader->SetItemSelected(1);
+                       }
+
+                       _tabSelected = tabSDCard;
+
+                       __rootMediaPath.Clear();
+                       __rootMediaPath.Append(storagePath);
+
+                       _pFolderEntryPM->SetFolderEntryPath(storagePath);
+                       _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+
+                       if (_pFilenames->GetCount() == 0)
+                       {
+                               SetFooterVisibility(0);
+                       }
+                       else
+                       {
+                               SetFooterVisibility(1);
+                       }
+                       if (_pListView != null && _pListView->IsVisible())
+                       {
+                               _pListView->ScrollToItem(0);
+                               _pListView->UpdateList();
+                       }
+
+                       if (_pIconListView != null && _pIconListView->IsVisible())
+                       {
+                               _pIconListView->ScrollToItem(0);
+                               _pIconListView->UpdateList();
+                       }
+
+
+                       FolderNavigationPresentationModel::SetCurrentFilePath(storagePath);
+                       FolderNavigationPresentationModel::SetStorageType(MEMORY_TYPE_SD_CARD);
+                       //Invalidate(true);
+               }
+               if (_pFolderEntryPM != null)
+               {
+                       _pFolderEntryPM->InitThumbnailManager();
+               }
+       }
+       break;
+
+       case IDA_TABBAR_ITEM_USB:
+       {
+               String currentPath;
+               bool enableUpdate = false;
+               currentPath = FolderNavigationPresentationModel::GetCurrentPath();
+
+               if (currentPath.CompareTo(usbPath) != 0)
+               {
+                       enableUpdate = true;
+               }
+
+               if (enableUpdate)
+               {
+                       _tabSelected = tabUsb;
+
+                       if (pHeader != null)
+                       {
+                               pHeader->SetItemSelected(2);
+                       }
+
+                       __rootMediaPath.Clear();
+                       __rootMediaPath.Append(usbPath);
+
+                       _pFolderEntryPM->SetFolderEntryPath(usbPath);
+                       _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+
+                       if (_pListView != null && _pListView->IsVisible())
+                       {
+                               _pListView->ScrollToItem(0);
+                               _pListView->UpdateList();
+                       }
+
+                       if (_pIconListView != null && _pIconListView->IsVisible())
+                       {
+                               _pIconListView->ScrollToItem(0);
+                               _pIconListView->UpdateList();
+                       }
+
+                       if (_pFilenames->GetCount() == 0)
+                       {
+                               SetFooterVisibility(0);
+                       }
+                       else
+                       {
+                               SetFooterVisibility(1);
+                       }
+
+                       FolderNavigationPresentationModel::SetCurrentFilePath(usbPath);
+                       FolderNavigationPresentationModel::SetStorageType(MEMORY_TYPE_EXTERNAL);
+                       //Invalidate(true);
+               }
+       }
+       break;
+
+       default:
+       {
+               SubBaseOnActionPerformed(source, actionId);
+       }
+       break;
+       }
+}
+
+void
+TopMostFolderFileListForm::LoadSubDirectoryForm(Tizen::Base::String& fullPath, Tizen::Base::String& fileName)
+{
+       result r = E_SUCCESS;
+       ArrayList* pArg = null;
+       SceneManager* pSceneManager = null;
+
+       pArg = new (std::nothrow) ArrayList();
+       pArg->Construct();
+
+       pArg->Add(&fileName);
+       TryCatch(r == E_SUCCESS, , "Failed to Add Arguments to ArrayList");
+
+       pSceneManager = SceneManager::GetInstance();
+       TryCatch(pSceneManager != null, , "Failed to get SceneManager Instance");
+
+       //pSceneManager->GoForward(SCENE_SUB_DIRECTORY_FORM,pArg, SCENE_TRANSITION_ANIMATION_TYPE_LEFT);
+       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SUB_DIRECTORY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_LEFT), pArg);
+       return;
+
+       CATCH:
+       if (pArg != null)
+       {
+               pArg->RemoveAll();
+               delete pArg;
+               pArg = null;
+       }
+       return;
+
+}
+
+result
+TopMostFolderFileListForm::CreateHeaderControls(ArrayList* pExtraHeaderItemList)
+{
+       AppLogDebug("ENTER");
+       Header* pHeader = GetHeader();
+       Bitmap* pPhoneIcon = null;
+       Bitmap* pSDCardIcon = null;
+       Bitmap* pUsbIcon = null;
+
+       Bitmap* pPhoneIconPressed = null;
+       Bitmap* pSDCardIconPressed = null;
+       Bitmap* pUsbIconPressed = null;
+
+       String headerDisplayPhone;
+       String headerDisplayMfMyFilesApp;
+       String headerTextMemCard;
+       String headerTextExternal;
+       result r = E_SUCCESS;
+
+       AppResource* pAppResource = null;
+       pAppResource = UiApp::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Failed to Fetch the AppResource");
+
+       pAppResource->GetString(L"IDS_MF_TAB_PHONE", headerDisplayPhone);
+       pAppResource->GetString(L"IDS_COM_BODY_MY_FILES", headerDisplayMfMyFilesApp);
+       pAppResource->GetString(L"IDS_MF_TAB_MEMORY_CARD", headerTextMemCard);
+       pAppResource->GetString(L"IDS_MF_TAB_EXTERNAL_STORAGE", headerTextExternal);
+
+       pPhoneIcon = pAppResource->GetBitmapN(IDB_PHONE_HEADER_TAB, BITMAP_PIXEL_FORMAT_ARGB8888);
+       pSDCardIcon = pAppResource->GetBitmapN(IDB_SDCARD_HEADER_TAB, BITMAP_PIXEL_FORMAT_ARGB8888);
+       pUsbIcon = pAppResource->GetBitmapN(IDB_EXTERNAL_HEADER_TAB, BITMAP_PIXEL_FORMAT_ARGB8888);
+
+       pPhoneIconPressed = pAppResource->GetBitmapN(IDB_PHONE_HEADER_TAB_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888);
+       pSDCardIconPressed = pAppResource->GetBitmapN(IDB_SDCARD_HEADER_TAB_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888);
+       pUsbIconPressed = pAppResource->GetBitmapN(IDB_EXTERNAL_HEADER_TAB_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888);
+
+       //      if(pPhoneIconPressed && pSDCardIconPressed && pUsbIconPressed)
+       //      {
+       //              AppLogDebug("TopMostFileSelectionForm::CreateHeaderControls: Pressed icons are not null:%s", GetErrorMessage(GetLastResult()));
+       //      }
+
+       if (pHeader != null)
+       {
+               if (pExtraHeaderItemList != null && pExtraHeaderItemList->GetCount() > 0)
+               {
+                       pHeader->RemoveAllItems();
+                       pHeader->SetStyle(HEADER_STYLE_TAB);
+
+                       HeaderItem headerItemPhone;
+                       headerItemPhone.Construct(IDA_TABBAR_ITEM_PHONE);
+                       headerItemPhone.SetText(headerDisplayPhone);
+                       if (pPhoneIcon != null)
+                       {
+                               headerItemPhone.SetIcon(HEADER_ITEM_STATUS_NORMAL, pPhoneIcon);
+                       }
+                       if (pPhoneIconPressed != null)
+                       {
+                               headerItemPhone.SetIcon(HEADER_ITEM_STATUS_PRESSED, pPhoneIconPressed);
+                               headerItemPhone.SetIcon(HEADER_ITEM_STATUS_SELECTED, pPhoneIconPressed);
+                       }
+                       AppLogDebug("TopMostFileSelectionForm::CreateHeaderControls: Pressed icons are not null:%s", GetErrorMessage(GetLastResult()));
+
+                       r = pHeader->AddItem(headerItemPhone);
+
+                       TryCatch(r == E_SUCCESS, , "Failed to add header item");
+
+                       for (int headerItemCount = 0; headerItemCount < pExtraHeaderItemList->GetCount(); headerItemCount++)
+                       {
+                               HeaderItem headerItem;
+                               String* pHeaderItemText = static_cast< String* >(pExtraHeaderItemList->GetAt(headerItemCount));
+
+                               if (pHeaderItemText != null)
+                               {
+                                       if (pHeaderItemText->CompareTo(headerTextMemCard) == 0)
+                                       {
+                                               headerItem.Construct(IDA_TABBAR_ITEM_SD_CARD);
+                                               if (pSDCardIcon != null)
+                                               {
+                                                       headerItem.SetIcon(HEADER_ITEM_STATUS_NORMAL, pSDCardIcon);
+                                               }
+                                               if (pSDCardIconPressed != null)
+                                               {
+                                                       headerItem.SetIcon(HEADER_ITEM_STATUS_SELECTED, pSDCardIconPressed);
+                                                       headerItem.SetIcon(HEADER_ITEM_STATUS_PRESSED, pSDCardIconPressed);
+                                               }
+                                               AppLogDebug("TopMostFileSelectionForm::CreateHeaderControls: Pressed icons are not null:%s", GetErrorMessage(GetLastResult()));
+
+                                       }
+                                       else if (pHeaderItemText->CompareTo(headerTextExternal) == 0)
+                                       {
+                                               headerItem.Construct(IDA_TABBAR_ITEM_USB);
+                                               if (pUsbIcon != null)
+                                               {
+                                                       headerItem.SetIcon(HEADER_ITEM_STATUS_NORMAL, pUsbIcon);
+                                               }
+                                               if (pUsbIconPressed != null)
+                                               {
+                                                       headerItem.SetIcon(HEADER_ITEM_STATUS_PRESSED, pUsbIconPressed);
+                                                       headerItem.SetIcon(HEADER_ITEM_STATUS_SELECTED, pUsbIconPressed);
+                                               }
+                                               AppLogDebug("TopMostFileSelectionForm::CreateHeaderControls: Pressed icons are not null:%s", GetErrorMessage(GetLastResult()));
+
+                                       }
+
+                                       headerItem.SetText(*pHeaderItemText);
+                               }
+                               r = pHeader->AddItem(headerItem);
+                               TryCatch(r == E_SUCCESS, , "Failed to add header item");
+                       }
+
+                       pHeader->AddActionEventListener(*this);
+               }
+               else
+               {
+                       __rootMediaPath = FolderNavigationPresentationModel::GetMediaPath();
+                       pHeader->RemoveAllItems();
+                       pHeader->SetStyle(HEADER_STYLE_TITLE);
+                       r = pHeader->SetTitleText(headerDisplayMfMyFilesApp);
+                       pHeader->Invalidate(true);
+               }
+       }
+
+       if (pPhoneIcon != null)
+       {
+               delete pPhoneIcon;
+       }
+
+       if (pSDCardIcon != null)
+       {
+               delete pSDCardIcon;
+       }
+
+       if (pUsbIcon != null)
+       {
+               delete pUsbIcon;
+       }
+
+       if (pPhoneIconPressed != null)
+       {
+               delete pPhoneIconPressed;
+       }
+
+       if (pSDCardIconPressed != null)
+       {
+               delete pSDCardIconPressed;
+       }
+
+       if (pUsbIconPressed != null)
+       {
+               delete pUsbIconPressed;
+       }
+
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+       return E_SUCCESS;
+
+       CATCH:
+       if (pPhoneIcon != null)
+       {
+               delete pPhoneIcon;
+       }
+
+       if (pSDCardIcon != null)
+       {
+               delete pSDCardIcon;
+       }
+
+       if (pUsbIcon != null)
+       {
+               delete pUsbIcon;
+       }
+       if (pPhoneIconPressed != null)
+       {
+               delete pPhoneIconPressed;
+       }
+       if (pSDCardIconPressed != null)
+       {
+               delete pSDCardIconPressed;
+       }
+       if (pUsbIconPressed != null)
+       {
+               delete pUsbIconPressed;
+       }
+       return r;
+}
+
+
+void
+TopMostFolderFileListForm::InitializeAppRegistry(void)
+{
+       AppLogDebug("ENTER");
+       // 3 keys: ViewStyle, SortBy, Show/Hide File Extension
+       result r = E_SUCCESS;
+
+       AppRegistry* pAppRegistry = null;
+       String viewStyleKeyName(L"ListDisplayType");
+       ViewType viewStyle = VIEW_TYPE_AS_NORMAL_LIST;
+
+       String sortbyKeyName(L"SortBy");
+       SortByType sortStyle = SORT_BY_TYPE_DATE_RECENT;
+
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+       r = pAppRegistry->Add(viewStyleKeyName, viewStyle);
+       if (r == E_SUCCESS)
+       {
+               r = pAppRegistry->Save();
+       }
+
+       r = pAppRegistry->Add(_extensionKeyName, _hideExtension);
+       if (r == E_SUCCESS)
+       {
+               r = pAppRegistry->Save();
+       }
+
+       r = pAppRegistry->Add(sortbyKeyName, sortStyle);
+       if (r == E_SUCCESS)
+       {
+               r = pAppRegistry->Save();
+       }
+
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));
+}
+
+void
+TopMostFolderFileListForm::OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs)
+{
+       AppLogDebug("ENTER");
+       Integer* pFileProcessingResult = null;
+
+       TryCatch(pArgs != null, , "Argument list received is invalid!");
+       pFileProcessingResult = (Integer*) pArgs->GetAt(0);
+
+       TryCatch(pFileProcessingResult != null, , "FileProcessing Result  list is invalid!");
+
+       switch (pFileProcessingResult->ToInt())
+       {
+       case FILE_MANAGING_RESULT_DELETING_SUCCESS:
+       {
+               AppLogDebug("FILE_PROCESSING_RESULT_DELETING_SUCCESS");
+               if (_pFilenames != null)
+               {
+                       _pFilenames->RemoveAt(_indexTracker, true);
+                       //r = __pListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_REMOVE);
+                       _pListView->UpdateList();
+
+                       if (_pIconListView != null && _pIconListView->IsVisible())
+                       {
+                               _pIconListView->UpdateList();
+                       }
+               }
+               HideFileProgressingPopup();
+
+               //_pFileListPM->SetFileEventListener(this);
+       }
+       break;
+
+       case FILE_MANAGING_RESULT_DELETING_FAILED:
+       {
+               HideFileProgressingPopup();
+       }
+       break;
+       case FILE_MANAGING_RESULT_THREAD_STOP:
+       {
+               HideFileProgressingPopup();
+       }
+       break;
+       default:
+               //Do Nothing.
+               break;
+       }
+
+
+       Invalidate(true);
+
+       CATCH:
+       if (pArgs != null)
+       {
+               pArgs->RemoveAll(true);
+               delete pArgs;
+       }
+}
+
+void
+TopMostFolderFileListForm::OnFileEventExecuted(const Tizen::Base::String& path, const unsigned long eventId)
+{
+       AppLogDebug("ENTER");
+       int badgeNumber = 0;
+
+       //      Tizen::Shell::NotificationManager* pNotiMgr = null;
+       TryReturn (_pFolderEntryPM !=null, , "FolderEntryPresentation Model is NULL");
+
+       NotificationManager* pNotiMgr = null;
+       AppResource* pAppResource = null;
+       pAppResource = UiApp::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "Failed to fetch AppResource");
+
+       pNotiMgr = new (std::nothrow) NotificationManager();
+       TryCatch(pNotiMgr != null, , "Failed to fetch AppNotificationManager");
+
+       pNotiMgr->Construct();
+       badgeNumber = pNotiMgr->GetBadgeNumber();
+       badgeNumber++;
+
+
+       //_pFolderEntryPM->SetFileEventListener(null);
+
+       switch (eventId)
+       {
+       case FILE_EVENT_TYPE_CREATE:
+       {
+               if (_pListView != null && _pListView->IsVisible())
+               {
+                       _pListView->RefreshList(_pFilenames->GetCount() - 1, LIST_REFRESH_TYPE_ITEM_ADD);
+               }
+               if (_pIconListView != null && _pIconListView->IsVisible())
+               {
+                       _pIconListView->RefreshList(_pFilenames->GetCount() - 1, LIST_REFRESH_TYPE_ITEM_ADD);
+               }
+       }
+       break;
+
+       case FILE_EVENT_TYPE_DELETE:
+       {
+               if (_pListView != null && _pListView->IsVisible())
+               {
+                       _pListView->RefreshList(__counter, LIST_REFRESH_TYPE_ITEM_REMOVE);
+               }
+               if (_pIconListView != null && _pIconListView->IsVisible())
+               {
+                       if (_pThumbnailItemProvider != null)
+                       {
+                               __counter = _pThumbnailItemProvider->GetPressedIndex();
+                       }
+                       _pIconListView->RefreshList(__counter, LIST_REFRESH_TYPE_ITEM_REMOVE);
+               }
+       }
+       break;
+
+       default:
+       {
+               //Empty Implementation.
+       }
+       break;
+       }
+
+       if (pNotiMgr != null)
+       {
+               delete pNotiMgr;
+               pNotiMgr = null;
+       }
+       return;
+
+       CATCH:
+       //      if (pNotiMgr != null)
+       //      {
+       //              delete pNotiMgr;
+       //              pNotiMgr = null;
+       //      }
+       return;
+}
+
+void
+TopMostFolderFileListForm::OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state)
+{
+       result r = E_SUCCESS;
+       bool setMediaPath = false;
+
+       String mediaPath;
+       String displayMediaPath;
+       String headerTextMemCard;
+       String headerTextExternal;
+       String mounted = sdCardStatusMounted;
+       ;
+       String unmounted = sdCardStatusUnmounted;
+       String inserted = usbDeviceStatusInserted;
+       String removed = usbDeviceStatusRemoved;
+       String headerTextPhone;
+       String deviceSateSdCard;
+       String deviceSateUsbClient;
+       String currentPath;
+
+       Header* pHeader = null;
+       MemoryType currentMemoryType;
+
+       ArrayList* pTabList = null;
+
+       AppResource* pAppResource = null;
+
+       DeviceManager::GetState(StorageCard, deviceSateSdCard);
+#if 0
+       DeviceManager::GetState(UsbClient, deviceSateUsbClient);
+#endif
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       TryCatch(pAppResource != null, , "MfMyFilesApp::Resource manager not found!");
+
+       pAppResource->GetString(L"IDS_MF_TAB_MEMORY_CARD", headerTextMemCard);
+       pAppResource->GetString(L"IDS_MF_TAB_EXTERNAL_STORAGE", headerTextExternal);
+       pAppResource->GetString(L"IDS_MF_TAB_PHONE", headerTextPhone);
+
+       pTabList = new (std::nothrow) ArrayList();
+       TryCatch(pTabList != null, , "MfMyFilesApp::Failed to Allocate memory to pTabList!");
+
+       pTabList->Construct();
+       switch (deviceType)
+       {
+       case COMPONENT_TYPE_USB:
+       {
+               if (deviceSateSdCard == mounted)
+               {
+                       pTabList->Add(&headerTextMemCard);
+               }
+               if (state == inserted)
+               {
+                       pTabList->Add(&headerTextExternal);
+               }
+       }
+       break;
+
+       case COMPONENT_TYPE_STORAGE_CARD:
+       {
+               if (state == mounted)
+               {
+                       pTabList->Add(&headerTextMemCard);
+               }
+               if (deviceSateUsbClient == inserted)
+               {
+                       pTabList->Add(&headerTextExternal);
+               }
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing.
+       }
+       break;
+       }
+
+       r = CreateHeaderControls(pTabList);
+
+       if (r == E_SUCCESS && (deviceSateSdCard == unmounted || deviceSateUsbClient == removed))
+       {
+               currentPath = FolderNavigationPresentationModel::GetCurrentPath();
+
+               if (state == unmounted)
+               {
+                       if (currentPath.Contains(BasePresentationModel::GetSdCardPath()))
+                       {
+                               setMediaPath = true;
+                       }
+               }
+
+               if (state == removed)
+               {
+                       if (currentPath.Contains(BasePresentationModel::GetUsbPath()))
+                       {
+                               setMediaPath = true;
+                       }
+               }
+
+               if (setMediaPath)
+               {
+
+                       if (CheckSearchHistory() == true)
+                       {
+                               r= SceneManager::GetInstance()->DestroyScene(IDSCN_SEARCH_FORM);
+                               SceneManager::GetInstance()->ClearSceneHistory();
+                               CreateFooterControls();
+                       }
+
+                       _tabSelected = headerTextPhone;
+                       _storageType = MEMORY_TYPE_PHONE;
+
+                       mediaPath = BasePresentationModel::GetMediaPath();
+
+                       displayMediaPath = defaultPhoneBody;
+                       displayMediaPath.Append("/");
+
+                       __rootMediaPath.Clear();
+                       __rootMediaPath.Append(mediaPath);
+                       _pFolderEntryPM->SetFolderEntryPath(mediaPath);
+                       _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+
+                       if (_pFilenames != null)
+                       {
+                               FolderNavigationPresentationModel::SetCurrentFilePath(mediaPath);
+                               FolderNavigationPresentationModel::SetStorageType(MEMORY_TYPE_PHONE);
+
+                               if (_pListView != null)
+                               {
+                                       _pListView->UpdateList();
+                               }
+                               if (_pIconListView != null && _pIconListView->IsVisible())
+                               {
+                                       _pIconListView->UpdateList();
+                               }
+                       }
+               }
+       }
+
+       currentMemoryType = FolderNavigationPresentationModel::GetStorageType();
+       pHeader = GetHeader();
+
+       if (pHeader != null)
+       {
+               if (currentMemoryType == MEMORY_TYPE_PHONE)
+               {
+                       pHeader->SetItemSelected(0);
+               }
+               else if (currentMemoryType == MEMORY_TYPE_SD_CARD)
+               {
+                       pHeader->SetItemSelected(1);
+               }
+               else
+               {
+                       pHeader->SetItemSelected(2);
+               }
+       }
+
+       if (_pFilenames != null)
+       {
+               if (_pFilenames->GetCount() == 0)
+               {
+                       SetFooterVisibility(DISABLE_FOOTER_ITEM);
+               }
+               else
+               {
+                       SetFooterVisibility(ENABLE_FOOTER_ITEM);
+               }
+       }
+
+       //      Invalidate(true);
+
+       if (pTabList != null)
+       {
+               delete pTabList;
+               pTabList = null;
+       }
+
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+       return;
+
+       CATCH:
+       return;
+}
+
+void
+TopMostFolderFileListForm::OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state)
+{
+       ComponentType currentDeviceType = COMPONENT_TYPE_NONE;
+
+       switch (deviceType)
+       {
+       case StorageCard:
+       {
+               currentDeviceType = COMPONENT_TYPE_STORAGE_CARD;
+       }
+       break;
+
+       case UsbClient:
+       {
+               currentDeviceType = COMPONENT_TYPE_USB;
+       }
+       break;
+
+       default:
+       {
+               //Do Nothing.
+       }
+       break;
+       }
+
+       OnDeviceChange(currentDeviceType, state);
+}
+
+void
+TopMostFolderFileListForm::OnSceneTransitionCompleted(const Tizen::Ui::Scenes::SceneId &previousSceneId,
+               const Tizen::Ui::Scenes::SceneId &currentSceneId)
+{
+       AppLogDebug("Enter");
+       AppLogDebug("_rename index %d",_renameIndex);
+       AppRegistry* pAppRegistry = null;
+       String sortbyKeyName(L"SortBy");
+       int sortStyle = SORT_BY_TYPE_DATE_RECENT;
+
+       TryReturn (_pFolderEntryPM !=null, , "FolderEntryPresentation Model is NULL");
+
+       SceneManager::GetInstance()->RemoveSceneManagerEventListener(*this);
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();
+
+       if (previousSceneId == IDSCN_CREATE_FOLDER_FORM)
+       {
+               if (_renameOrCreate == SELECT_RENAME)
+               {
+                       pAppRegistry->Get(sortbyKeyName, sortStyle);
+
+                       if (sortStyle == SORT_BY_TYPE_NAME_ASCENDING || sortStyle == SORT_BY_TYPE_NAME_DESCENDING)
+                       {
+                               _pFolderEntryPM->SetFolderEntryPath(FolderNavigationPresentationModel::GetCurrentPath());
+                               _pFilenames = _pFolderEntryPM->GetFolderEntryList();
+
+                               if (_pListView != null && _pListView->IsVisible())
+                               {
+                                       _pListView->UpdateList();
+                               }
+                       }
+                       else
+                       {
+                               _pListView->RefreshList(_renameIndex, LIST_REFRESH_TYPE_ITEM_MODIFY);
+                       }
+                       _pFolderEntryPM->InitThumbnailManager();
+                       return;
+               }
+       }
+       if (CheckSearchHistory())
+       {
+               __previousSceneName = previousSceneId;
+       }
+
+       SwitchViewType();
+       _pFolderEntryPM->InitThumbnailManager();
+}
+
+void
+TopMostFolderFileListForm::OnSceneTransitionStarted(const Tizen::Ui::Scenes::SceneId &currentSceneId,
+               const Tizen::Ui::Scenes::SceneId &nextSceneId)
+{
+       //Empty Implementation.
+}
+
+void
+TopMostFolderFileListForm::OnFileEventOccured(const unsigned long events,const Tizen::Base::String &  path, const unsigned int eventId)
+{
+       AppLogDebug("TopMostFolderFileListForm::OnFileEventOccured");
+       _pFileEventManager->RemovePath(_pathOfSelectedFile);
+
+       _pFolderEntryPM->RefreshFolderEntries();
+
+       if (_pListView != null && _pListView->IsVisible())
+       {
+               _pListView->UpdateList();
+       }
+
+       if (_pIconListView != null && _pIconListView->IsVisible())
+       {
+               _pIconListView->UpdateList();
+       }
+       _pFolderEntryPM->InitThumbnailManager();
+
+}
diff --git a/src/MfTopMostMoveCopy.cpp b/src/MfTopMostMoveCopy.cpp
new file mode 100644 (file)
index 0000000..86108a6
--- /dev/null
@@ -0,0 +1,989 @@
+//\r
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.\r
+//\r
+// Licensed under the Flora License, Version 1.0 (the License);\r
+// you may not use this file except in compliance with the License.\r
+// You may obtain a copy of the License at\r
+//\r
+//     http://floralicense.org/license/\r
+//\r
+// Unless required by applicable law or agreed to in writing, software\r
+// distributed under the License is distributed on an AS IS BASIS,\r
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+// See the License for the specific language governing permissions and\r
+// limitations under the License.\r
+//\r
+\r
+/**\r
+ * @file: MfTopMostMoveCopy.cpp\r
+ * @brief: This file contains the implementation of TopMostMoveCopy class, which\r
+ * loads the form which implements the Copy and Move Functionalities on the\r
+ * Root Directory.\r
+ */\r
+\r
+#include "MfTopMostMoveCopy.h"\r
+#include "MfTypes.h"\r
+\r
+using namespace Tizen::App;\r
+using namespace Tizen::Base;\r
+using namespace Tizen::Base::Collection;\r
+using namespace Tizen::Base::Utility;\r
+using namespace Tizen::Graphics;\r
+using namespace Tizen::Io;\r
+using namespace Tizen::Media;\r
+using namespace Tizen::Locales;\r
+using namespace Tizen::System;\r
+using namespace Tizen::Ui;\r
+using namespace Tizen::Ui::Controls;\r
+using namespace Tizen::Ui::Scenes;\r
+\r
+TopMostMoveCopy::TopMostMoveCopy(void)\r
+{\r
+       __updateFooterCheck = false;\r
+       __viewType = 0;\r
+       __storageType = MEMORY_TYPE_NONE;\r
+}\r
+\r
+TopMostMoveCopy::~TopMostMoveCopy(void)\r
+{\r
+       //empty Implementation\r
+}\r
+\r
+TopMostMoveCopy&\r
+TopMostMoveCopy::operator =(const TopMostMoveCopy& topMostMoveCopy)\r
+{\r
+       return *this;\r
+}\r
+\r
+TopMostMoveCopy::TopMostMoveCopy(const TopMostMoveCopy& topMostMoveCopy)\r
+{\r
+       //Do Nothing\r
+}\r
+\r
+bool\r
+TopMostMoveCopy::Initialize(void)\r
+{\r
+       Form::Construct(L"IDL_TOP_MOST_MOVE_COPY");\r
+       return true;\r
+}\r
+\r
+result\r
+TopMostMoveCopy::OnInitializing(void)\r
+{\r
+       AppLogDebug("ENTER");\r
+       result r = E_SUCCESS;\r
+       __updateFooterCheck = false;\r
+\r
+       String headerTextMemCard;\r
+       String headerTextExternal;\r
+       _fileManagedCount = 0;\r
+\r
+       CreateItemSource createitemsource = CREATE_ITEM_SOURCE_SUB_BASE_MOVE_COPY;\r
+       int sourceForm = THUMBNAIL_PROVIDER_SOURCEID_TOP_MOVE_COPY_FORM;\r
+\r
+       AppResource* pAppResource = null;\r
+       pAppResource = Application::GetInstance()->GetAppResource();\r
+\r
+       pAppResource->GetString(L"IDS_MEMORY_CARD", headerTextMemCard);\r
+       pAppResource->GetString(L"IDS_EXTERNAL", headerTextExternal);\r
+\r
+       ((MyFilesApp*) Application::GetInstance())->SetCurrentView(this);\r
+\r
+       _rootPath = L"";\r
+\r
+       _pFolderEntryPM = new (std::nothrow) FolderEntryPresentationModel();\r
+       _pFolderEntryPM->Construct();\r
+       _pFolderEntryPM->SetSourceForm(createitemsource);\r
+       //_pFileListPM->SetSortEnabled(false);\r
+\r
+       _moveCopySource = MOVE_COPY_SOURCE_TOP_MOST;\r
+\r
+       _pFileManager = FolderEntryEditorPresentationModel::GetInstance();\r
+       TryCatch(_pFileManager != null, , "File Manager not found!");\r
+\r
+       _pThumbnailItemProvider = new (std::nothrow) ThumbnailItemProviderAndListener(_rootPath, sourceForm);\r
+       _pThumbnailItemProvider->SetFolderEntryProvider(this);\r
+       _pThumbnailItemProvider->SetFooterItemStateChangeListener(this);\r
+\r
+       //      r = CreateFileExistingPopup();\r
+       //      TryCatch(r == E_SUCCESS, , "failed to create file exisiting popup");\r
+\r
+       _pBaseItemProvider = new (std::nothrow) BaseItemProvider();\r
+       TryCatch(_pBaseItemProvider != null, , "Failed to allocate base itemprovider");\r
+       _pBaseItemProvider->Construct();\r
+       _pBaseItemProvider->SetSourceForm(createitemsource);\r
+       _pBaseItemProvider->SetFolderEntryProvider(this);\r
+\r
+       _pListView = static_cast< ListView* >(GetControl("IDC_LISTVIEW1"));\r
+       TryCatch(_pListView != null, , "list view is null");\r
+\r
+       _pListView->AddListViewItemEventListener(*this);\r
+       //__pListView->SetItemProvider(*this);\r
+       _pListView->SetItemProvider(*_pBaseItemProvider);\r
+       _pListView->SetBounds(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height);\r
+\r
+       _pIconListView = static_cast< IconListView* >(GetControl("IDC_ICONLISTVIEW_ROOT_THUMBNAILS"));\r
+       if (_pIconListView != null)\r
+       {\r
+               _pIconListView->SetShowState(false);\r
+               r = _pIconListView->SetItemProvider(*_pThumbnailItemProvider);\r
+               _pIconListView->AddIconListViewItemEventListener(*_pThumbnailItemProvider);\r
+               _pIconListView->SetBounds(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height);\r
+       }\r
+\r
+       //      CreateFileProgressingPopup();\r
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));\r
+       return r;\r
+\r
+CATCH:\r
+       if (_pFolderEntryPM != null)\r
+       {\r
+               delete _pFolderEntryPM;\r
+               _pFolderEntryPM = null;\r
+       }\r
+\r
+       if (_pListView != null)\r
+       {\r
+               delete _pListView;\r
+               _pListView = null;\r
+       }\r
+\r
+       return r;\r
+}\r
+\r
+void\r
+TopMostMoveCopy::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)\r
+{\r
+       AppLogDebug("ENTER");\r
+\r
+       String mediaPath;\r
+       String storagePath;\r
+       String UsbPath;\r
+\r
+       Header* pHeader = null;\r
+\r
+       if (_pFolderEntryPM != null)\r
+       {\r
+               mediaPath = BasePresentationModel::GetMediaPath();\r
+               storagePath = BasePresentationModel::GetSdCardPath();\r
+               UsbPath = BasePresentationModel::GetUsbPath();\r
+       }\r
+\r
+       pHeader = GetHeader();\r
+       switch (actionId)\r
+       {\r
+\r
+       case IDA_TABBAR_ITEM_PHONE:\r
+       {\r
+               String currentPath;\r
+               bool enableUpdate = false;\r
+               currentPath = FolderNavigationPresentationModel::GetCurrentPath();\r
+\r
+               if (currentPath.CompareTo(mediaPath) != 0)\r
+               {\r
+                       enableUpdate = true;\r
+               }\r
+\r
+               if (enableUpdate)\r
+               {\r
+                       __storageType = MEMORY_TYPE_PHONE;\r
+\r
+                       if (pHeader != null)\r
+                       {\r
+                               pHeader->SetItemSelected(0);\r
+                       }\r
+                       if (_pFolderEntryPM != null)\r
+                       {\r
+                               _rootPath.Clear();\r
+                               _rootPath = BasePresentationModel::GetMediaPath();\r
+                               _pFolderEntryPM->SetFolderEntryPath(mediaPath);\r
+                               _pFileNames = _pFolderEntryPM->GetFolderEntryList();\r
+                       }\r
+\r
+                       if (_pListView != null && _pListView->IsVisible())\r
+                       {\r
+                               _pListView->ScrollToItem(0);\r
+                               _pListView->UpdateList();\r
+                       }\r
+\r
+                       if (_pIconListView != null && _pIconListView->IsVisible())\r
+                       {\r
+                               _pIconListView->ScrollToItem(0);\r
+                               _pIconListView->UpdateList();\r
+                       }\r
+\r
+                       FolderNavigationPresentationModel::SetCurrentFilePath(mediaPath);\r
+                       FolderNavigationPresentationModel::SetStorageType(MEMORY_TYPE_PHONE);\r
+                       //Invalidate(true);\r
+               }\r
+               if (_pFolderEntryPM != null)\r
+               {\r
+                       _pFolderEntryPM->InitThumbnailManager();\r
+               }\r
+       }\r
+       break;\r
+\r
+       case IDA_TABBAR_ITEM_SD_CARD:\r
+       {\r
+               String currentPath;\r
+               bool enableUpdate = false;\r
+               currentPath = FolderNavigationPresentationModel::GetCurrentPath();\r
+\r
+               if (currentPath.CompareTo(storagePath) != 0)\r
+               {\r
+                       enableUpdate = true;\r
+               }\r
+\r
+               if (enableUpdate)\r
+               {\r
+                       __storageType = MEMORY_TYPE_SD_CARD;\r
+\r
+                       if (pHeader != null)\r
+                       {\r
+                               pHeader->SetItemSelected(1);\r
+                       }\r
+\r
+                       if (_pFolderEntryPM != null)\r
+                       {\r
+                               _rootPath.Clear();\r
+                               _rootPath = BasePresentationModel::GetSdCardPath();\r
+                               _pFolderEntryPM->SetFolderEntryPath(storagePath);\r
+                               _pFileNames = _pFolderEntryPM->GetFolderEntryList();\r
+                       }\r
+\r
+                       if (_pListView != null && _pListView->IsVisible())\r
+                       {\r
+                               _pListView->ScrollToItem(0);\r
+                               _pListView->UpdateList();\r
+                       }\r
+\r
+                       if (_pIconListView != null && _pIconListView->IsVisible())\r
+                       {\r
+                               _pIconListView->ScrollToItem(0);\r
+                               _pIconListView->UpdateList();\r
+                       }\r
+\r
+                       FolderNavigationPresentationModel::SetCurrentFilePath(storagePath);\r
+                       FolderNavigationPresentationModel::SetStorageType(MEMORY_TYPE_SD_CARD);\r
+\r
+                       //Invalidate(true);\r
+               }\r
+               if (_pFolderEntryPM != null)\r
+               {\r
+                       _pFolderEntryPM->InitThumbnailManager();\r
+               }\r
+       }\r
+       break;\r
+\r
+       case IDA_TABBAR_ITEM_USB:\r
+       {\r
+               String currentPath;\r
+               bool enableUpdate = false;\r
+               currentPath = FolderNavigationPresentationModel::GetCurrentPath();\r
+\r
+               if (currentPath.CompareTo(UsbPath) != 0)\r
+               {\r
+                       enableUpdate = true;\r
+               }\r
+\r
+               if (enableUpdate)\r
+               {\r
+                       __storageType = MEMORY_TYPE_EXTERNAL;\r
+\r
+                       if (pHeader != null)\r
+                       {\r
+                               pHeader->SetItemSelected(2);\r
+                       }\r
+\r
+                       if (_pFolderEntryPM != null)\r
+                       {\r
+                               _rootPath.Clear();\r
+                               _rootPath = BasePresentationModel::GetUsbPath();\r
+                               _pFolderEntryPM->SetFolderEntryPath(UsbPath);\r
+                               _pFileNames = _pFolderEntryPM->GetFolderEntryList();\r
+                       }\r
+\r
+                       if (_pListView != null && _pListView->IsVisible())\r
+                       {\r
+                               _pListView->ScrollToItem(0);\r
+                               _pListView->UpdateList();\r
+                       }\r
+\r
+                       if (_pIconListView != null && _pIconListView->IsVisible())\r
+                       {\r
+                               _pIconListView->ScrollToItem(0);\r
+                               _pIconListView->UpdateList();\r
+                       }\r
+\r
+                       FolderNavigationPresentationModel::SetCurrentFilePath(UsbPath);\r
+                       FolderNavigationPresentationModel::SetStorageType(MEMORY_TYPE_EXTERNAL);\r
+                       //Invalidate(true);\r
+               }\r
+       }\r
+       break;\r
+\r
+       default:\r
+       {\r
+               SubBaseOnActionPerformed(source, actionId);\r
+       }\r
+       break;\r
+       }\r
+       AppLogDebug("EXIT");\r
+}\r
+\r
+void\r
+TopMostMoveCopy::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,\r
+                                                                  const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)\r
+{\r
+       AppLogDebug("ENTER");\r
+       result r = E_SUCCESS;\r
+       String deviceSateSdCard;\r
+       String deviceSateUsbClient;\r
+       String headerTextMemCard;\r
+       String headerTextExternal;\r
+       String mounted = sdCardStatusMounted;\r
+       ;\r
+       String unmounted = sdCardStatusUnmounted;\r
+       String inserted = usbDeviceStatusInserted;\r
+       String removed = usbDeviceStatusRemoved;\r
+       String viewStyleKeyName(L"ListDisplayType");\r
+       Integer pReceivedStorageType;\r
+\r
+       AppResource* pAppResource = null;\r
+       AppRegistry* pAppRegistry = null;\r
+       ArrayList* pTabList = null;\r
+\r
+       Header* pHeader = null;\r
+\r
+       ((MyFilesApp*) Application::GetInstance())->SetCurrentView(this);\r
+\r
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();\r
+       int listViewDisplayType = VIEW_TYPE_AS_NORMAL_LIST;\r
+\r
+       r = pAppRegistry->Get(viewStyleKeyName, listViewDisplayType);\r
+       AppLogDebug(" AppRegistry Get Result: %s", GetErrorMessage(r));\r
+\r
+\r
+       pAppResource = Application::GetInstance()->GetAppResource();\r
+       TryCatch(pAppResource != null, , "MfMyFilesApp::Resource manager not found!");\r
+\r
+       //pAppResource->GetString(L"IDS_MOUNTED", mounted);\r
+       //pAppResource->GetString(L"IDS_UNMOUNTED", unmounted);\r
+       //pAppResource->GetString(L"IDS_INSERTED", inserted);\r
+       //pAppResource->GetString(L"IDS_REMOVED", removed);\r
+       pAppResource->GetString(L"IDS_MF_TAB_MEMORY_CARD", headerTextMemCard);\r
+       pAppResource->GetString(L"IDS_MF_TAB_EXTERNAL_STORAGE", headerTextExternal);\r
+\r
+       __viewType = listViewDisplayType;\r
+       AppLogDebug(" Value of ViewType flag is %d", __viewType);\r
+\r
+       SceneManager::GetInstance()->AddSceneManagerEventListener(*this);\r
+\r
+       if (pArgs != null)\r
+       {\r
+               _rootPath.Clear();\r
+               Integer* pIsCopyOrMove = static_cast< Integer* >(pArgs->GetAt(0));\r
+               if (pIsCopyOrMove != null)\r
+               {\r
+                       sourceFormOption = pIsCopyOrMove->ToInt();\r
+               }\r
+\r
+               _rootPath = FolderNavigationPresentationModel::GetCurrentPath();\r
+               pReceivedStorageType = FolderNavigationPresentationModel::GetStorageType();\r
+\r
+               pArgs->RemoveAll(true);\r
+               delete pArgs;\r
+               pArgs = null;\r
+       }\r
+\r
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);\r
+#if 0\r
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_USB_CLIENT, *this);\r
+#endif\r
+\r
+       DeviceManager::GetState(StorageCard, deviceSateSdCard);\r
+#if 0\r
+       DeviceManager::GetState(UsbClient, deviceSateUsbClient);\r
+#endif\r
+\r
+       pTabList = new (std::nothrow) ArrayList();\r
+       pTabList->Construct();\r
+       if (pTabList != null)\r
+       {\r
+               if (deviceSateSdCard == mounted)\r
+               {\r
+                       pTabList->Add(new (std::nothrow) String(headerTextMemCard));\r
+               }\r
+               if (deviceSateUsbClient == inserted)\r
+               {\r
+                       pTabList->Add(new (std::nothrow) String(headerTextExternal));\r
+               }\r
+               r = CreateHeaderControls(pTabList);\r
+\r
+               pHeader = GetHeader();\r
+\r
+               if (pHeader != null)\r
+               {\r
+                       if (_rootPath.Equals(BasePresentationModel::GetSdCardPath(), false))\r
+                       {\r
+                               pHeader->SetItemSelected(1);\r
+                       }\r
+                       else if (_rootPath.Equals(BasePresentationModel::GetUsbPath(), false))\r
+                       {\r
+                               pHeader->SetItemSelected(2);\r
+                       }\r
+                       else\r
+                       {\r
+                               pHeader->SetItemSelected(0);\r
+                       }\r
+               }\r
+\r
+       }\r
+       else\r
+       {\r
+               r = CreateHeaderControls();\r
+       }\r
+\r
+       if (pTabList != null)\r
+       {\r
+               pTabList->RemoveAll(true);\r
+               delete pTabList;\r
+               pTabList = null;\r
+       }\r
+\r
+       switch (pReceivedStorageType.ToInt())\r
+       {\r
+       case MEMORY_TYPE_PHONE:\r
+       {\r
+               __storageType = MEMORY_TYPE_PHONE;\r
+       }\r
+       break;\r
+\r
+       case MEMORY_TYPE_SD_CARD:\r
+       {\r
+               __storageType = MEMORY_TYPE_SD_CARD;\r
+       }\r
+       break;\r
+\r
+       case MEMORY_TYPE_EXTERNAL:\r
+       {\r
+               __storageType = MEMORY_TYPE_EXTERNAL;\r
+       }\r
+       break;\r
+\r
+       default:\r
+       {\r
+               //Do Nothing.\r
+       }\r
+       break;\r
+       }\r
+\r
+       _pFileManager->SetFileManagingListener(this);\r
+\r
+       if (_pFolderEntryPM != null)\r
+       {\r
+               _pFolderEntryPM->SetFolderEntryPath(_rootPath);\r
+               //__pFileListPM->SetFileEventListener(this);\r
+               _pFileNames = _pFolderEntryPM->GetFolderEntryList();\r
+               TryCatch(_pFileNames != null, , " Failed to allocate Memory to Filenames ArrayList");\r
+       }\r
+\r
+       if (_pThumbnailItemProvider != null)\r
+       {\r
+               _pThumbnailItemProvider->SetSourceFromOption(sourceFormOption.ToInt());\r
+       }\r
+\r
+       if (!__updateFooterCheck)\r
+       {\r
+               CreateFooterItems();\r
+               __updateFooterCheck = true;\r
+       }\r
+\r
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));\r
+       return;\r
+CATCH:\r
+       return;\r
+}\r
+\r
+void\r
+TopMostMoveCopy::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,\r
+                                                                       const Tizen::Ui::Scenes::SceneId& nextSceneId)\r
+{\r
+       DeviceManager::RemoveAllDeviceEventListeners();\r
+       ((MyFilesApp*)Application::GetInstance())->SetCurrentView(null);\r
+\r
+       if (_pFolderEntryPM != null)\r
+       {\r
+               _pFolderEntryPM->StopThumbnailManager(true);\r
+       }\r
+}\r
+\r
+void\r
+TopMostMoveCopy::OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status)\r
+{\r
+       result r = E_SUCCESS;\r
+       SceneManager* pSceneManager = null;\r
+       Integer* pCopyOrMove = null;\r
+       DirectoryEntry* pDirStr = null;\r
+       ArrayList* pArg = null;\r
+       String filePath;\r
+\r
+       pSceneManager = SceneManager::GetInstance();\r
+       TryCatch(pSceneManager != null, , "failed to Get SceneManager instance");\r
+\r
+       pCopyOrMove = new (std::nothrow) Integer(sourceFormOption);\r
+       TryCatch(pCopyOrMove != null, , "failed to allocate memory to pcopy or move");\r
+\r
+       filePath.Append(_rootPath);\r
+       if (_pFileNames != null)\r
+       {\r
+               pDirStr = static_cast< DirectoryEntry* >(_pFileNames->GetAt(index));\r
+               if (pDirStr != null)\r
+               {\r
+                       filePath.Append(pDirStr->GetFileName());\r
+                       if (pDirStr->IsDirectory())\r
+                       {\r
+                               filePath = pDirStr->GetFullFilePath();\r
+                               FolderNavigationPresentationModel::SetCurrentFilePath(filePath);\r
+\r
+                               pArg = new (std::nothrow) ArrayList();\r
+                               TryCatch(pArg != null, , "failed to allocate memory to parg");\r
+\r
+                               r = pArg->Construct();\r
+                               r = pArg->Add(pCopyOrMove);\r
+                               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SUB_DIRECTORY_MOVE_COPY_FORM, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT, SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY), pArg);\r
+\r
+                       }\r
+\r
+               }\r
+\r
+       }\r
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));\r
+       return;\r
+\r
+CATCH:\r
+\r
+       if (pCopyOrMove != null)\r
+       {\r
+               delete pCopyOrMove;\r
+               pCopyOrMove = null;\r
+       }\r
+\r
+       return;\r
+\r
+}\r
+\r
+void\r
+TopMostMoveCopy::OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state)\r
+{\r
+       result r = E_SUCCESS;\r
+       bool setMediaPath = false;\r
+       String __mediaPath;\r
+       String displayMediaPath;\r
+       String headerTextMemCard;\r
+       String headerTextExternal;\r
+       String mounted = sdCardStatusMounted;\r
+       ;\r
+       String unmounted = sdCardStatusUnmounted;\r
+       String inserted = usbDeviceStatusInserted;\r
+       String removed = usbDeviceStatusRemoved;\r
+       String headerTextPhone;\r
+       String deviceSateSdCard;\r
+       String deviceSateUsbClient;\r
+       String currentPath;\r
+       Header* pHeader = null;\r
+       MemoryType currentMemoryType;\r
+\r
+       ArrayList* pTabList = null;\r
+\r
+       AppResource* pAppResource = null;\r
+\r
+       DeviceManager::GetState(StorageCard, deviceSateSdCard);\r
+#if 0\r
+       DeviceManager::GetState(UsbClient, deviceSateUsbClient);\r
+#endif\r
+\r
+       pAppResource = Application::GetInstance()->GetAppResource();\r
+       TryCatch(pAppResource != null, , "MfMyFilesApp::Resource manager not found!");\r
+\r
+       //pAppResource->GetString(L"IDS_MOUNTED", mounted);\r
+       //pAppResource->GetString(L"IDS_UNMOUNTED", unmounted);\r
+       pAppResource->GetString(L"IDS_MF_TAB_MEMORY_CARD", headerTextMemCard);\r
+       pAppResource->GetString(L"IDS_MF_TAB_EXTERNAL_STORAGE", headerTextExternal);\r
+       pAppResource->GetString(L"IDS_MF_TAB_PHONE", headerTextPhone);\r
+       //pAppResource->GetString(L"IDS_INSERTED", inserted);\r
+       //pAppResource->GetString(L"IDS_REMOVED", removed);\r
+\r
+       pTabList = new (std::nothrow) ArrayList();\r
+       TryCatch(pTabList != null, , "MfMyFilesApp::Failed to Allocate memory to pTabList!");\r
+       pTabList->Construct();\r
+\r
+       switch (deviceType)\r
+       {\r
+       case COMPONENT_TYPE_USB:\r
+       {\r
+               if (deviceSateSdCard == mounted)\r
+               {\r
+                       pTabList->Add(&headerTextMemCard);\r
+               }\r
+               if (state == inserted)\r
+               {\r
+                       pTabList->Add(&headerTextExternal);\r
+               }\r
+       }\r
+       break;\r
+\r
+       case COMPONENT_TYPE_STORAGE_CARD:\r
+       {\r
+               if (state == mounted)\r
+               {\r
+                       pTabList->Add(&headerTextMemCard);\r
+               }\r
+               if (deviceSateUsbClient == inserted)\r
+               {\r
+                       pTabList->Add(&headerTextExternal);\r
+               }\r
+       }\r
+       break;\r
+\r
+       default:\r
+       {\r
+               //Do Nothing.\r
+       }\r
+       break;\r
+       }\r
+\r
+       r = CreateHeaderControls(pTabList);\r
+\r
+       if (r == E_SUCCESS && (deviceSateSdCard == unmounted || deviceSateUsbClient == removed))\r
+       {\r
+               currentPath = FolderNavigationPresentationModel::GetCurrentPath();\r
+\r
+               if (state == unmounted)\r
+               {\r
+                       if (currentPath.Contains(BasePresentationModel::GetSdCardPath()))\r
+                       {\r
+                               setMediaPath = true;\r
+                       }\r
+               }\r
+\r
+               if (state == removed)\r
+               {\r
+                       if (currentPath.Contains(BasePresentationModel::GetUsbPath()))\r
+                       {\r
+                               setMediaPath = true;\r
+                       }\r
+               }\r
+\r
+               if (setMediaPath)\r
+               {\r
+                       __storageType = MEMORY_TYPE_PHONE;\r
+\r
+                       __mediaPath = BasePresentationModel::GetMediaPath();\r
+\r
+                       displayMediaPath = defaultPhoneBody;\r
+                       displayMediaPath.Append("/");\r
+\r
+                       _pFolderEntryPM->SetFolderEntryPath(__mediaPath);\r
+                       _pFileNames = _pFolderEntryPM->GetFolderEntryList();\r
+\r
+                       if (_pFileNames != null)\r
+                       {\r
+                               FolderNavigationPresentationModel::SetCurrentFilePath(__mediaPath);\r
+                               FolderNavigationPresentationModel::SetStorageType(MEMORY_TYPE_PHONE);\r
+\r
+                               if (_pListView != null)\r
+                               {\r
+                                       _pListView->SetBounds(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height);\r
+                                       _pListView->UpdateList();\r
+                               }\r
+                               if (_pIconListView != null && _pIconListView->IsVisible())\r
+                               {\r
+                                       _pIconListView->SetBounds(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height);\r
+                                       _pIconListView->UpdateList();\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+\r
+       currentMemoryType = FolderNavigationPresentationModel::GetStorageType();\r
+       pHeader = GetHeader();\r
+\r
+       if (pHeader != null)\r
+       {\r
+               if (currentMemoryType == MEMORY_TYPE_PHONE)\r
+               {\r
+                       pHeader->SetItemSelected(0);\r
+               }\r
+               else if (currentMemoryType == MEMORY_TYPE_SD_CARD)\r
+               {\r
+                       pHeader->SetItemSelected(1);\r
+               }\r
+               else\r
+               {\r
+                       pHeader->SetItemSelected(2);\r
+               }\r
+       }\r
+\r
+       Invalidate(true);\r
+\r
+       if (pTabList != null)\r
+       {\r
+               delete pTabList;\r
+               pTabList = null;\r
+       }\r
+\r
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));\r
+       return;\r
+CATCH:\r
+       return;\r
+}\r
+\r
+result\r
+TopMostMoveCopy::CreateHeaderControls(ArrayList* pExtraHeaderItemList)\r
+{\r
+       AppLogDebug("ENTER");\r
+       Header* pHeader = GetHeader();\r
+       Bitmap* pPhoneIcon = null;\r
+       Bitmap* pSDCardIcon = null;\r
+       Bitmap* pUsbIcon = null;\r
+\r
+       Bitmap* pPhoneIconPressed = null;\r
+       Bitmap* pSDCardIconPressed = null;\r
+       Bitmap* pUsbIconPressed = null;\r
+\r
+       String headerDisplayPhone;\r
+       String headerDisplayMfMyFilesApp;\r
+       String headerTextExternal;\r
+       String headerTextMemCard;\r
+       result r = E_SUCCESS;\r
+\r
+       AppResource* pAppResource = null;\r
+       pAppResource = UiApp::GetInstance()->GetAppResource();\r
+\r
+       pAppResource->GetString(L"IDS_MF_TAB_PHONE", headerDisplayPhone);\r
+       pAppResource->GetString(L"IDS_COM_BODY_MY_FILES", headerDisplayMfMyFilesApp);\r
+       pAppResource->GetString(L"IDS_MF_TAB_MEMORY_CARD", headerTextMemCard);\r
+       pAppResource->GetString(L"IDS_MF_TAB_EXTERNAL_STORAGE", headerTextExternal);\r
+\r
+       pPhoneIcon = pAppResource->GetBitmapN(IDB_PHONE_HEADER_TAB, BITMAP_PIXEL_FORMAT_ARGB8888);\r
+       pSDCardIcon = pAppResource->GetBitmapN(IDB_SDCARD_HEADER_TAB, BITMAP_PIXEL_FORMAT_ARGB8888);\r
+       pUsbIcon = pAppResource->GetBitmapN(IDB_EXTERNAL_HEADER_TAB, BITMAP_PIXEL_FORMAT_ARGB8888);\r
+\r
+       pPhoneIconPressed = pAppResource->GetBitmapN(IDB_PHONE_HEADER_TAB_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888);\r
+       pSDCardIconPressed = pAppResource->GetBitmapN(IDB_SDCARD_HEADER_TAB_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888);\r
+       pUsbIconPressed = pAppResource->GetBitmapN(IDB_EXTERNAL_HEADER_TAB_PRESSED, BITMAP_PIXEL_FORMAT_ARGB8888);\r
+\r
+       if (pPhoneIconPressed && pSDCardIconPressed && pUsbIconPressed)\r
+       {\r
+               AppLogDebug("TopMostFileSelectionForm::CreateHeaderControls: Pressed icons are not null:%s", GetErrorMessage(GetLastResult()));\r
+       }\r
+\r
+       if (pHeader != null)\r
+       {\r
+               if (pExtraHeaderItemList != null && pExtraHeaderItemList->GetCount() > 0)\r
+               {\r
+                       pHeader->RemoveAllItems();\r
+                       pHeader->SetStyle(HEADER_STYLE_TAB);\r
+\r
+                       HeaderItem headerItemPhone;\r
+                       headerItemPhone.Construct(IDA_TABBAR_ITEM_PHONE);\r
+                       headerItemPhone.SetText(headerDisplayPhone);\r
+                       headerItemPhone.SetIcon(HEADER_ITEM_STATUS_NORMAL, pPhoneIcon);\r
+                       headerItemPhone.SetIcon(HEADER_ITEM_STATUS_PRESSED, pPhoneIconPressed);\r
+                       headerItemPhone.SetIcon(HEADER_ITEM_STATUS_SELECTED, pPhoneIconPressed);\r
+                       pHeader->AddItem(headerItemPhone);\r
+\r
+                       for (int headerItemCount = 0; headerItemCount < pExtraHeaderItemList->GetCount(); headerItemCount++)\r
+                       {\r
+                               HeaderItem headerItem;\r
+                               String* pHeaderItemText = static_cast< String* >(pExtraHeaderItemList->GetAt(headerItemCount));\r
+\r
+                               if (pHeaderItemText != null)\r
+                               {\r
+                                       if (pHeaderItemText->CompareTo(headerTextMemCard) == 0)\r
+                                       {\r
+                                               headerItem.Construct(IDA_TABBAR_ITEM_SD_CARD);\r
+                                               headerItem.SetIcon(HEADER_ITEM_STATUS_NORMAL, pSDCardIcon);\r
+                                               headerItem.SetIcon(HEADER_ITEM_STATUS_SELECTED, pSDCardIconPressed);\r
+                                               headerItem.SetIcon(HEADER_ITEM_STATUS_PRESSED, pSDCardIconPressed);\r
+                                       }\r
+                                       else if (pHeaderItemText->CompareTo(headerTextExternal) == 0)\r
+                                       {\r
+                                               headerItem.Construct(IDA_TABBAR_ITEM_USB);\r
+                                               headerItem.SetIcon(HEADER_ITEM_STATUS_NORMAL, pUsbIcon);\r
+                                               headerItem.SetIcon(HEADER_ITEM_STATUS_PRESSED, pUsbIconPressed);\r
+                                               headerItem.SetIcon(HEADER_ITEM_STATUS_SELECTED, pUsbIconPressed);\r
+                                       }\r
+\r
+                                       headerItem.SetText(*pHeaderItemText);\r
+\r
+                                       pHeader->AddItem(headerItem);\r
+                               }\r
+                       }\r
+                       pHeader->AddActionEventListener(*this);\r
+               }\r
+               else\r
+               {\r
+                       pHeader->RemoveAllItems();\r
+                       pHeader->SetStyle(HEADER_STYLE_TITLE);\r
+                       pHeader->SetTitleText(headerDisplayMfMyFilesApp);\r
+                       pHeader->Invalidate(true);\r
+               }\r
+       }\r
+\r
+       if (pPhoneIcon != null)\r
+       {\r
+               delete pPhoneIcon;\r
+       }\r
+\r
+       if (pSDCardIcon != null)\r
+       {\r
+               delete pSDCardIcon;\r
+       }\r
+\r
+       if (pUsbIcon != null)\r
+       {\r
+               delete pUsbIcon;\r
+       }\r
+\r
+       if (pPhoneIconPressed != null)\r
+       {\r
+               delete pPhoneIconPressed;\r
+       }\r
+\r
+       if (pSDCardIconPressed != null)\r
+       {\r
+               delete pSDCardIconPressed;\r
+       }\r
+\r
+       if (pUsbIconPressed != null)\r
+       {\r
+               delete pUsbIconPressed;\r
+       }\r
+\r
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(r));\r
+       return E_SUCCESS;\r
+\r
+}\r
+\r
+void\r
+TopMostMoveCopy::OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state)\r
+{\r
+       ComponentType currentDeviceType = COMPONENT_TYPE_NONE;\r
+       switch (deviceType)\r
+       {\r
+       case StorageCard:\r
+       {\r
+               currentDeviceType = COMPONENT_TYPE_STORAGE_CARD;\r
+       }\r
+       break;\r
+\r
+       case UsbClient:\r
+       {\r
+               currentDeviceType = COMPONENT_TYPE_USB;\r
+       }\r
+       break;\r
+\r
+       default:\r
+       {\r
+               //Do Nothing.\r
+       }\r
+       break;\r
+       }\r
+\r
+       OnDeviceChange(currentDeviceType, state);\r
+}\r
+\r
+void\r
+TopMostMoveCopy::OnSceneTransitionCompleted(const Tizen::Ui::Scenes::SceneId &previousSceneId,\r
+               const Tizen::Ui::Scenes::SceneId &currentSceneId)\r
+{\r
+       result r = E_SUCCESS;\r
+       String viewStyleKeyName(L"ListDisplayType");\r
+\r
+       AppRegistry* pAppRegistry = null;\r
+       pAppRegistry = UiApp::App::GetInstance()->GetAppRegistry();\r
+       int listViewDisplayType = VIEW_TYPE_AS_NORMAL_LIST;\r
+\r
+       r = pAppRegistry->Get(viewStyleKeyName, listViewDisplayType);\r
+       AppLogDebug(" AppRegistry Get Result: %s", GetErrorMessage(r));\r
+\r
+       SceneManager::GetInstance()->RemoveSceneManagerEventListener(*this);\r
+\r
+       switch (listViewDisplayType)\r
+       {\r
+       case VIEW_TYPE_AS_DETAILED_LIST:\r
+       {\r
+               if (_pIconListView != null && _pIconListView->IsVisible())\r
+               {\r
+                       _pIconListView->SetShowState(false);\r
+               }\r
+\r
+               if (_pListView != null)\r
+               {\r
+                       _pListView->ScrollToItem(0);\r
+                       _pListView->UpdateList();\r
+                       _pListView->SetShowState(true);\r
+               }\r
+       }\r
+       break;\r
+\r
+       case VIEW_TYPE_AS_NORMAL_LIST:\r
+       {\r
+               if (_pIconListView != null && _pIconListView->IsVisible())\r
+               {\r
+                       _pIconListView->SetShowState(false);\r
+               }\r
+\r
+               if (_pListView != null)\r
+               {\r
+                       _pListView->ScrollToItem(0);\r
+                       _pListView->UpdateList();\r
+                       _pListView->SetShowState(true);\r
+               }\r
+       }\r
+       break;\r
+\r
+       case VIEW_TYPE_AS_THUMBNAILS:\r
+       {\r
+               if (_pListView != null && _pListView->IsVisible())\r
+               {\r
+                       _pListView->SetShowState(false);\r
+               }\r
+\r
+               if (_pIconListView != null)\r
+               {\r
+                       _pIconListView->ScrollToItem(0);\r
+                       _pIconListView->UpdateList();\r
+                       _pIconListView->SetShowState(true);\r
+               }\r
+       }\r
+       break;\r
+\r
+       default:\r
+       {\r
+               __viewType = VIEW_TYPE_AS_NORMAL_LIST;\r
+               if (_pListView != null)\r
+               {\r
+                       _pListView->ScrollToItem(0);\r
+                       _pListView->UpdateList();\r
+               }\r
+\r
+       }\r
+       break;\r
+       }\r
+\r
+       if (_pFolderEntryPM != null)\r
+       {\r
+               _pFolderEntryPM->InitThumbnailManager();\r
+       }\r
+}\r
+\r
+void\r
+TopMostMoveCopy::OnSceneTransitionStarted(const Tizen::Ui::Scenes::SceneId &currentSceneId,\r
+               const Tizen::Ui::Scenes::SceneId &nextSceneId)\r
+{\r
+       //Empty Implementation.\r
+}\r
+\r
diff --git a/src/MfTypes.cpp b/src/MfTypes.cpp
new file mode 100644 (file)
index 0000000..19fbf9b
--- /dev/null
@@ -0,0 +1,206 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfTypes.cpp
+ * @brief: This file contains common enumerators, static constants used across the application
+ */
+
+#include "MfTypes.h"
+
+
+//APPCONTROL APPID
+const wchar_t* musicPlayerAppId = L"dhrul6qzj3.MusicPlayer";
+const wchar_t* browserAppId = L"kmcele1k0n.Internet";
+const wchar_t* phoneAppId = L"zktdpemtmw.Phone";
+const wchar_t* videoPlayerAppId = L"npwf0scb88.VideoPlayer";
+
+//typeImage
+const int SELECT_DELETE_BUTTON = 1;
+const int SELECT_SHARE_BUTTON = 2;
+const int SELECT_MOVE_BUTTON = 3;
+const int SELECT_COPY_BUTTON = 4;
+const int SELECT_CREATE_FOLDER = 5;
+const int SELECT_ROOT_DIRECTORY = 6;
+const int SELECT_SUB_DIRECTORY = 7;
+const int SELECT_NO_BUTTON = 0;
+const int SELECTED_FROM_ROOT_DIRECTORY = 8;
+const int SELECTED_FROM_SUB_DIRECTORY = 9;
+const int SELECT_RENAME = 10;
+
+const int DISPLAY_MODE_PICK = 6;
+const int DISPLAY_MODE_SELECT = 7;
+
+const int POP_UP_VIEW_AS = 1;
+const int POP_UP_SORT_BY = 2;
+const int POP_UP_SHARE = 3;
+
+//app control data
+const wchar_t* appcontroldataKey = L"http://tizen.org/appcontrol/data/selected";
+const wchar_t* appcontrolKey = L"path";
+
+//Storage Body names
+const wchar_t* defaultPhoneBody = L"Phone";
+const wchar_t* defaultSdCardBody = L"SDCard";
+const wchar_t* defaultExternalStorageBody = L"External";
+const wchar_t* fileExtenstionKeyName = L"ExtensionVisibility";
+const wchar_t* usbDeviceStatusInserted = L"Inserted";
+const wchar_t* usbDeviceStatusRemoved = L"Removed";
+const wchar_t* sdCardStatusMounted = L"Mounted";
+const wchar_t* sdCardStatusUnmounted = L"Unmounted";
+
+//Bitmaps
+//Popup
+const wchar_t* IDB_BACKGROUND_POPUP_BOTTOM = L"00_popup_bottom_bg.9.png";
+const wchar_t* IDB_BACKGROUND_POPUP_CENTER = L"00_popup_bg.9.png";
+
+//Delete
+const wchar_t* IDB_CONTEXT_DELETE_NORMAL = L"00_button_sweep_delete.9.png";
+const wchar_t* IDB_CONTEXT_DELETE_PRESS = L"00_button_sweep_delete_press.9.png";
+
+//ListView Items/Elements
+const wchar_t* IDB_FOLDER = L"U01_icon_folder.png";
+const wchar_t* IDB_DUMMY_IMG = L"00_Nocontents_picture.png";
+
+//Header Icons
+const wchar_t* IDB_PHONE_HEADER_TAB = L"U01_1st_icon_phone.png";
+const wchar_t* IDB_SDCARD_HEADER_TAB = L"U01_1st_icon_memory_card.png";
+const wchar_t* IDB_EXTERNAL_HEADER_TAB = L"U01_1st_icon_external_storage.png";
+
+//Header Icons Presed
+const wchar_t* IDB_PHONE_HEADER_TAB_PRESSED = L"U01_1st_icon_phone_press.png";
+const wchar_t* IDB_SDCARD_HEADER_TAB_PRESSED = L"U01_1st_icon_memory_card_press.png";
+const wchar_t* IDB_EXTERNAL_HEADER_TAB_PRESSED = L"U01_1st_icon_external_storage_press.png";
+
+//Thumbnail Manager
+const wchar_t* IDB_VIDEO_PLAY_SMALL = L"U01_icon_video.png";
+const wchar_t* IDB_PDF = L"U01_icon_pdf.png";
+const wchar_t* IDB_MS_WORD = L"U01_icon_word.png";
+const wchar_t* IDB_MS_EXCEL = L"U01_icon_excel.png";
+const wchar_t* IDB_MS_PPT = L"U01_icon_ppt.png";
+const wchar_t* IDB_MUSIC = L"U01_icon_music.png";
+const wchar_t* IDB_VIDEO = L"U01_icon_video.png";
+const wchar_t* IDB_RSS = L"U01_icon_rss.png";
+const wchar_t* IDB_TEXT = L"U01_icon_text.png";
+const wchar_t* IDB_SVG = L"U01_icon_svg.png";
+const wchar_t* IDB_SWF = L"U01_icon_swf.png";
+const wchar_t* IDB_HTML = L"U01_icon_html.png";
+const wchar_t* IDB_UNKNOWN = L"U01_icon_unkown.png";
+
+//Dimensions of Controls
+const int X_DEFAULT = 0;
+const int Y_DEFAULT = 0;
+const int X_LISTVIEW = 16;
+const int Y_LISTVIEW = 10;
+const int H_ITEM_LISTVIEW_POPUP = 85;
+const int H_ITEM_LISTVIEW = 112;
+const int H_DETAIL_LISTVIEW = 128;
+
+const int H_LISTVIEW_ITEM_BITMAP = 72;
+const int W_LISTVIEW_ITEM_BITMAP = 72;
+
+const int H_SEARCH_ALL_FOLDERS = 60;
+const int H_DISPLAY_PATH_LABEL = 48;
+
+const int H_RENAME_EDITFIELD = 112;
+const int H_RENAME_PANEL = 130;
+const int H_CREATE_FOLDER_EDITFIELD = 90;
+const int Y_CREATE_FOLDER_EDITFIELD = 40;
+
+const int W_POPUP_LISTVIEW = 400;
+
+const int H_CHECK_BUTTON = 112;
+
+const int KB_DIVISOR = 1024;
+const int MB_DIVISOR = 1048576;
+const int INVALID_LIST_INDEX = -1;
+const int ENABLE_FOOTER_ITEM = 1;
+const int DISABLE_FOOTER_ITEM = 0;
+
+const int W_RENAME_ICON = 64;
+const int H_LISTVIEW_ITEM_TITLE = 60;
+const int H_LISTVIEW_ITEM_DESCRIPTION = 48;
+
+const int X_SEARCH_ALL_FOLDERS = 100;
+
+const int W_DELETE_BUTTON = 100;
+const int H_DELETE_BUTTON = 74;
+const int W_MAX_POPUP = 620;
+const int H_BOTTOM_PANEL = 96;
+const int H_DEFAULT_BUTTON = 72;
+
+const int ID_THUMBNAIL_WIDH=164;
+const int ID_THUMBNAIL_HEIGHT=164;
+
+const int ID_FILE_NAME_LENGTH_MAX = 254;
+const int ID_FOLDER_NAME_LENGTH_MAX = 250;
+
+//IconListView OVERLAY ITEMS
+const int OVERLAYITEM_RENAME = 0;
+
+//Search Form
+const int X_POPUP_SEARCH = 50;
+const int Y_POPUP_SEARCH = 250;
+const int H_POPUP_SEARCH = 300;
+const int H_SEARCH_BAR = 86;
+
+//AppControl
+const wchar_t* IDB_PLAY_OUTER_CIRCLE = L"00_btn_circle_bg_normal.png";
+const wchar_t* IDB_PLAY = L"U01_button_play.png";
+const wchar_t* IDB_PLAY_PRESSED = L"U01_button_play_press.png";
+const wchar_t* IDB_PAUSE = L"U01_button_pause.png";
+const wchar_t* IDB_PAUSE_PRESSED = L"U01_button_pause_press.png";
+const wchar_t* IDB_RENAME_OUTER_CIRCLE = L"00_btn_circle_bg_normal.png";
+const wchar_t* IDB_RENAME_PRESSED_CIRCLE = L"00_btn_circle_bg_press.png";
+const wchar_t* IDB_RENAME = L"00_button_rename_normal.png";
+
+//Fonts
+const int ID_FONT_SIZE_26 = 26;
+const int ID_FONT_SIZE_32 = 32;
+const int ID_FONT_SIZE_36 = 36;
+const int ID_FONT_SIZE_40 = 40;
+const int ID_FONT_SIZE_44 = 44;
+const int MAX_TEXT_ITEMS = 10;
+const int ID_MAX_LINE_SPACE = 40;
+const int H_ENRICHED_TEXT = 800;
+
+//MessageBox Timeouts
+extern const int ID_MESSAGE_BOX_TIMEOUT_ONE_SECOND = 1000;
+
+//String Arrays
+const Tizen::Base::String typeImage[ID_IMAGE_TYPE_SIZE] =
+{
+       "jpg", "jpeg", "bmp", "png", "gif",
+       "JPG", "JPEG", "BMP", "PNG", "GIF"
+};
+
+const Tizen::Base::String typeAudio[ID_AUDIO_TYPE_SIZE] =
+{
+       "mp3", "aac", "amr", "mid", "midi", "wav", "m4a",
+       "MP3", "AAC", "AMR", "MID", "MIDI", "WAV", "M4A"
+};
+
+const Tizen::Base::String typeVideo[ID_VIDEO_TYPE_SIZE] =
+{
+       "mpeg4", "mp4", "3gpp", "3gp", "avi", "mpeg",
+       "MPEG4", "MP4", "3GPP", "3GP", "AVI", "MPEG"
+};
+
+const Tizen::Base::String typeContacts[ID_CONTACT_TYPE_SIZE] =
+{
+       "vcs",
+       "VCS"
+};
diff --git a/src/MfUtility.cpp b/src/MfUtility.cpp
new file mode 100644 (file)
index 0000000..4d7785a
--- /dev/null
@@ -0,0 +1,325 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfUtility.cpp
+ * @brief: This file contains the implementation of MfUtility class, which is a common utility function class and
+ * contains helper functions which are used throughout the Application.
+ */
+
+#include "MfUtility.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Graphics;
+using namespace Tizen::Locales;
+
+MfUtility::MfUtility(void)
+{
+       // Empty Implementation
+
+}
+
+MfUtility::~MfUtility(void)
+{
+       // Empty Implementation
+}
+
+MfUtility&
+MfUtility::operator =(const MfUtility& mfUtility)
+{
+       return *this;
+}
+
+MfUtility::MfUtility(const MfUtility& mfUtility)
+{
+       //Do Nothing
+}
+
+
+Tizen::Base::String
+MfUtility::ConvertFileSizeToString(long long int fileSize)
+{
+       AppLogDebug("Entry");
+       AppResource* pAppResource = null;
+       String size;
+       pAppResource = Application::GetInstance()->GetAppResource();
+
+       float preciseFileSize = fileSize / MB_DIVISOR;
+       if (preciseFileSize == 0)
+       {
+               preciseFileSize = fileSize / KB_DIVISOR;
+               if (preciseFileSize == 0)
+               {
+                       String bytes;
+                       pAppResource->GetString(L"IDS_BYTES", bytes);
+                       size.Append(fileSize);
+                       size.Append(L" ");
+                       size.Append(bytes);
+               }
+               else
+               {
+                       String kb;
+                       pAppResource->GetString(L"IDS_COM_BODY_KB", kb);
+                       size.Append(preciseFileSize);
+                       size.Append(L" ");
+                       size.Append(kb);
+               }
+       }
+       else
+       {
+               String mb;
+               pAppResource->GetString(L"IDS_COM_BODY_MB", mb);
+               size.Append(preciseFileSize);
+               size.Append(L" ");
+               size.Append(mb);
+       }
+       AppLogDebug("Exit");
+       return size;
+}
+
+Tizen::Base::String
+MfUtility::ConvertDateTimeToString(Tizen::Base::DateTime fileCreationTime)
+{
+       AppLogDebug("Entry");
+       String dateAndTime;
+       String cutomizedPattern;
+       DateTimeFormatter* pDateFormatter = null;
+       //DateTimeFormatter* pTimeFormatter = null;
+       DateTime dirCreationTime;
+       Locale locale(LANGUAGE_ENG, COUNTRY_US);
+
+       dirCreationTime = fileCreationTime;
+
+       pDateFormatter = DateTimeFormatter::CreateDateFormatterN(locale, DATE_TIME_STYLE_DEFAULT);
+       TryCatch(pDateFormatter != null, dateAndTime.Append("Not Found"), "Failed to get date time formatter");
+
+       // Customized pattern
+       cutomizedPattern.Append(L"d MMM yyyy, hh:mm");
+       pDateFormatter->ApplyPattern(cutomizedPattern);
+
+       // Format creation time with date formatter
+       pDateFormatter->Format(dirCreationTime, dateAndTime);
+
+       //if (pDateFormatter != null)
+       //{
+       delete pDateFormatter;
+       pDateFormatter = null;
+       //}
+
+       AppLogDebug("Exit");
+       return dateAndTime;
+
+CATCH:
+
+       AppLogDebug("Exit");
+       return dateAndTime;
+}
+
+Tizen::Graphics::Bitmap*
+MfUtility::GetNinepatchedBitmapN(const String& strPath, const int width, const int height)
+{
+       Bitmap* bmp = null;
+       AppResource* pAppResource = null;
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       bmp = pAppResource->GetBitmapN(strPath, BITMAP_PIXEL_FORMAT_ARGB8888);
+
+       if (!bmp)
+       {
+               return null;
+       }
+
+       Bitmap* ret = null;
+       result r = E_SUCCESS;
+
+       Canvas* pCanvas = new (std::nothrow) Canvas();
+       TryCatch(pCanvas != null, , "Canvas new Fail.");
+       r = pCanvas->Construct(Rectangle(0, 0, width, height));
+       TryCatch(r == E_SUCCESS, , "Canvas Construct Fail.");
+
+       r = pCanvas->DrawNinePatchedBitmap(Rectangle(0, 0, width, height), *bmp);
+       if (r != E_SUCCESS)
+       {
+               AppLogDebug("DrawNinePatchedBitmap Error %S", GetErrorMessage(r));
+               pCanvas->DrawBitmap(Rectangle(0, 0, width, height), *bmp);
+       }
+       ret = new (std::nothrow) Bitmap();
+       TryCatch(ret != null, , "Bitmap new Fail.");
+       r = ret->Construct(*pCanvas, Rectangle(0, 0, width, height));
+       TryCatch(r == E_SUCCESS, , "Bitmap Construct Fail.");
+
+       if (bmp != null)
+       {
+               delete bmp;
+       }
+       if (pCanvas != null)
+       {
+               delete pCanvas;
+       }
+
+       return ret;
+
+CATCH:
+       if (bmp != null)
+       {
+               delete bmp;
+       }
+
+       if (pCanvas != null)
+       {
+               delete pCanvas;
+       }
+       if (ret != null)
+       {
+               delete ret;
+       }
+       return null;
+
+}
+
+
+Tizen::Graphics::Bitmap*
+MfUtility::MergeBitmapN(const Tizen::Base::String& firstBitmapPath, const Tizen::Base::String& secondBitmapPath, const int width, const int height)
+{
+       Bitmap* pFirstBitmap = null;
+       Bitmap* pSecondBitmap = null;
+
+       Bitmap* pMergedBitmap = null;
+
+       AppResource* pAppResource = null;
+
+       pAppResource = Application::GetInstance()->GetAppResource();
+       pFirstBitmap = pAppResource->GetBitmapN(firstBitmapPath, BITMAP_PIXEL_FORMAT_ARGB8888);
+       pSecondBitmap = pAppResource->GetBitmapN(secondBitmapPath, BITMAP_PIXEL_FORMAT_ARGB8888);
+
+       if (!pFirstBitmap || !pSecondBitmap)
+       {
+               return null;
+       }
+
+       result r = E_SUCCESS;
+
+       Canvas* pCanvas = new (std::nothrow) Canvas();
+       TryCatch(pCanvas != null, , "Canvas new Fail.");
+
+       r = pCanvas->Construct(Rectangle(0, 0, width, height));
+       TryCatch(r == E_SUCCESS, , "Canvas Construct Fail.");
+
+       pCanvas->DrawBitmap(Rectangle(0, 0, width, height), *pFirstBitmap);
+       pCanvas->DrawBitmap(Rectangle(0, 0, width, height), *pSecondBitmap);
+
+       pMergedBitmap = new (std::nothrow) Bitmap();
+       pMergedBitmap->Construct(*pCanvas, Rectangle(0, 0, width, height));
+
+       if (pFirstBitmap != null)
+       {
+               delete pFirstBitmap;
+               pFirstBitmap = null;
+       }
+
+       if (pSecondBitmap != null)
+       {
+               delete pSecondBitmap;
+               pSecondBitmap = null;
+       }
+
+       if (pCanvas != null)
+       {
+               delete pCanvas;
+               pCanvas = null;
+       }
+
+       return pMergedBitmap;
+
+CATCH:
+       if (pCanvas != null)
+       {
+               delete pCanvas;
+               pCanvas = null;
+       }
+
+       if (pFirstBitmap != null)
+       {
+               delete pFirstBitmap;
+               pFirstBitmap = null;
+       }
+
+       if (pSecondBitmap != null)
+       {
+               delete pSecondBitmap;
+               pSecondBitmap = null;
+       }
+       return null;
+}
+
+Tizen::Graphics::Bitmap*
+MfUtility::MergeBitmapN(Tizen::Graphics::Bitmap* pFirstBitmap, const Tizen::Graphics::Bitmap* pSecondBitmap, const int width, const int height)
+{
+       result r = E_SUCCESS;
+       Bitmap* pMergedBitmap = null;
+       Canvas* pCanvas = null;
+
+       if (!pFirstBitmap || !pSecondBitmap)
+       {
+               return null;
+       }
+
+       pCanvas = new (std::nothrow) Canvas();
+       TryCatch(pCanvas != null, , "Canvas new Fail.");
+
+       r = pCanvas->Construct(Rectangle(0, 0, width, height));
+       TryCatch(r == E_SUCCESS, , "Canvas Construct Fail.");
+
+       pCanvas->DrawBitmap(Rectangle(0, 0, width, height), *pFirstBitmap);
+       pCanvas->DrawBitmap(Point(0, 0), *pSecondBitmap);
+
+       pMergedBitmap = new (std::nothrow) Bitmap();
+       pMergedBitmap->Construct(*pCanvas, Rectangle(0, 0, width, height));
+
+       if (pFirstBitmap != null)
+       {
+               delete pFirstBitmap;
+       }
+
+       if (pSecondBitmap != null)
+       {
+               delete pSecondBitmap;
+       }
+
+       if (pCanvas != null)
+       {
+               delete pCanvas;
+       }
+       return pMergedBitmap;
+CATCH:
+       if (pCanvas != null)
+       {
+               delete pCanvas;
+       }
+
+       if (pFirstBitmap != null)
+       {
+               delete pFirstBitmap;
+       }
+
+       if (pSecondBitmap != null)
+       {
+               delete pSecondBitmap;
+       }
+       return null;
+}
diff --git a/src/MfVideoMediaMetaData.cpp b/src/MfVideoMediaMetaData.cpp
new file mode 100644 (file)
index 0000000..1532bfd
--- /dev/null
@@ -0,0 +1,100 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file: MfVideoMediaMetaData.cpp
+ * @brief: This file contains the implementation for VideoMediaMetaData class, which acts as
+ * a Video Meta Data Provider.
+ */
+
+#include "MfVideoMediaMetaData.h"
+
+using namespace Tizen::Base;
+
+VideoMediaMetaData::VideoMediaMetaData(void)
+       : __pFileFormat(null)
+       , __pFileResolution(null)
+{
+       //Empty Implementation.
+}
+
+VideoMediaMetaData::~VideoMediaMetaData(void)
+{
+       AppLogDebug("ENTER");
+       if (__pFileFormat != null)
+       {
+
+               delete __pFileFormat;
+
+       }
+       if (__pFileResolution != null)
+       {
+
+               delete __pFileResolution;
+       }
+}
+
+VideoMediaMetaData&
+VideoMediaMetaData::operator =(const VideoMediaMetaData& videoMediaMetaData)
+{
+       AppLogDebug("ENTER");
+       if (this != &videoMediaMetaData)
+       {
+               __pFileFormat = videoMediaMetaData.__pFileFormat;
+               __pFileResolution = videoMediaMetaData.__pFileResolution;
+       }
+       AppLogDebug("EXIT");
+       return *this;
+}
+
+VideoMediaMetaData::VideoMediaMetaData(const VideoMediaMetaData& videoMetaData)
+{
+       AppLogDebug("ENTER");
+       __pFileFormat = videoMetaData.__pFileFormat;
+       __pFileResolution = videoMetaData.__pFileResolution;
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+}
+
+void
+VideoMediaMetaData::SetFileFormat(String* pFileFormat)
+{
+       AppLogDebug("ENTER");
+       __pFileFormat = pFileFormat;
+}
+
+void
+VideoMediaMetaData::SetFileResolution(String* pFileResolution)
+{
+       AppLogDebug("ENTER");
+       __pFileResolution = pFileResolution;
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+}
+
+String*
+VideoMediaMetaData::GetFileFormat(void)
+{
+       AppLogDebug("ENTER");
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+       return __pFileFormat;
+}
+
+String*
+VideoMediaMetaData::GetFileResolution(void)
+{
+       AppLogDebug("ENTER");
+       AppLogDebug("EXIT: r = %s", GetErrorMessage(GetLastResult()));
+       return __pFileResolution;
+}
diff --git a/src/MyFilesEntry.cpp b/src/MyFilesEntry.cpp
new file mode 100644 (file)
index 0000000..acd004a
--- /dev/null
@@ -0,0 +1,71 @@
+//
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Flora License, Version 1.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://floralicense.org/license/
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an AS IS BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * This file contains the Tizen application entry point.
+ */
+#include "MfMyFilesApp.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif // __cplusplus
+
+_EXPORT_ int OspMain(int argc, char* pArgv[]);
+#ifdef _PROFILE
+extern void start_profile(void);
+extern void end_profile(void);
+#else
+#define start_profile()
+#define end_profile()
+#endif
+
+
+/**
+ * The entry function of Tizen application called by the operating system.
+ */
+int
+OspMain(int argc, char* pArgv[])
+{
+       result r = E_SUCCESS;
+
+       AppLogDebug("Application started.");
+       ArrayList* pArgs = new (std::nothrow) ArrayList();
+       pArgs->Construct();
+       for (int i = 0; i < argc; i++)
+               pArgs->Add(new (std::nothrow) String(pArgv[i]));
+
+       start_profile();
+       r = Tizen::App::UiApp::Execute(MyFilesApp::CreateInstance, pArgs);
+       if (IsFailed(r))
+       {
+               AppLogDebug("Application execution failed-[%s].", GetErrorMessage(r));
+               r &= 0x0000FFFF;
+       }
+       end_profile();
+
+       pArgs->RemoveAll(true);
+       delete pArgs;
+       AppLogDebug("Application finished.");
+
+       return static_cast< int >(r);
+}
+#ifdef __cplusplus
+}
+#endif // __cplusplus