ipsservices/nmipssettings/src/nmipssettingsplugin.cpp
changeset 47 f83bd4ae1fe3
parent 44 c2d07d913565
child 51 d845db10c0d4
child 65 478bc57ad291
equal deleted inserted replaced
45:780f926bc26c 47:f83bd4ae1fe3
    97     \return <code>true</code> if plug-in contains certain mailbox otherwise <code>false</code>
    97     \return <code>true</code> if plug-in contains certain mailbox otherwise <code>false</code>
    98 */
    98 */
    99 bool NmIpsSettingsPlugin::populateModel(HbDataFormModel &model,
    99 bool NmIpsSettingsPlugin::populateModel(HbDataFormModel &model,
   100     HbDataForm &form, const NmId &mailboxId)
   100     HbDataForm &form, const NmId &mailboxId)
   101 {
   101 {
   102     // Turns AlwaysOnline OFF
       
   103     setAlwaysOnlineState(EServerAPIEmailTurnOff, mailboxId);
       
   104     
       
   105     // Store model and form pointers.
       
   106     mModel = &model;
       
   107     mForm = &form;
       
   108 
       
   109     // populateModel is called each time when a new settings view is created and this
   102     // populateModel is called each time when a new settings view is created and this
   110     // plugin is destructed only after the mail settings is exited, so
   103     // plugin is destructed only after the mail settings is exited, so
   111     // SettingsManager and SettingsHelper needs to be deleted.
   104     // SettingsManager and SettingsHelper needs to be deleted.
   112     delete mSettingsManager;
   105     delete mSettingsManager;
   113     delete mSettingsHelper;
   106     delete mSettingsHelper;
   117     bool result(false);
   110     bool result(false);
   118 
   111 
   119     // This plugin is only used when the mailbox is a IMAP or POP3 account.
   112     // This plugin is only used when the mailbox is a IMAP or POP3 account.
   120     // Settings manager object is valid if the mailboxId is IMAP or POP3 account.
   113     // Settings manager object is valid if the mailboxId is IMAP or POP3 account.
   121     if (mSettingsManager) {
   114     if (mSettingsManager) {
       
   115         // Turns AlwaysOnline OFF
       
   116         setAlwaysOnlineState(EServerAPIEmailTurnOff, mailboxId);
       
   117         
       
   118         // Store model and form pointers.
       
   119         mModel = &model;
       
   120         mForm = &form;
       
   121         
   122         // Create settings helper.
   122         // Create settings helper.
   123         mSettingsHelper = new NmIpsSettingsHelper(*mSettingsManager, form, model);
   123         mSettingsHelper = new NmIpsSettingsHelper(*mSettingsManager, form, model);
   124 
   124 
   125         connect(mSettingsHelper,
   125         connect(mSettingsHelper,
   126                 SIGNAL(mailboxListChanged(const NmId &, NmSettings::MailboxEventType)),
   126                 SIGNAL(mailboxListChanged(const NmId &, NmSettings::MailboxEventType)),
   132         connect(mSettingsHelper, SIGNAL(goOffline(const NmId &)),
   132         connect(mSettingsHelper, SIGNAL(goOffline(const NmId &)),
   133                 this, SIGNAL(goOffline(const NmId &)));
   133                 this, SIGNAL(goOffline(const NmId &)));
   134 
   134 
   135         connect(mSettingsHelper, SIGNAL(createUserDefinedMode()),
   135         connect(mSettingsHelper, SIGNAL(createUserDefinedMode()),
   136                 this, SLOT(createUserDefinedMode()));
   136                 this, SLOT(createUserDefinedMode()));
   137 
       
   138         connect(mModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), 
       
   139                 mSettingsHelper, SLOT(handleModelDataChange(QModelIndex, QModelIndex)));
       
   140         
   137         
   141         // Get the value if some ui items need to be hidden.
   138         // Get the value if some ui items need to be hidden.
   142         QVariant data;
   139         QVariant data;
   143         mSettingsManager->readSetting(IpsServices::UserNameHidden, data);
   140         mSettingsManager->readSetting(IpsServices::UserNameHidden, data);
   144         mHiddenItem = data.toBool();
   141         mHiddenItem = data.toBool();
   450     incomingSecureConnectionItem->setContentWidgetData(QString("items"), showSCItems);
   447     incomingSecureConnectionItem->setContentWidgetData(QString("items"), showSCItems);
   451     int incomingSecureConnectionItemIndex = 
   448     int incomingSecureConnectionItemIndex = 
   452         mSettingsHelper->getCorrectIncomingSecureRadioButtonIndex();
   449         mSettingsHelper->getCorrectIncomingSecureRadioButtonIndex();
   453     incomingSecureConnectionItem->setContentWidgetData(QString("selected"), 
   450     incomingSecureConnectionItem->setContentWidgetData(QString("selected"), 
   454                                                        incomingSecureConnectionItemIndex);
   451                                                        incomingSecureConnectionItemIndex);
       
   452     mForm->addConnection(incomingSecureConnectionItem, SIGNAL(itemSelected(int)),             
       
   453             mSettingsHelper, SLOT(incomingSecureConnectionItemChange(int)));
   455     if (mHiddenItem) {
   454     if (mHiddenItem) {
   456         incomingSecureConnectionItem->setEnabled(false);
   455         incomingSecureConnectionItem->setEnabled(false);
   457     }
   456     }
   458     item.appendChild(incomingSecureConnectionItem);
   457     item.appendChild(incomingSecureConnectionItem);
   459     
   458     
   466     incomingPortItems << hbTrId("txt_mailips_setlabel_incoming_port_default")
   465     incomingPortItems << hbTrId("txt_mailips_setlabel_incoming_port_default")
   467                       << hbTrId("txt_mailips_setlabel_incoming_port_user_defined");
   466                       << hbTrId("txt_mailips_setlabel_incoming_port_user_defined");
   468     incomingPortItem->setContentWidgetData(QString("items"), incomingPortItems);
   467     incomingPortItem->setContentWidgetData(QString("items"), incomingPortItems);
   469     int incomingPortItemIndex = mSettingsHelper->getCorrectIncomingPortRadioButtonIndex(); 
   468     int incomingPortItemIndex = mSettingsHelper->getCorrectIncomingPortRadioButtonIndex(); 
   470     incomingPortItem->setContentWidgetData(QString("selected"), incomingPortItemIndex);
   469     incomingPortItem->setContentWidgetData(QString("selected"), incomingPortItemIndex);
       
   470     mForm->addConnection(incomingPortItem, SIGNAL(itemSelected(int)),
       
   471         mSettingsHelper, SLOT(incomingPortChange(int)));
   471     if (mHiddenItem) {
   472     if (mHiddenItem) {
   472         incomingPortItem->setEnabled(false);
   473         incomingPortItem->setEnabled(false);
   473     }
   474     }
   474     item.appendChild(incomingPortItem);
   475     item.appendChild(incomingPortItem);
   475     
   476     
   502     outgoingSecureConnectionItem->setContentWidgetData(QString("items"), outgoingShowSCItems);
   503     outgoingSecureConnectionItem->setContentWidgetData(QString("items"), outgoingShowSCItems);
   503     int outgoingSecureConnectionItemIndex = 
   504     int outgoingSecureConnectionItemIndex = 
   504         mSettingsHelper->getCorrectOutgoingSecureRadioButtonIndex();
   505         mSettingsHelper->getCorrectOutgoingSecureRadioButtonIndex();
   505     outgoingSecureConnectionItem->setContentWidgetData(QString("selected"), 
   506     outgoingSecureConnectionItem->setContentWidgetData(QString("selected"), 
   506                                                        outgoingSecureConnectionItemIndex);
   507                                                        outgoingSecureConnectionItemIndex);
       
   508     mForm->addConnection(outgoingSecureConnectionItem, SIGNAL(itemSelected(int)),             
       
   509             mSettingsHelper, SLOT(outgoingSecureConnectionItemChange(int)));
   507     if (mHiddenItem) {
   510     if (mHiddenItem) {
   508         outgoingSecureConnectionItem->setEnabled(false);
   511         outgoingSecureConnectionItem->setEnabled(false);
   509     }
   512     }
   510     item.appendChild(outgoingSecureConnectionItem);
   513     item.appendChild(outgoingSecureConnectionItem);
   511 
   514 
   518     outgoingPortItems << hbTrId("txt_mailips_setlabel_incoming_port_default")
   521     outgoingPortItems << hbTrId("txt_mailips_setlabel_incoming_port_default")
   519                       << hbTrId("txt_mailips_setlabel_incoming_port_user_defined");
   522                       << hbTrId("txt_mailips_setlabel_incoming_port_user_defined");
   520     outgoingPortItem->setContentWidgetData(QString("items"), outgoingPortItems);
   523     outgoingPortItem->setContentWidgetData(QString("items"), outgoingPortItems);
   521     int outgoingPortItemIndex = mSettingsHelper->getCorrectOutgoingPortRadioButtonIndex(); 
   524     int outgoingPortItemIndex = mSettingsHelper->getCorrectOutgoingPortRadioButtonIndex(); 
   522     outgoingPortItem->setContentWidgetData(QString("selected"), outgoingPortItemIndex);
   525     outgoingPortItem->setContentWidgetData(QString("selected"), outgoingPortItemIndex);
       
   526     mForm->addConnection(outgoingPortItem, SIGNAL(itemSelected(int)),
       
   527         mSettingsHelper, SLOT(outgoingPortChange(int)));
   523     if (mHiddenItem) {
   528     if (mHiddenItem) {
   524         outgoingPortItem->setEnabled(false);
   529         outgoingPortItem->setEnabled(false);
   525     }
   530     }
   526     item.appendChild(outgoingPortItem);
   531     item.appendChild(outgoingPortItem);
   527     
   532     
   536                                 << hbTrId("txt_mailips_setlabel_outgoing_authentication_user");
   541                                 << hbTrId("txt_mailips_setlabel_outgoing_authentication_user");
   537     outgoingAuthenticationItem->setContentWidgetData(QString("items"), outgoingAuthenticationItems);
   542     outgoingAuthenticationItem->setContentWidgetData(QString("items"), outgoingAuthenticationItems);
   538     int outgoingAuthenticationIndex = 
   543     int outgoingAuthenticationIndex = 
   539         mSettingsHelper->getCorrectOutgoingAuthenticationRadioButtonIndex(); 
   544         mSettingsHelper->getCorrectOutgoingAuthenticationRadioButtonIndex(); 
   540     outgoingAuthenticationItem->setContentWidgetData(QString("selected"), outgoingAuthenticationIndex);
   545     outgoingAuthenticationItem->setContentWidgetData(QString("selected"), outgoingAuthenticationIndex);
       
   546     mForm->addConnection(outgoingAuthenticationItem, SIGNAL(itemSelected(int)),
       
   547         mSettingsHelper, SLOT(outgoingAuthenticationChange(int)));
   541     item.appendChild(outgoingAuthenticationItem);
   548     item.appendChild(outgoingAuthenticationItem);
   542     if (mHiddenItem) {
   549     if (mHiddenItem) {
   543         outgoingAuthenticationItem->setEnabled(false);
   550         outgoingAuthenticationItem->setEnabled(false);
   544     }
   551     }
   545     if (outgoingAuthenticationIndex == IpsServices::EMailAuthUserAuthentication) {
   552     if (outgoingAuthenticationIndex == IpsServices::EMailAuthUserAuthentication) {
   557         folderPathItems << hbTrId("txt_mailips_setlabel_folder_path_val_default")
   564         folderPathItems << hbTrId("txt_mailips_setlabel_folder_path_val_default")
   558                         << hbTrId("txt_mailips_setlabel_folder_path_user_defined");
   565                         << hbTrId("txt_mailips_setlabel_folder_path_user_defined");
   559         folderPathItem->setContentWidgetData(QString("items"), folderPathItems);
   566         folderPathItem->setContentWidgetData(QString("items"), folderPathItems);
   560         int folderPathItemIndex = mSettingsHelper->getCorrectFolderPathRadioButtonIndex();
   567         int folderPathItemIndex = mSettingsHelper->getCorrectFolderPathRadioButtonIndex();
   561         folderPathItem->setContentWidgetData(QString("selected"), folderPathItemIndex);
   568         folderPathItem->setContentWidgetData(QString("selected"), folderPathItemIndex);
       
   569         mForm->addConnection(folderPathItem, SIGNAL(itemSelected(int)),
       
   570             mSettingsHelper, SLOT(folderPathChange(int)));
   562         item.appendChild(folderPathItem);
   571         item.appendChild(folderPathItem);
   563     }
   572     }
   564 }
   573 }
   565 
   574 
   566 /*!
   575 /*!