Nabi issues 40915 resolution
authorchitta ranjan <chitta.rs@samsung.com>
Fri, 28 Jun 2013 09:01:59 +0000 (18:01 +0900)
committerchitta ranjan <chitta.rs@samsung.com>
Fri, 28 Jun 2013 09:01:59 +0000 (18:01 +0900)
Change-Id: I141457dc09251093bdeabde2de7b2c36ac97f42e
Signed-off-by: chitta ranjan <chitta.rs@samsung.com>
src/MsgComposerForm.cpp
src/MsgConversationForm.cpp

index 55bd080..7512f99 100644 (file)
@@ -594,6 +594,7 @@ ComposerForm::OnSendButtonClick(void)
                                        if (!__isLaunchedAsForward)
                                        {
                                                ArrayList* pArgList = new (std::nothrow) ArrayList();
+                                               pArgList->Construct();
                                                ThreadData* pThreadData = pMsgPrModel->GetThreadDataByIdN(threadId);
                                                pArgList->Add(pThreadData);
                                                pSceneManager->GoForward(ForwardSceneTransition(IDSCN_CONVERSATION_LIST,
@@ -602,8 +603,13 @@ ComposerForm::OnSendButtonClick(void)
                                        else
                                        {
                                                __isLaunchedAsForward = false;
+                                               ArrayList* pArgList = new (std::nothrow) ArrayList();
+                                               pArgList->Construct();
+                                               ThreadData* pThreadData = pMsgPrModel->GetThreadDataByIdN(threadId);
+                                               pArgList->Add(pThreadData);
+                                               pArgList->Add(new Boolean(true));
                                                //TODO: Go Backward well enough back to previous screen.
-                                               pSceneManager->GoBackward(BackwardSceneTransition(), null);
+                                               pSceneManager->GoBackward(BackwardSceneTransition(), pArgList);
                                        //      pSceneManager->GoForward(ForwardSceneTransition(IDSCN_CONVERSATION_LIST,
                                //                              SCENE_TRANSITION_ANIMATION_TYPE_NONE, SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY), null);
                                        }
index 0e818cb..50fe7a1 100644 (file)
@@ -492,6 +492,7 @@ ConversationForm::OnSceneActivatedN(const SceneId& previousSceneId,
                                                                        const SceneId& currentSceneId, IList* pArgs)
 {
        AppLogDebug("ENTER");
+       bool bIsMsgForward = false;
        if(!IsEnabled())
        {
                SetEnabled(true);
@@ -499,11 +500,18 @@ ConversationForm::OnSceneActivatedN(const SceneId& previousSceneId,
        SetFocus();
        if (pArgs)
        {
-               if (__pCurrentThreadEntry)
+               if (pArgs->GetCount() == 1)
                {
-                       delete __pCurrentThreadEntry;
+                       if (__pCurrentThreadEntry)
+                       {
+                               delete __pCurrentThreadEntry;
+                       }
+                       __pCurrentThreadEntry = static_cast<ThreadData*>(pArgs->GetAt(0));
+               }
+               else if (pArgs->GetCount() == 2)
+               {
+                       bIsMsgForward = static_cast<Boolean*>(pArgs->GetAt(1))->ToBool();
                }
-               __pCurrentThreadEntry = static_cast<ThreadData*>(pArgs->GetAt(0));
                pArgs->RemoveAll();
                delete pArgs;
        }
@@ -532,13 +540,17 @@ ConversationForm::OnSceneActivatedN(const SceneId& previousSceneId,
        {
                __pConvMessageList->ScrollToItem(lastGroupIndex, listItemCount - 1, TABLE_VIEW_SCROLL_ITEM_ALIGNMENT_BOTTOM);
        }
+
        // Prepare contact list
-       if(__pContactDetails)
+       if(previousSceneId != IDSCN_COMPOSER && !bIsMsgForward)
        {
-               delete __pContactDetails;
-               __pContactDetails = null;
+               if(__pContactDetails)
+               {
+                       delete __pContactDetails;
+                       __pContactDetails = null;
+               }
+               PrepareContactList();
        }
-       PrepareContactList();
        SetHeader();
 //     if (__pMsgComposePanel)
 //     {