//
// 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
//
* @brief This is the implementation file for AlbumListForm class.
*/
-#include <FApp.h>
#include "GlAlbumInfo.h"
#include "GlAlbumListForm.h"
#include "GlAlbumListPresentationModel.h"
static const int H_FOLDER_SIZE = 348;
AlbumListForm::AlbumListForm(void)
- : __pAlbumViewIconList(null)
- , __pContextMenuMore(null)
- , __itemCount(0)
+ : __itemCount(0)
+ , __pAlbumViewIconList(null)
+ , __pOptionMenu(null)
, __pPresentationModel(null)
+
{
AppLogDebug("ENTER");
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
AppLogDebug("ENTER");
result r = E_SUCCESS;
+ SetOrientation(ORIENTATION_AUTOMATIC);
+ AddOrientationEventListener(*this);
+
__pPresentationModel = AlbumListPresentationModel::GetInstance();
__pPresentationModel->ClearThumbnailRequests();
__pPresentationModel->AddPresentationModelListener(this);
- if (__pPresentationModel->GetAppControlMode() == APP_CONTROL_MODE_PICK)
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
{
if (__pPresentationModel->GetAppControlMediaType() == APPCONTROL_MEDIA_TYPE_IMAGE)
{
if (pHeader == null)
{
AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
-
return E_SYSTEM;
}
if (r != E_SUCCESS)
{
AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
-
return r;
}
if (pFooter == null)
{
AppLogDebug("EXIT 1");
-
return E_SYSTEM;
}
- if (__pPresentationModel->GetAppControlMode() == APP_CONTROL_MODE_PICK)
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
{
- pFooter->SetBackButton();
SetFormBackEventListener(this);
+ pFooter->SetShowState(false);
}
else
{
+ pFooter->SetShowState(true);
pFooter->SetStyle(FOOTER_STYLE_BUTTON_ICON);
- pFooter->SetBackButton();
pFooter->RemoveAllItems();
FooterItem itemCamera;
- itemCamera.Construct(ACTION_ID_FOOTER_CAMERA);
+ itemCamera.Construct(IDA_FOOTER_CAMERA);
itemCamera.SetText(ResourceManager::GetString(L"EMPTY_SPACE"));
Bitmap* pBitmap1 = ResourceManager::GetBitmapN(IDB_CONTROLBAR_CAMERA);
if (pBitmap1 != null)
pFooter->AddItem(itemCamera);
delete pBitmap1;
- ButtonItem footerMore;
- footerMore.Construct(BUTTON_ITEM_STYLE_ICON, ACTION_ID_FOOTER_MORE);
- Bitmap* pBitmapMore = ResourceManager::GetBitmapN(IDB_CONTROLBAR_MORE);
- if (pBitmapMore != null)
- {
- footerMore.SetIcon(BUTTON_ITEM_STATUS_NORMAL, pBitmapMore);
- }
- pFooter->SetButton(BUTTON_POSITION_LEFT,footerMore);
- delete pBitmapMore;
-
- __pContextMenuMore = new (std::nothrow) ContextMenu();
- __pContextMenuMore->Construct(Point(0, 0), CONTEXT_MENU_STYLE_LIST);
- __pContextMenuMore->AddItem(ResourceManager::GetString(L"IDS_COM_HEADER_EDIT"), ACTION_ID_FOOTER_EDIT);
- __pContextMenuMore->SetShowState(false);
- __pContextMenuMore->AddActionEventListener(*this);
-
+ __pOptionMenu = new (std::nothrow) OptionMenu();
+ __pOptionMenu->Construct();
+ __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_COM_HEADER_EDIT"),IDA_FOOTER_EDIT);
+ __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_COM_HEADER_EDIT"), IDA_FOOTER_EDIT);
+ __pOptionMenu->SetShowState(false);
+ __pOptionMenu->AddActionEventListener(*this);
+ SetFormMenuEventListener(this);
SetFormBackEventListener(this);
}
+
pFooter->AddActionEventListener(*this);
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
AppLogDebug("ENTER");
Dimension itemSize(W_FOLDER_SIZE, H_FOLDER_SIZE);
- __pAlbumViewIconList = static_cast< IconListView* >(GetControl(L"IDC_ICONLISTVIEW_ALBUM_LIST"));
- AppAssert(__pAlbumViewIconList);
-
+ __pAlbumViewIconList = new IconListView();
+ __pAlbumViewIconList->Construct(Rectangle(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height),
+ Dimension(W_FOLDER_SIZE, H_FOLDER_SIZE), ICON_LIST_VIEW_STYLE_NORMAL, ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL);
__pAlbumViewIconList->SetItemProvider(*this);
__pAlbumViewIconList->SetItemBorderStyle(ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE);
__pAlbumViewIconList->AddIconListViewItemEventListener(*this);
+
+
Bitmap* pBitmap = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
+
if (pBitmap != null)
{
__pAlbumViewIconList->SetBitmapOfEmptyList(pBitmap);
delete pBitmap;
}
+ __pAlbumViewIconList->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
+
+ AddControl(__pAlbumViewIconList);
__pAlbumViewIconList->SetShowState(true);
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
pArrayList->Construct();
pArrayList->Add(pSendAlbumInfo);
- if (__pPresentationModel->GetAppControlMode() == APP_CONTROL_MODE_PICK)
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
{
if (__pPresentationModel->GetAppControlMediaType() == APPCONTROL_MEDIA_TYPE_IMAGE)
{
{
AppLogDebug("ENTER");
__pPresentationModel->RemovePresentationModelListener(*this);
-
- if (__pContextMenuMore != null)
- {
- delete __pContextMenuMore;
- __pContextMenuMore = null;
- }
+ __pPresentationModel->RemoveContentEventListener(*this);
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
return E_SUCCESS;
switch (actionId)
{
- case ACTION_ID_FOOTER_CAMERA:
- {
- HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
- pDataList->Construct();
- pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_CAMERA_ALLOW_SWITCH),
- new (std::nothrow) String(APPCONTROL_DATA_TRUE));
-
- __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_CAMERA,
- APPCONTROL_OPERATION_ID_CREATE_CONTENT, null,
- new (std::nothrow) String(APPCONTROL_MIME_IMAGE_JPG), pDataList, null);
- }
- break;
- case ACTION_ID_FOOTER_EDIT:
- {
- pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST_EDITOR));
- }
- break;
- case ACTION_ID_FOOTER_MORE:
- {
- if (__pContextMenuMore->GetShowState() == false && __pPresentationModel->GetFolderCount() != 0)
- {
- Rectangle rect = source.GetBounds();
- __pContextMenuMore->SetAnchorPosition(Point(rect.width/8, rect.y));
- __pContextMenuMore->SetShowState(true);
- __pContextMenuMore->Show();
- }
- else
- {
- __pContextMenuMore->SetShowState(false);
- }
- }
- break;
+ case IDA_FOOTER_CAMERA:
+ {
+ const String mimeType = APPCONTROL_MIME_IMAGE_JPG;
+ HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pDataList->Construct();
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_CAMERA_ALLOW_SWITCH),
+ new (std::nothrow) String(APPCONTROL_DATA_TRUE));
+ __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_CAMERA,
+ APPCONTROL_OPERATION_ID_CREATE_CONTENT, null, &mimeType, pDataList, this);
+
+ }
+ break;
+
+ case IDA_FOOTER_EDIT:
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST_EDITOR));
+ }
+ break;
+
default:
- {
- }
break;
}
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
AlbumListForm::OnFormBackRequested(Form& source)
{
AppLogDebug("ENTER");
- if (__pPresentationModel->GetAppControlMode() == APP_CONTROL_MODE_PICK)
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
{
- AppLogDebug("APP_CONTROL_MODE_PICK");
GalleryApp* pApp = dynamic_cast<GalleryApp*>(UiApp::GetInstance());
- if (pApp != null)
+ if (pApp != null && pApp->GetFrameActivated() == true)
{
- if (__pPresentationModel->GetAppControlMode() == APP_CONTROL_MODE_PICK)
- {
- pApp->SendAppControlResult(APP_CTRL_RESULT_CANCELED, null);
- }
+ pApp->SendAppControlResult(APP_CTRL_RESULT_CANCELED, null);
pApp->Terminate();
}
}
AppLogDebug("ENTER");
__pPresentationModel->AddContentEventListener(this);
- if (__pPresentationModel->GetAppControlMode() == APP_CONTROL_MODE_PICK)
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
{
if (__pPresentationModel->GetAppControlMediaType() == APPCONTROL_MEDIA_TYPE_IMAGE)
{
+ __pPresentationModel->ClearThumbnailRequests(false);
__pPresentationModel->InitializeAlbumInfoList(CONTENT_TYPE_IMAGE);
}
else if (__pPresentationModel->GetAppControlMediaType() == APPCONTROL_MEDIA_TYPE_VIDEO)
}
void
-AlbumListForm::OnContentUpdated()
+AlbumListForm::OnContentUpdated(void)
{
AppLogDebug("ENTER");
- if (__pPresentationModel->GetAppControlMode() == APP_CONTROL_MODE_PICK)
+ if (__pOptionMenu != null && __pOptionMenu ->GetShowState() == true)
+ {
+ __pOptionMenu->SetShowState(false);
+ __pOptionMenu->Show();
+ }
+
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
{
if (__pPresentationModel->GetAppControlMediaType() == APPCONTROL_MEDIA_TYPE_IMAGE)
{
__itemCount = __pPresentationModel->GetFolderCount();
__pAlbumViewIconList->UpdateList();
+
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
}
AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
}
+void
+AlbumListForm::OnAppControlCompleteResponseReceived(const AppId& appId, const Tizen::Base::String& operationId,
+ AppCtrlResult appControlResult, const Tizen::Base::Collection::IMap* pExtraData)
+{
+ AppLogDebug("OnAppControlCompleteResponseReceived : %d", appControlResult);
+
+ GalleryApp* pGalleryApp = static_cast<GalleryApp*>(GalleryApp::GetInstance());
+ TryReturnVoid(pGalleryApp != null, "pGalleryApp is null");
+ pGalleryApp->SetFrameEnabled(true);
+}
+
result
AlbumListForm::Update(void)
{
return r;
}
+
+void
+AlbumListForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source)
+{
+
+ if (__pOptionMenu == null || GetItemCount() == 0)
+ {
+ return;
+ }
+
+ __pOptionMenu->SetShowState(true);
+ __pOptionMenu->Show();
+}
+
+void
+AlbumListForm::OnOrientationChanged(const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)
+{
+ if (__pAlbumViewIconList != null)
+ {
+ RemoveControl(__pAlbumViewIconList);
+ }
+
+ __pAlbumViewIconList = new IconListView();
+
+ if (orientationStatus == ORIENTATION_STATUS_PORTRAIT)
+ {
+ __pAlbumViewIconList->Construct(Rectangle(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height),
+ Dimension(W_FOLDER_SIZE, H_FOLDER_SIZE), ICON_LIST_VIEW_STYLE_NORMAL, ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL);
+ }
+ else if (orientationStatus == ORIENTATION_STATUS_LANDSCAPE || orientationStatus == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
+ {
+ int horizontalSpacing = 8;
+ int verticalSpacing = 60;
+ int height = 424;
+ int width = 410;
+
+ __pAlbumViewIconList->Construct(Rectangle(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height),
+ Dimension(width, height), ICON_LIST_VIEW_STYLE_NORMAL, ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL);
+
+ __pAlbumViewIconList->SetItemSpacing(horizontalSpacing, verticalSpacing);
+ __pAlbumViewIconList->SetMargin(MARGIN_TYPE_TOP,60);
+ }
+
+ Bitmap* pBitmap = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
+
+ if (pBitmap != null)
+ {
+ __pAlbumViewIconList->SetBitmapOfEmptyList(pBitmap);
+ delete pBitmap;
+ }
+
+ __pAlbumViewIconList->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
+
+ __pAlbumViewIconList->SetItemProvider(*this);
+ __pAlbumViewIconList->SetItemBorderStyle(ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE);
+ __pAlbumViewIconList->AddIconListViewItemEventListener(*this);
+
+ AddControl(__pAlbumViewIconList);
+
+}