--- /dev/null
+# 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})
--- /dev/null
+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.
+
--- /dev/null
+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
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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 ¤tSceneId);
+ virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId ¤tSceneId, 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
--- /dev/null
+//
+// 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
--- /dev/null
+//
+// 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
--- /dev/null
+//
+// 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_
--- /dev/null
+//
+// 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 ¤tSceneId);
+ virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId ¤tSceneId, 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_
--- /dev/null
+//
+// 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
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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 ¤tSceneId);
+ virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId ¤tSceneId, 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_
--- /dev/null
+//
+// 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_
--- /dev/null
+//
+// 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 ¤tSceneId);
+ virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId ¤tSceneId, 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_
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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_
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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_
--- /dev/null
+//
+// 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_
--- /dev/null
+//
+// 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__
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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_
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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_
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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_
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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_
--- /dev/null
+//
+// 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 ¤tSceneId);
+ virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId ¤tSceneId, 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_
--- /dev/null
+//
+// 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_
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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
--- /dev/null
+//
+// 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
--- /dev/null
+//
+// 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 ¤tSceneId);
+ virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId ¤tSceneId, 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_*/
--- /dev/null
+//
+// 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 ¤tSceneId);
+ virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId ¤tSceneId, 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_*/
--- /dev/null
+//
+// 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 ¤tSceneId);
+ virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId ¤tSceneId, 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
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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 ¤tSceneId);
+ virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId ¤tSceneId, 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_
--- /dev/null
+//
+// 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 ¤tSceneId);
+ virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId ¤tSceneId, 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_
--- /dev/null
+//
+// 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 ¤tSceneId);
+ virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId ¤tSceneId, 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_*/
--- /dev/null
+//
+// 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_ */
+
--- /dev/null
+//
+// 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_ */
--- /dev/null
+//
+// 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_ */
--- /dev/null
+<?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>
--- /dev/null
+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/*
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+<?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
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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 ¤tSceneId)
+{
+ //Empty Implementation
+}
+
+void
+BaseForm::OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId ¤tSceneId, 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
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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.
+}
--- /dev/null
+//\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
--- /dev/null
+//
+// 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 ¤tSceneId)
+{
+ SceneManager::GetInstance()->RemoveSceneManagerEventListener(*this);
+}
+
+void
+CreateFolderForm::OnSceneTransitionStarted(const Tizen::Ui::Scenes::SceneId ¤tSceneId,
+ 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;
+ }
+ }
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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 ¤tSceneId)
+{
+ SceneManager::GetInstance()->RemoveSceneManagerEventListener(*this);
+
+ if (__pGroupedDetailListView != null)
+ {
+ __pGroupedDetailListView->UpdateList();
+ }
+}
+
+void
+DetailsForm::OnSceneTransitionStarted(const Tizen::Ui::Scenes::SceneId ¤tSceneId,
+ 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);
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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 ¤tSceneId)
+{
+ 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 ¤tSceneId,
+ const Tizen::Ui::Scenes::SceneId &nextSceneId)
+{
+ //Empty Implementation.
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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()));
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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);
+}
--- /dev/null
+//
+// 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
+}
--- /dev/null
+//
+// 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
+}
--- /dev/null
+//
+// 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
+}
--- /dev/null
+//
+// 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
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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));
+ }
+ }
+}*/
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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()));
+}
--- /dev/null
+//
+// 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"";
+}
--- /dev/null
+//\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 ¤tSceneId)\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 ¤tSceneId,\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
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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)
+{
+
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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)
+{
+}
+
--- /dev/null
+//
+// 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 ¤tSceneId)
+{
+ 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 ¤tSceneId, 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();
+ }
+}
--- /dev/null
+//
+// 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 ¤tSceneId)
+{
+ 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 ¤tSceneId,
+ const Tizen::Ui::Scenes::SceneId &nextSceneId)
+{
+ //Empty Implementation.
+}
+
--- /dev/null
+//
+// 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 ¤tSceneId)
+{
+ 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 ¤tSceneId, 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--");
+}
--- /dev/null
+//\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
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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 ¤tSceneId)
+{
+ SceneManager::GetInstance()->RemoveSceneManagerEventListener(*this);
+
+// if (__bCheckNullArgs == false)
+ {
+ if (_pListView != null && _pFilenames->GetCount() != 0)
+ {
+ _pListView->UpdateList();
+ }
+ }
+}
+
+void
+TopMostFileSelectionForm::OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId ¤tSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId)
+{
+ //Empty Implementation.
+}
--- /dev/null
+//
+// 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 ¤tSceneId)
+{
+ 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 ¤tSceneId,
+ 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();
+
+}
--- /dev/null
+//\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 ¤tSceneId)\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 ¤tSceneId,\r
+ const Tizen::Ui::Scenes::SceneId &nextSceneId)\r
+{\r
+ //Empty Implementation.\r
+}\r
+\r
--- /dev/null
+//
+// 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"
+};
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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;
+}
--- /dev/null
+//
+// 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