messagingapp/msgui/unifiedviewer/src/unifiedviewer.cpp
author hgs
Tue, 07 Sep 2010 13:28:39 +0530
changeset 62 fdbe8253b596
parent 56 f42d9a78f435
child 63 eceabb8c7a12
permissions -rw-r--r--
201035_03
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: Main view of unified viewer
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
 *
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
#include "unifiedviewer.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
// SYSTEM INCLUDES
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
#include <QGraphicsLinearLayout>
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 <HbToolBar>
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include <hbmessagebox.h>
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include <hbnotificationdialog.h>
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#include <HbStyleLoader>
37
hgs
parents: 25
diff changeset
    27
#include <centralrepository.h>
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    28
#include <MmsEngineDomainCRKeys.h>
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
    29
#include <ccsdefs.h>
62
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
    30
#include <xqappmgr.h>
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
    31
#include <xqaiwrequest.h>
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
// USER INCLUDES
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
#include "uniscrollarea.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
#include "unicontentswidget.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
#include "univiewerfeeder.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
#include "convergedmessageid.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
#include "convergedmessage.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
#include "convergedmessageaddress.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
#include "conversationsenginedefines.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
#include "conversationsengine.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
#include "debugtraces.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
#include "nativemessageconsts.h"
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
    44
#include "mmsconformancecheck.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
// LOCAL CONSTANTS
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    47
const QString REPLY_ICON("qtg_mono_reply");
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    48
const QString REPLY_ALL_ICON("qtg_mono_reply_all");
37
hgs
parents: 25
diff changeset
    49
const QString FORWARD_ICON("qtg_mono_forward_msg");
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    50
const QString SEND_ICON("qtg_mono_send");
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    51
const QString DELETE_ICON("qtg_mono_delete");
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
    53
//DB-file
3507212d340e 201031_02
hgs
parents: 48
diff changeset
    54
_LIT(KDbFileName, "c:[2002A542]conversations.db");
3507212d340e 201031_02
hgs
parents: 48
diff changeset
    55
// query to see if msg is forwardable
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
    56
_LIT(KSelectMsgPropertyStmt, " SELECT message_id, msg_property, msg_processingstate FROM conversation_messages WHERE message_id=:message_id ");
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
    57
3507212d340e 201031_02
hgs
parents: 48
diff changeset
    58
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
//LOCALIZED CONSTANTS
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
#define LOC_DELETE_MESSAGE hbTrId("txt_messaging_dialog_delete_message")
48
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
    61
#define LOC_DELETE_SHARED_MESSAGE hbTrId("txt_messaging_dialog_same_message_exists_in_multip")
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
//----------------------------------------------------------------------------
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
// UnifiedViewer::UnifiedViewer
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    65
// constructor
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
//----------------------------------------------------------------------------
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
    67
UnifiedViewer::UnifiedViewer(const qint32 messageId,
37
hgs
parents: 25
diff changeset
    68
                             QGraphicsItem *parent) :
62
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
    69
    MsgBaseView(parent), mConversationID(-1)
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    70
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    71
    QDEBUG_WRITE("UnifiedViewer contruction start");
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    72
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
    if (!HbStyleLoader::registerFilePath(":/layouts"))
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    75
        QDEBUG_WRITE("ERROR: UnifiedViewer -> HbStyleLoader::registerFilePath");
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    76
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
    mMessageId = messageId;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
    mViewFeeder = new UniViewerFeeder(mMessageId, this);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    81
    mScrollArea = new UniScrollArea(this);
37
hgs
parents: 25
diff changeset
    82
    this->setWidget(mScrollArea);
23
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
    mContentsWidget = new UniContentsWidget(mViewFeeder,this);
37
hgs
parents: 25
diff changeset
    85
hgs
parents: 25
diff changeset
    86
    connect(mContentsWidget,SIGNAL(sendMessage(const QString&,const QString&)),
hgs
parents: 25
diff changeset
    87
            this, SLOT(sendMessage(const QString&,const QString&)));
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
    connect(mScrollArea, SIGNAL(scrolledToNextSlide()),
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
    mContentsWidget, SLOT(populateNextSlide()));
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    91
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    92
    mScrollArea->setContentWidget(mContentsWidget);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    93
    mScrollArea->setHorizontalScrollBarPolicy(HbScrollArea::ScrollBarAlwaysOff);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    94
    mScrollArea->setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAutoHide);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    95
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    96
    QDEBUG_WRITE("UnifiedViewer contruction End");
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    98
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    99
//----------------------------------------------------------------------------
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
// UnifiedViewer::UnifiedViewer
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   101
// Destructor
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   102
//----------------------------------------------------------------------------
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   103
UnifiedViewer::~UnifiedViewer()
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
    HbStyleLoader::unregisterFilePath(":/layouts");
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
}
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
// UnifiedViewer::createToolBar
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   110
// Creates tool bar actions
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
void UnifiedViewer::createToolBar()
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
{
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   114
    HbToolBar* toolbar = this->toolBar();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   115
    toolbar->setOrientation(Qt::Horizontal);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   116
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   117
    int sendingState = mViewFeeder->sendingState();
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   118
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   119
    if (mViewFeeder->sendingState() == ConvergedMessage::Failed)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   120
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   121
        toolbar->addAction(HbIcon(SEND_ICON), "");
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   122
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   123
    else
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   124
    {
41
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   125
        // do not show reply option for multi recipient outgoing message
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   126
        if(!(!mViewFeeder->isIncoming() && mViewFeeder->recipientCount()>1))
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   127
        {
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   128
            toolbar->addAction(HbIcon(REPLY_ICON), "", this, SLOT(handleReplyAction()));
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   129
        }
37
hgs
parents: 25
diff changeset
   130
hgs
parents: 25
diff changeset
   131
        if (mViewFeeder->recipientCount() > 1)
hgs
parents: 25
diff changeset
   132
        {
41
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   133
            toolbar->addAction(HbIcon(REPLY_ALL_ICON), "", this, SLOT(handleReplyAllAction()));
37
hgs
parents: 25
diff changeset
   134
        }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   135
    }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   136
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   137
    if (isForwardOk())
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   138
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   139
        toolbar->addAction(HbIcon(FORWARD_ICON), "", this, SLOT(handleFwdAction()));
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   140
    }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   141
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   142
    toolbar->addAction(HbIcon(DELETE_ICON), "", this, SLOT(handleDeleteAction()));
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
}
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
// UnifiedViewer::clearContent
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
// @see header file
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
void UnifiedViewer::clearContent()
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
    QDEBUG_WRITE("UnifiedViewer clearContent start");
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   152
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   153
    mContentsWidget->clearContent();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
    mContentsWidget->resize(mContentsWidget->rect().width(), -1);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   155
    mScrollArea->setPosToStart();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
    mViewFeeder->clearContent();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   157
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
    QDEBUG_WRITE("UnifiedViewer clearContent End");
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   159
}
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
// UnifiedViewer::populateContent
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
// @see header file
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
//---------------------------------------------------------------
62
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   165
void UnifiedViewer::populateContent(const qint32 messageId, bool update, int msgCount, qint64 conversationId)
23
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
    QDEBUG_WRITE("UnifiedViewer populateContent Start");
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
    mMsgCount = msgCount;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
    mMessageId = messageId;
62
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   171
    mConversationID = conversationId;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
    QDEBUG_WRITE("UnifiedViewer feeder->updateContent START");
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
    if (update)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
        mViewFeeder->updateContent(messageId);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
    QDEBUG_WRITE("UnifiedViewer feeder->updateContent END");
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
37
hgs
parents: 25
diff changeset
   181
    // Dont show the scroll bar.
hgs
parents: 25
diff changeset
   182
    mScrollArea->setVerticalScrollBarPolicy(HbScrollArea::ScrollBarAlwaysOff);
hgs
parents: 25
diff changeset
   183
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   184
    if ( (mViewFeeder->msgType() == KSenduiMtmMmsUidValue) &&
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
         (mViewFeeder->slideCount() > 0) )
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
        mScrollArea->setTotalSlides(mViewFeeder->slideCount());
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   189
    else
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
        mScrollArea->setTotalSlides(1);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   192
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   193
    mScrollArea->resetCurrentSlide();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
    mContentsWidget->populateContent();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   197
    //Creation of toolbar now depends on content
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   198
    createToolBar();
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   199
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
    QDEBUG_WRITE("UnifiedViewer populateContent END");
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
//---------------------------------------------------------------
62
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   204
// UnifiedViewer::handleKeyEvent
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   205
// @see header file
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   206
//---------------------------------------------------------------
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   207
bool UnifiedViewer::handleKeyEvent(int key)
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   208
{
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   209
    bool eventHandled = false;
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   210
    if (Qt::Key_Yes == key) {
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   211
        bool incoming = mViewFeeder->isIncoming();
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   212
        QString number;
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   213
        if (incoming) {
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   214
            QString alias;
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   215
            mViewFeeder->fromAddressAndAlias(number, alias);
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   216
        }
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   217
        else if (!incoming && 1 == mViewFeeder->recipientCount()) {
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   218
            ConvergedMessageAddressList addrList;
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   219
            if ((addrList = mViewFeeder->toAddressList()).count()) {
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   220
                number = addrList[0]->address();
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   221
            }
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   222
            else if((addrList = mViewFeeder->ccAddressList()).count()) {
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   223
                number = addrList[0]->address();
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   224
            }
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   225
            else if ((addrList = mViewFeeder->bccAddressList()).count()) {
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   226
                number = addrList[0]->address();
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   227
            }
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   228
        }
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   229
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   230
        // Call
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   231
        if (!number.isEmpty()) {
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   232
            eventHandled = true;
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   233
            call(number);
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   234
        }
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   235
    }
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   236
    return eventHandled;
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   237
}
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   238
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   239
//---------------------------------------------------------------
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
// UnifiedViewer::handleFwdAction
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
// @see header file
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   242
//---------------------------------------------------------------
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   243
void UnifiedViewer::handleFwdAction()
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   244
{
41
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   245
    launchEditor(MsgBaseView::FORWARD_MSG);
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   246
}
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   247
41
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   248
//---------------------------------------------------------------
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   249
// UnifiedViewer::handleReplyAction
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   250
// @see header file
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   251
//---------------------------------------------------------------
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   252
void UnifiedViewer::handleReplyAction()
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   253
{
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   254
    launchEditor(MsgBaseView::REPLY_MSG);
41
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   255
}
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   256
41
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   257
//---------------------------------------------------------------
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   258
// UnifiedViewer::handleReplyAllAction
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   259
// @see header file
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   260
//---------------------------------------------------------------
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   261
void UnifiedViewer::handleReplyAllAction()
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   262
{
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   263
    launchEditor(MsgBaseView::REPLY_ALL_MSG);
23
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
//---------------------------------------------------------------
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   267
// UnifiedViewer::resizeEvent
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
// @see header file
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   269
//---------------------------------------------------------------
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   270
void UnifiedViewer::resizeEvent(QGraphicsSceneResizeEvent * event)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   271
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   272
    Q_UNUSED(event)
37
hgs
parents: 25
diff changeset
   273
    mContentsWidget->resize(this->rect().width(), this->rect().height()+1);
23
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
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   276
//---------------------------------------------------------------
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   277
// UnifiedViewer::handleDeleteAction
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   278
// @see header file
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   279
//---------------------------------------------------------------
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   280
void UnifiedViewer::handleDeleteAction()
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   281
{
48
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
   282
    QString txt = LOC_DELETE_MESSAGE;
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   283
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   284
    //if mms and out going. check for sharing
48
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
   285
    if((mViewFeeder->msgType() == KSenduiMtmMmsUidValue) && (!mViewFeeder->isIncoming()))
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
   286
    {
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
   287
        if(mViewFeeder->recipientCount() > 1 )
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
   288
        {
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
   289
            txt =  LOC_DELETE_SHARED_MESSAGE;
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
   290
        }
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
   291
    }
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   292
48
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
   293
    HbMessageBox::question(txt,this,SLOT(onDialogDeleteMsg(int)),
37
hgs
parents: 25
diff changeset
   294
                           HbMessageBox::Delete | HbMessageBox::Cancel);
23
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
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
// UnifiedViewer::sendMessage
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   299
// @see header file
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   300
//---------------------------------------------------------------
37
hgs
parents: 25
diff changeset
   301
void UnifiedViewer::sendMessage(const QString& phoneNumber,const QString& alias)
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   302
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   303
    ConvergedMessage message;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   304
    message.setBodyText(QString());
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   305
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   306
    ConvergedMessageAddress address;
37
hgs
parents: 25
diff changeset
   307
    address.setAlias(alias);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   308
    address.setAddress(phoneNumber);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   309
    message.addToRecipient(address);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   310
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   311
    QByteArray dataArray;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   312
    QDataStream messageStream
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   313
    (&dataArray, QIODevice::WriteOnly | QIODevice::Append);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   314
    message.serialize(messageStream);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   315
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   316
    QVariantList params;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   317
    params << MsgBaseView::UNIEDITOR;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   318
    params << MsgBaseView::UNIVIEWER;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   319
    params << dataArray;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   320
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   321
    emit switchView(params);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   322
    }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   323
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   324
//---------------------------------------------------------------
37
hgs
parents: 25
diff changeset
   325
// UnifiedViewer::onDialogDeleteMsg
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   326
// @see header file
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   327
//---------------------------------------------------------------
48
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
   328
void UnifiedViewer::onDialogDeleteMsg(int val)
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   329
{
48
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
   330
    if (val == HbMessageBox::Delete) {
37
hgs
parents: 25
diff changeset
   331
        QList<int> msgIdList;
hgs
parents: 25
diff changeset
   332
        msgIdList << mMessageId;
hgs
parents: 25
diff changeset
   333
hgs
parents: 25
diff changeset
   334
        ConversationsEngine::instance()->deleteMessages(msgIdList);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   335
37
hgs
parents: 25
diff changeset
   336
        QVariantList param;
hgs
parents: 25
diff changeset
   337
        if (mMsgCount > 1) {
hgs
parents: 25
diff changeset
   338
            param << MsgBaseView::CV;
hgs
parents: 25
diff changeset
   339
            param << MsgBaseView::UNIVIEWER;
62
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   340
            param << mConversationID;
37
hgs
parents: 25
diff changeset
   341
        }
hgs
parents: 25
diff changeset
   342
        else {
hgs
parents: 25
diff changeset
   343
            param << MsgBaseView::CLV;
hgs
parents: 25
diff changeset
   344
            param << MsgBaseView::UNIVIEWER;
hgs
parents: 25
diff changeset
   345
        }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   346
37
hgs
parents: 25
diff changeset
   347
        QVariant dummy(QVariant::Invalid);
hgs
parents: 25
diff changeset
   348
        param << dummy;
hgs
parents: 25
diff changeset
   349
        emit switchView(param);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   350
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   351
}
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   352
41
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   353
//---------------------------------------------------------------
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   354
// UnifiedViewer::launchEditor
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   355
// @see header file
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   356
//---------------------------------------------------------------
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   357
void UnifiedViewer::launchEditor(
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   358
        MsgBaseView::UniEditorOperation operation)
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   359
{
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   360
    ConvergedMessage message;
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   361
    ConvergedMessageId id(mMessageId);
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   362
    message.setMessageId(id);
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   363
    if(mViewFeeder->msgType() == KSenduiMtmMmsUidValue)
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   364
    {
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   365
        message.setMessageType(ConvergedMessage::Mms);
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   366
    }
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   367
    else
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   368
    {
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   369
        message.setMessageType(ConvergedMessage::Sms);
41
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   370
    }
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   371
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   372
    QByteArray dataArray;
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   373
    QDataStream messageStream
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   374
    (&dataArray, QIODevice::WriteOnly | QIODevice::Append);
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   375
    message.serialize(messageStream);
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   376
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   377
    QVariantList params;
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   378
    params << MsgBaseView::UNIEDITOR; // target view
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   379
    params << MsgBaseView::UNIVIEWER; // source view
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   380
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   381
    params << dataArray;
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   382
    params << operation;
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   383
41
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   384
    emit switchView(params);
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   385
}
25fe1fe642e3 201027_02
hgs
parents: 37
diff changeset
   386
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   387
//---------------------------------------------------------------
62
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   388
// UnifiedViewer::call
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   389
// @see header file
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   390
//---------------------------------------------------------------
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   391
void UnifiedViewer::call(const QString &number)
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   392
{
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   393
    QString service("phoneui");
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   394
    QString interface("com.nokia.symbian.ICallDial");
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   395
    QString operation("dial(QString)");
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   396
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   397
    XQApplicationManager appManager;
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   398
    QScopedPointer<XQAiwRequest> request(appManager.create(service, interface, operation, false));
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   399
    if (request) {
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   400
        QList<QVariant> args;
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   401
        args << number;
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   402
        request->setArguments(args);
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   403
        request->send();
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   404
    }
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   405
}
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   406
fdbe8253b596 201035_03
hgs
parents: 56
diff changeset
   407
//---------------------------------------------------------------
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   408
// UnifiedViewer::isForwardOk
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   409
// @see header file
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   410
//---------------------------------------------------------------
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   411
bool UnifiedViewer::isForwardOk()
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   412
{
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   413
    bool canForwardMsg = true;
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   414
    if(mViewFeeder->msgType() == KSenduiMtmMmsUidValue)
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   415
    {
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   416
        // open DB
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   417
        RSqlDatabase sqlDb;
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   418
        TInt error = sqlDb.Open(KDbFileName);
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   419
        if(error == KErrNone)
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   420
        {
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   421
            RSqlStatement sqlSelectStmt;
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   422
            CleanupClosePushL(sqlSelectStmt);
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   423
            sqlSelectStmt.PrepareL(sqlDb,KSelectMsgPropertyStmt);
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   424
            TInt msgIdIndex = sqlSelectStmt.ParameterIndex(_L(":message_id"));
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   425
            sqlSelectStmt.BindInt(msgIdIndex, mMessageId);
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   426
            // read the flag
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   427
            TInt msgPropertyIndex =
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   428
                    sqlSelectStmt.ColumnIndex(_L("msg_property"));
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   429
            
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   430
            TInt msgProcessingStateIndex = sqlSelectStmt.ColumnIndex(
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   431
                       _L("msg_processingstate"));
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   432
            
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   433
            TInt retValue = 0;
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   434
            TInt processingStateVal = 0;
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   435
            if (sqlSelectStmt.Next() == KSqlAtRow)
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   436
            {
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   437
                retValue = static_cast<TInt>
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   438
                    (sqlSelectStmt.ColumnInt(msgPropertyIndex));
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   439
                processingStateVal = static_cast<TInt>
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   440
                    (sqlSelectStmt.ColumnInt(msgProcessingStateIndex));              
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   441
            }        
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   442
           
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   443
            CleanupStack::PopAndDestroy(&sqlSelectStmt);
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   444
            sqlDb.Close();
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   445
            
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   446
            bool processing =  (processingStateVal & EPreviewMsgProcessed)? true:false;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   447
            if(processing)
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   448
            {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   449
                canForwardMsg = (retValue & EPreviewForward)? true:false;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   450
            }
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   451
            else
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   452
            {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   453
               	// If message is still getting processed, forward field may not be updated in
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   454
               	// Preview DB, so get the forwardable state from MMS conformance checks...
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   455
                MmsConformanceCheck* mmsConformanceCheck = new MmsConformanceCheck;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   456
                canForwardMsg = mmsConformanceCheck->validateMsgForForward(mMessageId);
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   457
                delete mmsConformanceCheck;  
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   458
            }
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   459
        }
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   460
        else
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   461
        {
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   462
            // fall-back plan
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   463
            MmsConformanceCheck* mmsConformanceCheck = new MmsConformanceCheck;
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   464
            canForwardMsg = mmsConformanceCheck->validateMsgForForward(mMessageId);
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   465
            delete mmsConformanceCheck;
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   466
        }
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   467
    }
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   468
    return canForwardMsg;
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   469
}
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   470
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   471
// EOF