(Builder) Enabled Quitting functionality via scripting 46/27246/1
authorAdeel Kazmi <adeel.kazmi@samsung.com>
Mon, 8 Sep 2014 16:15:15 +0000 (17:15 +0100)
committerAdeel Kazmi <adeel.kazmi@samsung.com>
Mon, 8 Sep 2014 16:15:15 +0000 (17:15 +0100)
Change-Id: I00f7d809e7f0b409813420e0fda539a64d0659de

examples/builder/dali-builder.cpp
examples/builder/examples.cpp

index 100924a14722ec917875b46e9ad1b2712264726e..246daabcbf3bed724a59a0ff5cf6e1abc0a761a4 100644 (file)
@@ -196,6 +196,7 @@ private:
     Stage stage = Stage::GetCurrent();
 
     builder = Builder::New();
+    builder.QuitSignal().Connect( this, &ExampleApp::OnBuilderQuit );
 
     PropertyValueMap defaultDirs;
     defaultDirs[ TOKEN_STRING(DALI_IMAGE_DIR) ]  = DALI_IMAGE_DIR;
@@ -281,6 +282,11 @@ private:
     }
   }
 
+  void OnBuilderQuit()
+  {
+    mApp.Quit();
+  }
+
   Builder mBuilder;
 };
 
index b2c1106fd3b288931d15b8f58b1bcda5b73c5539..eaa59396e9f8b626de9c476ff7a785c01914b100 100644 (file)
@@ -431,6 +431,7 @@ public:
     Stage stage = Stage::GetCurrent();
 
     builder = Builder::New();
+    builder.QuitSignal().Connect( this, &ExampleApp::OnBuilderQuit );
 
     PropertyValueMap defaultDirs;
     defaultDirs[ TOKEN_STRING(DALI_IMAGE_DIR) ]  = DALI_IMAGE_DIR;
@@ -578,6 +579,21 @@ public:
     }
   }
 
+  /**
+   * Event handler when Builder wants to quit (we only want to close the shown json unless we're at the top-level)
+   */
+  void OnBuilderQuit()
+  {
+    if ( mItemView.IsVisible() )
+    {
+      mApp.Quit();
+    }
+    else
+    {
+      EnterSelection();
+    }
+  }
+
 private:
   Application& mApp;