Removed Context Menu, used option menu
[apps/osp/Gallery.git] / src / GlFileListEditorForm.cpp
index cd9c0e3..1236ea5 100644 (file)
@@ -1,7 +1,7 @@
 //
 // 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 "GlImageListEditorPanel.h"
 #include "GlResourceManager.h"
 #include "GlSlideSettingListener.h"
+#include "GlSlideShowPopUp.h"
 #include "GlTypes.h"
 #include "GlVideoListEditorPanel.h"
 #include "GlFileMoveTimer.h"
 
-
 using namespace Tizen::App;
 using namespace Tizen::Base;
 using namespace Tizen::Base::Collection;
 using namespace Tizen::Content;
 using namespace Tizen::Graphics;
+using namespace Tizen::System;
 using namespace Tizen::Ui;
 using namespace Tizen::Ui::Controls;
 using namespace Tizen::Ui::Scenes;
@@ -54,11 +55,11 @@ static const unsigned int COLOR_DELETE_BUTTON_NORMAL = Color32<208, 82, 82>::Val
 static const unsigned int COLOR_DELETE_BUTTON_PRESSED = Color32<194, 71, 71>::Value;
 static const unsigned int COLOR_DELETE_BUTTON_TEXT = Color32<248, 246, 239>::Value;
 
+static const String RESERVED_MEDIA_PATH = Environment::GetMediaPath();
+
 FileListEditorForm::FileListEditorForm(void)
-       : __pContextMenuMore(null)
-       , __pContextMenuShare(null)
-       , __pContextEditorMenuMove(null)
-       , __pContextSelectionMenuMove(null)
+       : __pContextMenuShare(null)
+       , __pOptionMenu(null)
        , __pDeletePopup(null)
        , __morePosition(Point(0, 0))
        , __pContentDirectoryList(null)
@@ -80,6 +81,7 @@ FileListEditorForm::~FileListEditorForm(void)
        {
                delete __pContentDirectoryList;
        }
+
        if (__pContentDirectoryNameList != null)
        {
                delete __pContentDirectoryNameList;
@@ -111,7 +113,7 @@ FileListEditorForm::OnInitializing(void)
        {
                __pPopUp->Initialize();
                __pPopUp->SetEventListner(this);
-               AddControl(*__pPopUp);
+               AddControl(__pPopUp);
        }
 
        __pPresentationModel = FileListPresentationModel::GetInstance();
@@ -170,25 +172,13 @@ FileListEditorForm::InitializeFooter(void)
                }
                pFooter->SetBackButton();
                SetFormBackEventListener(this);
+
        }
        else
        {
                pFooter->SetStyle(FOOTER_STYLE_BUTTON_ICON_TEXT);
-
-               ButtonItem footerMore;
-               footerMore.Construct(BUTTON_ITEM_STYLE_ICON, IDA_FOOTER_MORE);
-               Bitmap* pBitmapMore = ResourceManager::GetBitmapN(IDB_CONTROLBAR_MORE);
-               Bitmap* pBitmapMoreDim = ResourceManager::GetBitmapN(IDB_CONTROLBAR_MORE_DISABLED);
-
-               if (pBitmapMore != null && pBitmapMoreDim != NULL)
-               {
-                       footerMore.SetIcon(BUTTON_ITEM_STATUS_NORMAL, pBitmapMore);
-                       footerMore.SetIcon(BUTTON_ITEM_STATUS_DISABLED, pBitmapMoreDim);
-               }
-               pFooter->SetButton(BUTTON_POSITION_LEFT,footerMore);
-
-               delete pBitmapMore;
-               delete pBitmapMoreDim;
+               pFooter->SetMenuButton();
+               SetFormMenuEventListener(this);
 
                FooterItem footerShare;
                r = footerShare.Construct(IDA_FOOTER_SHARE);
@@ -249,31 +239,31 @@ FileListEditorForm::InitializeFooter(void)
 
                AppLogDebug("GetItemCheckedCount(%d)", checkedCount);
 
-               if (__pContextMenuMore != null)
+               if (__pOptionMenu != null)
                {
-                       delete __pContextMenuMore;
-                       __pContextMenuMore = null;
+                       delete __pOptionMenu;
+                       __pOptionMenu = null;
                }
 
-               __pContextMenuMore = new (std::nothrow) ContextMenu();
-               __pContextMenuMore->Construct(Point(0, 0), CONTEXT_MENU_STYLE_LIST);
-
-               __pContextMenuMore->AddItem(ResourceManager::GetString(L"IDS_COM_BODY_MOVE"),
+               __pOptionMenu = new (std::nothrow) OptionMenu();
+               __pOptionMenu->Construct();
+               __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_COM_BODY_MOVE"),
                                IDA_CONTEXT_MENU_MORE_MOVE);
-               __pContextMenuMore->AddItem(ResourceManager::GetString(L"IDS_COM_BODY_COPY"),
-                                               IDA_CONTEXT_MENU_MORE_COPY);
+               __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_COM_BODY_COPY"),
+                               IDA_CONTEXT_MENU_MORE_COPY);
 
                if (checkedCount > 1)
                {
-                       __pContextMenuMore->AddItem(ResourceManager::GetString(L"IDS_MEDIABR_BUTTON_SLIDE_SHOW"),
+                       __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_MEDIABR_OPT_SLIDESHOW"),
                                        IDA_CONTEXT_MENU_MORE_SLIDE_SHOW);
                }
 
-               __pContextMenuMore->AddItem(ResourceManager::GetString(L"IDS_IV_OPT_ROTATE_LEFT"),IDA_CONTEXT_MENU_ROTATE_LEFT);
-               __pContextMenuMore->AddItem(ResourceManager::GetString(L"IDS_IV_OPT_ROTATE_RIGHT"),IDA_CONTEXT_MENU_ROTATE_RIGHT);
+               __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_IV_OPT_ROTATE_LEFT"),IDA_CONTEXT_MENU_ROTATE_LEFT);
+               __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_IV_OPT_ROTATE_RIGHT"),IDA_CONTEXT_MENU_ROTATE_RIGHT);
+
+               __pOptionMenu->AddActionEventListener(*this);
+
 
-               __pContextMenuMore->SetShowState(false);
-               __pContextMenuMore->AddActionEventListener(*this);
 
                __pContextMenuShare = new (std::nothrow) ContextMenu();
                __pContextMenuShare->Construct(Point(0, 0), CONTEXT_MENU_STYLE_LIST);
@@ -284,13 +274,7 @@ FileListEditorForm::InitializeFooter(void)
                __pContextMenuShare->SetShowState(false);
                __pContextMenuShare->AddActionEventListener(*this);
 
-               __pContextEditorMenuMove = new (std::nothrow) ContextMenu();
-               __pContextEditorMenuMove->Construct(Point(0, 0), CONTEXT_MENU_STYLE_LIST);
-               __pContextEditorMenuMove->AddActionEventListener(*this);
 
-               __pContextSelectionMenuMove = new (std::nothrow) ContextMenu();
-               __pContextSelectionMenuMove->Construct(Point(0, 0), CONTEXT_MENU_STYLE_LIST);
-               __pContextSelectionMenuMove->AddActionEventListener(*this);
 
                if (__pContentDirectoryNameList != null)
                {
@@ -333,12 +317,13 @@ result
 FileListEditorForm::OnTerminating(void)
 {
        AppLogDebug("ENTER");
+       __pPresentationModel->RemoveContentEventListener(this);
 
-       if (__pContextMenuMore != null)
+       if (__pOptionMenu != null)
        {
-               __pContextMenuMore->RemoveActionEventListener(*this);
-               delete __pContextMenuMore;
-               __pContextMenuMore = null;
+               __pOptionMenu->RemoveActionEventListener(*this);
+               delete __pOptionMenu;
+               __pOptionMenu = null;
        }
 
        if (__pContextMenuShare != null)
@@ -348,20 +333,6 @@ FileListEditorForm::OnTerminating(void)
                __pContextMenuShare = null;
        }
 
-       if (__pContextEditorMenuMove != null)
-       {
-               __pContextEditorMenuMove->RemoveActionEventListener(*this);
-               delete __pContextEditorMenuMove;
-               __pContextEditorMenuMove = null;
-       }
-
-       if (__pContextSelectionMenuMove != null)
-       {
-               __pContextSelectionMenuMove->RemoveActionEventListener(*this);
-               delete __pContextSelectionMenuMove;
-               __pContextSelectionMenuMove = null;
-       }
-
        if (__pDeletePopup != null)
        {
                delete __pDeletePopup;
@@ -384,32 +355,8 @@ FileListEditorForm::OnActionPerformed(const Control& source, int actionId)
        {
        case IDA_FILE_LIST_SELECT_ALL:
                SelectAllPressed();
-               break;
-       case IDA_FOOTER_MORE:
-       {
-               InitializeFooter();
+       break;
 
-               if (__pContextMenuMore->GetShowState() == false)
-               {
-                       Rectangle rect = source.GetBounds();
-                       __morePosition = Point(rect.width/8,rect.y);
-                       if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
-                       {
-                               __pContextMenuMore->SetAnchorPosition(Point(rect.width/10,rect.y));
-                       }
-                       else
-                       {
-                               __pContextMenuMore->SetAnchorPosition(Point(rect.width/10,rect.y - H_TOAST_LABEL));
-                       }
-                       __pContextMenuMore->SetShowState(true);
-                       __pContextMenuMore->Show();
-               }
-               else
-               {
-                       __pContextMenuMore->SetShowState(false);
-               }
-               break;
-       }
        case IDA_FOOTER_SHARE:
        {
                if (__pContextMenuShare->GetShowState() == false)
@@ -417,11 +364,11 @@ FileListEditorForm::OnActionPerformed(const Control& source, int actionId)
                        Rectangle rect = source.GetBounds();
                        if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
                        {
-                               __pContextMenuShare->SetAnchorPosition(Point(rect.width/8*3 ,rect.y));
+                               __pContextMenuShare->SetAnchorPosition(Point(rect.width / 8 * 3, rect.y));
                        }
                        else
                        {
-                               __pContextMenuShare->SetAnchorPosition(Point(rect.width/8*3 ,rect.y - H_TOAST_LABEL));
+                               __pContextMenuShare->SetAnchorPosition(Point(rect.width / 8 * 3, rect.y - H_TOAST_LABEL));
                        }
                        __pContextMenuShare->SetShowState(true);
                        __pContextMenuShare->Show();
@@ -430,8 +377,9 @@ FileListEditorForm::OnActionPerformed(const Control& source, int actionId)
                {
                        __pContextMenuShare->SetShowState(false);
                }
-               break;
        }
+       break;
+
        case IDA_FOOTER_DELETE:
        {
                if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
@@ -475,17 +423,21 @@ FileListEditorForm::OnActionPerformed(const Control& source, int actionId)
                                _overlayMsg = true;
                        }
                }
-               break;
        }
+       break;
+
        case IDA_CONTEXT_MENU_MORE_EDIT:
        {
                break;
        }
+
        case IDA_CONTEXT_MENU_MORE_ADD_TAG:
        {
                break;
        }
+
        case IDA_CONTEXT_MENU_MORE_COPY:
+
        case IDA_CONTEXT_MENU_MORE_MOVE:
        {
                if (actionId == IDA_CONTEXT_MENU_MORE_MOVE)
@@ -496,36 +448,16 @@ FileListEditorForm::OnActionPerformed(const Control& source, int actionId)
                {
                        __isCopyOperation = true;
                }
+
                RefreshFolderList();
-               if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
-               {
-                       if (__pContextEditorMenuMove->GetShowState() == false)
-                       {
-                               __pContextEditorMenuMove->SetAnchorPosition(__morePosition);
-                               __pContextEditorMenuMove->SetShowState(true);
-                               __pContextEditorMenuMove->Show();
-                       }
-                       else
-                       {
-                               __pContextEditorMenuMove->SetShowState(false);
-                       }
-               }
-               else if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
-               {
-                       if (__pContextSelectionMenuMove->GetShowState() == false)
-                       {
-                               __pContextSelectionMenuMove->SetAnchorPosition(__morePosition);
-                               __pContextSelectionMenuMove->SetShowState(true);
-                               __pContextSelectionMenuMove->Show();
-                       }
-                       else
-                       {
-                               __pContextSelectionMenuMove->SetShowState(false);
-                       }
-               }
 
-               break;
+               __pOptionMenu->SetShowState(true);
+               __pOptionMenu->Show();
+
+
        }
+       break;
+
        case IDA_CONTEXT_MENU_MORE_SLIDE_SHOW:
        {
                if (__pPopUp != null)
@@ -533,9 +465,9 @@ FileListEditorForm::OnActionPerformed(const Control& source, int actionId)
                        __pPopUp->SetShowState(true);
                        __pPopUp->Show();
                }
-
-               break;
        }
+       break;
+
        case IDA_CONTEXT_MENU_SHARE_MESSAGE:
        {
                if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
@@ -554,8 +486,9 @@ FileListEditorForm::OnActionPerformed(const Control& source, int actionId)
                                pSelectionPanel->OnRequestMessage();
                        }
                }
-               break;
        }
+       break;
+
        case IDA_CONTEXT_MENU_SHARE_EMAIL:
        {
                if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
@@ -574,8 +507,9 @@ FileListEditorForm::OnActionPerformed(const Control& source, int actionId)
                                pSelectionPanel->OnRequestEmail();
                        }
                }
-               break;
        }
+       break;
+
        case IDA_CONTEXTMENU_EDITOR_MOVE_CREATE_ALBUM:
        {
                if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
@@ -597,28 +531,32 @@ FileListEditorForm::OnActionPerformed(const Control& source, int actionId)
                        }
 
                }
-               break;
-       }
-       case IDA_CONTEXTMENU_SELECTION_MOVE_CREATE_ALBUM:
-       {
-               if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+               else
                {
-                       AllListSelectionPanel* pSelectionPanel = dynamic_cast<AllListSelectionPanel*>
-                       (pSceneManager->GetCurrentScene()->GetPanel());
-                       IList* pList = pSelectionPanel->GetItemCheckedIndexListN();
-                       pList->InsertAt(new (std::nothrow) Integer(ALBUM_CREATE), ALBUM_FIRST_ELEMENT);
-                       if (__isCopyOperation)
-                       {
-                               pList->InsertAt(new (std::nothrow) Integer(FILE_ACTION_COPY), ALBUM_SECOND_ELEMENT);
-                       }
-                       else
+                       if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
                        {
-                               pList->InsertAt(new (std::nothrow) Integer(FILE_ACTION_MOVE), ALBUM_SECOND_ELEMENT);
+                               AllListSelectionPanel* pSelectionPanel = dynamic_cast<AllListSelectionPanel*>
+                               (pSceneManager->GetCurrentScene()->GetPanel());
+
+                               if (pSelectionPanel != null)
+                               {
+                                       IList* pList = pSelectionPanel->GetItemCheckedIndexListN();
+                                       pList->InsertAt(new (std::nothrow) Integer(ALBUM_CREATE), ALBUM_FIRST_ELEMENT);
+                                       if (__isCopyOperation)
+                                       {
+                                               pList->InsertAt(new (std::nothrow) Integer(FILE_ACTION_COPY), ALBUM_SECOND_ELEMENT);
+                                       }
+                                       else
+                                       {
+                                               pList->InsertAt(new (std::nothrow) Integer(FILE_ACTION_MOVE), ALBUM_SECOND_ELEMENT);
+                                       }
+                                       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_NAME_EDITOR), pList);
+                               }
                        }
-                       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_NAME_EDITOR), pList);
                }
-               break;
        }
+       break;
+
        case IDA_DELETE_POPUP_DEL:
        {
                _overlayMsg = false;
@@ -651,15 +589,16 @@ FileListEditorForm::OnActionPerformed(const Control& source, int actionId)
                                }
                        }
                }
-               break;
        }
+       break;
+
        case IDA_DELETE_POPUP_CANCEL:
        {
                _overlayMsg = false;
                __pDeletePopup->SetShowState(false);
                __pDeletePopup->Invalidate(true);
-               break;
        }
+       break;
 
        case IDA_CONTEXT_MENU_ROTATE_LEFT:
        {
@@ -683,9 +622,8 @@ FileListEditorForm::OnActionPerformed(const Control& source, int actionId)
                                pSelectionPanel->OnRotateRequested(rotateMode);
                        }
                }
-
-               break;
        }
+       break;
 
        case IDA_CONTEXT_MENU_ROTATE_RIGHT:
        {
@@ -710,9 +648,8 @@ FileListEditorForm::OnActionPerformed(const Control& source, int actionId)
                                pSelectionPanel->OnRotateRequested(rotateMode);
                        }
                }
-
-               break;
        }
+       break;
 
        case IDA_FOOTER_CONFIRM:
        {
@@ -732,8 +669,9 @@ FileListEditorForm::OnActionPerformed(const Control& source, int actionId)
                                pEditorPanel->OnRequestAppExitWithMultipleSelectionAppControlResult();
                        }
                }
-               break;
        }
+       break;
+
        default:
        {
                if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
@@ -758,7 +696,7 @@ FileListEditorForm::OnActionPerformed(const Control& source, int actionId)
                                                delete __pFileMove;
                                                IList* pItemIndexList = pEditorPanel->GetItemCheckedIndexListN();
                                                GetMoveFileIndexList(*pDirectory, pItemIndexList, __pPresentationModel);
-                                               __pFileMove = new FileMoveTimer(*pDirectory, pItemIndexList, __pPresentationModel, this);
+                                               __pFileMove = new (std::nothrow) FileMoveTimer(*pDirectory, pItemIndexList, __pPresentationModel, this);
                                                if (__isCopyOperation)
                                                {
                                                        AppLogDebug("Rash: Setting to Copy in FileListEditorForm");
@@ -783,7 +721,7 @@ FileListEditorForm::OnActionPerformed(const Control& source, int actionId)
                else if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
                {
                        if ((IDA_CONTEXTMENU_SELECTION_MOVE_ALBUM_ARRAY_START <= actionId) &&
-                                       (actionId <= IDA_CONTEXTMENU_SELECTION_MOVE_CREATE_ALBUM + 1000))
+                                       (actionId <= IDA_CONTEXTMENU_EDITOR_MOVE_CREATE_ALBUM + 1000))
                        {
                                if (__pContentDirectoryList == null)
                                {
@@ -803,7 +741,7 @@ FileListEditorForm::OnActionPerformed(const Control& source, int actionId)
                                                delete __pFileMove;
                                                IList* pItemIndexList = pSelectionPanel->GetItemCheckedIndexListN();
                                                GetMoveFileIndexList(*pDirectory, pItemIndexList, __pPresentationModel);
-                                               __pFileMove = new FileMoveTimer(*pDirectory, pItemIndexList, __pPresentationModel, this);
+                                               __pFileMove = new (std::nothrow) FileMoveTimer(*pDirectory, pItemIndexList, __pPresentationModel, this);
                                                if (__isCopyOperation)
                                                {
                                                        AppLogDebug("Rash: Setting to Copy in FileListEditorForm");
@@ -866,11 +804,49 @@ FileListEditorForm::OnContentUpdated()
 {
        AppLogDebug("ENTER");
 
-       if (_overlayMsg == false)
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+
+       if(__pDeletePopup != null)
        {
-               SceneManager* pSceneManager = SceneManager::GetInstance();
-               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALL_LIST));
+               if(__pDeletePopup->IsVisible() == true)
+               {
+                       __pDeletePopup->Destroy();
+                       __pDeletePopup = null;
+                       _overlayMsg = false;
+                       SetUpPopup();
+               }
+       }
+
+       if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+       {
+               AllListEditorPanel* pEditorPanel = dynamic_cast<AllListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+               if (pEditorPanel != null)
+               {
+                       pEditorPanel->CancelUpdateProgress();
+               }
+       }
+       else if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+       {
+               AllListSelectionPanel* pSelectionPanel = dynamic_cast<AllListSelectionPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+               if (pSelectionPanel != null)
+               {
+                       pSelectionPanel->CancelUpdateProgress();
+               }
+       }
+
+       if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK
+                       && pSceneManager->GetCurrentSceneId() == IDSCN_IMAGE_LIST_EDITOR)
+       {
+               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST, SCENE_TRANSITION_ANIMATION_TYPE_NONE,
+                               SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY));
+
+       }
+       else if (_overlayMsg == false)
+       {
+               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALL_LIST, SCENE_TRANSITION_ANIMATION_TYPE_NONE,
+                               SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY));
        }
+
        AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
 }
 
@@ -894,8 +870,9 @@ FileListEditorForm::SetUpPopup(void)
        Label* pLabelText = new (std::nothrow) Label();
        pLabelText->Construct(Rectangle(0, 0, popupClientBounds.width, H_DELETE_LABEL),
                        ResourceManager::GetString(L"IDS_COM_POP_DELETE_Q"));
-       pLabelText->SetTextHorizontalAlignment(ALIGNMENT_CENTER);
-       __pDeletePopup->AddControl(*pLabelText);
+       pLabelText->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
+       pLabelText->SetTextConfig(34,LABEL_TEXT_STYLE_BOLD);
+       __pDeletePopup->AddControl(pLabelText);
 
        Button* pDeleteButton = new (std::nothrow) Button();
        pDeleteButton->Construct(Rectangle(0, Y_DELETE_BUTTON, popupClientBounds.width / 2 - GAP_W_POPUP_ITEM, H_DELETE_BUTTON),
@@ -905,14 +882,14 @@ FileListEditorForm::SetUpPopup(void)
        pDeleteButton->SetTextColor(COLOR_DELETE_BUTTON_TEXT);
        pDeleteButton->SetActionId(IDA_DELETE_POPUP_DEL);
        pDeleteButton->AddActionEventListener(*this);
-       __pDeletePopup->AddControl(*pDeleteButton);
+       __pDeletePopup->AddControl(pDeleteButton);
 
        Button* pButtonCancel = new (std::nothrow) Button();
        pButtonCancel->Construct(Rectangle(popupClientBounds.width / 2 + GAP_W_POPUP_ITEM, Y_DELETE_BUTTON,
                        popupClientBounds.width / 2 - GAP_W_POPUP_ITEM, H_DELETE_BUTTON), ResourceManager::GetString(L"IDS_COM_POP_CANCEL"));
        pButtonCancel->SetActionId(IDA_DELETE_POPUP_CANCEL);
        pButtonCancel->AddActionEventListener(*this);
-       __pDeletePopup->AddControl(*pButtonCancel);
+       __pDeletePopup->AddControl(pButtonCancel);
        AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
 
        return r;
@@ -953,32 +930,45 @@ FileListEditorForm::RefreshFolderList(void)
        __pContentDirectoryNameList = new (std::nothrow) ArrayList(SingleObjectDeleter);
        String* pDirPath = null;
        String* pDirName = null;
+       String mediaPath = RESERVED_MEDIA_PATH;
+       int length = mediaPath.GetLength();
+       mediaPath.Remove(length-1,1);
 
        int loopCount = __pContentDirectoryList->GetCount();
        for (int i = 0; i < loopCount; ++i)
        {
                pDirPath = static_cast<String*>(__pContentDirectoryList->GetAt(i));
                pDirName = new (std::nothrow) String(GetDirecotyNameFromFullPath(*pDirPath));
-               __pContentDirectoryNameList->Add(pDirName);
-       }
-       __pContextEditorMenuMove->RemoveAllItems();
-       __pContextEditorMenuMove->AddItem(ResourceManager::GetString(L"IDS_MEDIABR_OPT_CREATE_ALBUM"),
-                       IDA_CONTEXTMENU_EDITOR_MOVE_CREATE_ALBUM);
-       __pContextSelectionMenuMove->RemoveAllItems();
-       __pContextSelectionMenuMove->AddItem(ResourceManager::GetString(L"IDS_MEDIABR_OPT_CREATE_ALBUM"),
-                       IDA_CONTEXTMENU_SELECTION_MOVE_CREATE_ALBUM);
-
-       loopCount = __pContentDirectoryNameList->GetCount();
-       for (int i = 0; i < loopCount; ++i)
-       {
-               pDirName = static_cast<String*>(__pContentDirectoryNameList->GetAt(i));
-               __pContextEditorMenuMove->AddItem(*(new (std::nothrow) String(*pDirName)),
-                               IDA_CONTEXTMENU_EDITOR_MOVE_ALBUM_ARRAY_START + i);
-               __pContextSelectionMenuMove->AddItem(*(new (std::nothrow) String(*pDirName)),
-                               IDA_CONTEXTMENU_SELECTION_MOVE_ALBUM_ARRAY_START + i);
+
+               if ( *pDirPath == mediaPath)
+               {
+                       *pDirName = ResourceManager::GetString(L"IDS_MEDIABR_POP_NO_NAME");
+                       __pContentDirectoryNameList->Add(pDirName);
+               }
+               else
+               {
+                       __pContentDirectoryNameList->Add(pDirName);
+               }
        }
-       __pContextEditorMenuMove->SetShowState(false);
-       __pContextSelectionMenuMove->SetShowState(false);
+
+               __pOptionMenu->RemoveAllItems();
+               __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_MEDIABR_OPT_CREATE_ALBUM"),
+                               IDA_CONTEXTMENU_EDITOR_MOVE_CREATE_ALBUM);
+
+               loopCount = __pContentDirectoryNameList->GetCount();
+
+               for (int i = 0; i < loopCount; ++i)
+               {
+                       pDirName = static_cast<String*>(__pContentDirectoryNameList->GetAt(i));
+
+                       if ( *pDirName != __pPresentationModel->GetCurrentAlbumName())
+                       {
+                               __pOptionMenu->AddItem(*(new (std::nothrow) String(*pDirName)),
+                                               IDA_CONTEXTMENU_EDITOR_MOVE_ALBUM_ARRAY_START + i);
+                       }
+               }
+
+
        AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
 }
 
@@ -1027,7 +1017,8 @@ FileListEditorForm::OnFormBackRequested(Form& source)
                                        pList = new (std::nothrow) ArrayList(SingleObjectDeleter);
                                }
 
-                               pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_ALL_LIST_EDITOR), pList);
+                               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALL_LIST_EDITOR, SCENE_TRANSITION_ANIMATION_TYPE_NONE,
+                                                  SCENE_HISTORY_OPTION_ADD_HISTORY, SCENE_DESTROY_OPTION_DESTROY), pList);
                        }
                }
                else
@@ -1039,7 +1030,7 @@ FileListEditorForm::OnFormBackRequested(Form& source)
 }
 
 void
-FileListEditorForm::SetFooterButtonsState(bool enableState)
+FileListEditorForm::SetFooterButtonsState(const bool enableState)
 {
        AppLogDebug("ENTER");
        Footer* pFooter = GetFooter();
@@ -1057,19 +1048,18 @@ FileListEditorForm::SetFooterButtonsState(bool enableState)
                        pFooter->SetButtonEnabled(BUTTON_POSITION_LEFT, false);
                        pFooter->SetItemEnabled(0, false);
                }
-
        }
        else
        {
                if (enableState == true)
                {
-                       pFooter->SetButtonEnabled(BUTTON_POSITION_LEFT, true);
+                       pFooter->SetMenuButtonEnabled(true);
                        pFooter->SetItemEnabled(0, true);
                        pFooter->SetItemEnabled(1, true);
                }
                else
                {
-                       pFooter->SetButtonEnabled(BUTTON_POSITION_LEFT, false);
+                       pFooter->SetMenuButtonEnabled(false);
                        pFooter->SetItemEnabled(0, false);
                        pFooter->SetItemEnabled(1, false);
                }
@@ -1079,7 +1069,7 @@ FileListEditorForm::SetFooterButtonsState(bool enableState)
 }
 
 result
-FileListEditorForm::MoveToAlbum(String& destDirectory)
+FileListEditorForm::MoveToAlbum(const String& destDirectory)
 {
        AppLogDebug("ENTER");
        result r = E_FAILURE;
@@ -1180,3 +1170,76 @@ FileListEditorForm::OnSlideSettingPopUpItemSelected(int index)
                pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SETTING_MAIN));
        }
 }
+
+void
+FileListEditorForm::OnSceneDeactivated(const SceneId& currentSceneId, const SceneId& nextSceneId)
+{
+       AppLogDebug("ENTER");
+       __pPresentationModel->RemoveContentEventListener(this);
+       AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileListEditorForm::OnSceneActivatedN(const SceneId& previousSceneId, const SceneId& currentSceneId, IList* pArgs)
+{
+       AppLogDebug("ENTER");
+       __pPresentationModel->AddContentEventListener(this);
+       AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileListEditorForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source)
+{
+
+       SceneManager* pSceneManager = SceneManager::GetInstance();
+       int checkedCount = 0;
+
+       if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+       {
+               AllListEditorPanel* pEditorPanel = dynamic_cast<AllListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+               if (pEditorPanel != null)
+               {
+                       checkedCount = pEditorPanel->GetItemCheckedCount();
+               }
+       }
+       else if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+       {
+               AllListSelectionPanel* pSelectionPanel = dynamic_cast<AllListSelectionPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+               if (pSelectionPanel != null)
+               {
+                       checkedCount = pSelectionPanel->GetItemCheckedCount();
+               }
+       }
+
+       if (__pContextMenuShare != null && __pContextMenuShare->GetShowState() == true )
+       {
+               __pContextMenuShare->SetShowState(false);
+       }
+
+       if ( checkedCount > 0)
+       {
+               if ( __pOptionMenu == null )
+               {
+                       return ;
+               }
+
+               __pOptionMenu->RemoveAllItems();
+               __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_COM_BODY_MOVE"),
+                               IDA_CONTEXT_MENU_MORE_MOVE);
+               __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_COM_BODY_COPY"),
+                               IDA_CONTEXT_MENU_MORE_COPY);
+
+               if (checkedCount > 1)
+               {
+                       __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_MEDIABR_OPT_SLIDESHOW"),
+                                       IDA_CONTEXT_MENU_MORE_SLIDE_SHOW);
+               }
+
+               __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_IV_OPT_ROTATE_LEFT"),IDA_CONTEXT_MENU_ROTATE_LEFT);
+               __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_IV_OPT_ROTATE_RIGHT"),IDA_CONTEXT_MENU_ROTATE_RIGHT);
+
+               __pOptionMenu->SetShowState(true);
+               __pOptionMenu->Show();
+
+       }
+}