/**
* @brief Shows view.
+ * @param[in] value - true show, false - otherwise
*/
- void show();
-
- /**
- * @brief Hides view.
- */
- void hide();
-
- /**
- * @brief Manages view's visibility.
- * @param[in] show if true shows view, otherwise hides it.
- */
- void setVisibility(bool show);
+ void show(bool value = true);
/**
* @brief Moves view to specified Evas-coordinates.
return evas_object_visible_get(m_pEo);
}
- inline void View::show()
- {
- evas_object_show(m_pEo);
- }
-
- inline void View::hide()
- {
- evas_object_hide(m_pEo);
- }
-
- inline void View::setVisibility(bool show)
+ inline void View::show(bool value)
{
- if(show)
- View::show();
- else
- hide();
+ value ? evas_object_show(m_pEo) : evas_object_hide(m_pEo);
}
inline void View::setSizeHintWeight(double x, double y)
Conversation::Conversation(NaviFrameController &parent)
: FrameController(parent)
, m_Mode(InitMode)
+ , m_DeleteMode(false)
, m_pLayout(nullptr)
, m_pMsgInputPanel(nullptr)
, m_pBody(nullptr)
void Conversation::execCmd(const AppControlComposeRef &cmd)
{
getApp().getPopupManager().reset();
+ setDeleteMode(false);
if(!isRecipExists() && !isBodyEmpty() && m_Mode == NewMessageMode) // Check if we can save draft to avoid losing data
{
m_DefferedCmd.composeCmd = cmd;
void Conversation::execCmd(const AppControlDefaultRef &cmd)
{
+ getApp().getPopupManager().reset();
+ setDeleteMode(false);
if(!isRecipExists() && !isBodyEmpty() && m_Mode == NewMessageMode) // Check if we can save draft to avoid losing data
{
m_DefferedCmd.defaultCmd = cmd;
return;
}
- getApp().getPopupManager().reset();
MsgId msgId = cmd->getMessageId();
setThreadId(getMsgEngine().getStorage().getMessage(msgId)->getThreadId());
if(msgId.isValid())
showContactList(false);
}
+void Conversation::setDeleteMode(bool value)
+{
+ if(m_DeleteMode == value)
+ return;
+
+ m_DeleteMode = value;
+ updateNavibar();
+ showMsgInputPanelIfNeeded(!value);
+
+ if(value)
+ {
+ if (m_AttachPanel.isFullExpanded())
+ m_AttachPanel.show(false);
+ m_pConvList->setMode(ConvList::SelectMode);
+ }
+ else
+ {
+ m_pConvList->setMode(ConvList::NormalMode);
+ }
+}
+
void Conversation::createMainLayout()
{
m_pLayout = new ConversationLayout(getParent());
void Conversation::showMsgInputPanelIfNeeded(bool show)
{
if(show && !isHiddenAddress())
- {
createMsgInputPanel();
- if(m_pBody)
- m_pBody->show();
- if(m_pMsgInputPanel)
- m_pMsgInputPanel->show();
- }
- else
- {
- if(m_pBody)
- m_pBody->hide();
- if(m_pMsgInputPanel)
- m_pMsgInputPanel->hide();
- }
+ if(m_pBody)
+ m_pBody->show(show);
+ if(m_pMsgInputPanel)
+ m_pMsgInputPanel->show(show);
m_pLayout->showMsgInputPanel(show);
- if(m_pConvList)
- m_pConvList->getComposeItem().show(show);
}
void Conversation::write(const Message &msg)
}
else if(m_Mode == ConversationMode)
{
- if(m_pConvList->getMode() == ConvList::SelectMode)
+ if(m_DeleteMode)
{
updateSelectMsgTitle();
naviBar.showButton(NaviCancelButtonId, true);
void Conversation::updateSelectMsgTitle()
{
- if(m_pConvList && m_pConvList->getMode() == ConvList::SelectMode)
+ if(m_pConvList && m_DeleteMode)
{
int checked = m_pConvList->getMessageCheckedCount();
if(checked > 0)
void Conversation::onHwBackButtonClicked()
{
MSG_LOG("");
- if(m_pConvList && m_pConvList->getMode() == ConvList::SelectMode)
+ if(m_DeleteMode)
{
- m_pConvList->setMode(ConvList::NormalMode);
- updateNavibar();
- showMsgInputPanelIfNeeded(true);
+ setDeleteMode(false);
return;
}
void Conversation::onHwMoreButtonClicked()
{
MSG_LOG("");
- if(m_Mode == ConversationMode && m_pConvList->getMode() == ConvList::NormalMode)
+ if(m_Mode == ConversationMode && !m_DeleteMode)
showMainPopup();
}
void Conversation::onNaviOkButtonClicked()
{
MSG_LOG("");
- if(m_Mode == ConversationMode && m_pConvList->getMode() == ConvList::SelectMode)
+ if(m_Mode == ConversationMode && m_DeleteMode)
{
m_pConvList->deleteSelectedItems();
- m_pConvList->setMode(ConvList::NormalMode);
- updateNavibar();
- showMsgInputPanelIfNeeded(true);
+ setDeleteMode(false);
}
}
{
MSG_LOG("");
item.getParent().destroy();
- if (m_AttachPanel.isFullExpanded())
- m_AttachPanel.show(false);
- m_pConvList->setMode(ConvList::SelectMode);
- updateNavibar();
- showMsgInputPanelIfNeeded(false);
+ setDeleteMode(true);
}
void Conversation::onAddRecipientsItemPressed(PopupListItem &item)