messagingapp/msgui/unifiededitor/src/msgunieditorview.cpp
author hgs
Tue, 31 Aug 2010 18:53:38 +0530
changeset 56 f42d9a78f435
parent 51 3507212d340e
child 62 fdbe8253b596
permissions -rw-r--r--
201033_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
 *
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
// SYSTEM INCLUDES
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    19
#include <e32base.h>
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
#include <HbMenu>
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
#include <HbAction>
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
#include <HbToolBar>
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
#include <QGraphicsLinearLayout>
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include <HbGroupBox>
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
#include <HbScrollArea>
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#include <QDateTime>
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
#include <QDir>
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    28
#include <QBuffer>
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    29
#include <QFile>
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    30
#include <QFileInfo>
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    31
#include <xqconversions.h>
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    32
#include <HbToolBarExtension>
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    33
#include <HbListWidget>
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    34
#include <HbFrameBackground>
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    35
#include <HbListViewItem>
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    36
#include <HbListWidgetItem>
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    37
#include <HbNotificationDialog>
48
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
    38
#include <HbDeviceNotificationDialog>
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    39
#include <HbMessageBox>
37
hgs
parents: 25
diff changeset
    40
#include <HbAbstractVkbHost>
hgs
parents: 25
diff changeset
    41
#include <HbMainWindow>
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    42
#include <xqaiwrequest.h>
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    43
#include <xqappmgr.h>
37
hgs
parents: 25
diff changeset
    44
#include <HbStyleLoader>
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    45
// QT Mobility for fetching business card
37
hgs
parents: 25
diff changeset
    46
#include <qmobilityglobal.h>
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    47
#include <qversitwriter.h>
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    48
#include <qversitdocument.h>
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    49
#include <qcontact.h>
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    50
#include <qcontactmanager.h>
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    51
#include <qversitcontactexporter.h>
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    52
#include <cntservicescontact.h>
38
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
    53
#include <commonphoneparser.h>      // Common phone number validity checker
37
hgs
parents: 25
diff changeset
    54
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
// USER INCLUDES
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
#include "debugtraces.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
#include "msgunieditorview.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
#include "msgunieditoraddress.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
#include "msgunieditorsubject.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
#include "msgunieditorbody.h"
37
hgs
parents: 25
diff changeset
    61
#include "msgunieditormonitor.h"
hgs
parents: 25
diff changeset
    62
#include "msgunieditorattachmentcontainer.h"
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    63
#include "msgsendutil.h"
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
#include "convergedmessageaddress.h"
37
hgs
parents: 25
diff changeset
    65
#include "UniEditorGenUtils.h"
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
#include "unieditorpluginloader.h"
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    67
#include "unieditorplugininterface.h"
37
hgs
parents: 25
diff changeset
    68
#include "msgsettingsview.h"
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
    69
#include "msgcontacthandler.h"
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
    70
#include "msgaudiofetcherdialog.h"
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    71
37
hgs
parents: 25
diff changeset
    72
QTM_USE_NAMESPACE
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
// Constants
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    74
const QString SEND_ICON("qtg_mono_send");
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    75
const QString ATTACH_ICON("qtg_mono_attach");
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    76
// temporary folder for unieditor
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    77
const QString UNIFIED_EDITOR_TEMP_FOLDER("unifiededitor");
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
const int INVALID_MSGID = -1;
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    80
// vcard file extn.
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    81
const QString FILE_EXTN(".vcf");
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    82
// Max vcards inside a msg. Using a very large number.
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    83
// TODO: how we can avoid this?
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    84
const int MAX_VCARDS(1000);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
// LOCALIZED CONSTANTS
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    87
//To,Cc.Bcc
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    88
#define LOC_TO  hbTrId("txt_messaging_formlabel_to")
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    89
#define LOC_CC hbTrId("txt_messaging_formlabel_cc")
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    90
#define LOC_BCC hbTrId("txt_messaging_formlabel_bcc")
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    91
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    92
//attach options
48
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
    93
#define LOC_PHOTO           hbTrId("txt_messaging_opt_attach_sub_photo")
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
    94
#define LOC_SOUND           hbTrId("txt_messaging_opt_attach_sub_sound")
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
    95
#define LOC_BUSINESS_CARD   hbTrId("txt_messaging_opt_sub_business_card")
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    96
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    97
//options menu.
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    98
#define LOC_ADD_SUBJECT     hbTrId("txt_messaging_opt_add_subject")
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
    99
#define LOC_ADD_CC_BCC      hbTrId("txt_messaging_opt_add_cc_bcc")
37
hgs
parents: 25
diff changeset
   100
#define LOC_PRIORITY        hbTrId("txt_messaging_opt_priority")
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   101
#define LOC_DELETE_MESSAGE  hbTrId("txt_messaging_opt_delete_message")
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   102
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   103
//priority sub menu
37
hgs
parents: 25
diff changeset
   104
#define LOC_HIGH hbTrId("txt_messaging_opt_attach_sub_high")
hgs
parents: 25
diff changeset
   105
#define LOC_NORMAL hbTrId("txt_messaging_opt_attach_sub_normal")
hgs
parents: 25
diff changeset
   106
#define LOC_LOW hbTrId("txt_messaging_opt_attach_sub_low")
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   107
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   108
//group box
48
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
   109
#define LOC_OTHER_RECIPIENTS(n) hbTrId("txt_messaging_title_ln_other_recipients",n)
37
hgs
parents: 25
diff changeset
   110
#define LOC_OTHER_RECIPIENTS_EXPAND hbTrId("txt_messaging_title_other_recipients")
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   111
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   112
//saved to draft note
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   113
#define LOC_SAVED_TO_DRAFTS    hbTrId("txt_messaging_dpopinfo_saved_to_drafts")
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   115
//delete confermation
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   116
#define LOC_NOTE_DELETE_MESSAGE hbTrId("txt_messaging_dialog_delete_message")
37
hgs
parents: 25
diff changeset
   117
hgs
parents: 25
diff changeset
   118
// attachment addition failure note
hgs
parents: 25
diff changeset
   119
#define LOC_UNABLE_TO_ADD_ATTACHMENTS hbTrId("txt_messaging_dpopinfo_unable_to_attach_l1_of_l2")
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   120
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   121
//extension list item frame.
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   122
const QString POPUP_LIST_FRAME("qtg_fr_popup_list_normal");
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   123
37
hgs
parents: 25
diff changeset
   124
//settings confirmation
hgs
parents: 25
diff changeset
   125
#define LOC_DIALOG_SMS_SETTINGS_INCOMPLETE hbTrId("txt_messaging_dialog_sms_message_centre_does_not_e")
hgs
parents: 25
diff changeset
   126
#define LOC_DIALOG_MMS_SETTINGS_INCOMPLETE hbTrId("txt_messaging_dialog_mms_access_point_not_defined")
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   127
#define LOC_NOTE_FILES_MISSED_DRAFTS hbTrId("txt_messaging_dpopinfo_some_files_in_the_message")
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   128
#define LOC_NOTE_FILES_MISSED_SEND hbTrId("txt_messaging_dialog_unable_to_send_message_some")
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   129
// LOCAL FUNCTIONS
37
hgs
parents: 25
diff changeset
   130
hgs
parents: 25
diff changeset
   131
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
   132
// editorTempPath
hgs
parents: 25
diff changeset
   133
// @return fullPath of unified editor's temporary dir
hgs
parents: 25
diff changeset
   134
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
   135
QString editorTempPath()
hgs
parents: 25
diff changeset
   136
{
hgs
parents: 25
diff changeset
   137
    QDir tempDir;
hgs
parents: 25
diff changeset
   138
    QString tempPath(QDir::toNativeSeparators(tempDir.tempPath()));
hgs
parents: 25
diff changeset
   139
    tempPath.append(QDir::separator());
hgs
parents: 25
diff changeset
   140
    tempPath.append(UNIFIED_EDITOR_TEMP_FOLDER);
hgs
parents: 25
diff changeset
   141
    tempPath.append(QDir::separator());
hgs
parents: 25
diff changeset
   142
    return tempPath;
hgs
parents: 25
diff changeset
   143
}
23
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
// MsgUnifiedEditorView::MsgUnifiedEditorView
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
MsgUnifiedEditorView::MsgUnifiedEditorView( QGraphicsItem *parent ) :
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   150
    MsgBaseView(parent),
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   151
    mSubjectAction(0),
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   152
    mCcBccAction(0),
37
hgs
parents: 25
diff changeset
   153
    mSendAction(0),
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   154
    mMainLayout(0),
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   155
    mSubjectField(0),
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   156
    mToField(0),
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   157
    mCcField(0),
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   158
    mBccField(0),
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   159
    mBody(0),
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   160
    mContentWidget(0),
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   161
    mMsgMonitor(0),    
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   162
    mAttachmentContainer(0),
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   163
    mPluginLoader(0),
37
hgs
parents: 25
diff changeset
   164
    mCanSaveToDrafts(true),
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   165
    mVkbHost(NULL),
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   166
	mDialog(NULL),
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   167
    mOriginatingSC(0),
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   168
    mOriginatingSME(0),
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   169
    mReplyPath(false)
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   170
    {
37
hgs
parents: 25
diff changeset
   171
    connect(this->mainWindow(),SIGNAL(viewReady()),this,SLOT(doDelayedConstruction()));
hgs
parents: 25
diff changeset
   172
    
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
    addToolBar();
37
hgs
parents: 25
diff changeset
   174
    initView();
hgs
parents: 25
diff changeset
   175
    }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
37
hgs
parents: 25
diff changeset
   177
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
   178
// MsgUnifiedEditorView::~MsgUnifiedEditorView
hgs
parents: 25
diff changeset
   179
// @see header file
hgs
parents: 25
diff changeset
   180
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
   181
MsgUnifiedEditorView::~MsgUnifiedEditorView()
hgs
parents: 25
diff changeset
   182
{
hgs
parents: 25
diff changeset
   183
    // clean editor's temporary contents before exiting
hgs
parents: 25
diff changeset
   184
    removeTempFolder();
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   185
    
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   186
    //delete the popup dialog
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   187
    delete mDialog;
37
hgs
parents: 25
diff changeset
   188
}
hgs
parents: 25
diff changeset
   189
hgs
parents: 25
diff changeset
   190
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
   191
// MsgUnifiedEditorView::initView
hgs
parents: 25
diff changeset
   192
// @see header file
hgs
parents: 25
diff changeset
   193
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
   194
void MsgUnifiedEditorView::initView()
hgs
parents: 25
diff changeset
   195
{
hgs
parents: 25
diff changeset
   196
    if (!HbStyleLoader::registerFilePath(":/layouts")) {
hgs
parents: 25
diff changeset
   197
        QDEBUG_WRITE("ERROR: MsgUnifiedEditorView -> HbStyleLoader::registerFilePath");
hgs
parents: 25
diff changeset
   198
    }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
    HbScrollArea* scrollArea = new HbScrollArea(this);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
    this->setWidget(scrollArea);
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
    mContentWidget = new HbWidget(this);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
    scrollArea->setContentWidget(mContentWidget);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   204
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
    mMainLayout = new QGraphicsLinearLayout(Qt::Vertical, mContentWidget);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   206
    qreal vTopSpacing = 0.0;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
    qreal vItemSpacing = 0.0;
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   208
    style()->parameter("hb-param-margin-gene-top",vTopSpacing);    
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
    style()->parameter("hb-param-margin-gene-middle-vertical",vItemSpacing);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   210
    
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   211
    mMainLayout->setContentsMargins(0,vTopSpacing,0,0);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
    mMainLayout->setSpacing(vItemSpacing);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
37
hgs
parents: 25
diff changeset
   214
    mMsgMonitor = new MsgUnifiedEditorMonitor(this);
hgs
parents: 25
diff changeset
   215
    connect(mMsgMonitor, SIGNAL(enableSend(bool)), this, SLOT(enableSendButton(bool)));
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
37
hgs
parents: 25
diff changeset
   217
    mToField = new MsgUnifiedEditorAddress( LOC_TO, mContentWidget );
hgs
parents: 25
diff changeset
   218
    
hgs
parents: 25
diff changeset
   219
    mBody = new MsgUnifiedEditorBody( mContentWidget);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   221
    mMainLayout->addItem(mToField);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   222
    mMainLayout->addItem(mBody);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   223
 
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   224
    //Set the invalid msg id
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   225
    mOpenedMessageId.setId(-1);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   226
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   227
    connect(mToField, SIGNAL(sendMessage()), this, SLOT(send()));
37
hgs
parents: 25
diff changeset
   228
    connect(mToField, SIGNAL(contentChanged()),
hgs
parents: 25
diff changeset
   229
            mMsgMonitor, SLOT(handleContentChange()));
hgs
parents: 25
diff changeset
   230
    connect(mToField, SIGNAL(contentChanged()),this,SLOT(onContentChanged()));
hgs
parents: 25
diff changeset
   231
    
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   232
    connect(mBody, SIGNAL(sendMessage()), this, SLOT(send()));
37
hgs
parents: 25
diff changeset
   233
    connect(mBody, SIGNAL(contentChanged()),this,SLOT(onContentChanged()));
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   234
    connect(mBody, SIGNAL(contentChanged()),
37
hgs
parents: 25
diff changeset
   235
            mMsgMonitor, SLOT(handleContentChange()));
hgs
parents: 25
diff changeset
   236
    connect(mBody, SIGNAL(enableSendButton(bool)), this, SLOT(enableSendButton(bool)));    
hgs
parents: 25
diff changeset
   237
    
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   238
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   239
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
void MsgUnifiedEditorView::addMenu()
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   242
    //Create Menu Options
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   243
    HbMenu* mainMenu = new HbMenu();
37
hgs
parents: 25
diff changeset
   244
    mainMenu->setFocusPolicy(Qt::NoFocus);
hgs
parents: 25
diff changeset
   245
	
hgs
parents: 25
diff changeset
   246
    //if subject field / cc,bcc fields are already present don't add corresponding actions.
hgs
parents: 25
diff changeset
   247
    if(!mSubjectField)
hgs
parents: 25
diff changeset
   248
    {
hgs
parents: 25
diff changeset
   249
        mSubjectAction = mainMenu->addAction(LOC_ADD_SUBJECT);
hgs
parents: 25
diff changeset
   250
    }
hgs
parents: 25
diff changeset
   251
    
hgs
parents: 25
diff changeset
   252
    if(!mCcField)
hgs
parents: 25
diff changeset
   253
    {
hgs
parents: 25
diff changeset
   254
        mCcBccAction = mainMenu->addAction(LOC_ADD_CC_BCC);
hgs
parents: 25
diff changeset
   255
    }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   256
    
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   257
    HbMenu* prioritySubMenu = mainMenu->addMenu(LOC_PRIORITY);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   258
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   259
    HbAction* highPriorityAction = prioritySubMenu->addAction(LOC_HIGH);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   260
    highPriorityAction->setData(ConvergedMessage::High);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   261
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   262
    HbAction* normalPriorityAction = prioritySubMenu->addAction(LOC_NORMAL);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   263
    normalPriorityAction->setData(ConvergedMessage::Normal);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   264
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   265
    HbAction* lowPriorityAction = prioritySubMenu->addAction(LOC_LOW);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   266
    lowPriorityAction->setData(ConvergedMessage::Low);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   267
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
    HbAction* deleteMsgAction = mainMenu->addAction(LOC_DELETE_MESSAGE);
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
    connect(mSubjectAction,SIGNAL(triggered()),this, SLOT(addSubject()));
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   271
    connect(mCcBccAction,SIGNAL(triggered()),this, SLOT(addCcBcc()));
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   272
    connect(highPriorityAction, SIGNAL(triggered()), this, SLOT(changePriority()));
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   273
    connect(normalPriorityAction, SIGNAL(triggered()), this, SLOT(changePriority()));
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   274
    connect(lowPriorityAction, SIGNAL(triggered()), this, SLOT(changePriority()));
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   275
    connect(deleteMsgAction,SIGNAL(triggered()),this, SLOT(deleteMessage()));
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
    setMenu(mainMenu);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   278
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   279
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   280
void MsgUnifiedEditorView::openDraftsMessage(const QVariantList& editorData)
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   281
{
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   282
    // unpack editor's data
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   283
    // first arg is convergedmessage
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   284
    QByteArray dataArray = editorData.at(0).toByteArray();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   285
    ConvergedMessage* messageDetails = new ConvergedMessage;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   286
    QDataStream stream(&dataArray, QIODevice::ReadOnly);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   287
    messageDetails->deserialize(stream);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   288
    ConvergedMessage::MessageType messageType = messageDetails->messageType();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   289
    ConvergedMessageId messageId = *(messageDetails->id());
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   290
    delete messageDetails;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   291
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   292
    if(!mPluginLoader)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   293
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   294
        mPluginLoader = new UniEditorPluginLoader(this);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   295
    }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   296
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   297
    UniEditorPluginInterface* pluginInterface =
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   298
        mPluginLoader->getUniEditorPlugin(messageType);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   299
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   300
    mOpenedMessageId.setId(messageId.getId());
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   301
    mmOpenedMessageType = messageType;
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
    //Fetch the converged message from the msgId
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   304
    ConvergedMessage* msg;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   305
    msg = pluginInterface->convertFrom(messageId.getId());
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   306
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   307
    if( msg != NULL )
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   308
    {
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   309
        mReplyPath = msg->replyPath();
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   310
        if(mReplyPath)
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   311
        {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   312
            mOriginatingSC = msg->originatingSC();
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   313
            mOriginatingSME = msg->toAddressList().at(0)->address();
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   314
        }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   315
        //Populate the content inside editor
37
hgs
parents: 25
diff changeset
   316
        populateContentIntoEditor(*msg,true); // true as it is  draft message
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   317
        delete msg;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   318
    }
37
hgs
parents: 25
diff changeset
   319
    
hgs
parents: 25
diff changeset
   320
    mCanSaveToDrafts = false;  
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   321
}
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   322
41
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   323
void MsgUnifiedEditorView::fetchMessageFromStore(
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   324
        ConvergedMessageId& messageId,
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   325
        ConvergedMessage::MessageType messageType,
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   326
        int editorOperation)
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   327
{
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   328
    if(!mPluginLoader)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   329
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   330
        mPluginLoader = new UniEditorPluginLoader(this);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   331
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   332
    UniEditorPluginInterface* pluginInterface = NULL;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   333
    if( messageType == ConvergedMessage::Mms )
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   334
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   335
        pluginInterface =
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   336
                mPluginLoader->getUniEditorPlugin(ConvergedMessage::Mms);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   337
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   338
    else // For sms,vcard,vcal cases
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   339
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   340
        pluginInterface =
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   341
                mPluginLoader->getUniEditorPlugin(ConvergedMessage::Sms);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   342
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   343
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   344
    //Fetch the converged message from the msgId
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   345
    ConvergedMessage* msg;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   346
    msg = pluginInterface->convertFrom(messageId.getId(),
41
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   347
                    (UniEditorPluginInterface::EditorOperation)editorOperation);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   348
    if( msg != NULL )
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   349
    {
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   350
        if(editorOperation == UniEditorPluginInterface::Reply)
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   351
        {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   352
            mReplyPath = msg->replyPath();
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   353
            if(mReplyPath)
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   354
            {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   355
                mOriginatingSC = msg->originatingSC();
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   356
                mOriginatingSME = msg->toAddressList().at(0)->address();
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   357
            }
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   358
        }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   359
        //Populate the content inside editor
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   360
        populateContentIntoEditor(*msg);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   361
        delete msg;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   362
    }
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 MsgUnifiedEditorView::populateContent(const QVariantList& editorData)
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   366
{
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   367
    // unpack editor's data
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   368
    // first arg is convergedmessage
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   369
    QByteArray dataArray = editorData.at(0).toByteArray();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   370
    ConvergedMessage* messageDetails = new ConvergedMessage;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   371
    QDataStream stream(&dataArray, QIODevice::ReadOnly);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   372
    messageDetails->deserialize(stream);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   373
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   374
    // get next arg i.e. editor operation command
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   375
    int editorOp = 0;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   376
    if(editorData.length() > 1)
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   377
    {
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   378
        editorOp = editorData.at(1).toInt();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   379
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   380
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   381
    // population logic based on editor Operation command
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   382
    switch(editorOp)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   383
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   384
        case MsgBaseView::ADD_SUBJECT:
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
            addSubject();
37
hgs
parents: 25
diff changeset
   387
            setFocus(mSubjectField);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   388
        }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   389
        break;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   390
        case MsgBaseView::ADD_VCARD:
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   391
        {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   392
            contactsFetched(editorData.at(2));
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   393
        }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   394
        break;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   395
        case MsgBaseView::FORWARD_MSG:
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   396
        {
41
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   397
            fetchMessageFromStore(*messageDetails->id(),
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   398
                                   messageDetails->messageType(),
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   399
                                   UniEditorPluginInterface::Forward);
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   400
        }
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   401
        break;
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   402
        case MsgBaseView::REPLY_MSG:
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   403
        {
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   404
            fetchMessageFromStore(*messageDetails->id(),
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   405
                                   messageDetails->messageType(),
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   406
                                   UniEditorPluginInterface::Reply);
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   407
        }
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   408
        break;
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   409
        case MsgBaseView::REPLY_ALL_MSG:
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   410
        {
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   411
            fetchMessageFromStore(*messageDetails->id(),
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   412
                                   messageDetails->messageType(),
25fe1fe642e3 201027_02
hgs
parents: 38
diff changeset
   413
                                   UniEditorPluginInterface::ReplyAll);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   414
        }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   415
        break;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   416
        default:
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   417
        break;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   418
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   419
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   420
    // additional common operations for non-forwarded messages
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   421
    if(editorOp != MsgBaseView::FORWARD_MSG)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   422
    {
37
hgs
parents: 25
diff changeset
   423
        if(editorOp == MsgBaseView::ADD_RECIPIENTS)
hgs
parents: 25
diff changeset
   424
        {
hgs
parents: 25
diff changeset
   425
            // CV sends contact card address as the first address
hgs
parents: 25
diff changeset
   426
            ConvergedMessageAddressList toAddresses = 
hgs
parents: 25
diff changeset
   427
                    messageDetails->toAddressList();
hgs
parents: 25
diff changeset
   428
            int addrCount = toAddresses.count();
hgs
parents: 25
diff changeset
   429
            if(addrCount > 0)
hgs
parents: 25
diff changeset
   430
            {
hgs
parents: 25
diff changeset
   431
                // add contact card address first
hgs
parents: 25
diff changeset
   432
                ConvergedMessageAddress *firstAddress =
hgs
parents: 25
diff changeset
   433
                        new ConvergedMessageAddress();
hgs
parents: 25
diff changeset
   434
                firstAddress->setAlias(toAddresses.at(0)->alias());
hgs
parents: 25
diff changeset
   435
                firstAddress->setAddress(toAddresses.at(0)->address());
hgs
parents: 25
diff changeset
   436
                ConvergedMessageAddressList firstList;
hgs
parents: 25
diff changeset
   437
                firstList << firstAddress;
hgs
parents: 25
diff changeset
   438
                mToField->setAddresses(firstList);
hgs
parents: 25
diff changeset
   439
            
hgs
parents: 25
diff changeset
   440
                // add remaining contacts now
hgs
parents: 25
diff changeset
   441
                ConvergedMessageAddressList otherList;
hgs
parents: 25
diff changeset
   442
                for(int i=1; i<addrCount; i++)
hgs
parents: 25
diff changeset
   443
                {
hgs
parents: 25
diff changeset
   444
                    otherList << toAddresses.at(i);
hgs
parents: 25
diff changeset
   445
                }
hgs
parents: 25
diff changeset
   446
                mToField->setAddresses(otherList);
hgs
parents: 25
diff changeset
   447
            }
hgs
parents: 25
diff changeset
   448
        }
hgs
parents: 25
diff changeset
   449
        else
hgs
parents: 25
diff changeset
   450
        {
hgs
parents: 25
diff changeset
   451
            mToField->setAddresses(messageDetails->toAddressList());
hgs
parents: 25
diff changeset
   452
        }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   453
        QString bodyTxt = messageDetails->bodyText();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   454
        mBody->setText(bodyTxt);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   455
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   456
        int attachmentCount = messageDetails->attachments().count();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   457
        QStringList pendingAttList;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   458
        for(int i=0; i<attachmentCount; i++)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   459
        {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   460
            int imageSize=0;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   461
            QString mimeType;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   462
            TMsgMediaType mediaType = EMsgMediaUnknown;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   463
            QString filePath = messageDetails->attachments().at(i)->filePath();
48
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
   464
            
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   465
           
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   466
            UniEditorGenUtils* genUtils = q_check_ptr(new UniEditorGenUtils);
48
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
   467
            
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   468
            TRAP_IGNORE(genUtils->getFileInfoL(filePath,imageSize,
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   469
                                           mimeType,mediaType));
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   470
            delete genUtils;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   471
            switch(mediaType)
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   472
            {
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   473
                case EMsgMediaImage:
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   474
                {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   475
                    mBody->setImage(filePath);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   476
                }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   477
                break;
37
hgs
parents: 25
diff changeset
   478
                 case EMsgMediaAudio:
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   479
                {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   480
                    mBody->setAudio(filePath);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   481
                }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   482
                break;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   483
                default:
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   484
                {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   485
                    pendingAttList << filePath;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   486
                }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   487
                break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   488
            }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   489
        }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   490
        // add pending attachments in bulk
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   491
        addAttachments(pendingAttList);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   492
    }
37
hgs
parents: 25
diff changeset
   493
    delete messageDetails; 
23
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
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   496
void MsgUnifiedEditorView::populateContentIntoEditor(
37
hgs
parents: 25
diff changeset
   497
    const ConvergedMessage& messageDetails,bool draftMessage)
23
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
    // skip first-time MMS type switch note for draft
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   500
    mMsgMonitor->setSkipNote(true);
37
hgs
parents: 25
diff changeset
   501
    mToField->skipMaxRecipientQuery(true);
hgs
parents: 25
diff changeset
   502
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   503
    mToField->setAddresses(messageDetails.toAddressList(),draftMessage);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   504
    if(messageDetails.ccAddressList().count() > 0 )
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   505
    {
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   506
        if(!mCcField)
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   507
        {
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   508
        addCcBcc();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   509
        }
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   510
        mCcField->setAddresses(messageDetails.ccAddressList(),draftMessage);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   511
    }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   512
    if(messageDetails.bccAddressList().count() > 0 )
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   513
    {
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   514
        if(!mBccField)
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   515
        {
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   516
        addCcBcc();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   517
        }
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   518
        mBccField->setAddresses(messageDetails.bccAddressList(),draftMessage);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   519
    }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   520
    if(messageDetails.subject().size() > 0)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   521
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   522
       if(!mSubjectField)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   523
       {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   524
           addSubject();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   525
       }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   526
       mSubjectField->setText(messageDetails.subject());
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   527
    }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   528
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   529
    if(messageDetails.priority()==ConvergedMessage::High ||
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   530
            messageDetails.priority() == ConvergedMessage::Low)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   531
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   532
        if(!mSubjectField)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   533
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   534
            addSubject();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   535
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   536
        mSubjectField->setPriority(messageDetails.priority());
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   537
    }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   538
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   539
    QString bodyTxt = messageDetails.bodyText();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   540
    mBody->setText(bodyTxt);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   541
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   542
    ConvergedMessageAttachmentList attachmentList =
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   543
        messageDetails.attachments();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   544
    int attachmentCount = attachmentList.count();
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   545
     
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   546
    UniEditorGenUtils* genUtils = q_check_ptr(new UniEditorGenUtils);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   547
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   548
    QStringList pendingAttList;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   549
    for( int i=0; i < attachmentCount; i++ )
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   550
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   551
        QString filePath = messageDetails.attachments().at(i)->filePath();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   552
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   553
        if(attachmentList.at(i)->attachmentType() ==
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   554
            ConvergedMessageAttachment::EInline)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   555
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   556
            int imageSize=0;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   557
            QString mimeType;
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   558
            TMsgMediaType mediaType = EMsgMediaUnknown;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   559
            TRAP_IGNORE(genUtils->getFileInfoL(filePath,imageSize,
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   560
                mimeType,mediaType));
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   561
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   562
            switch(mediaType)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   563
            {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   564
                case EMsgMediaImage:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   565
                {
37
hgs
parents: 25
diff changeset
   566
                    mBody->setImage(filePath,draftMessage);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   567
                    break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   568
                }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   569
                case EMsgMediaAudio:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   570
                {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   571
                    mBody->setAudio(filePath);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   572
                    break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   573
                }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   574
                default:
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   575
                {
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   576
                    pendingAttList << filePath;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   577
                    break;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   578
                }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   579
            }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   580
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   581
        else
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   582
        {
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   583
            pendingAttList << filePath;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   584
        }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   585
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   586
    // add pending attachments to editor
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   587
    addAttachments(pendingAttList);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   588
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   589
    delete genUtils;
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   590
    // ensure that any msg-type change after this are shown
37
hgs
parents: 25
diff changeset
   591
    mToField->skipMaxRecipientQuery(false);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   592
    mMsgMonitor->setSkipNote(false);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   593
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   594
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   595
void MsgUnifiedEditorView::addToolBar()
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
    //Create Tool Bar
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   598
    HbToolBar *toolBar = new HbToolBar();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   599
    toolBar->setOrientation(Qt::Horizontal);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   600
    
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   601
    //tool bar extension for attach action.
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   602
    HbToolBarExtension* attachExtension = new HbToolBarExtension();
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   603
    mAttachAction = toolBar->addExtension(attachExtension);    
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   604
    mAttachAction->setIcon(HbIcon(ATTACH_ICON));
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   605
    
37
hgs
parents: 25
diff changeset
   606
    mTBExtnContentWidget = new HbListWidget();
hgs
parents: 25
diff changeset
   607
    mTBExtnContentWidget->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Fixed);
hgs
parents: 25
diff changeset
   608
    mTBExtnContentWidget->addItem(LOC_PHOTO);
hgs
parents: 25
diff changeset
   609
    mTBExtnContentWidget->addItem(LOC_SOUND);
hgs
parents: 25
diff changeset
   610
    mTBExtnContentWidget->addItem(LOC_BUSINESS_CARD);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   611
37
hgs
parents: 25
diff changeset
   612
    HbListViewItem *prototype = mTBExtnContentWidget->listItemPrototype();
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   613
    HbFrameBackground frame(POPUP_LIST_FRAME, HbFrameDrawer::NinePieces);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   614
    prototype->setDefaultFrame(frame);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   615
37
hgs
parents: 25
diff changeset
   616
    connect(mTBExtnContentWidget, SIGNAL(activated(HbListWidgetItem*)),
hgs
parents: 25
diff changeset
   617
            this, SLOT(handleViewExtnActivated(HbListWidgetItem*)));
hgs
parents: 25
diff changeset
   618
    connect(mTBExtnContentWidget, SIGNAL(activated(HbListWidgetItem*)),
hgs
parents: 25
diff changeset
   619
            attachExtension, SLOT(close()));
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   620
37
hgs
parents: 25
diff changeset
   621
    attachExtension->setContentWidget(mTBExtnContentWidget);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   622
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   623
    //Add Action to the toolbar and show toolbar
37
hgs
parents: 25
diff changeset
   624
    mSendAction = toolBar->addAction(HbIcon(SEND_ICON),QString(),this,SLOT(send()));
hgs
parents: 25
diff changeset
   625
    mSendAction->setDisabled(true);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   626
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   627
    setToolBar(toolBar);
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
void MsgUnifiedEditorView::addSubject()
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   631
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   632
    if(mSubjectField)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   633
    { // do nothing if already present
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   634
        return;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   635
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   636
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   637
    int index =0;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   638
    int offset = 1;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   639
    if(mAttachmentContainer)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   640
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   641
        ++offset;
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
    index = mMainLayout->count() - offset;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   644
37
hgs
parents: 25
diff changeset
   645
    mSubjectField = new MsgUnifiedEditorSubject( mContentWidget);
hgs
parents: 25
diff changeset
   646
    
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   647
    mMainLayout->insertItem(index,mSubjectField);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   648
    connect(mSubjectField, SIGNAL(contentChanged()),
37
hgs
parents: 25
diff changeset
   649
            mMsgMonitor, SLOT(handleContentChange()));
hgs
parents: 25
diff changeset
   650
    connect(mSubjectField, SIGNAL(contentChanged()),this,SLOT(onContentChanged()));
hgs
parents: 25
diff changeset
   651
    
hgs
parents: 25
diff changeset
   652
    //set focus to subject field.
hgs
parents: 25
diff changeset
   653
    HbAction* subjectAction = qobject_cast<HbAction*>(this->sender());
hgs
parents: 25
diff changeset
   654
    if(subjectAction)
hgs
parents: 25
diff changeset
   655
    {
hgs
parents: 25
diff changeset
   656
        setFocus(mSubjectField);
hgs
parents: 25
diff changeset
   657
    }
hgs
parents: 25
diff changeset
   658
    
hgs
parents: 25
diff changeset
   659
    // remove mainmenu's "Add Subject" action
hgs
parents: 25
diff changeset
   660
    if(mSubjectAction)
hgs
parents: 25
diff changeset
   661
    {
hgs
parents: 25
diff changeset
   662
        HbMenu* mainMenu = this->menu();
hgs
parents: 25
diff changeset
   663
        mainMenu->removeAction(mSubjectAction);
hgs
parents: 25
diff changeset
   664
        mSubjectAction->setParent(NULL);
hgs
parents: 25
diff changeset
   665
        delete mSubjectAction;
hgs
parents: 25
diff changeset
   666
    }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   667
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   668
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   669
void MsgUnifiedEditorView::addCcBcc()
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   670
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   671
    if(mCcField && mBccField)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   672
    { // do nothing if already present
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   673
        return;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   674
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   675
37
hgs
parents: 25
diff changeset
   676
    mCcField    = new MsgUnifiedEditorAddress( LOC_CC, mContentWidget );
hgs
parents: 25
diff changeset
   677
    mBccField   = new MsgUnifiedEditorAddress( LOC_BCC, mContentWidget );
hgs
parents: 25
diff changeset
   678
    mCcField->skipMaxRecipientQuery(true);
hgs
parents: 25
diff changeset
   679
    mBccField->skipMaxRecipientQuery(true);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   680
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   681
    connect(mCcField, SIGNAL(sendMessage()), this, SLOT(send()));
37
hgs
parents: 25
diff changeset
   682
    connect(mCcField, SIGNAL(contentChanged()), mMsgMonitor, SLOT(handleContentChange()));
hgs
parents: 25
diff changeset
   683
    connect(mCcField, SIGNAL(contentChanged()),this,SLOT(onContentChanged()));
hgs
parents: 25
diff changeset
   684
    
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   685
    connect(mBccField, SIGNAL(sendMessage()), this, SLOT(send()));
37
hgs
parents: 25
diff changeset
   686
    connect(mBccField, SIGNAL(contentChanged()), mMsgMonitor, SLOT(handleContentChange()));
hgs
parents: 25
diff changeset
   687
    connect(mBccField, SIGNAL(contentChanged()),this,SLOT(onContentChanged()));
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   688
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   689
    HbWidget* groupWidget = new HbWidget(mContentWidget);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   690
    groupWidget->setContentsMargins(0,0,0,0);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   691
    
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   692
    QGraphicsLinearLayout* ccBccLayout = new QGraphicsLinearLayout(Qt::Vertical, groupWidget);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   693
    ccBccLayout->setContentsMargins(0,0,0,0);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   694
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   695
    qreal vItemSpacing = 0.0;    
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   696
    style()->parameter("hb-param-margin-gene-middle-vertical",vItemSpacing);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   697
    ccBccLayout->setSpacing(vItemSpacing);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   698
    ccBccLayout->addItem(mCcField);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   699
    ccBccLayout->addItem(mBccField);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   700
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   701
    HbGroupBox* groupBox = new HbGroupBox(0);  
3507212d340e 201031_02
hgs
parents: 48
diff changeset
   702
    groupBox->setObjectName("groupBox");
25
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
    groupBox->setContentWidget(groupWidget);
37
hgs
parents: 25
diff changeset
   705
    groupBox->setHeading(LOC_OTHER_RECIPIENTS_EXPAND);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   706
    mMainLayout->insertItem(1,groupBox);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   707
    connect(groupBox, SIGNAL(toggled(bool)), this, SLOT(updateOtherRecipientCount(bool)));
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   708
    
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   709
    // add subject field too
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   710
    addSubject();
37
hgs
parents: 25
diff changeset
   711
hgs
parents: 25
diff changeset
   712
    //set focus to Cc field.
hgs
parents: 25
diff changeset
   713
    HbAction* ccBccAction = qobject_cast<HbAction*>(this->sender());
hgs
parents: 25
diff changeset
   714
    if(mCcBccAction)
hgs
parents: 25
diff changeset
   715
    {
hgs
parents: 25
diff changeset
   716
        setFocus(mCcField);
hgs
parents: 25
diff changeset
   717
    }
hgs
parents: 25
diff changeset
   718
    
hgs
parents: 25
diff changeset
   719
    // remove mainmenu's "Add Cc/Bcc" & "Add Subject" actions
hgs
parents: 25
diff changeset
   720
    if(mCcBccAction)
hgs
parents: 25
diff changeset
   721
    {
hgs
parents: 25
diff changeset
   722
    HbMenu* mainmenu = this->menu();
hgs
parents: 25
diff changeset
   723
    mainmenu->removeAction(mCcBccAction);
hgs
parents: 25
diff changeset
   724
    mCcBccAction->setParent(NULL);
hgs
parents: 25
diff changeset
   725
    delete mCcBccAction;
hgs
parents: 25
diff changeset
   726
    }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   727
    
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   728
    this->updateGeometry();
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   729
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   730
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   731
void MsgUnifiedEditorView::updateOtherRecipientCount(bool state)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   732
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   733
    HbGroupBox* groupBox = qobject_cast<HbGroupBox*>(sender());
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   734
    if(groupBox)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   735
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   736
        if(!state)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   737
        {
37
hgs
parents: 25
diff changeset
   738
           groupBox->setHeading(LOC_OTHER_RECIPIENTS_EXPAND);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   739
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   740
        else
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   741
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   742
            int addrCount = mCcField->addressCount();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   743
            addrCount += mBccField->addressCount();
37
hgs
parents: 25
diff changeset
   744
            if(addrCount > 0)
hgs
parents: 25
diff changeset
   745
            {
hgs
parents: 25
diff changeset
   746
                groupBox->setHeading(LOC_OTHER_RECIPIENTS(addrCount));    
hgs
parents: 25
diff changeset
   747
            }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   748
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   749
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   750
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   751
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   752
void MsgUnifiedEditorView::changePriority()
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   753
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   754
    HbAction* action = qobject_cast<HbAction*>(sender());
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   755
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   756
    ConvergedMessage::Priority priority = ConvergedMessage::Normal;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   757
   if(action)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   758
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   759
        int data = action->data().toInt();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   760
        priority = ConvergedMessage::Priority(data);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   761
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   762
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   763
    addSubject();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   764
    mSubjectField->setPriority(priority);
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 MsgUnifiedEditorView::deleteMessage()
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   768
{
37
hgs
parents: 25
diff changeset
   769
    HbMessageBox::question(LOC_NOTE_DELETE_MESSAGE,this,
hgs
parents: 25
diff changeset
   770
                           SLOT(onDialogDeleteMsg(HbAction*)),
hgs
parents: 25
diff changeset
   771
                           HbMessageBox::Delete | HbMessageBox::Cancel);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   772
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   773
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   774
void MsgUnifiedEditorView::removeAttachmentContainer()
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   775
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   776
    if(mAttachmentContainer)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   777
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   778
        mMainLayout->removeItem(mAttachmentContainer);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   779
        mAttachmentContainer->setParent(NULL);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   780
        delete mAttachmentContainer;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   781
        mAttachmentContainer = NULL;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   782
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   783
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   784
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   785
void MsgUnifiedEditorView::addAttachments(QStringList files)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   786
{    
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   787
    int fcount = files.count();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   788
    int i=0;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   789
    for(i=0; i<fcount; i++)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   790
    {
37
hgs
parents: 25
diff changeset
   791
        int status = addAttachment(files.at(i));
hgs
parents: 25
diff changeset
   792
        if(status == MsgAttachmentContainer::EAddSizeExceed)
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   793
        {
37
hgs
parents: 25
diff changeset
   794
            QString displayStr = QString(LOC_UNABLE_TO_ADD_ATTACHMENTS)
hgs
parents: 25
diff changeset
   795
                    .arg(fcount-i).arg(fcount);
hgs
parents: 25
diff changeset
   796
            HbNotificationDialog::launchDialog(displayStr);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   797
            break;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   798
        }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   799
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   800
}
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   801
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   802
int MsgUnifiedEditorView::addAttachment(const QString& filepath)
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   803
{
37
hgs
parents: 25
diff changeset
   804
    // do nothing if filepath is empty
hgs
parents: 25
diff changeset
   805
    if(filepath.isEmpty())
hgs
parents: 25
diff changeset
   806
    {
hgs
parents: 25
diff changeset
   807
        return MsgAttachmentContainer::EAddSuccess;
hgs
parents: 25
diff changeset
   808
    }
hgs
parents: 25
diff changeset
   809
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   810
    if(!mAttachmentContainer)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   811
    {
37
hgs
parents: 25
diff changeset
   812
        mAttachmentContainer = new MsgAttachmentContainer( mContentWidget);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   813
        connect(mAttachmentContainer, SIGNAL(emptyAttachmentContainer()),
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   814
                this, SLOT(removeAttachmentContainer()));
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   815
        connect(mAttachmentContainer, SIGNAL(contentChanged()),
37
hgs
parents: 25
diff changeset
   816
                mMsgMonitor, SLOT(handleContentChange()));
hgs
parents: 25
diff changeset
   817
        connect(mAttachmentContainer, SIGNAL(contentChanged()),
hgs
parents: 25
diff changeset
   818
                this,SLOT(onContentChanged()));
hgs
parents: 25
diff changeset
   819
        
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   820
        int index = mMainLayout->count() - 1;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   821
        mMainLayout->insertItem(index,mAttachmentContainer);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   822
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   823
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   824
    int ret = mAttachmentContainer->addAttachment(filepath);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   825
    if(ret != MsgAttachmentContainer::EAddSuccess)
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   826
    {
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   827
        // delete container, if it is empty
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   828
        if(mAttachmentContainer->count() == 0)
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   829
        {
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   830
            removeAttachmentContainer();
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   831
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   832
    }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   833
    return ret;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   834
}
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   835
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   836
void MsgUnifiedEditorView::send()
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   837
{
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   838
    activateInputBlocker();
37
hgs
parents: 25
diff changeset
   839
    
hgs
parents: 25
diff changeset
   840
    // first run the address validation tests
hgs
parents: 25
diff changeset
   841
    if( !mToField->validateContacts() ||
hgs
parents: 25
diff changeset
   842
        (mCcField && !mCcField->validateContacts()) ||
hgs
parents: 25
diff changeset
   843
        (mBccField && !mBccField->validateContacts()) )
hgs
parents: 25
diff changeset
   844
    {
hgs
parents: 25
diff changeset
   845
        deactivateInputBlocker();
hgs
parents: 25
diff changeset
   846
        return;
hgs
parents: 25
diff changeset
   847
    }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   848
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   849
    // converged msg for sending
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   850
    ConvergedMessage msg;
37
hgs
parents: 25
diff changeset
   851
    ConvergedMessage::MessageType messageType = MsgUnifiedEditorMonitor::messageType();
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   852
    msg.setMessageType(messageType);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   853
37
hgs
parents: 25
diff changeset
   854
    // we need to remove duplicate addresses
hgs
parents: 25
diff changeset
   855
    bool removeDuplicates = true;
hgs
parents: 25
diff changeset
   856
    ConvergedMessageAddressList addresses =
hgs
parents: 25
diff changeset
   857
            mToField->addresses(removeDuplicates);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   858
    if(messageType == ConvergedMessage::Sms &&
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   859
       addresses.isEmpty())
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   860
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   861
        // no recipient specified for sms, do not send msg
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   862
        deactivateInputBlocker();
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   863
        return;
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
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   866
    ConvergedMessageAddressList ccAddresses;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   867
    ConvergedMessageAddressList bccAddresses;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   868
    if(mCcField)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   869
    {
37
hgs
parents: 25
diff changeset
   870
        ccAddresses = mCcField->addresses(removeDuplicates);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   871
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   872
    if(mBccField)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   873
    {
37
hgs
parents: 25
diff changeset
   874
        bccAddresses = mBccField->addresses(removeDuplicates);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   875
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   876
    if( messageType == ConvergedMessage::Mms &&
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   877
            addresses.isEmpty() &&
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   878
            ccAddresses.isEmpty() &&
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   879
            bccAddresses.isEmpty())
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   880
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   881
        // no recipient specified for mms, do not send msg
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   882
        deactivateInputBlocker();
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   883
        return;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   884
    }
37
hgs
parents: 25
diff changeset
   885
    
hgs
parents: 25
diff changeset
   886
    //close vkb before switching view.
hgs
parents: 25
diff changeset
   887
    mVkbHost->closeKeypad(true);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   888
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   889
    int result = packMessage(msg);
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   890
    if(result == KErrNotFound)
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   891
    {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   892
        HbMessageBox::information(LOC_NOTE_FILES_MISSED_SEND, 0, 0, HbMessageBox::Ok);
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   893
        deactivateInputBlocker();
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   894
        return;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   895
    }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   896
    // send message
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   897
    MsgSendUtil *sendUtil = new MsgSendUtil(this);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   898
    int sendResult = sendUtil->send(msg);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   899
    delete sendUtil;
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
    // all checks and validations happen before send
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   902
    if( sendResult == KErrNone)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   903
    {
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   904
        //After sending the new content to drafts chk if the msg
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   905
        //was originally opened from drafts and delete the opened entry
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   906
        if( mOpenedMessageId.getId() != -1)
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
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   909
            if(!mPluginLoader)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   910
            {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   911
                mPluginLoader = new UniEditorPluginLoader(this);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   912
            }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   913
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   914
            UniEditorPluginInterface* pluginInterface =
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   915
                mPluginLoader->getUniEditorPlugin(messageType);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   916
            //TODO delete the entry
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   917
            pluginInterface->deleteDraftsEntry(mOpenedMessageId.getId());
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   918
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   919
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   920
        ConvergedMessageAddressList addrList = addresses;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   921
        QString receipient;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   922
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   923
        int recepientCount = addrList.count();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   924
        if(recepientCount)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   925
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   926
            receipient = addrList.at(0)->address();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   927
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   928
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   929
        if( mCcField && mBccField)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   930
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   931
            addrList = ccAddresses;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   932
            int ccCount = addrList.count();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   933
            recepientCount += ccCount;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   934
            if(ccCount)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   935
            {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   936
                receipient = addrList.at(0)->address();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   937
            }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   938
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   939
            addrList = bccAddresses;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   940
            int bccCount = addrList.count();
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   941
            recepientCount += bccCount;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   942
            if(bccCount)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   943
            {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   944
                receipient = addrList.at(0)->address();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   945
            }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   946
        }
37
hgs
parents: 25
diff changeset
   947
        
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   948
    QVariantList params;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   949
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   950
    if(recepientCount == 1 )
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   951
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   952
        params << MsgBaseView::CV;  // target view
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   953
        params << MsgBaseView::UNIEDITOR; // source view
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   954
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   955
        params << receipient;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   956
        }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   957
    else
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   958
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   959
        params << MsgBaseView::CLV;// target view
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   960
        params << MsgBaseView::UNIEDITOR; // source view
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   961
        }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   962
        deactivateInputBlocker();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   963
        emit switchView(params);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   964
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   965
    else
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   966
    {
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   967
        deactivateInputBlocker();
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   968
        if(sendResult == KErrNotFound)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   969
        {
37
hgs
parents: 25
diff changeset
   970
            if (messageType == ConvergedMessage::Sms)
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   971
            {
37
hgs
parents: 25
diff changeset
   972
                HbMessageBox::question(LOC_DIALOG_SMS_SETTINGS_INCOMPLETE,
hgs
parents: 25
diff changeset
   973
                                       this,SLOT(onDialogSmsSettings(HbAction*)),
hgs
parents: 25
diff changeset
   974
                                       HbMessageBox::Ok | HbMessageBox::Cancel);
hgs
parents: 25
diff changeset
   975
            }
hgs
parents: 25
diff changeset
   976
            else
hgs
parents: 25
diff changeset
   977
            {
hgs
parents: 25
diff changeset
   978
                HbMessageBox::question(LOC_DIALOG_MMS_SETTINGS_INCOMPLETE,
hgs
parents: 25
diff changeset
   979
                                       this,SLOT(onDialogMmsSettings(HbAction*)),                             
hgs
parents: 25
diff changeset
   980
                                       HbMessageBox::Ok | HbMessageBox::Cancel);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
   981
            }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   982
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   983
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   984
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   985
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   986
int MsgUnifiedEditorView::packMessage(ConvergedMessage &msg, bool isSave)
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   987
{
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   988
    // reset reply-path if originating SME constraint is broken
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   989
    if(mReplyPath && isReplyPathBroken())
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   990
    {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   991
        mReplyPath = false;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   992
    }
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   993
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   994
    msg.setReplyPath(mReplyPath);
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   995
    if(mReplyPath)
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   996
    {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   997
        msg.setOriginatingSC(mOriginatingSC);
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   998
    }
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
   999
37
hgs
parents: 25
diff changeset
  1000
    ConvergedMessage::MessageType messageType = MsgUnifiedEditorMonitor::messageType();
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1001
    msg.setMessageType(messageType);
37
hgs
parents: 25
diff changeset
  1002
    // If isSave is true (save to draft usecase), then don't remove duplicates
hgs
parents: 25
diff changeset
  1003
    // If isSave is false (send usecase), then remove duplicates
hgs
parents: 25
diff changeset
  1004
    bool removeDuplicates = !isSave;
hgs
parents: 25
diff changeset
  1005
    ConvergedMessageAddressList addresses = 
hgs
parents: 25
diff changeset
  1006
            mToField->addresses(removeDuplicates);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1007
    ConvergedMessageAddressList ccAddresses;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1008
    ConvergedMessageAddressList bccAddresses;
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1009
    ConvergedMessageAttachmentList mediaList;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1010
    int errorCode = 0;
38
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1011
	//Don't format the addresses for save to drfats case
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1012
	if(!isSave)
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1013
	{
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1014
       formatAddresses(addresses);
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1015
    }
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1016
	
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1017
    msg.addToRecipients(addresses);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1018
    msg.setBodyText(mBody->text());
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1019
    msg.setDirection(ConvergedMessage::Outgoing);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1020
    QDateTime time = QDateTime::currentDateTime();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1021
    msg.setTimeStamp(time.toTime_t());
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1022
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1023
    if(messageType == ConvergedMessage::Mms)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1024
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1025
        if(mCcField)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1026
        {
37
hgs
parents: 25
diff changeset
  1027
            ccAddresses = mCcField->addresses(removeDuplicates);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1028
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1029
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1030
        if(mBccField)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1031
        {
37
hgs
parents: 25
diff changeset
  1032
            bccAddresses = mBccField->addresses(removeDuplicates);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1033
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1034
37
hgs
parents: 25
diff changeset
  1035
        if(removeDuplicates)
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1036
        {
37
hgs
parents: 25
diff changeset
  1037
            int matchDigitsCount = MsgUnifiedEditorAddress::contactMatchDigits();
hgs
parents: 25
diff changeset
  1038
            //comapre cc and to field,remove duplicate from cc
hgs
parents: 25
diff changeset
  1039
            foreach(ConvergedMessageAddress *ccAddress,ccAddresses)
hgs
parents: 25
diff changeset
  1040
            {
hgs
parents: 25
diff changeset
  1041
                foreach(ConvergedMessageAddress *toAddress,addresses)
hgs
parents: 25
diff changeset
  1042
                {
hgs
parents: 25
diff changeset
  1043
                    if(0 == ccAddress->address().right(matchDigitsCount).compare(toAddress->address().right(matchDigitsCount)))
hgs
parents: 25
diff changeset
  1044
                    {
hgs
parents: 25
diff changeset
  1045
                        ccAddresses.removeOne(ccAddress);
hgs
parents: 25
diff changeset
  1046
                    }
hgs
parents: 25
diff changeset
  1047
                }
hgs
parents: 25
diff changeset
  1048
            }
hgs
parents: 25
diff changeset
  1049
            //comapre bcc and cc field,remove duplicate from bcc
hgs
parents: 25
diff changeset
  1050
            foreach(ConvergedMessageAddress *bccAddress,bccAddresses)
hgs
parents: 25
diff changeset
  1051
            {
hgs
parents: 25
diff changeset
  1052
                foreach(ConvergedMessageAddress *ccAddress,ccAddresses)
hgs
parents: 25
diff changeset
  1053
                {
hgs
parents: 25
diff changeset
  1054
                    if(0 == bccAddress->address().right(matchDigitsCount).compare(ccAddress->address().right(matchDigitsCount)))
hgs
parents: 25
diff changeset
  1055
                    {
hgs
parents: 25
diff changeset
  1056
                        bccAddresses.removeOne(bccAddress);
hgs
parents: 25
diff changeset
  1057
                    }
hgs
parents: 25
diff changeset
  1058
                }
hgs
parents: 25
diff changeset
  1059
            }
hgs
parents: 25
diff changeset
  1060
            //comapre bcc and to field,remove duplicate from bcc
hgs
parents: 25
diff changeset
  1061
            foreach(ConvergedMessageAddress *bccAddress,bccAddresses)
hgs
parents: 25
diff changeset
  1062
            {
hgs
parents: 25
diff changeset
  1063
                foreach(ConvergedMessageAddress *toAddress,addresses)
hgs
parents: 25
diff changeset
  1064
                {
hgs
parents: 25
diff changeset
  1065
                    if(0 == bccAddress->address().right(matchDigitsCount).compare(toAddress->address().right(matchDigitsCount)))
hgs
parents: 25
diff changeset
  1066
                    {
hgs
parents: 25
diff changeset
  1067
                        bccAddresses.removeOne(bccAddress);
hgs
parents: 25
diff changeset
  1068
                    }
hgs
parents: 25
diff changeset
  1069
                }
hgs
parents: 25
diff changeset
  1070
            }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1071
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1072
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1073
        if(ccAddresses.count()>0)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1074
        {
38
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1075
		//Don't format the addresses for save to drfats case
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1076
	    if(!isSave)
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1077
	    {
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1078
           formatAddresses(ccAddresses);
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1079
        }        
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1080
        msg.addCcRecipients(ccAddresses);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1081
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1082
        if(bccAddresses.count()>0)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1083
        {
38
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1084
		//Don't format the addresses for save to drfats case
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1085
	    if(!isSave)
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1086
	    {
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1087
           formatAddresses(bccAddresses);        
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1088
		}
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1089
        msg.addBccRecipients(bccAddresses);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1090
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1091
        if(mSubjectField)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1092
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1093
            msg.setSubject(mSubjectField->text());
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1094
            msg.setPriority(mSubjectField->priority());
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1095
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1096
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1097
        QStringList mediafiles(mBody->mediaContent());
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1098
        if (!mediafiles.isEmpty())
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1099
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1100
            for (int i = 0; i < mediafiles.size(); ++i)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1101
            {
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1102
                if(QFile::exists(mediafiles.at(i)))
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1103
                {
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1104
                ConvergedMessageAttachment* attachment =
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1105
                    new ConvergedMessageAttachment(
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1106
                        mediafiles.at(i),
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1107
                        ConvergedMessageAttachment::EInline);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1108
                mediaList << attachment;
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1109
                }
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1110
                else
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1111
                {   mBody->removeMediaContent(mediafiles.at(i));
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1112
                    errorCode = KErrNotFound;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1113
                }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1114
            }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1115
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1116
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1117
        if(mediaList.count() > 0)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1118
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1119
            msg.addAttachments(mediaList);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1120
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1121
    }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1122
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1123
    // sms/mms attachment list
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1124
    ConvergedMessageAttachmentList attachmentList;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1125
        if(mAttachmentContainer)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1126
        {
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1127
            MsgUnifiedEditorAttachmentList editorAttachmentList =
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1128
                mAttachmentContainer->attachmentList();
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1129
                for (int i = 0; i < editorAttachmentList.count(); ++i)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1130
                {
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1131
                    if(QFile::exists(editorAttachmentList.at(i)->path()))
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1132
                    {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1133
                        ConvergedMessageAttachment* attachment =
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1134
                                                new ConvergedMessageAttachment(
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1135
                                                    editorAttachmentList.at(i)->path(),
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1136
                                                    ConvergedMessageAttachment::EAttachment);
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1137
                                            attachmentList << attachment;    
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1138
                    }
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1139
                    else
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1140
                    {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1141
                        mAttachmentContainer->deleteAttachment(editorAttachmentList.at(i));
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1142
                        errorCode = KErrNotFound;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1143
                    }   
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1144
                }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1145
            }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1146
        if(attachmentList.count() > 0)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1147
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1148
            msg.addAttachments(attachmentList);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1149
        }
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1150
        return errorCode;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1151
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1152
37
hgs
parents: 25
diff changeset
  1153
int MsgUnifiedEditorView::saveContentToDrafts()
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1154
{
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1155
    if(!mCanSaveToDrafts)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1156
        {
37
hgs
parents: 25
diff changeset
  1157
        return mOpenedMessageId.getId(); // return currently opened message id
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1158
        }
37
hgs
parents: 25
diff changeset
  1159
    
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1160
    activateInputBlocker();
37
hgs
parents: 25
diff changeset
  1161
    ConvergedMessage::MessageType messageType = MsgUnifiedEditorMonitor::messageType();
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1162
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1163
    ConvergedMessageAddressList addresses = mToField->addresses();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1164
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1165
    UniEditorPluginInterface* pluginInterface = NULL;
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1166
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1167
    if( mOpenedMessageId.getId() != -1)
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1168
    {
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1169
        if(!mPluginLoader)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1170
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1171
            mPluginLoader = new UniEditorPluginLoader(this);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1172
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1173
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1174
        pluginInterface =
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1175
            mPluginLoader->getUniEditorPlugin(messageType);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1176
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1177
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1178
    if(messageType == ConvergedMessage::Sms &&
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1179
            addresses.isEmpty() &&
37
hgs
parents: 25
diff changeset
  1180
            MsgUnifiedEditorMonitor::bodySize() <= 0 &&
hgs
parents: 25
diff changeset
  1181
            MsgUnifiedEditorMonitor::containerSize() <= 0)
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1182
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1183
        if(mOpenedMessageId.getId() != -1)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1184
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1185
        pluginInterface->deleteDraftsEntry(mOpenedMessageId.getId());
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1186
        }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1187
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1188
        // if empty msg, do not save
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1189
        deactivateInputBlocker();
37
hgs
parents: 25
diff changeset
  1190
        return INVALID_MSGID;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1191
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1192
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1193
    ConvergedMessageAddressList ccAddresses;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1194
    ConvergedMessageAddressList bccAddresses;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1195
    if(mCcField)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1196
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1197
        ccAddresses = mCcField->addresses();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1198
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1199
    if(mBccField)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1200
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1201
        bccAddresses = mBccField->addresses();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1202
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1203
    int subectSize =0;
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1204
    if(mSubjectField)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1205
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1206
        subectSize = mSubjectField->text().size();
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1207
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1208
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1209
    if( messageType == ConvergedMessage::Mms &&
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1210
            addresses.isEmpty() &&
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1211
            ccAddresses.isEmpty() &&
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1212
            bccAddresses.isEmpty() &&
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1213
            subectSize <= 0 &&
37
hgs
parents: 25
diff changeset
  1214
            MsgUnifiedEditorMonitor::bodySize() <= 0 &&
hgs
parents: 25
diff changeset
  1215
            MsgUnifiedEditorMonitor::containerSize() <= 0)
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1216
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1217
        if(mOpenedMessageId.getId() != -1)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1218
        {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1219
            pluginInterface->deleteDraftsEntry(mOpenedMessageId.getId());
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1220
        }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1221
        // if empty msg, do not send
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1222
        deactivateInputBlocker();
37
hgs
parents: 25
diff changeset
  1223
        return INVALID_MSGID;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1224
    }
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1225
    ConvergedMessage msg;
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1226
    int result = packMessage(msg, true);
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1227
    if(result == KErrNotFound)
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1228
        {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1229
        HbNotificationDialog::launchDialog(LOC_NOTE_FILES_MISSED_DRAFTS);
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1230
        if(messageType == ConvergedMessage::Sms &&
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1231
                    addresses.isEmpty() &&
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1232
                    MsgUnifiedEditorMonitor::bodySize() <= 0 &&
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1233
                    MsgUnifiedEditorMonitor::containerSize() <= 0)
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1234
            {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1235
                if(mOpenedMessageId.getId() != -1)
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1236
                {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1237
                pluginInterface->deleteDraftsEntry(mOpenedMessageId.getId());
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1238
                }
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1239
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1240
                // if empty msg, do not save
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1241
                deactivateInputBlocker();
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1242
                return INVALID_MSGID;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1243
            }
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1244
        }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1245
    // save to drafts
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1246
    MsgSendUtil *sendUtil = new MsgSendUtil(this);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1247
    int msgId = sendUtil->saveToDrafts(msg);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1248
    delete sendUtil;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1249
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1250
    // If saving new msg to draft succeeded and also if the originally
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1251
    // opened msg was from drafts, then delete the original msg entry
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1252
    if(msgId != -1 && mOpenedMessageId.getId() != -1)
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1253
    {
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1254
        pluginInterface->deleteDraftsEntry(mOpenedMessageId.getId());
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1255
        mOpenedMessageId.setId(INVALID_MSGID);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1256
    }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1257
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1258
    deactivateInputBlocker();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1259
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1260
    bool res = ((msgId > INVALID_MSGID)? true : false);
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1261
    
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1262
    if(res)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1263
        {
48
4f501b74aeb1 201029_02
hgs
parents: 41
diff changeset
  1264
        HbDeviceNotificationDialog::notification("", LOC_SAVED_TO_DRAFTS);
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1265
        }
37
hgs
parents: 25
diff changeset
  1266
    return msgId;
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1267
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1268
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1269
void MsgUnifiedEditorView::resizeEvent( QGraphicsSceneResizeEvent * event )
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1270
{
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1271
 Q_UNUSED(event)
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1272
 #ifdef _DEBUG_TRACES_
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1273
 qDebug()<<"resize event";
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1274
#endif
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1275
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1276
 mContentWidget->resize(this->rect().width(),this->rect().height()+1);
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1277
}
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1278
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1279
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1280
// MsgUnifiedEditorView::createVCards
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1281
// @see header file
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1282
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1283
int MsgUnifiedEditorView::createVCards(
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1284
        const QVariant& value, QStringList& filelist)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1285
{
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1286
    // make sure that temp-folder is created for storing vcards
37
hgs
parents: 25
diff changeset
  1287
    if(!createTempFolder())
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1288
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1289
        return KErrGeneral;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1290
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1291
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1292
    // extract contact-list
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1293
    QContactManager* contactManager = new QContactManager("symbian");
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1294
    CntServicesContactList cntServicesContacts = qVariantValue<CntServicesContactList>(value);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1295
    int cntCount = cntServicesContacts.count();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1296
    QList<QtMobility::QContact> contactList;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1297
    for(int i = 0; i < cntCount; i++ )
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1298
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1299
        contactList << contactManager->contact( cntServicesContacts.at(i).mContactId );
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1300
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1301
    delete contactManager;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1302
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1303
    // get list of all versit-documents
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1304
    QVersitDocument::VersitType versitType(QVersitDocument::VCard21Type);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1305
    QVersitContactExporter* exporter = new QVersitContactExporter();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1306
    
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1307
    bool ret_val = exporter->exportContacts(contactList, versitType);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1308
    QList<QtMobility::QVersitDocument> documentList = exporter->documents();    
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1309
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1310
    delete exporter;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1311
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1312
    // loop though and create a vcard for each contact
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1313
    QVersitWriter* writer = new QVersitWriter();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1314
    for(int i = 0; i < cntCount; i++ )
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1315
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1316
        // buffer to hold vcard data fetched from contacts
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1317
        QBuffer contactsbuf;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1318
        contactsbuf.open(QBuffer::ReadWrite);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1319
        writer->setDevice( &contactsbuf );
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1320
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1321
        //write document data to buffer
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1322
        QList<QtMobility::QVersitDocument> currDoc;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1323
        currDoc << documentList.at(i);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1324
        writer->startWriting(currDoc);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1325
        if(writer->waitForFinished())
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1326
        {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1327
            // generate file name
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1328
            QString displayLabel = contactList.at(i).displayLabel();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1329
            QString filepath = generateFileName(displayLabel);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1330
            QFile file(filepath);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1331
            if(file.open(QIODevice::WriteOnly))
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1332
            {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1333
                // trap ignore so that, incase of multiselection, other vcards are still created
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1334
                QByteArray bufArr;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1335
                TRAP_IGNORE(
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1336
                CBufBase* contactbufbase = CBufFlat::NewL(contactsbuf.size());
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1337
                CleanupStack::PushL(contactbufbase);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1338
                contactbufbase->InsertL( contactbufbase->Size(),
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1339
                        *XQConversions::qStringToS60Desc8( contactsbuf.data() ) );
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1340
                TPtr8 ptrbuf(contactbufbase->Ptr(0));
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1341
                bufArr = XQConversions::s60Desc8ToQByteArray(ptrbuf);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1342
                CleanupStack::PopAndDestroy(contactbufbase);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1343
                );
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1344
                file.write(bufArr);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1345
                file.close();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1346
                filelist << filepath;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1347
            }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1348
        }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1349
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1350
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1351
    // cleanup & return
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1352
    delete writer;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1353
    return KErrNone;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1354
}
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1355
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1356
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1357
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1358
// MsgUnifiedEditorView::generateFileName
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1359
// @param suggestedName suggested name of the file
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1360
// @return fullPath of the generated filename
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1361
// @algo For multiselected 'Unnamed' contacts, the filename should
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1362
// be synthesized as unnamed.vcf, unnamed1.vcf, unnamed2.vcf etc.
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1363
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1364
QString MsgUnifiedEditorView::generateFileName(QString& suggestedName)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1365
{
37
hgs
parents: 25
diff changeset
  1366
    QDir editorTempDir;
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1367
    editorTempDir.cd(editorTempPath());
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1368
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1369
    for(int i=0; i<MAX_VCARDS; i++)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1370
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1371
        QString searchFileName = suggestedName;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1372
        if(i>0)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1373
        {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1374
            searchFileName.append(QString::number(i));
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1375
        }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1376
        searchFileName.append(FILE_EXTN);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1377
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1378
        // check if filename is already used by an attachment in container
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1379
        bool alreadyExists = false;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1380
        if(mAttachmentContainer)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1381
        {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1382
            MsgUnifiedEditorAttachmentList attList =
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1383
                    mAttachmentContainer->attachmentList();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1384
            int attCount = attList.count();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1385
            for(int j=0; j<attCount; j++)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1386
            {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1387
                QFileInfo fileinfo(attList.at(j)->path());
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1388
                if(searchFileName == fileinfo.fileName())
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1389
                {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1390
                    alreadyExists = true;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1391
                    break;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1392
                }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1393
            }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1394
        }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1395
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1396
        if(!alreadyExists)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1397
        {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1398
            if(i>0)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1399
            {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1400
                suggestedName.append(QString::number(i));
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1401
            }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1402
            break;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1403
        }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1404
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1405
    QString filepath(editorTempPath());
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1406
    filepath.append(suggestedName);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1407
    filepath.append(FILE_EXTN);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1408
    return filepath;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1409
}
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1410
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1411
void MsgUnifiedEditorView::handleViewExtnActivated(HbListWidgetItem* item)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1412
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1413
    QString itemText = item->text();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1414
    
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1415
    if(itemText == LOC_PHOTO)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1416
        {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1417
        //launch photo picker.
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1418
        fetchImages();  
37
hgs
parents: 25
diff changeset
  1419
        }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1420
    else if(itemText == LOC_SOUND)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1421
        {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1422
        //launch audio picker
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1423
        fetchAudio();
37
hgs
parents: 25
diff changeset
  1424
        }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1425
    else if(itemText == LOC_BUSINESS_CARD)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1426
        {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1427
        //launch contact card picker.
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1428
        fetchContacts();
37
hgs
parents: 25
diff changeset
  1429
        }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1430
   
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1431
}
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1432
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1433
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1434
// MsgUnifiedEditorView::fetchContacts
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1435
// @see header file
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1436
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1437
void MsgUnifiedEditorView::fetchContacts()
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1438
{
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1439
    QList<QVariant> args;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1440
    QString serviceName("com.nokia.services.phonebookservices");
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1441
    QString operation("fetch(QString,QString,QString)");
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1442
    XQAiwRequest* request;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1443
    XQApplicationManager appManager;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1444
    request = appManager.create(serviceName, "Fetch", operation, true); //embedded
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1445
    if ( request == NULL )
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1446
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1447
        QCRITICAL_WRITE("AIW-ERROR: NULL request");
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1448
        return;       
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1449
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1450
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1451
    // Result handlers
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1452
    connect (request, SIGNAL(requestOk(const QVariant&)), 
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1453
        this, SLOT(contactsFetched(const QVariant&)));
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1454
    connect (request, SIGNAL(requestError(int,const QString&)), 
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1455
        this, SLOT(serviceRequestError(int,const QString&)));
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1456
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1457
    args << QString(tr("Phonebook")); 
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1458
    args << KCntActionAll;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1459
    args << KCntFilterDisplayAll;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1460
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1461
    request->setArguments(args);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1462
    if(!request->send())
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1463
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1464
        QDEBUG_WRITE_FORMAT("AIW-ERROR: Request Send failed:",request->lastError());
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1465
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1466
    delete request;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1467
}
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1468
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1469
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1470
// MsgUnifiedEditorView::fetchImages
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1471
// @see header file
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1472
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1473
void MsgUnifiedEditorView::fetchImages()
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1474
{
37
hgs
parents: 25
diff changeset
  1475
    QString service("photos");
hgs
parents: 25
diff changeset
  1476
    QString interface("com.nokia.symbian.IImageFetch");
hgs
parents: 25
diff changeset
  1477
    QString operation("fetch()");
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1478
    XQAiwRequest* request = NULL;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1479
    XQApplicationManager appManager;
37
hgs
parents: 25
diff changeset
  1480
    request = appManager.create(service,interface, operation, true);//embedded
hgs
parents: 25
diff changeset
  1481
    request->setSynchronous(true); // synchronous
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1482
    if(!request)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1483
    {     
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1484
        QCRITICAL_WRITE("AIW-ERROR: NULL request");
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1485
        return;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1486
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1487
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1488
    connect(request, SIGNAL(requestOk(const QVariant&)),
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1489
        this, SLOT(imagesFetched(const QVariant&)));
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1490
    connect(request, SIGNAL(requestError(int,const QString&)),
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1491
        this, SLOT(serviceRequestError(int,const QString&)));
37
hgs
parents: 25
diff changeset
  1492
    
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1493
    // Make the request
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1494
    if (!request->send())
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1495
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1496
        QDEBUG_WRITE_FORMAT("AIW-ERROR: Request Send failed:" , request->lastError());
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1497
    }  
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1498
    delete request;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1499
}
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1500
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1501
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1502
// MsgUnifiedEditorView::fetchAudio
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1503
// @see header file
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1504
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1505
void MsgUnifiedEditorView::fetchAudio()
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1506
{
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1507
    // Launch Audio fetcher dialog
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1508
    if(!mDialog)
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1509
    {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1510
       mDialog = new MsgAudioFetcherDialog();
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1511
       connect(mDialog,
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1512
            SIGNAL(audioSelected(QString&)),
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1513
            this,
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1514
            SLOT(onAudioSelected(QString&)));
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1515
    }
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1516
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1517
    //show the dialog
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1518
    mDialog->show();    
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1519
}
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1520
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1521
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1522
// MsgUnifiedEditorView::contactsFetched
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1523
// @see header file
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1524
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1525
void MsgUnifiedEditorView::contactsFetched(const QVariant& value)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1526
{
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1527
    // create a vcard for each contact fetched and add as attachment
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1528
    QStringList attachmentList;
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1529
    if(createVCards(value, attachmentList) == KErrNone)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1530
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1531
        addAttachments(attachmentList);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1532
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1533
}
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1534
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1535
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1536
// MsgUnifiedEditorView::imagesFetched
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1537
// @see header file
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1538
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1539
void MsgUnifiedEditorView::imagesFetched(const QVariant& result )
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1540
{
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1541
    if(result.canConvert<QStringList>())
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1542
    {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1543
        QStringList fileList = result.value<QStringList>();
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1544
        if ( fileList.size()>0 )
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1545
        {
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1546
            QString filepath(QDir::toNativeSeparators(fileList.at(0)));
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1547
            mBody->setImage(filepath);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1548
        }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1549
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1550
}
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1551
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1552
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1553
// MsgUnifiedEditorView::serviceRequestError
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1554
// @see header file
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1555
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1556
void MsgUnifiedEditorView::serviceRequestError(int errorCode, const QString& errorMessage)
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1557
{
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1558
    QDEBUG_WRITE_FORMAT(errorMessage,errorCode);
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1559
}
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1560
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1561
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1562
// MsgUnifiedEditorView::activateInputBlocker
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1563
// @see header file
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1564
//--------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1565
void MsgUnifiedEditorView::activateInputBlocker()
37
hgs
parents: 25
diff changeset
  1566
{
hgs
parents: 25
diff changeset
  1567
    mainWindow()->setInteractive(false);
hgs
parents: 25
diff changeset
  1568
}
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1569
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1570
//---------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1571
// MsgUnifiedEditorView::deactivateInputBlocker
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1572
// @see header file
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1573
//--------------------------------------------------------------
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1574
void MsgUnifiedEditorView::deactivateInputBlocker()
37
hgs
parents: 25
diff changeset
  1575
{
hgs
parents: 25
diff changeset
  1576
    mainWindow()->setInteractive(true);
hgs
parents: 25
diff changeset
  1577
}
hgs
parents: 25
diff changeset
  1578
hgs
parents: 25
diff changeset
  1579
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1580
// MsgUnifiedEditorView::setAttachOptionEnabled
hgs
parents: 25
diff changeset
  1581
// @see header file
hgs
parents: 25
diff changeset
  1582
//--------------------------------------------------------------
hgs
parents: 25
diff changeset
  1583
void MsgUnifiedEditorView::setAttachOptionEnabled(
hgs
parents: 25
diff changeset
  1584
        MsgUnifiedEditorView::TBE_AttachOption opt, bool enable)
hgs
parents: 25
diff changeset
  1585
{
hgs
parents: 25
diff changeset
  1586
    HbListWidgetItem* wgtItem = mTBExtnContentWidget->item(opt);
hgs
parents: 25
diff changeset
  1587
    wgtItem->setEnabled(enable);
hgs
parents: 25
diff changeset
  1588
}
hgs
parents: 25
diff changeset
  1589
hgs
parents: 25
diff changeset
  1590
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1591
// MsgUnifiedEditorView::vkbOpened
hgs
parents: 25
diff changeset
  1592
// @see header file
hgs
parents: 25
diff changeset
  1593
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1594
void MsgUnifiedEditorView::vkbOpened()
hgs
parents: 25
diff changeset
  1595
{
hgs
parents: 25
diff changeset
  1596
    hideChrome(true); 
hgs
parents: 25
diff changeset
  1597
    
hgs
parents: 25
diff changeset
  1598
    disconnect(mVkbHost,SIGNAL(keypadOpened()),this,SLOT(vkbOpened()));
hgs
parents: 25
diff changeset
  1599
}
hgs
parents: 25
diff changeset
  1600
      
hgs
parents: 25
diff changeset
  1601
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1602
// MsgUnifiedEditorView::vkbClosed
hgs
parents: 25
diff changeset
  1603
// @see header file
hgs
parents: 25
diff changeset
  1604
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1605
void MsgUnifiedEditorView::vkbClosed()
hgs
parents: 25
diff changeset
  1606
{
hgs
parents: 25
diff changeset
  1607
    hideChrome(false);
hgs
parents: 25
diff changeset
  1608
    
hgs
parents: 25
diff changeset
  1609
    connect(mVkbHost,SIGNAL(keypadOpened()),this,SLOT(vkbOpened()));
hgs
parents: 25
diff changeset
  1610
}
hgs
parents: 25
diff changeset
  1611
hgs
parents: 25
diff changeset
  1612
//---------------------------------------------------------------
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1613
// MsgUnifiedEditorView::vkbAboutToOpen
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1614
// @see header file
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1615
//---------------------------------------------------------------
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1616
void MsgUnifiedEditorView::vkbAboutToOpen()
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1617
{    
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1618
	  //This is done to avoid user action on attachment
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1619
	  //toolbar button when vkb is opening
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1620
    mAttachAction->setDisabled(true);
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1621
    disconnect(mVkbHost,SIGNAL(aboutToOpen()),
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1622
            this,SLOT(vkbAboutToOpen()));
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1623
}
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1624
      
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1625
//---------------------------------------------------------------
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1626
// MsgUnifiedEditorView::vkbAboutToClose
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1627
// @see header file
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1628
//---------------------------------------------------------------
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1629
void MsgUnifiedEditorView::vkbAboutToClose()
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1630
{      
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1631
    mAttachAction->setDisabled(false);
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1632
    connect(mVkbHost,SIGNAL(aboutToOpen()),
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1633
            this,SLOT(vkbAboutToOpen()));
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1634
}
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1635
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1636
//---------------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1637
// MsgUnifiedEditorView::onAudioSelected
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1638
// @see header file
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1639
//---------------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1640
void 
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1641
MsgUnifiedEditorView::onAudioSelected(QString& filePath)
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1642
{
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1643
    if (!filePath.isEmpty())
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1644
        {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1645
            mBody->setAudio(filePath);
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1646
        }    
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1647
}
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1648
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1649
//---------------------------------------------------------------
37
hgs
parents: 25
diff changeset
  1650
// MsgUnifiedEditorView::hideChrome
hgs
parents: 25
diff changeset
  1651
//
hgs
parents: 25
diff changeset
  1652
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1653
void MsgUnifiedEditorView::hideChrome(bool hide)
hgs
parents: 25
diff changeset
  1654
{
hgs
parents: 25
diff changeset
  1655
    if(hide)
hgs
parents: 25
diff changeset
  1656
    {        
hgs
parents: 25
diff changeset
  1657
        this->setContentFullScreen(true);
hgs
parents: 25
diff changeset
  1658
        this->hideItems(Hb::StatusBarItem | Hb::TitleBarItem);
hgs
parents: 25
diff changeset
  1659
    }
hgs
parents: 25
diff changeset
  1660
    else
hgs
parents: 25
diff changeset
  1661
    {
hgs
parents: 25
diff changeset
  1662
        this->setContentFullScreen(false);
hgs
parents: 25
diff changeset
  1663
        this->showItems(Hb::StatusBarItem | Hb::TitleBarItem);
hgs
parents: 25
diff changeset
  1664
    }
hgs
parents: 25
diff changeset
  1665
}
hgs
parents: 25
diff changeset
  1666
hgs
parents: 25
diff changeset
  1667
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1668
// MsgUnifiedEditorView::doDelayedConstruction
hgs
parents: 25
diff changeset
  1669
//
hgs
parents: 25
diff changeset
  1670
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1671
void MsgUnifiedEditorView::doDelayedConstruction()
hgs
parents: 25
diff changeset
  1672
{
hgs
parents: 25
diff changeset
  1673
    addMenu();
hgs
parents: 25
diff changeset
  1674
    createTempFolder();
hgs
parents: 25
diff changeset
  1675
    
hgs
parents: 25
diff changeset
  1676
    //Create VKB instance and listen to VKB open and close signals.
hgs
parents: 25
diff changeset
  1677
    mVkbHost = new HbAbstractVkbHost(this);
hgs
parents: 25
diff changeset
  1678
    connect(mVkbHost, SIGNAL(keypadOpened()), this, SLOT(vkbOpened()));
hgs
parents: 25
diff changeset
  1679
    connect(mVkbHost, SIGNAL(keypadClosed()), this, SLOT(vkbClosed()));
51
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1680
    connect(mVkbHost,SIGNAL(aboutToOpen()),this,SLOT(vkbAboutToOpen()));
3507212d340e 201031_02
hgs
parents: 48
diff changeset
  1681
    connect(mVkbHost,SIGNAL(aboutToClose()),this,SLOT(vkbAboutToClose()));
37
hgs
parents: 25
diff changeset
  1682
    
hgs
parents: 25
diff changeset
  1683
    disconnect(this->mainWindow(),SIGNAL(viewReady()),this,SLOT(doDelayedConstruction()));
hgs
parents: 25
diff changeset
  1684
    
hgs
parents: 25
diff changeset
  1685
}
hgs
parents: 25
diff changeset
  1686
hgs
parents: 25
diff changeset
  1687
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1688
// MsgUnifiedEditorView::createTempFolder
hgs
parents: 25
diff changeset
  1689
//
hgs
parents: 25
diff changeset
  1690
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1691
bool MsgUnifiedEditorView::createTempFolder()
hgs
parents: 25
diff changeset
  1692
{
hgs
parents: 25
diff changeset
  1693
    // create editor's temp folder
hgs
parents: 25
diff changeset
  1694
    QDir tempDir;
hgs
parents: 25
diff changeset
  1695
    QString tempPath(editorTempPath());
hgs
parents: 25
diff changeset
  1696
    bool result = tempDir.mkpath(tempPath);    
hgs
parents: 25
diff changeset
  1697
    return result;
hgs
parents: 25
diff changeset
  1698
}
hgs
parents: 25
diff changeset
  1699
hgs
parents: 25
diff changeset
  1700
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1701
// MsgUnifiedEditorView::removeTempFolder
hgs
parents: 25
diff changeset
  1702
//
hgs
parents: 25
diff changeset
  1703
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1704
void MsgUnifiedEditorView::removeTempFolder()
hgs
parents: 25
diff changeset
  1705
{
hgs
parents: 25
diff changeset
  1706
    QDir tempDir;
hgs
parents: 25
diff changeset
  1707
    QString tempPath(editorTempPath());
hgs
parents: 25
diff changeset
  1708
    tempDir.cd(tempPath);
hgs
parents: 25
diff changeset
  1709
    QStringList contentList(tempDir.entryList());
hgs
parents: 25
diff changeset
  1710
    
hgs
parents: 25
diff changeset
  1711
    int contentCount = contentList.count();
hgs
parents: 25
diff changeset
  1712
    for(int i=0; i<contentCount; i++)
hgs
parents: 25
diff changeset
  1713
    {
hgs
parents: 25
diff changeset
  1714
        tempDir.remove(contentList.at(i));
hgs
parents: 25
diff changeset
  1715
    }
hgs
parents: 25
diff changeset
  1716
    
hgs
parents: 25
diff changeset
  1717
    tempDir.cdUp();
hgs
parents: 25
diff changeset
  1718
    tempDir.rmdir(UNIFIED_EDITOR_TEMP_FOLDER); 
hgs
parents: 25
diff changeset
  1719
}
hgs
parents: 25
diff changeset
  1720
hgs
parents: 25
diff changeset
  1721
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1722
// MsgUnifiedEditorView::setFocus
hgs
parents: 25
diff changeset
  1723
//
hgs
parents: 25
diff changeset
  1724
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1725
void MsgUnifiedEditorView::setFocus(MsgUnifiedEditorBaseWidget* item)
hgs
parents: 25
diff changeset
  1726
{
hgs
parents: 25
diff changeset
  1727
    if(item)
hgs
parents: 25
diff changeset
  1728
    {
hgs
parents: 25
diff changeset
  1729
        item->setFocus();  
hgs
parents: 25
diff changeset
  1730
    }
hgs
parents: 25
diff changeset
  1731
}
hgs
parents: 25
diff changeset
  1732
hgs
parents: 25
diff changeset
  1733
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1734
// MsgUnifiedEditorView::onContentChanged
hgs
parents: 25
diff changeset
  1735
//
hgs
parents: 25
diff changeset
  1736
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1737
void MsgUnifiedEditorView::onContentChanged()
hgs
parents: 25
diff changeset
  1738
{
hgs
parents: 25
diff changeset
  1739
    mCanSaveToDrafts = true; 
hgs
parents: 25
diff changeset
  1740
}
hgs
parents: 25
diff changeset
  1741
hgs
parents: 25
diff changeset
  1742
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1743
// MsgUnifiedEditorView::onDialogDeleteMsg
hgs
parents: 25
diff changeset
  1744
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1745
void MsgUnifiedEditorView::onDialogDeleteMsg(HbAction* action)
hgs
parents: 25
diff changeset
  1746
{
hgs
parents: 25
diff changeset
  1747
    HbMessageBox *dlg = qobject_cast<HbMessageBox*> (sender());
hgs
parents: 25
diff changeset
  1748
    if (action == dlg->actions().at(0)) {
hgs
parents: 25
diff changeset
  1749
hgs
parents: 25
diff changeset
  1750
        mCanSaveToDrafts = false;
hgs
parents: 25
diff changeset
  1751
hgs
parents: 25
diff changeset
  1752
        //delete if draft entry opened
hgs
parents: 25
diff changeset
  1753
        if (mOpenedMessageId.getId() != -1) {
hgs
parents: 25
diff changeset
  1754
            if (!mPluginLoader) {
hgs
parents: 25
diff changeset
  1755
                mPluginLoader = new UniEditorPluginLoader(this);
hgs
parents: 25
diff changeset
  1756
            }
hgs
parents: 25
diff changeset
  1757
hgs
parents: 25
diff changeset
  1758
            UniEditorPluginInterface* pluginInterface = mPluginLoader->getUniEditorPlugin(
hgs
parents: 25
diff changeset
  1759
                MsgUnifiedEditorMonitor::messageType());
hgs
parents: 25
diff changeset
  1760
hgs
parents: 25
diff changeset
  1761
            pluginInterface->deleteDraftsEntry(mOpenedMessageId.getId());
hgs
parents: 25
diff changeset
  1762
        }
hgs
parents: 25
diff changeset
  1763
hgs
parents: 25
diff changeset
  1764
        //trigger back action.
hgs
parents: 25
diff changeset
  1765
        HbAction* backAction = this->navigationAction();
hgs
parents: 25
diff changeset
  1766
        if (backAction) {
hgs
parents: 25
diff changeset
  1767
            backAction->trigger();
hgs
parents: 25
diff changeset
  1768
        }
hgs
parents: 25
diff changeset
  1769
hgs
parents: 25
diff changeset
  1770
    }
hgs
parents: 25
diff changeset
  1771
}
hgs
parents: 25
diff changeset
  1772
hgs
parents: 25
diff changeset
  1773
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1774
// MsgUnifiedEditorView::onDialogSmsSettings
hgs
parents: 25
diff changeset
  1775
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1776
void MsgUnifiedEditorView::onDialogSmsSettings(HbAction* action)
hgs
parents: 25
diff changeset
  1777
{
hgs
parents: 25
diff changeset
  1778
    HbMessageBox *dlg = qobject_cast<HbMessageBox*> (sender());
hgs
parents: 25
diff changeset
  1779
    if (action == dlg->actions().at(0)) {
hgs
parents: 25
diff changeset
  1780
        
hgs
parents: 25
diff changeset
  1781
        QVariantList params;
hgs
parents: 25
diff changeset
  1782
        params << MsgBaseView::MSGSETTINGS;// target view
hgs
parents: 25
diff changeset
  1783
        params << MsgBaseView::UNIEDITOR; // source view
hgs
parents: 25
diff changeset
  1784
        params << MsgSettingsView::SMSView;
hgs
parents: 25
diff changeset
  1785
        emit switchView(params);
hgs
parents: 25
diff changeset
  1786
    
hgs
parents: 25
diff changeset
  1787
    }
hgs
parents: 25
diff changeset
  1788
}
hgs
parents: 25
diff changeset
  1789
hgs
parents: 25
diff changeset
  1790
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1791
// MsgUnifiedEditorView::onDialogMmsSettings
hgs
parents: 25
diff changeset
  1792
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1793
void MsgUnifiedEditorView::onDialogMmsSettings(HbAction* action)
hgs
parents: 25
diff changeset
  1794
{
hgs
parents: 25
diff changeset
  1795
    HbMessageBox *dlg = qobject_cast<HbMessageBox*> (sender());
hgs
parents: 25
diff changeset
  1796
    if (action == dlg->actions().at(0)) {
hgs
parents: 25
diff changeset
  1797
        
hgs
parents: 25
diff changeset
  1798
        QVariantList params;
hgs
parents: 25
diff changeset
  1799
        params << MsgBaseView::MSGSETTINGS;// target view
hgs
parents: 25
diff changeset
  1800
        params << MsgBaseView::UNIEDITOR; // source view
hgs
parents: 25
diff changeset
  1801
        params << MsgSettingsView::MMSView;
hgs
parents: 25
diff changeset
  1802
        emit switchView(params); 
hgs
parents: 25
diff changeset
  1803
    }
hgs
parents: 25
diff changeset
  1804
}
hgs
parents: 25
diff changeset
  1805
hgs
parents: 25
diff changeset
  1806
//---------------------------------------------------------------
hgs
parents: 25
diff changeset
  1807
// MsgUnifiedEditorView::enableSendButton
hgs
parents: 25
diff changeset
  1808
// @see header file
hgs
parents: 25
diff changeset
  1809
//--------------------------------------------------------------
hgs
parents: 25
diff changeset
  1810
void MsgUnifiedEditorView::enableSendButton(bool enable)
hgs
parents: 25
diff changeset
  1811
    {
hgs
parents: 25
diff changeset
  1812
    if(mSendAction)
hgs
parents: 25
diff changeset
  1813
        {
hgs
parents: 25
diff changeset
  1814
         // enable/disable based on only if its disabled/enabled.
hgs
parents: 25
diff changeset
  1815
         // this check is to avoid unnecessary calls to mSendAction->setEnabled(enable);
hgs
parents: 25
diff changeset
  1816
        if(mSendAction->isEnabled() != enable )
hgs
parents: 25
diff changeset
  1817
            mSendAction->setEnabled(enable);
hgs
parents: 25
diff changeset
  1818
        }
25
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1819
    }
84d9eb65b26f Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 23
diff changeset
  1820
38
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1821
// ----------------------------------------------------------------------------
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1822
// MsgUnifiedEditorView::formatAddresses
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1823
// @see header
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1824
// ----------------------------------------------------------------------------
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1825
void MsgUnifiedEditorView::formatAddresses(
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1826
        ConvergedMessageAddressList& addresses)
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1827
{       
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1828
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1829
    for(int i=0; i < addresses.count() ;i++ )
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1830
    {
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1831
        QString addr = addresses[i]->address();
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1832
        
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1833
        HBufC *tempAddr = XQConversions::qStringToS60Desc(addr);     
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1834
            
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1835
        TPtr ptr = tempAddr->Des();
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1836
                    
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1837
         // Note: This is just to parse spaces etc away from phonenumbers.
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1838
         //       Ignore EFalse returned for email addresses.   
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1839
        CommonPhoneParser::ParsePhoneNumber(ptr , 
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1840
                                            CommonPhoneParser::ESMSNumber );        
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1841
       
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1842
        addr = XQConversions::s60DescToQString(tempAddr->Des()); 
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1843
        
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1844
        addresses[i]->setAddress(addr);
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1845
        
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1846
        delete tempAddr;                                                       
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1847
    }       
4e4b6adb1024 201025_01
hgs
parents: 37
diff changeset
  1848
}
56
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1849
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1850
// ----------------------------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1851
// MsgUnifiedEditorView::isReplyPathBroken
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1852
// @see header
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1853
// ----------------------------------------------------------------------------
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1854
bool MsgUnifiedEditorView::isReplyPathBroken()
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1855
{
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1856
    // 1. Never set for MMS
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1857
    // 2. if additional recipients exits
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1858
    if( (MsgUnifiedEditorMonitor::messageType() == ConvergedMessage::Mms) ||
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1859
        (mToField->addressCount() != 1) )
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1860
    {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1861
        // broken
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1862
        return true;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1863
    }
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1864
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1865
    // 3. if only recipient is not same as originating SME
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1866
    QString dispName;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1867
    int phCount;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1868
    int origCntLocalId = MsgContactHandler::resolveContactDisplayName(
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1869
            mOriginatingSME, dispName, phCount);
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1870
    int currCntLocalId = -1;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1871
    QString currAddress(mToField->addresses().at(0)->address());
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1872
    if(origCntLocalId != -1)
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1873
    {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1874
        currCntLocalId = MsgContactHandler::resolveContactDisplayName(
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1875
            currAddress, dispName, phCount);
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1876
    }
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1877
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1878
    if(currCntLocalId != -1)
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1879
    { // both are mapped contacts present in contacts db
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1880
        if(currCntLocalId != origCntLocalId)
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1881
        {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1882
            return true;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1883
        }
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1884
    }
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1885
    else
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1886
    { // atleast one contact is not present in contacts db
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1887
      // direct compare
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1888
        UniEditorGenUtils* genUtils = q_check_ptr(new UniEditorGenUtils);
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1889
        bool compareResult = false;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1890
        TRAP_IGNORE(
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1891
        compareResult = genUtils->MatchPhoneNumberL(
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1892
                *XQConversions::qStringToS60Desc(mOriginatingSME),
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1893
                *XQConversions::qStringToS60Desc(currAddress))
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1894
        );
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1895
        delete genUtils;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1896
        if(!compareResult)
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1897
        {
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1898
            return true;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1899
        }
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1900
    }
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1901
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1902
    return false;
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1903
}
f42d9a78f435 201033_02
hgs
parents: 51
diff changeset
  1904
23
238255e8b033 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
  1905
//EOF