messagingapp/msgui/unifiedviewer/src/unifiedviewer.cpp
changeset 41 25fe1fe642e3
parent 37 518b245aa84c
child 48 4f501b74aeb1
--- a/messagingapp/msgui/unifiedviewer/src/unifiedviewer.cpp	Tue Jul 06 22:50:16 2010 +0530
+++ b/messagingapp/msgui/unifiedviewer/src/unifiedviewer.cpp	Fri Jul 09 14:46:10 2010 +0530
@@ -114,11 +114,15 @@
     }
     else
     {
-        toolbar->addAction(HbIcon(REPLY_ICON), "");
+        // do not show reply option for multi recipient outgoing message
+        if(!(!mViewFeeder->isIncoming() && mViewFeeder->recipientCount()>1))
+        {
+            toolbar->addAction(HbIcon(REPLY_ICON), "", this, SLOT(handleReplyAction()));
+        }
 
         if (mViewFeeder->recipientCount() > 1)
         {
-            toolbar->addAction(HbIcon(REPLY_ALL_ICON), "");
+            toolbar->addAction(HbIcon(REPLY_ALL_ICON), "", this, SLOT(handleReplyAllAction()));
         }
     }
 
@@ -192,32 +196,26 @@
 // @see header file
 //---------------------------------------------------------------
 void UnifiedViewer::handleFwdAction()
-{
-    ConvergedMessage message;
-    ConvergedMessageId id(mMessageId);
-    message.setMessageId(id);
-    if(mViewFeeder->msgType() == KSenduiMtmMmsUidValue)
-    {
-        message.setMessageType(ConvergedMessage::Mms);
-    }
-    else
-    {
-        message.setMessageType(ConvergedMessage::Sms);    
-    }
+{    
+    launchEditor(MsgBaseView::FORWARD_MSG);
+}
 
-    QByteArray dataArray;
-    QDataStream messageStream
-    (&dataArray, QIODevice::WriteOnly | QIODevice::Append);
-    message.serialize(messageStream);
+//---------------------------------------------------------------
+// UnifiedViewer::handleReplyAction
+// @see header file
+//---------------------------------------------------------------
+void UnifiedViewer::handleReplyAction()
+{
+    launchEditor(MsgBaseView::REPLY_MSG); 
+}
 
-    QVariantList params;
-    params << MsgBaseView::UNIEDITOR; // target view
-    params << MsgBaseView::UNIVIEWER; // source view
-
-    params << dataArray;
-    params << MsgBaseView::FORWARD_MSG;
-        
-    emit switchView(params);
+//---------------------------------------------------------------
+// UnifiedViewer::handleReplyAllAction
+// @see header file
+//---------------------------------------------------------------
+void UnifiedViewer::handleReplyAllAction()
+{
+    launchEditor(MsgBaseView::REPLY_ALL_MSG);
 }
 
 //---------------------------------------------------------------
@@ -297,4 +295,38 @@
     }
 }
 
+//---------------------------------------------------------------
+// UnifiedViewer::launchEditor
+// @see header file
+//---------------------------------------------------------------
+void UnifiedViewer::launchEditor(
+        MsgBaseView::UniEditorOperation operation)
+{
+    ConvergedMessage message;
+    ConvergedMessageId id(mMessageId);
+    message.setMessageId(id);
+    if(mViewFeeder->msgType() == KSenduiMtmMmsUidValue)
+    {
+        message.setMessageType(ConvergedMessage::Mms);
+    }
+    else
+    {
+        message.setMessageType(ConvergedMessage::Sms);    
+    }
+
+    QByteArray dataArray;
+    QDataStream messageStream
+    (&dataArray, QIODevice::WriteOnly | QIODevice::Append);
+    message.serialize(messageStream);
+
+    QVariantList params;
+    params << MsgBaseView::UNIEDITOR; // target view
+    params << MsgBaseView::UNIVIEWER; // source view
+
+    params << dataArray;
+    params << operation;
+        
+    emit switchView(params);
+}
+
 // EOF