--- a/emailservices/emailstore/base_plugin/src/baseplugindelayedops.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/emailservices/emailstore/base_plugin/src/baseplugindelayedops.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -336,8 +336,9 @@
//save parentId
TMsgStoreId msgParentId;
msgParentId = theMessage->ParentId();
- //check if message is in deleted folder or not.
- if (msgParentId != mailBoxInfo.iRootFolders.iFolders[EFSDeleted])
+ //check if message is in deleted or drafts folder or not.
+ if (msgParentId != mailBoxInfo.iRootFolders.iFolders[EFSDeleted] &&
+ msgParentId != mailBoxInfo.iRootFolders.iFolders[EFSDraftsFolder])
{
//if not in deleted items then move it there.
__LOG_WRITE8_FORMAT1_INFO("Moving message 0x%X to the deleted items.", msgId );
--- a/emailservices/nmregister/src/nmmailboxregisterinterface.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/emailservices/nmregister/src/nmmailboxregisterinterface.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -54,7 +54,7 @@
//parameter values
const QString NmPublisherName("NmMailboxRegisterInterface");
-const QString NmLaunchUri("appto://0x200255BA?activityname=EmailInboxView&accountId=");
+const QString NmLaunchUri("appto://0x200255BA?activityname=EmailInboxView");
//URI for the defined service
const QLatin1String interfaceUri("com.nokia.symbian.IEmailRegisterAccount");
--- a/emailuis/nmailui/conf/nmmessagelistviewitem.css Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmailui/conf/nmmessagelistviewitem.css Thu Aug 05 21:09:09 2010 +0300
@@ -1,32 +1,38 @@
-NmMessageListViewItem:portrait{
+NmMessageListViewItem:portrait {
layout:portrait;
}
-NmMessageListViewItem:landscape{
+NmMessageListViewItem:landscape {
layout:landscape;
}
-NmMessageListViewItem::sender{
- fixed-height: var(hb-param-text-height-primary);
+NmMessageListViewItem::sender {
+ fixed-height: var(hb-param-text-height-primary);
text-align: left;
+ text-wrap-mode: no-wrap;
}
+
NmMessageListViewItem::time {
- pref-height: var(hb-param-text-height-secondary);
- pref-width: 12un;
- size-policy: fixed, fixed;
+ fixed-height: var(hb-param-text-height-secondary);
+ fixed-width: 12un;
text-align: right;
+ text-wrap-mode: no-wrap;
}
-NmMessageListViewItem::subject{
- fixed-height: var(hb-param-text-height-secondary);
+
+NmMessageListViewItem::subject {
+ fixed-height: var(hb-param-text-height-secondary);
text-align: left;
+ text-wrap-mode: no-wrap;
}
-NmMessageListViewItem::icon1::icon{
- pref-height: var(hb-param-graphic-size-primary-small);
- pref-width: var(hb-param-graphic-size-primary-small);
- size-policy: fixed fixed;
+
+NmMessageListViewItem::icon1::icon {
+ alignment: right;
+ fixed-height: var(hb-param-graphic-size-primary-small);
+ fixed-width: var(hb-param-graphic-size-primary-small);
}
-NmMessageListViewItem::icon2::icon{
- pref-height: var(hb-param-graphic-size-primary-small);
- pref-width: var(hb-param-graphic-size-primary-small);
- size-policy: fixed fixed;
+
+NmMessageListViewItem::icon2::icon {
+ alignment: right;
+ fixed-height: var(hb-param-graphic-size-primary-small);
+ fixed-width: var(hb-param-graphic-size-primary-small);
}
--- a/emailuis/nmailui/inc/nmapplication.h Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmailui/inc/nmapplication.h Thu Aug 05 21:09:09 2010 +0300
@@ -44,7 +44,7 @@
{
Q_OBJECT
public:
- NmApplication(QObject *parent, quint32 accountId=0);
+ NmApplication(QObject *parent, quint64 accountId=0);
~NmApplication();
void enterNmUiView(NmUiStartParam *startParam);
HbMainWindow* mainWindow();
@@ -68,9 +68,10 @@
void pushView(NmBaseView *view);
void resetViewStack();
void hideApplication();
+ void updateActivity();
private slots:
- void updateActivity();
+ void activityActivated();
signals:
void applicationReady();
@@ -99,7 +100,6 @@
HbMessageBox *mQueryDialog; // Owned
bool mBackButtonPressed;
NmId mCurrentMailboxId;
- bool mActivityUpdateNeeded;
};
#endif // NMAPPLICATION_H
--- a/emailuis/nmailui/inc/nmeditorview.h Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmailui/inc/nmeditorview.h Thu Aug 05 21:09:09 2010 +0300
@@ -148,6 +148,7 @@
QPointer<HbProgressDialog> mServiceSendingDialog; // Owned.
bool mIsNotFetchedBefore;
HbListWidget *mTBExtnContentWidget; // Owned
+ QString mHiddenPriorityName;
};
--- a/emailuis/nmailui/inc/nmmessagelistviewitem.h Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmailui/inc/nmmessagelistviewitem.h Thu Aug 05 21:09:09 2010 +0300
@@ -1,19 +1,19 @@
/*
-* 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:
-*
-*/
+ * Copyright (c) 2009-2010 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 NMMESSAGELISTVIEWITEM_H_
#define NMMESSAGELISTVIEWITEM_H_
@@ -32,7 +32,7 @@
class NmMessageListViewItem : public HbTreeViewItem
{
Q_OBJECT
-
+
public:
explicit NmMessageListViewItem(QGraphicsItem *parent = 0);
virtual ~NmMessageListViewItem();
@@ -40,7 +40,7 @@
HbTreeViewItem *createItem();
bool canSetModelIndex(const QModelIndex &index) const;
QRectF contiguousSelectionArea() const { return QRectF(); };
-
+
private:
void createMessageItemLayout();
void setContentsToMessageItem(const NmMessageEnvelope &envelope, bool dividersActive);
@@ -49,18 +49,17 @@
void setFonts(const QColor &colorRole, HbFontSpec &fontSpec);
void getFontSizes();
QString senderFieldText(const NmMessageEnvelope &envelope);
-
+
private:
- HbTextItem *mSender; // Owned
- HbTextItem *mSubject; // Owned
- HbTextItem *mTime; // Owned
- HbLabel *mDividerTitle; // Owned
- HbFrameItem *mNewMsgIcon; // Owned
- HbIconItem *mIcon1; // Owned
- HbIconItem *mIcon2; // Owned
+ HbTextItem *mSender; // Owned
+ HbTextItem *mSubject; // Owned
+ HbTextItem *mTime; // Owned
+ HbLabel *mDividerTitle; // Owned
+ HbFrameItem *mNewMsgIcon; // Owned
+ HbIconItem *mIcon1; // Owned
+ HbIconItem *mIcon2; // Owned
qreal mPrimarySize;
qreal mSecondarySize;
};
-
#endif /* NMMESSAGELISTVIEWITEM_H_ */
--- a/emailuis/nmailui/nmailui.pro Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmailui/nmailui.pro Thu Aug 05 21:09:09 2010 +0300
@@ -125,3 +125,10 @@
RESOURCES += nmmessagelistviewitem.qrc
RESOURCES += nmviewerheader.qrc
TRANSLATIONS = mail.ts
+
+DOCML += conf/nmeditorview.docml \
+ conf/nmmailboxlistview.docml \
+ conf/nmmailboxselectiondialog.docml \
+ conf/nmmailviewer.docml \
+ conf/nmmessagelistview.docml \
+ conf/nmmessagesearchlistview.docml
--- a/emailuis/nmailui/nmailui.qrc Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmailui/nmailui.qrc Thu Aug 05 21:09:09 2010 +0300
@@ -1,13 +1,13 @@
<RCC>
- <qresource prefix="/docml" >
- <file alias="nmeditorview.docml" >conf/nmeditorview.docml</file>
- <file alias="nmmailboxlistview.docml" >conf/nmmailboxlistview.docml</file>
- <file alias="nmmailboxselectiondialog.docml" >conf/nmmailboxselectiondialog.docml</file>
- <file alias="nmmailviewer.docml" >conf/nmmailviewer.docml</file>
- <file alias="nmmessagelistview.docml" >conf/nmmessagelistview.docml</file>
- <file alias="nmmessagesearchlistview.docml" >conf/nmmessagesearchlistview.docml</file>
+ <qresource prefix="/docml">
+ <file alias="nmeditorview.docml">conf/nmeditorview.docml.bin</file>
+ <file alias="nmmailboxlistview.docml">conf/nmmailboxlistview.docml.bin</file>
+ <file alias="nmmailboxselectiondialog.docml">conf/nmmailboxselectiondialog.docml.bin</file>
+ <file alias="nmmailviewer.docml">conf/nmmailviewer.docml.bin</file>
+ <file alias="nmmessagelistview.docml">conf/nmmessagelistview.docml.bin</file>
+ <file alias="nmmessagesearchlistview.docml">conf/nmmessagesearchlistview.docml.bin</file>
</qresource>
- <qresource prefix="/effects" >
- <file alias="mail_send.fxml" >resources/mail_send.fxml</file>
+ <qresource prefix="/effects">
+ <file alias="mail_send.fxml">resources/mail_send.fxml</file>
</qresource>
</RCC>
--- a/emailuis/nmailui/src/main.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmailui/src/main.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -37,11 +37,11 @@
app.setApplicationName(hbTrId("txt_mail_title_mail"));
NmApplication *nmApplication = NULL;
- quint32 accountId = 0;
+ quint64 accountId = 0;
+ QString activateId = app.activateId();
if (app.activateReason() == Hb::ActivationReasonActivity &&
- app.activateId() == NmActivityName) {
- QVariant data = app.activateParams().take("accountId");
- QString accountIdString = data.toString();
+ activateId.startsWith(NmActivityName) ) {
+ QString accountIdString = activateId.mid(NmActivityName.length());
accountId = accountIdString.toULongLong();
nmApplication = new NmApplication(&app,accountId);
} else {
--- a/emailuis/nmailui/src/nmapplication.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmailui/src/nmapplication.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -21,10 +21,6 @@
static const QString NmSendServiceName = "nmail.com.nokia.symbian.IFileShare";
-// Delay before a screenshot is taken after view activation so that view has time to draw itself,
-// testing seems to indicate 500ms to be a good value
-static const int NmActivityUpdateDelayMs = 500;
-
static const QString NmActivityName = "EmailInboxView";
/*!
@@ -32,10 +28,11 @@
\brief Application class, creates main window and handles view switching.
*/
+
/*!
Constructor.
*/
-NmApplication::NmApplication(QObject *parent, quint32 accountId)
+NmApplication::NmApplication(QObject *parent, quint64 accountId)
: QObject(parent),
mMainWindow(NULL),
mViewStack(NULL),
@@ -51,8 +48,7 @@
mSettingsViewLauncher(NULL),
mViewReady(false),
mQueryDialog(NULL),
- mBackButtonPressed(false),
- mActivityUpdateNeeded(false)
+ mBackButtonPressed(false)
{
TRAP_IGNORE(mUiEngine = NmUiEngine::instance());
@@ -82,18 +78,25 @@
if(accountId != 0) {
QVariant mailbox;
- mailbox.setValue(mUiEngine->getPluginIdByMailboxId(accountId).id());
+ mailbox.setValue(accountId);
mMailboxServiceInterface->displayInboxByMailboxId(mailbox);
}
mEffects = new NmUiEffects(*mMainWindow);
+
+ QObject::connect(parent, SIGNAL(activate()), this, SLOT(activityActivated()));
}
+
/*!
Destructor.
*/
NmApplication::~NmApplication()
{
+ // Remove the event filter early since catching application activated/
+ // deactivated events now may cause a crash.
+ QCoreApplication::instance()->removeEventFilter(this);
+
if (mQueryDialog) {
delete mQueryDialog;
mQueryDialog = NULL;
@@ -109,6 +112,7 @@
delete mViewStack;
NmIcons::freeIcons();
+
NmUiEngine::releaseInstance(mUiEngine);
mUiEngine = NULL;
@@ -129,8 +133,9 @@
if (mNetManager->cache()) {
mNetManager->cache()->clear();
}
- delete mNetManager;
- mNetManager = NULL;
+
+ delete mNetManager;
+ mNetManager = NULL;
}
// Effects need to be deleted before MainWindow.
@@ -140,6 +145,7 @@
delete mSettingsViewLauncher;
}
+
/*!
Main application window creation.
*/
@@ -217,18 +223,22 @@
mMainWindow->setOptimizationFlag(QGraphicsView::DontSavePainterState);
}
- // installed to get ApplicationActivate/Deactivate events
+ // Install the event filter in order to receive ApplicationActivate/Deactivate
+ // events.
QCoreApplication::instance()->installEventFilter(this);
}
+
/*!
Slot. React to view ready signal and call current view method.
*/
void NmApplication::viewReady()
{
mViewReady = true;
+
if (mViewStack && !mViewStack->isEmpty()) {
NmBaseView *currentView = mViewStack->top();
+
if (currentView) {
currentView->viewReady();
emit applicationReady();
@@ -236,14 +246,15 @@
}
}
+
/*!
- Event filter. End key is filtered from the main window and either the
- view takes case of the or the app is exited by default.
+ Event filter. End key is filtered from the main window and either the view
+ takes case or the app is exited by default.
*/
bool NmApplication::eventFilter(QObject *obj, QEvent *event)
{
bool consumed(false);
-
+
if (obj && obj == mMainWindow && event && event->type() == QEvent::KeyPress) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
if (keyEvent->key() == Qt::Key_No) {
@@ -251,18 +262,15 @@
// Exit application if no pending operations are on-going.
}
}
- else if (event->type()==QEvent::ApplicationActivate) {
+ else if (event && event->type() == QEvent::ApplicationActivate) {
NM_COMMENT("NmApplication::eventFilter ApplicationActivate");
-
- // Activity thumbnails must be shown again
- if (mActivityUpdateNeeded) {
- mActivityUpdateNeeded = false;
- updateActivity();
- }
+ // Update task switcher name & screenshot, we could have activated into some other mailbox
+ updateActivity();
}
- else if (event->type()==QEvent::ApplicationDeactivate) {
+ else if (event && event->type() == QEvent::ApplicationDeactivate) {
NM_COMMENT("NmApplication::eventFilter ApplicationDeactivate");
-
+ // Update the screenshot in the taskswitcher to represent current state
+ updateActivity();
// hide the sync indicator when app goes to background
mUiEngine->enableSyncIndicator(false);
}
@@ -274,6 +282,7 @@
return consumed;
}
+
/*!
Push view to view stack.
*/
@@ -313,7 +322,6 @@
if (hideView) {
mMainWindow->removeView(hideView);
}
- QTimer::singleShot(NmActivityUpdateDelayMs, this, SLOT(updateActivity()));
}
}
@@ -346,6 +354,7 @@
}
}
+
/*!
Hide the application
*/
@@ -366,11 +375,9 @@
if (hbApp) {
hbApp->activityManager()->removeActivity(NmActivityName);
}
-
- // Update the activity when needed
- mActivityUpdateNeeded = true;
}
+
/*!
Pop view from view stack. View object is deleted.
*/
@@ -425,7 +432,6 @@
mActiveViewId=showView->nmailViewId();
// Perform send animation if requested.
mEffects->startEffect(NmUiEffects::NmEditorSendMessageAnimation);
- QTimer::singleShot(NmActivityUpdateDelayMs, this, SLOT(updateActivity()));
}
delete view;
@@ -454,6 +460,7 @@
}
}
+
/*!
Reset view stack. Remove and destroy view objects.
*/
@@ -471,6 +478,7 @@
}
}
+
/*!
Function activates view based on viewId parameter. If requested view is
already open, it is requested to reload. Otherwise view object is created
@@ -586,6 +594,7 @@
}
}
+
/*!
Function can be used from views to exit the application. View stack is
cleared. Views can connect exit menu selection to this slot.
@@ -611,6 +620,7 @@
qApp->quit();
}
+
/*!
Exit the application in the next event loop.
*/
@@ -620,6 +630,7 @@
QMetaObject::invokeMethod(this, "exitApplication", Qt::QueuedConnection);
}
+
/*!
Getter for main window instance.
*/
@@ -628,6 +639,7 @@
return mMainWindow;
}
+
/*!
Getter for main UI extension manager.
*/
@@ -636,6 +648,7 @@
return *mExtensionManager;
}
+
/*!
Getter for network access manager.
*/
@@ -644,6 +657,7 @@
return *mNetManager;
}
+
/*!
Get the screen size. Function returns curtent screen size.
*/
@@ -677,6 +691,7 @@
return ret;
}
+
/*!
Handles all asynchronous operation's completions at UI level.
*/
@@ -708,6 +723,7 @@
}
}
+
/*!
Launches settings view of the specified mailbox.
*/
@@ -724,11 +740,11 @@
if( mailboxMetaData ) {
// Launch.
mSettingsViewLauncher->launchSettingsView(mLastOperationMailbox, mailboxMetaData->name());
- QTimer::singleShot(NmActivityUpdateDelayMs, this, SLOT(updateActivity()));
}
}
}
+
/*!
Stores the visibility state, e.g. when the service was launched.
\return true if the app was visible.
@@ -742,13 +758,15 @@
return mForegroundService;
}
+
/*!
- Update the thumbnail in the task switcher
+ Update the thumbnail in the task switcher.
*/
void NmApplication::updateActivity()
{
NmMailboxMetaData *meta = mUiEngine->mailboxById(mCurrentMailboxId);
HbApplication* hbApp = dynamic_cast<HbApplication*>(parent());
+
if (hbApp) {
if (meta) {
TsTaskSettings tasksettings;
@@ -767,3 +785,25 @@
}
}
}
+
+
+/*!
+ Switch to activated mailbox
+*/
+void NmApplication::activityActivated()
+{
+ HbApplication* hbApp = dynamic_cast<HbApplication*>(parent());
+ if (hbApp) {
+ quint64 accountId(0);
+ QString activateId = hbApp->activateId();
+ if (hbApp->activateReason() == Hb::ActivationReasonActivity &&
+ activateId.startsWith(NmActivityName) ) {
+ QString accountIdString = activateId.mid(NmActivityName.length());
+ accountId = accountIdString.toULongLong();
+ QVariant mailbox;
+ mailbox.setValue(accountId);
+ mMailboxServiceInterface->displayInboxByMailboxId(mailbox);
+ }
+ }
+}
+
--- a/emailuis/nmailui/src/nmeditorheader.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmailui/src/nmeditorheader.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -124,6 +124,7 @@
mAttachmentList = new NmAttachmentList(*mAttachmentListWidget);
mAttachmentList->setParent(this); // ownership changes
mAttachmentListWidget->hide();
+ mLayout->removeItem(&mAttachmentList->listWidget());
// Add priority icon
mPriorityIcon = qobject_cast<HbLabel *>
@@ -409,6 +410,8 @@
mAttachmentList->insertAttachment(fileName, fileSize, nmid);
if (!mAttachmentList->listWidget().isVisible()) {
+ // attachment list is inserted just before the body widget (see docml).
+ mLayout->insertItem(mLayout->count() - 1, &mAttachmentList->listWidget());
mAttachmentList->listWidget().show();
}
--- a/emailuis/nmailui/src/nmeditorview.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmailui/src/nmeditorview.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -22,8 +22,10 @@
// extension list item frame.
static const QString NmPopupListFrame = "qtg_fr_popup_list_normal";
-
static const QString NmDelimiter("; ");
+static const QString NmPriorityLow("low");
+static const QString NmPriorityNormal("normal");
+static const QString NmPriorityHigh("high");
/*!
\class NmEditorView
@@ -56,7 +58,8 @@
mAttachmentPicker(NULL),
mCcBccFieldVisible(false),
mServiceSendingDialog(NULL),
- mIsNotFetchedBefore(true)
+ mIsNotFetchedBefore(true),
+ mHiddenPriorityName(NmPriorityNormal)
{
NM_FUNCTION;
@@ -409,11 +412,12 @@
startParam.mailboxId(),
startParam.folderId(),
startParam.messageId());
- mIsNotFetchedBefore = false;
}
else {
startMessageCreation(startParam);
}
+
+ mIsNotFetchedBefore = false;
}
}
@@ -958,7 +962,10 @@
QList<NmAction*> list;
extMngr.getActions(request, list);
for (int i = 0; i < list.count(); i++) {
- mPrioritySubMenu->addAction(list[i]);
+ // check what priority has already been selected and hide it from options menu
+ if (!list[i]->objectName().contains(mHiddenPriorityName)) {
+ mPrioritySubMenu->addAction(list[i]);
+ }
}
mPrioritySubMenu->setObjectName("editorPrioritySubMenu");
mPrioritySubMenu->setTitle(hbTrId("txt_mail_opt_add_priority"));
@@ -1371,12 +1378,15 @@
if (mMessage) {
NmMessagePriority messagePriority = NmMessagePriorityNormal;
+ mHiddenPriorityName = NmPriorityNormal;
if (priority == NmActionResponseCommandPriorityHigh) {
messagePriority = NmMessagePriorityHigh;
+ mHiddenPriorityName = NmPriorityHigh;
}
else if (priority == NmActionResponseCommandPriorityLow) {
messagePriority = NmMessagePriorityLow;
+ mHiddenPriorityName = NmPriorityLow;
}
mMessage->envelope().setPriority(messagePriority);
}
--- a/emailuis/nmailui/src/nmmessagelistviewitem.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmailui/src/nmmessagelistviewitem.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -1,96 +1,90 @@
/*
-* 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:
-*
-*
-*/
+ * Copyright (c) 2009-2010 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:
+ *
+ */
#include "nmuiheaders.h"
/*!
\class NmMessageListViewItem
- \brief list view item for message list view
-*/
+ \brief List view item for message list view.
+ */
static const int NmFolderTypeRole = Qt::UserRole+1;
/*!
- Constructor
-*/
-NmMessageListViewItem::NmMessageListViewItem(QGraphicsItem *parent):
- HbTreeViewItem(parent),
- mSender(NULL),
- mSubject(NULL),
- mTime(NULL),
- mDividerTitle(NULL),
- mNewMsgIcon(NULL),
- mIcon1(NULL),
- mIcon2(NULL),
- mPrimarySize(0),
- mSecondarySize(0)
+ Constructor.
+ */
+NmMessageListViewItem::NmMessageListViewItem(QGraphicsItem *parent)
+: HbTreeViewItem(parent),
+ mSender(NULL),
+ mSubject(NULL),
+ mTime(NULL),
+ mDividerTitle(NULL),
+ mNewMsgIcon(NULL),
+ mIcon1(NULL),
+ mIcon2(NULL),
+ mPrimarySize(0),
+ mSecondarySize(0)
{
- NM_FUNCTION;
}
/*!
- Destruction.
-*/
+ Destructor.
+ */
NmMessageListViewItem::~NmMessageListViewItem()
{
- NM_FUNCTION;
}
/*!
-*/
+ Create item.
+ */
HbTreeViewItem *NmMessageListViewItem::createItem()
{
- NM_FUNCTION;
-
return new NmMessageListViewItem(*this);
}
/*!
- boolean value indicating model index availability. Always true since
- this item prototype is used for both divider and message
-*/
+ Boolean value indicating model index availability. Always true since
+ this item prototype is used for both divider and message.
+ */
bool NmMessageListViewItem::canSetModelIndex(const QModelIndex &index) const
{
- NM_FUNCTION;
-
Q_UNUSED(index);
- // This item class can handle all items in message list
+ // This item class can handle all items in message list.
return true;
}
/*!
- update child items. List calls this function whenever item is needed
+ Update child items. List calls this function whenever item is needed
to be updated.
-*/
+ */
void NmMessageListViewItem::updateChildItems()
{
- NM_FUNCTION;
-
// Get model pointer
NmMessageListModelItem *msgModelItem = modelIndex().data(
- Qt::DisplayRole).value<NmMessageListModelItem*>();
+ Qt::DisplayRole).value<NmMessageListModelItem*>();
// Check whether item is message item or title divider
- // and set the layout accordingly, dividers not currently used
+ // and set the layout accordingly. Dividers are not currently used.
if (msgModelItem && msgModelItem->itemType() ==
NmMessageListModelItem::NmMessageItemMessage){
NmMessageListModel *model = static_cast<NmMessageListModel*>(msgModelItem->model());
if (model){
- // First set item layout
+ // First set item layout.
createMessageItemLayout();
- // Set content data to item after layout is created
+ // Set content data to item after layout is created.
setContentsToMessageItem(msgModelItem->envelope(), model->dividersActive());
}
}
@@ -99,67 +93,57 @@
/*!
Set item layout.
- Function does not take ownership of model or model item
-*/
+ Function does not take ownership of model or model item.
+ */
void NmMessageListViewItem::createMessageItemLayout()
-{
- NM_FUNCTION;
-
+{
getFontSizes();
- // Create sender label and set name from widgetml
- if (!mSender){
+ // Create sender label and set name from widgetml.
+ if (!mSender) {
mSender = new HbTextItem(this);
HbStyle::setItemName(mSender, "sender");
mSender->setObjectName("ListViewItemMessageSender");
- mSender->setTextWrapping(Hb::TextNoWrap);
}
- // Create time label and set name from widgetml
- if (!mTime){
+ // Create time label and set name from widgetml.
+ if (!mTime) {
mTime = new HbTextItem(this);
HbStyle::setItemName(mTime, "time");
mTime->setObjectName("ListViewItemMessageTime");
}
- // Create subject label and set name from widgetml
- if (!mSubject){
+ // Create subject label and set name from widgetml.
+ if (!mSubject) {
mSubject = new HbTextItem(this);
HbStyle::setItemName(mSubject, "subject");
mSubject->setObjectName("ListViewItemMessageSubject");
- mSubject->setTextWrapping(Hb::TextNoWrap);
}
- // Set new message icon
+ // Set new message icon.
if (!mNewMsgIcon) {
mNewMsgIcon = new HbFrameItem(this);
- }
- // Create priority icon and set name from widgetml
- if (!mIcon1){
+ }
+ // Create priority icon and set name from widgetml.
+ if (!mIcon1) {
mIcon1 = new HbIconItem(this);
HbStyle::setItemName(mIcon1, "icon1");
- // According to layout guide, icon alignment is always right
- mIcon1->setAlignment(Qt::AlignRight);
}
- // Create attachment icon and set name from widgetml
- if (!mIcon2){
+ // Create attachment icon and set name from widgetml.
+ if (!mIcon2) {
mIcon2 = new HbIconItem(this);
HbStyle::setItemName(mIcon2, "icon2");
- // According to layout guide, icon alignment is always right
- mIcon2->setAlignment(Qt::AlignRight);
}
setObjectName("ListViewItemMessage");
}
/*!
- set item text label contents, icons, etc.
- Function does not take ownership of model or model item
+ Set item text label contents, icons, etc.
+ Function does not take ownership of model or model item.
*/
void NmMessageListViewItem::setContentsToMessageItem(const NmMessageEnvelope &envelope,
bool dividersActive)
{
- NM_FUNCTION;
-
- // member variables are created in previous function
- // sender
+ // Member variables are created in previous function.
+ // Sender.
mSender->setText(senderFieldText(envelope));
- // time
+ // Time.
HbExtendedLocale locale = HbExtendedLocale::system();
QDateTime localTime = envelope.sentTime().addSecs(locale.universalTimeOffset());
QDate sentLocalDate = localTime.date();
@@ -172,14 +156,14 @@
QString shortDateSpec = r_qtn_date_without_year;
mTime->setText(locale.format(sentLocalDate, shortDateSpec));
}
- // subject
+ // Subject.
QString subjectText = envelope.subject();
if (subjectText.length()) {
mSubject->setText(subjectText);
} else {
mSubject->setText(hbTrId("txt_mail_dblist_val_no_subject"));
}
- // priority
+ // Priority.
bool priorityIs(false);
mIcon1->hide();
mIcon2->hide();
@@ -200,7 +184,7 @@
default:
break;
}
- // attachments
+ // Attachments.
HbIconItem *attaIcon = (priorityIs ? mIcon2 : mIcon1);
if (envelope.hasAttachments()) {
HbIcon &icon = NmIcons::getIcon(NmIcons::NmIconAttachment);
@@ -208,12 +192,11 @@
attaIcon->setObjectName("ListViewItemMessageIconAttachment");
attaIcon->show();
}
- // message read status
+ // Message read status.
bool msgReadStatus(envelope.isRead());
HbFrameDrawer *drawer(NULL);
HbStyle::setItemName(mNewMsgIcon, "msgicon");
if (!msgReadStatus) {
-
setFontsUnread();
mNewMsgIcon->setObjectName("ListViewItemMessageIconUnread");
drawer = new HbFrameDrawer("qtg_fr_list_new_item",
@@ -223,10 +206,9 @@
mNewMsgIcon->setFrameDrawer(drawer);
mNewMsgIcon->show();
} else {
-
setFontsRead();
mNewMsgIcon->setObjectName("ListViewItemMessageIconRead");
- drawer = new HbFrameDrawer(); // Create empty drawer
+ drawer = new HbFrameDrawer(); // Create empty drawer.
drawer->setFillWholeRect(false);
// Set drawer. Takes ownership of the drawer and deletes previous drawer.
mNewMsgIcon->setFrameDrawer(drawer);
@@ -235,37 +217,31 @@
}
/*!
- setFontsUnread
-*/
+ Set fonts unread.
+ */
void NmMessageListViewItem::setFontsUnread()
-{
- NM_FUNCTION;
-
+{
static QColor colorRole = HbColorScheme::color("qtc_list_item_title_normal");
HbFontSpec fontSpec(HbFontSpec::Primary);
setFonts(colorRole, fontSpec);
}
/*!
- setFontsRead
-*/
+ Set fonts read.
+ */
void NmMessageListViewItem::setFontsRead()
{
- NM_FUNCTION;
-
static QColor colorRole = HbColorScheme::color("qtc_list_item_content_normal");
HbFontSpec fontSpec(HbFontSpec::Secondary);
setFonts(colorRole, fontSpec);
}
/*!
- getFontSizes.
-*/
+ Get font sizes.
+ */
void NmMessageListViewItem::getFontSizes()
{
- NM_FUNCTION;
-
- // Get font sizes from style
+ // Get font sizes from style.
qreal currentSize;
bool found = style()->parameter(QString("hb-param-text-height-primary"), currentSize );
if (found) {
@@ -278,22 +254,18 @@
}
/*!
- setFonts.
-*/
+ Set fonts.
+ */
void NmMessageListViewItem::setFonts(const QColor &colorRole,
HbFontSpec &fontSpec)
{
- NM_FUNCTION;
-
// Change sizes explicitly since css is overwritten in polish now.
if (mSender && mSubject && mTime) {
-
if (mPrimarySize) {
fontSpec.setTextHeight(mPrimarySize);
}
mSender->setFontSpec(fontSpec);
mSender->setTextColor(colorRole);
-
if (mSecondarySize) {
fontSpec.setTextHeight(mSecondarySize);
}
@@ -305,19 +277,17 @@
}
/*!
- senderFieldText. Function returns sender field text from
- envelope based on currently used function
-*/
+ Get sender field text. Function returns sender field text from
+ envelope based on currently used function.
+ */
QString NmMessageListViewItem::senderFieldText(const NmMessageEnvelope &envelope)
{
- NM_FUNCTION;
-
QString ret;
QVariant folderType = modelIndex().data(
NmFolderTypeRole).value<QVariant>();
switch (folderType.toInt()) {
// Outbox, drafts and sent folder, sender name is
- // replaced with first recipient from to/cc list
+ // replaced with first recipient from to/cc list.
case NmFolderOutbox:
case NmFolderDrafts:
case NmFolderSent:
@@ -343,10 +313,9 @@
ret += addressToUse.address();
}
}
-
}
break;
- // All other folders will show sender display name
+ // All other folders will show sender display name.
default:
{
QString displayName = envelope.sender().displayName();
@@ -361,4 +330,3 @@
}
return ret;
}
-
--- a/emailuis/nmailui/src/nmrecipientfield.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmailui/src/nmrecipientfield.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -17,9 +17,9 @@
#include "nmuiheaders.h"
-static const QString NmContactsServiceName = "com.nokia.services.phonebookservices";
-static const QString NmContactsInterfaceName = "Fetch";
-static const QString NmContactsOperationName = "fetch(QString,QString,QString)";
+static const QString NmContactsServiceName = "phonebookservices";
+static const QString NmContactsInterfaceName = "com.nokia.symbian.IContactsFetch";
+static const QString NmContactsOperationName = "multiFetch(QString,QString)";
static const int NmMaxRows = 10000;
@@ -36,7 +36,7 @@
mLaunchContactsPickerButton(NULL)
{
NM_FUNCTION;
-
+
// Load the widgets from nmeditorview.docml. The names match to the definitions in that docml.
mWidget = qobject_cast<HbWidget *>
(mDocumentLoader.findWidget(mObjectPrefix + "Field"));
@@ -47,13 +47,13 @@
mRecipientsEditor = qobject_cast<NmRecipientLineEdit *>
(mDocumentLoader.findWidget(mObjectPrefix + "Edit"));
if (mRecipientsEditor) {
- mRecipientsEditor->setMaxRows(NmMaxRows);
+ mRecipientsEditor->setMaxRows(NmMaxRows);
}
mLaunchContactsPickerButton = qobject_cast<HbPushButton *>
(mDocumentLoader.findWidget(mObjectPrefix + "Button"));
if (mLaunchContactsPickerButton) {
- mLaunchContactsPickerButton->setIcon(NmIcons::getIcon(NmIcons::NmIconContacts));
+ mLaunchContactsPickerButton->setIcon(NmIcons::getIcon(NmIcons::NmIconContacts));
}
createConnections();
@@ -65,7 +65,7 @@
void NmRecipientField::createConnections()
{
NM_FUNCTION;
-
+
connect(mRecipientsEditor, SIGNAL(textChanged(const QString &)),
this, SIGNAL(textChanged(const QString &)));
connect(mRecipientsEditor, SIGNAL(cursorPositionChanged(int, int)),
@@ -76,7 +76,7 @@
this, SIGNAL(selectionChanged()));
connect(mLaunchContactsPickerButton, SIGNAL(pressed()),
this, SIGNAL(launchContactsPickerButtonClicked()));
- connect(mLaunchContactsPickerButton, SIGNAL(pressed()),
+ connect(mLaunchContactsPickerButton, SIGNAL(pressed()),
this, SLOT(launchContactsPicker()));
}
@@ -95,7 +95,7 @@
qreal NmRecipientField::height()
{
NM_FUNCTION;
-
+
return mWidget->geometry().height();
}
@@ -105,7 +105,7 @@
NmRecipientLineEdit *NmRecipientField::editor() const
{
NM_FUNCTION;
-
+
return mRecipientsEditor;
}
@@ -116,7 +116,7 @@
const QString NmRecipientField::text() const
{
NM_FUNCTION;
-
+
return mRecipientsEditor->text();
}
@@ -127,7 +127,7 @@
void NmRecipientField::setText(const QString &newText)
{
NM_FUNCTION;
-
+
if (newText != mRecipientsEditor->text()) {
mRecipientsEditor->setText(newText);
emit textChanged(newText);
@@ -141,36 +141,35 @@
void NmRecipientField::launchContactsPicker()
{
NM_FUNCTION;
-
+
XQApplicationManager mAppmgr;
XQAiwRequest *launchContactsPickerRequest;
-
+
bool isEmbeded = true;
- launchContactsPickerRequest = mAppmgr.create(NmContactsServiceName, NmContactsInterfaceName,
+ launchContactsPickerRequest = mAppmgr.create(NmContactsServiceName, NmContactsInterfaceName,
NmContactsOperationName, isEmbeded);
-
+
if (launchContactsPickerRequest) {
connect(launchContactsPickerRequest, SIGNAL(requestOk(QVariant)),
mRecipientsEditor, SLOT(addSelectedContacts(QVariant)));
}
else {
- // Failed creating request
+ // Failed creating request
NM_ERROR(1,"XQApplicationManager: failed creating fecth contactspicker request");
return;
}
- QVariantList args;
+ QVariantList args;
args << hbTrId("txt_mail_select_contacts");
- args << KCntActionEmail;
- args << KCntFilterDisplayAll;
- launchContactsPickerRequest->setArguments(args);
-
+ args << KCntActionEmail;
+ launchContactsPickerRequest->setArguments(args);
+
// Send request
if (!launchContactsPickerRequest->send()) {
- //Failed sending request
+ //Failed sending request
NM_ERROR(1,"XQApplicationManager: failed sending request");
}
-
+
delete launchContactsPickerRequest;
launchContactsPickerRequest = NULL;
}
--- a/emailuis/nmailui/src/nmviewerview.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmailui/src/nmviewerview.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -34,6 +34,9 @@
static const QString NmHttpsLinkScheme = "https";
static const QString NmMailtoLinkScheme = "mailto";
+// Local constants
+const qreal NmZoomFactor = 1.5;
+
/*!
\class NmViewerView
\brief Mail viewer class
@@ -194,7 +197,7 @@
QWebSettings *settings = mWebView->settings();
if (settings) {
settings->setAttribute(QWebSettings::AutoLoadImages, true);
- settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, true);
+ settings->setAttribute(QWebSettings::PrivateBrowsingEnabled, true);
}
QWebPage *page = mWebView->page();
if (page) {
@@ -202,6 +205,7 @@
if (frame) {
frame->setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff);
frame->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff);
+ frame->setTextSizeMultiplier(NmZoomFactor);
connect(mWebView->page()->mainFrame(),
SIGNAL(contentsSizeChanged(const QSize&)),
this, SLOT(scaleWebViewWhenLoading(const QSize&)));
@@ -688,7 +692,7 @@
else {
mWebView->setPreferredWidth(width);
}
- mWebView->setPreferredHeight(height);
+ mWebView->setMinimumHeight(height);
}
}
mLatestLoadingSize = size;
@@ -702,12 +706,9 @@
QRectF myGeometry = geometry();
QWebPage *page = mWebView->page();
if (mWebView && page) {
- page->setViewportSize(myGeometry.size().toSize());
+ page->setPreferredContentsSize(myGeometry.size().toSize());
QSizeF contentSize = page->mainFrame()->contentsSize();
- int width = (int)contentSize.width();
- int height = (int)contentSize.height();
- mWebView->setPreferredWidth(width);
- mWebView->setPreferredHeight(height);
+ mWebView->setPreferredSize(contentSize);
}
}
--- a/emailuis/nmailui/src/nmviewerwebview.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmailui/src/nmviewerwebview.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -29,7 +29,7 @@
grabGesture(Qt::TapGesture);
grabGesture(Qt::PinchGesture);
// Prevent this widget from accepting focus.
- setFocusPolicy(Qt::NoFocus);
+ setFocusPolicy(Qt::NoFocus);
}
/*!
--- a/emailuis/nmailuiwidgets/bwins/nmailuiwidgetsu.def Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmailuiwidgets/bwins/nmailuiwidgetsu.def Thu Aug 05 21:09:09 2010 +0300
@@ -130,4 +130,6 @@
?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 * *)
+ ?checkColor@NmAttachmentListWidget@@AAE?AVQColor@@XZ @ 132 NONAME ; class QColor NmAttachmentListWidget::checkColor(void)
+ ?changeEvent@NmAttachmentListWidget@@MAEXPAVQEvent@@@Z @ 133 NONAME ; void NmAttachmentListWidget::changeEvent(class QEvent *)
--- a/emailuis/nmailuiwidgets/nmailuiwidgets.pro Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmailuiwidgets/nmailuiwidgets.pro Thu Aug 05 21:09:09 2010 +0300
@@ -61,3 +61,5 @@
}
RESOURCES += nmailuiwidgets.qrc
+
+DOCML += resources/nmattachmentlistwidget.docml
--- a/emailuis/nmailuiwidgets/nmailuiwidgets.qrc Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmailuiwidgets/nmailuiwidgets.qrc Thu Aug 05 21:09:09 2010 +0300
@@ -1,10 +1,10 @@
<RCC>
- <qresource prefix="/" >
- <file alias="nmattachmentlistwidget.docml" >resources/nmattachmentlistwidget.docml</file>
- <file alias="nmattachmentlistitem.widgetml" >resources/nmattachmentlistitem.widgetml</file>
- <file alias="nmattachmentlistitem.css" >resources/nmattachmentlistitem.css</file>
- <file alias="nmeditortexteditblack.css" >resources/nmeditortexteditblack.css</file>
- <file alias="nmeditortexteditblue.css" >resources/nmeditortexteditblue.css</file>
- <file alias="nmeditortextedit.widgetml" >resources/nmeditortextedit.widgetml</file>
+ <qresource prefix="/">
+ <file alias="nmattachmentlistwidget.docml">resources/nmattachmentlistwidget.docml.bin</file>
+ <file alias="nmattachmentlistitem.widgetml">resources/nmattachmentlistitem.widgetml</file>
+ <file alias="nmattachmentlistitem.css">resources/nmattachmentlistitem.css</file>
+ <file alias="nmeditortexteditblack.css">resources/nmeditortexteditblack.css</file>
+ <file alias="nmeditortexteditblue.css">resources/nmeditortexteditblue.css</file>
+ <file alias="nmeditortextedit.widgetml">resources/nmeditortextedit.widgetml</file>
</qresource>
</RCC>
--- a/emailuis/nmhswidget/nmhswidget.pro Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmhswidget/nmhswidget.pro Thu Aug 05 21:09:09 2010 +0300
@@ -73,3 +73,6 @@
DEPENDPATH += .
TRANSLATIONS = mailwidget.ts
+
+DOCML += conf/nmhswidgetmail.docml \
+ conf/nmhswidget.docml
--- a/emailuis/nmhswidget/nmhswidget.qrc Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmhswidget/nmhswidget.qrc Thu Aug 05 21:09:09 2010 +0300
@@ -1,6 +1,6 @@
<RCC>
<qresource prefix="/docml">
- <file alias="nmhswidgetmail.docml">conf/nmhswidgetmail.docml</file>
- <file alias="nmhswidget.docml">conf/nmhswidget.docml</file>
+ <file alias="nmhswidgetmail.docml">conf/nmhswidgetmail.docml.bin</file>
+ <file alias="nmhswidget.docml">conf/nmhswidget.docml.bin</file>
</qresource>
</RCC>
--- a/emailuis/nmindicatorplugin/src/nmsendingindicator.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmindicatorplugin/src/nmsendingindicator.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -49,7 +49,7 @@
*/
QVariant NmSendingIndicator::indicatorData(int role) const
{
- if (role==DecorationNameRole) {
+ if (role==DecorationNameRole || role==MonoDecorationNameRole) {
// Must return non-empty to make the indicator visible
return " ";
}
--- a/emailuis/nmindicatorplugin/src/nmsyncindicator.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmindicatorplugin/src/nmsyncindicator.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -30,7 +30,7 @@
QVariant NmSyncIndicator::indicatorData(int role) const
{
- if (role == DecorationNameRole ) {
+ if (role == DecorationNameRole || role == MonoDecorationNameRole) {
// Must return non-empty to make the indicator visible
return " ";
}
--- a/emailuis/nmsettingui/inc/nmmailboxsettingview.h Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmsettingui/inc/nmmailboxsettingview.h Thu Aug 05 21:09:09 2010 +0300
@@ -22,10 +22,11 @@
#include <nmcommon.h>
#include "nmsettingscommon.h"
+class QModelIndex;
+class QGraphicsItem;
class HbDataForm;
class HbDataFormModel;
class NmMailboxSettingsManager;
-class QGraphicsItem;
class NmId;
@@ -50,6 +51,7 @@
void mailboxPropertyChanged(const NmId &mailboxId, QVariant property, QVariant value);
+ void itemPress(const QModelIndex &index);
private:
--- a/emailuis/nmsettingui/nmsettingui.pro Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmsettingui/nmsettingui.pro Thu Aug 05 21:09:09 2010 +0300
@@ -86,4 +86,6 @@
RESOURCES += nmsettingui.qrc
+DOCML += conf/nmmailboxsettingview.docml
+
# End of file.
--- a/emailuis/nmsettingui/nmsettingui.qrc Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmsettingui/nmsettingui.qrc Thu Aug 05 21:09:09 2010 +0300
@@ -1,6 +1,6 @@
<!DOCTYPE RCC>
<RCC>
- <qresource prefix="/docml" >
- <file alias="nmmailboxsettingview.docml" >conf/nmmailboxsettingview.docml</file>
+ <qresource prefix="/docml">
+ <file alias="nmmailboxsettingview.docml">conf/nmmailboxsettingview.docml.bin</file>
</qresource>
</RCC>
\ No newline at end of file
--- a/emailuis/nmsettingui/src/nmmailboxsettingview.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/emailuis/nmsettingui/src/nmmailboxsettingview.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -15,6 +15,8 @@
*
*/
+#include <qinputcontext.h>
+
#include <hbinstance.h>
#include <hbmainwindow.h>
#include <hbaction.h>
@@ -76,6 +78,10 @@
}
if (mForm) {
+
+ connect(mForm, SIGNAL(pressed(QModelIndex)),
+ this, SLOT(itemPress(QModelIndex)));
+
// Fix for dataform item recycling.
mForm->setItemRecycling(false);
@@ -163,4 +169,39 @@
return mMailboxId;
}
+/*!
+ Called when item is pressed on the view.
+
+ \param index Index to the pressed item.
+*/
+void NmMailboxSettingView::itemPress(const QModelIndex &index)
+{
+ NM_FUNCTION;
+
+ int type(index.data(HbDataFormModelItem::ItemTypeRole).toInt());
+
+ if (type == HbDataFormModelItem::GroupItem) {
+ // Scroll the groupitem to top if needed.
+ HbDataFormViewItem *item = static_cast<HbDataFormViewItem *>(mForm->itemByIndex(index));
+
+ if (!item->isExpanded()) {
+ mForm->scrollTo(index, HbAbstractItemView::PositionAtTop);
+ }else {
+ // Hide the virtual keyboard
+ QInputContext *ic = qApp->inputContext();
+ if (ic) {
+ QEvent *closeEvent = new QEvent(QEvent::CloseSoftwareInputPanel);
+ ic->filterEvent(closeEvent);
+ delete closeEvent;
+ }
+ }
+ }
+
+ if (type == HbDataFormModelItem::TextItem) {
+ // Turn off predictive input for line-edit.
+ HbDataFormViewItem *item = static_cast<HbDataFormViewItem *>(mForm->itemByIndex(index));
+ HbWidget *widget = item->dataItemContentWidget();
+ widget->setInputMethodHints(Qt::ImhNoPredictiveText);
+ }
+}
// End of file.
--- a/ipsservices/ipssosaoplugin/inc/IpsSosAOBaseAgent.h Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/ipssosaoplugin/inc/IpsSosAOBaseAgent.h Thu Aug 05 21:09:09 2010 +0300
@@ -22,9 +22,6 @@
#include <e32base.h>
#include <msvapi.h>
-#include <SendUiConsts.h>
-
-#include "ipsplgcommon.h"
class CIpsSetDataApi;
class CIpsSosAOImapSyncOp;
--- a/ipsservices/ipssosaoplugin/inc/IpsSosAOSettingsHandler.h Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/ipssosaoplugin/inc/IpsSosAOSettingsHandler.h Thu Aug 05 21:09:09 2010 +0300
@@ -21,7 +21,6 @@
#define IPSSOSAOSETTINGSHANDLER_H_
#include <e32base.h>
-#include <imapset.h>
#include "ipsplgcommon.h"
#include "nmipssettingitems.h"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ipsservices/ipssosaoplugin/inc/ipssosaopluginheaders.h Thu Aug 05 21:09:09 2010 +0300
@@ -0,0 +1,84 @@
+/*
+* Copyright (c) 2010 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:
+* Contains mailbox specified always online logic
+*
+*/
+
+#ifndef IPSSOSAOPLUGINHEADERS_H_
+#define IPSSOSAOPLUGINHEADERS_H_
+
+// Symbian
+#include <e32base.h>
+#include <ecom/implementationproxy.h>
+#include <e32property.h>
+#include <AlwaysOnlineManagerCommon.h>
+#include <AlwaysOnlineManagerClient.h>
+#include <cemailaccounts.h>
+#include <imapcmds.h>
+#include <miutset.h>
+#include <impcmtm.h>
+#include <msvapi.h>
+#include <SendUiConsts.h>
+#include <msvids.h>
+#include <msvuids.h>
+#include <cmmanager.h>
+#include <pop3cmds.h>
+#include <popcmtm.h>
+#include <smtpset.h>
+
+// qt
+#include <qlist.h>
+
+// qt extensions
+#include <xqsettingsmanager.h>
+#include <xqcentralrepositoryutils.h>
+#include <xqcentralrepositorysearchcriteria.h>
+
+// emailcommon
+#include "CFSMailCommon.h"
+
+// emaildebug
+#include "emailtrace.h"
+
+// nmailbase
+#include "nmcommon.h"
+
+// nmipssettings
+#include "nmipssettingitems.h"
+#include "ipssettingkeys.h"
+
+// ipssosplugin
+#include "ipsplgsosbaseplugin.hrh"
+#include "ipsplgcommon.h"
+#include "ipsplgsmtpoperation.h"
+#include "ipsplgimap4populateop.h"
+
+// ipssosaoplugin
+#include "IpsSosAOBaseAgent.h"
+#include "IpsSosAOEMNResolver.h"
+#include "IpsSosAoExtendedSettingsManager.h"
+#include "IpsSosAOImapAgent.h"
+#include "IpsSosAOImapPopLogic.h"
+#include "IpsSosAOMboxLogic.h"
+#include "IpsSosAOPlugin.hrh"
+#include "IpsSosAOPluginEComInterface.h"
+#include "IpsSosAOPluginTimer.h"
+#include "IpsSosAOPopAgent.h"
+#include "IpsSosAOSchedulerUtils.h"
+#include "IpsSosAOSettingsHandler.h"
+#include "IpsSosAOSmtpAgent.h"
+#include "IpsSosAOSmtpSendWatcher.h"
+
+#endif /* IPSSOSAOPLUGINHEADERS_H_ */
--- a/ipsservices/ipssosaoplugin/src/IpsPlgAOPluginImplementationTable.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/ipssosaoplugin/src/IpsPlgAOPluginImplementationTable.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -15,12 +15,7 @@
*
*/
-
-#include "emailtrace.h"
-#include <e32base.h>
-#include <ecom/implementationproxy.h>
-
-#include "IpsSosAOPluginEComInterface.h"
+#include "ipssosaopluginheaders.h"
//--------------------------------
// Exported proxy for instantiation method resolution
--- a/ipsservices/ipssosaoplugin/src/IpsSosAOBaseAgent.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/ipssosaoplugin/src/IpsSosAOBaseAgent.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -16,14 +16,7 @@
*
*/
-#include "emailtrace.h"
-#include <e32property.h>
-
-#include "ipsplgsosbaseplugin.hrh"
-
-#include "IpsSosAOBaseAgent.h"
-#include "IpsSosAOImapAgent.h"
-#include "IpsSosAOPopAgent.h"
+#include "ipssosaopluginheaders.h"
_LIT( KIpsAOPlgPanicLit, "IpsAOPlg");
// ----------------------------------------------------------------------------
--- a/ipsservices/ipssosaoplugin/src/IpsSosAOEMNResolver.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/ipssosaoplugin/src/IpsSosAOEMNResolver.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -16,15 +16,8 @@
*
*/
-
// INCLUDE FILES
-#include "emailtrace.h"
-#include <e32base.h>
-#include <AlwaysOnlineManagerCommon.h>
-
-#include "IpsSosAOEMNResolver.h"
-#include "IpsSosAOMboxLogic.h"
-#include "IpsSosAOBaseAgent.h"
+#include "ipssosaopluginheaders.h"
// Literals used when trying to match a mailbox
// to a received EMN message
--- a/ipsservices/ipssosaoplugin/src/IpsSosAOImapAgent.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/ipssosaoplugin/src/IpsSosAOImapAgent.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -16,29 +16,7 @@
*
*/
-
-#include "emailtrace.h"
-#include <cemailaccounts.h>
-#include <imapcmds.h>
-#include <miutset.h>
-#include <impcmtm.h>
-#include <msvapi.h>
-#include <AlwaysOnlineManagerCommon.h>
-#include "CFSMailCommon.h"
-
-#include "IpsSosAOImapAgent.h"
-#include "IpsSosAOImapPopLogic.h"
-
-
-//<QMail>
-#include "IpsSosAOSettingsHandler.h"
-
-//<qmail> removed
-//</QMail>
-
-// from ipsplugin
-#include "ipsplgimap4populateop.h"
-#include "ipsplgcommon.h"
+#include "ipssosaopluginheaders.h"
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
--- a/ipsservices/ipssosaoplugin/src/IpsSosAOImapPopLogic.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/ipssosaoplugin/src/IpsSosAOImapPopLogic.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -16,30 +16,7 @@
*
*/
-
-#include "emailtrace.h"
-#include <AlwaysOnlineManagerClient.h>
-#include <SendUiConsts.h>
-#include <msvids.h>
-#include <msvuids.h>
-
-
-// becuase of RD_IPS_AO_PLUGIN flag, can be removed
-// when flag is removed
-#include "ipsplgsosbaseplugin.hrh"
-
-#include "IpsSosAOImapPopLogic.h"
-#include "IpsSosAOMboxLogic.h"
-#include "IpsSosAOEMNResolver.h"
-//<QMail>
-
-#include "IpsSosAOSettingsHandler.h"
-#include "IpsSosAoExtendedSettingsManager.h"
-//</QMail>
-
-
-
-#include "ipsplgcommon.h"
+#include "ipssosaopluginheaders.h"
//const TInt KAOSmtpStartDelaySeconds = 310;
const TInt KIpsSosAOImapPopLogicDefGra = 1;
--- a/ipsservices/ipssosaoplugin/src/IpsSosAOMboxLogic.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/ipssosaoplugin/src/IpsSosAOMboxLogic.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -16,21 +16,11 @@
*
*/
-//<Qmail>
-#include <cmmanager.h>
-//</Qmail>
-
-#include "emailtrace.h"
-#include "IpsSosAOMboxLogic.h"
-//<QMail>
-#include "IpsSosAOSettingsHandler.h"
-//</QMail>
-#include "IpsSosAOSchedulerUtils.h"
-#include "IpsSosAOPlugin.hrh"
-#include "IpsSosAOImapPopLogic.h"
+#include "ipssosaopluginheaders.h"
//<QMail>
const TInt KAOSecondsInMinute = 60;
+const TInt KAODefaultInboxSyncTimeSecs = 3600;
//</QMail>
const TInt KIpsSosAOMboxLogicMinGra = 1;
@@ -775,9 +765,21 @@
CIpsSosAOSettingsHandler* settings =
CIpsSosAOSettingsHandler::NewL(iSession, iMailboxId);
CleanupStack::PushL(settings);
- TInt secs = settings->InboxRefreshTime() * KAOSecondsInMinute;
+ TInt inboxRefreshTime = settings->InboxRefreshTime();
+ TInt secs = inboxRefreshTime * KAOSecondsInMinute;
+ INFO_1("CIpsSosAOMBoxLogic: inboxRefreshTime: %d", inboxRefreshTime);
INFO_1("CIpsSosAOMBoxLogic: timer scheduled: %d", secs);
- iTimer->After(secs);
+ if (secs > 0)
+ {
+ iTimer->After(TTimeIntervalSeconds(secs));
+ }
+ else
+ {
+ // panic at this point when we get zero time from settings
+ __ASSERT_DEBUG( EFalse, User::Panic( KIpsSosAOPanicLit, KErrGeneral) );
+ iTimer->After(TTimeIntervalSeconds(KAODefaultInboxSyncTimeSecs));
+ }
+
CleanupStack::PopAndDestroy(settings);
//</QMail>
NM_COMMENT("CIpsSosAOMBoxLogic: switching state: EStateWaitSyncStart");
--- a/ipsservices/ipssosaoplugin/src/IpsSosAOPluginEComInterface.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/ipssosaoplugin/src/IpsSosAOPluginEComInterface.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -16,15 +16,7 @@
*
*/
-#include "emailtrace.h"
-#include <e32base.h>
-
-#include <AlwaysOnlineManagerCommon.h>
-#include <AlwaysOnlineManagerClient.h>
-
-#include "IpsSosAOPluginEComInterface.h"
-#include "IpsSosAOSmtpSendWatcher.h"
-#include "IpsSosAOImapPopLogic.h"
+#include "ipssosaopluginheaders.h"
const TInt KIpsSosAOPluginCommandBufferGra = 1;
--- a/ipsservices/ipssosaoplugin/src/IpsSosAOPluginTimer.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/ipssosaoplugin/src/IpsSosAOPluginTimer.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -16,10 +16,7 @@
*
*/
-
-#include "emailtrace.h"
-#include "IpsSosAOPluginTimer.h"
-
+#include "ipssosaopluginheaders.h"
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
--- a/ipsservices/ipssosaoplugin/src/IpsSosAOPopAgent.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/ipssosaoplugin/src/IpsSosAOPopAgent.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -16,18 +16,7 @@
*
*/
-
-
-#include "emailtrace.h"
-#include <cemailaccounts.h>
-#include <pop3cmds.h>
-#include <miutset.h>
-#include <popcmtm.h>
-#include <AlwaysOnlineManagerCommon.h>
-
-#include "IpsSosAOPopAgent.h"
-#include "IpsSosAOImapPopLogic.h"
-
+#include "ipssosaopluginheaders.h"
// from settings
//<QMail>
--- a/ipsservices/ipssosaoplugin/src/IpsSosAOSchedulerUtils.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/ipssosaoplugin/src/IpsSosAOSchedulerUtils.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -16,13 +16,7 @@
*
*/
-
-#include "emailtrace.h"
-#include "IpsSosAOSchedulerUtils.h"
-//<QMail>
-#include "IpsSosAOSettingsHandler.h"
-//</QMail>
-
+#include "ipssosaopluginheaders.h"
const TInt KAOSecondsIn24Hours = 86400;
//const TUint KAOEveryDayMask = 0x7f;
--- a/ipsservices/ipssosaoplugin/src/IpsSosAOSettingsHandler.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/ipssosaoplugin/src/IpsSosAOSettingsHandler.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -15,15 +15,8 @@
*
*
*/
-#include "IpsSosAOSettingsHandler.h"
-#include "IpsSosAoExtendedSettingsManager.h"
-#include "nmipssettingitems.h"
-#include "ipssettingkeys.h"
-#include <SendUiConsts.h>
-#include <msvapi.h>
-#include <cemailaccounts.h>
-#include <smtpset.h>
-#include <nmcommon.h>
+
+#include "ipssosaopluginheaders.h"
const TInt KAOMinutesInHour = 60;
--- a/ipsservices/ipssosaoplugin/src/IpsSosAOSmtpAgent.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/ipssosaoplugin/src/IpsSosAOSmtpAgent.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -16,18 +16,7 @@
*
*/
-#include "emailtrace.h"
-#include <e32base.h>
-
-//<QMail>
-#include "CFSMailCommon.h"
-//</QMail>
-#include "IpsSosAOSmtpAgent.h"
-#include "ipsplgsmtpoperation.h"
-//<QMail>
-
-//</QMail>
-
+#include "ipssosaopluginheaders.h"
#ifdef _DEBUG
_LIT( KIpsSosAOSmtpLogicPanicLit, "AOsmtp");
--- a/ipsservices/ipssosaoplugin/src/IpsSosAOSmtpSendWatcher.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/ipssosaoplugin/src/IpsSosAOSmtpSendWatcher.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -16,14 +16,7 @@
*
*/
-//#include <e32math.h>
-#include "emailtrace.h"
-#include <msvapi.h>
-
-#include "IpsSosAOSmtpSendWatcher.h"
-#include "IpsSosAOSmtpAgent.h"
-
-#include "ipsplgcommon.h"
+#include "ipssosaopluginheaders.h"
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
--- a/ipsservices/ipssosaoplugin/src/IpsSosAoExtendedSettingsManager.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/ipssosaoplugin/src/IpsSosAoExtendedSettingsManager.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -15,15 +15,7 @@
*
*/
-#include <xqsettingsmanager.h>
-#include <xqcentralrepositoryutils.h>
-#include <xqcentralrepositorysearchcriteria.h>
-#include <qlist.h>
-
-#include "IpsSosAoExtendedSettingsManager.h"
-#include "nmipssettingitems.h"
-#include "ipssettingkeys.h"
-#include "nmcommon.h"
+#include "ipssosaopluginheaders.h"
/*!
\class NmIpsSosAoExtendedSettingsManager
--- a/ipsservices/nmipssettings/inc/nmipssettingsplugin.h Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/nmipssettings/inc/nmipssettingsplugin.h Thu Aug 05 21:09:09 2010 +0300
@@ -62,7 +62,6 @@
void createUserDefinedMode();
void showMailInInboxModified(QPersistentModelIndex, QVariant value);
- void itemPress(const QModelIndex &index);
private:
--- a/ipsservices/nmipssettings/src/nmipssettingshelper.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/nmipssettings/src/nmipssettingshelper.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -635,7 +635,7 @@
progressNote.close();
HbNotificationDialog *note = new HbNotificationDialog();
- QString noteText = hbTrId("txt_mail_dpophead_1_deleted").arg(mailboxName.toString());
+ QString noteText = hbTrId("txt_mail_dialog_1_deleted").arg(mailboxName.toString());
note->setTitle(noteText);
note->setAttribute(Qt::WA_DeleteOnClose);
note->open(this, SLOT(handleMailboxDeleteUpdate(HbAction *)));
--- a/ipsservices/nmipssettings/src/nmipssettingsplugin.cpp Fri Jul 23 19:09:50 2010 +0300
+++ b/ipsservices/nmipssettings/src/nmipssettingsplugin.cpp Thu Aug 05 21:09:09 2010 +0300
@@ -135,8 +135,6 @@
connect(mSettingsHelper, SIGNAL(createUserDefinedMode()),
this, SLOT(createUserDefinedMode()));
- connect(mForm, SIGNAL(pressed(QModelIndex)),
- this, SLOT(itemPress(QModelIndex)));
// Get the value if some ui items need to be hidden.
QVariant data;
mSettingsManager->readSetting(IpsServices::UserNameHidden, data);
@@ -657,32 +655,4 @@
}
}
-/*!
- Called when item is pressed on the view.
-
- \param index Index to the pressed item.
-*/
-void NmIpsSettingsPlugin::itemPress(const QModelIndex &index)
-{
- NM_FUNCTION;
-
- int type(index.data(HbDataFormModelItem::ItemTypeRole).toInt());
-
- if (type == HbDataFormModelItem::GroupItem) {
- // Scroll the groupitem to top if needed.
- HbDataFormViewItem *item = static_cast<HbDataFormViewItem *>(mForm->itemByIndex(index));
- bool expanded = item->isExpanded();
-
- if (!expanded) {
- mForm->scrollTo(index, HbAbstractItemView::PositionAtTop);
- }
- }
-
- if (type == HbDataFormModelItem::TextItem) {
- // Turn off predictive input for line-edit.
- HbDataFormViewItem *item = static_cast<HbDataFormViewItem *>(mForm->itemByIndex(index));
- HbWidget *widget = item->dataItemContentWidget();
- widget->setInputMethodHints(Qt::ImhNoPredictiveText);
- }
-}
Q_EXPORT_PLUGIN2(nmipssettings, NmIpsSettingsPlugin);