ipsservices/nmipssettings/src/nmipssettingsplugin.cpp
changeset 23 2dc6caa42ec3
parent 20 ecc8def7944a
child 30 759dc5235cdb
equal deleted inserted replaced
20:ecc8def7944a 23:2dc6caa42ec3
    31 #include "nmipssettingshelper.h"
    31 #include "nmipssettingshelper.h"
    32 #include "nmipssettingsmanagerbase.h"
    32 #include "nmipssettingsmanagerbase.h"
    33 #include "nmipssettingsmanagerfactory.h"
    33 #include "nmipssettingsmanagerfactory.h"
    34 #include "nmipssettingitems.h"
    34 #include "nmipssettingitems.h"
    35 #include "nmcommon.h"
    35 #include "nmcommon.h"
       
    36 #include "ipssettingkeys.h"
    36 
    37 
    37 #include "nmipssettingscustomitem.h"
    38 #include "nmipssettingscustomitem.h"
    38 #include "nmipssettingslabeledcombobox.h"
    39 #include "nmipssettingslabeledcombobox.h"
    39 
    40 
    40 const QString NmIpsSettingsComboItems("comboItems");
    41 const QString NmIpsSettingsComboItems("comboItems");
    53 /*!
    54 /*!
    54     Constructor of NmIpsSettingsPlugin.
    55     Constructor of NmIpsSettingsPlugin.
    55 */
    56 */
    56 NmIpsSettingsPlugin::NmIpsSettingsPlugin()
    57 NmIpsSettingsPlugin::NmIpsSettingsPlugin()
    57 : mSettingsHelper(0),
    58 : mSettingsHelper(0),
    58   mSettingsManager(0),
    59   mSettingsManager(0)
    59   mTranslator(0)
    60 {
    60 {
       
    61     QScopedPointer<QTranslator> translator(new QTranslator());
       
    62 
       
    63 #ifdef Q_OS_SYMBIAN
       
    64     QString lang = QLocale::system().name();
    61     QString lang = QLocale::system().name();
       
    62     QString path = "Z:/resource/qt/translations/";
    65     QString appName = "mailips_";
    63     QString appName = "mailips_";
    66     QString path = "Z:/resource/qt/translations/";
    64     QString commonName = "common_";
    67 #else
    65     
    68     QString lang;
    66 
    69     QString appName = "mailips";
    67     // Load common strings
    70     QString path = ":/translations";
    68 	QScopedPointer<QTranslator> commonTranslator(new QTranslator(this));
    71 #endif
    69     commonTranslator->load(commonName + lang, path);
    72 
    70     QCoreApplication::installTranslator(commonTranslator.data());
       
    71     (void)commonTranslator.take();  
       
    72     
       
    73     // Load IPS settings specific strings
       
    74 	QScopedPointer<QTranslator> translator(new QTranslator(this));
    73     translator->load(appName + lang, path);
    75     translator->load(appName + lang, path);
    74 
       
    75     QCoreApplication::installTranslator(translator.data());
    76     QCoreApplication::installTranslator(translator.data());
    76     mTranslator = translator.take();
    77     (void)translator.take();
    77 
       
    78 }
    78 }
    79 
    79 
    80 /*!
    80 /*!
    81     Destructor of NmIpsSettingsPlugin.
    81     Destructor of NmIpsSettingsPlugin.
    82 */
    82 */
    83 NmIpsSettingsPlugin::~NmIpsSettingsPlugin()
    83 NmIpsSettingsPlugin::~NmIpsSettingsPlugin()
    84 {
    84 {
    85     delete mSettingsManager;
    85     delete mSettingsManager;
    86     delete mSettingsHelper;
    86     delete mSettingsHelper;
    87     delete mTranslator;
       
    88 }
    87 }
    89 
    88 
    90 /*!
    89 /*!
    91     Populates the form items into model.
    90     Populates the form items into model.
    92     \param model Reference to the model.
    91     \param model Reference to the model.
   141 /*!
   140 /*!
   142     This slot can be used in cases when plugin needs to handle stuff before settingsview is closed.
   141     This slot can be used in cases when plugin needs to handle stuff before settingsview is closed.
   143 */
   142 */
   144 void NmIpsSettingsPlugin::aboutToClose()
   143 void NmIpsSettingsPlugin::aboutToClose()
   145 {
   144 {
   146 	if (mSettingsHelper->isOffline()) {
   145     QVariant profileIndex;
       
   146 	mSettingsManager->readSetting(IpsServices::ReceptionActiveProfile, profileIndex);
       
   147 	if ((mSettingsHelper->isOffline()) && (profileIndex.toInt() != IpsServices::EmailSyncProfileManualFetch)) {
   147 		emit goOnline(mSettingsManager->mailboxId());
   148 		emit goOnline(mSettingsManager->mailboxId());
   148 	}
   149 	}
   149 }
   150 }
   150 
   151 
   151 /*!
   152 /*!
   152     Appends the group items to the group item.
   153     Appends the group items to the model.
   153     \param model Reference to the model.
       
   154     \param form Reference to the form.
       
   155 */
   154 */
   156 void NmIpsSettingsPlugin::initGroupItems()
   155 void NmIpsSettingsPlugin::initGroupItems()
   157 {
   156 {
   158     HbDataFormModelItem *rootItem = mModel->invisibleRootItem();
   157     HbDataFormModelItem *rootItem = mModel->invisibleRootItem();
   159 
   158 
   178 
   177 
   179     HbDataFormModelItem *serverInfoItem =
   178     HbDataFormModelItem *serverInfoItem =
   180         mModel->appendDataFormItem(HbDataFormModelItem::GroupItem,
   179         mModel->appendDataFormItem(HbDataFormModelItem::GroupItem,
   181                                    hbTrId("txt_mailips_subhead_server_info"),
   180                                    hbTrId("txt_mailips_subhead_server_info"),
   182                                    rootItem);
   181                                    rootItem);
       
   182     mSettingsHelper->setServerInfoGroupItem(serverInfoItem);
   183     initServerInfoItems(*serverInfoItem);
   183     initServerInfoItems(*serverInfoItem);
   184 
   184 
   185     // Create the delete mailbox button.
   185     // Create the delete mailbox button.
   186     HbDataFormModelItem::DataItemType buttonItem =
   186     HbDataFormModelItem::DataItemType buttonItem =
   187         static_cast<HbDataFormModelItem::DataItemType>(
   187         static_cast<HbDataFormModelItem::DataItemType>(
   201     Appends the preferences items to the group item.
   201     Appends the preferences items to the group item.
   202     \param item Reference to the parent group item.
   202     \param item Reference to the parent group item.
   203 */
   203 */
   204 void NmIpsSettingsPlugin::initPreferenceItems(HbDataFormModelItem &item) const
   204 void NmIpsSettingsPlugin::initPreferenceItems(HbDataFormModelItem &item) const
   205 {
   205 {
   206     // My Name
   206     // 1. My Name
   207     QVariant myName;
   207     QVariant myName;
   208     mSettingsManager->readSetting(IpsServices::EmailAlias, myName);
   208     mSettingsManager->readSetting(IpsServices::EmailAlias, myName);
   209     CpSettingFormItemData *myNameItem = new CpSettingFormItemData(
   209     CpSettingFormItemData *myNameItem = new CpSettingFormItemData(
   210         HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_my_name"));
   210         HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_my_name"));
   211     mSettingsHelper->insertContentItem(IpsServices::EmailAlias, myNameItem);
   211     mSettingsHelper->insertContentItem(IpsServices::EmailAlias, myNameItem);
   214                          mSettingsHelper, SLOT(saveMyName()));
   214                          mSettingsHelper, SLOT(saveMyName()));
   215     mForm->addConnection(myNameItem, SIGNAL(textChanged(QString)),
   215     mForm->addConnection(myNameItem, SIGNAL(textChanged(QString)),
   216                          mSettingsHelper, SLOT(myNameTextChange(QString)));
   216                          mSettingsHelper, SLOT(myNameTextChange(QString)));
   217     item.appendChild(myNameItem);
   217     item.appendChild(myNameItem);
   218 
   218 
   219     // Mailbox Name
   219     // 2. Mailbox Name
   220     QVariant mailboxName;
   220     QVariant mailboxName;
   221     mSettingsManager->readSetting(IpsServices::MailboxName, mailboxName);
   221     mSettingsManager->readSetting(IpsServices::MailboxName, mailboxName);
   222     CpSettingFormItemData *mailboxNameItem = new CpSettingFormItemData(
   222     CpSettingFormItemData *mailboxNameItem = new CpSettingFormItemData(
   223         HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_mailbox_name"));
   223         HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_mailbox_name"));
   224     mSettingsHelper->insertContentItem(IpsServices::MailboxName, mailboxNameItem);
   224     mSettingsHelper->insertContentItem(IpsServices::MailboxName, mailboxNameItem);
   331     Appends the user info items to the group item.
   331     Appends the user info items to the group item.
   332     \param item Reference to the parent group item.
   332     \param item Reference to the parent group item.
   333 */
   333 */
   334 void NmIpsSettingsPlugin::initUserInfoItems(HbDataFormModelItem &item) const
   334 void NmIpsSettingsPlugin::initUserInfoItems(HbDataFormModelItem &item) const
   335 {
   335 {
   336     // Mail address
   336     // 1. Mail address
   337     QVariant mailAddress;
   337     QVariant mailAddress;
   338     mSettingsManager->readSetting(IpsServices::EmailAddress, mailAddress);
   338     mSettingsManager->readSetting(IpsServices::EmailAddress, mailAddress);
   339     CpSettingFormItemData *mailAddressItem = new CpSettingFormItemData(
   339     CpSettingFormItemData *mailAddressItem = new CpSettingFormItemData(
   340         HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_mail_address"));
   340         HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_mail_address"));
   341     mSettingsHelper->insertContentItem(IpsServices::EmailAddress, mailAddressItem);
   341     mSettingsHelper->insertContentItem(IpsServices::EmailAddress, mailAddressItem);
   344                          mSettingsHelper, SLOT(saveMailAddress()));
   344                          mSettingsHelper, SLOT(saveMailAddress()));
   345     mForm->addConnection(mailAddressItem, SIGNAL(textChanged(QString)),
   345     mForm->addConnection(mailAddressItem, SIGNAL(textChanged(QString)),
   346                          mSettingsHelper, SLOT(mailAddressTextChange(QString)));
   346                          mSettingsHelper, SLOT(mailAddressTextChange(QString)));
   347     item.appendChild(mailAddressItem);
   347     item.appendChild(mailAddressItem);
   348 
   348 
   349     // Username (Never visible in Yahoo!)
   349     // 2. Username
   350     QVariant username;
   350     QVariant username;
   351     mSettingsManager->readSetting(IpsServices::IncomingLoginName, username);
   351     mSettingsManager->readSetting(IpsServices::IncomingLoginName, username);
   352     CpSettingFormItemData *usernameItem = new CpSettingFormItemData(
   352     CpSettingFormItemData *usernameItem = new CpSettingFormItemData(
   353         HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_username"));
   353         HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_username"));
   354     mSettingsHelper->insertContentItem(IpsServices::IncomingLoginName, usernameItem);
   354     mSettingsHelper->insertContentItem(IpsServices::IncomingLoginName, usernameItem);
   355     usernameItem->setContentWidgetData(QString("text"), username);
   355     usernameItem->setContentWidgetData(QString("text"), username);
   356     mForm->addConnection(usernameItem, SIGNAL(editingFinished()),
   356     mForm->addConnection(usernameItem, SIGNAL(editingFinished()),
   357                          mSettingsHelper, SLOT(saveUserName()));
   357                          mSettingsHelper, SLOT(saveIncomingUserName()));
   358     mForm->addConnection(usernameItem, SIGNAL(textChanged(QString)),
   358     mForm->addConnection(usernameItem, SIGNAL(textChanged(QString)),
   359                          mSettingsHelper, SLOT(userNameTextChange(QString)));
   359                          mSettingsHelper, SLOT(incomingUserNameTextChange(QString)));
   360     item.appendChild(usernameItem);
   360     item.appendChild(usernameItem);
   361 
   361 
   362     // Password
   362     // 3. Password
   363     QVariant password;
   363     QVariant password;
   364     mSettingsManager->readSetting(IpsServices::IncomingPassword, password);
   364     mSettingsManager->readSetting(IpsServices::IncomingPassword, password);
   365     CpSettingFormItemData *passwordItem = new CpSettingFormItemData(
   365     CpSettingFormItemData *passwordItem = new CpSettingFormItemData(
   366         HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_password"));
   366         HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_password"));
   367     mSettingsHelper->insertContentItem(IpsServices::IncomingPassword, passwordItem);
   367     mSettingsHelper->insertContentItem(IpsServices::IncomingPassword, passwordItem);
   368     passwordItem->setContentWidgetData(QString("text"), password);
   368     passwordItem->setContentWidgetData(QString("text"), password);
   369     passwordItem->setContentWidgetData(QString("echoMode"), HbLineEdit::PasswordEchoOnEdit);
   369     passwordItem->setContentWidgetData(QString("echoMode"), HbLineEdit::PasswordEchoOnEdit);
   370     mForm->addConnection(passwordItem, SIGNAL(editingFinished()),
   370     mForm->addConnection(passwordItem, SIGNAL(editingFinished()),
   371                          mSettingsHelper, SLOT(savePassword()));
   371                          mSettingsHelper, SLOT(saveIncomingPassword()));
   372     item.appendChild(passwordItem);
   372     item.appendChild(passwordItem);
   373 
   373 
   374     // Reply to address
   374     // Reply to address
   375     QVariant replyToAddress;
   375     QVariant replyToAddress;
   376     mSettingsManager->readSetting(IpsServices::ReplyAddress, replyToAddress);
   376     mSettingsManager->readSetting(IpsServices::ReplyAddress, replyToAddress);
   424     incomingSecureConnectionItem->setContentWidgetData(QString("selected"), 
   424     incomingSecureConnectionItem->setContentWidgetData(QString("selected"), 
   425                                                        incomingSecureConnectionItemIndex);
   425                                                        incomingSecureConnectionItemIndex);
   426     mForm->addConnection(incomingSecureConnectionItem, SIGNAL(itemSelected(int)),    		  
   426     mForm->addConnection(incomingSecureConnectionItem, SIGNAL(itemSelected(int)),    		  
   427     		mSettingsHelper, SLOT(incomingSecureConnectionItemChange(int)));
   427     		mSettingsHelper, SLOT(incomingSecureConnectionItemChange(int)));
   428     mForm->addConnection(incomingSecureConnectionItem, SIGNAL(pressed(const QModelIndex &)),    		  
   428     mForm->addConnection(incomingSecureConnectionItem, SIGNAL(pressed(const QModelIndex &)),    		  
   429     		mSettingsHelper, SLOT(incomingSecureConnectionPressed(const QModelIndex &)));
   429     		mSettingsHelper, SLOT(incomingSecureConnectionPress(const QModelIndex &)));
   430     item.appendChild(incomingSecureConnectionItem);
   430     item.appendChild(incomingSecureConnectionItem);
   431     
   431     
   432     // 3. Incoming mail server port
   432     // 3. Incoming mail server port
   433     QVariant incomingPort;
   433     QVariant incomingPort;
   434     mSettingsManager->readSetting(IpsServices::IncomingPort, incomingPort);
   434     mSettingsManager->readSetting(IpsServices::IncomingPort, incomingPort);
   437             "txt_mailips_setlabel_incoming_port"));
   437             "txt_mailips_setlabel_incoming_port"));
   438     mSettingsHelper->insertContentItem(IpsServices::IncomingPort, incomingPortItem);    
   438     mSettingsHelper->insertContentItem(IpsServices::IncomingPort, incomingPortItem);    
   439     mForm->addConnection(incomingPortItem, SIGNAL(itemSelected(int)),
   439     mForm->addConnection(incomingPortItem, SIGNAL(itemSelected(int)),
   440                          mSettingsHelper, SLOT(incomingPortChange(int)));
   440                          mSettingsHelper, SLOT(incomingPortChange(int)));
   441     mForm->addConnection(incomingPortItem, SIGNAL(pressed(const QModelIndex &)),              
   441     mForm->addConnection(incomingPortItem, SIGNAL(pressed(const QModelIndex &)),              
   442                          mSettingsHelper, SLOT(incomingPortPressed(const QModelIndex &)));
   442                          mSettingsHelper, SLOT(incomingPortPress(const QModelIndex &)));
   443     QStringList incomingPortItems;
   443     QStringList incomingPortItems;
   444     incomingPortItems << hbTrId("txt_mailips_setlabel_incoming_port_default")
   444     incomingPortItems << hbTrId("txt_mailips_setlabel_incoming_port_default")
   445                       << hbTrId("txt_mailips_setlabel_incoming_port_user_defined");
   445                       << hbTrId("txt_mailips_setlabel_incoming_port_user_defined");
   446     incomingPortItem->setContentWidgetData(QString("items"), incomingPortItems);
   446     incomingPortItem->setContentWidgetData(QString("items"), incomingPortItems);
   447     int incomingPortItemIndex = 
   447     int incomingPortItemIndex = 
   460                          mSettingsHelper, SLOT(saveOutgoingMailServer()));
   460                          mSettingsHelper, SLOT(saveOutgoingMailServer()));
   461     mForm->addConnection(outgoingMailServerItem, SIGNAL(textChanged(QString)),
   461     mForm->addConnection(outgoingMailServerItem, SIGNAL(textChanged(QString)),
   462                          mSettingsHelper, SLOT(outgoingMailServerTextChange(QString)));
   462                          mSettingsHelper, SLOT(outgoingMailServerTextChange(QString)));
   463     item.appendChild(outgoingMailServerItem);
   463     item.appendChild(outgoingMailServerItem);
   464     
   464     
   465     // 5. Outgoing Secure connection
   465     // 5. Outgoing secure connection
   466     QVariant outgoingSecureSockets;
   466     QVariant outgoingSecureSockets;
   467     QVariant outgoingSSLWrapper;
   467     QVariant outgoingSSLWrapper;
   468     mSettingsManager->readSetting(IpsServices::OutgoingSecureSockets, outgoingSecureSockets);
   468     mSettingsManager->readSetting(IpsServices::OutgoingSecureSockets, outgoingSecureSockets);
   469     mSettingsManager->readSetting(IpsServices::OutgoingSSLWrapper, outgoingSSLWrapper);
   469     mSettingsManager->readSetting(IpsServices::OutgoingSSLWrapper, outgoingSSLWrapper);
   470     CpSettingFormItemData *outgoingSecureConnectionItem =
   470     CpSettingFormItemData *outgoingSecureConnectionItem =
   483     outgoingSecureConnectionItem->setContentWidgetData(QString("selected"), 
   483     outgoingSecureConnectionItem->setContentWidgetData(QString("selected"), 
   484                                                        outgoingSecureConnectionItemIndex);
   484                                                        outgoingSecureConnectionItemIndex);
   485     mForm->addConnection(outgoingSecureConnectionItem, SIGNAL(itemSelected(int)),    		  
   485     mForm->addConnection(outgoingSecureConnectionItem, SIGNAL(itemSelected(int)),    		  
   486     		mSettingsHelper, SLOT(outgoingSecureConnectionItemChange(int)));
   486     		mSettingsHelper, SLOT(outgoingSecureConnectionItemChange(int)));
   487     mForm->addConnection(outgoingSecureConnectionItem, SIGNAL(pressed(const QModelIndex &)),    		  
   487     mForm->addConnection(outgoingSecureConnectionItem, SIGNAL(pressed(const QModelIndex &)),    		  
   488     		mSettingsHelper, SLOT(outgoingSecureConnectionPressed(const QModelIndex &)));
   488     		mSettingsHelper, SLOT(outgoingSecureConnectionPress(const QModelIndex &)));
   489     item.appendChild(outgoingSecureConnectionItem);
   489     item.appendChild(outgoingSecureConnectionItem);
   490 
   490 
   491     // 6. Outgoing mail server port
   491     // 6. Outgoing mail server port
   492     QVariant outgoingPort;
   492     QVariant outgoingPort;
   493     mSettingsManager->readSetting(IpsServices::OutgoingPort, outgoingPort);
   493     mSettingsManager->readSetting(IpsServices::OutgoingPort, outgoingPort);
   496             "txt_mailips_setlabel_outgoing_port"));
   496             "txt_mailips_setlabel_outgoing_port"));
   497     mSettingsHelper->insertContentItem(IpsServices::OutgoingPort, outgoingPortItem);    
   497     mSettingsHelper->insertContentItem(IpsServices::OutgoingPort, outgoingPortItem);    
   498     mForm->addConnection(outgoingPortItem, SIGNAL(itemSelected(int)),
   498     mForm->addConnection(outgoingPortItem, SIGNAL(itemSelected(int)),
   499                          mSettingsHelper, SLOT(outgoingPortChange(int)));
   499                          mSettingsHelper, SLOT(outgoingPortChange(int)));
   500     mForm->addConnection(outgoingPortItem, SIGNAL(pressed(const QModelIndex &)),              
   500     mForm->addConnection(outgoingPortItem, SIGNAL(pressed(const QModelIndex &)),              
   501                          mSettingsHelper, SLOT(outgoingPortPressed(const QModelIndex &)));
   501                          mSettingsHelper, SLOT(outgoingPortPress(const QModelIndex &)));
   502     QStringList outgoingPortItems;
   502     QStringList outgoingPortItems;
   503     outgoingPortItems << hbTrId("txt_mailips_setlabel_incoming_port_default")
   503     outgoingPortItems << hbTrId("txt_mailips_setlabel_incoming_port_default")
   504                       << hbTrId("txt_mailips_setlabel_incoming_port_user_defined");
   504                       << hbTrId("txt_mailips_setlabel_incoming_port_user_defined");
   505     outgoingPortItem->setContentWidgetData(QString("items"), outgoingPortItems);
   505     outgoingPortItem->setContentWidgetData(QString("items"), outgoingPortItems);
   506     int outgoingPortItemIndex = 
   506     int outgoingPortItemIndex = 
   507         mSettingsHelper->getCorrectOutgoingPortRadioButtonIndex(outgoingPort.toInt()); 
   507         mSettingsHelper->getCorrectOutgoingPortRadioButtonIndex(outgoingPort.toInt()); 
   508     outgoingPortItem->setContentWidgetData(QString("selected"), outgoingPortItemIndex);
   508     outgoingPortItem->setContentWidgetData(QString("selected"), outgoingPortItemIndex);
   509     item.appendChild(outgoingPortItem);
   509     item.appendChild(outgoingPortItem);
       
   510     
       
   511     // 7. Outgoing authentication.
       
   512     CpSettingFormItemData *outgoingAuthenticationItem =
       
   513         new CpSettingFormItemData(HbDataFormModelItem::RadioButtonListItem, hbTrId(
       
   514             "txt_mailips_setlabel_outgoing_mail_authentication"));
       
   515     mSettingsHelper->insertContentItem(IpsServices::SMTPAuthentication, outgoingAuthenticationItem);
       
   516     mForm->addConnection(outgoingAuthenticationItem, SIGNAL(itemSelected(int)),
       
   517                          mSettingsHelper, SLOT(outgoingAuthenticationChange(int)));
       
   518     mForm->addConnection(outgoingAuthenticationItem, SIGNAL(pressed(const QModelIndex &)),              
       
   519                          mSettingsHelper, SLOT(outgoingAuthenticationPress(const QModelIndex &)));
       
   520     QStringList outgoingAuthenticationItems;
       
   521     outgoingAuthenticationItems << hbTrId("txt_mailips_setlabel_outgoing_authentication_none")
       
   522                                 << hbTrId("txt_mailips_setlabel_outgoing_authentication_same")
       
   523                                 << hbTrId("txt_mailips_setlabel_outgoing_authentication_user");
       
   524     outgoingAuthenticationItem->setContentWidgetData(QString("items"), outgoingAuthenticationItems);
       
   525     int outgoingAuthenticationIndex = 
       
   526         mSettingsHelper->getCorrectOutgoingAuthenticationRadioButtonIndex(); 
       
   527     outgoingAuthenticationItem->setContentWidgetData(QString("selected"), outgoingAuthenticationIndex);
       
   528     item.appendChild(outgoingAuthenticationItem);
       
   529     if (outgoingAuthenticationIndex == IpsServices::EMailAuthUserAuthentication) {
       
   530         mSettingsHelper->createServerInfoGroupDynamicItems();
       
   531     }
   510     
   532     
   511     // 8. Folder path
   533     // 8. Folder path
   512     // This item is only shown for IMAP4 account.
   534     // This item is only shown for IMAP4 account.
   513     if (mSettingsManager->accountType() == IpsServices::EMailImap) {
   535     if (mSettingsManager->accountType() == IpsServices::EMailImap) {
   514         QVariant folderPath;
   536         QVariant folderPath;
   516         CpSettingFormItemData *folderPathItem =
   538         CpSettingFormItemData *folderPathItem =
   517             new CpSettingFormItemData(HbDataFormModelItem::RadioButtonListItem, hbTrId(
   539             new CpSettingFormItemData(HbDataFormModelItem::RadioButtonListItem, hbTrId(
   518                 "txt_mailips_setlabel_folder_path"));
   540                 "txt_mailips_setlabel_folder_path"));
   519         mSettingsHelper->insertContentItem(IpsServices::FolderPath, folderPathItem);    
   541         mSettingsHelper->insertContentItem(IpsServices::FolderPath, folderPathItem);    
   520         mForm->addConnection(folderPathItem, SIGNAL(itemSelected(int)),
   542         mForm->addConnection(folderPathItem, SIGNAL(itemSelected(int)),
   521                              mSettingsHelper, SLOT(inboxPathChange(int)));
   543                              mSettingsHelper, SLOT(folderPathChange(int)));
   522         mForm->addConnection(folderPathItem, SIGNAL(pressed(const QModelIndex &)),              
   544         mForm->addConnection(folderPathItem, SIGNAL(pressed(const QModelIndex &)),              
   523                              mSettingsHelper, SLOT(inboxPathPressed(const QModelIndex &)));
   545                              mSettingsHelper, SLOT(folderPathPress(const QModelIndex &)));
   524         QStringList folderPathItems;
   546         QStringList folderPathItems;
   525         folderPathItems << hbTrId("txt_mailips_setlabel_folder_path_val_default")
   547         folderPathItems << hbTrId("txt_mailips_setlabel_folder_path_val_default")
   526                        << hbTrId("txt_mailips_setlabel_folder_path_user_defined");
   548                        << hbTrId("txt_mailips_setlabel_folder_path_user_defined");
   527         folderPathItem->setContentWidgetData(QString("items"), folderPathItems);
   549         folderPathItem->setContentWidgetData(QString("items"), folderPathItems);
   528         int folderPathItemIndex = mSettingsHelper->getCorrectInboxPathRadioButtonIndex(folderPath);
   550         int folderPathItemIndex = mSettingsHelper->getCorrectInboxPathRadioButtonIndex(folderPath);
   537 void NmIpsSettingsPlugin::createUserDefinedMode()
   559 void NmIpsSettingsPlugin::createUserDefinedMode()
   538 {
   560 {
   539     QVariant userDefineMode;
   561     QVariant userDefineMode;
   540     mSettingsManager->readSetting(IpsServices::ReceptionUserDefinedProfile, userDefineMode);
   562     mSettingsManager->readSetting(IpsServices::ReceptionUserDefinedProfile, userDefineMode);
   541 
   563 
   542     // If user defined mode do not already exist, create it
   564     // If user defined mode do not already exist, create it.
   543     if (!userDefineMode.toInt()) {
   565     if (!userDefineMode.toInt()) {
   544         // Add 'user defined' mode to combobox
   566         // Add 'user defined' mode to combobox.
   545         HbDataFormModelItem *syncProfile =
   567         HbDataFormModelItem *syncProfile =
   546             mSettingsHelper->contentItem(IpsServices::ReceptionActiveProfile);
   568             mSettingsHelper->contentItem(IpsServices::ReceptionActiveProfile);
   547 
   569 
   548         QVariant contentWidgetData = syncProfile->contentWidgetData(NmIpsSettingsComboItems);
   570         QVariant contentWidgetData = syncProfile->contentWidgetData(NmIpsSettingsComboItems);
   549         QStringList modeList = contentWidgetData.value<QStringList>();
   571         QStringList modeList = contentWidgetData.value<QStringList>();
   550         modeList << hbTrId("txt_mailips_setlabel_selected_mode_val_user_define");
   572         modeList << hbTrId("txt_mailips_setlabel_selected_mode_val_user_define");
   551 
   573 
   552         // Add 'user defined' explanation text to label text
   574         // Add 'user defined' explanation text to label text.
   553         contentWidgetData = syncProfile->contentWidgetData(NmIpsSettingsLabelTexts);
   575         contentWidgetData = syncProfile->contentWidgetData(NmIpsSettingsLabelTexts);
   554         QStringList infoList = contentWidgetData.value<QStringList>();
   576         QStringList infoList = contentWidgetData.value<QStringList>();
   555         infoList << hbTrId("txt_mailips_list_the_mailbox_is_refreshed_as_defin");
   577         infoList << hbTrId("txt_mailips_list_the_mailbox_is_refreshed_as_defin");
   556 
   578 
   557         // disconnect
   579         // Disconnect signal temporarily so that by setting content widget data will
       
   580         // not cause any unnecessary actions in helper.
   558         mForm->removeConnection(syncProfile, SIGNAL(currentIndexChanged(int)),
   581         mForm->removeConnection(syncProfile, SIGNAL(currentIndexChanged(int)),
   559             mSettingsHelper, SLOT(receivingScheduleChange(int)));
   582             mSettingsHelper, SLOT(receivingScheduleChange(int)));
   560 
   583 
   561         syncProfile->setContentWidgetData(NmIpsSettingsComboItems, modeList);
   584         syncProfile->setContentWidgetData(NmIpsSettingsComboItems, modeList);
   562         syncProfile->setContentWidgetData(NmIpsSettingsLabelTexts, infoList);
   585         syncProfile->setContentWidgetData(NmIpsSettingsLabelTexts, infoList);
   563 
   586 
   564         // reconnect
   587         // Reconnect signal, so that helper is aware of data modifications.
   565         mForm->addConnection(syncProfile, SIGNAL(currentIndexChanged(int)),
   588         mForm->addConnection(syncProfile, SIGNAL(currentIndexChanged(int)),
   566             mSettingsHelper, SLOT(receivingScheduleChange(int)));
   589             mSettingsHelper, SLOT(receivingScheduleChange(int)));
   567 
   590 
   568         // Mark that user defined mode exists
   591         // Mark that user defined mode exists.
   569         userDefineMode.setValue(1);
   592         userDefineMode.setValue(1);
   570         mSettingsManager->writeSetting(IpsServices::ReceptionUserDefinedProfile, userDefineMode);
   593         mSettingsManager->writeSetting(IpsServices::ReceptionUserDefinedProfile, userDefineMode);
   571     }
   594     }
   572 }
   595 }
   573 
   596 
   574 /*!
   597 /*!
   575 
   598     Handles mail in inbox modifications.
       
   599 
       
   600     \param index Selected value index.
   576 */
   601 */
   577 void NmIpsSettingsPlugin::showMailInInboxModified(int index)
   602 void NmIpsSettingsPlugin::showMailInInboxModified(int index)
   578 {
   603 {
   579     HbDataFormModelItem* item = mSettingsHelper->contentItem(IpsServices::ReceptionInboxSyncWindow);
   604     HbDataFormModelItem* item = mSettingsHelper->contentItem(IpsServices::ReceptionInboxSyncWindow);
   580     QVariant itemData = item->data(HbDataFormModelItem::HbDataFormModelItem::DescriptionRole + 1);
   605     QVariant itemData = item->data(HbDataFormModelItem::HbDataFormModelItem::DescriptionRole + 1);