From 7b070c46fd8818ead5862b01dc87337d5d1230e6 Mon Sep 17 00:00:00 2001 From: Abhismita Ghosh Date: Tue, 9 Jul 2013 21:10:59 +0900 Subject: [PATCH] Back event changes Change-Id: I2c4f7d099d88e486605a683f0bd465baae9129e6 --- inc/GlGalleryApp.h | 3 +++ inc/GlMainFrame.h | 5 +++++ src/GlAlbumListForm.cpp | 2 +- src/GlGalleryApp.cpp | 13 +++++++++++++ src/GlMainFrame.cpp | 14 ++++++++++++++ src/GlSettingMainForm.cpp | 2 +- 6 files changed, 37 insertions(+), 2 deletions(-) diff --git a/inc/GlGalleryApp.h b/inc/GlGalleryApp.h index 3d8f2a5..d34502d 100644 --- a/inc/GlGalleryApp.h +++ b/inc/GlGalleryApp.h @@ -60,6 +60,8 @@ public: virtual void OnSettingChanged(Tizen::Base::String& key); void SetFrameEnabled(const bool enabled); + void SetFrameActivated(bool frameActivated); + bool GetFrameActivated(void) const; bool IsHwKeySupported(void); @@ -70,6 +72,7 @@ private: Tizen::Base::String __mimeType; const Tizen::Base::Collection::HashMap* __pArguments; Tizen::App::AppCtrlResult __appControlResult; + bool __frameActivated; }; #endif /* _GL_GALLERY_APP_H_ */ diff --git a/inc/GlMainFrame.h b/inc/GlMainFrame.h index d2553ad..f18ca45 100644 --- a/inc/GlMainFrame.h +++ b/inc/GlMainFrame.h @@ -24,6 +24,7 @@ class MainFrame : public Tizen::Ui::Controls::Frame + , public Tizen::Ui::Controls::IFrameEventListener { public: MainFrame(void); @@ -31,6 +32,10 @@ public: virtual result OnInitializing(void); virtual result OnTerminating(void); + + virtual void OnFrameActivated(const Tizen::Ui::Controls::Frame& source); + virtual void OnFrameDeactivated(const Tizen::Ui::Controls::Frame& source){} + virtual void OnFrameTerminating(const Tizen::Ui::Controls::Frame& source){} }; #endif /* _GL_MAIN_FRAME_H_ */ diff --git a/src/GlAlbumListForm.cpp b/src/GlAlbumListForm.cpp index c7129b8..56dfba2 100644 --- a/src/GlAlbumListForm.cpp +++ b/src/GlAlbumListForm.cpp @@ -373,7 +373,7 @@ AlbumListForm::OnFormBackRequested(Form& source) { AppLogDebug("APP_CONTROL_MODE_PICK"); GalleryApp* pApp = dynamic_cast(UiApp::GetInstance()); - if (pApp != null) + if (pApp != null && pApp->GetFrameActivated() == true) { if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK) { diff --git a/src/GlGalleryApp.cpp b/src/GlGalleryApp.cpp index d7da34c..398d3d8 100644 --- a/src/GlGalleryApp.cpp +++ b/src/GlGalleryApp.cpp @@ -42,6 +42,7 @@ GalleryApp::GalleryApp(void) : __requestId(0) , __pArguments(null) , __appControlResult(APP_CTRL_RESULT_SUCCEEDED) + , __frameActivated(false) { AppLogDebug("ENTER"); AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult())); @@ -242,6 +243,18 @@ GalleryApp::SetFrameEnabled(const bool enabled) } } +void +GalleryApp::SetFrameActivated(bool frameActivated) +{ + __frameActivated = frameActivated; +} + +bool +GalleryApp::GetFrameActivated(void) const +{ + return __frameActivated; +} + bool GalleryApp::IsHwKeySupported(void) { diff --git a/src/GlMainFrame.cpp b/src/GlMainFrame.cpp index adc836b..8fdd34b 100644 --- a/src/GlMainFrame.cpp +++ b/src/GlMainFrame.cpp @@ -52,6 +52,8 @@ MainFrame::OnInitializing(void) static FormFactory formFactory; static PanelFactory panelFactory; + AddFrameEventListener(*this); + SceneManager* pSceneManager = SceneManager::GetInstance(); r = pSceneManager->RegisterFormFactory(formFactory); @@ -110,3 +112,15 @@ MainFrame::OnTerminating(void) return E_SUCCESS; } + +void +MainFrame::OnFrameActivated(const Frame& source) +{ + AppLogDebug("OnFrameActivated"); + + GalleryApp* pGalleryApp = static_cast(GalleryApp::GetInstance()); + if (pGalleryApp != null) + { + pGalleryApp->SetFrameActivated(true); + } +} diff --git a/src/GlSettingMainForm.cpp b/src/GlSettingMainForm.cpp index ede10df..512e62e 100644 --- a/src/GlSettingMainForm.cpp +++ b/src/GlSettingMainForm.cpp @@ -131,7 +131,7 @@ SettingMainForm::OnFormBackRequested(Form& source) GalleryApp* pApp = dynamic_cast(UiApp::GetInstance()); if (pApp != null) { - if (pApp->GetAppControlOperationId() == APPCONTROL_OPERATION_ID_CONFIGURE) + if (pApp->GetAppControlOperationId() == APPCONTROL_OPERATION_ID_CONFIGURE && pApp->GetFrameActivated() == true) { pApp->SendAppControlResult(APP_CTRL_RESULT_TERMINATED, null); pApp->Terminate(); -- 2.7.4