ipsservices/nmipssettings/src/nmipssettingsplugin.cpp
author hgs
Thu, 30 Sep 2010 11:43:07 +0300
changeset 74 6c59112cfd31
parent 68 83cc6bae1de8
child 76 38bf5461e270
permissions -rw-r--r--
201039
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description:
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
#include <QCoreApplication>
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
#include <QTranslator>
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
#include <QScopedPointer>
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
#include <QLocale>
43
hgs
parents: 23
diff changeset
    22
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
    23
#include <HbStringUtil>
43
hgs
parents: 23
diff changeset
    24
#include <HbDataForm>
hgs
parents: 23
diff changeset
    25
#include <HbDataFormModel>
hgs
parents: 23
diff changeset
    26
#include <HbDataFormModelItem>
hgs
parents: 23
diff changeset
    27
#include <HbLineEdit>
62
hgs
parents: 57
diff changeset
    28
#include <HbAction>
43
hgs
parents: 23
diff changeset
    29
hgs
parents: 23
diff changeset
    30
#include <cpsettingformitemdata.h>
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
#include "nmipssettingsplugin.h"
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
#include "nmipssettingshelper.h"
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
#include "nmipssettingsmanagerbase.h"
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
#include "nmipssettingsmanagerfactory.h"
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
#include "nmipssettingitems.h"
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
#include "nmcommon.h"
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
    38
#include "ipssettingkeys.h"
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
#include "nmipssettingscustomitem.h"
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
#include "nmipssettingslabeledcombobox.h"
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
68
hgs
parents: 62
diff changeset
    43
static const QString NmIpsSettingsComboItems("comboItems");
hgs
parents: 62
diff changeset
    44
static const QString NmIpsSettingsLabelTexts("labelTexts");
hgs
parents: 62
diff changeset
    45
static const QString NmIpsSettingsItems("items");
74
hgs
parents: 68
diff changeset
    46
static const QString NmIpsSettingsCurrentIndex("currentIndex");
68
hgs
parents: 62
diff changeset
    47
static const int NmIpsSettingsReceptionUserDefinedProfileEnabled(1);
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
    48
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
/*!
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
    \class NmIpsSettingsPlugin
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
    \brief The class implements NmSettingsPluginInterface which is an interface
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
           for NMail settings plug-ins.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    53
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    54
*/
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
// ======== MEMBER FUNCTIONS ========
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
/*!
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
    Constructor of NmIpsSettingsPlugin.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
*/
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
NmIpsSettingsPlugin::NmIpsSettingsPlugin()
68
hgs
parents: 62
diff changeset
    62
: mSettingsHelper(NULL),
hgs
parents: 62
diff changeset
    63
  mSettingsManager(NULL),
74
hgs
parents: 68
diff changeset
    64
  mHiddenItem(false)
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    65
{
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
    QString lang = QLocale::system().name();
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    67
    QString path = "Z:/resource/qt/translations/";
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
    68
    QString appName = "mailips_";
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
    69
    QString commonName = "common_";
68
hgs
parents: 62
diff changeset
    70
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
    71
    // Load common strings
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
    72
	QScopedPointer<QTranslator> commonTranslator(new QTranslator(this));
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
    73
    commonTranslator->load(commonName + lang, path);
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
    74
    QCoreApplication::installTranslator(commonTranslator.data());
68
hgs
parents: 62
diff changeset
    75
    (void)commonTranslator.take();
hgs
parents: 62
diff changeset
    76
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
    77
    // Load IPS settings specific strings
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
    78
	QScopedPointer<QTranslator> translator(new QTranslator(this));
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
    translator->load(appName + lang, path);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
    QCoreApplication::installTranslator(translator.data());
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
    81
    (void)translator.take();
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    82
}
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    83
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    84
/*!
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
    Destructor of NmIpsSettingsPlugin.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
*/
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    87
NmIpsSettingsPlugin::~NmIpsSettingsPlugin()
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
{
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89
    delete mSettingsManager;
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
    delete mSettingsHelper;
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    91
}
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    92
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    93
/*!
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    94
    Populates the form items into model.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    95
    \param model Reference to the model.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    96
    \param form Reference to the form.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    97
    \param mailboxId Id of the mailbox.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    98
    \return <code>true</code> if plug-in contains certain mailbox otherwise <code>false</code>
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    99
*/
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   100
bool NmIpsSettingsPlugin::populateModel(HbDataFormModel &model,
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   101
    HbDataForm &form, const NmId &mailboxId)
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   102
{
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   103
    // populateModel is called each time when a new settings view is created and this
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
    // plugin is destructed only after the mail settings is exited, so
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
    // SettingsManager and SettingsHelper needs to be deleted.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
    delete mSettingsManager;
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
    delete mSettingsHelper;
68
hgs
parents: 62
diff changeset
   108
    mSettingsHelper = NULL;
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
    mSettingsManager = NmIpsSettingsManagerFactory::createSettingManager(mailboxId);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   110
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   111
    bool result(false);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   113
    // This plugin is only used when the mailbox is a IMAP or POP3 account.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   114
    // Settings manager object is valid if the mailboxId is IMAP or POP3 account.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   115
    if (mSettingsManager) {
47
hgs
parents: 44
diff changeset
   116
        // Turns AlwaysOnline OFF
hgs
parents: 44
diff changeset
   117
        setAlwaysOnlineState(EServerAPIEmailTurnOff, mailboxId);
68
hgs
parents: 62
diff changeset
   118
47
hgs
parents: 44
diff changeset
   119
        // Store model and form pointers.
hgs
parents: 44
diff changeset
   120
        mModel = &model;
hgs
parents: 44
diff changeset
   121
        mForm = &form;
68
hgs
parents: 62
diff changeset
   122
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   123
        // Create settings helper.
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   124
        mSettingsHelper = new NmIpsSettingsHelper(*mSettingsManager, form, model);
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   125
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   126
        connect(mSettingsHelper,
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   127
                SIGNAL(mailboxListChanged(const NmId &, NmSettings::MailboxEventType)),
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   128
                this, SIGNAL(mailboxListChanged(const NmId &, NmSettings::MailboxEventType)));
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   129
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
        connect(mSettingsHelper, SIGNAL(mailboxPropertyChanged(const NmId &, QVariant, QVariant)),
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   131
                this, SIGNAL(mailboxPropertyChanged(const NmId &, QVariant, QVariant)));
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   132
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   133
        connect(mSettingsHelper, SIGNAL(goOffline(const NmId &)),
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   134
                this, SIGNAL(goOffline(const NmId &)));
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   135
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   136
        connect(mSettingsHelper, SIGNAL(createUserDefinedMode()),
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   137
                this, SLOT(createUserDefinedMode()));
68
hgs
parents: 62
diff changeset
   138
44
hgs
parents: 43
diff changeset
   139
        // Get the value if some ui items need to be hidden.
hgs
parents: 43
diff changeset
   140
        QVariant data;
hgs
parents: 43
diff changeset
   141
        mSettingsManager->readSetting(IpsServices::UserNameHidden, data);
hgs
parents: 43
diff changeset
   142
        mHiddenItem = data.toBool();
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   143
        // Add items to the model.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   144
        initGroupItems();
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   145
        result = true;
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   146
    }
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
    return result;
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   148
}
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   150
/*!
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   151
    This slot can be used in cases when plugin needs to handle stuff before settingsview is closed.
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   152
*/
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   153
void NmIpsSettingsPlugin::aboutToClose()
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   154
{
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   155
    QVariant profileIndex;
43
hgs
parents: 23
diff changeset
   156
    const NmId mailboxId = mSettingsManager->mailboxId();
68
hgs
parents: 62
diff changeset
   157
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   158
	mSettingsManager->readSetting(IpsServices::ReceptionActiveProfile, profileIndex);
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   159
	if ((mSettingsHelper->isOffline()) && (profileIndex.toInt() != IpsServices::EmailSyncProfileManualFetch)) {
43
hgs
parents: 23
diff changeset
   160
		emit goOnline(mailboxId);
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   161
	}
68
hgs
parents: 62
diff changeset
   162
43
hgs
parents: 23
diff changeset
   163
	// Turns AlwaysOnline ON
hgs
parents: 23
diff changeset
   164
	setAlwaysOnlineState(EServerAPIEmailTurnOn, mailboxId);
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
}
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
/*!
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   168
    Appends the group items to the model.
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
*/
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
void NmIpsSettingsPlugin::initGroupItems()
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
{
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
    HbDataFormModelItem *rootItem = mModel->invisibleRootItem();
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
    HbDataFormModelItem *preferencesItem =
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
        mModel->appendDataFormItem(HbDataFormModelItem::GroupItem,
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
                                   hbTrId("txt_mailips_subhead_preferences"),
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
                                   rootItem);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
    initPreferenceItems(*preferencesItem);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
    HbDataFormModelItem *receivingScheduleItem =
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
        mModel->appendDataFormItem(HbDataFormModelItem::GroupItem,
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
                                   hbTrId("txt_mailips_subhead_receiving_schedule"),
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   183
                                   rootItem);
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   184
    mSettingsHelper->setReceivingScheduleGroupItem(receivingScheduleItem);
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
    initReceivingScheduleItems(*receivingScheduleItem);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
    HbDataFormModelItem *userInfoItem =
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
        mModel->appendDataFormItem(HbDataFormModelItem::GroupItem,
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   189
                                   hbTrId("txt_mailips_subhead_user_info"),
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
                                   rootItem);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
    initUserInfoItems(*userInfoItem);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   192
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   193
    HbDataFormModelItem *serverInfoItem =
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
        mModel->appendDataFormItem(HbDataFormModelItem::GroupItem,
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
                                   hbTrId("txt_mailips_subhead_server_info"),
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
                                   rootItem);
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   197
    mSettingsHelper->setServerInfoGroupItem(serverInfoItem);
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
    initServerInfoItems(*serverInfoItem);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
    // Create the delete mailbox button.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
    HbDataFormModelItem::DataItemType buttonItem =
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
        static_cast<HbDataFormModelItem::DataItemType>(
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
            HbDataFormModelItem::CustomItemBase + 2);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   204
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
    HbDataFormModelItem *deleteMailboxButtonItem =
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
        mModel->appendDataFormItem(buttonItem, QString(), rootItem);
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   207
    deleteMailboxButtonItem->setContentWidgetData(QString("text"),
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   208
                                                  hbTrId("txt_mailips_button_delete_mailbox"));
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
    mForm->addConnection(deleteMailboxButtonItem, SIGNAL(clicked()),
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
                         mSettingsHelper, SLOT(deleteButtonPress()));
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
}
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
/*!
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
    Appends the preferences items to the group item.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
    \param item Reference to the parent group item.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
*/
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   219
void NmIpsSettingsPlugin::initPreferenceItems(HbDataFormModelItem &item) const
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
{
43
hgs
parents: 23
diff changeset
   221
    // 1. Connection
hgs
parents: 23
diff changeset
   222
    QVariant destId;
hgs
parents: 23
diff changeset
   223
    mSettingsManager->readSetting(IpsServices::Connection, destId);
hgs
parents: 23
diff changeset
   224
    QString destName(mSettingsHelper->destinationNameFromIdentifier(destId.toUInt()));
hgs
parents: 23
diff changeset
   225
    HbDataFormModelItem::DataItemType buttonItem =
hgs
parents: 23
diff changeset
   226
        static_cast<HbDataFormModelItem::DataItemType>(
hgs
parents: 23
diff changeset
   227
            HbDataFormModelItem::CustomItemBase + 2);
hgs
parents: 23
diff changeset
   228
    CpSettingFormItemData *connectionButtonItem = new CpSettingFormItemData(buttonItem,
hgs
parents: 23
diff changeset
   229
        hbTrId("txt_mailips_setlabel_connection"));
hgs
parents: 23
diff changeset
   230
    connectionButtonItem->setContentWidgetData(QString("text"), destName);
hgs
parents: 23
diff changeset
   231
    mSettingsHelper->insertContentItem(IpsServices::Connection, connectionButtonItem);
hgs
parents: 23
diff changeset
   232
    mForm->addConnection(connectionButtonItem, SIGNAL(clicked()),
hgs
parents: 23
diff changeset
   233
                         mSettingsHelper, SLOT(connectionButtonPress()));
hgs
parents: 23
diff changeset
   234
    item.appendChild(connectionButtonItem);
hgs
parents: 23
diff changeset
   235
hgs
parents: 23
diff changeset
   236
    // 2. My Name
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   237
    QVariant myName;
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   238
    mSettingsManager->readSetting(IpsServices::EmailAlias, myName);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   239
    CpSettingFormItemData *myNameItem = new CpSettingFormItemData(
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
        HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_my_name"));
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
    mSettingsHelper->insertContentItem(IpsServices::EmailAlias, myNameItem);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   242
    myNameItem->setContentWidgetData(QString("text"), myName);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   243
    mForm->addConnection(myNameItem, SIGNAL(editingFinished()),
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   244
                         mSettingsHelper, SLOT(saveMyName()));
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   245
    mForm->addConnection(myNameItem, SIGNAL(textChanged(QString)),
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   246
                         mSettingsHelper, SLOT(myNameTextChange(QString)));
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   247
    item.appendChild(myNameItem);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   248
43
hgs
parents: 23
diff changeset
   249
    // 3. Mailbox Name
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   250
    QVariant mailboxName;
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   251
    mSettingsManager->readSetting(IpsServices::MailboxName, mailboxName);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   252
    CpSettingFormItemData *mailboxNameItem = new CpSettingFormItemData(
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   253
        HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_mailbox_name"));
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   254
    mSettingsHelper->insertContentItem(IpsServices::MailboxName, mailboxNameItem);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   255
    mailboxNameItem->setContentWidgetData(QString("text"), mailboxName);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   256
    mForm->addConnection(mailboxNameItem, SIGNAL(editingFinished()),
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   257
                         mSettingsHelper, SLOT(saveMailboxName()));
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   258
    mForm->addConnection(mailboxNameItem, SIGNAL(textChanged(QString)),
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   259
                         mSettingsHelper, SLOT(mailboxNameTextChange(QString)));
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   260
    item.appendChild(mailboxNameItem);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   261
}
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   262
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   263
/*!
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   264
    Appends the receiving schedule items to the group item.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   265
    \param item Reference to the parent group item.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   266
*/
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   267
void NmIpsSettingsPlugin::initReceivingScheduleItems(HbDataFormModelItem &item)
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
{
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   269
    // Active sync profile
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   270
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   271
    // Append custom item to the prototype list.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   272
    NmIpsSettingsCustomItem *prototype = new NmIpsSettingsCustomItem();
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   273
    QList<HbAbstractViewItem *> protoTypeList = mForm->itemPrototypes();
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   274
    protoTypeList.append(prototype);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   275
    mForm->setItemPrototypes(protoTypeList);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   276
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   277
    // 1. Active sync profile
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   278
    HbDataFormModelItem *infoItem = new HbDataFormModelItem(
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   279
        static_cast<HbDataFormModelItem::DataItemType>(NmIpsSettingsCustomItem::LabeledComboBox),
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   280
        hbTrId("txt_mailips_setlabel_selected_mode"));
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   281
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   282
    mSettingsHelper->insertContentItem(IpsServices::ReceptionActiveProfile, infoItem);
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   283
    item.appendChild(infoItem);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   284
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   285
    QStringList modeList;
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   286
    modeList << hbTrId("txt_mailips_setlabel_selected_mode_val_keep_upto")          // 0
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   287
             << hbTrId("txt_mailips_setlabel_selected_mode_val_save_energy")        // 1
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   288
             << hbTrId("txt_mailips_setlabel_selected_mode_val_fetch_manua");       // 2
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   289
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   290
    QVariant userDefineMode;
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   291
    mSettingsManager->readSetting(IpsServices::ReceptionUserDefinedProfile, userDefineMode);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   292
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   293
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   294
    // If 'user defined' mode is defined then add it to combo items.
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   295
    if (userDefineMode.toInt()) {
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   296
        modeList << hbTrId("txt_mailips_setlabel_selected_mode_val_user_define");   // 3
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   297
    }
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   298
    infoItem->setContentWidgetData(NmIpsSettingsComboItems, modeList);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   299
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   300
    QStringList infoList;
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   301
    infoList << hbTrId("txt_mailips_list_the_mailbox_is_uptodate_during")           // 0
68
hgs
parents: 62
diff changeset
   302
             << hbTrId("txt_mailips_list_the_mailbox_is_refreshed_every_hour")      // 1
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   303
             << hbTrId("txt_mailips_list_the_mailbox_is_refreshed_only_by");        // 2
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   304
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   305
    // If 'user defined' mode is defined then add 'user defined' explanation to label list.
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   306
    if (userDefineMode.toInt()) {
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   307
        infoList << hbTrId("txt_mailips_list_the_mailbox_is_refreshed_as_defin");   // 3
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   308
    }
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   309
    infoItem->setContentWidgetData(NmIpsSettingsLabelTexts, infoList);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   310
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   311
    QVariant profileIndex;
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   312
    mSettingsManager->readSetting(IpsServices::ReceptionActiveProfile, profileIndex);
74
hgs
parents: 68
diff changeset
   313
    infoItem->setContentWidgetData(NmIpsSettingsCurrentIndex, profileIndex);
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   314
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   315
    // 2. Show mail in inbox
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   316
    CpSettingFormItemData *showMailInInboxItem =
74
hgs
parents: 68
diff changeset
   317
        new CpSettingFormItemData(HbDataFormModelItem::ComboBoxItem, hbTrId(
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   318
            "txt_mailips_setlabel_show_mail_in_inbox"));
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   319
    mSettingsHelper->insertContentItem(IpsServices::ReceptionInboxSyncWindow, showMailInInboxItem);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   320
43
hgs
parents: 23
diff changeset
   321
    // If changes are made to showMailItems, conversion table in
hgs
parents: 23
diff changeset
   322
    // showMailInInboxModified method needs to be updated also.
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   323
    QStringList showMailItems;
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   324
    showMailItems << HbStringUtil::convertDigits("50")
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   325
                  << HbStringUtil::convertDigits("100")
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   326
                  << HbStringUtil::convertDigits("500")
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   327
                  << hbTrId("txt_mailips_setlabel_val_all");
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   328
    showMailInInboxItem->setContentWidgetData(NmIpsSettingsItems, showMailItems);
74
hgs
parents: 68
diff changeset
   329
    
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   330
    showMailInInboxItem->setEnabled(true);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   331
    item.appendChild(showMailInInboxItem);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   332
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   333
    // Active sync profile connection
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   334
    mForm->addConnection(infoItem, SIGNAL(currentIndexChanged(int)),
68
hgs
parents: 62
diff changeset
   335
						 mSettingsHelper, SLOT(receivingScheduleChange(int)));
74
hgs
parents: 68
diff changeset
   336
    mForm->addConnection(showMailInInboxItem, SIGNAL(currentIndexChanged(int)),
hgs
parents: 68
diff changeset
   337
						 this, SLOT(showMailInInboxModified(int)));
68
hgs
parents: 62
diff changeset
   338
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   339
    // Must be called manually here, because the signal->slot connection set above using
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   340
    // HbDataForm::addConnection() is actually established AFTER the properties have first been
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   341
    // set to the widget, causing the first currentIndexChanged signal not to reach
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   342
    // NmIpsSettingsHelper::receivingScheduleChange().
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   343
    mSettingsHelper->receivingScheduleChange(profileIndex.toInt());
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   344
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   345
}
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   346
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   347
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   348
/*!
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   349
    Appends the user info items to the group item.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   350
    \param item Reference to the parent group item.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   351
*/
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   352
void NmIpsSettingsPlugin::initUserInfoItems(HbDataFormModelItem &item) const
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   353
{
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   354
    // 1. Mail address
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   355
    QVariant mailAddress;
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   356
    mSettingsManager->readSetting(IpsServices::EmailAddress, mailAddress);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   357
    CpSettingFormItemData *mailAddressItem = new CpSettingFormItemData(
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   358
        HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_mail_address"));
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   359
    mSettingsHelper->insertContentItem(IpsServices::EmailAddress, mailAddressItem);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   360
    mailAddressItem->setContentWidgetData(QString("text"), mailAddress);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   361
    mForm->addConnection(mailAddressItem, SIGNAL(editingFinished()),
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   362
                         mSettingsHelper, SLOT(saveMailAddress()));
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   363
    mForm->addConnection(mailAddressItem, SIGNAL(textChanged(QString)),
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   364
                         mSettingsHelper, SLOT(mailAddressTextChange(QString)));
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   365
    item.appendChild(mailAddressItem);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   366
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   367
    // 2. Username
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   368
    QVariant username;
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   369
    mSettingsManager->readSetting(IpsServices::IncomingLoginName, username);
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   370
    CpSettingFormItemData *usernameItem = new CpSettingFormItemData(
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   371
        HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_username"));
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   372
    mSettingsHelper->insertContentItem(IpsServices::IncomingLoginName, usernameItem);
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   373
    usernameItem->setContentWidgetData(QString("text"), username);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   374
    mForm->addConnection(usernameItem, SIGNAL(editingFinished()),
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   375
                         mSettingsHelper, SLOT(saveIncomingUserName()));
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   376
    mForm->addConnection(usernameItem, SIGNAL(textChanged(QString)),
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   377
                         mSettingsHelper, SLOT(incomingUserNameTextChange(QString)));
44
hgs
parents: 43
diff changeset
   378
    if (mHiddenItem) { // Starred and dimmed.
hgs
parents: 43
diff changeset
   379
        usernameItem->setContentWidgetData(QString("echoMode"), HbLineEdit::Password);
hgs
parents: 43
diff changeset
   380
        usernameItem->setEnabled(false);
hgs
parents: 43
diff changeset
   381
    }
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   382
    item.appendChild(usernameItem);
68
hgs
parents: 62
diff changeset
   383
hgs
parents: 62
diff changeset
   384
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   385
    // 3. Password
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   386
    QVariant password;
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   387
    mSettingsManager->readSetting(IpsServices::IncomingPassword, password);
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   388
    CpSettingFormItemData *passwordItem = new CpSettingFormItemData(
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   389
        HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_password"));
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   390
    mSettingsHelper->insertContentItem(IpsServices::IncomingPassword, passwordItem);
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   391
    passwordItem->setContentWidgetData(QString("text"), password);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   392
    passwordItem->setContentWidgetData(QString("echoMode"), HbLineEdit::PasswordEchoOnEdit);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   393
    mForm->addConnection(passwordItem, SIGNAL(editingFinished()),
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   394
                         mSettingsHelper, SLOT(saveIncomingPassword()));
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   395
    item.appendChild(passwordItem);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   396
44
hgs
parents: 43
diff changeset
   397
    // 4. Reply to address
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   398
    QVariant replyToAddress;
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   399
    mSettingsManager->readSetting(IpsServices::ReplyAddress, replyToAddress);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   400
    CpSettingFormItemData *replyToItem = new CpSettingFormItemData(
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   401
       HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_reply_to_address"));
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   402
    mSettingsHelper->insertContentItem(IpsServices::ReplyAddress, replyToItem);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   403
    replyToItem->setContentWidgetData(QString("text"), replyToAddress);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   404
    mForm->addConnection(replyToItem, SIGNAL(editingFinished()),
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
                         mSettingsHelper, SLOT(saveReplyTo()));
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   406
    mForm->addConnection(replyToItem, SIGNAL(textChanged(QString)),
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   407
                         mSettingsHelper, SLOT(replyToTextChange(QString)));
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   408
    item.appendChild(replyToItem);
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   409
}
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   410
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   411
/*!
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   412
    Appends the server info items to the group item.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   413
    \param item Reference to the parent group item.
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   414
*/
68
hgs
parents: 62
diff changeset
   415
void NmIpsSettingsPlugin::initServerInfoItems(HbDataFormModelItem &item)
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   416
{
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   417
    // 1. Incoming mail server address
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   418
    QVariant incomingMailServer;
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   419
    mSettingsManager->readSetting(IpsServices::IncomingMailServer, incomingMailServer);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   420
    CpSettingFormItemData *incomingMailServerItem = new CpSettingFormItemData(
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   421
        HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_incoming_mail_server"));
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   422
    mSettingsHelper->insertContentItem(IpsServices::IncomingMailServer, incomingMailServerItem);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   423
    incomingMailServerItem->setContentWidgetData(QString("text"), incomingMailServer);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   424
    mForm->addConnection(incomingMailServerItem, SIGNAL(editingFinished()),
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   425
                         mSettingsHelper, SLOT(saveIncomingMailServer()));
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   426
    mForm->addConnection(incomingMailServerItem, SIGNAL(textChanged(QString)),
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   427
                         mSettingsHelper, SLOT(incomingMailServerTextChange(QString)));
44
hgs
parents: 43
diff changeset
   428
    if (mHiddenItem) { // Starred and dimmed.
hgs
parents: 43
diff changeset
   429
        incomingMailServerItem->setContentWidgetData(QString("echoMode"), HbLineEdit::Password);
hgs
parents: 43
diff changeset
   430
        incomingMailServerItem->setEnabled(false);
hgs
parents: 43
diff changeset
   431
    }
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   432
    item.appendChild(incomingMailServerItem);
68
hgs
parents: 62
diff changeset
   433
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   434
    // 2. Incoming Secure connection
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   435
    CpSettingFormItemData *incomingSecureConnectionItem =
74
hgs
parents: 68
diff changeset
   436
        new CpSettingFormItemData(HbDataFormModelItem::ComboBoxItem, hbTrId(
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   437
            "txt_mailips_setlabel_incoming_security"));
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   438
    mSettingsHelper->insertContentItem(IpsServices::IncomingSecureSockets, incomingSecureConnectionItem);
68
hgs
parents: 62
diff changeset
   439
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   440
    QStringList showSCItems;
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   441
    showSCItems << hbTrId("txt_mailips_setlabel_security_val_on_starttls")
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   442
                << hbTrId("txt_mailips_setlabel_security_val_on_ssltls")
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   443
                << hbTrId("txt_mailips_setlabel_security_val_off");
74
hgs
parents: 68
diff changeset
   444
    incomingSecureConnectionItem->setContentWidgetData(NmIpsSettingsItems, showSCItems);
68
hgs
parents: 62
diff changeset
   445
hgs
parents: 62
diff changeset
   446
    int incomingSecureConnectionItemIndex =
74
hgs
parents: 68
diff changeset
   447
        mSettingsHelper->getCorrectIncomingSecureComboBoxIndex();
hgs
parents: 68
diff changeset
   448
    incomingSecureConnectionItem->setContentWidgetData(NmIpsSettingsCurrentIndex,
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   449
                                                       incomingSecureConnectionItemIndex);
68
hgs
parents: 62
diff changeset
   450
74
hgs
parents: 68
diff changeset
   451
    mForm->addConnection(incomingSecureConnectionItem, SIGNAL(currentIndexChanged(int)),
hgs
parents: 68
diff changeset
   452
						 mSettingsHelper, SLOT(incomingSecureConnectionItemChange(int)));
68
hgs
parents: 62
diff changeset
   453
44
hgs
parents: 43
diff changeset
   454
    if (mHiddenItem) {
hgs
parents: 43
diff changeset
   455
        incomingSecureConnectionItem->setEnabled(false);
hgs
parents: 43
diff changeset
   456
    }
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   457
    item.appendChild(incomingSecureConnectionItem);
68
hgs
parents: 62
diff changeset
   458
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   459
    // 3. Incoming mail server port
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   460
    CpSettingFormItemData *incomingPortItem =
74
hgs
parents: 68
diff changeset
   461
        new CpSettingFormItemData(HbDataFormModelItem::ComboBoxItem, hbTrId(
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   462
            "txt_mailips_setlabel_incoming_port"));
44
hgs
parents: 43
diff changeset
   463
    mSettingsHelper->insertContentItem(IpsServices::IncomingPort, incomingPortItem);
74
hgs
parents: 68
diff changeset
   464
    
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   465
    QStringList incomingPortItems;
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   466
    incomingPortItems << hbTrId("txt_mailips_setlabel_incoming_port_default")
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   467
                      << hbTrId("txt_mailips_setlabel_incoming_port_user_defined");
74
hgs
parents: 68
diff changeset
   468
    incomingPortItem->setContentWidgetData(NmIpsSettingsItems, incomingPortItems);
68
hgs
parents: 62
diff changeset
   469
74
hgs
parents: 68
diff changeset
   470
    int incomingPortItemIndex = mSettingsHelper->getCorrectIncomingPortComboBoxIndex();
hgs
parents: 68
diff changeset
   471
    incomingPortItem->setContentWidgetData(NmIpsSettingsCurrentIndex, incomingPortItemIndex);
68
hgs
parents: 62
diff changeset
   472
74
hgs
parents: 68
diff changeset
   473
    mForm->addConnection(incomingPortItem, SIGNAL(currentIndexChanged(int)),
hgs
parents: 68
diff changeset
   474
						 mSettingsHelper, SLOT(incomingPortChange(int)));
68
hgs
parents: 62
diff changeset
   475
44
hgs
parents: 43
diff changeset
   476
    if (mHiddenItem) {
hgs
parents: 43
diff changeset
   477
        incomingPortItem->setEnabled(false);
hgs
parents: 43
diff changeset
   478
    }
hgs
parents: 43
diff changeset
   479
    item.appendChild(incomingPortItem);
68
hgs
parents: 62
diff changeset
   480
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   481
    // 4. Outgoing mail server address
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   482
    QVariant outgoingMailServer;
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   483
    mSettingsManager->readSetting(IpsServices::OutgoingMailServer, outgoingMailServer);
68
hgs
parents: 62
diff changeset
   484
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   485
    CpSettingFormItemData *outgoingMailServerItem = new CpSettingFormItemData(
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   486
        HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_outgoing_mail_server"));
68
hgs
parents: 62
diff changeset
   487
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   488
    mSettingsHelper->insertContentItem(IpsServices::OutgoingMailServer, outgoingMailServerItem);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   489
    outgoingMailServerItem->setContentWidgetData(QString("text"), outgoingMailServer);
68
hgs
parents: 62
diff changeset
   490
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   491
    mForm->addConnection(outgoingMailServerItem, SIGNAL(editingFinished()),
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   492
                         mSettingsHelper, SLOT(saveOutgoingMailServer()));
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   493
    mForm->addConnection(outgoingMailServerItem, SIGNAL(textChanged(QString)),
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   494
                         mSettingsHelper, SLOT(outgoingMailServerTextChange(QString)));
68
hgs
parents: 62
diff changeset
   495
44
hgs
parents: 43
diff changeset
   496
    if (mHiddenItem) {// Starred and dimmed.
hgs
parents: 43
diff changeset
   497
        outgoingMailServerItem->setContentWidgetData(QString("echoMode"), HbLineEdit::Password);
hgs
parents: 43
diff changeset
   498
        outgoingMailServerItem->setEnabled(false);
hgs
parents: 43
diff changeset
   499
    }
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   500
    item.appendChild(outgoingMailServerItem);
68
hgs
parents: 62
diff changeset
   501
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   502
    // 5. Outgoing secure connection
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   503
    CpSettingFormItemData *outgoingSecureConnectionItem =
74
hgs
parents: 68
diff changeset
   504
        new CpSettingFormItemData(HbDataFormModelItem::ComboBoxItem, hbTrId(
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   505
            "txt_mailips_setlabel_outgoing_security"));
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   506
    mSettingsHelper->insertContentItem(IpsServices::OutgoingSecureSockets, outgoingSecureConnectionItem);
74
hgs
parents: 68
diff changeset
   507
    
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   508
    QStringList outgoingShowSCItems;
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   509
    outgoingShowSCItems << hbTrId("txt_mailips_setlabel_security_val_on_starttls")
44
hgs
parents: 43
diff changeset
   510
                        << hbTrId("txt_mailips_setlabel_security_val_on_ssltls")
hgs
parents: 43
diff changeset
   511
                        << hbTrId("txt_mailips_setlabel_security_val_off");
74
hgs
parents: 68
diff changeset
   512
    outgoingSecureConnectionItem->setContentWidgetData(NmIpsSettingsItems, outgoingShowSCItems);
68
hgs
parents: 62
diff changeset
   513
hgs
parents: 62
diff changeset
   514
    int outgoingSecureConnectionItemIndex =
74
hgs
parents: 68
diff changeset
   515
        mSettingsHelper->getCorrectOutgoingSecureComboBoxIndex();
hgs
parents: 68
diff changeset
   516
    outgoingSecureConnectionItem->setContentWidgetData(NmIpsSettingsCurrentIndex,
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   517
                                                       outgoingSecureConnectionItemIndex);
74
hgs
parents: 68
diff changeset
   518
    
hgs
parents: 68
diff changeset
   519
    mForm->addConnection(outgoingSecureConnectionItem, SIGNAL(currentIndexChanged(int)),
hgs
parents: 68
diff changeset
   520
				         mSettingsHelper, SLOT(outgoingSecureConnectionItemChange(int)));
68
hgs
parents: 62
diff changeset
   521
44
hgs
parents: 43
diff changeset
   522
    if (mHiddenItem) {
hgs
parents: 43
diff changeset
   523
        outgoingSecureConnectionItem->setEnabled(false);
hgs
parents: 43
diff changeset
   524
    }
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   525
    item.appendChild(outgoingSecureConnectionItem);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   526
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   527
    // 6. Outgoing mail server port
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   528
    CpSettingFormItemData *outgoingPortItem =
74
hgs
parents: 68
diff changeset
   529
        new CpSettingFormItemData(HbDataFormModelItem::ComboBoxItem, hbTrId(
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   530
            "txt_mailips_setlabel_outgoing_port"));
44
hgs
parents: 43
diff changeset
   531
    mSettingsHelper->insertContentItem(IpsServices::OutgoingPort, outgoingPortItem);
74
hgs
parents: 68
diff changeset
   532
    
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   533
    QStringList outgoingPortItems;
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   534
    outgoingPortItems << hbTrId("txt_mailips_setlabel_incoming_port_default")
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   535
                      << hbTrId("txt_mailips_setlabel_incoming_port_user_defined");
74
hgs
parents: 68
diff changeset
   536
    outgoingPortItem->setContentWidgetData(NmIpsSettingsItems, outgoingPortItems);
68
hgs
parents: 62
diff changeset
   537
74
hgs
parents: 68
diff changeset
   538
    int outgoingPortItemIndex = mSettingsHelper->getCorrectOutgoingPortComboBoxIndex();
hgs
parents: 68
diff changeset
   539
    outgoingPortItem->setContentWidgetData(NmIpsSettingsCurrentIndex, outgoingPortItemIndex);
68
hgs
parents: 62
diff changeset
   540
74
hgs
parents: 68
diff changeset
   541
	mForm->addConnection(outgoingPortItem, SIGNAL(currentIndexChanged(int)),
hgs
parents: 68
diff changeset
   542
						 mSettingsHelper, SLOT(outgoingPortChange(int)));
68
hgs
parents: 62
diff changeset
   543
44
hgs
parents: 43
diff changeset
   544
    if (mHiddenItem) {
hgs
parents: 43
diff changeset
   545
        outgoingPortItem->setEnabled(false);
hgs
parents: 43
diff changeset
   546
    }
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   547
    item.appendChild(outgoingPortItem);
68
hgs
parents: 62
diff changeset
   548
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   549
    // 7. Outgoing authentication.
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   550
    CpSettingFormItemData *outgoingAuthenticationItem =
74
hgs
parents: 68
diff changeset
   551
        new CpSettingFormItemData(HbDataFormModelItem::ComboBoxItem, hbTrId(
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   552
            "txt_mailips_setlabel_outgoing_mail_authentication"));
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   553
    mSettingsHelper->insertContentItem(IpsServices::SMTPAuthentication, outgoingAuthenticationItem);
74
hgs
parents: 68
diff changeset
   554
    
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   555
    QStringList outgoingAuthenticationItems;
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   556
    outgoingAuthenticationItems << hbTrId("txt_mailips_setlabel_outgoing_authentication_none")
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   557
                                << hbTrId("txt_mailips_setlabel_outgoing_authentication_same")
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   558
                                << hbTrId("txt_mailips_setlabel_outgoing_authentication_user");
74
hgs
parents: 68
diff changeset
   559
    outgoingAuthenticationItem->setContentWidgetData(NmIpsSettingsItems, outgoingAuthenticationItems);
68
hgs
parents: 62
diff changeset
   560
hgs
parents: 62
diff changeset
   561
    int outgoingAuthenticationIndex =
74
hgs
parents: 68
diff changeset
   562
        mSettingsHelper->getCorrectOutgoingAuthenticationComboBoxIndex();
hgs
parents: 68
diff changeset
   563
    outgoingAuthenticationItem->setContentWidgetData(NmIpsSettingsCurrentIndex, outgoingAuthenticationIndex);
68
hgs
parents: 62
diff changeset
   564
74
hgs
parents: 68
diff changeset
   565
	mForm->addConnection(outgoingAuthenticationItem, SIGNAL(currentIndexChanged(int)),
hgs
parents: 68
diff changeset
   566
						 mSettingsHelper, SLOT(outgoingAuthenticationChange(int)));
68
hgs
parents: 62
diff changeset
   567
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   568
    item.appendChild(outgoingAuthenticationItem);
44
hgs
parents: 43
diff changeset
   569
    if (mHiddenItem) {
hgs
parents: 43
diff changeset
   570
        outgoingAuthenticationItem->setEnabled(false);
hgs
parents: 43
diff changeset
   571
    }
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   572
    if (outgoingAuthenticationIndex == IpsServices::EMailAuthUserAuthentication) {
44
hgs
parents: 43
diff changeset
   573
        mSettingsHelper->createServerInfoGroupDynamicItems(mHiddenItem);
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   574
    }
68
hgs
parents: 62
diff changeset
   575
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   576
    // 8. Folder path
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   577
    // This item is only shown for IMAP4 account.
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   578
    if (mSettingsManager->accountType() == IpsServices::EMailImap) {
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   579
        CpSettingFormItemData *folderPathItem =
74
hgs
parents: 68
diff changeset
   580
            new CpSettingFormItemData(HbDataFormModelItem::ComboBoxItem, hbTrId(
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   581
                "txt_mailips_setlabel_folder_path"));
68
hgs
parents: 62
diff changeset
   582
        mSettingsHelper->insertContentItem(IpsServices::FolderPath, folderPathItem);
74
hgs
parents: 68
diff changeset
   583
        
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   584
        QStringList folderPathItems;
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   585
        folderPathItems << hbTrId("txt_mailips_setlabel_folder_path_val_default")
44
hgs
parents: 43
diff changeset
   586
                        << hbTrId("txt_mailips_setlabel_folder_path_user_defined");
74
hgs
parents: 68
diff changeset
   587
        folderPathItem->setContentWidgetData(NmIpsSettingsItems, folderPathItems);
68
hgs
parents: 62
diff changeset
   588
74
hgs
parents: 68
diff changeset
   589
        int folderPathItemIndex = mSettingsHelper->getCorrectFolderPathComboBoxIndex();
hgs
parents: 68
diff changeset
   590
        folderPathItem->setContentWidgetData(NmIpsSettingsCurrentIndex, folderPathItemIndex);
68
hgs
parents: 62
diff changeset
   591
hgs
parents: 62
diff changeset
   592
		mForm->addConnection(folderPathItem, SIGNAL(itemSelected(int)),
74
hgs
parents: 68
diff changeset
   593
							 mSettingsHelper, SLOT(folderPathChange(int)));
68
hgs
parents: 62
diff changeset
   594
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   595
        item.appendChild(folderPathItem);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   596
    }
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   597
}
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   598
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   599
/*!
43
hgs
parents: 23
diff changeset
   600
    Sets the state of the AlwaysOnline.
hgs
parents: 23
diff changeset
   601
    \param command Command for the state of the AlwaysOnline.
hgs
parents: 23
diff changeset
   602
    \param mailboxId Mailbox id.
hgs
parents: 23
diff changeset
   603
*/
hgs
parents: 23
diff changeset
   604
void NmIpsSettingsPlugin::setAlwaysOnlineState(TAlwaysOnlineServerAPICommands command,
hgs
parents: 23
diff changeset
   605
                                               NmId mailboxId) const
hgs
parents: 23
diff changeset
   606
{
hgs
parents: 23
diff changeset
   607
    RAlwaysOnlineClientSession aosession;
hgs
parents: 23
diff changeset
   608
    TInt err(aosession.Connect());
68
hgs
parents: 62
diff changeset
   609
43
hgs
parents: 23
diff changeset
   610
    if (err == KErrNone) {
hgs
parents: 23
diff changeset
   611
        TPckgBuf<TMsvId> mboxBuf(mailboxId.id32());
68
hgs
parents: 62
diff changeset
   612
43
hgs
parents: 23
diff changeset
   613
        TRAP_IGNORE(aosession.RelayCommandL(command, mboxBuf));
hgs
parents: 23
diff changeset
   614
    }
68
hgs
parents: 62
diff changeset
   615
43
hgs
parents: 23
diff changeset
   616
    aosession.Close();
hgs
parents: 23
diff changeset
   617
}
hgs
parents: 23
diff changeset
   618
hgs
parents: 23
diff changeset
   619
/*!
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   620
    Creates user defined mode if not already exist.
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   621
*/
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   622
void NmIpsSettingsPlugin::createUserDefinedMode()
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   623
{
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   624
    QVariant userDefineMode;
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   625
    mSettingsManager->readSetting(IpsServices::ReceptionUserDefinedProfile, userDefineMode);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   626
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   627
    // If user defined mode do not already exist, create it.
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   628
    if (!userDefineMode.toInt()) {
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   629
        // Add 'user defined' mode to combobox.
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   630
        HbDataFormModelItem *syncProfile =
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   631
            mSettingsHelper->contentItem(IpsServices::ReceptionActiveProfile);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   632
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   633
        QVariant contentWidgetData = syncProfile->contentWidgetData(NmIpsSettingsComboItems);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   634
        QStringList modeList = contentWidgetData.value<QStringList>();
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   635
        modeList << hbTrId("txt_mailips_setlabel_selected_mode_val_user_define");
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   636
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   637
        // Add 'user defined' explanation text to label text.
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   638
        contentWidgetData = syncProfile->contentWidgetData(NmIpsSettingsLabelTexts);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   639
        QStringList infoList = contentWidgetData.value<QStringList>();
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   640
        infoList << hbTrId("txt_mailips_list_the_mailbox_is_refreshed_as_defin");
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   641
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   642
        // Disconnect signal temporarily so that by setting content widget data will
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   643
        // not cause any unnecessary actions in helper.
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   644
        mForm->removeConnection(syncProfile, SIGNAL(currentIndexChanged(int)),
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   645
            mSettingsHelper, SLOT(receivingScheduleChange(int)));
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   646
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   647
        syncProfile->setContentWidgetData(NmIpsSettingsComboItems, modeList);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   648
        syncProfile->setContentWidgetData(NmIpsSettingsLabelTexts, infoList);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   649
23
2dc6caa42ec3 Revision: 201017
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 20
diff changeset
   650
        // Reconnect signal, so that helper is aware of data modifications.
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   651
        mForm->addConnection(syncProfile, SIGNAL(currentIndexChanged(int)),
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   652
            mSettingsHelper, SLOT(receivingScheduleChange(int)));
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   653
43
hgs
parents: 23
diff changeset
   654
        // Set reception user defined profile enabled.
hgs
parents: 23
diff changeset
   655
        userDefineMode.setValue(NmIpsSettingsReceptionUserDefinedProfileEnabled);
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   656
        mSettingsManager->writeSetting(IpsServices::ReceptionUserDefinedProfile, userDefineMode);
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   657
    }
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   658
}
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   659
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   660
/*!
62
hgs
parents: 57
diff changeset
   661
Handles mail in inbox modifications.
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   662
68
hgs
parents: 62
diff changeset
   663
Index   Value
hgs
parents: 62
diff changeset
   664
0       50
hgs
parents: 62
diff changeset
   665
1       100
hgs
parents: 62
diff changeset
   666
2       500
hgs
parents: 62
diff changeset
   667
3       All
hgs
parents: 62
diff changeset
   668
62
hgs
parents: 57
diff changeset
   669
\param action Action that determines whether user clicked OK or cancel.
20
ecc8def7944a Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 18
diff changeset
   670
*/
74
hgs
parents: 68
diff changeset
   671
void NmIpsSettingsPlugin::showMailInInboxModified(int index)
68
hgs
parents: 62
diff changeset
   672
{
74
hgs
parents: 68
diff changeset
   673
	int conversionTable[] = { 50, 100, 500, 0 };
hgs
parents: 68
diff changeset
   674
	int selectedValue(conversionTable[index]);
68
hgs
parents: 62
diff changeset
   675
74
hgs
parents: 68
diff changeset
   676
	QVariant previouslySelectedValue;
hgs
parents: 68
diff changeset
   677
	mSettingsManager->readSetting(IpsServices::ReceptionInboxSyncWindow, previouslySelectedValue);
hgs
parents: 68
diff changeset
   678
	if (previouslySelectedValue.toInt() != selectedValue) {
hgs
parents: 68
diff changeset
   679
		mSettingsHelper->handleReceivingScheduleSettingChange(
hgs
parents: 68
diff changeset
   680
			IpsServices::ReceptionInboxSyncWindow, selectedValue);
hgs
parents: 68
diff changeset
   681
	}
18
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   682
}
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   683
578830873419 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   684
Q_EXPORT_PLUGIN2(nmipssettings, NmIpsSettingsPlugin);