--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingapp/msgnotifications/msgerrorwatcher/src/msgerrorwatcher.cpp Fri Sep 17 08:28:39 2010 +0300
@@ -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 <hbmessagebox.h>
+
+//USER INCLUDES
+#include "msgerrorwatcher.h"
+#include "msgerrorwatcher_p.h"
+#include <hbdevicemessagebox.h>
+#include <hbnotificationdialog.h>
+#include <HbDeviceNotificationDialog>
+#include "debugtraces.h"
+#include <HbDeviceMessageBox>
+#include <xqaiwrequest.h>
+#include <xqappmgr.h>
+#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<QVariant> 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