NABI_SE issues resolved
[apps/osp/MyFiles.git] / inc / MfSearchForm.h
1 //\r
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.\r
3 //\r
4 // Licensed under the Flora License, Version 1.1 (the License);\r
5 // you may not use this file except in compliance with the License.\r
6 // You may obtain a copy of the License at\r
7 //\r
8 //     http://floralicense.org/license/\r
9 //\r
10 // Unless required by applicable law or agreed to in writing, software\r
11 // distributed under the License is distributed on an AS IS BASIS,\r
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13 // See the License for the specific language governing permissions and\r
14 // limitations under the License.\r
15 //\r
16 \r
17 /**\r
18  * @file: MfSearchForm.h\r
19  * @brief: This file contains declaration of  of SearchForm class.\r
20  */\r
21 \r
22 #ifndef _MF_SEARCH_FORM_H_\r
23 #define _MF_SEARCH_FORM_H_\r
24 \r
25 #include <FApp.h>\r
26 #include <FAppPkg.h>\r
27 #include <FContent.h>\r
28 #include <FGraphics.h>\r
29 #include <FIo.h>\r
30 #include <FSysEnvironment.h>\r
31 #include <FUi.h>\r
32 \r
33 #include "MfBaseForm.h"\r
34 #include "MfFolderNavigationPresentationModel.h"\r
35 #include "MfContentListItem.h"\r
36 #include "MfCustomAppControl.h"\r
37 #include "MfDirectoryEntry.h"\r
38 #include "MfINotificationListener.h"\r
39 #include "MfMyFilesApp.h"\r
40 #include "MfSceneRegister.h"\r
41 #include "MfSearchPresentationModel.h"\r
42 #include "MfThumbnailManager.h"\r
43 #include "MfTypes.h"\r
44 #include "MfUtility.h"\r
45 \r
46 class SearchForm\r
47 : public BaseForm\r
48   , public Tizen::App::IAppControlResponseListener\r
49   , public Tizen::Ui::IKeypadEventListener\r
50   , public Tizen::Ui::ITextEventListener\r
51   , public Tizen::Ui::Controls::ISearchBarEventListener\r
52   , public Tizen::Io::IFileEventListener\r
53   {\r
54 public:\r
55         //Constructor of the class\r
56         SearchForm(void);\r
57 \r
58         //Destructor of the class.\r
59         virtual ~SearchForm(void);\r
60 \r
61         //Initializes the SearchForm\r
62         bool Initialize(void);\r
63 \r
64         result OnInitializing(void);\r
65         result OnTerminating(void);\r
66 \r
67         //IActionEventListener\r
68         void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);\r
69 \r
70         //IFormBackEventListener\r
71         void OnFormBackRequested(Tizen::Ui::Controls::Form& source);\r
72 \r
73         // IListViewItemEventListener\r
74         virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus state);\r
75         virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status);\r
76         virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction);\r
77 \r
78         //IListViewItemProvider\r
79         virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);\r
80         virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);\r
81         virtual int GetItemCount(void);\r
82 \r
83         //ISceneEventListener\r
84         virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);\r
85         virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);\r
86 \r
87         //ISceneManagerEventListener\r
88         virtual void OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId &currentSceneId);\r
89         virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId &currentSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId);\r
90 \r
91         //IKeyPadActionEventListener\r
92         void OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction);\r
93         void OnKeypadClosed(Tizen::Ui::Control& source);\r
94         void OnKeypadOpened(Tizen::Ui::Control& source);\r
95         void OnKeypadWillOpen(Tizen::Ui::Control& source);\r
96         void OnKeypadBoundsChanged(Tizen::Ui::Control& source);\r
97         \r
98         //ITextEventListener\r
99         void OnTextValueChangeCanceled(const Tizen::Ui::Control& source);\r
100         void OnTextValueChanged(const Tizen::Ui::Control& source);\r
101 \r
102         //SearchBar Control\r
103         void OnSearchBarModeChanged(Tizen::Ui::Controls::SearchBar& source, Tizen::Ui::Controls::SearchBarMode mode);\r
104 \r
105         //IAppControlEventListener\r
106         void OnAppControlCompleteResponseReceived(const Tizen::App::AppId& appId, const Tizen::Base::String& operationId, Tizen::App::AppCtrlResult appControlResult, const Tizen::Base::Collection::IMap* pExtraData);\r
107 \r
108         //IFileNotificationListener\r
109         void OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs);\r
110 \r
111         //IContentSearchListener\r
112         virtual void OnFolderSearchStarted(Tizen::Base::String& folderName);\r
113         virtual void OnAllFoldersSearchCompleted(void);\r
114 \r
115         //IFileProcessingListener\r
116         void OnFileManagingStart(void);\r
117         void OnFileManagingStop(FileManagingResult fileManagingResult);\r
118 \r
119         virtual void OnListViewItemStateChangedNotify(ViewType viewType);\r
120 \r
121         virtual void OnThumbnailReceived(ThumbRequest* pThumbReq);\r
122         void OnAppControlCompleted(void) ;\r
123 \r
124         //IDeviceEventListener\r
125         virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);\r
126 \r
127         //IFileEventListener\r
128         virtual void OnFileEventOccured(const unsigned long events,const Tizen::Base::String &  path, const unsigned int        eventId);\r
129 \r
130 \r
131 private:\r
132 \r
133         // Copy Constructor of the class.\r
134         SearchForm(const SearchForm&);\r
135 \r
136         // Assignment operator of the class.\r
137         SearchForm& operator =(const SearchForm& pSearchForm);\r
138 \r
139         result CreateDeleteConfirmationPopup(void);\r
140         result CreateFileProgressingPopup(void);\r
141         void DeleteFile(Tizen::Base::String& filePath);\r
142         void HideDeleteConfirmationPopup(void);\r
143         void HideFileProgressingPopup(void);\r
144         void LoadDetailForm(Tizen::Base::String& Fullpath);\r
145         void LoadRenameForm(int index, DirectoryEntry* pDirectory);\r
146         void LoadSubDirectoryForm(Tizen::Base::String& fullPath, Tizen::Base::String& fileName);\r
147         void TransitionScene(void);\r
148         void ShowDeleteConfirmationPopup(void);\r
149         void ShowFileProgressingPopup(void);\r
150         void StartSearch(void);\r
151         void GetFolderName(void);\r
152 \r
153         void GetParentFolderPath(Tizen::Base::String* filePath);\r
154 \r
155 private:\r
156         bool __searchedAllFolders;\r
157         bool __isSearchCompleted;\r
158         bool __isSearchStarted;\r
159         bool __isCancelClicked;\r
160         bool __bCheckArgsNull;\r
161         bool __isCurrentDirectoryRenamed;\r
162         bool __bIsResultList;\r
163         bool __backFromAppControl;\r
164         int __itemCount;\r
165         int __searchItemIndex;\r
166         int __selectedItemIndexForRename;\r
167         int __selectedItemIndexForDelete;\r
168 \r
169         int __selectedItemIndex;\r
170 \r
171         MemoryType __SelectedTab;\r
172         MemoryType __previouFormTab;\r
173 \r
174         Tizen::App::Package::PackageManager* __pPackageManager;\r
175 \r
176         Tizen::Base::Collection::ArrayList* __pContentListFromLastView;\r
177         Tizen::Base::Collection::ArrayList* __pSearchedContentList;\r
178         Tizen::Base::String __currentSearchDirectoryPath;\r
179         Tizen::Base::String __directoryForFileEvent;\r
180         Tizen::Base::String __fileToDelete;\r
181         Tizen::Base::String __searchText;\r
182         Tizen::Base::String __previousFormPath;\r
183         Tizen::Base::String __previousSceneId;\r
184         Tizen::Base::String __pathOfSelectedFile;\r
185 \r
186         Tizen::Graphics::Bitmap* __pDummyImage;\r
187         Tizen::Graphics::Bitmap* __pFolderBitmap;\r
188         Tizen::Graphics::Rectangle __listViewRectangle;\r
189 \r
190         Tizen::Ui::Controls::Button* __pCancelDeletion;\r
191         Tizen::Ui::Controls::Button* __pCancelSearch;\r
192         Tizen::Ui::Controls::Button* __pDelete;\r
193         Tizen::Ui::Controls::Button* __pFileProgressingCancelButton;\r
194 \r
195 \r
196         Tizen::Ui::Controls::Label* __pFolderLabel;\r
197         Tizen::Ui::Controls::Label* __pFileProgressingHeaderLabel;\r
198         Tizen::Ui::Controls::Label* __pFileProgressingLabel;\r
199         Tizen::Ui::Controls::Label* __pLabelSearching;\r
200 \r
201         Tizen::Ui::Controls::ListContextItem* __pItemContext;\r
202         Tizen::Ui::Controls::ListView* __pListView;\r
203 \r
204         Tizen::Ui::Controls::Popup* __pSearchPopup;\r
205         Tizen::Ui::Controls::Popup* __pDeleteConfirmationPopUp;\r
206         Tizen::Ui::Controls::Popup* __pFileProgressingPopup;\r
207 \r
208         Tizen::Ui::Controls::Progress* __pFileProgressingProgress;\r
209 \r
210         Tizen::Ui::Controls::SearchBar* __pSearchBar;\r
211         Tizen::Ui::Controls::SearchBarMode __searchBarMode;\r
212 \r
213         Tizen::Io::FileEventManager* __pFileEventManager;\r
214 \r
215 \r
216         SearchPresentationModel* __pSearchModel;\r
217         ThumbnailManager* __pThumbnailManager;\r
218         FolderEntryPresentationModel* __pFolderEntryPM;\r
219 \r
220         static int searchBackSelected;\r
221 \r
222         static const int ID_BACK = 100;\r
223 \r
224         static const int IDA_CONTEXT_DETAIL = 101;\r
225         static const int IDA_CONTEXT_RENAME = 102;\r
226         static const int IDA_CONTEXT_DELETE = 103;\r
227 \r
228         static const int IDA_BTN_POPUP_SEARCH_CANCEL = 200;\r
229         static const int IDA_CANCEL_INSTALLATION = 303;\r
230         static const int IDA_INSTALL_APP = 304;\r
231         static const int IDA_CANCEL_DELETION = 203;\r
232         static const int IDA_DELETE_FILE = 204;\r
233 \r
234         static const int IDA_BTN_ANIMATION_POPUP_CANCEL = 300;\r
235   };\r
236 \r
237 #endif //_MF_SEARCH_FORM_H_\r