deactivate menu when back key is pressed 32/63732/2
authorHermet Park <hermet@hermet.pe.kr>
Fri, 25 Mar 2016 10:55:16 +0000 (19:55 +0900)
committerHermet Park <hermet@hermet.pe.kr>
Fri, 25 Mar 2016 10:56:37 +0000 (19:56 +0900)
Change-Id: I6268d013138a720e817ea356db715e7d59f9cf20

src/include/efl/mobile/ui_view.h
src/include/efl/ui_base_view.h
src/lib/efl/mobile/ui_view.cpp

index 0821e77..e3a1ccf 100644 (file)
@@ -43,6 +43,7 @@ protected:
        virtual void on_menu();
        virtual void unload_content();
        virtual void set_event_block(bool block);
+       virtual void on_back();
 
 public:
        ui_view(ui_controller *controller, const char *name = NULL);
index 904a303..6f23264 100644 (file)
@@ -66,6 +66,18 @@ protected:
         */
        virtual void set_event_block(bool block);
 
+       /** @brief This is for calling controller's rotate method.
+        */
+       virtual void on_rotate(int degree);
+
+       /** @brief This is for calling controller's portrait method.
+        */
+       virtual void on_portrait();
+
+       /** @brief This is for calling controller's landscape method.
+        */
+       virtual void on_landscape();
+
 public:
        ///Constructor.
        ui_base_view(ui_base_controller *controller, const char *name = NULL);
@@ -95,19 +107,9 @@ public:
 
        /** @brief This is for calling controller's back method.
         */
+       //FIXME: public?
        virtual void on_back();
 
-       /** @brief This is for calling controller's rotate method.
-        */
-       virtual void on_rotate(int degree);
-
-       /** @brief This is for calling controller's portrait method.
-        */
-       virtual void on_portrait();
-
-       /** @brief This is for calling controller's landscape method.
-        */
-       virtual void on_landscape();
        /** @brief Set the indicator mode.
         *
         *  @param indicator The mode to set, one of #ui_base_view_indicator.
index 0a20510..5788c1e 100644 (file)
@@ -114,6 +114,19 @@ bool ui_view::create_layout()
        return true;
 }
 
+void ui_view::on_back()
+{
+       if (this->menu)
+       {
+               if (this->menu->is_activated())
+               {
+                       this->menu->deactivate();
+                       return;
+               }
+       }
+       ui_base_view ::on_back();
+}
+
 ui_view::ui_view(ui_controller *controller, const char *name)
                : ui_base_view(controller, name), layout(NULL), menu(NULL)
 {