201025_1
authorhgs
Tue, 29 Jun 2010 17:12:28 +0300
changeset 48 10eaf342f539
parent 47 f83bd4ae1fe3
child 49 00c7ae862740
201025_1
email_plat/nmail_client_api/nmail_client_api.pri
emailservices/emailstore/base_plugin/inc/BasePlugin.h
emailservices/emailstore/base_plugin/src/BasePlugin.cpp
emailservices/emailstore/base_plugin/src/baseplugindelayedops.cpp
emailservices/emailstore/message_store/client/inc/MsgStoreObserverHandler.h
emailservices/emailstore/message_store/client/src/MsgStoreObserverHandler.cpp
emailservices/nmailagent/inc/nmmailagent.h
emailservices/nmailagent/src/nmmailagent.cpp
emailservices/nmclientapi/inc/nmapicommonheader.h
emailservices/nmclientapi/inc/nmapifolder_p.h
emailservices/nmclientapi/inc/nmapiheaders.h
emailservices/nmclientapi/inc/nmapimailbox_p.h
emailservices/nmclientapi/inc/nmapiprivateheaders.h
emailservices/nmclientapi/nmclientapi.pro
emailservices/nmclientapi/src/nmapidatapluginfactory.cpp
emailservices/nmclientapi/src/nmapiemailaddress.cpp
emailservices/nmclientapi/src/nmapiemailservice.cpp
emailservices/nmclientapi/src/nmapiengine.cpp
emailservices/nmclientapi/src/nmapienvelopelisting.cpp
emailservices/nmclientapi/src/nmapienvelopelisting_p.cpp
emailservices/nmclientapi/src/nmapieventnotifier.cpp
emailservices/nmclientapi/src/nmapieventnotifier_p.cpp
emailservices/nmclientapi/src/nmapifolder.cpp
emailservices/nmclientapi/src/nmapifolderlisting.cpp
emailservices/nmclientapi/src/nmapifolderlisting_p.cpp
emailservices/nmclientapi/src/nmapimailbox.cpp
emailservices/nmclientapi/src/nmapimailboxlisting.cpp
emailservices/nmclientapi/src/nmapimailboxlisting_p.cpp
emailservices/nmclientapi/src/nmapimailboxsettings.cpp
emailservices/nmclientapi/src/nmapimailboxsettings_p.cpp
emailservices/nmclientapi/src/nmapimailboxsettingsdata.cpp
emailservices/nmclientapi/src/nmapimailboxsettingsdata_p.cpp
emailservices/nmclientapi/src/nmapimessagebody.cpp
emailservices/nmclientapi/src/nmapimessageenvelope.cpp
emailservices/nmclientapi/src/nmapimessagemanager.cpp
emailservices/nmclientapi/src/nmapimessagemanager_p.cpp
emailservices/nmclientapi/src/nmapimessagetask.cpp
emailservices/nmclientapi/src/nmapipopimapsettingsmanager.cpp
emailservices/nmclientapi/src/nmapitypesconverter.cpp
emailuis/nmailui/conf/nmeditorview.docml
emailuis/nmailui/conf/nmmessagelistview.docml
emailuis/nmailui/inc/nmeditorcontent.h
emailuis/nmailui/inc/nmeditorview.h
emailuis/nmailui/inc/nmuiheaders.h
emailuis/nmailui/inc/nmviewerview.h
emailuis/nmailui/inc/nmviewerviewnetreply.h
emailuis/nmailui/inc/nmviewerwebview.h
emailuis/nmailui/nmailui.pro
emailuis/nmailui/src/nmeditorcontent.cpp
emailuis/nmailui/src/nmeditorheader.cpp
emailuis/nmailui/src/nmeditorview.cpp
emailuis/nmailui/src/nmmailboxlistview.cpp
emailuis/nmailui/src/nmmessagelistview.cpp
emailuis/nmailui/src/nmmessagesearchlistview.cpp
emailuis/nmailui/src/nmviewerview.cpp
emailuis/nmailui/src/nmviewerviewnetmanager.cpp
emailuis/nmailui/src/nmviewerviewnetreply.cpp
emailuis/nmailui/src/nmviewerwebview.cpp
emailuis/nmailuiwidgets/bwins/nmailuiwidgetsu.def
emailuis/nmailuiwidgets/eabi/nmailuiwidgetsu.def
emailuis/nmailuiwidgets/inc/nmeditortextedit.h
emailuis/nmailuiwidgets/inc/nmhtmllineedit.h
emailuis/nmailuiwidgets/src/nmattachmentlistwidget.cpp
emailuis/nmailuiwidgets/src/nmeditortextedit.cpp
emailuis/nmailuiwidgets/src/nmhtmllineedit.cpp
emailuis/nmailuiwidgets/src/nmrecipientlineedit.cpp
emailuis/nmsettingui/inc/nmmailboxsettingview.h
emailuis/nmsettingui/src/nmmailboxsettingview.cpp
emailuis/nmsettingui/src/nmsettingsviewfactory.cpp
nmail.pro
--- a/email_plat/nmail_client_api/nmail_client_api.pri	Thu Jun 24 14:32:18 2010 +0300
+++ b/email_plat/nmail_client_api/nmail_client_api.pri	Tue Jun 29 17:12:28 2010 +0300
@@ -30,5 +30,6 @@
             "nmail_client_api/nmapimailboxlisting.h    APP_LAYER_PLATFORM_EXPORT_PATH(nmapimailboxlisting.h)" \
             "nmail_client_api/nmapimessagebody.h       APP_LAYER_PLATFORM_EXPORT_PATH(nmapimessagebody.h)" \
             "nmail_client_api/nmapimessageenvelope.h   APP_LAYER_PLATFORM_EXPORT_PATH(nmapimessageenvelope.h)" \
-            "nmail_client_api/nmapimessagetask.h       APP_LAYER_PLATFORM_EXPORT_PATH(nmapimessagetask.h)"
+            "nmail_client_api/nmapimessagetask.h       APP_LAYER_PLATFORM_EXPORT_PATH(nmapimessagetask.h)" \
+            "nmail_client_api/nmapimessagemanager.h    APP_LAYER_PLATFORM_EXPORT_PATH(nmapimessagemanager.h)"
 }
--- a/emailservices/emailstore/base_plugin/inc/BasePlugin.h	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/emailstore/base_plugin/inc/BasePlugin.h	Tue Jun 29 17:12:28 2010 +0300
@@ -86,6 +86,7 @@
     friend class CDelayedMessageStorerOp;
 	// <qmail>
     friend class CDelayedAddNewOrRemoveChildPartOp;
+    friend class CDelayedOp;
 	// </qmail>
 	protected:
     struct TOngoingFetchInfo;
@@ -831,7 +832,7 @@
         //does not actually own the observers.
         RPointerArray<MFSMailEventObserver> iObservers;
         //async fetch reqs.
-        RPointerArray<CFetchRequester> iReqs;
+        RPointerArray<CFetchRequester> iReqs;       
         RPointerArray<CDelayedOp> iDelayedOpReqs;
 
         TCacheLine iCacheLine;
--- a/emailservices/emailstore/base_plugin/src/BasePlugin.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/emailstore/base_plugin/src/BasePlugin.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -130,9 +130,12 @@
 
     iReqs.ResetAndDestroy();
     iReqs.Close();
-    
-    iDelayedOpReqs.ResetAndDestroy();
+
+    // Note that all the ops in iDelayedOpReqs array (if any) have already been
+    // deleted in the destructor of CDelayedOpsManager class.
+    iDelayedOpReqs.Reset();
     iDelayedOpReqs.Close();
+
     ResetCache();
 
     __LOG_DESTRUCT
--- a/emailservices/emailstore/base_plugin/src/baseplugindelayedops.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/emailstore/base_plugin/src/baseplugindelayedops.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -72,6 +72,16 @@
     
     //self-destroy.
     iManager->DequeueOp( *this );
+    
+    //Remove this from iDelayedOpReqs as well.
+    for ( TInt i = 0; i < iPlugin->iDelayedOpReqs.Count(); i++ )
+        {
+        if ( iPlugin->iDelayedOpReqs[i] == this )
+            {
+            iPlugin->iDelayedOpReqs.Remove( i );
+            break;
+            }
+        }
     delete this;
     }
     
--- a/emailservices/emailstore/message_store/client/inc/MsgStoreObserverHandler.h	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/emailstore/message_store/client/inc/MsgStoreObserverHandler.h	Tue Jun 29 17:12:28 2010 +0300
@@ -84,6 +84,7 @@
 		RArray<MMsgStoreObserver*>                       iObservers;
 		RArray<TMailBoxObserverInfo>                     iMailBoxObservers;
 		TBuf8<sizeof(TMsgStoreEvent)*KEventBufferLength> iEventBuffer;
+		TBool                                            iObjectDeleted;
 		
 		__LOG_DECLARATION
 	
--- a/emailservices/emailstore/message_store/client/src/MsgStoreObserverHandler.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/emailstore/message_store/client/src/MsgStoreObserverHandler.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -45,6 +45,8 @@
 	iSession( aSession )
 	{
 	__LOG_CONSTRUCT( "MsgClient", "CMsgStoreObserverHandler" )
+	//initialize variable to false.
+    iObjectDeleted = EFalse;
 	} // end constructor
 
 // ==========================================================================
@@ -57,6 +59,10 @@
 	iMailBoxObservers.Close();
 	iObservers.Close();
 		
+	//object is being deleted. Mark variable as true to cover case where delete
+	//has come while RunL was running and "AccountEventNotify" was called and
+	//has not completed.
+	iObjectDeleted = ETrue;
 	__LOG_DESTRUCT
 	} // end destructor
 
@@ -233,9 +239,15 @@
     	    eventPtr++;
             }
             
-    	// Get the next event(s).    	
-    	iSession.GetEvents( iStatus, iEventBuffer );
-    	SetActive();
+        //check that "this" object was not deleted by client during "AccountEventNotify".
+        //If object has been deleted there is no need to get session events and activate itself.
+        if ( !iObjectDeleted )
+            {
+            // Get the next event(s).       
+            iSession.GetEvents(iStatus, iEventBuffer);
+            SetActive();
+            }
+    	
 	    }
     else
     	{
--- a/emailservices/nmailagent/inc/nmmailagent.h	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmailagent/inc/nmmailagent.h	Tue Jun 29 17:12:28 2010 +0300
@@ -26,7 +26,8 @@
 class NmDataPluginInterface;
 class HbIndicator;
 class XQSystemToneService;
-
+class XQSettingsManager;
+class XQSettingsKey;
 
 class NmMailboxInfo
 {
@@ -86,6 +87,8 @@
 
     void indicatorActivated(const QString &type, const QVariantMap &data);
 
+    void valueChanged(const XQSettingsKey& key, const QVariant& value);
+
 private:
 
     void initMailboxStatus();
@@ -146,6 +149,8 @@
     bool mAlertToneAllowed;
     int mLastOutboxCount;
     bool mUnreadIndicatorActive;
+    XQSettingsManager *mSettingManager;
+    int mSilenceMode;
 };
 
 
--- a/emailservices/nmailagent/src/nmmailagent.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmailagent/src/nmmailagent.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -26,6 +26,8 @@
 #include <xqsettingsmanager.h>
 #include <xqcentralrepositoryutils.h>
 #include <xqsystemtoneservice.h>
+#include <xqsettingskey.h>
+#include <ProfileEngineInternalCRKeys.h>
 
 // CONSTS
 const int NmAgentIndicatorNotSet = -1;
@@ -35,6 +37,23 @@
 static const QString NmMailboxIndicatorType = "com.nokia.nmail.indicatorplugin_%1/1.0";
 static const QString NmSendIndicatorName = "com.nokia.nmail.indicatorplugin.send/1.0";
 static const QString NmUnreadIndicatorName = "com.nokia.nmail.indicatorplugin.unread/1.0";
+const XQCentralRepositorySettingsKey NmSilenceModeKey(KCRUidProfileEngine.iUid, KProEngSilenceMode);
+const int NmSilenceModeOn = 1;
+
+/*!
+    Helper method for finding out if XQSettingsKey and XQCentralRepositorySettingsKey points to
+    same key.
+
+    @param settingKey XQSettingsKey
+    @param cenrepSettingKey XQCentralRepositorySettingsKey
+    @return <code>true</code> if target, uid and key matches otherwise returns <code>false</code>
+*/
+bool keysEqual(const XQSettingsKey& settingKey, const XQCentralRepositorySettingsKey& cenrepSettingKey)
+{
+    return ((settingKey.target() == cenrepSettingKey.target()) &&
+            (settingKey.uid() == cenrepSettingKey.uid()) &&
+            (settingKey.key() == cenrepSettingKey.key()));
+}
 
 
 /*!
@@ -68,7 +87,9 @@
  mVibra(NULL),
  mAlertToneAllowed(true),
  mLastOutboxCount(0),
- mUnreadIndicatorActive(false)
+ mUnreadIndicatorActive(false),
+ mSettingManager(NULL),
+ mSilenceMode(NmSilenceModeOn)  // by default silent mode is on
 {
     NM_FUNCTION;
 }
@@ -99,8 +120,34 @@
         return false;
     }
 
+    // Check status of silent mode.
+    delete mSettingManager;
+    mSettingManager = NULL;
+    mSettingManager = new XQSettingsManager();
+    QVariant silenceMode = mSettingManager->readItemValue(NmSilenceModeKey,
+        XQSettingsManager::TypeInt);
+    mSilenceMode = silenceMode.toInt();
+
+    // Start monitoring silence mode key.
+    bool monitoring(mSettingManager->startMonitoring(NmSilenceModeKey, XQSettingsManager::TypeInt));
+    monitoring &= connect(mSettingManager,
+                          SIGNAL(valueChanged(const XQSettingsKey&, const QVariant&)),
+                          this,
+                          SLOT(valueChanged(const XQSettingsKey&, const QVariant&)),
+                          Qt::UniqueConnection);
+
+    // If silence mode monitoring can't be started, then change silence mode on to be sure
+    // that no tone is played if silence mode is turned on at somepoint.
+    if (!monitoring) {
+        mSilenceMode = NmSilenceModeOn;
+    }
+
+    delete mSystemTone;
+    mSystemTone = NULL;
     mSystemTone = new XQSystemToneService();
 
+    delete mIndicator;
+    mIndicator = NULL;
     mIndicator = new HbIndicator();
     connect(mIndicator,SIGNAL(userActivated(const QString &, const QVariantMap&)),
         this, SLOT(indicatorActivated(const QString&, const QVariantMap&)));
@@ -131,6 +178,8 @@
     }
 
     // Construct the vibra interface instance.
+    delete mVibra;
+    mVibra = NULL;
     TRAP_IGNORE(mVibra = CHWRMVibra::NewL());
 
     // load all current mailboxes
@@ -145,7 +194,10 @@
 
     delete mVibra;
     delete mSystemTone;
-
+    if (mSettingManager) {
+        mSettingManager->stopMonitoring(NmSilenceModeKey);
+        delete mSettingManager;
+    }
     qDeleteAll(mMailboxes);
 
     NmDataPluginFactory::releaseInstance(mPluginFactory);
@@ -296,6 +348,8 @@
 */
 int NmMailAgent::getTotalUnreadCount() const
 {
+    NM_FUNCTION;
+
     int unreads = 0;
     foreach (const NmMailboxInfo *mailbox, mMailboxes) {
         if (mailbox->mActive && mailbox->mInboxActive) {
@@ -311,6 +365,8 @@
 */
 bool NmMailAgent::updateUnreadIndicator()
 {
+    NM_FUNCTION;
+
     int unreads = getTotalUnreadCount();
     return updateUnreadIndicator(unreads>0);
 }
@@ -403,8 +459,8 @@
 bool NmMailAgent::updateUnreadIndicator(bool active)
 {
     NM_FUNCTION;
+
     bool activated = false;
-
     if (active != mUnreadIndicatorActive) {
         if (active) {
             mIndicator->activate(NmUnreadIndicatorName);
@@ -530,6 +586,8 @@
 */
 NmMailboxInfo *NmMailAgent::getMailboxByType(const QString &type)
 {
+    NM_FUNCTION;
+
     foreach (NmMailboxInfo *mailbox, mMailboxes) {
         // mailbox is shown in indicators
         if (mailbox->mIndicatorIndex >= 0 && mailbox->mActive) {
@@ -567,6 +625,22 @@
 }
 
 /*!
+    Called when cenrep key value has been changed.
+    - only silence mode key handled
+
+    @param key changed key
+    @param value value for a key.
+*/
+void NmMailAgent::valueChanged(const XQSettingsKey& key, const QVariant& value)
+{
+    NM_FUNCTION;
+
+    if(keysEqual(key, NmSilenceModeKey)) {
+        mSilenceMode = value.toInt();
+    }
+}
+
+/*!
     Received from NmFrameworkAdapter messageEvent signal
     \sa NmFrameworkAdapter
 */
@@ -577,6 +651,7 @@
             const NmId& mailboxId)
 {
     NM_FUNCTION;
+
     NM_COMMENT(QString("NmMailAgent::handleMessageEvent(): event=%1, id=%2").
         arg(event).arg(mailboxId.id()));
 
@@ -919,10 +994,12 @@
 bool NmMailAgent::playAlertTone()
 {
     NM_FUNCTION;
-	bool played = false;
+	bool played(false);
 
     if (mAlertToneAllowed) {
-        if (mSystemTone) {
+        // Play tone only if system tone service is available and
+        // phone is not in silence mode.
+        if (mSystemTone && !mSilenceMode) {
             mSystemTone->playTone(XQSystemToneService::EmailAlertTone);
         }
 
@@ -955,6 +1032,8 @@
 */
 void NmMailAgent::updateSendIndicator()
 {
+    NM_FUNCTION;
+
     // Get number of mails in outboxes
     int outboxMails = 0;
     foreach (NmMailboxInfo *mailboxInfo, mMailboxes) {
@@ -981,16 +1060,19 @@
 */
 void NmMailAgent::storeMailboxActive(const NmId &mailboxId, bool active)
 {
-    XQCentralRepositorySettingsKey key(NmRepositoryId, mailboxId.id());
-    XQSettingsManager mgr;
-    XQCentralRepositoryUtils utils(mgr);
+    NM_FUNCTION;
+
+    if (mSettingManager) {
+        XQCentralRepositorySettingsKey key(NmRepositoryId, mailboxId.id());
+        XQCentralRepositoryUtils utils(*mSettingManager);
 
-    if (active) {
-        // when mailbox is active, key can be deleted
-        utils.deleteKey(key);
-    }
-    else {
-        utils.createKey(key,(int)active);
+        if (active) {
+            // when mailbox is active, key can be deleted
+            utils.deleteKey(key);
+        }
+        else {
+            utils.createKey(key,(int)active);
+        }
     }
 }
 
@@ -1001,16 +1083,18 @@
 */
 bool NmMailAgent::isMailboxActive(const NmId &mailboxId)
 {
-    XQCentralRepositorySettingsKey key(NmRepositoryId, mailboxId.id());
-    XQSettingsManager mgr;
-    QVariant value = mgr.readItemValue(key,XQSettingsManager::TypeInt);
-    if (!value.isValid()) {
-        // no valid value found, key missing?
-        NM_COMMENT("NmMailAgent::isMailboxActive - value not valid");
-        return true;
+    NM_FUNCTION;
+
+    bool mailboxActive(true);
+    if (mSettingManager) {
+        XQCentralRepositorySettingsKey key(NmRepositoryId, mailboxId.id());
+        QVariant value = mSettingManager->readItemValue(key, XQSettingsManager::TypeInt);
+        if (value.isValid()) {
+            NM_COMMENT(QString("NmMailAgent::isMailboxActive - value=%1").arg(value.toInt()));
+            mailboxActive = value.toInt();
+        }
     }
-    NM_COMMENT(QString("NmMailAgent::isMailboxActive - value=%1").arg(value.toInt()));
-    return value.toInt();
+    return mailboxActive;
 }
 
 /*!
@@ -1019,9 +1103,10 @@
 */
 void NmMailAgent::deleteStoredMailboxActivity(const NmId &mailboxId)
 {
+    NM_FUNCTION;
+
     // deactivation delete the key too
     storeMailboxActive(mailboxId,false);
 }
 
 // End of file
-
--- a/emailservices/nmclientapi/inc/nmapicommonheader.h	Thu Jun 24 14:32:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description:
- *
- */
-
-#ifndef NMAPICOMMONHEADER_H
-#define NMAPICOMMONHEADER_H
-
-#include <nmapiemailaddress.h>
-#include <nmapimessagebody.h>
-#include <nmapidef.h>
-#include <nmapimailbox.h>
-#include <nmapifolder.h>
-#include <nmapimessageenvelope.h>
-
-#endif /* NMAPICOMMONHEADER_H */
--- a/emailservices/nmclientapi/inc/nmapifolder_p.h	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/inc/nmapifolder_p.h	Tue Jun 29 17:12:28 2010 +0300
@@ -15,8 +15,8 @@
  *
  */
 
-#ifndef NMAPIMAILBOX_P_H
-#define NMAPIMAILBOX_P_H
+#ifndef NMAPIFOLDER_P_H
+#define NMAPIFOLDER_P_H
 
 #include <nmapicommon.h>
 
@@ -45,4 +45,4 @@
 
 }
 
-#endif /* NMAPIMAILBOX_P_H_ */
+#endif /* NMAPIFOLDER_P_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/emailservices/nmclientapi/inc/nmapiheaders.h	Tue Jun 29 17:12:28 2010 +0300
@@ -0,0 +1,102 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef NMAPIHEADERS_H
+#define NMAPIHEADERS_H
+
+// Qt
+#include <QObject>
+#include <QVariant>
+#include <QString>
+#include <QHash>
+#include <QList>
+#include <QPluginLoader>
+#include <QDir>
+#include <QApplication>
+#include <QLocale>
+#include <QList>
+#include <QTimer>
+#include <QDateTime>
+#include <QExplicitlySharedDataPointer>
+#include <QSharedData>
+
+#include <imapset.h>
+#include <pop3set.h>
+#include <iapprefs.h>
+#include <cemailaccounts.h>
+
+
+#include <SMTPSET.H>
+
+#include <xqconversions.h>
+
+#include <nmdataplugininterface.h>
+
+#include <nmmailbox.h>
+#include <nmmessage.h>
+#include <nmfolder.h>
+#include <nmmessagepart.h>
+#include <nmcommon.h>
+
+#include <nmoperation.h>
+
+#include <emailtrace.h>
+
+
+
+// nmail_settings_api
+#include <nmapimailboxsettings.h>
+#include <nmapimailboxsettingsdata.h>
+
+// nmail_client_api
+#include <nmapicommon.h>
+#include <nmapidef.h>
+#include <nmapiemailaddress.h>
+#include <nmapiemailservice.h>
+#include <nmapienvelopelisting.h>
+#include <nmapieventnotifier.h>
+#include <nmapifolder.h>
+#include <nmapifolderlisting.h>
+#include <nmapimailbox.h>
+#include <nmapimailboxlisting.h>
+#include <nmapimessagebody.h>
+#include <nmapimessageenvelope.h>
+#include <nmapimessagetask.h>
+#include <nmapimessagemanager.h>
+
+
+// own headers
+#include "nmapidatapluginfactory.h"
+#include "nmapiemailaddress_p.h"
+#include "nmapiengine.h"
+#include "nmapienvelopelisting_p.h"
+#include "nmapieventnotifier_p.h"
+#include "nmapifolder_p.h"
+#include "nmapifolderlisting_p.h"
+#include "nmapimailbox_p.h"
+#include "nmapimailboxlisting_p.h"
+#include "nmapimailboxsettings_p.h"
+#include "nmapimailboxsettingsdata_p.h"
+#include "nmapimessagebody_p.h"
+#include "nmapimessageenvelope_p.h"
+#include "nmapimessagemanager_p.h"
+#include "nmapipopimapsettingsmanager.h"
+#include "nmapiprivateclasses.h"
+#include "nmapitypesconverter.h"
+
+
+#endif // NMAPIHEADERS_H
--- a/emailservices/nmclientapi/inc/nmapimailbox_p.h	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/inc/nmapimailbox_p.h	Tue Jun 29 17:12:28 2010 +0300
@@ -18,8 +18,7 @@
 #ifndef NMAPIMAILBOX_P_H
 #define NMAPIMAILBOX_P_H
 
-#include <nmapicommon.h>
-
+#include <QSharedData>
 
 namespace EmailClientApi
 {
--- a/emailservices/nmclientapi/inc/nmapiprivateheaders.h	Thu Jun 24 14:32:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#ifndef NMAPIPRIVATEHEADERS_H
-#define NMAPIPRIVATEHEADERS_H
-
-#include "nmmailbox.h"
-#include "nmmessage.h"
-#include "nmfolder.h"
-#include "nmmessagepart.h"
-
-#endif // NMAPIPRIVATEHEADERS_H
--- a/emailservices/nmclientapi/nmclientapi.pro	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/nmclientapi.pro	Tue Jun 29 17:12:28 2010 +0300
@@ -26,88 +26,77 @@
 
 INCLUDEPATH +=  inc \
                 ../../email_plat/nmail_client_api \
-                ../../inc 
+                ../../email_plat/nmail_settings_api \
+                ../../inc
                 
-DEPENDPATH += src \
-              inc \
-              ../../email_plat/nmail_client_api \
-              ../../inc 
+DEPENDPATH +=  ../../email_plat/nmail_client_api \
+                ../../email_plat/nmail_settings_api \
+
 
 MOC_DIR = tmp
 
-
-#headers  and sources outside api
-HEADERS   += nmapiprivateheaders.h \
-             nmapitypesconverter.h \ 
-             nmapiprivateclasses.h \
-             nmdataplugininterface.h \
-             nmapidatapluginfactory.h \
-             nmapiengine.h \
-             nmmessagepart.h  \
-             nmapicommon.h \
-			 nmapimessagemanager.h \
-			 nmoperation.h
-             
-#headers  and sources from api             
-SOURCES   += nmapitypesconverter.cpp \
-             nmapidatapluginfactory.cpp \
-             nmapiemailservice.cpp \
-             nmapiengine.cpp 
+# public headers 
+HEADERS += nmapicommon.h \
+           nmapidef.h \
+           nmapiemailaddress.h \
+           nmapiemailservice.h \
+           nmapienvelopelisting.h \
+           nmapieventnotifier.h \
+           nmapifolder.h \
+           nmapifolderlisting.h \
+           nmapimailbox.h \
+           nmapimailboxlisting.h \
+           nmapimessagebody.h \
+           nmapimessageenvelope.h \
+           nmapimessagetask.h \
+           nmapimessagemanager.h \
+           nmapimailboxsettings.h
 
-HEADERS   += nmapicommonheader.h \
-             nmapiemailservice.h \
-             nmapimessagetask.h \
-             nmapimailboxlisting_p.h \
-             nmapimailboxlisting.h \
-             nmapifolderlisting_p.h \
-             nmapifolderlisting.h \
-             nmapienvelopelisting_p.h \
-             nmapienvelopelisting.h \
-             nmapiemailaddress_p.h \
-             nmapiemailaddress.h \
-             nmapieventnotifier_p.h \
-             nmapieventnotifier.h \
-             nmapifolder_p.h \
-             nmapifolder.h \
-             nmapimailbox_p.h \
-             nmapimailbox.h \
-             nmapimessagebody_p.h \
-             nmapimessagebody.h \
-             nmapimessageenvelope_p.h \
-             nmapimessageenvelope.h \
-             nmapimailboxsettingsdata_p.h \
-             nmapimailboxsettingsdata.h \
-             ../inc/nmapimailboxsettings_p.h \
-             ../../email_plat/nmail_settings_api/nmapimailboxsettings.h \
-             ../inc/nmapipopimapsettingsmanager.h \
-	     	 ../inc/nmapimessagemanager_p.h
-			 
-LIBS += -leuser
-LIBS += -llibc			
-
-
-SOURCES   += nmapimessagetask.cpp \
-	     nmapimailboxlisting_p.cpp \
-             nmapimailboxlisting.cpp \
-             nmapifolderlisting_p.cpp \
-             nmapifolderlisting.cpp \
-             nmapienvelopelisting_p.cpp \
-             nmapienvelopelisting.cpp \ 
-             nmapiemailaddress.cpp \
-             nmapieventnotifier_p.cpp \
-             nmapieventnotifier.cpp \
-             nmapifolder.cpp \
-             nmapimailbox.cpp \
-             nmapimessagebody.cpp \
-             nmapimessageenvelope.cpp \
-             nmapimailboxsettingsdata_p.cpp \
-             nmapimailboxsettingsdata.cpp \
-             ../src/nmapimailboxsettings_p.cpp \
-             ../src/nmapimailboxsettings.cpp \
-             nmapipopimapsettingsmanager.cpp \
-	         ../src/nmapimessagemanager_p.cpp \
-			 ../src/nmapimessagemanager.cpp
-
+# private headers 
+HEADERS += inc/nmapidatapluginfactory.h \
+           inc/nmapiemailaddress_p.h \
+           inc/nmapiengine.h \
+           inc/nmapienvelopelisting_p.h \
+           inc/nmapieventnotifier_p.h \
+           inc/nmapifolder_p.h \
+           inc/nmapifolderlisting_p.h \
+           inc/nmapimailbox_p.h \
+           inc/nmapimailboxlisting_p.h \
+           inc/nmapimailboxsettings_p.h \
+           inc/nmapimailboxsettingsdata_p.h \
+           inc/nmapimessagebody_p.h \
+           inc/nmapimessageenvelope_p.h \
+           inc/nmapimessagemanager_p.h \
+           inc/nmapipopimapsettingsmanager.h \
+           inc/nmapiprivateclasses.h \
+           inc/nmapitypesconverter.h \
+           inc/nmapiheaders.h 
+                        
+SOURCES += src/nmapidatapluginfactory.cpp \
+           src/nmapiemailaddress.cpp \
+           src/nmapiemailservice.cpp \
+           src/nmapiengine.cpp \
+           src/nmapienvelopelisting_p.cpp \
+           src/nmapienvelopelisting.cpp \ 
+           src/nmapieventnotifier_p.cpp \
+           src/nmapieventnotifier.cpp \
+           src/nmapifolder.cpp \
+           src/nmapifolderlisting_p.cpp \
+           src/nmapifolderlisting.cpp \
+           src/nmapimailbox.cpp \
+           src/nmapimailboxlisting_p.cpp \
+           src/nmapimailboxlisting.cpp \
+           src/nmapimessagetask.cpp \
+           src/nmapimailboxsettingsdata_p.cpp \
+           src/nmapimailboxsettingsdata.cpp \
+           src/nmapimailboxsettings_p.cpp \
+           src/nmapimailboxsettings.cpp \
+           src/nmapimessagebody.cpp \
+           src/nmapimessageenvelope.cpp \
+           src/nmapipopimapsettingsmanager.cpp \
+	         src/nmapimessagemanager_p.cpp \
+			     src/nmapimessagemanager.cpp \
+           src/nmapitypesconverter.cpp 
 
 
 
@@ -120,7 +109,6 @@
     TARGET.UID3 = 0x2002C366
     
     INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
-    DEPENDPATH += $$APP_LAYER_SYSTEMINCLUDE
 
 	
 	 LIBS += -lnmailbase \
@@ -144,10 +132,3 @@
 
 }
 
-win32 {
-   DESTDIR = ../../bin
-   OBJECTS_DIR = tmp 
-}
-
-
-
--- a/emailservices/nmclientapi/src/nmapidatapluginfactory.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapidatapluginfactory.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,25 +15,9 @@
  *
  */
 
-#include "emailtrace.h"
-
-#include "nmdataplugininterface.h"
-#include "nmapidatapluginfactory.h"
+#include "nmapiheaders.h"
 
-// Qt
-#include <QPluginLoader>
-#include <QDir>
-#include <QApplication>
-#include <QLocale>
-#include <QObject>
 
-// nmailbase
-#include "nmcommon.h"
-#include "nmmailbox.h"
-#include "nmmessageenvelope.h"
-#include "nmmessage.h"
-#include "nmmessagepart.h"
-#include "nmfolder.h"
 
 /*!
  \class NmApiDataPluginFactory
--- a/emailservices/nmclientapi/src/nmapiemailaddress.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapiemailaddress.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,10 +15,8 @@
  *
  */
 
-#include "emailtrace.h"
+#include "nmapiheaders.h"
 
-#include <nmapiemailaddress.h>
-#include "nmapiemailaddress_p.h"
 
 namespace EmailClientApi
 {
--- a/emailservices/nmclientapi/src/nmapiemailservice.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapiemailservice.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,13 +15,8 @@
  *
  */
 
-#include "emailtrace.h"
+#include "nmapiheaders.h"
 
-#include <nmapiemailservice.h>
-#include "nmapiengine.h"
-
-#include <nmapimailbox.h>
-#include <nmapimessageenvelope.h>
 
 namespace EmailClientApi
 {
--- a/emailservices/nmclientapi/src/nmapiengine.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapiengine.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,19 +15,8 @@
  *
  */
 
-#include "emailtrace.h"
-
-#include <nmapicommonheader.h>
+#include "nmapiheaders.h"
 
-#include "nmapitypesconverter.h"
-#include "nmdataplugininterface.h"
-#include "nmapidatapluginfactory.h"
-#include "nmapiengine.h"
-
-/*!
-    from nmailbase
-*/
-#include "nmapiprivateheaders.h"
 
 NmApiEngine *NmApiEngine::mInstance = NULL;
 quint32 NmApiEngine::mReferenceCount = 0;
--- a/emailservices/nmclientapi/src/nmapienvelopelisting.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapienvelopelisting.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -14,17 +14,8 @@
  * Description:
  *
  */
-
-#include "emailtrace.h"
-
-#include <nmapienvelopelisting.h>
-#include "nmapienvelopelisting_p.h"
-
-#include <nmapicommonheader.h>
-
-#include "nmapiengine.h"
-
-
+ 
+#include "nmapiheaders.h"
 
 namespace EmailClientApi
 {
--- a/emailservices/nmclientapi/src/nmapienvelopelisting_p.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapienvelopelisting_p.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,13 +15,7 @@
  *
  */
 
-#include "emailtrace.h"
-
-#include "nmapiengine.h"
-#include "nmapienvelopelisting_p.h"
-
-#include <nmapimailbox.h>
-#include <nmapimessageenvelope.h>
+#include "nmapiheaders.h"
 
 
 
--- a/emailservices/nmclientapi/src/nmapieventnotifier.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapieventnotifier.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,16 +15,8 @@
  *
  */
 
-#include "emailtrace.h"
+#include "nmapiheaders.h"
 
-#include <QList>
-#include <QVariant>
-#include <QString>
-#include <QTimer>
-
-#include "nmapiengine.h"
-#include <nmapieventnotifier.h>
-#include "nmapieventnotifier_p.h"
 
 const quint32 IntervalEmitingSignals = 10000;
 
--- a/emailservices/nmclientapi/src/nmapieventnotifier_p.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapieventnotifier_p.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,12 +15,7 @@
  *
  */
 
-#include "emailtrace.h"
-
-#include "nmapiengine.h"
-#include "nmapieventnotifier_p.h"
-
-#include <QTimer>
+#include "nmapiheaders.h"
 
 namespace EmailClientApi
 {
--- a/emailservices/nmclientapi/src/nmapifolder.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapifolder.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -14,11 +14,9 @@
  * Description: 
  *
  */
-
-#include "emailtrace.h"
+ 
+#include "nmapiheaders.h"
 
-#include <nmapifolder.h>
-#include "nmapifolder_p.h"
 
 namespace EmailClientApi
 {
--- a/emailservices/nmclientapi/src/nmapifolderlisting.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapifolderlisting.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,13 +15,8 @@
  *
  */
 
-#include "emailtrace.h"
+#include "nmapiheaders.h"
 
-#include <nmapifolderlisting.h>
-#include "nmapifolderlisting_p.h"
-
-#include <nmapimailbox.h>
-#include <nmapifolder.h>
 
 namespace EmailClientApi
 {
@@ -145,4 +140,4 @@
 
 }
 
-#include "moc_nmapifolderlisting.cpp"
+
--- a/emailservices/nmclientapi/src/nmapifolderlisting_p.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapifolderlisting_p.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,12 +15,8 @@
  *
  */
 
-#include "emailtrace.h"
+#include "nmapiheaders.h"
 
-#include "nmapiengine.h"
-#include "nmapifolderlisting_p.h"
-
-#include <nmapifolder.h>
 
 namespace EmailClientApi
 {
--- a/emailservices/nmclientapi/src/nmapimailbox.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapimailbox.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,12 +15,7 @@
  *
  */
 
-#include "emailtrace.h"
-
-#include <nmapimailbox.h>
-#include "nmapimailbox_p.h"
-
-#include <QString>
+#include "nmapiheaders.h"
 
 namespace EmailClientApi
 {
--- a/emailservices/nmclientapi/src/nmapimailboxlisting.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapimailboxlisting.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,16 +15,7 @@
  *
  */
 
-#include "emailtrace.h"
-
-#include <nmapimailboxlisting.h>
-
-#include <QObject>
-
-#include <nmapimailbox.h>
-#include "nmapiengine.h"
-#include "nmapimailboxlisting_p.h"
-
+#include "nmapiheaders.h"
 
 namespace EmailClientApi
 {
@@ -169,4 +160,3 @@
 
 }
 
-#include "moc_nmapimailboxlisting.cpp"
--- a/emailservices/nmclientapi/src/nmapimailboxlisting_p.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapimailboxlisting_p.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,12 +15,8 @@
  *
  */
 
-#include "emailtrace.h"
+#include "nmapiheaders.h"
 
-#include "nmapiengine.h"
-#include "nmapimailboxlisting_p.h"
-
-#include <nmapimailbox.h>
 
 namespace EmailClientApi
 {
--- a/emailservices/nmclientapi/src/nmapimailboxsettings.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapimailboxsettings.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -14,9 +14,9 @@
  * Description:
  *
  */
-#include <nmapimailboxsettings.h>
-#include "nmapimailboxsettings_p.h"
-#include <nmapimailboxsettingsdata.h>
+ 
+#include "nmapiheaders.h"
+
 
 namespace EmailClientApi {
 
--- a/emailservices/nmclientapi/src/nmapimailboxsettings_p.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapimailboxsettings_p.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,20 +15,8 @@
  *
  */
 
-#include "nmapimailboxsettings_p.h"
-
-#include "nmdataplugininterface.h"
-#include "nmapidatapluginfactory.h"
-//#include "nmapipopimapsettingsmanager.h"
-#include "emailtrace.h"
+#include "nmapiheaders.h"
 
-#include <nmapimailboxsettings.h>
-#include <nmapimailboxsettingsdata.h>
-
-#include <QVariant>
-#include <QString>
-#include <QHash>
-#include <QList>
 
 namespace EmailClientApi
 {
@@ -93,7 +81,8 @@
     NmApiMailboxSettingsData &data)
 {
     NM_FUNCTION;
-    
+    Q_UNUSED(mailboxType);
+    Q_UNUSED(data);
     bool ret = false;
     
     /*QT_TRY {
@@ -140,6 +129,8 @@
     const QString &mailboxType, NmApiMailboxSettingsData &data) 
 {
     NM_FUNCTION;
+    Q_UNUSED(mailboxType);
+    Q_UNUSED(data);
     /*QScopedPointer<NmApiPopImapSettingsManager> popImapManager(new NmApiPopImapSettingsManager());  
     return popImapManager->populateDefaults(mailboxType, data);*/
     return true;
--- a/emailservices/nmclientapi/src/nmapimailboxsettingsdata.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapimailboxsettingsdata.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -14,8 +14,9 @@
  * Description:
  *
  */
-#include <nmapimailboxsettingsdata.h>
-#include "NmApiMailboxSettingsData_p.h"
+ 
+#include "nmapiheaders.h"
+
 
 namespace EmailClientApi
 {
--- a/emailservices/nmclientapi/src/nmapimailboxsettingsdata_p.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapimailboxsettingsdata_p.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,14 +15,10 @@
  *
  */
 
-#include "nmapimailboxsettingsdata_p.h"
+#include "nmapiheaders.h"
 
-#include <nmapimailboxsettingsdata.h>
-#include <QObject>
-#include <QVariant>
-#include <QString>
-#include <QHash>
-#include "emailtrace.h"
+
+
 
 namespace EmailClientApi
 {
--- a/emailservices/nmclientapi/src/nmapimessagebody.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapimessagebody.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -14,11 +14,9 @@
  * Description: 
  *
  */
-
-#include "emailtrace.h"
+ 
+#include "nmapiheaders.h"
 
-#include <nmapimessagebody.h>
-#include "nmapimessagebody_p.h"
 
 namespace EmailClientApi
 {
--- a/emailservices/nmclientapi/src/nmapimessageenvelope.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapimessageenvelope.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,16 +15,9 @@
  *
  */
 
-#include "emailtrace.h"
-
-#include <QString>
-#include <QDateTime>
+#include "nmapiheaders.h"
 
-#include <nmapimessageenvelope.h>
-#include "nmapimessageenvelope_p.h"
 
-#include <nmapiemailaddress.h>
-#include <nmapimessagebody.h>
 
 namespace EmailClientApi
 {
--- a/emailservices/nmclientapi/src/nmapimessagemanager.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapimessagemanager.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -14,10 +14,8 @@
  * Description:
  *     Email message related operations
  */
-#include <nmapimessagemanager.h>
-#include <nmapifolder.h>
-#include <nmapiprivateclasses.h>
-#include "nmapimessagemanager_p.h"
+ 
+#include "nmapiheaders.h"
 
 
 /*!
--- a/emailservices/nmclientapi/src/nmapimessagemanager_p.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapimessagemanager_p.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -14,14 +14,9 @@
  * Description:
  *     Email message related operations
  */
+ 
+#include "nmapiheaders.h"
 
-#include <nmapimessagemanager.h>
-#include <nmapidatapluginfactory.h>
-#include <nmdataplugininterface.h>
-#include <nmapifolder.h>
-#include <nmcommon.h>
-#include "nmapimessagemanager_p.h"
-#include "emailtrace.h"
 
 namespace EmailClientApi
 {
--- a/emailservices/nmclientapi/src/nmapimessagetask.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapimessagetask.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,9 +15,9 @@
  *
  */
 
-#include "emailtrace.h"
+#include "nmapiheaders.h"
 
-#include <nmapimessagetask.h>
+
 
 /*!
    Constructor for NmApiMessageTask
--- a/emailservices/nmclientapi/src/nmapipopimapsettingsmanager.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapipopimapsettingsmanager.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,13 +15,9 @@
 *
 */
 
-#include "nmapipopimapsettingsmanager.h"
+#include "nmapiheaders.h"
 
-#include <imapset.h>
-#include <pop3set.h>
-#include <iapprefs.h>
-#include <cemailaccounts.h>
-#include <xqconversions.h>
+
 
 
 static const int DefaultPopPort = 110;
--- a/emailservices/nmclientapi/src/nmapitypesconverter.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailservices/nmclientapi/src/nmapitypesconverter.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -15,13 +15,7 @@
  *
  */
 
-#include "emailtrace.h"
-
-#include "nmapitypesconverter.h"
-
-#include <nmapicommonheader.h>
-
-#include <nmapiprivateheaders.h>
+#include "nmapiheaders.h"
 
 /*!
    converts nmmailbox to client api NmApiMailbox
--- a/emailuis/nmailui/conf/nmeditorview.docml	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/conf/nmeditorview.docml	Tue Jun 29 17:12:28 2010 +0300
@@ -4,138 +4,128 @@
         <widget name="content" role="HbView:widget" type="HbWidget">
             <widget name="scrollArea" plugin="nmailuiwidgetsplugin" type="NmBaseViewScrollArea">
                 <widget name="scrollAreaContents" role="HbScrollArea:contents" type="HbWidget">
-                    <widget name="container" type="HbWidget">
-                        <widget name="containerContents" type="HbWidget">
-                            <widget name="editorToField" type="HbWidget">
-                                <widget name="editorToLabel" type="HbLabel">
-                                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                                    <sizehint height="7.5un" type="FIXED" width="12.5un"/>
-                                    <string locid="txt_mail_editor_to" name="plainText"/>
-                                    <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
-                                </widget>
-                                <widget name="editorToEdit" plugin="nmailuiwidgetsplugin" type="NmRecipientLineEdit"/>
-                                <widget name="editorToButton" type="HbPushButton">
-                                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                                    <sizehint height="7.5un" type="FIXED" width="9.5un"/>
-                                </widget>
-                                <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-middle-horizontal)" type="linear">
-                                    <contentsmargins bottom="0un" left="var(hb-param-margin-gene-left)" right="var(hb-param-margin-gene-right)" top="0un"/>
-                                    <linearitem itemname="editorToLabel"/>
-                                    <linearitem itemname="editorToEdit"/>
-                                    <linearitem itemname="editorToButton"/>
-                                </layout>
-                            </widget>
-                            <widget name="editorCcField" type="HbWidget">
-                                <widget name="editorCcLabel" type="HbLabel">
-                                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                                    <sizehint height="7.5un" type="FIXED" width="12.5un"/>
-                                    <string locid="txt_mail_editor_cc" name="plainText"/>
-                                    <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
-                                </widget>
-                                <widget name="editorCcEdit" plugin="nmailuiwidgetsplugin" type="NmRecipientLineEdit"/>
-                                <widget name="editorCcButton" type="HbPushButton">
-                                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                                    <sizehint height="7.5un" type="FIXED" width="9.5un"/>
-                                </widget>
-                                <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-middle-horizontal)" type="linear">
-                                    <contentsmargins bottom="0un" left="var(hb-param-margin-gene-left)" right="var(hb-param-margin-gene-right)" top="0un"/>
-                                    <linearitem itemname="editorCcLabel"/>
-                                    <linearitem itemname="editorCcEdit"/>
-                                    <linearitem itemname="editorCcButton"/>
-                                </layout>
-                            </widget>
-                            <widget name="editorBccField" type="HbWidget">
-                                <widget name="editorBccLabel" type="HbLabel">
-                                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                                    <sizehint height="7.5un" type="FIXED" width="12.5un"/>
-                                    <string locid="txt_mail_editor_bcc" name="plainText"/>
-                                    <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
-                                </widget>
-                                <widget name="editorBccEdit" plugin="nmailuiwidgetsplugin" type="NmRecipientLineEdit"/>
-                                <widget name="editorBccButton" type="HbPushButton">
-                                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                                    <sizehint height="7.5un" type="FIXED" width="9.5un"/>
-                                </widget>
-                                <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-middle-horizontal)" type="linear">
-                                    <contentsmargins bottom="0un" left="var(hb-param-margin-gene-left)" right="var(hb-param-margin-gene-right)" top="0un"/>
-                                    <linearitem itemname="editorBccLabel"/>
-                                    <linearitem itemname="editorBccEdit"/>
-                                    <linearitem itemname="editorBccButton"/>
-                                </layout>
-                            </widget>
-                            <widget name="editorSubjectField" type="HbWidget">
-                                <widget name="editorSubjectLabel" type="HbLabel">
-                                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                                    <sizehint height="7.5un" type="FIXED" width="12.5un"/>
-                                    <string locid="txt_mail_editor_subject" name="plainText"/>
-                                    <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
-                                </widget>
-                                <widget name="editorSubjectEdit" plugin="nmailuiwidgetsplugin" type="NmHtmlLineEdit"/>
-                                <widget name="editPriorityIcon" type="HbLabel">
-                                    <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
-                                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                                    <sizehint height="var(hb-param-graphic-size-secondary)" type="FIXED" width="var(hb-param-graphic-size-secondary)"/>
-                                </widget>
-                                <widget name="editFollowUpIcon" type="HbLabel">
-                                    <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
-                                    <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                                    <sizehint height="var(hb-param-graphic-size-secondary)" type="FIXED" width="var(hb-param-graphic-size-secondary)"/>
-                                </widget>
-                                <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-middle-horizontal)" type="linear">
-                                    <contentsmargins bottom="0un" left="var(hb-param-margin-gene-left)" right="var(hb-param-margin-gene-right)" top="0un"/>
-                                    <linearitem itemname="editorSubjectLabel"/>
-                                    <linearitem itemname="editorSubjectEdit"/>
-                                    <linearitem itemname="editPriorityIcon" spacing="0.5un"/>
-                                    <linearitem itemname="editFollowUpIcon"/>
-                                </layout>
-                            </widget>
-                            <widget name="attachmentListWidget" plugin="nmailuiwidgetsplugin" type="NmAttachmentListWidget">
-                            </widget>
-                            <widget name="BodyTextEditContainer" type="HbWidget">
-                                <widget name="BodyTextEdit" plugin="nmailuiwidgetsplugin" type="NmEditorTextEdit">
-                                    <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
-                                    <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
-                                    <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
-                                    <string name="plainText"/>
-                                </widget>
-                                <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
-                                <layout type="anchor">
-                                    <anchoritem dst="BodyTextEdit" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
-                                    <anchoritem dst="BodyTextEdit" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
-                                    <anchoritem dst="BodyTextEdit" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
-                                    <anchoritem dst="BodyTextEdit" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
-                                </layout>
-                            </widget>
-                            <layout orientation="Vertical" spacing="var(hb-param-margin-gene-middle-vertical)" type="linear">
-                                <!-- Widget may have different left and right margins so they are not defined here -->
-                                <contentsmargins bottom="0un" left="0un" right="0un" top="var(hb-param-margin-gene-top)"/>
-                                <linearitem itemname="editorToField"/>
-                                <linearitem itemname="editorCcField"/>
-                                <linearitem itemname="editorBccField"/>
-                                <linearitem itemname="editorSubjectField"/>
-                                <linearitem itemname="attachmentListWidget"/>
-                                <linearitem itemname="BodyTextEditContainer"/>
-                            </layout>
+                    <widget name="editorToField" type="HbWidget">
+                        <widget name="editorToLabel" type="HbLabel">
+                            <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                            <sizehint height="7.5un" type="FIXED" width="12.5un"/>
+                            <string locid="txt_mail_editor_to" name="plainText"/>
+                            <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+                        </widget>
+                        <widget name="editorToEdit" plugin="nmailuiwidgetsplugin" type="NmRecipientLineEdit"/>
+                        <widget name="editorToButton" type="HbPushButton">
+                            <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                            <sizehint height="7.5un" type="FIXED" width="9.5un"/>
+                        </widget>
+                        <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+                        <sizehint type="PREFERRED" width="expr(var(hb-param-screen-width) )"/>
+                        <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-middle-horizontal)" type="linear">
+                            <contentsmargins bottom="0un" left="var(hb-param-margin-gene-left)" right="var(hb-param-margin-gene-right)" top="0un"/>
+                            <linearitem itemname="editorToLabel"/>
+                            <linearitem itemname="editorToEdit"/>
+                            <linearitem itemname="editorToButton"/>
+                        </layout>
+                    </widget>
+                    <widget name="editorCcField" type="HbWidget">
+                        <widget name="editorCcLabel" type="HbLabel">
+                            <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                            <sizehint height="7.5un" type="FIXED" width="12.5un"/>
+                            <string locid="txt_mail_editor_cc" name="plainText"/>
+                            <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+                        </widget>
+                        <widget name="editorCcEdit" plugin="nmailuiwidgetsplugin" type="NmRecipientLineEdit"/>
+                        <widget name="editorCcButton" type="HbPushButton">
+                            <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                            <sizehint height="7.5un" type="FIXED" width="9.5un"/>
+                        </widget>
+                        <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+                        <sizehint type="PREFERRED" width="expr(var(hb-param-screen-width) )"/>
+                        <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-middle-horizontal)" type="linear">
+                            <contentsmargins bottom="0un" left="var(hb-param-margin-gene-left)" right="var(hb-param-margin-gene-right)" top="0un"/>
+                            <linearitem itemname="editorCcLabel"/>
+                            <linearitem itemname="editorCcEdit"/>
+                            <linearitem itemname="editorCcButton"/>
+                        </layout>
+                    </widget>
+                    <widget name="editorBccField" type="HbWidget">
+                        <widget name="editorBccLabel" type="HbLabel">
+                            <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                            <sizehint height="7.5un" type="FIXED" width="12.5un"/>
+                            <string locid="txt_mail_editor_bcc" name="plainText"/>
+                            <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+                        </widget>
+                        <widget name="editorBccEdit" plugin="nmailuiwidgetsplugin" type="NmRecipientLineEdit"/>
+                        <widget name="editorBccButton" type="HbPushButton">
+                            <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                            <sizehint height="7.5un" type="FIXED" width="9.5un"/>
+                        </widget>
+                        <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+                        <sizehint type="PREFERRED" width="expr(var(hb-param-screen-width) )"/>
+                        <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-middle-horizontal)" type="linear">
+                            <contentsmargins bottom="0un" left="var(hb-param-margin-gene-left)" right="var(hb-param-margin-gene-right)" top="0un"/>
+                            <linearitem itemname="editorBccLabel"/>
+                            <linearitem itemname="editorBccEdit"/>
+                            <linearitem itemname="editorBccButton"/>
+                        </layout>
+                    </widget>
+                    <widget name="editorSubjectField" type="HbWidget">
+                        <widget name="editorSubjectLabel" type="HbLabel">
+                            <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                            <sizehint height="7.5un" type="FIXED" width="12.5un"/>
+                            <string locid="txt_mail_editor_subject" name="plainText"/>
+                            <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+                        </widget>
+                        <widget name="editorSubjectEdit" plugin="nmailuiwidgetsplugin" type="NmHtmlLineEdit"/>
+                        <widget name="editPriorityIcon" type="HbLabel">
+                            <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                            <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                            <sizehint height="var(hb-param-graphic-size-secondary)" type="FIXED" width="var(hb-param-graphic-size-secondary)"/>
+                        </widget>
+                        <widget name="editFollowUpIcon" type="HbLabel">
+                            <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+                            <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+                            <sizehint height="var(hb-param-graphic-size-secondary)" type="FIXED" width="var(hb-param-graphic-size-secondary)"/>
+                        </widget>
+                        <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+                        <sizehint type="PREFERRED" width="expr(var(hb-param-screen-width) )"/>
+                        <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-middle-horizontal)" type="linear">
+                            <contentsmargins bottom="0un" left="var(hb-param-margin-gene-left)" right="var(hb-param-margin-gene-right)" top="0un"/>
+                            <linearitem itemname="editorSubjectLabel"/>
+                            <linearitem itemname="editorSubjectEdit"/>
+                            <linearitem itemname="editPriorityIcon" spacing="0.5un"/>
+                            <linearitem itemname="editFollowUpIcon"/>
+                        </layout>
+                    </widget>
+                    <widget name="attachmentListWidget" plugin="nmailuiwidgetsplugin" type="NmAttachmentListWidget">
+                        <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+                        <sizehint type="PREFERRED" width="expr(var(hb-param-screen-width) )"/>
+                    </widget>
+                    <widget name="BodyTextEditContainer" type="HbWidget">
+                        <widget name="BodyTextEdit" plugin="nmailuiwidgetsplugin" type="NmEditorTextEdit">
+                            <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+                            <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+                            <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+                            <string name="plainText"/>
                         </widget>
                         <real name="z" value="0"/>
                         <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
-                        <sizehint height="23.8806un" type="PREFERRED" width="23.8806un"/>
                         <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
                         <layout type="anchor">
-                            <anchoritem dst="containerContents" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
-                            <anchoritem dst="containerContents" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
-                            <anchoritem dst="containerContents" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
-                            <anchoritem dst="containerContents" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+                            <anchoritem dst="BodyTextEdit" dstEdge="LEFT" spacing="var(hb-param-margin-gene-left)" src="" srcEdge="LEFT"/>
+                            <anchoritem dst="BodyTextEdit" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+                            <anchoritem dst="BodyTextEdit" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
+                            <anchoritem dst="BodyTextEdit" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
                         </layout>
                     </widget>
                     <real name="z" value="0"/>
-                    <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
-                    <sizehint height="88un" type="PREFERRED" width="54un"/>
-                    <layout type="anchor">
-                        <anchoritem dst="container" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
-                        <anchoritem dst="container" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
-                        <anchoritem dst="container" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
-                        <anchoritem dst="container" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+                    <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+                    <layout orientation="Vertical" spacing="var(hb-param-margin-gene-middle-vertical)" type="linear">
+                        <contentsmargins bottom="0un" left="0un" right="0un" top="var(hb-param-margin-gene-top)"/>
+                        <linearitem itemname="editorToField"/>
+                        <linearitem itemname="editorCcField"/>
+                        <linearitem itemname="editorBccField"/>
+                        <linearitem itemname="editorSubjectField"/>
+                        <linearitem itemname="attachmentListWidget"/>
+                        <linearitem itemname="BodyTextEditContainer"/>
                     </layout>
                 </widget>
             </widget>
--- a/emailuis/nmailui/conf/nmmessagelistview.docml	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/conf/nmmessagelistview.docml	Tue Jun 29 17:12:28 2010 +0300
@@ -3,30 +3,18 @@
     <widget name="NmMessageListView" type="HbView">
         <widget name="content" role="HbView:widget" type="HbWidget">
             <widget name="MessageTreeList" type="HbTreeView">
-                <real name="z" value="1"/>
                 <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
             </widget>
             <widget name="MessageListNoMessages" type="HbLabel">
                 <enums name="alignment" value="AlignLeft|AlignVCenter|AlignHCenter|AlignLeading"/>
-                <real name="z" value="2"/>
-                <sizehint height="4.47761un" type="PREFERRED" width="28.65672un"/>
                 <string locid="txt_mail_dblist_no_messages" name="plainText"/>
                 <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
             </widget>
             <widget name="labelGroupBox" type="HbGroupBox">
-                <real name="z" value="3"/>
-                <sizepolicy horizontalPolicy="MinimumExpanding" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
                 <sizehint height="6un" type="PREFERRED" width="52un"/>
                 <bool name="collapsable" value="FALSE"/>
                 <bool name="enabled" value="FALSE"/>
             </widget>
-            <widget name="syncIcon" type="HbLabel">
-                <enums name="alignment" value="AlignAbsolute|AlignLeft|AlignVCenter|AlignJustify|AlignHCenter|AlignLeading"/>
-                <real name="z" value="7"/>
-                <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
-                <sizehint height="expr(var(hb-param-graphic-size-primary-small) )" type="PREFERRED" width="expr(var(hb-param-graphic-size-primary-small) )"/>
-                <sizehint height="expr(var(hb-param-graphic-size-primary-small) )" type="MINIMUM" width="expr(var(hb-param-graphic-size-primary-small) )"/>
-            </widget>
             <real name="z" value="0"/>
             <layout type="anchor">
                 <anchoritem dst="MessageListNoMessages" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
@@ -39,9 +27,6 @@
                 <anchoritem dst="MessageTreeList" dstEdge="TOP" spacing="0un" src="labelGroupBox" srcEdge="BOTTOM"/>
                 <anchoritem dst="MessageTreeList" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
                 <anchoritem dst="MessageTreeList" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
-                <anchoritem dst="syncIcon" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
-                <anchoritem dst="syncIcon" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-right)" src="" srcEdge="RIGHT"/>
-                <anchoritem dst="syncIcon" dstEdge="BOTTOM" spacing="0un" src="labelGroupBox" srcEdge="BOTTOM"/>
             </layout>
         </widget>
         <string name="title" value="View"/>
--- a/emailuis/nmailui/inc/nmeditorcontent.h	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/inc/nmeditorcontent.h	Tue Jun 29 17:12:28 2010 +0300
@@ -46,9 +46,11 @@
 
     void setMessageData(const NmMessage &originalMessage,
                         NmUiEditorStartMode &editorStartMode);
+
     NmEditorTextEdit* editor() const;
+
     NmEditorHeader* header() const;
-
+    
 private:
     void createConnections();
     void removeEmbeddedImages(QString &bodyContent);
@@ -60,14 +62,13 @@
 
 public slots:
     void setEditorContentHeight();
-    void setScrollPosition(int oldPos, int newPos);
-    void updateScrollPosition(const QPointF &newPosition);
+    void ensureCursorVisibility();
 
 private:
     enum MessageBodyType { NmPlainText, NmHTMLText };
 
 private:
-    NmEditorHeader *mHeaderWidget; // Not owned
+    NmEditorHeader *mHeader; // Not owned
     MessageBodyType mMessageBodyType;
     NmEditorTextEdit *mEditorWidget; // Not owned
     NmBaseViewScrollArea *mScrollArea; // Not owned
--- a/emailuis/nmailui/inc/nmeditorview.h	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/inc/nmeditorview.h	Tue Jun 29 17:12:28 2010 +0300
@@ -81,6 +81,9 @@
     void okToExitQuery(HbAction* action);
     void sendProgressDialogCancelled();
     
+protected:
+    void resizeEvent(QGraphicsSceneResizeEvent *event);
+
 private slots:
     void messageCreated(int result);
     void oneAttachmentAdded(const QString &fileName,
@@ -118,16 +121,18 @@
     void enableToolBarAttach(bool enable);
     void showChrome(bool show);
 
+signals:
+    void sizeChanged();
+    
 private: // Data
     NmApplication &mApplication;
     NmUiEngine &mUiEngine;
     NmAttachmentManager  &mAttaManager;
     HbDocumentLoader *mDocumentLoader;  // Owned
     QObjectList mWidgetList;            // Owned
-    NmEditorTextEdit *mEditWidget;      // Not owned
     NmEditorHeader *mHeaderWidget;      // Not owned
     NmMessage *mMessage;                // Owned
-    NmEditorContent *mContentWidget;    // Owned
+    NmEditorContent *mContent;          // Not owned
     HbMenu *mPrioritySubMenu;           // Owned
     HbMenu *mAttachmentListContextMenu; // Owned
     NmId mSelectedAttachment;
--- a/emailuis/nmailui/inc/nmuiheaders.h	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/inc/nmuiheaders.h	Tue Jun 29 17:12:28 2010 +0300
@@ -91,6 +91,7 @@
 #include <hbinputvkbhost.h>
 #include <hbindicator.h>
 #include <hbformatdialog.h>
+#include <hbshrinkingvkbhost.h>
 
 #include <cntservicescontact.h>
 #include <xqservicerequest.h>
--- a/emailuis/nmailui/inc/nmviewerview.h	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/inc/nmviewerview.h	Tue Jun 29 17:12:28 2010 +0300
@@ -24,7 +24,6 @@
 #include "nmactionobserver.h"
 #include "nmattachmentfetchobserver.h"
 
-class QGraphicsLinearLayout;
 class QWebPage;
 
 class HbWidget;
@@ -45,6 +44,7 @@
 class NmAttachmentListWidget;
 class NmAttachmentManager;
 class HbMessageBox;
+class NmMessagePart;
 
 class NmViewerView : public NmBaseView, public NmActionObserver, public NmAttachmentFetchObserver
 {
@@ -55,8 +55,8 @@
 				NmUiStartParam* startParam,
 				NmUiEngine &uiEngine,
 				HbMainWindow *mainWindow,
-            NmAttachmentManager &attaManager,
-            bool toolbar = false,
+				NmAttachmentManager &attaManager,
+				bool toolbar = false,
 				QGraphicsItem *parent = NULL);
     ~NmViewerView();
     void reloadViewContents(NmUiStartParam* startParam);
@@ -99,6 +99,8 @@
     void loadMessage();
     void loadViewLayout();
     QString formatMessage();
+    QString formatHtmlMessage(NmMessagePart *html);
+    QString formatPlainTextMessage(NmMessagePart *plain);
     bool eventOnTopOfHeaderArea(QGraphicsSceneMouseEvent *event);
     void changeMessageReadStatus(bool read);
     void setMailboxName();
@@ -123,9 +125,8 @@
     QPointF mLatestScrollPos;
     bool mDisplayingPlainText;
     QObjectList mWidgetList;
-    NmUiDocumentLoader *mDocumentLoader;
-    HbWidget *mScrollAreaContents;
-    HbWidget *mViewerHeaderContainer;
+    NmUiDocumentLoader *mDocumentLoader;             // Owned
+    HbWidget *mScrollAreaContents;                   // Not owned
     QSize mScreenSize;
     HbProgressDialog *mWaitDialog;                   // Owned
     bool webFrameloadingCompleted;
--- a/emailuis/nmailui/inc/nmviewerviewnetreply.h	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/inc/nmviewerviewnetreply.h	Tue Jun 29 17:12:28 2010 +0300
@@ -54,7 +54,7 @@
     NmId mFolderId;
     NmId mMessageId;
     NmId mMessagePartId;
-    NmOperation *mOperation;
+    NmOperation *mOperation;    // Not owned
     qint64 mReadIndex;
 };
 
--- a/emailuis/nmailui/inc/nmviewerwebview.h	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/inc/nmviewerwebview.h	Tue Jun 29 17:12:28 2010 +0300
@@ -45,20 +45,18 @@
     NmMailViewerWK();
     ~NmMailViewerWK();
     virtual QVariant loadResource (int type, const QUrl &name, NmId &partId, bool &isFetched);
-    void setParentView(NmViewerView *parentView);
     void addContent(QString key, QVariant val, NmId partId, bool isFetched);
-    virtual bool event(QEvent* event);
+    bool event(QEvent* event);
     
 protected:
-    virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent* event);
-    virtual void gestureEvent(QGestureEvent* event);
-    virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event);
-    virtual void mouseMoveEvent(QGraphicsSceneMouseEvent* event);
-    virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent* event);
+    void contextMenuEvent(QGraphicsSceneContextMenuEvent* event);
+    void gestureEvent(QGestureEvent* event);
+    void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event);
+    void mouseMoveEvent(QGraphicsSceneMouseEvent* event);
+    void mouseReleaseEvent(QGraphicsSceneMouseEvent* event);
     
 private:
     QMap<QString,NmMailViewerWkContentItem> mContent;
-    NmViewerView *mParentView;                        // Not owned
     bool mSuppressRelease;
 };
 
--- a/emailuis/nmailui/nmailui.pro	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/nmailui.pro	Tue Jun 29 17:12:28 2010 +0300
@@ -11,7 +11,6 @@
 CONFIG += debug
 CONFIG += hb
 CONFIG += service
-CONFIG += no_icon
 
 SERVICE.FILE = service_conf.xml
 
--- a/emailuis/nmailui/src/nmeditorcontent.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/src/nmeditorcontent.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -24,7 +24,7 @@
 
 // Regular expression for selecting img tags with "cid" in the mail.
 static const char *NMUI_EDITOR_REMOVE_EMBD_IMAGES_REG = 
-    "(<img (src\\s*=\\s*)(.{0,1}cid)([^<]+)(>\\s*|/>\\s*|></img>\\s*))";
+    "(<img[^<]+(src\\s*=\\s*)(.{0,1}cid)([^<]+)(>\\s*|/>\\s*|></img>\\s*))";
 	
 /*!
     Constructor
@@ -34,7 +34,7 @@
                                  QNetworkAccessManager &manager,
                                  NmApplication &application) :
     QObject(parent),
-    mHeaderWidget(NULL),
+    mHeader(NULL),
     mMessageBodyType(NmPlainText),
     mEditorWidget(NULL),
     mScrollArea(NULL),
@@ -44,7 +44,7 @@
     NM_FUNCTION;
 
     // Construct container for the header widgets
-    mHeaderWidget = new NmEditorHeader(this, documentLoader);
+    mHeader = new NmEditorHeader(this, documentLoader);
 
     // Get pointer to body text area handling widget
     mEditorWidget = qobject_cast<NmEditorTextEdit *>(documentLoader->findWidget(NMUI_EDITOR_BODY));
@@ -56,7 +56,8 @@
 
     mScrollArea = qobject_cast<NmBaseViewScrollArea *>
         (documentLoader->findObject(NMUI_EDITOR_SCROLL_AREA));
-
+    mScrollArea->setScrollDirections(Qt::Vertical | Qt::Horizontal);
+    
     // Enable style picker menu item.
     mEditorWidget->setFormatDialog(new HbFormatDialog());
 
@@ -129,21 +130,28 @@
             mEditorWidget, SLOT(setPlainText(QString)), Qt::QueuedConnection);
 
     // Inform text edit widget that header height has been changed
-    connect(mHeaderWidget, SIGNAL(headerHeightChanged(int)), this, SLOT(setEditorContentHeight()),
+    connect(mHeader, SIGNAL(headerHeightChanged(int)), this, SLOT(setEditorContentHeight()),
         Qt::QueuedConnection);
 
     // we are interested in the document's height changes
     connect(mEditorWidget->document()->documentLayout(), SIGNAL(documentSizeChanged(QSizeF)), this,
         SLOT(setEditorContentHeight()), Qt::QueuedConnection);
 
-    // We need to update the scroll position according the editor cursor position
+    // We need to update the scroll position according the editor's cursor position
+    connect(mHeader->toEdit(), SIGNAL(cursorPositionChanged(int, int)), this, 
+        SLOT(ensureCursorVisibility()), Qt::QueuedConnection);
+    connect(mHeader->ccEdit(), SIGNAL(cursorPositionChanged(int, int)), this, 
+        SLOT(ensureCursorVisibility()), Qt::QueuedConnection);
+    connect(mHeader->bccEdit(), SIGNAL(cursorPositionChanged(int, int)), this, 
+        SLOT(ensureCursorVisibility()), Qt::QueuedConnection);
+    connect(mHeader->subjectEdit(), SIGNAL(cursorPositionChanged(int, int)), this, 
+        SLOT(ensureCursorVisibility()), Qt::QueuedConnection);
     connect(mEditorWidget, SIGNAL(cursorPositionChanged(int, int)), this, 
-        SLOT(setScrollPosition(int, int)), Qt::QueuedConnection);
-    
-    // We need to know the scroll area's current position for calculating the new position in
-	// setScrollPosition
-    connect(mScrollArea, SIGNAL(scrollPositionChanged(QPointF)), this, 
-        SLOT(updateScrollPosition(QPointF)), Qt::QueuedConnection);
+        SLOT(ensureCursorVisibility()), Qt::QueuedConnection);
+
+    // listen to the parent's (NmEditorView) size changes which happen eg. when VKB is opened/closed
+    connect(parent(), SIGNAL(sizeChanged()), this, SLOT(ensureCursorVisibility()),
+        Qt::QueuedConnection);
 }
 
 /*!
@@ -163,7 +171,7 @@
 {
     NM_FUNCTION;
     
-    return mHeaderWidget;
+    return mHeader;
 }
 
 /*!
@@ -174,23 +182,21 @@
 {
     NM_FUNCTION;
     
+    // the height of the margin between the title bar and the header
     qreal topMargin = 0;
     HbStyle().parameter("hb-param-margin-gene-top", topMargin);
     
     // header height
-    qreal headerHeight = mHeaderWidget->headerHeight();
+    qreal headerHeight = mHeader->headerHeight();
 
     // body area editor's document height with margins added
     qreal documentHeightAndMargins = mEditorWidget->document()->size().height() +
         (mEditorWidget->document()->documentMargin() * 2);
 
-    // get the chrome height
+    // chrome height
     qreal chromeHeight = 0;
     HbStyle().parameter("hb-param-widget-chrome-height", chromeHeight);
     
-    qreal toolbarHeight = 0;
-    HbStyle().parameter("hb-param-widget-toolbar-height", toolbarHeight);
-
     // screen height
     qreal screenHeight = mApplication.screenSize().height();
 
@@ -203,65 +209,51 @@
 }
 
 /*!
-    This slot is called when cursor position is changed in body area using
-    'pointing stick' or keyboard. Function will update the scroll position
-    of the content so that cursor does not go outside of the screen or
-    behind the virtual keyboard.
- */
-void NmEditorContent::setScrollPosition(int oldPos, int newPos)
+    This slot is called when the cursor visibility has to be ensured ie. the scroll position is 
+    adjusted so that the cursor can be seen.
+*/
+void NmEditorContent::ensureCursorVisibility()
 {
     NM_FUNCTION;
-    
-    Q_UNUSED(oldPos);
-
-    qreal chromeHeight = 0;
-    HbStyle().parameter("hb-param-widget-chrome-height", chromeHeight);
-    
-    const QSizeF screenReso = mApplication.screenSize();
-    qreal maxHeight = screenReso.height() - chromeHeight;
-
-    // Get cursor position coordinates
-    QRectF cursorPosPix = mEditorWidget->rectForPosition(newPos);
-    
-    // Calculate the screen top and bottom boundaries, this means the part of the
-    // background scroll area which is currently visible.
-    qreal visibleRectTopBoundary;
-    qreal visibleRectBottomBoundary;
-    
-    qreal headerHeight = mHeaderWidget->headerHeight();
 
-    if (mScrollPosition.y() < headerHeight) {
-        // Header is completely or partially visible
-        visibleRectTopBoundary = headerHeight - mScrollPosition.y();
-        visibleRectBottomBoundary = maxHeight - visibleRectTopBoundary;
-    }
-    else {
-        // Header is not visible
-        visibleRectTopBoundary = mScrollPosition.y() - headerHeight;
-        visibleRectBottomBoundary = visibleRectTopBoundary + maxHeight;
-    }
+    // check which of the editors has the focus and get the x/y coordinates for the cursor position
+    QGraphicsWidget *focused = mScrollAreaContents->focusWidget();
+    
+    if (focused) {
+        QRectF localRect(0, 0, 0, 0);
+        bool notFound = false;
+        
+        if (focused == mHeader->toEdit()) {
+            localRect = mHeader->toEdit()->rectForCursorPosition();
+        }
+        else if (focused == mHeader->ccEdit()) {
+            localRect = mHeader->ccEdit()->rectForCursorPosition();
+        }
+        else if (focused == mHeader->bccEdit()) {
+            localRect = mHeader->bccEdit()->rectForCursorPosition();
+        }
+        else if (focused == mHeader->subjectEdit()) {
+            localRect = mHeader->subjectEdit()->rectForCursorPosition();
+        }
+        else if (focused == mEditorWidget) {
+            localRect = mEditorWidget->rectForCursorPosition();
+        }
+        else {
+            notFound = true;
+        }
 
-    // Do scrolling if cursor is out of the screen boundaries
-    if (cursorPosPix.y() > visibleRectBottomBoundary) {
-        // Do scroll forward
-        mScrollArea->scrollContentsTo(QPointF(0, cursorPosPix.y() - maxHeight + headerHeight));
-    }
-    else if (cursorPosPix.y() + headerHeight < mScrollPosition.y()) {
-        // Do scroll backward
-        mScrollArea->scrollContentsTo(QPointF(0, cursorPosPix.y() + headerHeight));
+        if (!notFound) {
+            QPointF topLeftPos = focused->mapToItem(mScrollAreaContents, localRect.topLeft());
+            QPointF bottomRightPos =
+                focused->mapToItem(mScrollAreaContents, localRect.bottomRight());
+            qreal marginRight = 0;
+            HbStyle().parameter("hb-param-margin-gene-right", marginRight);
+            bottomRightPos.rx() += marginRight;
+            mScrollArea->ensureVisible(topLeftPos);
+            mScrollArea->ensureVisible(bottomRightPos);
+        }
     }
 }
-
-/*!
-    This slot is called when background scroll areas scroll position has been shanged.
-*/
-void NmEditorContent::updateScrollPosition(const QPointF &newPosition)
-{
-    NM_FUNCTION;
-    
-    mScrollPosition = newPosition;
-}
-
 /*!
     Removes embedded images from the message body
  */
@@ -271,4 +263,4 @@
  
     QRegExp regExp(NMUI_EDITOR_REMOVE_EMBD_IMAGES_REG, Qt::CaseInsensitive);
     bodyContent.remove(regExp);
-}
\ No newline at end of file
+}
--- a/emailuis/nmailui/src/nmeditorheader.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/src/nmeditorheader.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -19,7 +19,7 @@
 
 // Layout
 // These match to the defintions in nmeditorview.docml
-static const char *NMUI_EDITOR_CONTAINER = "containerContents";
+static const char *NMUI_EDITOR_CONTAINER = "scrollAreaContents";
 static const char *NMUI_EDITOR_SUBJECT_FIELD = "editorSubjectField";
 static const char *NMUI_EDITOR_SUBJECT_EDIT = "editorSubjectEdit";
 static const char *NMUI_EDITOR_CC_FIELD = "editorCcField";
--- a/emailuis/nmailui/src/nmeditorview.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/src/nmeditorview.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -41,10 +41,9 @@
       mUiEngine(uiEngine),
       mAttaManager(attaManager),
       mDocumentLoader(NULL),
-      mEditWidget(NULL),
       mHeaderWidget(NULL),
       mMessage(NULL),
-      mContentWidget(NULL),
+      mContent(NULL),
       mAttachmentListContextMenu(NULL),
       mMessageCreationOperation(NULL),
       mAddAttachmentOperation(NULL),
@@ -128,12 +127,10 @@
             setWidget(view);
         }
 
-        mContentWidget = new NmEditorContent(this, mDocumentLoader, 
+        mContent = new NmEditorContent(this, mDocumentLoader, 
             mApplication.networkAccessManager(), mApplication);
 
-        mEditWidget = mContentWidget->editor();
-
-        mHeaderWidget = mContentWidget->header();
+        mHeaderWidget = mContent->header();
 
         // Set default color for user - entered text if editor is in re/reAll/fw mode
         if (mStartParam) {
@@ -141,7 +138,7 @@
             if (mode == NmUiEditorReply
                 || mode == NmUiEditorReplyAll 
                 || mode == NmUiEditorForward) {
-                mEditWidget->setCustomTextColor(true, Qt::blue);
+                mContent->editor()->setCustomTextColor(true, Qt::blue);
             }
         }
 
@@ -188,11 +185,7 @@
 {
     NM_FUNCTION;
     
-    // If switching to horizontal, chrome must be hided
-    if (mVkbHost && orientation == Qt::Horizontal &&
-        mVkbHost->keypadStatus() == HbVkbHost::HbVkbStatusOpened) {
-        showChrome(false);
-    }
+    Q_UNUSED(orientation);
     
     // content widget height needs to be set according to the new orientation to get the scroll
 	// area work correctly
@@ -204,9 +197,7 @@
  */
 void NmEditorView::vkbOpened()
 {
-    if (mApplication.mainWindow()->orientation() == Qt::Horizontal) {
-        showChrome(false);	
-    }
+    showChrome(false);	
 }
 
 /*!
@@ -223,7 +214,7 @@
 void NmEditorView::showChrome(bool show)
 {
     if (show) {
-        showItems(Hb::StatusBarItem | Hb::TitleBarItem | Hb::ToolBarItem);		
+        showItems(Hb::StatusBarItem | Hb::TitleBarItem | Hb::ToolBarItem);
     }
     else {
         hideItems(Hb::StatusBarItem | Hb::TitleBarItem | Hb::ToolBarItem);
@@ -249,8 +240,8 @@
        
     bool okToExit(true);
     
-    if (mContentWidget) {
-        NmEditorHeader *header = mContentWidget->header();
+    if (mContent) {
+        NmEditorHeader *header = mContent->header();
         // show the query if the message has not been sent
         if (mMessage && header) {
             // see if editor has any content
@@ -262,8 +253,8 @@
             QList<NmMessagePart*> attachmentList;
             mMessage->attachmentList(attachmentList);
             
-            if (mContentWidget->editor()) {
-                okToExit = (subjectLength == 0 && mContentWidget->editor()->document()->isEmpty());            
+            if (mContent->editor()) {
+                okToExit = (subjectLength == 0 && mContent->editor()->document()->isEmpty());            
             }
     
             // content exists, verify exit from user
@@ -361,15 +352,15 @@
     NmAction *dummy = new NmAction(0);
     menu()->addAction(dummy);
 
+    mVkbHost = new HbShrinkingVkbHost(this);
+    
     initializeVKB();
     
-    //Get VKB host instance and start to listen VKB open and close signals for hiding the chrome.
-    HbEditorInterface editorInterface(mContentWidget->editor());
-    mVkbHost = editorInterface.vkbHost();
+    //start to listen VKB open and close signals for hiding the chrome.
     connect(mVkbHost, SIGNAL(keypadOpened()), this, SLOT(vkbOpened()));
     connect(mVkbHost, SIGNAL(keypadClosed()), this, SLOT(vkbClosed()));
-
-    connect(mContentWidget->header(), SIGNAL(recipientFieldsHaveContent(bool)),
+    
+    connect(mContent->header(), SIGNAL(recipientFieldsHaveContent(bool)),
             this, SLOT(setButtonsDimming(bool)) );
 
     // Connect to observe orientation change events
@@ -646,6 +637,18 @@
 }
 
 /*!
+    This is called when the view's geometry size has been changed, eg. when VKB is opened/closed.
+*/
+void NmEditorView::resizeEvent(QGraphicsSceneResizeEvent *event)
+{
+    NM_FUNCTION;
+    
+    NmBaseView::resizeEvent(event);
+    
+    emit sizeChanged();
+}
+
+/*!
     This is signalled by mMessageCreationOperation when message is created.
 */
 void NmEditorView::messageCreated(int result)
@@ -681,45 +684,45 @@
     NM_FUNCTION;
     
     if (mMessage) {
-        if (mContentWidget && mContentWidget->editor()) {
+        if (mContent && mContent->editor()) {
             NmMessagePart* bodyPart = mMessage->htmlBodyPart();
             if (bodyPart) {
-                bodyPart->setTextContent(mContentWidget->editor()->toHtml(), NmContentTypeTextHtml);
+                bodyPart->setTextContent(mContent->editor()->toHtml(), NmContentTypeTextHtml);
             }
             bodyPart = mMessage->plainTextBodyPart();
             if (bodyPart) {
-                bodyPart->setTextContent(mContentWidget->editor()->toPlainText(), NmContentTypeTextPlain);
+                bodyPart->setTextContent(mContent->editor()->toPlainText(), NmContentTypeTextPlain);
             }
         }
-        if (mContentWidget && mContentWidget->header() ) {
-            if (mContentWidget->header()->subjectEdit()) {
+        if (mContent && mContent->header() ) {
+            if (mContent->header()->subjectEdit()) {
                 mMessage->envelope().setSubject(
-                    mContentWidget->header()->subjectEdit()->text());
+                    mContent->header()->subjectEdit()->text());
             }
-            if (mContentWidget->header()->toEdit()) {
+            if (mContent->header()->toEdit()) {
                 QString toFieldText =
-                    mContentWidget->header()->toEdit()->text();
+                    mContent->header()->toEdit()->text();
 
                 // This verification of zero length string isn't needed
                 // after list of addresses
                 if (toFieldText.length() > 0) {
-                    mMessage->envelope().setToRecipients(mContentWidget->header()->toEdit()->emailAddressList());  
+                    mMessage->envelope().setToRecipients(mContent->header()->toEdit()->emailAddressList());  
                 }
             }
-            if (mContentWidget->header()->ccEdit()) {
+            if (mContent->header()->ccEdit()) {
                 QString ccFieldText =
-                    mContentWidget->header()->ccEdit()->text();
+                    mContent->header()->ccEdit()->text();
 
                 if (ccFieldText.length() > 0) {
-                    mMessage->envelope().setCcRecipients(mContentWidget->header()->ccEdit()->emailAddressList());      
+                    mMessage->envelope().setCcRecipients(mContent->header()->ccEdit()->emailAddressList());      
                 }
             }
-            if (mContentWidget->header()->bccEdit()) {
+            if (mContent->header()->bccEdit()) {
                 QString bccFieldText =
-                    mContentWidget->header()->bccEdit()->text();
+                    mContent->header()->bccEdit()->text();
 
                 if (bccFieldText.length() > 0) {
-                    mMessage->envelope().setBccRecipients(mContentWidget->header()->bccEdit()->emailAddressList());  
+                    mMessage->envelope().setBccRecipients(mContent->header()->bccEdit()->emailAddressList());  
                 }
             }
         }
@@ -735,7 +738,7 @@
 {
     NM_FUNCTION;
     
-    if (!mStartParam || !mMessage || !mContentWidget) {
+    if (!mStartParam || !mMessage || !mContent) {
         return;
     }
 
@@ -765,14 +768,14 @@
         bccAddressesString = addressListToString(messageEnvelope.bccRecipients());
     }
 
-    mContentWidget->header()->toEdit()->setPlainText(toAddressesString);
-    mContentWidget->header()->ccEdit()->setPlainText(ccAddressesString);
-    mContentWidget->header()->bccEdit()->setPlainText(bccAddressesString);
+    mContent->header()->toEdit()->setPlainText(toAddressesString);
+    mContent->header()->ccEdit()->setPlainText(ccAddressesString);
+    mContent->header()->bccEdit()->setPlainText(bccAddressesString);
 
     if (ccAddressesString.length() || bccAddressesString.length()) {
         // Since cc or/and bcc recipients exist, expand the group box to display
         // the addresses by expanding the group box.
-        mContentWidget->header()->setFieldVisibility(true);
+        mContent->header()->setFieldVisibility(true);
     }
 
     // Set subject.
@@ -780,16 +783,20 @@
         QString *subject = mStartParam->subject();
 
         if (subject) {
-            mContentWidget->header()->subjectEdit()->setPlainText(*subject);
+            mContent->header()->subjectEdit()->setPlainText(*subject);
         }
     }
     else {
         // Construct the subject field.
-        mContentWidget->header()->subjectEdit()->setPlainText(
+        mContent->header()->subjectEdit()->setPlainText(
             addSubjectPrefix(editorStartMode, messageEnvelope.subject()));
     }
 
     // Set priority.
+    if (editorStartMode==NmUiEditorReply || editorStartMode==NmUiEditorReplyAll) {
+        //Clear the importance flag. Replied messages dont keep the importance
+        setPriority(NmActionResponseCommandNone);
+    }
     mHeaderWidget->setPriority(messageEnvelope.priority());
     
     // Set the message body.
@@ -822,7 +829,7 @@
                                                *htmlPart);
             }
 
-		mContentWidget->setMessageData(*originalMessage, editorStartMode);
+		mContent->setMessageData(*originalMessage, editorStartMode);
         }
 
         delete originalMessage;
@@ -1042,7 +1049,7 @@
         // Set the VKB action states
         // All editors of the view share the same action, so it is enough to set
         // this only to one of them.
-        HbEditorInterface editorInterface(mContentWidget->editor());
+        HbEditorInterface editorInterface(mContent->editor());
         QList<HbAction *> vkbList = editorInterface.actions();
         count = vkbList.count();
         for (int i = 0; i < count; i++) {
@@ -1084,15 +1091,15 @@
 
             // Link VKB to the action. This must be done to all
             // editors that show the button in VKB.
-            HbEditorInterface editorInterface(mContentWidget->editor());
+            HbEditorInterface editorInterface(mContent->editor());
             editorInterface.addAction(list[i]);
-            HbEditorInterface toEditorInterface(mContentWidget->header()->toEdit());
+            HbEditorInterface toEditorInterface(mContent->header()->toEdit());
             toEditorInterface.addAction(list[i]);
-            HbEditorInterface ccEditorInterface(mContentWidget->header()->ccEdit());
+            HbEditorInterface ccEditorInterface(mContent->header()->ccEdit());
             ccEditorInterface.addAction(list[i]);
-            HbEditorInterface bccEditorInterface(mContentWidget->header()->bccEdit());
+            HbEditorInterface bccEditorInterface(mContent->header()->bccEdit());
             bccEditorInterface.addAction(list[i]);
-            HbEditorInterface subjectEditorInterface(mContentWidget->header()->subjectEdit());
+            HbEditorInterface subjectEditorInterface(mContent->header()->subjectEdit());
             subjectEditorInterface.addAction(list[i]);
         }
     }
--- a/emailuis/nmailui/src/nmmailboxlistview.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/src/nmmailboxlistview.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -77,16 +77,20 @@
 {
     NM_FUNCTION;
     
+
     // Use document loader to load the view
-    bool ok(false);
-    setObjectName(QString(NMUI_MAILBOX_LIST_VIEW));
-    // Pass the view to documentloader. Document loader uses this view
-    // when docml is parsed, instead of creating new view.
-    if (mDocumentLoader) {
-        mWidgetList = mDocumentLoader->load(NMUI_MAILBOX_LIST_VIEW_XML, &ok);
-    }
+     bool ok(false);
+     setObjectName(QString(NMUI_MAILBOX_LIST_VIEW));
+     QObjectList objectList;
+     objectList.append(this);
+     // Pass the view to documentloader. Document loader uses this view
+     // when docml is parsed, instead of creating new view.
+     if (mDocumentLoader) {
+         mDocumentLoader->setObjectTree(objectList);
+         mWidgetList = mDocumentLoader->load(NMUI_MAILBOX_LIST_VIEW_XML, &ok);
+     }
 
-    if (ok == true && mWidgetList.count()) {
+    if (ok) {
         // Create item context menu
         mItemContextMenu = new HbMenu();
         // Get mailbox widget pointer and set parameters
--- a/emailuis/nmailui/src/nmmessagelistview.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/src/nmmessagelistview.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -92,13 +92,16 @@
     // Use document loader to load the view
     bool ok(false);
     setObjectName(QString(NMUI_MESSAGE_LIST_VIEW));
+    QObjectList objectList;
+    objectList.append(this);
     // Pass the view to documentloader. Document loader uses this view
     // when docml is parsed, instead of creating new view.
     if (mDocumentLoader) {
+        mDocumentLoader->setObjectTree(objectList);
         mWidgetList = mDocumentLoader->load(NMUI_MESSAGE_LIST_VIEW_XML, &ok);
     }
 
-    if (ok == true && mWidgetList.count()) {
+    if (ok) {
         // Get message list widget
         mMessageListWidget = qobject_cast<HbTreeView *>
             (mDocumentLoader->findWidget(NMUI_MESSAGE_LIST_TREE_LIST));
--- a/emailuis/nmailui/src/nmmessagesearchlistview.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/src/nmmessagesearchlistview.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -187,7 +187,7 @@
         mWidgetList = mDocumentLoader->load(NMUI_MESSAGE_SEARCH_LIST_VIEW_XML, &ok);
     }
 
-    if (ok && mWidgetList.count()) {
+    if (ok) {
         // Get the message list widget.
         mMessageListWidget = qobject_cast<HbTreeView *>(
             mDocumentLoader->findWidget(NMUI_MESSAGE_SEARCH_LIST_TREE_LIST));
--- a/emailuis/nmailui/src/nmviewerview.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/src/nmviewerview.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -11,7 +11,7 @@
  *
  * Contributors:
  *
- * Description:
+ * Description: Mail viewer implementation.
  *
  */
 
@@ -25,11 +25,14 @@
 static const char *NMUI_MESSAGE_VIEWER_HEADER = "viewerHeader";
 static const char *NMUI_MESSAGE_VIEWER_ATTALIST = "viewerAttaList";
 static const char *NMUI_MESSAGE_VIEWER_SCROLL_WEB_VIEW = "viewerWebView";
-
 static const int NmOrientationTimer = 100;
 static const int NmHeaderMargin = 3;
-
+static const int NmWhitePixmapSize = 10;
+static const int NmProgressValueComplete = 100;
 static const QString NmParamTextHeightSecondary = "hb-param-text-height-secondary";
+static const QString NmHttpLinkScheme = "http";
+static const QString NmHttpsLinkScheme = "https";
+static const QString NmMailtoLinkScheme = "mailto";
 
 /*!
 	\class NmViewerView
@@ -62,7 +65,6 @@
 mDisplayingPlainText(false),
 mDocumentLoader(NULL),
 mScrollAreaContents(NULL),
-mViewerHeaderContainer(NULL),
 mScreenSize(QSize(0,0)),
 mWaitDialog(NULL),
 webFrameloadingCompleted(false),
@@ -135,13 +137,16 @@
     // Use document loader to load the view
     bool ok(false);
     setObjectName(QString(NMUI_MESSAGE_VIEWER_VIEW));
-    // Pass the view to documentloader. Document loader uses this view
-    // when docml is parsed, instead of creating new view.
-    // documentloader is created in constructor
-    mWidgetList = mDocumentLoader->load(NMUI_MESSAGE_VIEWER_XML, &ok);
-    int widgetCount = mWidgetList.count();
-    if (ok == true && widgetCount)
-    {
+   QObjectList objectList;
+   objectList.append(this);
+   // Pass the view to documentloader. Document loader uses this view
+   // when docml is parsed, instead of creating new view.
+   // documentloader is created in constructor
+   mDocumentLoader->setObjectTree(objectList);
+   mWidgetList = mDocumentLoader->load(NMUI_MESSAGE_VIEWER_XML, &ok);
+
+   if (ok)
+   {
         // Create content and content layout
         // qobject_cast not work in this case, using reinterpret_cast
         mViewerContent = reinterpret_cast<HbWidget *>(
@@ -164,7 +169,7 @@
                     layout->setContentsMargins(0,0,0,0);
                 }
                 // Set white pixmap to backgrounditem 
-                QPixmap whitePixmap(10,10);
+                QPixmap whitePixmap(NmWhitePixmapSize,NmWhitePixmapSize);
                 whitePixmap.fill(Qt::white);
                 QGraphicsPixmapItem *pixmapItem = new QGraphicsPixmapItem(whitePixmap);
                 mScrollAreaContents->setBackgroundItem(pixmapItem);
@@ -184,7 +189,6 @@
             mWebView = reinterpret_cast<NmMailViewerWK *>(
                     mDocumentLoader->findObject(QString(NMUI_MESSAGE_VIEWER_SCROLL_WEB_VIEW)));
             if (mWebView) {
-                mWebView->setParentView(this);
                 // Set auto load images and private browsing(no history) attributes
                 QWebSettings *settings = mWebView->settings();
                 if (settings) {
@@ -457,40 +461,44 @@
 void NmViewerView::openAttachment(int index)
 {
     NM_FUNCTION;
-    
-    NmId attaId = mAttaIdList.at(index);
-    // reload message to get updates part sizes
-    loadMessage();
-    QList<NmMessagePart*> messageParts;
-    mMessage->attachmentList(messageParts);
-    NmId mailboxId = mMessage->envelope().mailboxId();
-    NmId folderId = mMessage->envelope().folderId();
-    NmId messageId = mMessage->envelope().messageId();
-    for (int i = 0; i < messageParts.count(); i++) {
-        // message part found have to found
-        // and its fetched size is smaller than size, then start part fetch
-        if (messageParts[i]->partId() == attaId &&
-            messageParts[i]->size() > messageParts[i]->fetchedSize()) {
-            // do not start if there's already ongoing fetch
-            if (mAttaIndexUnderFetch == NmNotFoundError) {
-                mAttaIndexUnderFetch = index;
-                mAttaManager.fetchAttachment(mailboxId, folderId,
-                                             messageId, attaId);
-            }
-        }
-        // attachment is fetched, open file
-        else if (messageParts[i]->partId() == attaId) {
-            mAttaManager.cancelFetch();
-            XQSharableFile file = mUiEngine.messagePartFile(mailboxId, folderId,
-                                                            messageId, attaId);
-            int error = NmUtilities::openFile(file);
-            file.close();
-            if (error==NmNotFoundError){
-                delete mErrorNote;
-                mErrorNote=NULL;
-                mErrorNote = NmUtilities::displayWarningNote(hbTrId("txt_mail_dialog_unable_to_open_attachment_file_ty"));
-            }
-        }
+    if (index >= 0) {
+        NmId attaId = mAttaIdList.at(index);
+        // reload message to get updates part sizes
+        loadMessage();
+        QList<NmMessagePart*> messageParts;
+        if (mMessage) {
+            mMessage->attachmentList(messageParts);
+             NmId mailboxId = mMessage->envelope().mailboxId();
+             NmId folderId = mMessage->envelope().folderId();
+             NmId messageId = mMessage->envelope().messageId();
+             for (int i = 0; i < messageParts.count(); i++) {
+                 // message part found have to found
+                 // and its fetched size is smaller than size, then start part fetch
+                 if (messageParts[i]->partId() == attaId &&
+                     messageParts[i]->size() > messageParts[i]->fetchedSize()) {
+                     // do not start if there's already ongoing fetch
+                     if (mAttaIndexUnderFetch == NmNotFoundError) {
+                         mAttaIndexUnderFetch = index;
+                         mAttaManager.fetchAttachment(mailboxId, folderId,
+                                                      messageId, attaId);
+                     }
+                 }
+                 // attachment is fetched, open file
+                 else if (messageParts[i]->partId() == attaId) {
+                     mAttaManager.cancelFetch();
+                     XQSharableFile file = mUiEngine.messagePartFile(mailboxId, folderId,
+                                                                     messageId, attaId);
+                     int error = NmUtilities::openFile(file);
+                     file.close();
+                     if (error==NmNotFoundError){
+                         delete mErrorNote;
+                         mErrorNote=NULL;
+                         mErrorNote = NmUtilities::displayWarningNote(
+                                 hbTrId("txt_mail_dialog_unable_to_open_attachment_file_ty"));
+                     }
+                 }
+             }            
+         }
     }
 }
 
@@ -502,12 +510,33 @@
     NM_FUNCTION;
     
     QString msg = "";
-    // null pointer check for mMessage is done before calling this function
-    NmId mailboxId = mMessage->envelope().mailboxId();
-    NmId folderId = mMessage->envelope().folderId();
-    NmId messageId = mMessage->envelope().messageId();
-    NmMessagePart *html = mMessage->htmlBodyPart();
-    if (html) {
+    if (mMessage) {
+        NmMessagePart *html = mMessage->htmlBodyPart();
+        if (html) {
+            msg += formatHtmlMessage(html);
+        }
+        else {
+            NmMessagePart *plain = mMessage->plainTextBodyPart();
+            if (plain) {
+                msg += formatPlainTextMessage(plain);
+            }
+        }    
+    }
+    return msg;
+}
+
+/*!
+    Function formats html message
+*/
+QString NmViewerView::formatHtmlMessage(NmMessagePart *html)
+{    
+    NM_FUNCTION;
+
+    QString msg = "";
+    if (html && mMessage) {
+        NmId mailboxId = mMessage->envelope().mailboxId();
+        NmId folderId = mMessage->envelope().folderId();
+        NmId messageId = mMessage->envelope().messageId();
         QList<NmMessagePart*> parts;
         mMessage->attachmentList(parts);
         for (int i=0; i < parts.count(); i++) {
@@ -533,49 +562,60 @@
         }
         int ret = mUiEngine.contentToMessagePart(mailboxId, folderId, messageId, *html);
         if (ret == NmNoError) {
-            msg = html->textContent();
-        }
+         msg = html->textContent();
+        }    
     }
-    else {
-        NmMessagePart *plain = mMessage->plainTextBodyPart();
-        if (plain) {
-            int ret = mUiEngine.contentToMessagePart(mailboxId, folderId,
-                                                     messageId, *plain);
-            if (ret == NmNoError) {
-                QTextDocument document;
-                // set font
-                QFont currentFont = document.defaultFont();
-                currentFont.setWeight(QFont::Normal);
-                qreal secondarySize;
-                HbStyle myStyle;
-                bool found = myStyle.parameter(NmParamTextHeightSecondary, secondarySize);
-                if (found) {
-                    HbFontSpec fontSpec(HbFontSpec::Secondary);
-                    fontSpec.setTextHeight(secondarySize);
-                    currentFont.setPixelSize(fontSpec.font().pixelSize());
-                }
-                document.setDefaultFont(currentFont);
-                // convert to html
-                document.setPlainText(plain->textContent());
-                msg = document.toHtml();
+    return msg;
+}
 
-                if (qApp->layoutDirection()==Qt::RightToLeft){
-                    // add right alignment to document css section
-                    QRegExp rx("(<style type=\"text/css\">)(.+)(</style>)", Qt::CaseInsensitive);
-                    rx.setMinimal(true);
-                    int pos = rx.indexIn(msg);
-                    if (pos > -1) {
-                        QString newStr = rx.cap(1);
-                        newStr.append(rx.cap(2));
-                        newStr.append("p { text-align: right } ");
-                        newStr.append(rx.cap(3));
-                        msg.replace(rx, newStr);
-                    }
+/*!
+    Function formats plain text message message
+*/
+QString NmViewerView::formatPlainTextMessage(NmMessagePart *plain)
+{
+    NM_FUNCTION;
+      
+    QString msg = "";
+    if (plain && mMessage) {
+        NmId mailboxId = mMessage->envelope().mailboxId();
+        NmId folderId = mMessage->envelope().folderId();
+        NmId messageId = mMessage->envelope().messageId();
+        int ret = mUiEngine.contentToMessagePart(mailboxId, folderId,
+                                                 messageId, *plain);
+        if (ret == NmNoError) {
+            QTextDocument document;
+            // set font
+            QFont currentFont = document.defaultFont();
+            currentFont.setWeight(QFont::Normal);
+            qreal secondarySize;
+            HbStyle myStyle;
+            bool found = myStyle.parameter(NmParamTextHeightSecondary, secondarySize);
+            if (found) {
+                HbFontSpec fontSpec(HbFontSpec::Secondary);
+                fontSpec.setTextHeight(secondarySize);
+                currentFont.setPixelSize(fontSpec.font().pixelSize());
+            }
+            document.setDefaultFont(currentFont);
+            // convert to html
+            document.setPlainText(plain->textContent());
+            msg = document.toHtml();
+    
+            if (qApp->layoutDirection()==Qt::RightToLeft){
+                // add right alignment to document css section
+                QRegExp rx("(<style type=\"text/css\">)(.+)(</style>)", Qt::CaseInsensitive);
+                rx.setMinimal(true);
+                int pos = rx.indexIn(msg);
+                if (pos > -1) {
+                    QString newStr = rx.cap(1);
+                    newStr.append(rx.cap(2));
+                    newStr.append("p { text-align: right } ");
+                    newStr.append(rx.cap(3));
+                    msg.replace(rx, newStr);
                 }
             }
-            mDisplayingPlainText=true;
-        }
+        }    
     }
+    mDisplayingPlainText=true;  
     return msg;
 }
 
@@ -659,9 +699,10 @@
 void NmViewerView::scaleWebViewWhenLoaded()
 {
     QRectF myGeometry = geometry();
-    if (mWebView && mWebView->page()) {
-        mWebView->page()->setViewportSize(myGeometry.size().toSize());
-        QSizeF contentSize = mWebView->page()->mainFrame()->contentsSize();
+    QWebPage *page = mWebView->page();
+    if (mWebView && page) {
+        page->setViewportSize(myGeometry.size().toSize());
+        QSizeF contentSize = page->mainFrame()->contentsSize();
         int width = (int)contentSize.width();
         int height = (int)contentSize.height();  
         mWebView->setPreferredWidth(width);
@@ -711,11 +752,11 @@
 {
     NM_FUNCTION;
     
-    if (link.scheme() == "http" ||
-        link.scheme() == "https" ) {
+    if (link.scheme() == NmHttpLinkScheme ||
+        link.scheme() == NmHttpsLinkScheme) {
         mAttaManager.cancelFetch();
         QDesktopServices::openUrl(link);
-    } else if (link.scheme() == "mailto"){
+    } else if (link.scheme() == NmMailtoLinkScheme){
         mAttaManager.cancelFetch();
         QList<NmAddress*> *addrList = new QList<NmAddress*>();
         NmAddress *mailtoAddr = new NmAddress();
@@ -754,7 +795,7 @@
 }
 
 /*!
-   get function for content widget web view.
+    Get function for content widget web view.
 */
 NmMailViewerWK* NmViewerView::webView()
 {
@@ -762,7 +803,7 @@
 }
 
 /*!
-
+    Get function for message being viewed
 */
 NmMessage* NmViewerView::message()
 {
@@ -938,17 +979,11 @@
     NM_FUNCTION;
     
     QList<NmId> messageList;
-    messageList.append(mStartParam->messageId());
-    
+    messageList.append(mStartParam->messageId());  
     int err = mUiEngine.deleteMessages(mStartParam->mailboxId(),
                                        mStartParam->folderId(),
                                        messageList);
-    
     messageList.clear();
-    if (NmNoError != err) {
-        // Failed to delete the messages!
-        NMLOG(QString("NmViewerView::handleActionCommand(): failed err=%1").arg(err));
-    }
 }
 
 
@@ -972,7 +1007,7 @@
 {
     if (mAttaWidget && mAttaIndexUnderFetch != NmNotFoundError) {
         if (result == NmNoError) {
-            progressValueChanged(mAttaIndexUnderFetch, 100);
+            progressValueChanged(mAttaIndexUnderFetch, NmProgressValueComplete);
             openAttachment(mAttaIndexUnderFetch);
         } else {
             mAttaWidget->hideProgressBar(mAttaIndexUnderFetch);
@@ -982,7 +1017,7 @@
 }
 
 /*!
-    externalDelete. From NmMessageListModel, handles viewer shutdown when current message is deleted.
+    externalDelete. From NmUiEngine, handles viewer shutdown when current message is deleted.
 */
 void NmViewerView::messageDeleted(const NmId &mailboxId, const NmId &folderId, const NmId &messageId)
 {
--- a/emailuis/nmailui/src/nmviewerviewnetmanager.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/src/nmviewerviewnetmanager.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -11,8 +11,9 @@
 *
 * Contributors:
 *
-* Description:
-*
+* Description: NMail viewer net manager implementation.
+*              This class is needed to separate cid
+*              images from url-based images
 */
 
 #include "nmuiheaders.h"
@@ -82,10 +83,11 @@
             if (isFetched) {
                 reply = new NmViewerViewNetReply(data, mUiEngine);
             }
-            else  {
+            else {
+                const NmMessageEnvelope &env = message->envelope();
                 reply = new NmViewerViewNetReply(data, mUiEngine,
-                        message->envelope().mailboxId(), message->envelope().folderId(),
-                        message->envelope().messageId(), partId);
+                        env.mailboxId(), env.folderId(),
+                        env.messageId(), partId);
             }
             reply->setOriginalRequest(myRequest);
             return reply;
--- a/emailuis/nmailui/src/nmviewerviewnetreply.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/src/nmviewerviewnetreply.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -123,11 +123,8 @@
     NM_FUNCTION;
     
     Q_UNUSED(result);
-    NmMessage *message(NULL);
-    message = mUiEngine.message(
-            mMailboxId,
-            mFolderId,
-            mMessageId);
+    NmMessage *message = mUiEngine.message(
+                        mMailboxId, mFolderId, mMessageId);
     if (message) {
         QList<NmMessagePart*> partList;
         message->attachmentList(partList);
@@ -135,6 +132,7 @@
         for (int i = 0; !part && i < partList.count(); i++) {
             if (partList[i]->partId() == mMessagePartId) {
                 part = partList[i];
+                break;
             }
         }
         if (part) {
--- a/emailuis/nmailui/src/nmviewerwebview.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailui/src/nmviewerwebview.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -11,8 +11,8 @@
  *
  * Contributors:
  *
- * Description:
- *
+ * Description: NMailUI web viewer. Inherits from
+ *              QGrapohicsWebView and handles gestures, etc.
  */
 
 #include "nmuiheaders.h"
@@ -23,7 +23,6 @@
 NmMailViewerWK::NmMailViewerWK()
 : QGraphicsWebView(),
   mContent(),
-  mParentView(NULL),
   mSuppressRelease(false)
 {
     // Subscribe this widget to tap and pinch gestures.
@@ -42,14 +41,6 @@
 }
 
 /*!
-    Sets the parent view.
- */
-void NmMailViewerWK::setParentView(NmViewerView *parentView)
-{
-    mParentView = parentView;
-}
-
-/*!
     Adds content into web view.
  */
 void NmMailViewerWK::addContent(QString key, QVariant val, NmId partId, bool isFetched) 
@@ -74,7 +65,6 @@
             isFetched = mContent[key].mIsFetched;
             return mContent[key].mData;
         }
-        return 0;
     }
     return 0;
 }
--- a/emailuis/nmailuiwidgets/bwins/nmailuiwidgetsu.def	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailuiwidgets/bwins/nmailuiwidgetsu.def	Tue Jun 29 17:12:28 2010 +0300
@@ -26,107 +26,108 @@
 	?getStaticMetaObject@NmBaseViewScrollArea@@SAABUQMetaObject@@XZ @ 25 NONAME ; struct QMetaObject const & NmBaseViewScrollArea::getStaticMetaObject(void)
 	?getStaticMetaObject@NmAttachmentListWidget@@SAABUQMetaObject@@XZ @ 26 NONAME ; struct QMetaObject const & NmAttachmentListWidget::getStaticMetaObject(void)
 	??_ENmAttachmentListItem@@UAE@I@Z @ 27 NONAME ; NmAttachmentListItem::~NmAttachmentListItem(unsigned int)
-	?setFileSizeText@NmAttachmentListItem@@QAEXABVQString@@@Z @ 28 NONAME ; void NmAttachmentListItem::setFileSizeText(class QString const &)
-	?qt_metacast@NmHtmlLineEdit@@UAEPAXPBD@Z @ 29 NONAME ; void * NmHtmlLineEdit::qt_metacast(char const *)
-	?metaObject@NmEditorTextEdit@@UBEPBUQMetaObject@@XZ @ 30 NONAME ; struct QMetaObject const * NmEditorTextEdit::metaObject(void) const
-	?staticMetaObject@NmHtmlLineEdit@@2UQMetaObject@@B @ 31 NONAME ; struct QMetaObject const NmHtmlLineEdit::staticMetaObject
-	?setFileNameText@NmAttachmentListItem@@QAEXABVQString@@@Z @ 32 NONAME ; void NmAttachmentListItem::setFileNameText(class QString const &)
-	?customTextColor@NmEditorTextEdit@@QBE?AU?$QPair@_NVQColor@@@@XZ @ 33 NONAME ; struct QPair<bool, class QColor> NmEditorTextEdit::customTextColor(void) const
-	?qt_metacast@NmBaseViewScrollArea@@UAEPAXPBD@Z @ 34 NONAME ; void * NmBaseViewScrollArea::qt_metacast(char const *)
-	?inputMethodEvent@NmRecipientLineEdit@@MAEXPAVQInputMethodEvent@@@Z @ 35 NONAME ; void NmRecipientLineEdit::inputMethodEvent(class QInputMethodEvent *)
-	?mouseReleaseEvent@NmBaseViewScrollArea@@UAEXPAVQGraphicsSceneMouseEvent@@@Z @ 36 NONAME ; void NmBaseViewScrollArea::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
-	?tr@NmBaseViewScrollArea@@SA?AVQString@@PBD0H@Z @ 37 NONAME ; class QString NmBaseViewScrollArea::tr(char const *, char const *, int)
-	?qt_metacall@NmAttachmentListWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 38 NONAME ; int NmAttachmentListWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?trUtf8@NmAttachmentListWidget@@SA?AVQString@@PBD0H@Z @ 39 NONAME ; class QString NmAttachmentListWidget::trUtf8(char const *, char const *, int)
-	?constructUi@NmAttachmentListWidget@@AAEXXZ @ 40 NONAME ; void NmAttachmentListWidget::constructUi(void)
-	?qt_metacall@NmRecipientLineEdit@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 41 NONAME ; int NmRecipientLineEdit::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??0NmAttachmentListItem@@QAE@PAVQGraphicsItem@@@Z @ 42 NONAME ; NmAttachmentListItem::NmAttachmentListItem(class QGraphicsItem *)
-	?addSelectedContacts@NmRecipientLineEdit@@QAEXABVQVariant@@@Z @ 43 NONAME ; void NmRecipientLineEdit::addSelectedContacts(class QVariant const &)
-	?toPlainText@NmHtmlLineEdit@@QBE?AVQString@@XZ @ 44 NONAME ; class QString NmHtmlLineEdit::toPlainText(void) const
-	?trUtf8@NmBaseViewScrollArea@@SA?AVQString@@PBD0H@Z @ 45 NONAME ; class QString NmBaseViewScrollArea::trUtf8(char const *, char const *, int)
-	?tr@NmEditorTextEdit@@SA?AVQString@@PBD0@Z @ 46 NONAME ; class QString NmEditorTextEdit::tr(char const *, char const *)
-	?getStaticMetaObject@NmEditorTextEdit@@SAABUQMetaObject@@XZ @ 47 NONAME ; struct QMetaObject const & NmEditorTextEdit::getStaticMetaObject(void)
-	?staticMetaObject@NmAttachmentListItem@@2UQMetaObject@@B @ 48 NONAME ; struct QMetaObject const NmAttachmentListItem::staticMetaObject
-	??1NmHtmlLineEdit@@UAE@XZ @ 49 NONAME ; NmHtmlLineEdit::~NmHtmlLineEdit(void)
-	?setProgressBarValue@NmAttachmentListItem@@QAEXH@Z @ 50 NONAME ; void NmAttachmentListItem::setProgressBarValue(int)
-	?trUtf8@NmHtmlLineEdit@@SA?AVQString@@PBD0@Z @ 51 NONAME ; class QString NmHtmlLineEdit::trUtf8(char const *, char const *)
-	??_ENmBaseViewScrollArea@@UAE@I@Z @ 52 NONAME ; NmBaseViewScrollArea::~NmBaseViewScrollArea(unsigned int)
-	?progressBarValue@NmAttachmentListItem@@QBEHXZ @ 53 NONAME ; int NmAttachmentListItem::progressBarValue(void) const
-	?itemLongPressed@NmAttachmentListItem@@IAEXVQPointF@@@Z @ 54 NONAME ; void NmAttachmentListItem::itemLongPressed(class QPointF)
-	?gestureEvent@NmAttachmentListItem@@MAEXPAVQGestureEvent@@@Z @ 55 NONAME ; void NmAttachmentListItem::gestureEvent(class QGestureEvent *)
-	?setCustomTextColor@NmEditorTextEdit@@QAEX_NABVQColor@@@Z @ 56 NONAME ; void NmEditorTextEdit::setCustomTextColor(bool, class QColor const &)
-	?init@NmAttachmentListItem@@AAEXXZ @ 57 NONAME ; void NmAttachmentListItem::init(void)
-	??0NmRecipientLineEdit@@QAE@PAVQGraphicsItem@@@Z @ 58 NONAME ; NmRecipientLineEdit::NmRecipientLineEdit(class QGraphicsItem *)
-	??0NmHtmlLineEdit@@QAE@PAVQGraphicsItem@@@Z @ 59 NONAME ; NmHtmlLineEdit::NmHtmlLineEdit(class QGraphicsItem *)
-	?tr@NmRecipientLineEdit@@SA?AVQString@@PBD0@Z @ 60 NONAME ; class QString NmRecipientLineEdit::tr(char const *, char const *)
-	?setAttachmentSize@NmAttachmentListWidget@@QAEXHABVQString@@@Z @ 61 NONAME ; void NmAttachmentListWidget::setAttachmentSize(int, class QString const &)
-	?trUtf8@NmEditorTextEdit@@SA?AVQString@@PBD0H@Z @ 62 NONAME ; class QString NmEditorTextEdit::trUtf8(char const *, char const *, int)
-	?setPlainText@NmHtmlLineEdit@@QAEXABVQString@@@Z @ 63 NONAME ; void NmHtmlLineEdit::setPlainText(class QString const &)
-	?longPressGesture@NmBaseViewScrollArea@@MAEXABVQPointF@@@Z @ 64 NONAME ; void NmBaseViewScrollArea::longPressGesture(class QPointF const &)
-	?updateCustomTextColor@NmEditorTextEdit@@QAEXXZ @ 65 NONAME ; void NmEditorTextEdit::updateCustomTextColor(void)
-	?orientationChanged@NmAttachmentListWidget@@AAEXW4Orientation@Qt@@@Z @ 66 NONAME ; void NmAttachmentListWidget::orientationChanged(enum Qt::Orientation)
-	?qt_metacast@NmAttachmentListWidget@@UAEPAXPBD@Z @ 67 NONAME ; void * NmAttachmentListWidget::qt_metacast(char const *)
-	?getStaticMetaObject@NmHtmlLineEdit@@SAABUQMetaObject@@XZ @ 68 NONAME ; struct QMetaObject const & NmHtmlLineEdit::getStaticMetaObject(void)
-	?qt_metacall@NmEditorTextEdit@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 69 NONAME ; int NmEditorTextEdit::qt_metacall(enum QMetaObject::Call, int, void * *)
-	??1NmEditorTextEdit@@UAE@XZ @ 70 NONAME ; NmEditorTextEdit::~NmEditorTextEdit(void)
-	?generateEmailAddressList@NmRecipientLineEdit@@AAEXXZ @ 71 NONAME ; void NmRecipientLineEdit::generateEmailAddressList(void)
-	?trUtf8@NmAttachmentListWidget@@SA?AVQString@@PBD0@Z @ 72 NONAME ; class QString NmAttachmentListWidget::trUtf8(char const *, char const *)
-	??1NmAttachmentListWidget@@UAE@XZ @ 73 NONAME ; NmAttachmentListWidget::~NmAttachmentListWidget(void)
-	??_ENmRecipientLineEdit@@UAE@I@Z @ 74 NONAME ; NmRecipientLineEdit::~NmRecipientLineEdit(unsigned int)
-	?mousePressEvent@NmBaseViewScrollArea@@UAEXPAVQGraphicsSceneMouseEvent@@@Z @ 75 NONAME ; void NmBaseViewScrollArea::mousePressEvent(class QGraphicsSceneMouseEvent *)
-	?qt_metacast@NmRecipientLineEdit@@UAEPAXPBD@Z @ 76 NONAME ; void * NmRecipientLineEdit::qt_metacast(char const *)
-	?setCustomTextColor@NmEditorTextEdit@@QAEXABU?$QPair@_NVQColor@@@@@Z @ 77 NONAME ; void NmEditorTextEdit::setCustomTextColor(struct QPair<bool, class QColor> const &)
-	?setDocument@NmHtmlLineEdit@@QAEXPAVQTextDocument@@@Z @ 78 NONAME ; void NmHtmlLineEdit::setDocument(class QTextDocument *)
-	?handleItemActivated@NmAttachmentListWidget@@AAEXXZ @ 79 NONAME ; void NmAttachmentListWidget::handleItemActivated(void)
-	?trUtf8@NmEditorTextEdit@@SA?AVQString@@PBD0@Z @ 80 NONAME ; class QString NmEditorTextEdit::trUtf8(char const *, char const *)
-	??0NmBaseViewScrollArea@@QAE@PAVQGraphicsItem@@@Z @ 81 NONAME ; NmBaseViewScrollArea::NmBaseViewScrollArea(class QGraphicsItem *)
-	?metaObject@NmAttachmentListWidget@@UBEPBUQMetaObject@@XZ @ 82 NONAME ; struct QMetaObject const * NmAttachmentListWidget::metaObject(void) const
-	?constructUi@NmAttachmentListItem@@AAEXXZ @ 83 NONAME ; void NmAttachmentListItem::constructUi(void)
-	?longPressed@NmAttachmentListWidget@@IAEXHVQPointF@@@Z @ 84 NONAME ; void NmAttachmentListWidget::longPressed(int, class QPointF)
-	?trUtf8@NmHtmlLineEdit@@SA?AVQString@@PBD0H@Z @ 85 NONAME ; class QString NmHtmlLineEdit::trUtf8(char const *, char const *, int)
-	?staticMetaObject@NmEditorTextEdit@@2UQMetaObject@@B @ 86 NONAME ; struct QMetaObject const NmEditorTextEdit::staticMetaObject
-	??0NmEditorTextEdit@@QAE@PAVQGraphicsItem@@@Z @ 87 NONAME ; NmEditorTextEdit::NmEditorTextEdit(class QGraphicsItem *)
-	?tr@NmHtmlLineEdit@@SA?AVQString@@PBD0H@Z @ 88 NONAME ; class QString NmHtmlLineEdit::tr(char const *, char const *, int)
-	?setHtml@NmHtmlLineEdit@@QAEXABVQString@@@Z @ 89 NONAME ; void NmHtmlLineEdit::setHtml(class QString const &)
-	??_ENmEditorTextEdit@@UAE@I@Z @ 90 NONAME ; NmEditorTextEdit::~NmEditorTextEdit(unsigned int)
-	?tr@NmAttachmentListWidget@@SA?AVQString@@PBD0@Z @ 91 NONAME ; class QString NmAttachmentListWidget::tr(char const *, char const *)
-	?itemActivated@NmAttachmentListItem@@IAEXXZ @ 92 NONAME ; void NmAttachmentListItem::itemActivated(void)
-	?hideProgressBar@NmAttachmentListItem@@QAEXXZ @ 93 NONAME ; void NmAttachmentListItem::hideProgressBar(void)
-	?qt_metacast@NmAttachmentListItem@@UAEPAXPBD@Z @ 94 NONAME ; void * NmAttachmentListItem::qt_metacast(char const *)
-	?getStaticMetaObject@NmRecipientLineEdit@@SAABUQMetaObject@@XZ @ 95 NONAME ; struct QMetaObject const & NmRecipientLineEdit::getStaticMetaObject(void)
-	?findItem@NmAttachmentListWidget@@AAEHPBVQObject@@@Z @ 96 NONAME ; int NmAttachmentListWidget::findItem(class QObject const *)
-	?removeAttachment@NmAttachmentListWidget@@QAEXH@Z @ 97 NONAME ; void NmAttachmentListWidget::removeAttachment(int)
-	??1NmRecipientLineEdit@@UAE@XZ @ 98 NONAME ; NmRecipientLineEdit::~NmRecipientLineEdit(void)
-	?trUtf8@NmRecipientLineEdit@@SA?AVQString@@PBD0H@Z @ 99 NONAME ; class QString NmRecipientLineEdit::trUtf8(char const *, char const *, int)
-	?tr@NmRecipientLineEdit@@SA?AVQString@@PBD0H@Z @ 100 NONAME ; class QString NmRecipientLineEdit::tr(char const *, char const *, int)
-	?progressValue@NmAttachmentListWidget@@QBEHH@Z @ 101 NONAME ; int NmAttachmentListWidget::progressValue(int) const
-	?staticMetaObject@NmAttachmentListWidget@@2UQMetaObject@@B @ 102 NONAME ; struct QMetaObject const NmAttachmentListWidget::staticMetaObject
-	??_ENmAttachmentListWidget@@UAE@I@Z @ 103 NONAME ; NmAttachmentListWidget::~NmAttachmentListWidget(unsigned int)
-	?setTextCursor@NmHtmlLineEdit@@QAEXABVQTextCursor@@@Z @ 104 NONAME ; void NmHtmlLineEdit::setTextCursor(class QTextCursor const &)
-	?setTextColor@NmAttachmentListWidget@@QAEXVQColor@@@Z @ 105 NONAME ; void NmAttachmentListWidget::setTextColor(class QColor)
-	?handleMouseMoveEvent@NmBaseViewScrollArea@@IAEXPAVQGraphicsSceneMouseEvent@@@Z @ 106 NONAME ; void NmBaseViewScrollArea::handleMouseMoveEvent(class QGraphicsSceneMouseEvent *)
-	?staticMetaObject@NmRecipientLineEdit@@2UQMetaObject@@B @ 107 NONAME ; struct QMetaObject const NmRecipientLineEdit::staticMetaObject
-	?setProgressBarValue@NmAttachmentListWidget@@QAEXHH@Z @ 108 NONAME ; void NmAttachmentListWidget::setProgressBarValue(int, int)
-	?handleMouseReleaseEvent@NmBaseViewScrollArea@@IAEXPAVQGraphicsSceneMouseEvent@@@Z @ 109 NONAME ; void NmBaseViewScrollArea::handleMouseReleaseEvent(class QGraphicsSceneMouseEvent *)
-	?insertAttachment@NmAttachmentListWidget@@QAEXHABVQString@@0@Z @ 110 NONAME ; void NmAttachmentListWidget::insertAttachment(int, class QString const &, class QString const &)
-	?metaObject@NmAttachmentListItem@@UBEPBUQMetaObject@@XZ @ 111 NONAME ; struct QMetaObject const * NmAttachmentListItem::metaObject(void) const
-	?removeProgressBar@NmAttachmentListItem@@AAEXXZ @ 112 NONAME ; void NmAttachmentListItem::removeProgressBar(void)
-	??1NmBaseViewScrollArea@@UAE@XZ @ 113 NONAME ; NmBaseViewScrollArea::~NmBaseViewScrollArea(void)
-	?hideProgressBar@NmAttachmentListWidget@@QAEXH@Z @ 114 NONAME ; void NmAttachmentListWidget::hideProgressBar(int)
-	??0NmAttachmentListWidget@@QAE@PAVQGraphicsItem@@@Z @ 115 NONAME ; NmAttachmentListWidget::NmAttachmentListWidget(class QGraphicsItem *)
-	??_ENmHtmlLineEdit@@UAE@I@Z @ 116 NONAME ; NmHtmlLineEdit::~NmHtmlLineEdit(unsigned int)
-	?tr@NmAttachmentListWidget@@SA?AVQString@@PBD0H@Z @ 117 NONAME ; class QString NmAttachmentListWidget::tr(char const *, char const *, int)
-	?handleMousePressEvent@NmBaseViewScrollArea@@IAEXPAVQGraphicsSceneMouseEvent@@@Z @ 118 NONAME ; void NmBaseViewScrollArea::handleMousePressEvent(class QGraphicsSceneMouseEvent *)
-	?insertItemToLayout@NmAttachmentListWidget@@AAEXPAVNmAttachmentListItem@@@Z @ 119 NONAME ; void NmAttachmentListWidget::insertItemToLayout(class NmAttachmentListItem *)
-	?metaObject@NmHtmlLineEdit@@UBEPBUQMetaObject@@XZ @ 120 NONAME ; struct QMetaObject const * NmHtmlLineEdit::metaObject(void) const
-	?setTextColor@NmAttachmentListItem@@QAEXVQColor@@@Z @ 121 NONAME ; void NmAttachmentListItem::setTextColor(class QColor)
-	??1NmAttachmentListItem@@UAE@XZ @ 122 NONAME ; NmAttachmentListItem::~NmAttachmentListItem(void)
-	?rectForPosition@NmEditorTextEdit@@QAE?AVQRectF@@H@Z @ 123 NONAME ; class QRectF NmEditorTextEdit::rectForPosition(int)
-	?count@NmAttachmentListWidget@@QBEHXZ @ 124 NONAME ; int NmAttachmentListWidget::count(void) const
-	?tr@NmAttachmentListItem@@SA?AVQString@@PBD0H@Z @ 125 NONAME ; class QString NmAttachmentListItem::tr(char const *, char const *, int)
-	?handleTextChanged@NmRecipientLineEdit@@AAEXABVQString@@@Z @ 126 NONAME ; void NmRecipientLineEdit::handleTextChanged(class QString const &)
-	?document@NmHtmlLineEdit@@QBEPAVQTextDocument@@XZ @ 127 NONAME ; class QTextDocument * NmHtmlLineEdit::document(void) const
-	?tr@NmHtmlLineEdit@@SA?AVQString@@PBD0@Z @ 128 NONAME ; class QString NmHtmlLineEdit::tr(char const *, char const *)
-	?qt_metacall@NmHtmlLineEdit@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 129 NONAME ; int NmHtmlLineEdit::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?qt_metacall@NmBaseViewScrollArea@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 130 NONAME ; int NmBaseViewScrollArea::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?rectForCursorPosition@NmEditorTextEdit@@QBE?AVQRectF@@XZ @ 28 NONAME ; class QRectF NmEditorTextEdit::rectForCursorPosition(void) const
+	?setFileSizeText@NmAttachmentListItem@@QAEXABVQString@@@Z @ 29 NONAME ; void NmAttachmentListItem::setFileSizeText(class QString const &)
+	?qt_metacast@NmHtmlLineEdit@@UAEPAXPBD@Z @ 30 NONAME ; void * NmHtmlLineEdit::qt_metacast(char const *)
+	?metaObject@NmEditorTextEdit@@UBEPBUQMetaObject@@XZ @ 31 NONAME ; struct QMetaObject const * NmEditorTextEdit::metaObject(void) const
+	?staticMetaObject@NmHtmlLineEdit@@2UQMetaObject@@B @ 32 NONAME ; struct QMetaObject const NmHtmlLineEdit::staticMetaObject
+	?setFileNameText@NmAttachmentListItem@@QAEXABVQString@@@Z @ 33 NONAME ; void NmAttachmentListItem::setFileNameText(class QString const &)
+	?customTextColor@NmEditorTextEdit@@QBE?AU?$QPair@_NVQColor@@@@XZ @ 34 NONAME ; struct QPair<bool, class QColor> NmEditorTextEdit::customTextColor(void) const
+	?qt_metacast@NmBaseViewScrollArea@@UAEPAXPBD@Z @ 35 NONAME ; void * NmBaseViewScrollArea::qt_metacast(char const *)
+	?inputMethodEvent@NmRecipientLineEdit@@MAEXPAVQInputMethodEvent@@@Z @ 36 NONAME ; void NmRecipientLineEdit::inputMethodEvent(class QInputMethodEvent *)
+	?mouseReleaseEvent@NmBaseViewScrollArea@@UAEXPAVQGraphicsSceneMouseEvent@@@Z @ 37 NONAME ; void NmBaseViewScrollArea::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+	?tr@NmBaseViewScrollArea@@SA?AVQString@@PBD0H@Z @ 38 NONAME ; class QString NmBaseViewScrollArea::tr(char const *, char const *, int)
+	?qt_metacall@NmAttachmentListWidget@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 39 NONAME ; int NmAttachmentListWidget::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?trUtf8@NmAttachmentListWidget@@SA?AVQString@@PBD0H@Z @ 40 NONAME ; class QString NmAttachmentListWidget::trUtf8(char const *, char const *, int)
+	?constructUi@NmAttachmentListWidget@@AAEXXZ @ 41 NONAME ; void NmAttachmentListWidget::constructUi(void)
+	?qt_metacall@NmRecipientLineEdit@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 42 NONAME ; int NmRecipientLineEdit::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??0NmAttachmentListItem@@QAE@PAVQGraphicsItem@@@Z @ 43 NONAME ; NmAttachmentListItem::NmAttachmentListItem(class QGraphicsItem *)
+	?addSelectedContacts@NmRecipientLineEdit@@QAEXABVQVariant@@@Z @ 44 NONAME ; void NmRecipientLineEdit::addSelectedContacts(class QVariant const &)
+	?toPlainText@NmHtmlLineEdit@@QBE?AVQString@@XZ @ 45 NONAME ; class QString NmHtmlLineEdit::toPlainText(void) const
+	?trUtf8@NmBaseViewScrollArea@@SA?AVQString@@PBD0H@Z @ 46 NONAME ; class QString NmBaseViewScrollArea::trUtf8(char const *, char const *, int)
+	?tr@NmEditorTextEdit@@SA?AVQString@@PBD0@Z @ 47 NONAME ; class QString NmEditorTextEdit::tr(char const *, char const *)
+	?getStaticMetaObject@NmEditorTextEdit@@SAABUQMetaObject@@XZ @ 48 NONAME ; struct QMetaObject const & NmEditorTextEdit::getStaticMetaObject(void)
+	?staticMetaObject@NmAttachmentListItem@@2UQMetaObject@@B @ 49 NONAME ; struct QMetaObject const NmAttachmentListItem::staticMetaObject
+	??1NmHtmlLineEdit@@UAE@XZ @ 50 NONAME ; NmHtmlLineEdit::~NmHtmlLineEdit(void)
+	?setProgressBarValue@NmAttachmentListItem@@QAEXH@Z @ 51 NONAME ; void NmAttachmentListItem::setProgressBarValue(int)
+	?trUtf8@NmHtmlLineEdit@@SA?AVQString@@PBD0@Z @ 52 NONAME ; class QString NmHtmlLineEdit::trUtf8(char const *, char const *)
+	??_ENmBaseViewScrollArea@@UAE@I@Z @ 53 NONAME ; NmBaseViewScrollArea::~NmBaseViewScrollArea(unsigned int)
+	?progressBarValue@NmAttachmentListItem@@QBEHXZ @ 54 NONAME ; int NmAttachmentListItem::progressBarValue(void) const
+	?itemLongPressed@NmAttachmentListItem@@IAEXVQPointF@@@Z @ 55 NONAME ; void NmAttachmentListItem::itemLongPressed(class QPointF)
+	?gestureEvent@NmAttachmentListItem@@MAEXPAVQGestureEvent@@@Z @ 56 NONAME ; void NmAttachmentListItem::gestureEvent(class QGestureEvent *)
+	?setCustomTextColor@NmEditorTextEdit@@QAEX_NABVQColor@@@Z @ 57 NONAME ; void NmEditorTextEdit::setCustomTextColor(bool, class QColor const &)
+	?init@NmAttachmentListItem@@AAEXXZ @ 58 NONAME ; void NmAttachmentListItem::init(void)
+	??0NmRecipientLineEdit@@QAE@PAVQGraphicsItem@@@Z @ 59 NONAME ; NmRecipientLineEdit::NmRecipientLineEdit(class QGraphicsItem *)
+	??0NmHtmlLineEdit@@QAE@PAVQGraphicsItem@@@Z @ 60 NONAME ; NmHtmlLineEdit::NmHtmlLineEdit(class QGraphicsItem *)
+	?tr@NmRecipientLineEdit@@SA?AVQString@@PBD0@Z @ 61 NONAME ; class QString NmRecipientLineEdit::tr(char const *, char const *)
+	?setAttachmentSize@NmAttachmentListWidget@@QAEXHABVQString@@@Z @ 62 NONAME ; void NmAttachmentListWidget::setAttachmentSize(int, class QString const &)
+	?trUtf8@NmEditorTextEdit@@SA?AVQString@@PBD0H@Z @ 63 NONAME ; class QString NmEditorTextEdit::trUtf8(char const *, char const *, int)
+	?setPlainText@NmHtmlLineEdit@@QAEXABVQString@@@Z @ 64 NONAME ; void NmHtmlLineEdit::setPlainText(class QString const &)
+	?longPressGesture@NmBaseViewScrollArea@@MAEXABVQPointF@@@Z @ 65 NONAME ; void NmBaseViewScrollArea::longPressGesture(class QPointF const &)
+	?updateCustomTextColor@NmEditorTextEdit@@QAEXXZ @ 66 NONAME ; void NmEditorTextEdit::updateCustomTextColor(void)
+	?orientationChanged@NmAttachmentListWidget@@AAEXW4Orientation@Qt@@@Z @ 67 NONAME ; void NmAttachmentListWidget::orientationChanged(enum Qt::Orientation)
+	?qt_metacast@NmAttachmentListWidget@@UAEPAXPBD@Z @ 68 NONAME ; void * NmAttachmentListWidget::qt_metacast(char const *)
+	?getStaticMetaObject@NmHtmlLineEdit@@SAABUQMetaObject@@XZ @ 69 NONAME ; struct QMetaObject const & NmHtmlLineEdit::getStaticMetaObject(void)
+	?qt_metacall@NmEditorTextEdit@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 70 NONAME ; int NmEditorTextEdit::qt_metacall(enum QMetaObject::Call, int, void * *)
+	??1NmEditorTextEdit@@UAE@XZ @ 71 NONAME ; NmEditorTextEdit::~NmEditorTextEdit(void)
+	?generateEmailAddressList@NmRecipientLineEdit@@AAEXXZ @ 72 NONAME ; void NmRecipientLineEdit::generateEmailAddressList(void)
+	?trUtf8@NmAttachmentListWidget@@SA?AVQString@@PBD0@Z @ 73 NONAME ; class QString NmAttachmentListWidget::trUtf8(char const *, char const *)
+	??1NmAttachmentListWidget@@UAE@XZ @ 74 NONAME ; NmAttachmentListWidget::~NmAttachmentListWidget(void)
+	??_ENmRecipientLineEdit@@UAE@I@Z @ 75 NONAME ; NmRecipientLineEdit::~NmRecipientLineEdit(unsigned int)
+	?mousePressEvent@NmBaseViewScrollArea@@UAEXPAVQGraphicsSceneMouseEvent@@@Z @ 76 NONAME ; void NmBaseViewScrollArea::mousePressEvent(class QGraphicsSceneMouseEvent *)
+	?qt_metacast@NmRecipientLineEdit@@UAEPAXPBD@Z @ 77 NONAME ; void * NmRecipientLineEdit::qt_metacast(char const *)
+	?setCustomTextColor@NmEditorTextEdit@@QAEXABU?$QPair@_NVQColor@@@@@Z @ 78 NONAME ; void NmEditorTextEdit::setCustomTextColor(struct QPair<bool, class QColor> const &)
+	?setDocument@NmHtmlLineEdit@@QAEXPAVQTextDocument@@@Z @ 79 NONAME ; void NmHtmlLineEdit::setDocument(class QTextDocument *)
+	?handleItemActivated@NmAttachmentListWidget@@AAEXXZ @ 80 NONAME ; void NmAttachmentListWidget::handleItemActivated(void)
+	?trUtf8@NmEditorTextEdit@@SA?AVQString@@PBD0@Z @ 81 NONAME ; class QString NmEditorTextEdit::trUtf8(char const *, char const *)
+	??0NmBaseViewScrollArea@@QAE@PAVQGraphicsItem@@@Z @ 82 NONAME ; NmBaseViewScrollArea::NmBaseViewScrollArea(class QGraphicsItem *)
+	?metaObject@NmAttachmentListWidget@@UBEPBUQMetaObject@@XZ @ 83 NONAME ; struct QMetaObject const * NmAttachmentListWidget::metaObject(void) const
+	?constructUi@NmAttachmentListItem@@AAEXXZ @ 84 NONAME ; void NmAttachmentListItem::constructUi(void)
+	?longPressed@NmAttachmentListWidget@@IAEXHVQPointF@@@Z @ 85 NONAME ; void NmAttachmentListWidget::longPressed(int, class QPointF)
+	?trUtf8@NmHtmlLineEdit@@SA?AVQString@@PBD0H@Z @ 86 NONAME ; class QString NmHtmlLineEdit::trUtf8(char const *, char const *, int)
+	?staticMetaObject@NmEditorTextEdit@@2UQMetaObject@@B @ 87 NONAME ; struct QMetaObject const NmEditorTextEdit::staticMetaObject
+	??0NmEditorTextEdit@@QAE@PAVQGraphicsItem@@@Z @ 88 NONAME ; NmEditorTextEdit::NmEditorTextEdit(class QGraphicsItem *)
+	?tr@NmHtmlLineEdit@@SA?AVQString@@PBD0H@Z @ 89 NONAME ; class QString NmHtmlLineEdit::tr(char const *, char const *, int)
+	?setHtml@NmHtmlLineEdit@@QAEXABVQString@@@Z @ 90 NONAME ; void NmHtmlLineEdit::setHtml(class QString const &)
+	??_ENmEditorTextEdit@@UAE@I@Z @ 91 NONAME ; NmEditorTextEdit::~NmEditorTextEdit(unsigned int)
+	?tr@NmAttachmentListWidget@@SA?AVQString@@PBD0@Z @ 92 NONAME ; class QString NmAttachmentListWidget::tr(char const *, char const *)
+	?itemActivated@NmAttachmentListItem@@IAEXXZ @ 93 NONAME ; void NmAttachmentListItem::itemActivated(void)
+	?hideProgressBar@NmAttachmentListItem@@QAEXXZ @ 94 NONAME ; void NmAttachmentListItem::hideProgressBar(void)
+	?qt_metacast@NmAttachmentListItem@@UAEPAXPBD@Z @ 95 NONAME ; void * NmAttachmentListItem::qt_metacast(char const *)
+	?getStaticMetaObject@NmRecipientLineEdit@@SAABUQMetaObject@@XZ @ 96 NONAME ; struct QMetaObject const & NmRecipientLineEdit::getStaticMetaObject(void)
+	?findItem@NmAttachmentListWidget@@AAEHPBVQObject@@@Z @ 97 NONAME ; int NmAttachmentListWidget::findItem(class QObject const *)
+	?removeAttachment@NmAttachmentListWidget@@QAEXH@Z @ 98 NONAME ; void NmAttachmentListWidget::removeAttachment(int)
+	??1NmRecipientLineEdit@@UAE@XZ @ 99 NONAME ; NmRecipientLineEdit::~NmRecipientLineEdit(void)
+	?trUtf8@NmRecipientLineEdit@@SA?AVQString@@PBD0H@Z @ 100 NONAME ; class QString NmRecipientLineEdit::trUtf8(char const *, char const *, int)
+	?tr@NmRecipientLineEdit@@SA?AVQString@@PBD0H@Z @ 101 NONAME ; class QString NmRecipientLineEdit::tr(char const *, char const *, int)
+	?progressValue@NmAttachmentListWidget@@QBEHH@Z @ 102 NONAME ; int NmAttachmentListWidget::progressValue(int) const
+	?staticMetaObject@NmAttachmentListWidget@@2UQMetaObject@@B @ 103 NONAME ; struct QMetaObject const NmAttachmentListWidget::staticMetaObject
+	??_ENmAttachmentListWidget@@UAE@I@Z @ 104 NONAME ; NmAttachmentListWidget::~NmAttachmentListWidget(unsigned int)
+	?setTextCursor@NmHtmlLineEdit@@QAEXABVQTextCursor@@@Z @ 105 NONAME ; void NmHtmlLineEdit::setTextCursor(class QTextCursor const &)
+	?setTextColor@NmAttachmentListWidget@@QAEXVQColor@@@Z @ 106 NONAME ; void NmAttachmentListWidget::setTextColor(class QColor)
+	?rectForCursorPosition@NmHtmlLineEdit@@QBE?AVQRectF@@XZ @ 107 NONAME ; class QRectF NmHtmlLineEdit::rectForCursorPosition(void) const
+	?handleMouseMoveEvent@NmBaseViewScrollArea@@IAEXPAVQGraphicsSceneMouseEvent@@@Z @ 108 NONAME ; void NmBaseViewScrollArea::handleMouseMoveEvent(class QGraphicsSceneMouseEvent *)
+	?staticMetaObject@NmRecipientLineEdit@@2UQMetaObject@@B @ 109 NONAME ; struct QMetaObject const NmRecipientLineEdit::staticMetaObject
+	?setProgressBarValue@NmAttachmentListWidget@@QAEXHH@Z @ 110 NONAME ; void NmAttachmentListWidget::setProgressBarValue(int, int)
+	?handleMouseReleaseEvent@NmBaseViewScrollArea@@IAEXPAVQGraphicsSceneMouseEvent@@@Z @ 111 NONAME ; void NmBaseViewScrollArea::handleMouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+	?insertAttachment@NmAttachmentListWidget@@QAEXHABVQString@@0@Z @ 112 NONAME ; void NmAttachmentListWidget::insertAttachment(int, class QString const &, class QString const &)
+	?metaObject@NmAttachmentListItem@@UBEPBUQMetaObject@@XZ @ 113 NONAME ; struct QMetaObject const * NmAttachmentListItem::metaObject(void) const
+	?removeProgressBar@NmAttachmentListItem@@AAEXXZ @ 114 NONAME ; void NmAttachmentListItem::removeProgressBar(void)
+	??1NmBaseViewScrollArea@@UAE@XZ @ 115 NONAME ; NmBaseViewScrollArea::~NmBaseViewScrollArea(void)
+	?hideProgressBar@NmAttachmentListWidget@@QAEXH@Z @ 116 NONAME ; void NmAttachmentListWidget::hideProgressBar(int)
+	??0NmAttachmentListWidget@@QAE@PAVQGraphicsItem@@@Z @ 117 NONAME ; NmAttachmentListWidget::NmAttachmentListWidget(class QGraphicsItem *)
+	??_ENmHtmlLineEdit@@UAE@I@Z @ 118 NONAME ; NmHtmlLineEdit::~NmHtmlLineEdit(unsigned int)
+	?tr@NmAttachmentListWidget@@SA?AVQString@@PBD0H@Z @ 119 NONAME ; class QString NmAttachmentListWidget::tr(char const *, char const *, int)
+	?handleMousePressEvent@NmBaseViewScrollArea@@IAEXPAVQGraphicsSceneMouseEvent@@@Z @ 120 NONAME ; void NmBaseViewScrollArea::handleMousePressEvent(class QGraphicsSceneMouseEvent *)
+	?insertItemToLayout@NmAttachmentListWidget@@AAEXPAVNmAttachmentListItem@@@Z @ 121 NONAME ; void NmAttachmentListWidget::insertItemToLayout(class NmAttachmentListItem *)
+	?metaObject@NmHtmlLineEdit@@UBEPBUQMetaObject@@XZ @ 122 NONAME ; struct QMetaObject const * NmHtmlLineEdit::metaObject(void) const
+	?setTextColor@NmAttachmentListItem@@QAEXVQColor@@@Z @ 123 NONAME ; void NmAttachmentListItem::setTextColor(class QColor)
+	??1NmAttachmentListItem@@UAE@XZ @ 124 NONAME ; NmAttachmentListItem::~NmAttachmentListItem(void)
+	?count@NmAttachmentListWidget@@QBEHXZ @ 125 NONAME ; int NmAttachmentListWidget::count(void) const
+	?tr@NmAttachmentListItem@@SA?AVQString@@PBD0H@Z @ 126 NONAME ; class QString NmAttachmentListItem::tr(char const *, char const *, int)
+	?handleTextChanged@NmRecipientLineEdit@@AAEXABVQString@@@Z @ 127 NONAME ; void NmRecipientLineEdit::handleTextChanged(class QString const &)
+	?document@NmHtmlLineEdit@@QBEPAVQTextDocument@@XZ @ 128 NONAME ; class QTextDocument * NmHtmlLineEdit::document(void) const
+	?tr@NmHtmlLineEdit@@SA?AVQString@@PBD0@Z @ 129 NONAME ; class QString NmHtmlLineEdit::tr(char const *, char const *)
+	?qt_metacall@NmHtmlLineEdit@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 130 NONAME ; int NmHtmlLineEdit::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?qt_metacall@NmBaseViewScrollArea@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 131 NONAME ; int NmBaseViewScrollArea::qt_metacall(enum QMetaObject::Call, int, void * *)
 
--- a/emailuis/nmailuiwidgets/eabi/nmailuiwidgetsu.def	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailuiwidgets/eabi/nmailuiwidgetsu.def	Tue Jun 29 17:12:28 2010 +0300
@@ -14,149 +14,150 @@
 	_ZN14NmHtmlLineEditD2Ev @ 13 NONAME
 	_ZN16NmEditorTextEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 14 NONAME
 	_ZN16NmEditorTextEdit11qt_metacastEPKc @ 15 NONAME
-	_ZN16NmEditorTextEdit15rectForPositionEi @ 16 NONAME
-	_ZN16NmEditorTextEdit16staticMetaObjectE @ 17 NONAME DATA 16
-	_ZN16NmEditorTextEdit18setCustomTextColorERK5QPairIb6QColorE @ 18 NONAME
-	_ZN16NmEditorTextEdit18setCustomTextColorEbRK6QColor @ 19 NONAME
-	_ZN16NmEditorTextEdit19getStaticMetaObjectEv @ 20 NONAME
-	_ZN16NmEditorTextEdit21updateCustomTextColorEv @ 21 NONAME
-	_ZN16NmEditorTextEditC1EP13QGraphicsItem @ 22 NONAME
-	_ZN16NmEditorTextEditC2EP13QGraphicsItem @ 23 NONAME
-	_ZN16NmEditorTextEditD0Ev @ 24 NONAME
-	_ZN16NmEditorTextEditD1Ev @ 25 NONAME
-	_ZN16NmEditorTextEditD2Ev @ 26 NONAME
-	_ZN19NmRecipientLineEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 27 NONAME
-	_ZN19NmRecipientLineEdit11qt_metacastEPKc @ 28 NONAME
-	_ZN19NmRecipientLineEdit13keyPressEventEP9QKeyEvent @ 29 NONAME
-	_ZN19NmRecipientLineEdit16emailAddressListEv @ 30 NONAME
-	_ZN19NmRecipientLineEdit16inputMethodEventEP17QInputMethodEvent @ 31 NONAME
-	_ZN19NmRecipientLineEdit16staticMetaObjectE @ 32 NONAME DATA 16
-	_ZN19NmRecipientLineEdit17handleTextChangedERK7QString @ 33 NONAME
-	_ZN19NmRecipientLineEdit19addSelectedContactsERK8QVariant @ 34 NONAME
-	_ZN19NmRecipientLineEdit19getStaticMetaObjectEv @ 35 NONAME
-	_ZN19NmRecipientLineEdit24generateEmailAddressListEv @ 36 NONAME
-	_ZN19NmRecipientLineEditC1EP13QGraphicsItem @ 37 NONAME
-	_ZN19NmRecipientLineEditC2EP13QGraphicsItem @ 38 NONAME
-	_ZN19NmRecipientLineEditD0Ev @ 39 NONAME
-	_ZN19NmRecipientLineEditD1Ev @ 40 NONAME
-	_ZN19NmRecipientLineEditD2Ev @ 41 NONAME
-	_ZN20NmAttachmentListItem11constructUiEv @ 42 NONAME
-	_ZN20NmAttachmentListItem11qt_metacallEN11QMetaObject4CallEiPPv @ 43 NONAME
-	_ZN20NmAttachmentListItem11qt_metacastEPKc @ 44 NONAME
-	_ZN20NmAttachmentListItem12gestureEventEP13QGestureEvent @ 45 NONAME
-	_ZN20NmAttachmentListItem12setTextColorE6QColor @ 46 NONAME
-	_ZN20NmAttachmentListItem13itemActivatedEv @ 47 NONAME
-	_ZN20NmAttachmentListItem15hideProgressBarEv @ 48 NONAME
-	_ZN20NmAttachmentListItem15itemLongPressedE7QPointF @ 49 NONAME
-	_ZN20NmAttachmentListItem15setFileNameTextERK7QString @ 50 NONAME
-	_ZN20NmAttachmentListItem15setFileSizeTextERK7QString @ 51 NONAME
-	_ZN20NmAttachmentListItem16staticMetaObjectE @ 52 NONAME DATA 16
-	_ZN20NmAttachmentListItem17removeProgressBarEv @ 53 NONAME
-	_ZN20NmAttachmentListItem19getStaticMetaObjectEv @ 54 NONAME
-	_ZN20NmAttachmentListItem19setProgressBarValueEi @ 55 NONAME
-	_ZN20NmAttachmentListItem4initEv @ 56 NONAME
-	_ZN20NmAttachmentListItemC1EP13QGraphicsItem @ 57 NONAME
-	_ZN20NmAttachmentListItemC2EP13QGraphicsItem @ 58 NONAME
-	_ZN20NmAttachmentListItemD0Ev @ 59 NONAME
-	_ZN20NmAttachmentListItemD1Ev @ 60 NONAME
-	_ZN20NmAttachmentListItemD2Ev @ 61 NONAME
-	_ZN20NmBaseViewScrollArea11qt_metacallEN11QMetaObject4CallEiPPv @ 62 NONAME
-	_ZN20NmBaseViewScrollArea11qt_metacastEPKc @ 63 NONAME
-	_ZN20NmBaseViewScrollArea14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 64 NONAME
-	_ZN20NmBaseViewScrollArea15mousePressEventEP24QGraphicsSceneMouseEvent @ 65 NONAME
-	_ZN20NmBaseViewScrollArea16longPressGestureERK7QPointF @ 66 NONAME
-	_ZN20NmBaseViewScrollArea16staticMetaObjectE @ 67 NONAME DATA 16
-	_ZN20NmBaseViewScrollArea17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 68 NONAME
-	_ZN20NmBaseViewScrollArea19getStaticMetaObjectEv @ 69 NONAME
-	_ZN20NmBaseViewScrollArea20handleMouseMoveEventEP24QGraphicsSceneMouseEvent @ 70 NONAME
-	_ZN20NmBaseViewScrollArea21handleMousePressEventEP24QGraphicsSceneMouseEvent @ 71 NONAME
-	_ZN20NmBaseViewScrollArea22handleLongPressGestureERK7QPointF @ 72 NONAME
-	_ZN20NmBaseViewScrollArea23handleMouseReleaseEventEP24QGraphicsSceneMouseEvent @ 73 NONAME
-	_ZN20NmBaseViewScrollAreaC1EP13QGraphicsItem @ 74 NONAME
-	_ZN20NmBaseViewScrollAreaC2EP13QGraphicsItem @ 75 NONAME
-	_ZN20NmBaseViewScrollAreaD0Ev @ 76 NONAME
-	_ZN20NmBaseViewScrollAreaD1Ev @ 77 NONAME
-	_ZN20NmBaseViewScrollAreaD2Ev @ 78 NONAME
-	_ZN22NmAttachmentListWidget11constructUiEv @ 79 NONAME
-	_ZN22NmAttachmentListWidget11longPressedEi7QPointF @ 80 NONAME
-	_ZN22NmAttachmentListWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 81 NONAME
-	_ZN22NmAttachmentListWidget11qt_metacastEPKc @ 82 NONAME
-	_ZN22NmAttachmentListWidget12setTextColorE6QColor @ 83 NONAME
-	_ZN22NmAttachmentListWidget13itemActivatedEi @ 84 NONAME
-	_ZN22NmAttachmentListWidget15hideProgressBarEi @ 85 NONAME
-	_ZN22NmAttachmentListWidget15rearrangeLayoutEv @ 86 NONAME
-	_ZN22NmAttachmentListWidget16insertAttachmentEiRK7QStringS2_ @ 87 NONAME
-	_ZN22NmAttachmentListWidget16removeAttachmentEi @ 88 NONAME
-	_ZN22NmAttachmentListWidget16staticMetaObjectE @ 89 NONAME DATA 16
-	_ZN22NmAttachmentListWidget17handleLongPressedE7QPointF @ 90 NONAME
-	_ZN22NmAttachmentListWidget17setAttachmentSizeEiRK7QString @ 91 NONAME
-	_ZN22NmAttachmentListWidget18insertItemToLayoutEP20NmAttachmentListItem @ 92 NONAME
-	_ZN22NmAttachmentListWidget18orientationChangedEN2Qt11OrientationE @ 93 NONAME
-	_ZN22NmAttachmentListWidget19getStaticMetaObjectEv @ 94 NONAME
-	_ZN22NmAttachmentListWidget19handleItemActivatedEv @ 95 NONAME
-	_ZN22NmAttachmentListWidget19setProgressBarValueEii @ 96 NONAME
-	_ZN22NmAttachmentListWidget4initEv @ 97 NONAME
-	_ZN22NmAttachmentListWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 98 NONAME
-	_ZN22NmAttachmentListWidget8findItemEPK7QObject @ 99 NONAME
-	_ZN22NmAttachmentListWidgetC1EP13QGraphicsItem @ 100 NONAME
-	_ZN22NmAttachmentListWidgetC2EP13QGraphicsItem @ 101 NONAME
-	_ZN22NmAttachmentListWidgetD0Ev @ 102 NONAME
-	_ZN22NmAttachmentListWidgetD1Ev @ 103 NONAME
-	_ZN22NmAttachmentListWidgetD2Ev @ 104 NONAME
-	_ZNK14NmHtmlLineEdit10metaObjectEv @ 105 NONAME
-	_ZNK14NmHtmlLineEdit10textCursorEv @ 106 NONAME
-	_ZNK14NmHtmlLineEdit11toPlainTextEv @ 107 NONAME
+	_ZN16NmEditorTextEdit16staticMetaObjectE @ 16 NONAME DATA 16
+	_ZN16NmEditorTextEdit18setCustomTextColorERK5QPairIb6QColorE @ 17 NONAME
+	_ZN16NmEditorTextEdit18setCustomTextColorEbRK6QColor @ 18 NONAME
+	_ZN16NmEditorTextEdit19getStaticMetaObjectEv @ 19 NONAME
+	_ZN16NmEditorTextEdit21updateCustomTextColorEv @ 20 NONAME
+	_ZN16NmEditorTextEditC1EP13QGraphicsItem @ 21 NONAME
+	_ZN16NmEditorTextEditC2EP13QGraphicsItem @ 22 NONAME
+	_ZN16NmEditorTextEditD0Ev @ 23 NONAME
+	_ZN16NmEditorTextEditD1Ev @ 24 NONAME
+	_ZN16NmEditorTextEditD2Ev @ 25 NONAME
+	_ZN19NmRecipientLineEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 26 NONAME
+	_ZN19NmRecipientLineEdit11qt_metacastEPKc @ 27 NONAME
+	_ZN19NmRecipientLineEdit13keyPressEventEP9QKeyEvent @ 28 NONAME
+	_ZN19NmRecipientLineEdit16emailAddressListEv @ 29 NONAME
+	_ZN19NmRecipientLineEdit16inputMethodEventEP17QInputMethodEvent @ 30 NONAME
+	_ZN19NmRecipientLineEdit16staticMetaObjectE @ 31 NONAME DATA 16
+	_ZN19NmRecipientLineEdit17handleTextChangedERK7QString @ 32 NONAME
+	_ZN19NmRecipientLineEdit19addSelectedContactsERK8QVariant @ 33 NONAME
+	_ZN19NmRecipientLineEdit19getStaticMetaObjectEv @ 34 NONAME
+	_ZN19NmRecipientLineEdit24generateEmailAddressListEv @ 35 NONAME
+	_ZN19NmRecipientLineEditC1EP13QGraphicsItem @ 36 NONAME
+	_ZN19NmRecipientLineEditC2EP13QGraphicsItem @ 37 NONAME
+	_ZN19NmRecipientLineEditD0Ev @ 38 NONAME
+	_ZN19NmRecipientLineEditD1Ev @ 39 NONAME
+	_ZN19NmRecipientLineEditD2Ev @ 40 NONAME
+	_ZN20NmAttachmentListItem11constructUiEv @ 41 NONAME
+	_ZN20NmAttachmentListItem11qt_metacallEN11QMetaObject4CallEiPPv @ 42 NONAME
+	_ZN20NmAttachmentListItem11qt_metacastEPKc @ 43 NONAME
+	_ZN20NmAttachmentListItem12gestureEventEP13QGestureEvent @ 44 NONAME
+	_ZN20NmAttachmentListItem12setTextColorE6QColor @ 45 NONAME
+	_ZN20NmAttachmentListItem13itemActivatedEv @ 46 NONAME
+	_ZN20NmAttachmentListItem15hideProgressBarEv @ 47 NONAME
+	_ZN20NmAttachmentListItem15itemLongPressedE7QPointF @ 48 NONAME
+	_ZN20NmAttachmentListItem15setFileNameTextERK7QString @ 49 NONAME
+	_ZN20NmAttachmentListItem15setFileSizeTextERK7QString @ 50 NONAME
+	_ZN20NmAttachmentListItem16staticMetaObjectE @ 51 NONAME DATA 16
+	_ZN20NmAttachmentListItem17removeProgressBarEv @ 52 NONAME
+	_ZN20NmAttachmentListItem19getStaticMetaObjectEv @ 53 NONAME
+	_ZN20NmAttachmentListItem19setProgressBarValueEi @ 54 NONAME
+	_ZN20NmAttachmentListItem4initEv @ 55 NONAME
+	_ZN20NmAttachmentListItemC1EP13QGraphicsItem @ 56 NONAME
+	_ZN20NmAttachmentListItemC2EP13QGraphicsItem @ 57 NONAME
+	_ZN20NmAttachmentListItemD0Ev @ 58 NONAME
+	_ZN20NmAttachmentListItemD1Ev @ 59 NONAME
+	_ZN20NmAttachmentListItemD2Ev @ 60 NONAME
+	_ZN20NmBaseViewScrollArea11qt_metacallEN11QMetaObject4CallEiPPv @ 61 NONAME
+	_ZN20NmBaseViewScrollArea11qt_metacastEPKc @ 62 NONAME
+	_ZN20NmBaseViewScrollArea14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 63 NONAME
+	_ZN20NmBaseViewScrollArea15mousePressEventEP24QGraphicsSceneMouseEvent @ 64 NONAME
+	_ZN20NmBaseViewScrollArea16longPressGestureERK7QPointF @ 65 NONAME
+	_ZN20NmBaseViewScrollArea16staticMetaObjectE @ 66 NONAME DATA 16
+	_ZN20NmBaseViewScrollArea17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 67 NONAME
+	_ZN20NmBaseViewScrollArea19getStaticMetaObjectEv @ 68 NONAME
+	_ZN20NmBaseViewScrollArea20handleMouseMoveEventEP24QGraphicsSceneMouseEvent @ 69 NONAME
+	_ZN20NmBaseViewScrollArea21handleMousePressEventEP24QGraphicsSceneMouseEvent @ 70 NONAME
+	_ZN20NmBaseViewScrollArea22handleLongPressGestureERK7QPointF @ 71 NONAME
+	_ZN20NmBaseViewScrollArea23handleMouseReleaseEventEP24QGraphicsSceneMouseEvent @ 72 NONAME
+	_ZN20NmBaseViewScrollAreaC1EP13QGraphicsItem @ 73 NONAME
+	_ZN20NmBaseViewScrollAreaC2EP13QGraphicsItem @ 74 NONAME
+	_ZN20NmBaseViewScrollAreaD0Ev @ 75 NONAME
+	_ZN20NmBaseViewScrollAreaD1Ev @ 76 NONAME
+	_ZN20NmBaseViewScrollAreaD2Ev @ 77 NONAME
+	_ZN22NmAttachmentListWidget11constructUiEv @ 78 NONAME
+	_ZN22NmAttachmentListWidget11longPressedEi7QPointF @ 79 NONAME
+	_ZN22NmAttachmentListWidget11qt_metacallEN11QMetaObject4CallEiPPv @ 80 NONAME
+	_ZN22NmAttachmentListWidget11qt_metacastEPKc @ 81 NONAME
+	_ZN22NmAttachmentListWidget12setTextColorE6QColor @ 82 NONAME
+	_ZN22NmAttachmentListWidget13itemActivatedEi @ 83 NONAME
+	_ZN22NmAttachmentListWidget15hideProgressBarEi @ 84 NONAME
+	_ZN22NmAttachmentListWidget15rearrangeLayoutEv @ 85 NONAME
+	_ZN22NmAttachmentListWidget16insertAttachmentEiRK7QStringS2_ @ 86 NONAME
+	_ZN22NmAttachmentListWidget16removeAttachmentEi @ 87 NONAME
+	_ZN22NmAttachmentListWidget16staticMetaObjectE @ 88 NONAME DATA 16
+	_ZN22NmAttachmentListWidget17handleLongPressedE7QPointF @ 89 NONAME
+	_ZN22NmAttachmentListWidget17setAttachmentSizeEiRK7QString @ 90 NONAME
+	_ZN22NmAttachmentListWidget18insertItemToLayoutEP20NmAttachmentListItem @ 91 NONAME
+	_ZN22NmAttachmentListWidget18orientationChangedEN2Qt11OrientationE @ 92 NONAME
+	_ZN22NmAttachmentListWidget19getStaticMetaObjectEv @ 93 NONAME
+	_ZN22NmAttachmentListWidget19handleItemActivatedEv @ 94 NONAME
+	_ZN22NmAttachmentListWidget19setProgressBarValueEii @ 95 NONAME
+	_ZN22NmAttachmentListWidget4initEv @ 96 NONAME
+	_ZN22NmAttachmentListWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 97 NONAME
+	_ZN22NmAttachmentListWidget8findItemEPK7QObject @ 98 NONAME
+	_ZN22NmAttachmentListWidgetC1EP13QGraphicsItem @ 99 NONAME
+	_ZN22NmAttachmentListWidgetC2EP13QGraphicsItem @ 100 NONAME
+	_ZN22NmAttachmentListWidgetD0Ev @ 101 NONAME
+	_ZN22NmAttachmentListWidgetD1Ev @ 102 NONAME
+	_ZN22NmAttachmentListWidgetD2Ev @ 103 NONAME
+	_ZNK14NmHtmlLineEdit10metaObjectEv @ 104 NONAME
+	_ZNK14NmHtmlLineEdit10textCursorEv @ 105 NONAME
+	_ZNK14NmHtmlLineEdit11toPlainTextEv @ 106 NONAME
+	_ZNK14NmHtmlLineEdit21rectForCursorPositionEv @ 107 NONAME
 	_ZNK14NmHtmlLineEdit6toHtmlEv @ 108 NONAME
 	_ZNK14NmHtmlLineEdit8documentEv @ 109 NONAME
 	_ZNK16NmEditorTextEdit10metaObjectEv @ 110 NONAME
 	_ZNK16NmEditorTextEdit15customTextColorEv @ 111 NONAME
-	_ZNK19NmRecipientLineEdit10metaObjectEv @ 112 NONAME
-	_ZNK20NmAttachmentListItem10metaObjectEv @ 113 NONAME
-	_ZNK20NmAttachmentListItem16progressBarValueEv @ 114 NONAME
-	_ZNK20NmBaseViewScrollArea10metaObjectEv @ 115 NONAME
-	_ZNK22NmAttachmentListWidget10metaObjectEv @ 116 NONAME
-	_ZNK22NmAttachmentListWidget13progressValueEi @ 117 NONAME
-	_ZNK22NmAttachmentListWidget5countEv @ 118 NONAME
-	_ZTI14NmHtmlLineEdit @ 119 NONAME
-	_ZTI16NmEditorTextEdit @ 120 NONAME
-	_ZTI19NmRecipientLineEdit @ 121 NONAME
-	_ZTI20NmAttachmentListItem @ 122 NONAME
-	_ZTI20NmBaseViewScrollArea @ 123 NONAME
-	_ZTI22NmAttachmentListWidget @ 124 NONAME
-	_ZTV14NmHtmlLineEdit @ 125 NONAME
-	_ZTV16NmEditorTextEdit @ 126 NONAME
-	_ZTV19NmRecipientLineEdit @ 127 NONAME
-	_ZTV20NmAttachmentListItem @ 128 NONAME
-	_ZTV20NmBaseViewScrollArea @ 129 NONAME
-	_ZTV22NmAttachmentListWidget @ 130 NONAME
-	_ZThn16_N14NmHtmlLineEditD0Ev @ 131 NONAME
-	_ZThn16_N14NmHtmlLineEditD1Ev @ 132 NONAME
-	_ZThn16_N16NmEditorTextEditD0Ev @ 133 NONAME
-	_ZThn16_N16NmEditorTextEditD1Ev @ 134 NONAME
-	_ZThn16_N19NmRecipientLineEditD0Ev @ 135 NONAME
-	_ZThn16_N19NmRecipientLineEditD1Ev @ 136 NONAME
-	_ZThn16_N20NmAttachmentListItemD0Ev @ 137 NONAME
-	_ZThn16_N20NmAttachmentListItemD1Ev @ 138 NONAME
-	_ZThn16_N20NmBaseViewScrollAreaD0Ev @ 139 NONAME
-	_ZThn16_N20NmBaseViewScrollAreaD1Ev @ 140 NONAME
-	_ZThn16_N22NmAttachmentListWidgetD0Ev @ 141 NONAME
-	_ZThn16_N22NmAttachmentListWidgetD1Ev @ 142 NONAME
-	_ZThn8_N14NmHtmlLineEditD0Ev @ 143 NONAME
-	_ZThn8_N14NmHtmlLineEditD1Ev @ 144 NONAME
-	_ZThn8_N16NmEditorTextEditD0Ev @ 145 NONAME
-	_ZThn8_N16NmEditorTextEditD1Ev @ 146 NONAME
-	_ZThn8_N19NmRecipientLineEdit13keyPressEventEP9QKeyEvent @ 147 NONAME
-	_ZThn8_N19NmRecipientLineEdit16inputMethodEventEP17QInputMethodEvent @ 148 NONAME
-	_ZThn8_N19NmRecipientLineEditD0Ev @ 149 NONAME
-	_ZThn8_N19NmRecipientLineEditD1Ev @ 150 NONAME
-	_ZThn8_N20NmAttachmentListItemD0Ev @ 151 NONAME
-	_ZThn8_N20NmAttachmentListItemD1Ev @ 152 NONAME
-	_ZThn8_N20NmBaseViewScrollArea14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 153 NONAME
-	_ZThn8_N20NmBaseViewScrollArea15mousePressEventEP24QGraphicsSceneMouseEvent @ 154 NONAME
-	_ZThn8_N20NmBaseViewScrollArea17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 155 NONAME
-	_ZThn8_N20NmBaseViewScrollAreaD0Ev @ 156 NONAME
-	_ZThn8_N20NmBaseViewScrollAreaD1Ev @ 157 NONAME
-	_ZThn8_N22NmAttachmentListWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 158 NONAME
-	_ZThn8_N22NmAttachmentListWidgetD0Ev @ 159 NONAME
-	_ZThn8_N22NmAttachmentListWidgetD1Ev @ 160 NONAME
+	_ZNK16NmEditorTextEdit21rectForCursorPositionEv @ 112 NONAME
+	_ZNK19NmRecipientLineEdit10metaObjectEv @ 113 NONAME
+	_ZNK20NmAttachmentListItem10metaObjectEv @ 114 NONAME
+	_ZNK20NmAttachmentListItem16progressBarValueEv @ 115 NONAME
+	_ZNK20NmBaseViewScrollArea10metaObjectEv @ 116 NONAME
+	_ZNK22NmAttachmentListWidget10metaObjectEv @ 117 NONAME
+	_ZNK22NmAttachmentListWidget13progressValueEi @ 118 NONAME
+	_ZNK22NmAttachmentListWidget5countEv @ 119 NONAME
+	_ZTI14NmHtmlLineEdit @ 120 NONAME
+	_ZTI16NmEditorTextEdit @ 121 NONAME
+	_ZTI19NmRecipientLineEdit @ 122 NONAME
+	_ZTI20NmAttachmentListItem @ 123 NONAME
+	_ZTI20NmBaseViewScrollArea @ 124 NONAME
+	_ZTI22NmAttachmentListWidget @ 125 NONAME
+	_ZTV14NmHtmlLineEdit @ 126 NONAME
+	_ZTV16NmEditorTextEdit @ 127 NONAME
+	_ZTV19NmRecipientLineEdit @ 128 NONAME
+	_ZTV20NmAttachmentListItem @ 129 NONAME
+	_ZTV20NmBaseViewScrollArea @ 130 NONAME
+	_ZTV22NmAttachmentListWidget @ 131 NONAME
+	_ZThn16_N14NmHtmlLineEditD0Ev @ 132 NONAME
+	_ZThn16_N14NmHtmlLineEditD1Ev @ 133 NONAME
+	_ZThn16_N16NmEditorTextEditD0Ev @ 134 NONAME
+	_ZThn16_N16NmEditorTextEditD1Ev @ 135 NONAME
+	_ZThn16_N19NmRecipientLineEditD0Ev @ 136 NONAME
+	_ZThn16_N19NmRecipientLineEditD1Ev @ 137 NONAME
+	_ZThn16_N20NmAttachmentListItemD0Ev @ 138 NONAME
+	_ZThn16_N20NmAttachmentListItemD1Ev @ 139 NONAME
+	_ZThn16_N20NmBaseViewScrollAreaD0Ev @ 140 NONAME
+	_ZThn16_N20NmBaseViewScrollAreaD1Ev @ 141 NONAME
+	_ZThn16_N22NmAttachmentListWidgetD0Ev @ 142 NONAME
+	_ZThn16_N22NmAttachmentListWidgetD1Ev @ 143 NONAME
+	_ZThn8_N14NmHtmlLineEditD0Ev @ 144 NONAME
+	_ZThn8_N14NmHtmlLineEditD1Ev @ 145 NONAME
+	_ZThn8_N16NmEditorTextEditD0Ev @ 146 NONAME
+	_ZThn8_N16NmEditorTextEditD1Ev @ 147 NONAME
+	_ZThn8_N19NmRecipientLineEdit13keyPressEventEP9QKeyEvent @ 148 NONAME
+	_ZThn8_N19NmRecipientLineEdit16inputMethodEventEP17QInputMethodEvent @ 149 NONAME
+	_ZThn8_N19NmRecipientLineEditD0Ev @ 150 NONAME
+	_ZThn8_N19NmRecipientLineEditD1Ev @ 151 NONAME
+	_ZThn8_N20NmAttachmentListItemD0Ev @ 152 NONAME
+	_ZThn8_N20NmAttachmentListItemD1Ev @ 153 NONAME
+	_ZThn8_N20NmBaseViewScrollArea14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 154 NONAME
+	_ZThn8_N20NmBaseViewScrollArea15mousePressEventEP24QGraphicsSceneMouseEvent @ 155 NONAME
+	_ZThn8_N20NmBaseViewScrollArea17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 156 NONAME
+	_ZThn8_N20NmBaseViewScrollAreaD0Ev @ 157 NONAME
+	_ZThn8_N20NmBaseViewScrollAreaD1Ev @ 158 NONAME
+	_ZThn8_N22NmAttachmentListWidget5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 159 NONAME
+	_ZThn8_N22NmAttachmentListWidgetD0Ev @ 160 NONAME
+	_ZThn8_N22NmAttachmentListWidgetD1Ev @ 161 NONAME
 
--- a/emailuis/nmailuiwidgets/inc/nmeditortextedit.h	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailuiwidgets/inc/nmeditortextedit.h	Tue Jun 29 17:12:28 2010 +0300
@@ -33,7 +33,7 @@
     void setCustomTextColor(bool useCustom, const QColor& color = Qt::black);
     QPair<bool, QColor> customTextColor() const;
 
-    QRectF rectForPosition(int position);
+    QRectF rectForCursorPosition() const;
 
 public slots:
     void updateCustomTextColor();
--- a/emailuis/nmailuiwidgets/inc/nmhtmllineedit.h	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailuiwidgets/inc/nmhtmllineedit.h	Tue Jun 29 17:12:28 2010 +0300
@@ -38,6 +38,8 @@
     QString toPlainText() const;
     QString toHtml() const;
 
+    QRectF rectForCursorPosition() const;
+
 public slots:
     void setPlainText(const QString &text);
     void setHtml(const QString &text);
--- a/emailuis/nmailuiwidgets/src/nmattachmentlistwidget.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailuiwidgets/src/nmattachmentlistwidget.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -346,8 +346,7 @@
     loader.setObjectTree(objectList);
     QObjectList widgetlist = loader.load(FILE_PATH_DOCML, &loadingOk);
 
-    int widgetCount = widgetlist.count();
-    if(loadingOk && widgetCount){
+    if(loadingOk){
         if(layout()){
             mLayout = dynamic_cast<QGraphicsGridLayout*>(layout());
             mLayout->setContentsMargins(0,0,0,0);
--- a/emailuis/nmailuiwidgets/src/nmeditortextedit.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailuiwidgets/src/nmeditortextedit.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -33,9 +33,9 @@
 
     mCustomTextColor = QPair<bool, QColor>(false, Qt::black);
     
-    // Enable scrolling using cursor
-    setScrollable(true);
-    scrollArea()->setScrollDirections(Qt::Horizontal);
+    // Disable HbTextEdit scrolling. Background scroll area will handle scrolling.
+    setScrollable(false);
+    scrollArea()->setScrollDirections(0);
 
     // set background colour to plain white
     QPixmap whitePixmap(10,10);
@@ -46,6 +46,22 @@
     // disables highlight frame for now - new api to set the frame item should be release somewhere wk26
     setFocusHighlight(HbStyle::P_TextEdit_frame_highlight, HbWidget::FocusHighlightNone);
     
+    // Create custom palette based on the current one
+    QPalette testPalette = QApplication::palette();
+
+    // Sets the selection background colour
+    testPalette.setColor(QPalette::Active, QPalette::Highlight, Qt::cyan);
+    testPalette.setColor(QPalette::Inactive, QPalette::Highlight, Qt::cyan);
+
+    // Sets the link and visited link colours
+    testPalette.setColor(QPalette::Active, QPalette::Link, Qt::darkBlue);
+    testPalette.setColor(QPalette::Inactive, QPalette::Link, Qt::darkBlue);
+    testPalette.setColor(QPalette::Active, QPalette::LinkVisited, Qt::darkMagenta);
+    testPalette.setColor(QPalette::Inactive, QPalette::LinkVisited, Qt::darkMagenta);
+
+    // Update custom palette for this widget
+    setPalette(testPalette);
+
     connect(this, SIGNAL(contentsChanged()), this, SLOT(updateCustomTextColor()));
 }
 
@@ -135,10 +151,12 @@
 }
 
 /*!
- *  Returns the calculated rect in item coordinates of the editor for the the given \a position inside a document.
+ *  Returns the rectangle for the cursor.
  */
-QRectF NmEditorTextEdit::rectForPosition(int position)
+QRectF NmEditorTextEdit::rectForCursorPosition() const
 {
-    return HbTextEdit::rectForPosition(position);
+    NM_FUNCTION;
+    
+    return HbTextEdit::rectForPosition(cursorPosition());
 }
 
--- a/emailuis/nmailuiwidgets/src/nmhtmllineedit.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailuiwidgets/src/nmhtmllineedit.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -26,6 +26,10 @@
     HbLineEdit(parent)
 {
     NM_FUNCTION;
+
+    // Disable scrolling so that baunch effect works correctly
+    HbAbstractEdit::setScrollable(false);
+    HbAbstractEdit::scrollArea()->setScrollDirections(0);
 }
 
 /*!
@@ -96,3 +100,13 @@
     
     HbAbstractEdit::setPlainText(text);
 }
+
+/*!
+ *  Returns the rectangle for the cursor.
+ */
+QRectF NmHtmlLineEdit::rectForCursorPosition() const
+{
+    NM_FUNCTION;
+    
+    return HbLineEdit::rectForPosition(cursorPosition());
+}
--- a/emailuis/nmailuiwidgets/src/nmrecipientlineedit.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmailuiwidgets/src/nmrecipientlineedit.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -132,7 +132,7 @@
             
             // Add this NmAddress formated contact into mRecipientsAddedFromContacts.
             mRecipientsAddedFromContacts.append(contact);
-        } // end of for (int i = 0; i < contactList.count(); ++i)  
+        } 
     }
     else {
         //Request returned NULL 
--- a/emailuis/nmsettingui/inc/nmmailboxsettingview.h	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmsettingui/inc/nmmailboxsettingview.h	Tue Jun 29 17:12:28 2010 +0300
@@ -42,6 +42,7 @@
 
     ~NmMailboxSettingView();
 
+    NmId mailboxId();
 
 private slots:
 
--- a/emailuis/nmsettingui/src/nmmailboxsettingview.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmsettingui/src/nmmailboxsettingview.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -103,11 +103,7 @@
 {
     NM_FUNCTION;
     
-    if (mForm) {
-        mForm->removeAllConnection();
-        delete mForm;
-    }
-
+    delete mForm;
     delete mModel;
 }
 
@@ -159,5 +155,12 @@
     }
 }
 
+/*!
+    Returns the mailbox id for this mailbox setting view.    
+*/
+NmId NmMailboxSettingView::mailboxId()
+{
+    return mMailboxId;
+}
 
 // End of file.
--- a/emailuis/nmsettingui/src/nmsettingsviewfactory.cpp	Thu Jun 24 14:32:18 2010 +0300
+++ b/emailuis/nmsettingui/src/nmsettingsviewfactory.cpp	Tue Jun 29 17:12:28 2010 +0300
@@ -180,68 +180,74 @@
     // There's always at least one valid main window available.
     HbMainWindow *mainWindow = hbInstance->allMainWindows().takeFirst();
 
-    CpBaseSettingView *view =
-        new NmMailboxSettingView(mailboxId, mailboxName, *mSettingsManager);
-
-    connect(mSettingsManager,
-            SIGNAL(mailboxListChanged(const NmId &, NmSettings::MailboxEventType)),
-            view, SLOT(mailboxListChanged(const NmId &, NmSettings::MailboxEventType)));
-
-    connect(mSettingsManager,
-            SIGNAL(mailboxPropertyChanged(const NmId &, QVariant, QVariant)),
-            view, SLOT(mailboxPropertyChanged(const NmId &, QVariant, QVariant)));
-
-    // Disconnect mSettingsViewLauncher's previous connections to be sure that signals which are
-    // offered out will be sent last.
-    mSettingsManager->disconnect(
-        SIGNAL(mailboxListChanged(const NmId &, NmSettings::MailboxEventType)),
-        mSettingsViewLauncher,
-        SIGNAL(mailboxListChanged(const NmId &, NmSettings::MailboxEventType)));
-
-    mSettingsManager->disconnect(
-        SIGNAL(mailboxPropertyChanged(const NmId &, QVariant, QVariant)),
-        mSettingsViewLauncher,
-        SIGNAL(mailboxPropertyChanged(const NmId &, QVariant, QVariant)));
-
-
-    // Reconnect mSettingsViewLauncher.
-    connect(mSettingsManager,
-            SIGNAL(mailboxListChanged(const NmId &, NmSettings::MailboxEventType)),
-            mSettingsViewLauncher,
-            SIGNAL(mailboxListChanged(const NmId &, NmSettings::MailboxEventType)));
-
-    connect(mSettingsManager,
-            SIGNAL(mailboxPropertyChanged(const NmId &, QVariant, QVariant)),
-            mSettingsViewLauncher,
-            SIGNAL(mailboxPropertyChanged(const NmId &, QVariant, QVariant)));
-
-    connect(mSettingsManager,
-            SIGNAL(goOnline(const NmId &)),
-            mSettingsViewLauncher,
-            SIGNAL(goOnline(const NmId &)), Qt::UniqueConnection);
-
-    connect(mSettingsManager,
-            SIGNAL(goOffline(const NmId &)),
-            mSettingsViewLauncher,
-            SIGNAL(goOffline(const NmId &)), Qt::UniqueConnection);
-
-    connect(this,
-            SIGNAL(aboutToClose()),
-            mSettingsManager,
-            SIGNAL(aboutToClose()), Qt::UniqueConnection);
-
-    // Create back navigation action for a view.
-    HbAction *action = new HbAction(Hb::BackNaviAction, view);
-    connect(action, SIGNAL(triggered()), this, SLOT(backPress()));
-    view->setNavigationAction(action);
-    mPrevView = mainWindow->currentView();
-    mainWindow->addView(view);
-    mainWindow->setCurrentView(view);
+    NmMailboxSettingView *currentSettingsView = 
+        qobject_cast<NmMailboxSettingView*>(mainWindow->currentView());
+    
+    // Let's have only one same settings view at a time open, 
+    // but if some other mailboxes settings view want's to open while 
+    // there is a settings view open let's open it also.
+    if (!currentSettingsView || (currentSettingsView->mailboxId().id() != mailboxId.id())) {
+        CpBaseSettingView *view =
+             new NmMailboxSettingView(mailboxId, mailboxName, *mSettingsManager);
+         
+         connect(mSettingsManager,
+                 SIGNAL(mailboxListChanged(const NmId &, NmSettings::MailboxEventType)),
+                 view, SLOT(mailboxListChanged(const NmId &, NmSettings::MailboxEventType)));
+     
+         connect(mSettingsManager,
+                 SIGNAL(mailboxPropertyChanged(const NmId &, QVariant, QVariant)),
+                 view, SLOT(mailboxPropertyChanged(const NmId &, QVariant, QVariant)));
+     
+         // Disconnect mSettingsViewLauncher's previous connections to 
+         // be sure that signals which are offered out will be sent last.
+         mSettingsManager->disconnect(
+             SIGNAL(mailboxListChanged(const NmId &, NmSettings::MailboxEventType)),
+             mSettingsViewLauncher,
+             SIGNAL(mailboxListChanged(const NmId &, NmSettings::MailboxEventType)));
+     
+         mSettingsManager->disconnect(
+             SIGNAL(mailboxPropertyChanged(const NmId &, QVariant, QVariant)),
+             mSettingsViewLauncher,
+             SIGNAL(mailboxPropertyChanged(const NmId &, QVariant, QVariant)));
+     
+         // Reconnect mSettingsViewLauncher.
+         connect(mSettingsManager,
+                 SIGNAL(mailboxListChanged(const NmId &, NmSettings::MailboxEventType)),
+                 mSettingsViewLauncher,
+                 SIGNAL(mailboxListChanged(const NmId &, NmSettings::MailboxEventType)));
+     
+         connect(mSettingsManager,
+                 SIGNAL(mailboxPropertyChanged(const NmId &, QVariant, QVariant)),
+                 mSettingsViewLauncher,
+                 SIGNAL(mailboxPropertyChanged(const NmId &, QVariant, QVariant)));
+     
+         connect(mSettingsManager,
+                 SIGNAL(goOnline(const NmId &)),
+                 mSettingsViewLauncher,
+                 SIGNAL(goOnline(const NmId &)), Qt::UniqueConnection);
+     
+         connect(mSettingsManager,
+                 SIGNAL(goOffline(const NmId &)),
+                 mSettingsViewLauncher,
+                 SIGNAL(goOffline(const NmId &)), Qt::UniqueConnection);
+     
+         connect(this,
+                 SIGNAL(aboutToClose()),
+                 mSettingsManager,
+                 SIGNAL(aboutToClose()), Qt::UniqueConnection);
+     
+         // Create back navigation action for a view.
+         HbAction *action = new HbAction(Hb::BackNaviAction, view);
+         connect(action, SIGNAL(triggered()), this, SLOT(backPress()));
+         view->setNavigationAction(action);
+         mPrevView = mainWindow->currentView();
+         mainWindow->addView(view);
+         mainWindow->setCurrentView(view);
+    }    
 }
 
-
 /*!
-   Handles back button press.
+   Handels back button press.
    Removes the current view from the main window and activates the previous view.
    Destroys removed view.
 */
--- a/nmail.pro	Thu Jun 24 14:32:18 2010 +0300
+++ b/nmail.pro	Tue Jun 29 17:12:28 2010 +0300
@@ -17,19 +17,9 @@
 
 TEMPLATE = subdirs
 
-win32: { 
-    SUBDIRS = \
-        emailservices/nmailbase \
-        emailuis/nmailuiengine  \
-        emailuis/nmailuiwidgets \
-        emailuis/nmailuiwidgetsplugin \
-        emailuis/nmailuiengine/tsrc/nmtestplugin \
-        emailuis/nmailuiengine/tsrc/nmtestpluginextension \
-        emailuis/nmailui
-}
-
 symbian*: { 
     SUBDIRS = \
+        email_plat \
         emailservices/nmailbase \
         emailuis/nmailuiengine \
         emailuis/nmailuiwidgets \
@@ -46,7 +36,6 @@
         emailuis/nmframeworkadapter \
         emailservices/nmclientapi \
         emailservices/nmailagent \
-        email_plat \
         emailservices/nmregister \
         emailuis/nmhswidget \
         emailuis/nmhswidget/tsrc/nmhswidgettestapp \