messagingapp/msgui/msgapp/src/msgviewmanager.cpp
author hgs
Sun, 25 Jul 2010 18:59:19 +0530
changeset 48 4f501b74aeb1
parent 46 b1f0785c289d
child 51 3507212d340e
permissions -rw-r--r--
201029_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
 * All rights reserved.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
 *
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
 * Initial Contributors:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
 *
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
 * Contributors:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
 *
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
 * Description:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
 * class to manage differnt messaging views.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
 *
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
 */
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
#include "msgviewmanager.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
#include <HbMainWindow>
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
#include <HbAction>
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include <xqserviceutil.h>
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include <QSqlQuery>
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include <QSqlError>
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#include <HbApplication>
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    27
#include <xqappmgr.h>
37
hgs
parents: 25
diff changeset
    28
#include <hbmessagebox.h>
hgs
parents: 25
diff changeset
    29
#include <HbView>
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
#include "conversationsengine.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
#include "msglistview.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
#include "msgunieditorview.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
#include "msgconversationbaseview.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
#include "unifiedviewer.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
#include "draftslistview.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
#include "msgsettingsview.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
#include "convergedmessageid.h"
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    39
#include "ringbc.h"
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    40
#include "unidatamodelloader.h"
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    41
#include "unidatamodelplugininterface.h"
37
hgs
parents: 25
diff changeset
    42
#include "msgcontacthandler.h"
hgs
parents: 25
diff changeset
    43
#include "debugtraces.h"
hgs
parents: 25
diff changeset
    44
#include "msgaudiofetcherview.h"
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
// LOCALIZATION
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    47
#define LOC_DELETE_MESSAGE hbTrId("txt_messaging_dialog_delete_message")
37
hgs
parents: 25
diff changeset
    48
#define LOC_DIALOG_SAVE_RINGTONE hbTrId("txt_conversations_dialog_save_ringing_tone")
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
const qint64 NULL_CONVERSATIONID = -1;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
37
hgs
parents: 25
diff changeset
    52
MsgViewManager::MsgViewManager(bool serviceRequest, HbMainWindow* mainWindow, QObject* parent,int activityMsgId) :
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    53
    QObject(parent), mMainWindow(mainWindow), mUniEditor(0), mListView(0), mConversationView(0),
37
hgs
parents: 25
diff changeset
    54
        mUniViewer(0), mDraftsListView(0), mSettingsView(0), mAudioFetcherView(0), mBackAction(0),
hgs
parents: 25
diff changeset
    55
        mServiceRequest(serviceRequest), mConversationId(-1), mViewServiceRequest(false),mMessageId(-1)
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
    //creating back action.
37
hgs
parents: 25
diff changeset
    58
    mBackAction = new HbAction(Hb::BackNaviAction, this);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
    connect(mBackAction, SIGNAL(triggered()), this, SLOT(onBackAction()));
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
    //create clv as first view if not a service request.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
    if (!mServiceRequest) {
37
hgs
parents: 25
diff changeset
    63
    
hgs
parents: 25
diff changeset
    64
    if(activityMsgId == NULL_CONVERSATIONID)
hgs
parents: 25
diff changeset
    65
        {
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
        QVariantList param;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    67
        param << MsgBaseView::CLV;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    68
        param << MsgBaseView::CLV;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    69
        switchView(param);
37
hgs
parents: 25
diff changeset
    70
        }
hgs
parents: 25
diff changeset
    71
    else 
hgs
parents: 25
diff changeset
    72
        {
hgs
parents: 25
diff changeset
    73
        openUniEditorActivity(activityMsgId);
hgs
parents: 25
diff changeset
    74
        }
hgs
parents: 25
diff changeset
    75
    }
hgs
parents: 25
diff changeset
    76
    else
hgs
parents: 25
diff changeset
    77
    {
hgs
parents: 25
diff changeset
    78
        mDummyview = new HbView();
hgs
parents: 25
diff changeset
    79
        mMainWindow->addView(mDummyview);
hgs
parents: 25
diff changeset
    80
        mMainWindow->setCurrentView(mDummyview);
hgs
parents: 25
diff changeset
    81
        mViewTobeDeleted << mDummyview;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    82
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    83
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    84
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
MsgViewManager::~MsgViewManager()
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    87
    // TODO Auto-generated destructor stub
37
hgs
parents: 25
diff changeset
    88
    mEditorData.clear();
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    91
void MsgViewManager::onBackAction()
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    92
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    93
    switch (mCurrentView) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    94
    case MsgBaseView::CLV:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    95
    {
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    96
        // if its viewer service then quit the application
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    97
        if (mViewServiceRequest) {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    98
            HbApplication::quit();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    99
            break;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   100
        }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   101
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   102
        if (!mServiceRequest) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   103
            HbApplication::quit();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
        else {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
            completeServiceRequest();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   108
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
        break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   110
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   111
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
    case MsgBaseView::CV:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
    {
37
hgs
parents: 25
diff changeset
   114
	    mConversationId = -1; //reset the conversation view id since its closed
hgs
parents: 25
diff changeset
   115
		
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   116
        //Save content to drafts before switching to clv
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   117
        mConversationView->saveContentToDrafts();
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   118
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   119
        //marking messages as red in CV.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   120
        mConversationView->markMessagesAsRead();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   121
37
hgs
parents: 25
diff changeset
   122
        // reset the conversation id published
hgs
parents: 25
diff changeset
   123
        mConversationView->setPSCVId(false);
hgs
parents: 25
diff changeset
   124
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   125
        //clearing content of cv.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   126
        mConversationView->clearContent();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   127
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   128
        // if service request for veiwer the just switch to univiewer.
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   129
        if (mViewServiceRequest) {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   130
            mCurrentView = MsgBaseView::UNIVIEWER;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   131
            mMainWindow->setCurrentView(mUniViewer);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   132
            break;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   133
        }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   134
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   135
        if (mServiceRequest) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   136
            completeServiceRequest();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   137
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   138
        else {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   139
            //switch to clv.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   140
            QVariantList param;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   141
            param << MsgBaseView::CLV;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   142
            param << MsgBaseView::CV;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
            switchView(param);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   145
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   146
        break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   148
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
    case MsgBaseView::DLV:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   150
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   151
        if (mServiceRequest) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   152
            completeServiceRequest();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   153
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
        else {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   155
            //switch to clv.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
            QVariantList param;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   157
            param << MsgBaseView::CLV;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
            param << MsgBaseView::DLV;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   159
            switchView(param);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   160
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
        break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
    case MsgBaseView::UNIEDITOR:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
        //Save content to drafts before switching to clv
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   168
        mUniEditor->saveContentToDrafts();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   169
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   170
        // if service request for veiwer the just switch to univiewer.
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   171
        if (mViewServiceRequest) {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   172
            mCurrentView = MsgBaseView::UNIVIEWER;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   173
            mMainWindow->setCurrentView(mUniViewer);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   174
            break;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   175
        }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   176
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
        //switch to clv.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
        if (mServiceRequest) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
            completeServiceRequest();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
        else {
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   182
            //switch to previous view.
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   183
            QVariantList param;
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   184
            param << mPreviousView;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
            param << MsgBaseView::UNIEDITOR;
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   186
            
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   187
            if(mPreviousView == MsgBaseView::CV) {
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   188
                param << mConversationId;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   189
                }
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   190
            else if(mPreviousView == MsgBaseView::UNIVIEWER){
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   191
                qint32 contactId = mViewerData.at(0).toLongLong();
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   192
                qint32 messageId = mViewerData.at(1).toInt();
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   193
                int msgCount = mViewerData.at(2).toInt();
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   194
                int canForwardMessage = mViewerData.at(3).toInt();
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   195
                
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   196
                param << contactId;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   197
                param << messageId;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   198
                param << msgCount;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   199
                param << canForwardMessage;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   200
            }
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   201
            else if(mPreviousView == MsgBaseView::UNIEDITOR){
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   202
                //TODO: Remove error handling once Audio fetcher 
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   203
                //becomes dialog
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   204
                param[0] = MsgBaseView::CLV;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   205
                }
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   206
            
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
            switchView(param);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   208
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
        break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
    case MsgBaseView::UNIVIEWER:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
    {
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   215
        // if its launched via service request quit the app
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   216
        if (mViewServiceRequest) {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   217
            HbApplication::quit();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   218
        }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   219
        else {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   220
            QVariantList param;
37
hgs
parents: 25
diff changeset
   221
            if (mConversationId != -1)
hgs
parents: 25
diff changeset
   222
                {
hgs
parents: 25
diff changeset
   223
                    //this means CV is till open then just open the fresh CV
hgs
parents: 25
diff changeset
   224
                    param << MsgBaseView::CV;
hgs
parents: 25
diff changeset
   225
                    param << MsgBaseView::UNIVIEWER;
hgs
parents: 25
diff changeset
   226
                    param << mConversationView->conversationId();
hgs
parents: 25
diff changeset
   227
                }
hgs
parents: 25
diff changeset
   228
                else
hgs
parents: 25
diff changeset
   229
                {
hgs
parents: 25
diff changeset
   230
                    param << MsgBaseView::CLV;
hgs
parents: 25
diff changeset
   231
                    param << MsgBaseView::UNIVIEWER;
hgs
parents: 25
diff changeset
   232
                }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   233
            switchView(param);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   234
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   235
        }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   236
        break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   237
    }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   238
    case MsgBaseView::MSGSETTINGS:
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   239
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   240
        QVariantList param;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   241
        param << MsgBaseView::DEFAULT;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   242
        param << MsgBaseView::MSGSETTINGS;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   243
        switchView(param);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   244
        break;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   245
    }
37
hgs
parents: 25
diff changeset
   246
    case MsgBaseView::AUDIOFETCHER:
hgs
parents: 25
diff changeset
   247
    {
hgs
parents: 25
diff changeset
   248
        // switch back to previous view
hgs
parents: 25
diff changeset
   249
        QVariantList param;
hgs
parents: 25
diff changeset
   250
        param << mPreviousView;
hgs
parents: 25
diff changeset
   251
        param << MsgBaseView::AUDIOFETCHER;
hgs
parents: 25
diff changeset
   252
        if(mPreviousView == MsgBaseView::CV)
hgs
parents: 25
diff changeset
   253
        {
hgs
parents: 25
diff changeset
   254
            param << mConversationId;
hgs
parents: 25
diff changeset
   255
        }
hgs
parents: 25
diff changeset
   256
        switchView(param);
hgs
parents: 25
diff changeset
   257
        break;
hgs
parents: 25
diff changeset
   258
    }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   259
    default:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   260
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   261
        break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   262
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   263
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   264
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   265
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   266
void MsgViewManager::switchView(const QVariantList& data)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   267
{
37
hgs
parents: 25
diff changeset
   268
    QCRITICAL_WRITE("MsgViewManager::switchView start.");
hgs
parents: 25
diff changeset
   269
    
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   270
    int viewId = data.at(0).toInt();
37
hgs
parents: 25
diff changeset
   271
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   272
    switch (viewId) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   273
    case MsgBaseView::DEFAULT:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   274
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   275
        handleDefault(data);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   276
        break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   277
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   278
    case MsgBaseView::CLV:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   279
    {
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   280
         switchToClv(data);
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   281
         break;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   282
    }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   283
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   284
    case MsgBaseView::CV:
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   285
    {
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   286
         switchToCv(data);
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   287
         break;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   288
    }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   289
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   290
    case MsgBaseView::DLV:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   291
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   292
        switchToDlv(data);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   293
        break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   294
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   295
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   296
    case MsgBaseView::UNIEDITOR:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   297
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   298
        switchToUniEditor(data);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   299
        break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   300
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   301
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   302
    case MsgBaseView::UNIVIEWER:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   303
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   304
        switchToUniViewer(data);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   305
        break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   306
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   307
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   308
    case MsgBaseView::MSGSETTINGS:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   309
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   310
        switchToMsgSettings(data);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   311
        break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   312
    }
37
hgs
parents: 25
diff changeset
   313
    case MsgBaseView::AUDIOFETCHER:
hgs
parents: 25
diff changeset
   314
    {
hgs
parents: 25
diff changeset
   315
        switchToAudioFetcher(data);
hgs
parents: 25
diff changeset
   316
        break;
hgs
parents: 25
diff changeset
   317
    }
hgs
parents: 25
diff changeset
   318
    }
hgs
parents: 25
diff changeset
   319
    QCRITICAL_WRITE("MsgViewManager::switchView end.");
hgs
parents: 25
diff changeset
   320
}
hgs
parents: 25
diff changeset
   321
hgs
parents: 25
diff changeset
   322
void MsgViewManager::deletePreviousView()
hgs
parents: 25
diff changeset
   323
{
hgs
parents: 25
diff changeset
   324
    while(mViewTobeDeleted.count())
hgs
parents: 25
diff changeset
   325
    {
hgs
parents: 25
diff changeset
   326
        HbView* v = mViewTobeDeleted.takeAt(0);
hgs
parents: 25
diff changeset
   327
        mMainWindow->removeView(v);
hgs
parents: 25
diff changeset
   328
        delete v;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   329
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   330
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   331
37
hgs
parents: 25
diff changeset
   332
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   333
void MsgViewManager::send(const qint32 contactId, const QString phoneNumber,
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   334
    const QString displayName)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   335
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   336
    qint64 conversationId = ConversationsEngine::instance()-> getConversationIdFromContactId(
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   337
        contactId);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   338
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   339
    //set mode to viewer, if conversations found else send mode.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   340
    QVariantList param;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   341
    if (conversationId > 0) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   342
        param << MsgBaseView::CV;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   343
        param << MsgBaseView::SERVICE;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   344
        param << conversationId;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   345
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   346
    else {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   347
        ConvergedMessage message;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   348
        ConvergedMessageAddress address;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   349
        address.setAddress(phoneNumber);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   350
        address.setAlias(displayName);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   351
        message.addToRecipient(address);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   352
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   353
        QByteArray dataArray;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   354
        QDataStream messageStream(&dataArray, QIODevice::WriteOnly | QIODevice::Append);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   355
        message.serialize(messageStream);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   356
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   357
        param << MsgBaseView::UNIEDITOR;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   358
        param << MsgBaseView::SERVICE;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   359
        param << dataArray;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   360
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   361
    switchView(param);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   362
    XQServiceUtil::toBackground(false);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   363
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   364
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   365
void MsgViewManager::send(const QString phoneNumber, const QString alias, const QString bodyText)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   366
{
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   367
    ConvergedMessage message;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   368
    ConvergedMessageAddress address;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   369
    address.setAddress(phoneNumber);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   370
    address.setAlias(alias);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   371
    message.addToRecipient(address);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   372
    message.setBodyText(bodyText);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   373
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   374
    QVariantList param;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   375
    QByteArray dataArray;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   376
    QDataStream messageStream(&dataArray, QIODevice::WriteOnly | QIODevice::Append);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   377
    message.serialize(messageStream);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   378
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   379
    param << MsgBaseView::UNIEDITOR;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   380
    param << MsgBaseView::SERVICE;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   381
    param << dataArray;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   382
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   383
    switchView(param);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   384
    XQServiceUtil::toBackground(false);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   385
}
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   386
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   387
void MsgViewManager::setServiceRequest(bool request)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   388
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   389
    mServiceRequest = request;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   390
    mViewAtServiceRequest = mCurrentView;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   391
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   392
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   393
void MsgViewManager::switchToLastSavedView()
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   394
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   395
    QVariantList param;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   396
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   397
    switch (mViewAtServiceRequest) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   398
    case MsgBaseView::CV:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   399
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   400
        param << MsgBaseView::CV;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   401
        param << MsgBaseView::SERVICE;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   402
        param << mConversationId;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   403
        break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   404
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
    case MsgBaseView::UNIVIEWER:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   406
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   407
        param << MsgBaseView::UNIVIEWER;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   408
        param << MsgBaseView::SERVICE;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   409
        break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   410
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   411
    default:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   412
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   413
        param << MsgBaseView::CLV;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   414
        param << MsgBaseView::SERVICE;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   415
        break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   416
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   417
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   418
    switchView(param);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   419
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   420
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   421
void MsgViewManager::open(qint64 conversationId)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   422
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   423
    QVariantList param;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   424
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   425
    if (conversationId < 0) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   426
        param << MsgBaseView::CLV;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   427
        param << MsgBaseView::SERVICE;
37
hgs
parents: 25
diff changeset
   428
hgs
parents: 25
diff changeset
   429
        if( mCurrentView == MsgBaseView::CV && mConversationView)
hgs
parents: 25
diff changeset
   430
            {
hgs
parents: 25
diff changeset
   431
            mConversationView->setPSCVId(false);
hgs
parents: 25
diff changeset
   432
            }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   433
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   434
    else {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   435
        param << MsgBaseView::CV;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   436
        param << MsgBaseView::SERVICE;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   437
        param << conversationId;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   438
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   439
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   440
    switchView(param);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   441
    XQServiceUtil::toBackground(false);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   442
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   443
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   444
void MsgViewManager::send(QVariant data)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   445
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   446
    ConvergedMessage message;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   447
    ConvergedMessageAttachmentList attachmentList;
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   448
    // handle multiple files from sendUI
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   449
    // e.g. contacts can send multiple vcards
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   450
    QStringList receivedFiles = data.toStringList();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   451
    int recFileCount = receivedFiles.count();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   452
    for (int i = 0; i < recFileCount; i++) {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   453
        ConvergedMessageAttachment *attachment =
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   454
            new ConvergedMessageAttachment(receivedFiles.at(i));
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   455
        attachmentList.append(attachment);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   456
    }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   457
    message.addAttachments(attachmentList);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   458
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   459
    QByteArray dataArray;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   460
    QDataStream messageStream(&dataArray, QIODevice::WriteOnly | QIODevice::Append);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   461
    message.serialize(messageStream);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   462
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   463
    QVariantList param;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   464
    param << MsgBaseView::UNIEDITOR;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   465
    param << MsgBaseView::SERVICE;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   466
    param << dataArray;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   467
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   468
    switchView(param);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   469
    XQServiceUtil::toBackground(false);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   470
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   471
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   472
qint64 MsgViewManager::findConversationId(const QString phoneNum)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   473
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   474
    return ConversationsEngine::instance()-> getConversationIdFromAddress(phoneNum);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   475
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   476
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   477
//will be depricated in future.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   478
void MsgViewManager::openEditor(QString phoneNumber, QString name)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   479
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   480
    ConvergedMessage message;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   481
    ConvergedMessageAddress address;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   482
    address.setAddress(phoneNumber);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   483
    address.setAlias(name);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   484
    message.addToRecipient(address);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   485
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   486
    QByteArray dataArray;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   487
    QDataStream messageStream(&dataArray, QIODevice::WriteOnly | QIODevice::Append);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   488
    message.serialize(messageStream);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   489
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   490
    QVariantList param;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   491
    param << MsgBaseView::UNIEDITOR;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   492
    param << MsgBaseView::SERVICE;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   493
    param << dataArray;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   494
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   495
    switchView(param);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   496
    XQServiceUtil::toBackground(false);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   497
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   498
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   499
void MsgViewManager::completeServiceRequest()
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   500
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   501
    mServiceRequest = false;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   502
    XQServiceUtil::toBackground(true);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   503
    switchToLastSavedView();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   504
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   505
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   506
void MsgViewManager::switchToClv(const QVariantList& data)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   507
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   508
    mPreviousView = data.at(1).toInt();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   509
37
hgs
parents: 25
diff changeset
   510
    // delete case from viewer service
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   511
    if (mViewServiceRequest && (mPreviousView == MsgBaseView::UNIVIEWER)) {
37
hgs
parents: 25
diff changeset
   512
        // quit the application
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   513
        HbApplication::quit();
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   514
    }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   515
37
hgs
parents: 25
diff changeset
   516
    // this is the case when viewer/editor is opened and contacts update takes
hgs
parents: 25
diff changeset
   517
    // place resulting in CV close, the view should directly come to CLV 
hgs
parents: 25
diff changeset
   518
    // bypassing the CV
hgs
parents: 25
diff changeset
   519
    if ((mCurrentView == MsgBaseView::UNIVIEWER 
hgs
parents: 25
diff changeset
   520
            && mPreviousView != MsgBaseView::UNIVIEWER)
hgs
parents: 25
diff changeset
   521
            || (mCurrentView == MsgBaseView::UNIEDITOR
hgs
parents: 25
diff changeset
   522
                    && mPreviousView != MsgBaseView::UNIEDITOR))
hgs
parents: 25
diff changeset
   523
    {
hgs
parents: 25
diff changeset
   524
        //dont do anything
hgs
parents: 25
diff changeset
   525
        //wait for the back from viewer/editor
hgs
parents: 25
diff changeset
   526
        //and reset the open CV id
hgs
parents: 25
diff changeset
   527
        mConversationId = -1;
hgs
parents: 25
diff changeset
   528
        return;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   529
    }
37
hgs
parents: 25
diff changeset
   530
    
hgs
parents: 25
diff changeset
   531
    //delete UniEditor
hgs
parents: 25
diff changeset
   532
    if (mUniEditor)
hgs
parents: 25
diff changeset
   533
    {
hgs
parents: 25
diff changeset
   534
        appendViewToBeDeleted(mUniEditor);
hgs
parents: 25
diff changeset
   535
        mUniEditor = NULL;
hgs
parents: 25
diff changeset
   536
    }
hgs
parents: 25
diff changeset
   537
hgs
parents: 25
diff changeset
   538
    //delete UniViewer
hgs
parents: 25
diff changeset
   539
    if (mUniViewer)
hgs
parents: 25
diff changeset
   540
    {
hgs
parents: 25
diff changeset
   541
        appendViewToBeDeleted(mUniViewer);
hgs
parents: 25
diff changeset
   542
        mUniViewer = NULL;
hgs
parents: 25
diff changeset
   543
    }
hgs
parents: 25
diff changeset
   544
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   545
    if (mConversationView) {
37
hgs
parents: 25
diff changeset
   546
        mConversationView->saveContentToDrafts();
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   547
        //clearing content of cv.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   548
        mConversationView->clearContent();
37
hgs
parents: 25
diff changeset
   549
        //reset the open CV id
hgs
parents: 25
diff changeset
   550
        mConversationId = -1;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   551
    }
37
hgs
parents: 25
diff changeset
   552
    
hgs
parents: 25
diff changeset
   553
    //switch to CLV.
hgs
parents: 25
diff changeset
   554
    mCurrentView = MsgBaseView::CLV;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   555
    if (!mListView) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   556
        mListView = new MsgListView();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   557
        mListView->setNavigationAction(mBackAction);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   558
        connect(mListView, SIGNAL(switchView(const QVariantList&)), this,
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   559
            SLOT(switchView(const QVariantList&)));
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   560
        mMainWindow->addView(mListView);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   561
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   562
48
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   563
    mMainWindow->setCurrentView(mListView,true,Hb::ViewSwitchSequential);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   564
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   565
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   566
void MsgViewManager::switchToCv(const QVariantList& data)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   567
{
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   568
    QCRITICAL_WRITE("MsgViewManager::switchToCv start.");
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   569
    
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   570
    //switch to CV.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   571
    mCurrentView = MsgBaseView::CV;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   572
    mPreviousView = data.at(1).toInt();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   573
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   574
    // delete case from viewer service
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   575
    if (mViewServiceRequest && (mPreviousView == MsgBaseView::UNIVIEWER)) {
37
hgs
parents: 25
diff changeset
   576
        // quit the application
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   577
        HbApplication::quit();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   578
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   579
37
hgs
parents: 25
diff changeset
   580
    // delete Audio Fetcher view
hgs
parents: 25
diff changeset
   581
    if(mAudioFetcherView)
hgs
parents: 25
diff changeset
   582
    {
hgs
parents: 25
diff changeset
   583
        appendViewToBeDeleted(mAudioFetcherView);
hgs
parents: 25
diff changeset
   584
        mAudioFetcherView = NULL;
hgs
parents: 25
diff changeset
   585
    }
hgs
parents: 25
diff changeset
   586
hgs
parents: 25
diff changeset
   587
    //delete UniEditor
hgs
parents: 25
diff changeset
   588
    if (mUniEditor)
hgs
parents: 25
diff changeset
   589
    {
48
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   590
        // Save to drafts if CV is launched via service
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   591
        if (mPreviousView == MsgBaseView::SERVICE) {
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   592
            mUniEditor->saveContentToDrafts();
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   593
        }
37
hgs
parents: 25
diff changeset
   594
        appendViewToBeDeleted(mUniEditor);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   595
        mUniEditor = NULL;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   596
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   597
37
hgs
parents: 25
diff changeset
   598
    //delete UniViewer
hgs
parents: 25
diff changeset
   599
    if (mUniViewer)
hgs
parents: 25
diff changeset
   600
    {
hgs
parents: 25
diff changeset
   601
        appendViewToBeDeleted(mUniViewer);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   602
        mUniViewer = NULL;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   603
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   604
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   605
    QVariant var = data.at(2);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   606
    qint64 conversationId;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   607
    if (var.type() == QVariant::String) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   608
        QString phoneNumber = var.toString();
37
hgs
parents: 25
diff changeset
   609
        qint32 contactId = findContactId(phoneNumber);
hgs
parents: 25
diff changeset
   610
        if (contactId != -1) {
hgs
parents: 25
diff changeset
   611
            conversationId = ConversationsEngine::instance()->getConversationIdFromContactId(contactId);
hgs
parents: 25
diff changeset
   612
        }
hgs
parents: 25
diff changeset
   613
        else {
hgs
parents: 25
diff changeset
   614
            conversationId = findConversationId(phoneNumber);
hgs
parents: 25
diff changeset
   615
        }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   616
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   617
        if (conversationId == NULL_CONVERSATIONID) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   618
            QVariantList param;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   619
            param << MsgBaseView::CLV;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   620
            param << MsgBaseView::CV;
37
hgs
parents: 25
diff changeset
   621
hgs
parents: 25
diff changeset
   622
            if( mCurrentView == MsgBaseView::CV && mConversationView){
hgs
parents: 25
diff changeset
   623
                mConversationView->setPSCVId(false);
hgs
parents: 25
diff changeset
   624
                }
hgs
parents: 25
diff changeset
   625
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   626
            switchView(param);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   627
            return;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   628
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   629
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   630
    else if (var.type() == QVariant::Invalid) {
37
hgs
parents: 25
diff changeset
   631
        // this case comes when a message is deleted from
hgs
parents: 25
diff changeset
   632
        // Unified viewer  set curent view as conversation view
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   633
        // and return
48
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   634
        mMainWindow->setCurrentView(mConversationView,true,Hb::ViewSwitchSequential);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   635
37
hgs
parents: 25
diff changeset
   636
		// publish already opened conversation's id
hgs
parents: 25
diff changeset
   637
        mConversationView->setPSCVId(true);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   638
        return;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   639
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   640
    else {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   641
        conversationId = var.toLongLong();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   642
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   643
    //switch to CV.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   644
    mConversationId = conversationId;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   645
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   646
    if (!mConversationView) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   647
        mConversationView = new MsgConversationBaseView();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   648
        mConversationView->setNavigationAction(mBackAction);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   649
        connect(mConversationView, SIGNAL(switchView(const QVariantList&)), this,
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   650
            SLOT(switchView(const QVariantList&)));
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   651
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   652
        mMainWindow->addView(mConversationView);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   653
    }
37
hgs
parents: 25
diff changeset
   654
    else if (mConversationView->conversationId() != mConversationId){
hgs
parents: 25
diff changeset
   655
  		//Save content to drafts before switching to different CV
hgs
parents: 25
diff changeset
   656
        mConversationView->saveContentToDrafts();
hgs
parents: 25
diff changeset
   657
        //clearing content of current cv.
hgs
parents: 25
diff changeset
   658
        mConversationView->clearContent();
hgs
parents: 25
diff changeset
   659
    }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   660
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   661
    mConversationView->openConversation(conversationId);
48
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   662
    mMainWindow->setCurrentView(mConversationView,true,Hb::ViewSwitchSequential);
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   663
    
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   664
    QCRITICAL_WRITE("MsgViewManager::switchToCv end.");
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   665
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   666
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   667
void MsgViewManager::switchToDlv(const QVariantList& data)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   668
{
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   669
    //delete UniEditor
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   670
    if (mUniEditor)
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   671
    {
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   672
        appendViewToBeDeleted(mUniEditor);
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   673
        mUniEditor = NULL;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   674
    }
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   675
    
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   676
    //switch to DLV.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   677
    mCurrentView = MsgBaseView::DLV;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   678
    mPreviousView = data.at(1).toInt();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   679
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   680
    if (!mDraftsListView) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   681
        mDraftsListView = new DraftsListView();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   682
        mDraftsListView->setNavigationAction(mBackAction);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   683
        connect(mDraftsListView, SIGNAL(switchView(const QVariantList&)), this,
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   684
            SLOT(switchView(const QVariantList&)));
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   685
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   686
        mMainWindow->addView(mDraftsListView);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   687
    }
48
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   688
    mMainWindow->setCurrentView(mDraftsListView,true,Hb::ViewSwitchSequential);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   689
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   690
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   691
void MsgViewManager::switchToUniEditor(const QVariantList& data)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   692
{
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   693
    QCRITICAL_WRITE("MsgViewManager::switchToUniEditor start.");
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   694
    
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   695
    /**
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   696
     * Editor is tried to open again before exiting the previously
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   697
     * opened editor. Multi taping in DLV or Forward.
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   698
     */
37
hgs
parents: 25
diff changeset
   699
    if (mUniEditor && !mAudioFetcherView)
hgs
parents: 25
diff changeset
   700
    {
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   701
        return;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   702
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   703
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   704
    mCurrentView = MsgBaseView::UNIEDITOR;
37
hgs
parents: 25
diff changeset
   705
    if(MsgBaseView::AUDIOFETCHER != data.at(1).toInt())
hgs
parents: 25
diff changeset
   706
    {
hgs
parents: 25
diff changeset
   707
        mPreviousView = data.at(1).toInt();
hgs
parents: 25
diff changeset
   708
    }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   709
37
hgs
parents: 25
diff changeset
   710
    // delete Audio Fetcher view
hgs
parents: 25
diff changeset
   711
    if(mAudioFetcherView)
hgs
parents: 25
diff changeset
   712
    {
hgs
parents: 25
diff changeset
   713
        appendViewToBeDeleted(mAudioFetcherView);
hgs
parents: 25
diff changeset
   714
        mAudioFetcherView = NULL;
hgs
parents: 25
diff changeset
   715
    }
hgs
parents: 25
diff changeset
   716
hgs
parents: 25
diff changeset
   717
    // delete UniViewer
hgs
parents: 25
diff changeset
   718
	if (mUniViewer )
hgs
parents: 25
diff changeset
   719
	{
hgs
parents: 25
diff changeset
   720
	    appendViewToBeDeleted(mUniViewer);
hgs
parents: 25
diff changeset
   721
	    mUniViewer = NULL;
hgs
parents: 25
diff changeset
   722
	}
hgs
parents: 25
diff changeset
   723
hgs
parents: 25
diff changeset
   724
    if (mConversationView)
hgs
parents: 25
diff changeset
   725
    {
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   726
        //clearing content of cv.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   727
        mConversationView->clearContent();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   728
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   729
37
hgs
parents: 25
diff changeset
   730
    // reset conversation id published
hgs
parents: 25
diff changeset
   731
    if(mPreviousView == MsgBaseView::CV && mConversationView)
hgs
parents: 25
diff changeset
   732
    {
hgs
parents: 25
diff changeset
   733
        mConversationView->setPSCVId(false);
hgs
parents: 25
diff changeset
   734
    }
hgs
parents: 25
diff changeset
   735
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   736
    //swich to unieditor.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   737
    if (!mUniEditor) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   738
        mUniEditor = new MsgUnifiedEditorView();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   739
        mMainWindow->addView(mUniEditor);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   740
        mUniEditor->setNavigationAction(mBackAction);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   741
        connect(mUniEditor, SIGNAL(switchView(const QVariantList&)), this,
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   742
            SLOT(switchView(const QVariantList&)));
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   743
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   744
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   745
    // check if additional data for unieditor's consumption is available
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   746
    if (data.length() > 2) {
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   747
        QVariantList editorData;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   748
        // i=2 because view manager consumed first two args
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   749
        for (int i = 2; i < data.length(); i++) {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   750
            editorData << data.at(i);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   751
        }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   752
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   753
        if (MsgBaseView::DLV == mPreviousView) {
37
hgs
parents: 25
diff changeset
   754
            //Populate editor after view ready indication 
hgs
parents: 25
diff changeset
   755
            populateUniEditorAfterViewReady(editorData);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   756
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   757
        else {
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   758
            mUniEditor->populateContent(editorData);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   759
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   760
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   761
48
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   762
    mMainWindow->setCurrentView(mUniEditor,true,Hb::ViewSwitchSequential);
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   763
    
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   764
    QCRITICAL_WRITE("MsgViewManager::switchToUniEditor end.");
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   765
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   766
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   767
void MsgViewManager::switchToUniViewer(const QVariantList& data)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   768
{
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   769
    /**
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   770
     * Viewer is tried to open again before exiting the previously
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   771
     * opened viewer. Multi taping bubbles in CV.
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   772
     */
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   773
    if (mUniViewer) {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   774
        return;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   775
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   776
48
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   777
    if (mUniEditor)
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   778
    {
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   779
        appendViewToBeDeleted(mUniEditor);
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   780
        mUniEditor = NULL;
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   781
    }
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   782
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   783
    //Clear the old viewer data
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   784
    mViewerData.clear();
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   785
    
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   786
    mCurrentView = MsgBaseView::UNIVIEWER;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   787
    mPreviousView = data.at(1).toInt();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   788
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   789
    //switch to univiewer.
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   790
    if (data.length() > 2) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   791
        qint32 contactId = data.at(2).toLongLong();
37
hgs
parents: 25
diff changeset
   792
        qint32 messageId = data.at(3).toInt();
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   793
        int msgCount = data.at(4).toInt();
37
hgs
parents: 25
diff changeset
   794
        int canForwardMessage = data.at(5).toInt();
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   795
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   796
        //Save the viewer data to be used when u come back from Editor
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   797
        mViewerData << contactId;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   798
        mViewerData << messageId;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   799
        mViewerData << msgCount;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   800
        mViewerData << canForwardMessage;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   801
        
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   802
        if (!mUniViewer) {
37
hgs
parents: 25
diff changeset
   803
            mUniViewer = new UnifiedViewer(messageId, canForwardMessage);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   804
            mUniViewer->setNavigationAction(mBackAction);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   805
            mMainWindow->addView(mUniViewer);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   806
            connect(mUniViewer, SIGNAL(switchView(const QVariantList&)), this,
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   807
                SLOT(switchView(const QVariantList&)));
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   808
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   809
        mUniViewer->populateContent(messageId, true, msgCount);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   810
    }
37
hgs
parents: 25
diff changeset
   811
hgs
parents: 25
diff changeset
   812
    if(mPreviousView==MsgBaseView::CV && mConversationView)
hgs
parents: 25
diff changeset
   813
        {
hgs
parents: 25
diff changeset
   814
        mConversationView->setPSCVId(false);
hgs
parents: 25
diff changeset
   815
        }
hgs
parents: 25
diff changeset
   816
48
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   817
    mMainWindow->setCurrentView(mUniViewer,true,Hb::ViewSwitchSequential);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   818
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   819
void MsgViewManager::switchToMsgSettings(const QVariantList& data)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   820
{
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   821
    int previousView = data.at(1).toInt();
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   822
    
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   823
    MsgSettingsView::SettingsView view = MsgSettingsView::DefaultView;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   824
    if (previousView == MsgBaseView::UNIEDITOR || previousView
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   825
            == MsgBaseView::CV)
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   826
        {
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   827
        view = (MsgSettingsView::SettingsView)data.at(2).toInt();
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   828
        }
37
hgs
parents: 25
diff changeset
   829
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   830
    //launch settings service
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   831
    QList<QVariant> args;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   832
    QString serviceName("messagesettings");
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   833
    QString interfaceName("com.nokia.symbian.IMessageSettings");
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   834
    QString operation("launchSettings(int)");
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   835
    XQAiwRequest* request;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   836
    XQApplicationManager appManager;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   837
    request = appManager.create(serviceName, interfaceName, operation, true); //embedded
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   838
    if ( request == NULL )
41
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   839
        {
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   840
        return;       
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   841
        }
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   842
 
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   843
    args <<  view;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   844
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   845
    request->setArguments(args);
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   846
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   847
    if(previousView==MsgBaseView::CV && mConversationView){
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   848
        mConversationView->setPSCVId(false);
41
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   849
        }
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   850
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   851
    if(!request->send())
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   852
        {
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   853
        QDEBUG_WRITE("launchSettings failed")
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   854
        }
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   855
    delete request;
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   856
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   857
    
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   858
    if(previousView==MsgBaseView::CV && mConversationView){
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
   859
        mConversationView->setPSCVId(true);
37
hgs
parents: 25
diff changeset
   860
        }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   861
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   862
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   863
void MsgViewManager::handleDefault(const QVariantList& data)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   864
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   865
    //special handling incase we switch from settings-view
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   866
    int previousViewId = data.at(1).toInt();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   867
    if (MsgBaseView::MSGSETTINGS == previousViewId) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   868
        //switch to view, where from settings view was launched
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   869
        mCurrentView = mPreviousView;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   870
        mPreviousView = previousViewId;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   871
        //remove the settings view from main window
37
hgs
parents: 25
diff changeset
   872
        if (mSettingsView)
hgs
parents: 25
diff changeset
   873
        {
hgs
parents: 25
diff changeset
   874
            appendViewToBeDeleted(mSettingsView);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   875
            mSettingsView = NULL;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   876
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   877
        switch (mCurrentView) {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   878
        case MsgBaseView::CLV:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   879
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   880
            if (mListView)
48
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   881
                mMainWindow->setCurrentView(mListView,true,Hb::ViewSwitchSequential);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   882
            break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   883
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   884
        case MsgBaseView::CV:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   885
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   886
            if (mConversationView)
48
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   887
                mMainWindow->setCurrentView(mConversationView,true,Hb::ViewSwitchSequential);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   888
            break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   889
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   890
        case MsgBaseView::DLV:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   891
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   892
            if (mDraftsListView)
48
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   893
                mMainWindow->setCurrentView(mDraftsListView,true,Hb::ViewSwitchSequential);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   894
            break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   895
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   896
        case MsgBaseView::UNIEDITOR:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   897
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   898
            if (mServiceRequest) {
48
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   899
                mMainWindow->setCurrentView(mUniEditor,true,Hb::ViewSwitchSequential);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   900
            }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   901
            else {
48
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   902
                mMainWindow->setCurrentView(mUniEditor,true,Hb::ViewSwitchSequential);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   903
            }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   904
            break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   905
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   906
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   907
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   908
}
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   909
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   910
void MsgViewManager::view(int msgId)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   911
{
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   912
    int msgType;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   913
    int msgSubType;
37
hgs
parents: 25
diff changeset
   914
    mMessageId = msgId;
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   915
    qint32 messageId(msgId);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   916
    ConversationsEngine::instance()->markAsReadAndGetType(messageId, msgType, msgSubType);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   917
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   918
    switch (msgType) {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   919
    case ConvergedMessage::Sms:
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   920
    case ConvergedMessage::Mms:
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   921
    case ConvergedMessage::MmsNotification:
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   922
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   923
        handleSmsMmsMsg(msgId);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   924
        break;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   925
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   926
    case ConvergedMessage::BioMsg:
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   927
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   928
        if (msgSubType == ConvergedMessage::RingingTone) {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   929
            handleRingtoneMsg(msgId);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   930
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   931
        }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   932
        else if (msgSubType == ConvergedMessage::Provisioning) {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   933
            handleProvisoningMsg(msgId);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   934
        }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   935
        break;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   936
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   937
    case ConvergedMessage::BT:
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   938
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   939
        break;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   940
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   941
    default:
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   942
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   943
        // for un supported message show delete option
37
hgs
parents: 25
diff changeset
   944
        HbMessageBox::question(LOC_DELETE_MESSAGE,this,
hgs
parents: 25
diff changeset
   945
                               SLOT(onDialogDeleteMsg(HbAction*)),
hgs
parents: 25
diff changeset
   946
                               HbMessageBox::Delete | HbMessageBox::Cancel);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   947
        break;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   948
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   949
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   950
}
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   951
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   952
// ----------------------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   953
// MsgViewManager::handleSmsMmsMsg
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   954
// @see header
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   955
// ----------------------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   956
void MsgViewManager::handleSmsMmsMsg(int msgId)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   957
{
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   958
    mViewServiceRequest = true;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   959
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   960
    mCurrentView = MsgBaseView::UNIVIEWER;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   961
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   962
    if (!mUniViewer) {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   963
        mUniViewer = new UnifiedViewer(msgId);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   964
        mUniViewer->setNavigationAction(mBackAction);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   965
        mMainWindow->addView(mUniViewer);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   966
        connect(mUniViewer, SIGNAL(switchView(const QVariantList&)), this,
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   967
            SLOT(switchView(const QVariantList&)));
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   968
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   969
    mUniViewer->populateContent(msgId, true, -1);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   970
48
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
   971
    mMainWindow->setCurrentView(mUniViewer,true,Hb::ViewSwitchSequential);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   972
}
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   973
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   974
// ----------------------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   975
// MsgViewManager::handleRingtoneMsg
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   976
// @see header
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   977
// ----------------------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   978
void MsgViewManager::handleRingtoneMsg(int msgId)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   979
{
37
hgs
parents: 25
diff changeset
   980
    mMessageId = msgId;
hgs
parents: 25
diff changeset
   981
    HbMessageBox::question(LOC_DIALOG_SAVE_RINGTONE, this,
hgs
parents: 25
diff changeset
   982
                           SLOT(onDialogSaveTone(HbAction*)), 
hgs
parents: 25
diff changeset
   983
                           HbMessageBox::Save | HbMessageBox::Cancel);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   984
}
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   985
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   986
// ----------------------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   987
// MsgViewManager::handleProvisoningMsg
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   988
// @see header
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   989
// ----------------------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   990
void MsgViewManager::handleProvisoningMsg(int msgId)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   991
{
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   992
    QString messageId;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   993
    messageId.setNum(msgId);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   994
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   995
    XQApplicationManager* aiwMgr = new XQApplicationManager();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   996
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   997
    XQAiwRequest* request = aiwMgr->create("com.nokia.services.MDM", "Provisioning",
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   998
        "ProcessMessage(QString)", true); // embedded
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   999
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1000
    if (request) {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1001
        QList<QVariant> args;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1002
        args << QVariant(messageId);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1003
        request->setArguments(args);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1004
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1005
        // Send the request
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1006
        bool res = request->send();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1007
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1008
        // Cleanup
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1009
        delete request;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1010
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1011
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1012
    delete aiwMgr;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1013
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1014
    // close the application once its handled
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1015
    HbApplication::quit();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1016
}
37
hgs
parents: 25
diff changeset
  1017
hgs
parents: 25
diff changeset
  1018
void MsgViewManager::setViewInteractive()
hgs
parents: 25
diff changeset
  1019
{
hgs
parents: 25
diff changeset
  1020
    if(!mMainWindow->isInteractive())
hgs
parents: 25
diff changeset
  1021
    {
hgs
parents: 25
diff changeset
  1022
        mMainWindow->setInteractive(true);
hgs
parents: 25
diff changeset
  1023
    }
hgs
parents: 25
diff changeset
  1024
hgs
parents: 25
diff changeset
  1025
    disconnect(mMainWindow, SIGNAL(viewReady()),this,SLOT(setViewInteractive()));
hgs
parents: 25
diff changeset
  1026
}
hgs
parents: 25
diff changeset
  1027
hgs
parents: 25
diff changeset
  1028
void  MsgViewManager::appendViewToBeDeleted(HbView* view)
hgs
parents: 25
diff changeset
  1029
{
hgs
parents: 25
diff changeset
  1030
    if (view)
hgs
parents: 25
diff changeset
  1031
    {
hgs
parents: 25
diff changeset
  1032
        mViewTobeDeleted << view;
hgs
parents: 25
diff changeset
  1033
        connect(mMainWindow, SIGNAL(viewReady()), this, SLOT(deletePreviousView()), Qt::UniqueConnection);
hgs
parents: 25
diff changeset
  1034
    }
hgs
parents: 25
diff changeset
  1035
}
hgs
parents: 25
diff changeset
  1036
hgs
parents: 25
diff changeset
  1037
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1038
// MsgViewManager::populateEditorAfterViewReady
hgs
parents: 25
diff changeset
  1039
// @see header
hgs
parents: 25
diff changeset
  1040
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1041
void MsgViewManager::populateUniEditorAfterViewReady(const QVariantList& editorData)
hgs
parents: 25
diff changeset
  1042
	{
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
  1043
    QCRITICAL_WRITE("MsgViewManager::populateUniEditorAfterViewReady start.");
37
hgs
parents: 25
diff changeset
  1044
	 //Save the editor data and use it in ViewReady handler
hgs
parents: 25
diff changeset
  1045
	 mEditorData = editorData;	 
hgs
parents: 25
diff changeset
  1046
	 connect(mMainWindow, SIGNAL(viewReady()), this, SLOT(populateUniEditorView()));
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
  1047
	QCRITICAL_WRITE("MsgViewManager::populateUniEditorAfterViewReady end.");
37
hgs
parents: 25
diff changeset
  1048
	}
hgs
parents: 25
diff changeset
  1049
hgs
parents: 25
diff changeset
  1050
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1051
// MsgViewManager::populateUniEditorView
hgs
parents: 25
diff changeset
  1052
// @see header
hgs
parents: 25
diff changeset
  1053
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1054
void MsgViewManager::populateUniEditorView()
hgs
parents: 25
diff changeset
  1055
    {
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
  1056
    QCRITICAL_WRITE("MsgViewManager::populateUniEditorView start.");
37
hgs
parents: 25
diff changeset
  1057
    if (mUniEditor)
hgs
parents: 25
diff changeset
  1058
        {
hgs
parents: 25
diff changeset
  1059
        mUniEditor->openDraftsMessage(mEditorData);
hgs
parents: 25
diff changeset
  1060
        }
hgs
parents: 25
diff changeset
  1061
    mEditorData.clear();
hgs
parents: 25
diff changeset
  1062
    
hgs
parents: 25
diff changeset
  1063
    disconnect(mMainWindow, SIGNAL(viewReady()), this,
hgs
parents: 25
diff changeset
  1064
            SLOT(populateUniEditorView()));
46
b1f0785c289d 201027_03
hgs
parents: 41
diff changeset
  1065
    QCRITICAL_WRITE("MsgViewManager::populateUniEditorView end.");
37
hgs
parents: 25
diff changeset
  1066
}
hgs
parents: 25
diff changeset
  1067
hgs
parents: 25
diff changeset
  1068
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1069
// MsgViewManager::onDialogDeleteMsg
hgs
parents: 25
diff changeset
  1070
// @see header
hgs
parents: 25
diff changeset
  1071
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1072
void MsgViewManager::onDialogDeleteMsg(HbAction* action)
hgs
parents: 25
diff changeset
  1073
{
hgs
parents: 25
diff changeset
  1074
    HbMessageBox *dlg = qobject_cast<HbMessageBox*> (sender());
hgs
parents: 25
diff changeset
  1075
    if (action == dlg->actions().at(0)) {
hgs
parents: 25
diff changeset
  1076
        QList<int> msgIdList;
hgs
parents: 25
diff changeset
  1077
        msgIdList << mMessageId;
hgs
parents: 25
diff changeset
  1078
        ConversationsEngine::instance()->deleteMessages(msgIdList);
hgs
parents: 25
diff changeset
  1079
    }
hgs
parents: 25
diff changeset
  1080
    HbApplication::quit(); // exit after handling
hgs
parents: 25
diff changeset
  1081
}
hgs
parents: 25
diff changeset
  1082
hgs
parents: 25
diff changeset
  1083
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1084
// MsgViewManager::onDialogSaveTone
hgs
parents: 25
diff changeset
  1085
// @see header
hgs
parents: 25
diff changeset
  1086
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1087
void MsgViewManager::onDialogSaveTone(HbAction* action)
hgs
parents: 25
diff changeset
  1088
    {
hgs
parents: 25
diff changeset
  1089
        HbMessageBox *dlg = qobject_cast<HbMessageBox*> (sender());
hgs
parents: 25
diff changeset
  1090
        if (action == dlg->actions().at(0)) {
hgs
parents: 25
diff changeset
  1091
            UniDataModelLoader* pluginLoader = new UniDataModelLoader();
hgs
parents: 25
diff changeset
  1092
            UniDataModelPluginInterface* pluginInterface = pluginLoader->getDataModelPlugin(
hgs
parents: 25
diff changeset
  1093
                ConvergedMessage::BioMsg);
hgs
parents: 25
diff changeset
  1094
            pluginInterface->setMessageId(mMessageId);
hgs
parents: 25
diff changeset
  1095
            UniMessageInfoList attachments = pluginInterface->attachmentList();
hgs
parents: 25
diff changeset
  1096
hgs
parents: 25
diff changeset
  1097
            QString attachmentPath = attachments.at(0)->path();
hgs
parents: 25
diff changeset
  1098
hgs
parents: 25
diff changeset
  1099
            RingBc* ringBc = new RingBc();
hgs
parents: 25
diff changeset
  1100
            ringBc->saveTone(attachmentPath);
hgs
parents: 25
diff changeset
  1101
hgs
parents: 25
diff changeset
  1102
            // clear attachement list : its allocated at data model
hgs
parents: 25
diff changeset
  1103
            while (!attachments.isEmpty()) {
hgs
parents: 25
diff changeset
  1104
                delete attachments.takeFirst();
hgs
parents: 25
diff changeset
  1105
            }
hgs
parents: 25
diff changeset
  1106
hgs
parents: 25
diff changeset
  1107
            delete ringBc;
hgs
parents: 25
diff changeset
  1108
            delete pluginLoader;
hgs
parents: 25
diff changeset
  1109
        }
hgs
parents: 25
diff changeset
  1110
hgs
parents: 25
diff changeset
  1111
        // close the application once its handled
hgs
parents: 25
diff changeset
  1112
        HbApplication::quit();
hgs
parents: 25
diff changeset
  1113
}
hgs
parents: 25
diff changeset
  1114
hgs
parents: 25
diff changeset
  1115
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1116
// MsgViewManager::currentView
hgs
parents: 25
diff changeset
  1117
// @see header
hgs
parents: 25
diff changeset
  1118
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1119
int MsgViewManager::currentView()
hgs
parents: 25
diff changeset
  1120
    {
hgs
parents: 25
diff changeset
  1121
    return mCurrentView;
hgs
parents: 25
diff changeset
  1122
    }
hgs
parents: 25
diff changeset
  1123
hgs
parents: 25
diff changeset
  1124
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1125
// MsgViewManager::switchToAudioFetcher
hgs
parents: 25
diff changeset
  1126
// @see header
hgs
parents: 25
diff changeset
  1127
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1128
void MsgViewManager::switchToAudioFetcher(const QVariantList& data)
hgs
parents: 25
diff changeset
  1129
    {
hgs
parents: 25
diff changeset
  1130
    /**
hgs
parents: 25
diff changeset
  1131
     * Audio Fetcher is tried to open again
hgs
parents: 25
diff changeset
  1132
     */
hgs
parents: 25
diff changeset
  1133
    if(mAudioFetcherView)
hgs
parents: 25
diff changeset
  1134
        {
hgs
parents: 25
diff changeset
  1135
        return;
hgs
parents: 25
diff changeset
  1136
        }
hgs
parents: 25
diff changeset
  1137
hgs
parents: 25
diff changeset
  1138
    //switch to Audio Fetcher view
hgs
parents: 25
diff changeset
  1139
    mCurrentView = MsgBaseView::AUDIOFETCHER;
hgs
parents: 25
diff changeset
  1140
    mPreviousView = data.at(1).toInt();
hgs
parents: 25
diff changeset
  1141
    QVariantList editorData;
hgs
parents: 25
diff changeset
  1142
    // i=2 because view manager consumed first two args
hgs
parents: 25
diff changeset
  1143
    for (int i = 2; i < data.length(); i++) {
hgs
parents: 25
diff changeset
  1144
        editorData << data.at(i);
hgs
parents: 25
diff changeset
  1145
    }
hgs
parents: 25
diff changeset
  1146
    mAudioFetcherView = new MsgAudioFetcherView(editorData);
hgs
parents: 25
diff changeset
  1147
    mAudioFetcherView->setNavigationAction(mBackAction);
hgs
parents: 25
diff changeset
  1148
    connect(mAudioFetcherView, SIGNAL(switchView(const QVariantList&)), this,
hgs
parents: 25
diff changeset
  1149
            SLOT(switchView(const QVariantList&)));
hgs
parents: 25
diff changeset
  1150
hgs
parents: 25
diff changeset
  1151
    if(mPreviousView==MsgBaseView::CV && mConversationView)
hgs
parents: 25
diff changeset
  1152
        {
hgs
parents: 25
diff changeset
  1153
        mConversationView->setPSCVId(false);
hgs
parents: 25
diff changeset
  1154
        }
hgs
parents: 25
diff changeset
  1155
hgs
parents: 25
diff changeset
  1156
    mMainWindow->addView(mAudioFetcherView);
48
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
  1157
    mMainWindow->setCurrentView(mAudioFetcherView,true,Hb::ViewSwitchSequential);
37
hgs
parents: 25
diff changeset
  1158
    }
hgs
parents: 25
diff changeset
  1159
hgs
parents: 25
diff changeset
  1160
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1161
// MsgViewManager::saveContentToDraft
hgs
parents: 25
diff changeset
  1162
// @see header
hgs
parents: 25
diff changeset
  1163
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1164
int MsgViewManager::saveContentToDraft()
hgs
parents: 25
diff changeset
  1165
    {
hgs
parents: 25
diff changeset
  1166
    int msgId = NULL_CONVERSATIONID;
hgs
parents: 25
diff changeset
  1167
    if( mCurrentView == MsgBaseView::CV )
hgs
parents: 25
diff changeset
  1168
        {
hgs
parents: 25
diff changeset
  1169
        msgId = mConversationView->saveContentToDrafts();
hgs
parents: 25
diff changeset
  1170
        }
hgs
parents: 25
diff changeset
  1171
    else if( mCurrentView ==MsgBaseView::UNIEDITOR)
hgs
parents: 25
diff changeset
  1172
        {
hgs
parents: 25
diff changeset
  1173
        msgId  = mUniEditor->saveContentToDrafts();
hgs
parents: 25
diff changeset
  1174
        }
hgs
parents: 25
diff changeset
  1175
    return msgId;
hgs
parents: 25
diff changeset
  1176
    }
hgs
parents: 25
diff changeset
  1177
hgs
parents: 25
diff changeset
  1178
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1179
// MsgViewManager::saveContentToDraft
hgs
parents: 25
diff changeset
  1180
// @see header
hgs
parents: 25
diff changeset
  1181
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1182
void MsgViewManager::openUniEditorActivity(int activityMsgId)
hgs
parents: 25
diff changeset
  1183
{
hgs
parents: 25
diff changeset
  1184
    int msgType;
hgs
parents: 25
diff changeset
  1185
    int msgSubType;
hgs
parents: 25
diff changeset
  1186
  
hgs
parents: 25
diff changeset
  1187
    qint32 messageId(activityMsgId);
hgs
parents: 25
diff changeset
  1188
    // get the message type
hgs
parents: 25
diff changeset
  1189
    ConversationsEngine::instance()->markAsReadAndGetType(messageId, msgType, msgSubType);
hgs
parents: 25
diff changeset
  1190
    
hgs
parents: 25
diff changeset
  1191
    if (!mUniEditor) {
hgs
parents: 25
diff changeset
  1192
           mUniEditor = new MsgUnifiedEditorView();
hgs
parents: 25
diff changeset
  1193
           mMainWindow->addView(mUniEditor);
hgs
parents: 25
diff changeset
  1194
           mUniEditor->setNavigationAction(mBackAction);
hgs
parents: 25
diff changeset
  1195
           connect(mUniEditor, SIGNAL(switchView(const QVariantList&)), this,
hgs
parents: 25
diff changeset
  1196
               SLOT(switchView(const QVariantList&)));
hgs
parents: 25
diff changeset
  1197
       }
hgs
parents: 25
diff changeset
  1198
    
hgs
parents: 25
diff changeset
  1199
    // buffer data to open the draft message
hgs
parents: 25
diff changeset
  1200
    ConvergedMessageId convergedMsgId(activityMsgId);
hgs
parents: 25
diff changeset
  1201
    ConvergedMessage message;
hgs
parents: 25
diff changeset
  1202
    message.setMessageType((ConvergedMessage::MessageType) msgType);
hgs
parents: 25
diff changeset
  1203
    message.setMessageId(convergedMsgId);
hgs
parents: 25
diff changeset
  1204
hgs
parents: 25
diff changeset
  1205
    // Launch uni-editor view
hgs
parents: 25
diff changeset
  1206
    QByteArray dataArray;
hgs
parents: 25
diff changeset
  1207
    QDataStream messageStream(&dataArray, QIODevice::WriteOnly | QIODevice::Append);
hgs
parents: 25
diff changeset
  1208
    message.serialize(messageStream);
hgs
parents: 25
diff changeset
  1209
    
hgs
parents: 25
diff changeset
  1210
    QVariantList editorData;
hgs
parents: 25
diff changeset
  1211
    editorData << dataArray;
hgs
parents: 25
diff changeset
  1212
    mUniEditor->openDraftsMessage(editorData);
hgs
parents: 25
diff changeset
  1213
    
hgs
parents: 25
diff changeset
  1214
    // set the current view
hgs
parents: 25
diff changeset
  1215
    mCurrentView = MsgBaseView::UNIEDITOR;
48
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
  1216
    mPreviousView =MsgBaseView::CLV;
4f501b74aeb1 201029_02
hgs
parents: 46
diff changeset
  1217
    mMainWindow->setCurrentView(mUniEditor,true,Hb::ViewSwitchSequential);
37
hgs
parents: 25
diff changeset
  1218
}
hgs
parents: 25
diff changeset
  1219
hgs
parents: 25
diff changeset
  1220
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1221
// MsgViewManager::findContactId
hgs
parents: 25
diff changeset
  1222
// @see header
hgs
parents: 25
diff changeset
  1223
// ----------------------------------------------------------------------------
hgs
parents: 25
diff changeset
  1224
qint32 MsgViewManager::findContactId(QString address)
hgs
parents: 25
diff changeset
  1225
    {
hgs
parents: 25
diff changeset
  1226
    QString displayLabel;
hgs
parents: 25
diff changeset
  1227
    int count;
hgs
parents: 25
diff changeset
  1228
    int localId =
hgs
parents: 25
diff changeset
  1229
            MsgContactHandler::resolveContactDisplayName(address,
hgs
parents: 25
diff changeset
  1230
                                                         displayLabel,
hgs
parents: 25
diff changeset
  1231
                                                         count);
hgs
parents: 25
diff changeset
  1232
hgs
parents: 25
diff changeset
  1233
        return localId;
hgs
parents: 25
diff changeset
  1234
    }
hgs
parents: 25
diff changeset
  1235
hgs
parents: 25
diff changeset
  1236
//EOF