2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
\r
4 // Licensed under the Flora License, Version 1.0 (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: MfFileDetailForm.cpp
\r
19 * @brief: This file contains the implementation of class DetailsForm, which acts as a View to display
\r
20 * the details of files or folders.
\r
24 #include <FUiControl.h>
\r
26 #include "MfDetailsForm.h"
\r
28 using namespace Tizen::App;
\r
29 using namespace Tizen::Base::Collection;
\r
30 using namespace Tizen::Base;
\r
31 using namespace Tizen::Graphics;
\r
32 using namespace Tizen::Io;
\r
33 using namespace Tizen::Locales;
\r
34 using namespace Tizen::System;
\r
35 using namespace Tizen::Ui;
\r
36 using namespace Tizen::Ui::Controls;
\r
37 using namespace Tizen::Ui::Scenes;
\r
39 DetailsForm::DetailsForm(void)
\r
40 : __pMediaMetaData(null)
\r
41 , __pFileDetailList(null)
\r
42 , __pFileHeaderDetailList(null)
\r
43 , __pGroupedDetailListView(null)
\r
45 //Empty Implementation.
\r
48 DetailsForm::~DetailsForm(void)
\r
50 if (__pFileDetailList != null)
\r
52 __pFileDetailList->RemoveAll(true);
\r
53 delete __pFileDetailList;
\r
56 if (__pFileHeaderDetailList != null)
\r
58 __pFileHeaderDetailList->RemoveAll(true);
\r
59 delete __pFileHeaderDetailList;
\r
64 DetailsForm::operator =(const DetailsForm& fileDetailForm)
\r
69 DetailsForm::DetailsForm(const DetailsForm& fileDetailForm)
\r
75 DetailsForm::Initialize(void)
\r
77 result r = E_SUCCESS;
\r
78 Construct(L"IDL_DETAIL_FORM");
\r
79 __pFileDetailList = new (std::nothrow) ArrayList();
\r
80 r = __pFileDetailList->Construct();
\r
82 __pFileHeaderDetailList = new (std::nothrow) ArrayList();
\r
83 r = __pFileHeaderDetailList->Construct();
\r
89 DetailsForm::OnInitializing(void)
\r
91 AppLogDebug("Entry");
\r
92 result r = E_SUCCESS;
\r
93 // Setup back event listener
\r
94 SetFormBackEventListener(this);
\r
96 __pGroupedDetailListView = static_cast< GroupedListView* >(GetControl(L"IDC_GROUPEDLISTVIEW1"));
\r
97 if (__pGroupedDetailListView != null)
\r
99 __pGroupedDetailListView->SetItemProvider(*this);
\r
100 __pGroupedDetailListView->AddGroupedListViewItemEventListener(*this);
\r
101 __pGroupedDetailListView->SetMultipointTouchEnabled(false);
\r
104 SetMultipointTouchEnabled(false);
\r
105 AppLogDebug("Exit");
\r
110 DetailsForm::OnTerminating(void)
\r
112 result r = E_SUCCESS;
\r
117 DetailsForm::OnFormBackRequested(Tizen::Ui::Controls::Form& source)
\r
119 AppLogDebug("Entry");
\r
120 SceneManager* pSceneManager = SceneManager::GetInstance();
\r
121 if (pSceneManager != null)
\r
123 pSceneManager->GoBackward(BackwardSceneTransition());
\r
125 AppLogDebug("Exit");
\r
130 DetailsForm::OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
\r
131 const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs)
\r
133 AppLogDebug("Entry");
\r
134 String* pFilePath = null;
\r
135 FolderEntryDetailPresentationModel mediaUtility;
\r
136 FileAttributes fileAttrib;
\r
137 String imageFileFormat;
\r
139 SceneManager::GetInstance()->AddSceneManagerEventListener(*this);
\r
140 DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
\r
144 pFilePath = dynamic_cast< String* >(pArgs->GetAt(0));
\r
145 __fileFullPath.Clear();
\r
146 if (pFilePath != null)
\r
148 __fileFullPath.Append(*pFilePath);
\r
150 pArgs->RemoveAll(true);
\r
152 File::GetAttributes(__fileFullPath, fileAttrib);
\r
154 if (fileAttrib.IsDirectory())
\r
156 __pMediaMetaData = mediaUtility.GetFolderEntryMetaDataN(__fileFullPath, FILE_TYPE_FOLDER_TYPE);
\r
157 SetFileDetailList(FILE_TYPE_FOLDER_TYPE);
\r
161 int chkForFileFormatFlag = IMAGE_FILE_FORMAT;
\r
163 if (chkForFileFormatFlag == IMAGE_FILE_FORMAT)
\r
166 for (counter = 0; counter < IMAGE_FILE_FORMAT_COUNT; counter++)
\r
168 imageFileFormat = typeImage[counter];
\r
170 if (__fileFullPath.EndsWith(imageFileFormat))
\r
172 chkForFileFormatFlag = IMAGE_FILE_FORMAT;
\r
174 __pMediaMetaData = mediaUtility.GetFolderEntryMetaDataN(__fileFullPath, FILE_TYPE_IMAGE_TYPE);
\r
175 SetFileDetailList(FILE_TYPE_IMAGE_TYPE);
\r
180 chkForFileFormatFlag = AUDIO_FILE_FORMAT;
\r
186 if (chkForFileFormatFlag == AUDIO_FILE_FORMAT)
\r
190 for (counter = 0; counter < AUDIO_FILE_FORMAT_COUNT; counter++)
\r
193 String audioFileFormat = typeAudio[counter];
\r
195 if (__fileFullPath.EndsWith(audioFileFormat))
\r
197 chkForFileFormatFlag = AUDIO_FILE_FORMAT;
\r
199 __pMediaMetaData = mediaUtility.GetFolderEntryMetaDataN(__fileFullPath, FILE_TYPE_AUDIO_TYPE);
\r
200 SetFileDetailList(FILE_TYPE_AUDIO_TYPE);
\r
205 chkForFileFormatFlag = VIDEO_FILE_FORMAT;
\r
209 if (chkForFileFormatFlag == VIDEO_FILE_FORMAT)
\r
212 for (counter = 0; counter < VIDEO_FILE_FORMAT_COUNT; counter++)
\r
214 String videoFileFormat = typeVideo[counter];
\r
215 if (__fileFullPath.EndsWith(videoFileFormat))
\r
217 chkForFileFormatFlag = VIDEO_FILE_FORMAT;
\r
219 __pMediaMetaData = mediaUtility.GetFolderEntryMetaDataN(__fileFullPath, FILE_TYPE_VIDEO_TYPE);
\r
220 SetFileDetailList(FILE_TYPE_VIDEO_TYPE);
\r
225 chkForFileFormatFlag = OTHER_FILE_FORMAT;
\r
229 if (chkForFileFormatFlag == OTHER_FILE_FORMAT)
\r
232 __pMediaMetaData = mediaUtility.GetFolderEntryMetaDataN(__fileFullPath, FILE_TYPE_OTHER_TYPE);
\r
233 SetFileDetailList(FILE_TYPE_OTHER_TYPE);
\r
240 AppLogDebug("Exit");
\r
244 DetailsForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
\r
245 const Tizen::Ui::Scenes::SceneId& nextSceneId)
\r
247 DeviceManager::RemoveAllDeviceEventListeners();
\r
251 DetailsForm::SetFileDetailList(FileType fileType)
\r
253 AppLogDebug("Entry");
\r
254 String* pNameHeading = null;
\r
255 String* pFileName = null;
\r
256 String* pSizeHeading = null;
\r
257 String* pSize = null;
\r
258 String* pContainsHeading = null;
\r
259 String* pFileAndFolders = null;
\r
260 String* pDateCreateHeading = null;
\r
261 String* pDateAndTime = null;
\r
262 String* pLocationHeading = null;
\r
263 String* pFilePath = null;
\r
264 String* pFormatHeading = null;
\r
265 String* pFormat = null;
\r
266 String* pResolutionHeading = null;
\r
267 String* pResolution = null;
\r
268 AppResource* pAppResource = null;
\r
270 pAppResource = Application::GetInstance()->GetAppResource();
\r
271 TryCatch(pAppResource != null, , "Failed to get instance of pAppResource");
\r
275 case FILE_TYPE_FOLDER_TYPE:
\r
277 String nameHeading;
\r
278 String sizeHeading;
\r
279 String containsHeading;
\r
280 String dateCreatedHeading;
\r
281 String locationHeading;
\r
283 String fileAndFolders;
\r
284 String dateAndTime;
\r
288 FolderMediaMetaData* folderMediaMetaData = static_cast< FolderMediaMetaData* >(__pMediaMetaData);
\r
290 pAppResource->GetString(L"IDS_COM_BODY_FOLDERS", folders);
\r
291 pAppResource->GetString(L"IDS_COM_OPT_FILES", files);
\r
294 pAppResource->GetString(L"IDS_MF_OPT_LISTBY_NAME", nameHeading);
\r
295 pNameHeading = new (std::nothrow) String(nameHeading);
\r
297 __pFileHeaderDetailList->Add(pNameHeading);
\r
300 pFileName = new (std::nothrow) String(*(folderMediaMetaData->GetFileName()));
\r
301 __pFileDetailList->Add(pFileName);
\r
303 pAppResource->GetString(L"IDS_COM_BODY_SIZE", sizeHeading);
\r
305 pSizeHeading = new (std::nothrow) String(sizeHeading);
\r
306 __pFileHeaderDetailList->Add(pSizeHeading);
\r
309 size = MfUtility::ConvertFileSizeToString(folderMediaMetaData->GetFileSize());
\r
311 pSize = new (std::nothrow) String(size);
\r
312 __pFileDetailList->Add(pSize);
\r
314 fileAndFolders.Append(folderMediaMetaData->GetNoOfFiles());
\r
315 fileAndFolders.Append(L" ");
\r
316 fileAndFolders.Append(files);
\r
317 fileAndFolders.Append(", ");
\r
318 fileAndFolders.Append(folderMediaMetaData->GetNoOfFolders());
\r
319 fileAndFolders.Append(L" ");
\r
320 fileAndFolders.Append(folders);
\r
322 pAppResource->GetString(L"IDS_MF_BODY_CONTAINS", containsHeading);
\r
325 pContainsHeading = new (std::nothrow) String(containsHeading);
\r
326 __pFileHeaderDetailList->Add(pContainsHeading);
\r
328 pFileAndFolders = new (std::nothrow) String(fileAndFolders);
\r
329 __pFileDetailList->Add(pFileAndFolders);
\r
331 pAppResource->GetString(L"IDS_MF_BODY_CREATED_DATE", dateCreatedHeading);
\r
333 pDateCreateHeading = new (std::nothrow) String(dateCreatedHeading);
\r
334 __pFileHeaderDetailList->Add(pDateCreateHeading);
\r
336 dateAndTime = MfUtility::ConvertDateTimeToString(folderMediaMetaData->GetFileCreationTime());
\r
338 pDateAndTime = new (std::nothrow) String(dateAndTime);
\r
339 __pFileDetailList->Add(pDateAndTime);
\r
341 pAppResource->GetString(L"IDS_COM_BODY_LOCATION", locationHeading);
\r
343 pLocationHeading = new (std::nothrow) String(locationHeading);
\r
344 __pFileHeaderDetailList->Add(pLocationHeading);
\r
346 pFilePath = new (std::nothrow) String(*(folderMediaMetaData->GetFilePath()));
\r
347 __pFileDetailList->Add(pFilePath);
\r
349 //if (folderMediaMetaData != null)
\r
352 delete folderMediaMetaData;
\r
353 folderMediaMetaData = null;
\r
359 case FILE_TYPE_IMAGE_TYPE:
\r
361 String nameHeading;
\r
362 String sizeHeading;
\r
363 String formatHeading;
\r
364 String resolutionHeading;
\r
365 String dateCreatedHeading;
\r
366 String locationHeading;
\r
369 ImageMediaMetaData* imageMediaMetaData = static_cast< ImageMediaMetaData* >(__pMediaMetaData);
\r
370 TryCatch(imageMediaMetaData != null, , "Failed to allocate Image Media Meta Data");
\r
372 pAppResource->GetString(L"IDS_MF_OPT_LISTBY_NAME", nameHeading);
\r
373 pNameHeading = new (std::nothrow) String(nameHeading);
\r
374 __pFileHeaderDetailList->Add(pNameHeading);
\r
377 pFileName = new (std::nothrow) String(*(imageMediaMetaData->GetFileName()));
\r
378 __pFileDetailList->Add(pFileName);
\r
381 pAppResource->GetString(L"IDS_COM_BODY_SIZE", sizeHeading);
\r
382 pSizeHeading = new (std::nothrow) String(sizeHeading);
\r
384 __pFileHeaderDetailList->Add(pSizeHeading);
\r
386 size = MfUtility::ConvertFileSizeToString(imageMediaMetaData->GetFileSize());
\r
387 pSize = new (std::nothrow) String(size);
\r
388 __pFileDetailList->Add(pSize);
\r
390 pAppResource->GetString(L"IDS_COM_BODY_FORMAT", formatHeading);
\r
391 pFormatHeading = new (std::nothrow) String(formatHeading);
\r
392 __pFileHeaderDetailList->Add(pFormatHeading);
\r
394 pFormat = new (std::nothrow) String(*(imageMediaMetaData->GetFileFormat()));
\r
395 __pFileDetailList->Add(pFormat);
\r
397 pAppResource->GetString(L"IDS_IDLE_BODY_RESOLUTION", resolutionHeading);
\r
398 pResolutionHeading = new (std::nothrow) String(resolutionHeading);
\r
399 __pFileHeaderDetailList->Add(pResolutionHeading);
\r
402 pResolution = new (std::nothrow) String(*(imageMediaMetaData->GetFileResolution()));
\r
403 __pFileDetailList->Add(pResolution);
\r
406 String dateAndTime = MfUtility::ConvertDateTimeToString(imageMediaMetaData->GetFileCreationTime());
\r
407 pAppResource->GetString(L"IDS_MF_BODY_CREATED_DATE", dateCreatedHeading);
\r
408 pDateCreateHeading = new (std::nothrow) String(dateCreatedHeading);
\r
409 __pFileHeaderDetailList->Add(pDateCreateHeading);
\r
412 pDateAndTime = new (std::nothrow) String(dateAndTime);
\r
413 __pFileDetailList->Add(pDateAndTime);
\r
416 pAppResource->GetString(L"IDS_COM_BODY_LOCATION", locationHeading);
\r
417 pLocationHeading = new (std::nothrow) String(locationHeading);
\r
418 __pFileHeaderDetailList->Add(pLocationHeading);
\r
421 pFilePath = new (std::nothrow) String(*(imageMediaMetaData->GetFilePath()));
\r
422 __pFileDetailList->Add(pFilePath);
\r
424 //if (imageMediaMetaData != null)
\r
427 delete imageMediaMetaData;
\r
428 imageMediaMetaData = null;
\r
434 case FILE_TYPE_AUDIO_TYPE:
\r
436 String nameHeading;
\r
437 String sizeHeading;
\r
438 String formatHeading;
\r
439 String dateCreatedHeading;
\r
440 String locationHeading;
\r
443 AudioMediaMetaData* audioMediaMetaData = static_cast< AudioMediaMetaData* >(__pMediaMetaData);
\r
444 TryCatch(audioMediaMetaData != null, , "Failed to allocate Audio Media Meta Data");
\r
446 pAppResource->GetString(L"IDS_MF_OPT_LISTBY_NAME", nameHeading);
\r
447 pNameHeading = new (std::nothrow) String(nameHeading);
\r
448 __pFileHeaderDetailList->Add(pNameHeading);
\r
450 pFileName = new (std::nothrow) String(*(audioMediaMetaData->GetFileName()));
\r
451 __pFileDetailList->Add(pFileName);
\r
454 size = MfUtility::ConvertFileSizeToString(audioMediaMetaData->GetFileSize());
\r
455 pAppResource->GetString(L"IDS_COM_BODY_SIZE", sizeHeading);
\r
456 pSizeHeading = new (std::nothrow) String(sizeHeading);
\r
457 __pFileHeaderDetailList->Add(pSizeHeading);
\r
459 pSize = new (std::nothrow) String(size);
\r
460 __pFileDetailList->Add(pSize);
\r
462 pAppResource->GetString(L"IDS_COM_BODY_FORMAT", formatHeading);
\r
463 pFormatHeading = new (std::nothrow) String(formatHeading);
\r
464 __pFileHeaderDetailList->Add(pFormatHeading);
\r
466 pFormat = new (std::nothrow) String(*(audioMediaMetaData->GetFileFormat()));
\r
467 __pFileDetailList->Add(pFormat);
\r
469 String dateAndTime = MfUtility::ConvertDateTimeToString(audioMediaMetaData->GetFileCreationTime());
\r
470 pAppResource->GetString(L"IDS_MF_BODY_CREATED_DATE", dateCreatedHeading);
\r
471 pDateCreateHeading = new (std::nothrow) String(dateCreatedHeading);
\r
472 __pFileHeaderDetailList->Add(pDateCreateHeading);
\r
474 pDateAndTime = new (std::nothrow) String(dateAndTime);
\r
475 __pFileDetailList->Add(pDateAndTime);
\r
477 pAppResource->GetString(L"IDS_COM_BODY_LOCATION", locationHeading);
\r
478 pLocationHeading = new (std::nothrow) String(locationHeading);
\r
479 __pFileHeaderDetailList->Add(pLocationHeading);
\r
481 pFilePath = new (std::nothrow) String(*(audioMediaMetaData->GetFilePath()));
\r
482 __pFileDetailList->Add(pFilePath);
\r
484 //if (audioMediaMetaData != null)
\r
487 delete audioMediaMetaData;
\r
488 audioMediaMetaData = null;
\r
494 case FILE_TYPE_VIDEO_TYPE:
\r
496 String nameHeading;
\r
497 String sizeHeading;
\r
498 String formatHeading;
\r
499 String resolutionHeading;
\r
500 String dateCreatedHeading;
\r
501 String locationHeading;
\r
504 VideoMediaMetaData* videoMediaMetaData = static_cast< VideoMediaMetaData* >(__pMediaMetaData);
\r
505 TryCatch(videoMediaMetaData != null, , "Failed to allocate Video Media Meta Data");
\r
507 pAppResource->GetString(L"IDS_MF_OPT_LISTBY_NAME", nameHeading);
\r
508 pNameHeading = new (std::nothrow) String(nameHeading);
\r
509 __pFileHeaderDetailList->Add(pNameHeading);
\r
511 pFileName = new (std::nothrow) String(*(videoMediaMetaData->GetFileName()));
\r
512 __pFileDetailList->Add(pFileName);
\r
515 pAppResource->GetString(L"IDS_COM_BODY_SIZE", sizeHeading);
\r
516 pSizeHeading = new (std::nothrow) String(sizeHeading);
\r
517 __pFileHeaderDetailList->Add(pSizeHeading);
\r
519 size = MfUtility::ConvertFileSizeToString(videoMediaMetaData->GetFileSize());
\r
520 pSize = new (std::nothrow) String(size);
\r
521 __pFileDetailList->Add(pSize);
\r
524 pAppResource->GetString(L"IDS_COM_BODY_FORMAT", formatHeading);
\r
525 pFormatHeading = new (std::nothrow) String(formatHeading);
\r
526 __pFileHeaderDetailList->Add(pFormatHeading);
\r
528 pFormat = new (std::nothrow) String(*(videoMediaMetaData->GetFileFormat()));
\r
529 __pFileDetailList->Add(pFormat);
\r
531 pAppResource->GetString(L"IDS_IDLE_BODY_RESOLUTION", resolutionHeading);
\r
532 pResolutionHeading = new (std::nothrow) String(resolutionHeading);
\r
533 __pFileHeaderDetailList->Add(pResolutionHeading);
\r
535 pResolution = new (std::nothrow) String(*(videoMediaMetaData->GetFileResolution()));
\r
536 __pFileDetailList->Add(pResolution);
\r
538 String dateAndTime = MfUtility::ConvertDateTimeToString(videoMediaMetaData->GetFileCreationTime());
\r
539 pAppResource->GetString(L"IDS_MF_BODY_CREATED_DATE", dateCreatedHeading);
\r
540 pDateCreateHeading = new (std::nothrow) String(dateCreatedHeading);
\r
541 __pFileHeaderDetailList->Add(pDateCreateHeading);
\r
543 pDateAndTime = new (std::nothrow) String(dateAndTime);
\r
544 __pFileDetailList->Add(pDateAndTime);
\r
546 pAppResource->GetString(L"IDS_COM_BODY_LOCATION", locationHeading);
\r
547 pLocationHeading = new (std::nothrow) String(locationHeading);
\r
548 __pFileHeaderDetailList->Add(pLocationHeading);
\r
550 pFilePath = new (std::nothrow) String(*(videoMediaMetaData->GetFilePath()));
\r
551 __pFileDetailList->Add(pFilePath);
\r
553 //if (videoMediaMetaData != null)
\r
556 delete videoMediaMetaData;
\r
557 videoMediaMetaData = null;
\r
563 case FILE_TYPE_OTHER_TYPE:
\r
565 String nameHeading;
\r
566 String sizeHeading;
\r
567 String formatHeading;
\r
568 String dateCreatedHeading;
\r
569 String locationHeading;
\r
571 OtherMediaMetaData* otherMediaMetaData = static_cast< OtherMediaMetaData* >(__pMediaMetaData);
\r
572 TryCatch(otherMediaMetaData != null, , "Failed to allocate Other Media Meta Data");
\r
574 if (otherMediaMetaData != null)
\r
576 pAppResource->GetString(L"IDS_MF_OPT_LISTBY_NAME", nameHeading);
\r
577 pNameHeading = new (std::nothrow) String(nameHeading);
\r
578 __pFileHeaderDetailList->Add(pNameHeading);
\r
580 pFileName = new (std::nothrow) String(*(otherMediaMetaData->GetFileName()));
\r
581 __pFileDetailList->Add(pFileName);
\r
583 size = MfUtility::ConvertFileSizeToString(otherMediaMetaData->GetFileSize());
\r
584 pAppResource->GetString(L"IDS_COM_BODY_SIZE", sizeHeading);
\r
585 pSizeHeading = new (std::nothrow) String(sizeHeading);
\r
586 __pFileHeaderDetailList->Add(pSizeHeading);
\r
588 pSize = new (std::nothrow) String(size);
\r
589 __pFileDetailList->Add(pSize);
\r
591 pAppResource->GetString(L"IDS_COM_BODY_FORMAT", formatHeading);
\r
592 pFormatHeading = new (std::nothrow) String(formatHeading);
\r
593 __pFileHeaderDetailList->Add(pFormatHeading);
\r
595 pFormat = new (std::nothrow) String(*(otherMediaMetaData->GetFileFormat()));
\r
596 __pFileDetailList->Add(pFormat);
\r
598 String dateAndTime = MfUtility::ConvertDateTimeToString(otherMediaMetaData->GetFileCreationTime());
\r
599 pAppResource->GetString(L"IDS_MF_BODY_CREATED_DATE", dateCreatedHeading);
\r
600 pDateCreateHeading = new (std::nothrow) String(dateCreatedHeading);
\r
601 __pFileHeaderDetailList->Add(pDateCreateHeading);
\r
603 pDateAndTime = new (std::nothrow) String(dateAndTime);
\r
604 __pFileDetailList->Add(pDateAndTime);
\r
606 pAppResource->GetString(L"IDS_COM_BODY_LOCATION", locationHeading);
\r
607 pLocationHeading = new (std::nothrow) String(locationHeading);
\r
608 __pFileHeaderDetailList->Add(pLocationHeading);
\r
610 pFilePath = new (std::nothrow) String(*(otherMediaMetaData->GetFilePath()));
\r
611 __pFileDetailList->Add(pFilePath);
\r
614 delete otherMediaMetaData;
\r
615 otherMediaMetaData = null;
\r
627 AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
\r
631 AppLogDebug("Exit");
\r
638 DetailsForm::OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus)
\r
640 Rectangle listViewBounds(GetClientAreaBounds().x, GetClientAreaBounds().y, GetClientAreaBounds().width, GetClientAreaBounds().height);
\r
642 switch (orientationStatus)
\r
644 case ORIENTATION_STATUS_PORTRAIT:
\r
650 case ORIENTATION_STATUS_LANDSCAPE:
\r
665 DetailsForm::GetGroupCount(void)
\r
671 DetailsForm::GetItemCount(int groupIndex)
\r
673 if (__pFileDetailList != null)
\r
675 AppLogDebug("Exit %s", GetErrorMessage(GetLastResult()));
\r
676 return __pFileDetailList->GetCount();
\r
684 Tizen::Ui::Controls::GroupItem*
\r
685 DetailsForm::CreateGroupItem(int groupIndex,
\r
688 GroupItem* pItem = new (std::nothrow) GroupItem();
\r
689 pItem->Construct(Dimension(itemWidth, Y_DEFAULT));
\r
690 pItem->SetElement(L"", null);
\r
695 Tizen::Ui::Controls::ListItemBase*
\r
696 DetailsForm::CreateItem(int groupIndex,
\r
701 result r = E_SUCCESS;
\r
702 ListAnnexStyle style = LIST_ANNEX_STYLE_NORMAL;
\r
703 String* pHeaderValue = null;
\r
704 String* pValue = null;
\r
705 CustomItem* pItem = null;
\r
706 int w_Content = itemWidth - (2 * X_LISTVIEW);
\r
708 pItem = new (std::nothrow) CustomItem();
\r
709 TryCatch(pItem != null, , "Failed to allocate Memory to pItem");
\r
711 pHeaderValue = static_cast< String* >(__pFileHeaderDetailList->GetAt(itemIndex));
\r
712 pValue = static_cast< String* >(__pFileDetailList->GetAt(itemIndex));
\r
714 pItem->Construct(Dimension(itemWidth, H_DETAIL_LISTVIEW), style);
\r
715 pItem->AddElement(Rectangle(X_LISTVIEW, Y_LISTVIEW, w_Content, H_LISTVIEW_ITEM_DESCRIPTION),
\r
716 ID_FORMAT_DETAIL_TYPE,
\r
717 pHeaderValue->GetPointer(),
\r
719 Color::GetColor(COLOR_ID_GREY),
\r
720 Color::GetColor(COLOR_ID_GREY),
\r
721 Color::GetColor(COLOR_ID_GREY),
\r
723 pItem->AddElement(Rectangle(X_LISTVIEW, Y_LISTVIEW + H_LISTVIEW_ITEM_DESCRIPTION, w_Content, H_LISTVIEW_ITEM_TITLE),
\r
724 ID_FORMAT_DETAIL_VALUE,
\r
725 pValue->GetPointer(),
\r
727 Color::GetColor(COLOR_ID_BLACK),
\r
728 Color::GetColor(COLOR_ID_BLACK),
\r
729 Color::GetColor(COLOR_ID_BLACK), true);
\r
731 pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED,Color(246,249,239));
\r
732 AppLogDebug("Exit %s", GetErrorMessage(r));
\r
736 AppLogDebug("Exit %s", GetErrorMessage(r));
\r
741 DetailsForm::DeleteGroupItem(int groupIndex,
\r
742 Tizen::Ui::Controls::GroupItem* pItem,
\r
751 DetailsForm::DeleteItem(int groupIndex,
\r
753 Tizen::Ui::Controls::ListItemBase* pItem,
\r
762 DetailsForm::OnGroupedListViewContextItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListContextItemStatus state)
\r
764 //Empty Implementation.
\r
767 DetailsForm::OnGroupedListViewItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView,
\r
771 Tizen::Ui::Controls::ListItemStatus state)
\r
773 //Empty Implementation.
\r
776 DetailsForm::OnGroupedListViewItemSwept(Tizen::Ui::Controls::GroupedListView& listView,
\r
779 Tizen::Ui::Controls::SweepDirection direction)
\r
781 //Empty Implementation.
\r
785 DetailsForm::OnGroupedListViewItemLongPressed(Tizen::Ui::Controls::GroupedListView& listView,
\r
789 bool& invokeListViewItemCallback)
\r
791 //Empty Implementation.
\r
795 DetailsForm::OnSceneTransitionCompleted(const Tizen::Ui::Scenes::SceneId &previousSceneId,
\r
796 const Tizen::Ui::Scenes::SceneId ¤tSceneId)
\r
798 SceneManager::GetInstance()->RemoveSceneManagerEventListener(*this);
\r
800 if (__pGroupedDetailListView != null)
\r
802 __pGroupedDetailListView->UpdateList();
\r
807 DetailsForm::OnSceneTransitionStarted(const Tizen::Ui::Scenes::SceneId ¤tSceneId,
\r
808 const Tizen::Ui::Scenes::SceneId &nextSceneId)
\r
810 //Empty Implementation.
\r
814 //DetailsForm::OnDeviceChange(ComponentType deviceType, const Tizen::Base::String& state)
\r
816 // bool setMediaPath = false;
\r
817 // bool searchHistoryStatus = false;
\r
818 // MemoryType currentMemoryType = MEMORY_TYPE_PHONE;
\r
819 // String unmounted = sdCardStatusUnmounted;
\r
820 // String removed = usbDeviceStatusRemoved;
\r
821 // String currentPath;
\r
822 // String searchScene;
\r
823 // SceneManager* pSceneManager = null;
\r
824 // IListT< SceneId >* pSceneList = null;
\r
825 // int itemCount = 0;
\r
827 // pSceneManager = SceneManager::GetInstance();
\r
829 // if (state == unmounted || state == removed)
\r
831 // currentPath = FolderNavigationPresentationModel::GetCurrentPath();
\r
832 // if (state == unmounted)
\r
834 // if (currentPath.Contains(BasePresentationModel::GetSdCardPath()))
\r
836 // FolderNavigationPresentationModel::SetCurrentFilePath(BasePresentationModel::GetMediaPath());
\r
837 // FolderNavigationPresentationModel::SetStorageType(currentMemoryType);
\r
838 // setMediaPath = true;
\r
842 // if (state == removed)
\r
844 // if (currentPath.Contains(BasePresentationModel::GetUsbPath()))
\r
846 // FolderNavigationPresentationModel::SetCurrentFilePath(BasePresentationModel::GetMediaPath());
\r
847 // FolderNavigationPresentationModel::SetStorageType(currentMemoryType);
\r
848 // setMediaPath = true;
\r
852 // if (setMediaPath)
\r
854 // if (pSceneManager != null)
\r
856 // pSceneList = pSceneManager->GetSceneHistoryN();
\r
859 // if (pSceneList != null)
\r
861 // itemCount = pSceneList->GetCount() - 1;
\r
862 // pSceneList->GetAt(itemCount, searchScene);
\r
863 // while (searchScene != IDSCN_SEARCH_FORM && itemCount >= 0)
\r
866 // pSceneList->GetAt(itemCount, searchScene);
\r
870 // if (searchScene == IDSCN_SEARCH_FORM)
\r
872 // AppLogDebug("Search scene present");
\r
873 // searchHistoryStatus = true;
\r
877 // AppLogDebug("Search scene not present");
\r
878 // searchHistoryStatus = false;
\r
883 // pSceneList->RemoveAll();
\r
884 // delete pSceneList;
\r
885 // pSceneList = null;
\r
888 // if (searchHistoryStatus == true)
\r
890 // if (pSceneManager != null)
\r
892 // pSceneManager->DestroyScene(IDSCN_SEARCH_FORM);
\r
893 // pSceneManager->ClearSceneHistory();
\r
897 // if (pSceneManager != null)
\r
899 // pSceneManager->GoForward(ForwardSceneTransition(IDSCN_TEMP_FORM, SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY), null);
\r
906 DetailsForm::OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state)
\r
908 ComponentType currentDeviceType;
\r
909 switch (deviceType)
\r
913 currentDeviceType = COMPONENT_TYPE_STORAGE_CARD;
\r
919 currentDeviceType = COMPONENT_TYPE_USB;
\r
929 // OnDeviceChange(currentDeviceType, state);
\r