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;}
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";
+ }
}
}
}
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();
{
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);
}
}
-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();
}
}
void setRecipientPanel(Evas_Object *layout);
void setRecipientRect(Evas_Object *layout);
void showRecipEditMode(bool show);
+ void showMsgInputPanel(bool show);
private:
void create(Evas_Object *parent);
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);