Supports hardware back key on popups.
authorChangyong Jeon <fin10.jeon@samsung.com>
Wed, 3 Jul 2013 08:24:08 +0000 (17:24 +0900)
committerChangyong Jeon <fin10.jeon@samsung.com>
Wed, 3 Jul 2013 08:24:08 +0000 (17:24 +0900)
Change-Id: I6d12815d68d768462f0d282960bc124354c85cc8

Installer/inc/IstInstalledPopup.h
Installer/src/IstInstalledPopup.cpp

index 237f185..d89412d 100644 (file)
@@ -28,6 +28,7 @@
 class InstalledPopup
        : public Tizen::Ui::Controls::Popup
        , public virtual Tizen::Ui::IActionEventListener
+       , public virtual Tizen::Ui::IPropagatedKeyEventListener
 {
 public:
        InstalledPopup();
@@ -40,7 +41,10 @@ public:
        virtual result OnTerminating(void);
 
        virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
-
+       virtual bool OnKeyPressed(Tizen::Ui::Control &source, const Tizen::Ui::KeyEventInfo &keyEventInfo){return false;};
+       virtual bool OnKeyReleased(Tizen::Ui::Control &source, const Tizen::Ui::KeyEventInfo &keyEventInfo);
+       virtual bool OnPreviewKeyPressed(Tizen::Ui::Control &source, const Tizen::Ui::KeyEventInfo &keyEventInfo){return false;};
+       virtual bool OnPreviewKeyReleased(Tizen::Ui::Control &source, const Tizen::Ui::KeyEventInfo &keyEventInfo){return false;};
 private:
        Tizen::Ui::Control* __pTarget;
        Tizen::Base::String __installMessage;
index 962b589..a59c3a7 100644 (file)
@@ -82,6 +82,7 @@ result
 InstalledPopup::OnInitializing(void)
 {
        AppLogDebug("Enter");
+       SetPropagatedKeyEventListener(this);
 
        Label* pMessage = static_cast<Label*>(GetControl(IDC_LABEL_MESSAGE));
        pMessage->SetText(__installMessage);
@@ -108,6 +109,7 @@ result
 InstalledPopup::OnTerminating(void)
 {
        AppLogDebug("Enter");
+       SetPropagatedKeyEventListener(null);
        return E_SUCCESS;
 }
 
@@ -121,3 +123,19 @@ InstalledPopup::OnActionPerformed(const Control& source, int actionId)
                __pTarget->SendUserEvent(actionId, null);
        }
 }
+
+bool
+InstalledPopup::OnKeyReleased(Tizen::Ui::Control &source, const Tizen::Ui::KeyEventInfo &keyEventInfo)
+{
+       AppLogDebug("%d", keyEventInfo.GetKeyCode());
+       if (keyEventInfo.GetKeyCode() == KEY_BACK)
+       {
+               SetShowState(false);
+               if (__pTarget)
+               {
+                       __pTarget->SendUserEvent(IDA_BUTTON_CANCEL, null);
+               }
+       }
+
+       return false;
+}