diff -r 5b3b2fa8c3ec -r f42d9a78f435 messagingapp/msgnotifications/msgerrorwatcher/src/msgerrorwatcher.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingapp/msgnotifications/msgerrorwatcher/src/msgerrorwatcher.cpp Tue Aug 31 18:53:38 2010 +0530 @@ -0,0 +1,132 @@ +/* + * 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: + * MsgErrorWatcher implementation file + * + */ + +// SYSTEM INCLUDES +#include + +//USER INCLUDES +#include "msgerrorwatcher.h" +#include "msgerrorwatcher_p.h" +#include +#include +#include +#include "debugtraces.h" +#include +#include +#include +#include "msgsettingsview.h" +// LOCAL CONSTANTS AND MACROS +#define LOC_MSG_ERRH_DISK_LOW_1 hbTrId("MMS message isn't fetched because disk space is low. Free some memory first.") +#define LOC_MSG_ERRH_MEMORY_LOW hbTrId("MMS message is not been fetched because device memory is low. Try to close other applications.") +#define LOC_MMS_OFF hbTrId("The MMS message reception is now off. You should change the reception to Always enabled in order to receive MMS messages while roaming.") +#define LOC_MSG_ERRH_ACCESS_POINTS_INV hbTrId("MMS Access Points are not valid. Please check the access point data.") +#define LOC_OK hbTrId("Ok") +#define LOC_CANCEL hbTrId("Cancel") +// ---------------------------------------------------------------------------- +// MsgErrorWatcher::MsgErrorWatcher +// @see MsgErrorWatcher.h +// ---------------------------------------------------------------------------- +MsgErrorWatcher::MsgErrorWatcher(QObject* parent) : + QObject(parent) +{ + QDEBUG_WRITE("MsgErrorWatcher::MsgErrorWatcher : Enter") + + d_ptr = new CMsgErrorWatcherPrivate(this); + // load the messaging ts file. + + QDEBUG_WRITE("MsgErrorWatcher::MsgErrorWatcher : Exit") +} + +// ---------------------------------------------------------------------------- +// MsgErrorWatcher::~MsgErrorWatcher +// @see MsgErrorWatcher.h +// ---------------------------------------------------------------------------- +MsgErrorWatcher::~MsgErrorWatcher() +{ + QDEBUG_WRITE("MsgErrorWatcher::~MsgErrorWatcher : Enter") + + delete d_ptr; + + QDEBUG_WRITE("MsgErrorWatcher::~MsgErrorWatcher : Exit") +} + +// ---------------------------------------------------------------------------- +// MsgErrorWatcher::~MsgErrorWatcher +// @see MsgErrorWatcher.h +// ---------------------------------------------------------------------------- +void MsgErrorWatcher::ShowNote(TMsgErrorNoteIds errornoteid) +{ + QDEBUG_WRITE("MsgErrorWatcher::ShowNote : Enter") + QDEBUG_WRITE_FORMAT("errornoteid : ", errornoteid) + HbDeviceMessageBox messageBox(HbMessageBox::MessageTypeWarning); + QAction* actionView = NULL; + QAction* actionQuit = NULL; + const QAction* result = NULL; + //create dialog parameters + QString text(""); + switch (errornoteid) { + case EDiskLowNote1: + text = LOC_MSG_ERRH_DISK_LOW_1; + break; + case EMemoryLowNote: + text = LOC_MSG_ERRH_MEMORY_LOW; + break; + case ERoamingNote: + text = LOC_MMS_OFF; + break; + case EInvalidAccessPointNote: + text = LOC_MSG_ERRH_ACCESS_POINTS_INV; + messageBox.setTimeout(HbPopup::NoTimeout); + messageBox.setText(text); + actionView = new QAction(LOC_OK, this); + messageBox.setAction(actionView, HbDeviceMessageBox::AcceptButtonRole); + + actionQuit = new QAction(LOC_CANCEL, this); + messageBox.setAction(actionQuit, HbDeviceMessageBox::RejectButtonRole); + + messageBox.setDismissPolicy(HbPopup::NoDismiss); + // launch Messagebox + result = messageBox.exec(); + + // if accepted launch view else quit + if (messageBox.isAcceptAction(result)) { + QList args; + QString serviceName("messagesettings"); + QString operation("launchSettings(int)"); + XQAiwRequest* request; + XQApplicationManager appManager; + request = appManager.create(serviceName, "com.nokia.symbian.IMessageSettings", + operation, false); // non embedded + if (request == NULL) { + return; + } + args << QVariant(MsgSettingsView::MMSView); + request->setArguments(args); + request->send(); + delete request; + } + return; + default: + break; + } + HbDeviceNotificationDialog::notification("", text); + QDEBUG_WRITE("MsgErrorWatcher::ShowNote : Exit") + +} + +//EOF