Fixed issue 36871
authorHimanshu Talwar <himanshu.t@samsung.com>
Mon, 29 Apr 2013 12:10:04 +0000 (17:40 +0530)
committerHimanshu Talwar <himanshu.t@samsung.com>
Mon, 29 Apr 2013 12:10:04 +0000 (17:40 +0530)
Change-Id: I16bfb93a4e7ad89234bd601263e14bee0858b7e5
Signed-off-by: Himanshu Talwar <himanshu.t@samsung.com>
inc/GlAlbumNameEditorForm.h
src/GlAlbumNameEditorForm.cpp

index 52ab710..e28e4ff 100644 (file)
@@ -22,6 +22,7 @@
 #ifndef _GL_ALBUM_NAME_EDITOR_FORM_H_
 #define _GL_ALBUM_NAME_EDITOR_FORM_H_
 
+#include <FSystem.h>
 #include "GlAlbumRenameEventListener.h"
 #include "GlBaseForm.h"
 #include "GlFileOpInvalidateListener.h"
@@ -38,6 +39,7 @@ class AlbumNameEditorForm
        , public IFormContentUpdateEventListener
        , public IFileOpInvalidateListener
        , public Tizen::Ui::IActionEventListener
+       , public Tizen::System::IDeviceEventListener
        , public Tizen::Ui::ITextEventListener
        , public Tizen::Ui::Controls::IFormBackEventListener
        , public Tizen::Ui::Scenes::ISceneEventListener
@@ -67,6 +69,7 @@ public:
        virtual void OnFileOpInvalidate(enum FileActionMode actionId);
        virtual void OnFileOpComplete(enum FileActionMode actionId, enum FileActionCompleteRes);
 
+       virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
        virtual void OnAlbumRenameComplete(void);
 
 private:
@@ -80,6 +83,7 @@ private:
        Tizen::Base::String __nameEditFieldTempText;
        Tizen::Base::String __originalText;
        int __folderIndex;
+       bool __mountState;
        AlbumNameEditorMode __albumNameEditorMode;
        Tizen::Ui::Scenes::SceneId __callerSceneId;
        Tizen::Ui::Scenes::SceneId __previousSceneId;
index 29e5d43..0867a23 100644 (file)
@@ -50,6 +50,7 @@ static const int ALBUM_MAX_LENGTH = 255;
 AlbumNameEditorForm::AlbumNameEditorForm(void)
        : __pNameEditField(null)
        , __folderIndex(0)
+       , __mountState(false)
        , __albumNameEditorMode(ALBUM_NAME_EDITOR_MODE_RENAME)
        , __pMessageBox(null)
        , __pMoveIndexList(null)
@@ -88,6 +89,7 @@ AlbumNameEditorForm::OnInitializing(void)
        AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
        __pFilePresentationModel = FileListPresentationModel::GetInstance();
 
+       DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
        Header* pHeader = GetHeader();
 
        pHeader->SetStyle(HEADER_STYLE_TITLE);
@@ -555,7 +557,33 @@ AlbumNameEditorForm::OnContentUpdated(void)
 {
        AppLogDebug("ENTER");
 
-       SceneManager* pSceneManager = SceneManager::GetInstance();
-       pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST));
+       if ( __mountState == false )
+       {
+               SceneManager* pSceneManager = SceneManager::GetInstance();
+               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST));
+               AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+       }
+       else
+       {
+               __mountState = false;
+       }
+}
+
+void
+AlbumNameEditorForm::OnDeviceStateChanged(DeviceType deviceType, const Tizen::Base::String& state)
+{
+       AppLogDebug("ENTER");
+
+       if (deviceType == DEVICE_TYPE_STORAGE_CARD && state == DEVICE_STORAGE_CARD_UNMOUNTED)
+       {
+               __mountState = false;
+               SceneManager* pSceneManager = SceneManager::GetInstance();
+               pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST));
+               AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+       }
+       else
+       {
+               __mountState = true;
+       }
        AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
 }