TizenRefApp-7386 Implement hiding of message-body 84/91284/2
authorDenis Dolzhenko <d.dolzhenko@samsung.com>
Thu, 6 Oct 2016 13:01:00 +0000 (16:01 +0300)
committerDenis Dolzhenko <d.dolzhenko@samsung.com>
Thu, 6 Oct 2016 13:02:58 +0000 (16:02 +0300)
Change-Id: I4774038feb2f78a44be967aa426d5ea8df13b116
Signed-off-by: Denis Dolzhenko <d.dolzhenko@samsung.com>
res/edje/conv_layout.edc
src/Conversation/Main/Controller/inc/Conversation.h
src/Conversation/Main/Controller/src/Conversation.cpp
src/Conversation/Main/View/inc/ConversationLayout.h
src/Conversation/Main/View/src/ConversationLayout.cpp

index 380998bf561d929f764b6175a803c5f8eee57a81..eeda55ce8d6dc1c84d9792aa575d2c002f19a624 100755 (executable)
@@ -41,6 +41,13 @@ collections {
                 scale: 1;
                 description {
                     state: "default" 0.0;
+                    visible: 0;
+                    align: 0.0 0.0;
+                    rel1 {to: "rect"; relative:0.0 1.0;}
+                    rel2 {to: "rect"; relative:1.0 1.0;}
+                }
+                description {
+                    state: "show" 0.0;
                     max: -1 0;
                     align: 0.0 1.0;
                     rel1 {to: "rect"; relative:0.0 0.0;}
@@ -119,6 +126,20 @@ collections {
                     action: STATE_SET "default" 0.0;
                     target: "swl.bubble";
                 }
+                program {
+                    name: "show.msg_input_panel";
+                    signal: "show.msg_input_panel";
+                    source: "*";
+                    action: STATE_SET "show" 0.0;
+                    target: "swl.msg_input_panel";
+                }
+                program {
+                    name: "hide.msg_input_panel";
+                    signal: "hide.msg_input_panel";
+                    source: "*";
+                    action: STATE_SET "default" 0.0;
+                    target: "swl.msg_input_panel";
+                }
             }
         }
     }
index a2f803d6ebe544f5e63773b12bfd05d81ed22743..6d27c38f7219d7d8828468bb993c34a046ca72e3 100644 (file)
@@ -160,7 +160,7 @@ namespace Msg
             void destroyRecipPanel();
             void createContactList(Evas_Object *parent);
             void destroyContactList();
-            void createMsgInputPanel(Evas_Object *parent);
+            void createMsgInputPanel(Evas_Object *parent, ConvList &convList);
             void updateMsgInputPanel();
             void updateNavibar();
             void updateSelectMsgTitle();
index b902e1fe2f38ed59b8c8d274a1f45c12c1488511..16ec3697a0cedeea53caa4150c34ac1fde5a29e3 100644 (file)
@@ -183,10 +183,8 @@ void Conversation::create()
 {
     m_WorkingDir = std::make_shared<WorkingDir>();
     createMainLayout(getParent());
-    createMsgInputPanel(*m_pLayout);
     createConvList(*m_pLayout);
-    createBody(*m_pMsgInputPanel, *m_pConvList);
-    updateMsgInputPanel();
+    createMsgInputPanel(*m_pLayout, *m_pConvList);
 
     getApp().getContactManager().addListener(*this);
     getApp().getSysSettingsManager().addListener(*this);
@@ -478,26 +476,22 @@ void Conversation::destroyContactList()
     }
 }
 
-void Conversation::createMsgInputPanel(Evas_Object *parent)
+void Conversation::createMsgInputPanel(Evas_Object *parent, ConvList &convList)
 {
     if(!m_pMsgInputPanel)
     {
         m_pMsgInputPanel = new MessageInputPanel(parent);
         m_pMsgInputPanel->setListener(this);
-        m_pMsgInputPanel->show();
         m_pLayout->setMsgInputPanel(*m_pMsgInputPanel);
+        m_pLayout->showMsgInputPanel(true);
     }
-}
-
-void Conversation::createBody(Evas_Object *parent, ConvList &convList)
-{
-    assert(m_pMsgInputPanel);
-    if(!m_pBody && m_pMsgInputPanel)
+    if(!m_pBody)
     {
         m_pBody = new Body(*m_pMsgInputPanel, getApp(), m_WorkingDir, convList);
         m_pBody->setListener(this);
         m_pBody->show();
         m_pMsgInputPanel->setEntry(*m_pBody);
+        updateMsgInputPanel();
     }
 }
 
index 21bba7bc6dbd5695091527ad819ad3f82cce1904..7fd9ae14a22e9d71981bf17937dab74ad636c43f 100644 (file)
@@ -38,6 +38,7 @@ namespace Msg
             void setRecipientPanel(Evas_Object *layout);
             void setRecipientRect(Evas_Object *layout);
             void showRecipEditMode(bool show);
+            void showMsgInputPanel(bool show);
 
         private:
             void create(Evas_Object *parent);
index 540b671018ce85ed00327118a07d4aae4dc377e8..9f4bc9562eb11d38522ac2a8aee74890c80afc24 100644 (file)
@@ -74,6 +74,12 @@ void ConversationLayout::showRecipEditMode(bool show)
     emitSignal(sig, "*");
 }
 
+void ConversationLayout::showMsgInputPanel(bool show)
+{
+    const char *sig = show ? "show.msg_input_panel" : "hide.msg_input_panel";
+    emitSignal(sig, "*");
+}
+
 Evas_Object *ConversationLayout::createMainLayout(Evas_Object *parent)
 {
     Evas_Object *layout = elm_layout_add(parent);