diff -r b1f0785c289d -r 4f501b74aeb1 messagingapp/msgui/msgapp/src/msgviewmanager.cpp --- 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); } // ----------------------------------------------------------------------------