devicemgmtdialogsplugin/src/devicemanagementnotifierutils.cpp
author hgs
Tue, 13 Jul 2010 03:48:30 +0530
changeset 45 0f9fc722d255
child 42 aa33c2cb9a50
permissions -rw-r--r--
201021_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     1
/*
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     3
* All rights reserved.
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     8
*
0f9fc722d255 201021_01
hgs
parents:
diff changeset
     9
* Initial Contributors:
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    11
*
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    12
* Contributors:
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    13
*
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    14
* Description: 
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    15
*
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    16
*/
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    17
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    18
#include "devicemanagementnotifierutils.h"
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    19
#include <hbdocumentloader.h>
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    20
#include <hbdialog.h>
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    21
#include <hblabel.h>
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    22
#include <hbmessagebox.h>
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    23
#include <hbaction.h>
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    24
#include <e32property.h>
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    25
#include <qdebug.h>
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    26
#include "SyncMLNotifierParams.h"
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    27
#include "pnputillogger.h"
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    28
#include "omacppinquerydialog.h"
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    29
#include "devicemanagementnotifierwidget_p.h"
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    30
 enum TSyncmlHbNotifierKeys 
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    31
		{
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    32
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    33
     EHbSOSNotifierKeyStatus = 11, // status set will complete the client subscribe
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    34
     EHbSOSNotifierKeyStatusReturn = 12, // Return the content of actual status value accepted from UI
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    35
     
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    36
     EHbDMSyncNotifierKeyStatus = 13,
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    37
     EHbDMSyncNotifierKeyStatusReturn = 14
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    38
		};
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    39
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    40
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    41
devicemanagementnotifierutils::devicemanagementnotifierutils(devicemanagementnotifierwidget* ptr,
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    42
        const QVariantMap &parameters)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    43
    {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    44
	qDebug("devicemanagementnotifierutils");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    45
	LOGSTRING("devicemanagementnotifierutils");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    46
	
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    47
	QVariantMap::const_iterator i = parameters.constBegin();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    48
    int notifiertolaunch = 0;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    49
	while (i != parameters.constEnd())
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    50
        {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    51
            if (i.key().toAscii() == "syncmlfw")
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    52
                {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    53
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    54
            notifiertolaunch = i.value().toInt();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    55
               // profileidenabled = true;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    56
                }           
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    57
            ++i;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    58
            }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    59
    if(notifiertolaunch == 1000001 )// Connecting dialog
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    60
        {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    61
    connectDialog = new syncmlConnectNotifier(ptr);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    62
    	 connectDialog->launchDialog(parameters);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    63
    	 notifier = NULL;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    64
        }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    65
        
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    66
    else 
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    67
        {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    68
    notifier = new syncmlnotifier(ptr);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    69
       notifier->launchDialog(parameters);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    70
       connectDialog = NULL;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    71
        }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    72
        }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    73
devicemanagementnotifierutils::~devicemanagementnotifierutils()
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    74
    {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    75
    qDebug("devicemanagementnotifierutils::~devicemanagementnotifierutils");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    76
    if(notifier)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    77
    delete notifier;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    78
    if(connectDialog)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    79
    delete connectDialog;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    80
    }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    81
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    82
syncmlnotifier::syncmlnotifier(devicemanagementnotifierwidget* ptr)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    83
    {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    84
    iPtr = ptr;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    85
    qDebug("devicemanagementnotifierutils syncmlnotifier");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    86
    QTranslator *translator = new QTranslator();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    87
    QString lang = QLocale::system().name();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    88
    QString path = "Z:/resource/qt/translations/";
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    89
    bool fine = translator->load("deviceupdates_en.qm", path);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    90
    if (fine)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    91
        qApp->installTranslator(translator);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    92
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    93
    QTranslator *commontranslator = new QTranslator();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    94
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    95
    fine = commontranslator->load("common_" + lang, path);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    96
    if (fine)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    97
        qApp->installTranslator(commontranslator);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    98
0f9fc722d255 201021_01
hgs
parents:
diff changeset
    99
    msymnotifier = new syncmlnotifierprivate();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   100
    
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   101
    }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   102
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   103
void syncmlnotifier::launchDialog(const QVariantMap &parameters)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   104
    {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   105
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   106
    QVariantMap::const_iterator i = parameters.constBegin();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   107
    qDebug("devicemanagementnotifierutils syncmlnotifier launchDialog");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   108
    //i++;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   109
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   110
    bool profileidenabled = false;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   111
    bool uiserverinteraction = false;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   112
    bool serverpushinformativeenabled = false;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   113
    bool serverpushinteractiveenabled = false;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   114
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   115
    int profileid = 0;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   116
    int uimode = 0;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   117
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   118
    QString serverpushinformmessage;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   119
    QString serverpushconfirmmessage;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   120
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   121
    QString serverdispname;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   122
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   123
    while (i != parameters.constEnd())
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   124
        {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   125
        if (i.key().toAscii() == "profileid")
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   126
            {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   127
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   128
            profileid = i.value().toInt();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   129
            profileidenabled = true;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   130
            }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   131
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   132
        if (i.key().toAscii() == "uimode")
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   133
            {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   134
            uiserverinteraction = true;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   135
            uimode = i.value().toInt();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   136
            }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   137
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   138
        if (i.key().toAscii() == "serverpushinformative")
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   139
            {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   140
			qDebug("server push informative enabled");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   141
            serverpushinformativeenabled = true;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   142
            serverpushinformmessage = i.value().toString();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   143
            }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   144
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   145
        if (i.key().toAscii() == "serverpushconfirmative")
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   146
            {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   147
		    LOGSTRING("Server Push Confirmative");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   148
            serverpushinteractiveenabled = true;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   149
            serverpushconfirmmessage = i.value().toString();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   150
            }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   151
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   152
        if (i.key().toAscii() == "serverdisplayname")
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   153
            {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   154
            serverdispname = i.value().toString();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   155
            }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   156
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   157
        ++i;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   158
        }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   159
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   160
    if (profileidenabled && uiserverinteraction)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   161
        {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   162
        qDebug("server interaction packet 0 enabled ");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   163
        qDebug()<<EHbSOSNotifierKeyStatus;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   164
        msymnotifier->setnotifierorigin(EHbSOSNotifierKeyStatus);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   165
        createserverinitnotifier(profileid, uimode, serverdispname);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   166
        }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   167
    else if (serverpushinformativeenabled)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   168
        {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   169
        qDebug("server push informative enabled ");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   170
        qDebug()<<EHbDMSyncNotifierKeyStatus;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   171
        msymnotifier->setnotifierorigin(EHbDMSyncNotifierKeyStatus);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   172
        createserveralertinformative(serverpushinformmessage);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   173
        }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   174
    else if (serverpushinteractiveenabled)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   175
        {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   176
        qDebug("server push informative enabled ");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   177
        qDebug()<<EHbDMSyncNotifierKeyStatus;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   178
         msymnotifier->setnotifierorigin(EHbDMSyncNotifierKeyStatus);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   179
        createserveralertconfirmative(serverpushconfirmmessage);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   180
        }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   181
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   182
    }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   183
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   184
void syncmlnotifier::createserverinitnotifier(int profileid, int uimode,
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   185
        QString& servername)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   186
    {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   187
    
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   188
    int inittype = msymnotifier->serverinittype(uimode);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   189
    qDebug("Notification type");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   190
    qDebug()<<inittype;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   191
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   192
	LOGSTRING2("Init value = %d", inittype);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   193
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   194
    /*For testing purpose*/
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   195
    //inittype = ESANUserInteractive;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   196
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   197
    if (inittype == ESANUserInteractive)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   198
        {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   199
        HbDocumentLoader loader;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   200
        bool ok = false;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   201
        loader.load(":/xml/resources/dialog.docml", &ok);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   202
        if (!ok)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   203
            {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   204
            return;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   205
            }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   206
        HbDialog *dialog = qobject_cast<HbDialog *> (loader.findWidget(
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   207
                "dialog"));
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   208
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   209
        //set heading content
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   210
        HbLabel *contentheading = qobject_cast<HbLabel *> (loader.findWidget(
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   211
                "qtl_dialog_pri_heading"));
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   212
        QString heading = hbTrId("txt_device_update_title_update_available");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   213
        contentheading->setPlainText(heading);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   214
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   215
        //set body content
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   216
        HbLabel *contentbody = qobject_cast<HbLabel *> (loader.findWidget(
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   217
                "qtl_dialog_pri5"));
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   218
        QString serverinitmessage = hbTrId(
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   219
                "txt_device_update_info_recommended_update_is_avail").arg(
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   220
                servername);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   221
        contentbody->setPlainText(serverinitmessage);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   222
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   223
        //set softkeys
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   224
        HbAction *primaryAction = (HbAction *) dialog->actions().first();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   225
        QString softkeyok = hbTrId("txt_common_button_ok");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   226
        primaryAction->setText(softkeyok);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   227
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   228
        HbAction *secondaryAction = (HbAction *) dialog->actions().at(1);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   229
        QString softkeyCancel = hbTrId("txt_common_button_cancel");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   230
        secondaryAction->setText(softkeyCancel);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   231
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   232
        //set dialog properties
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   233
        dialog->setTimeout(HbPopup::NoTimeout);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   234
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   235
        //load appropriate icon from svg file
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   236
        HbLabel* label1 = qobject_cast<HbLabel*> (loader.findWidget("icon"));
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   237
        HbIcon* icon1 = new HbIcon(":/devman_icon/resources/iconnotifier.svg");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   238
        label1->setIcon(*icon1);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   239
        //label1->setMode(QIcon::Normal);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   240
        //label1->setState(QIcon::Off);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   241
        label1->setToolTip("Mode=Normal, State=Off");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   242
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   243
        QObject::connect(primaryAction, SIGNAL(triggered()), this,
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   244
                SLOT(okSelected()));
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   245
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   246
        QObject::connect(secondaryAction, SIGNAL(triggered()), this,
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   247
                SLOT(cancelSelected()));
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   248
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   249
        if (dialog)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   250
            dialog->show();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   251
        }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   252
    else if (inittype == ESANUserInformative)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   253
        {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   254
        HbDocumentLoader loader;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   255
        bool ok = false;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   256
        loader.load(":/xml/resources/dialoginformative.docml", &ok);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   257
        if (!ok)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   258
            {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   259
            return;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   260
            }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   261
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   262
        //hbTrId("qtl_dialog_pri_heading");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   263
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   264
        HbDialog *dialog = qobject_cast<HbDialog *> (loader.findWidget(
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   265
                "dialog"));
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   266
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   267
        HbLabel *content = qobject_cast<HbLabel *> (loader.findWidget(
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   268
                "qtl_dialog_pri5"));
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   269
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   270
        QString serverinitmessage = hbTrId(
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   271
                "txt_device_update_info_update_serverpush_informative").arg(
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   272
                servername);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   273
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   274
        //getserverspecifictexttodisplay(profileid, uimode, serverinitmessage);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   275
        content->setPlainText(serverinitmessage);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   276
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   277
        //get string here /*TODO*/ /*QTranslations*/
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   278
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   279
        dialog->setTimeout(3000);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   280
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   281
        //msymnotifier->setstatus(0);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   282
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   283
        if (dialog)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   284
            dialog->show();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   285
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   286
        QObject::connect(dialog, SIGNAL(aboutToClose()), this,
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   287
                SLOT(okSelected()));
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   288
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   289
        }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   290
    else if (inittype == ESANSilent)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   291
        {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   292
        msymnotifier->setstatus(0);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   293
        }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   294
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   295
    }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   296
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   297
void syncmlnotifier::createserveralertinformative(const QString &string)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   298
    {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   299
    qDebug("createserveralertinformative start");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   300
		LOGSTRING("createserveralertinformative start");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   301
    HbDocumentLoader loader;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   302
    bool ok = false;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   303
    loader.load(":/xml/resources/dialoginformative.docml", &ok);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   304
    if (!ok)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   305
        {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   306
        return;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   307
        }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   308
    HbDialog *dialog = qobject_cast<HbDialog *> (loader.findWidget("dialog"));
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   309
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   310
    HbLabel *content = qobject_cast<HbLabel *> (loader.findWidget(
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   311
            "qtl_dialog_pri5"));
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   312
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   313
    // No translations required
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   314
    content->setPlainText(string);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   315
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   316
    dialog->setTimeout(3000);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   317
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   318
    if (dialog)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   319
        dialog->show();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   320
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   321
    QObject::connect(dialog, SIGNAL(aboutToClose()), this, SLOT(infoNoteOkSelected()));
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   322
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   323
	qDebug("createserveralertinformative end");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   324
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   325
    }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   326
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   327
void syncmlnotifier::createserveralertconfirmative(const QString &string)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   328
    {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   329
    HbDocumentLoader loader;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   330
    bool ok = false;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   331
    loader.load(":/xml/resources/dialogserverpushconfirm.docml", &ok);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   332
    if (!ok)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   333
        {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   334
        return;
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   335
        }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   336
    HbDialog *dialog = qobject_cast<HbDialog *> (loader.findWidget("dialog"));
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   337
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   338
    //set heading content
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   339
    HbLabel *contentheading = qobject_cast<HbLabel *> (loader.findWidget(
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   340
            "qtl_dialog_pri_heading"));
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   341
    QString heading = hbTrId("txt_device_update_title_server_message");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   342
    contentheading->setPlainText(heading);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   343
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   344
    //set body content
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   345
    HbLabel *contentbody = qobject_cast<HbLabel *> (loader.findWidget(
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   346
            "qtl_dialog_pri5"));
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   347
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   348
    contentbody->setPlainText(string);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   349
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   350
    //set softkeys
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   351
    HbAction *primaryAction = (HbAction *) dialog->actions().first();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   352
    QString softkeyok = hbTrId("txt_common_button_yes");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   353
    primaryAction->setText(softkeyok);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   354
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   355
    HbAction *secondaryAction = (HbAction *) dialog->actions().at(1);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   356
    QString softkeyCancel = hbTrId("txt_common_button_no");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   357
    secondaryAction->setText(softkeyCancel);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   358
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   359
    dialog->setTimeout(HbPopup::NoTimeout);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   360
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   361
    QObject::connect(primaryAction, SIGNAL(triggered()), this,
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   362
            SLOT(conirmNoteOkSelected()));
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   363
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   364
    QObject::connect(secondaryAction, SIGNAL(triggered()), this,
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   365
            SLOT(conirmNoteCancelSelected()));
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   366
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   367
    if (dialog)
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   368
        dialog->show();
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   369
    }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   370
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   371
void syncmlnotifier::okSelected()
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   372
    {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   373
    qDebug("ok selected");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   374
    //msymnotifier->setstatus(0);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   375
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   376
iPtr->dmDevdialogDismissed(devicemanagementnotifierwidget::EServerAlertNote,0);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   377
    }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   378
void syncmlnotifier::infoNoteOkSelected()
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   379
    {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   380
    iPtr->dmDevdialogDismissed(devicemanagementnotifierwidget::EInformativeNote,0);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   381
    }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   382
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   383
void syncmlnotifier::conirmNoteOkSelected()
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   384
    {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   385
    iPtr->dmDevdialogDismissed(devicemanagementnotifierwidget::EConfirmativeNote,0);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   386
    }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   387
void syncmlnotifier::conirmNoteCancelSelected()
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   388
    {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   389
    iPtr->dmDevdialogDismissed(devicemanagementnotifierwidget::EConfirmativeNote,-3);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   390
    }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   391
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   392
void syncmlnotifier::cancelSelected()
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   393
    {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   394
    qDebug("cancel selected");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   395
    //msymnotifier->setstatus(-3);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   396
    iPtr->dmDevdialogDismissed(devicemanagementnotifierwidget::EServerAlertNote,-3);
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   397
    
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   398
    }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   399
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   400
syncmlnotifier::~syncmlnotifier()
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   401
    {
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   402
    qDebug("syncmlnotifier::~syncmlnotifier");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   403
        qDebug("syncmlnotifier::~syncmlnotifier end");
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   404
    }
0f9fc722d255 201021_01
hgs
parents:
diff changeset
   405