2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
\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
8 // http://floralicense.org/license/
\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
18 * @file: MfSearchForm.h
\r
19 * @brief: This file contains declaration of of SearchForm class.
\r
22 #ifndef _MF_SEARCH_FORM_H_
\r
23 #define _MF_SEARCH_FORM_H_
\r
26 #include <FAppPkg.h>
\r
27 #include <FContent.h>
\r
28 #include <FGraphics.h>
\r
30 #include <FSysEnvironment.h>
\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
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
55 //Constructor of the class
\r
58 //Destructor of the class.
\r
59 virtual ~SearchForm(void);
\r
61 //Initializes the SearchForm
\r
62 bool Initialize(void);
\r
64 result OnInitializing(void);
\r
65 result OnTerminating(void);
\r
67 //IActionEventListener
\r
68 void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
\r
70 //IFormBackEventListener
\r
71 void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
\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
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
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
87 //ISceneManagerEventListener
\r
88 virtual void OnSceneTransitionCompleted (const Tizen::Ui::Scenes::SceneId &previousSceneId, const Tizen::Ui::Scenes::SceneId ¤tSceneId);
\r
89 virtual void OnSceneTransitionStarted (const Tizen::Ui::Scenes::SceneId ¤tSceneId, const Tizen::Ui::Scenes::SceneId &nextSceneId);
\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
98 //ITextEventListener
\r
99 void OnTextValueChangeCanceled(const Tizen::Ui::Control& source);
\r
100 void OnTextValueChanged(const Tizen::Ui::Control& source);
\r
102 //SearchBar Control
\r
103 void OnSearchBarModeChanged(Tizen::Ui::Controls::SearchBar& source, Tizen::Ui::Controls::SearchBarMode mode);
\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
108 //IFileNotificationListener
\r
109 void OnNotificationReceived(Tizen::Base::Collection::ArrayList* pArgs);
\r
111 //IContentSearchListener
\r
112 virtual void OnFolderSearchStarted(Tizen::Base::String& folderName);
\r
113 virtual void OnAllFoldersSearchCompleted(void);
\r
115 //IFileProcessingListener
\r
116 void OnFileManagingStart(void);
\r
117 void OnFileManagingStop(FileManagingResult fileManagingResult);
\r
119 virtual void OnListViewItemStateChangedNotify(ViewType viewType);
\r
121 virtual void OnThumbnailReceived(ThumbRequest* pThumbReq);
\r
122 void OnAppControlCompleted(void) ;
\r
124 //IDeviceEventListener
\r
125 virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
\r
127 //IFileEventListener
\r
128 virtual void OnFileEventOccured(const unsigned long events,const Tizen::Base::String & path, const unsigned int eventId);
\r
133 // Copy Constructor of the class.
\r
134 SearchForm(const SearchForm&);
\r
136 // Assignment operator of the class.
\r
137 SearchForm& operator =(const SearchForm& pSearchForm);
\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
153 void GetParentFolderPath(Tizen::Base::String* filePath);
\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
165 int __searchItemIndex;
\r
166 int __selectedItemIndexForRename;
\r
167 int __selectedItemIndexForDelete;
\r
169 int __selectedItemIndex;
\r
171 MemoryType __SelectedTab;
\r
172 MemoryType __previouFormTab;
\r
174 Tizen::App::Package::PackageManager* __pPackageManager;
\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 __fileToDelete;
\r
180 Tizen::Base::String __searchText;
\r
181 Tizen::Base::String __previousFormPath;
\r
182 Tizen::Base::String __previousSceneId;
\r
183 Tizen::Base::String __pathOfSelectedFile;
\r
185 Tizen::Graphics::Bitmap* __pDummyImage;
\r
186 Tizen::Graphics::Bitmap* __pFolderBitmap;
\r
187 Tizen::Graphics::Rectangle __listViewRectangle;
\r
189 Tizen::Ui::Controls::Button* __pCancelDeletion;
\r
190 Tizen::Ui::Controls::Button* __pCancelSearch;
\r
191 Tizen::Ui::Controls::Button* __pDelete;
\r
192 Tizen::Ui::Controls::Button* __pFileProgressingCancelButton;
\r
195 Tizen::Ui::Controls::Label* __pFolderLabel;
\r
196 Tizen::Ui::Controls::Label* __pFileProgressingHeaderLabel;
\r
197 Tizen::Ui::Controls::Label* __pFileProgressingLabel;
\r
198 Tizen::Ui::Controls::Label* __pLabelSearching;
\r
200 Tizen::Ui::Controls::ListContextItem* __pItemContext;
\r
201 Tizen::Ui::Controls::ListView* __pListView;
\r
203 Tizen::Ui::Controls::Popup* __pSearchPopup;
\r
204 Tizen::Ui::Controls::Popup* __pDeleteConfirmationPopUp;
\r
205 Tizen::Ui::Controls::Popup* __pFileProgressingPopup;
\r
207 Tizen::Ui::Controls::Progress* __pFileProgressingProgress;
\r
209 Tizen::Ui::Controls::SearchBar* __pSearchBar;
\r
210 Tizen::Ui::Controls::SearchBarMode __searchBarMode;
\r
212 Tizen::Io::FileEventManager* __pFileEventManager;
\r
215 SearchPresentationModel* __pSearchModel;
\r
216 ThumbnailManager* __pThumbnailManager;
\r
217 FolderEntryPresentationModel* __pFolderEntryPM;
\r
219 static int searchBackSelected;
\r
221 static const int ID_BACK = 100;
\r
223 static const int IDA_CONTEXT_DETAIL = 101;
\r
224 static const int IDA_CONTEXT_RENAME = 102;
\r
225 static const int IDA_CONTEXT_DELETE = 103;
\r
227 static const int IDA_BTN_POPUP_SEARCH_CANCEL = 200;
\r
228 static const int IDA_CANCEL_INSTALLATION = 303;
\r
229 static const int IDA_INSTALL_APP = 304;
\r
230 static const int IDA_CANCEL_DELETION = 203;
\r
231 static const int IDA_DELETE_FILE = 204;
\r
233 static const int IDA_BTN_ANIMATION_POPUP_CANCEL = 300;
\r
236 #endif //_MF_SEARCH_FORM_H_
\r