messagingapp/msgui/msgapp/src/msgviewmanager.cpp
changeset 48 4f501b74aeb1
parent 46 b1f0785c289d
child 51 3507212d340e
--- a/messagingapp/msgui/msgapp/src/msgviewmanager.cpp	Tue Jul 13 22:09:22 2010 +0530
+++ b/messagingapp/msgui/msgapp/src/msgviewmanager.cpp	Sun Jul 25 18:59:19 2010 +0530
@@ -560,7 +560,7 @@
         mMainWindow->addView(mListView);
     }
 
-    mMainWindow->setCurrentView(mListView);
+    mMainWindow->setCurrentView(mListView,true,Hb::ViewSwitchSequential);
 }
 
 void MsgViewManager::switchToCv(const QVariantList& data)
@@ -587,6 +587,10 @@
     //delete UniEditor
     if (mUniEditor)
     {
+        // Save to drafts if CV is launched via service
+        if (mPreviousView == MsgBaseView::SERVICE) {
+            mUniEditor->saveContentToDrafts();
+        }
         appendViewToBeDeleted(mUniEditor);
         mUniEditor = NULL;
     }
@@ -627,7 +631,7 @@
         // this case comes when a message is deleted from
         // Unified viewer  set curent view as conversation view
         // and return
-        mMainWindow->setCurrentView(mConversationView);
+        mMainWindow->setCurrentView(mConversationView,true,Hb::ViewSwitchSequential);
 
 		// publish already opened conversation's id
         mConversationView->setPSCVId(true);
@@ -655,7 +659,7 @@
     }
 
     mConversationView->openConversation(conversationId);
-    mMainWindow->setCurrentView(mConversationView);
+    mMainWindow->setCurrentView(mConversationView,true,Hb::ViewSwitchSequential);
     
     QCRITICAL_WRITE("MsgViewManager::switchToCv end.");
 }
@@ -681,7 +685,7 @@
 
         mMainWindow->addView(mDraftsListView);
     }
-    mMainWindow->setCurrentView(mDraftsListView);
+    mMainWindow->setCurrentView(mDraftsListView,true,Hb::ViewSwitchSequential);
 }
 
 void MsgViewManager::switchToUniEditor(const QVariantList& data)
@@ -755,7 +759,7 @@
         }
     }
 
-    mMainWindow->setCurrentView(mUniEditor);
+    mMainWindow->setCurrentView(mUniEditor,true,Hb::ViewSwitchSequential);
     
     QCRITICAL_WRITE("MsgViewManager::switchToUniEditor end.");
 }
@@ -770,6 +774,12 @@
         return;
     }
 
+    if (mUniEditor)
+    {
+        appendViewToBeDeleted(mUniEditor);
+        mUniEditor = NULL;
+    }
+
     //Clear the old viewer data
     mViewerData.clear();
     
@@ -804,7 +814,7 @@
         mConversationView->setPSCVId(false);
         }
 
-    mMainWindow->setCurrentView(mUniViewer);
+    mMainWindow->setCurrentView(mUniViewer,true,Hb::ViewSwitchSequential);
 }
 void MsgViewManager::switchToMsgSettings(const QVariantList& data)
 {
@@ -868,28 +878,28 @@
         case MsgBaseView::CLV:
         {
             if (mListView)
-                mMainWindow->setCurrentView(mListView);
+                mMainWindow->setCurrentView(mListView,true,Hb::ViewSwitchSequential);
             break;
         }
         case MsgBaseView::CV:
         {
             if (mConversationView)
-                mMainWindow->setCurrentView(mConversationView);
+                mMainWindow->setCurrentView(mConversationView,true,Hb::ViewSwitchSequential);
             break;
         }
         case MsgBaseView::DLV:
         {
             if (mDraftsListView)
-                mMainWindow->setCurrentView(mDraftsListView);
+                mMainWindow->setCurrentView(mDraftsListView,true,Hb::ViewSwitchSequential);
             break;
         }
         case MsgBaseView::UNIEDITOR:
         {
             if (mServiceRequest) {
-                mMainWindow->setCurrentView(mUniEditor);
+                mMainWindow->setCurrentView(mUniEditor,true,Hb::ViewSwitchSequential);
             }
             else {
-                mMainWindow->setCurrentView(mUniEditor);
+                mMainWindow->setCurrentView(mUniEditor,true,Hb::ViewSwitchSequential);
             }
             break;
         }
@@ -958,7 +968,7 @@
     }
     mUniViewer->populateContent(msgId, true, -1);
 
-    mMainWindow->setCurrentView(mUniViewer);
+    mMainWindow->setCurrentView(mUniViewer,true,Hb::ViewSwitchSequential);
 }
 
 // ----------------------------------------------------------------------------
@@ -1144,7 +1154,7 @@
         }
 
     mMainWindow->addView(mAudioFetcherView);
-    mMainWindow->setCurrentView(mAudioFetcherView);
+    mMainWindow->setCurrentView(mAudioFetcherView,true,Hb::ViewSwitchSequential);
     }
 
 // ----------------------------------------------------------------------------
@@ -1203,7 +1213,8 @@
     
     // set the current view
     mCurrentView = MsgBaseView::UNIEDITOR;
-    mMainWindow->setCurrentView(mUniEditor);
+    mPreviousView =MsgBaseView::CLV;
+    mMainWindow->setCurrentView(mUniEditor,true,Hb::ViewSwitchSequential);
 }
 
 // ----------------------------------------------------------------------------