TizenRefApp-8392 Implement "Discard message" popup 79/125079/2
authorDenis Dolzhenko <d.dolzhenko@samsung.com>
Thu, 13 Apr 2017 15:06:25 +0000 (18:06 +0300)
committerDenis Dolzhenko <d.dolzhenko@samsung.com>
Fri, 14 Apr 2017 12:09:31 +0000 (05:09 -0700)
Change-Id: I040880596432c3303f8dd7fd832a4ba2f3a6c036
Signed-off-by: Denis Dolzhenko <d.dolzhenko@samsung.com>
src/Composer/Controller/inc/MsgBodyFrame.h
src/Composer/Controller/src/MsgBodyFrame.cpp

index 19a73fdb2437ea0a26c54438ce3fc068412319f9..6cdc37d7449521adfc736158a60764ce6ecd42ff 100644 (file)
@@ -64,14 +64,15 @@ namespace Msg {
             void showMobileNetworkSettingsPopup();
             void showMmsTextLimitExceededPopup();
             void showUnableToSendMmsPopup();
+            void showDiscardMsgPopup();
 
             // Popup callback:
             void onSendingPopupDestroy(Evas *e, Evas_Object *obj, void *event_info);
-            void onCancelButtonClicked(Popup &popup);
             void onTurnOffFlightModeClicked(Popup &popup);
             void onAllowTransmissionTextLClicked(Popup &popup);
             void onEnableDataRoamingClicked(Popup &popup);
             void onMobileNetworkSettingsClicked(Popup &popup);
+            void onDiscardMsgClicked(Popup &popup);
 
             // Entry cb:
             void onEntryChanged(Evas_Object *obj, void *event);
index 94ee59ca4f2d837e203d9f5f7d11b746b3717c05..012e9c1f3b3624462b8eeb81f4a00c64a3cd56b5 100644 (file)
@@ -84,7 +84,7 @@ void MsgBodyFrame::updateTextCounter()
 
 void MsgBodyFrame::handleSendResult(const Message &msg, MsgTransport::SendResult result)
 {
-
+    // TODO: impl.
 }
 
 bool MsgBodyFrame::checkBeforeSend(const Message &msg)
@@ -191,7 +191,7 @@ void MsgBodyFrame::showDisableFlightModePopup()
 {
     auto *popup = new StandardPopup(StandardPopup::buttons2Style);
     popup->setText(msgt("WDS_MSG_POP_UNABLE_TO_SEND_MESSAGE_TURN_OFF_FLIGHT_MODE"));
-    popup->addLeftButton(CANCEL_BUTTON_POPUP, makeCbLast(&MsgBodyFrame::onCancelButtonClicked), this);
+    popup->addLeftButton(CANCEL_BUTTON_POPUP);
     popup->addRightButton(OK_BUTTON_POPUP, makeCbLast(&MsgBodyFrame::onTurnOffFlightModeClicked), this);
     popup->show();
 }
@@ -200,7 +200,7 @@ void MsgBodyFrame::showMobileNetworkSettingsPopup()
 {
     auto *popup = new StandardPopup(StandardPopup::buttons2Style);
     popup->setText(msgt("WDS_MSG_POP_UNABLE_TO_SEND_MESSAGE_CHANGE_YOUR_MOBILE_NETWORKS_SETTING"));
-    popup->addLeftButton(CANCEL_BUTTON_POPUP, makeCbLast(&MsgBodyFrame::onCancelButtonClicked), this);
+    popup->addLeftButton(CANCEL_BUTTON_POPUP);
     popup->addRightButton(OK_BUTTON_POPUP, makeCbLast(&MsgBodyFrame::onMobileNetworkSettingsClicked), this);
     popup->show();
 }
@@ -236,7 +236,7 @@ void MsgBodyFrame::showMmsTextLimitExceededPopup()
     popupMessage += msgArgs("WDS_MSG_BODY_MESSAGE_WILL_BE_SENT_AS_PD_MMS_MESSAGES_AND_1_SMS_MESSAGE", numberOfMmsMsg);
 
     popup->setText(popupMessage);
-    popup->addLeftButton(CANCEL_BUTTON_POPUP, makeCbLast(&MsgBodyFrame::onCancelButtonClicked), this);
+    popup->addLeftButton(CANCEL_BUTTON_POPUP);
     popup->addRightButton(OK_BUTTON_POPUP, makeCbLast(&MsgBodyFrame::onAllowTransmissionTextLClicked), this);
     popup->show();
 }
@@ -245,21 +245,25 @@ void MsgBodyFrame::showUnableToSendMmsPopup()
 {
     auto *popup = new StandardPopup(StandardPopup::buttons2Style);
     popup->setText(msgt("WDS_MSG_BODY_UNABLE_TO_SEND_MMS_ENABLE_DATA_ROAMING"));
-    popup->addLeftButton(CANCEL_BUTTON_POPUP, makeCbLast(&MsgBodyFrame::onCancelButtonClicked), this);
+    popup->addLeftButton(CANCEL_BUTTON_POPUP);
     popup->addRightButton(OK_BUTTON_POPUP, makeCbLast(&MsgBodyFrame::onEnableDataRoamingClicked), this);
     popup->show();
 }
 
-void MsgBodyFrame::onSendingPopupDestroy(Evas *e, Evas_Object *obj, void *event_info)
+void MsgBodyFrame::showDiscardMsgPopup()
 {
-    MSG_LOG("");
-    m_pSendingPopup = nullptr;
+    auto *popup = new StandardPopup(StandardPopup::buttons2Style);
+    popup->setDismissByPauseAppFlag(true);
+    popup->setText(msgt("WDS_MSG_POP_DISCARD_MESSAGE_Q"));
+    popup->addRightButton(OK_BUTTON_POPUP, makeCbLast(&MsgBodyFrame::onDiscardMsgClicked), this);
+    popup->addLeftButton(CANCEL_BUTTON_POPUP);
+    popup->show();
 }
 
-void MsgBodyFrame::onCancelButtonClicked(Popup &popup)
+void MsgBodyFrame::onSendingPopupDestroy(Evas *e, Evas_Object *obj, void *event_info)
 {
     MSG_LOG("");
-    popup.destroy();
+    m_pSendingPopup = nullptr;
 }
 
 void MsgBodyFrame::onTurnOffFlightModeClicked(Popup &popup)
@@ -286,6 +290,13 @@ void MsgBodyFrame::onMobileNetworkSettingsClicked(Popup &popup)
     popup.destroy();
 }
 
+void MsgBodyFrame::onDiscardMsgClicked(Popup &popup)
+{
+    MSG_LOG("");
+    popup.destroy();
+    pop();
+}
+
 void MsgBodyFrame::onAttached(ViewItem &item)
 {
     MSG_LOG("");
@@ -296,7 +307,10 @@ void MsgBodyFrame::onAttached(ViewItem &item)
 void MsgBodyFrame::onHwBackButtonPreessed(Evas_Object *obj, void *event_info)
 {
     MSG_LOG("");
-    pop();
+    if (m_pBody->getEntry().isEmpty())
+        pop();
+    else
+        showDiscardMsgPopup();
 }
 
 void  MsgBodyFrame::onEntryChanged(Evas_Object *obj, void *event)