//
// Copyright (c) 2012 Samsung Electronics Co., Ltd.
//
-// Licensed under the Flora License, Version 1.0 (the License);
+// Licensed under the Flora License, Version 1.1 (the License);
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
#include "GlAlbumListPresentationModel.h"
#include "GlAlbumRenameEventListener.h"
#include "GlContentUpdateEventListener.h"
+#include "GlFileListPresentationModel.h"
#include "GlGalleryApp.h"
#include "GlThumbnailEvent.h"
#include "GlThumbnailEventArg.h"
AlbumListPresentationModel::~AlbumListPresentationModel(void)
{
AppLogDebug("ENTER");
+ DeviceManager::RemoveDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
}
{
__appControlSelectionMode = APPCONTROL_SELECTION_MODE_MULTIPLE;
}
-
- if (pApp->GetMimeType().StartsWith(APPCONTROL_DATA_VIDEO, 0) == true)
- {
- __appControlMediaType = APPCONTROL_MEDIA_TYPE_VIDEO;
- }
}
}
else if (operationId.CompareTo(APPCONTROL_OPERATION_ID_CONFIGURE) == 0)
else
{
__pAlbumListener = pAlbumListener;
- r = ContentManager::ScanDirectory(Tizen::System::Environment::GetMediaPath(), true, this, __reqId);
+ __renameNewPath = newPath;\r
+ r = ContentManager::ScanDirectory(newPath, true, NULL, __reqId);\r
+ AppLogDebug("Content scan failed (%s)", GetErrorMessage(r));
+ r = ContentManager::ScanDirectory(orgPath, true, NULL, __reqId);\r
AppLogDebug("Content scan failed (%s)", GetErrorMessage(r));
}
AppLogDebug("EXIT");
return r;
}
-void AlbumListPresentationModel::OnContentScanCompleted (RequestId reqId, const Tizen::Base::String &scanPath, result r)
+void AlbumListPresentationModel::OnContentScanCompleted (const Tizen::Base::String &scanPath)\r
{
- AppLogDebug("ENTER");
- if (__pAlbumListener && __reqId == reqId)
+ AppLogDebug("ENTER");\r
+ if (__pAlbumListener && ( scanPath == __renameNewPath))\r
{
InitializeAlbumInfoList(CONTENT_TYPE_ALL);
__pAlbumListener->OnAlbumRenameComplete();
+ __renameNewPath = L"";
}
AppLogDebug("EXIT");
}
IAppControlResponseListener* pListener)
{
AppLogDebug("ENTER");
+ FileListPresentationModel::GetInstance()->ClearProviderId();
AppControl* pAc = AppManager::FindAppControlN(providerId, operationId);
if (pAc == null)
{
while (pEnum->MoveNext() == E_SUCCESS)
{
pDirPath = static_cast<String*>(pEnum->GetCurrent());
+ String mediaPath = RESERVED_MEDIA_PATH;
+ int length = mediaPath.GetLength();
+ mediaPath.Remove(length-1,1);
+
if (pDirPath == null)
{
continue;
delete pContentIdList;
}
}
- else if (*pDirPath == RESERVED_MEDIA_PATH)
+ else if (*pDirPath == mediaPath)
{
IList* pContentIdList = GetContentIdListInDirectoryN(*pDirPath, contentType);
{
delete pAlbumInfo;
}
+ pAlbumInfo = null;
}
}
return;
CATCH:
- if (pContentDirectoryPathList != null)
- {
- delete pContentDirectoryPathList;
- }
- if (pAllAlbumInfo != null)
- {
- delete pAllAlbumInfo;
- }
- if (pCameraAlbumInfo != null)
- {
- delete pCameraAlbumInfo;
- }
- if (pDownloadAlbumInfo != null)
- {
- delete pDownloadAlbumInfo;
- }
- if (pNoNameAlbumInfo != null)
- {
- delete pNoNameAlbumInfo;
- }
+ delete pContentDirectoryPathList;
+ delete pAllAlbumInfo;
+ delete pCameraAlbumInfo;
+ delete pDownloadAlbumInfo;
+ delete pNoNameAlbumInfo;
}
String
return null;
}
- IList* pContentDirectoryPathList = directory.GetContentDirectoryPathListN(SORT_ORDER_ASCENDING);
- String* pDirPath = null;
- if ((pContentDirectoryPathList != null) && (pContentDirectoryPathList->GetCount() > 0))
+ if (static_cast<const Integer*>(indexList.GetAt(0))->ToInt() == 0) //if all-album is selected, get all files for delete
{
- if (static_cast<const Integer*>(indexList.GetAt(0))->ToInt() == 0) //if all-album is selected, get all files for delete
+ IList* pContentDirectoryPathList = directory.GetContentDirectoryPathListN(SORT_ORDER_ASCENDING);
+ String* pDirPath = null;
+ if ((pContentDirectoryPathList != null) && (pContentDirectoryPathList->GetCount() > 0))
{
int loopCount = pContentDirectoryPathList->GetCount();
for (int i = 0; i < loopCount; ++i)
pContentIdList->AddItems(*(GetContentIdListInDirectoryN(*pDirPath, CONTENT_TYPE_ALL)));
}
}
- else //get all files in directories which are checked for deletion
+ }
+ else
+ {
+ if(__pAlbumInfoList != null)
{
int loopCount = indexList.GetCount();
+ AlbumInfo* pInfo = null;
for (int i = 0; i < loopCount; ++i)
{
- const Integer* pIndex = static_cast<const Integer*>(indexList.GetAt(i));
- pDirPath = static_cast<String*>(pContentDirectoryPathList->GetAt(pIndex->ToInt() - 1)); //index 0 is all-album which is not counted as a directory. hence delete 1 index
- if (pDirPath == null)
+ int index = static_cast<const Integer*>(indexList.GetAt(i))->ToInt();
+ pInfo = static_cast<AlbumInfo*>(__pAlbumInfoList->GetAt(index));
+
+ if(pInfo != null)
{
- continue;
+ IList* pList = pInfo->GetContentIdListN();
+ if(pList != null)
+ {
+ pContentIdList->AddItems(*pList);
+ }
}
- pContentIdList->AddItems(*(GetContentIdListInDirectoryN(*pDirPath, CONTENT_TYPE_ALL)));
}
}
}
AlbumListPresentationModel::OnDeviceStateChanged(DeviceType deviceType, const Tizen::Base::String& state)
{
AppLogDebug("ENTER");
- if (deviceType == DEVICE_TYPE_STORAGE_CARD && state == DEVICE_STORAGE_CARD_UNMOUNTED)
- {
- IFormContentUpdateEventListener* pInterface = null;
- IEnumerator* pEventEnum = __pContentEventListener->GetEnumeratorN();
- while (pEventEnum->MoveNext() == E_SUCCESS)
- {
- pInterface = static_cast<IFormContentUpdateEventListener*>(pEventEnum->GetCurrent());
- pInterface->OnContentUpdated();
- }
- delete pEventEnum;
- }
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
}