344 |
344 |
345 /*! |
345 /*! |
346 Creates the setting items under the Serverinfo group items user authentication. |
346 Creates the setting items under the Serverinfo group items user authentication. |
347 */ |
347 */ |
348 void NmIpsSettingsHelper::createServerInfoGroupDynamicItems(bool hiddenItem) |
348 void NmIpsSettingsHelper::createServerInfoGroupDynamicItems(bool hiddenItem) |
349 { |
349 { |
350 HbDataFormModelItem *item = mContentItems.value(IpsServices::SMTPAuthentication); |
350 HbDataFormModelItem *item = mContentItems.value(IpsServices::SMTPAuthentication); |
351 int insertIndex = mServerInfoGroupItem->indexOf(item) + 1; |
351 int insertIndex = mServerInfoGroupItem->indexOf(item) + 1; |
352 |
352 |
353 // Username |
353 // Username |
354 QVariant username; |
354 QVariant username; |
355 mSettingsManager.readSetting(IpsServices::OutgoingLoginName, username); |
355 mSettingsManager.readSetting(IpsServices::OutgoingLoginName, username); |
356 CpSettingFormItemData *usernameItem = new CpSettingFormItemData( |
356 CpSettingFormItemData *usernameItem = new CpSettingFormItemData( |
357 HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_username")); |
357 HbDataFormModelItem::TextItem, hbTrId("txt_mailips_setlabel_username")); |
376 passwordItem->setContentWidgetData("text", password); |
376 passwordItem->setContentWidgetData("text", password); |
377 passwordItem->setContentWidgetData("echoMode", HbLineEdit::PasswordEchoOnEdit); |
377 passwordItem->setContentWidgetData("echoMode", HbLineEdit::PasswordEchoOnEdit); |
378 mDataForm.addConnection(passwordItem, SIGNAL(editingFinished()), |
378 mDataForm.addConnection(passwordItem, SIGNAL(editingFinished()), |
379 this, SLOT(saveOutgoingPassword())); |
379 this, SLOT(saveOutgoingPassword())); |
380 mServerInfoGroupItem->insertChild(insertIndex + 1, passwordItem); |
380 mServerInfoGroupItem->insertChild(insertIndex + 1, passwordItem); |
381 |
381 |
382 mServerInfoDynamicItemsVisible = true; |
382 mServerInfoDynamicItemsVisible = true; |
383 } |
383 } |
384 |
384 |
385 /*! |
385 /*! |
386 Saves the My Name value into database if user has changed the value. |
386 Saves the My Name value into database if user has changed the value. |
595 Shows the confirmation dialog for user. |
595 Shows the confirmation dialog for user. |
596 */ |
596 */ |
597 void NmIpsSettingsHelper::deleteButtonPress() |
597 void NmIpsSettingsHelper::deleteButtonPress() |
598 { |
598 { |
599 if(!mDeleteConfirmationDialog) { |
599 if(!mDeleteConfirmationDialog) { |
600 mDeleteConfirmationDialog = |
600 mDeleteConfirmationDialog = |
601 new HbMessageBox(HbMessageBox::MessageTypeQuestion); |
601 new HbMessageBox(HbMessageBox::MessageTypeQuestion); |
602 mDeleteConfirmationDialog->setText( |
602 mDeleteConfirmationDialog->setText( |
603 hbTrId("txt_mail_dialog_do_you_want_to_delete_the_mailbox")); |
603 hbTrId("txt_mail_dialog_do_you_want_to_delete_the_mailbox")); |
604 mDeleteConfirmationDialog->setTimeout(HbMessageBox::NoTimeout); |
604 mDeleteConfirmationDialog->setTimeout(HbMessageBox::NoTimeout); |
|
605 mDeleteConfirmationDialog->setStandardButtons(HbMessageBox::Yes | HbMessageBox::No); |
605 } |
606 } |
606 mDeleteConfirmationDialog->open(this, SLOT(handleMailboxDelete(HbAction *))); |
607 mDeleteConfirmationDialog->open(this, SLOT(handleMailboxDelete(HbAction *))); |
607 } |
608 } |
608 |
609 |
609 /*! |
610 /*! |
610 Deletes mailbox and displays the proper notes. |
611 Deletes mailbox and displays the proper notes. |
611 */ |
612 */ |
612 void NmIpsSettingsHelper::handleMailboxDelete(HbAction *action) |
613 void NmIpsSettingsHelper::handleMailboxDelete(HbAction *action) |
613 { |
614 { |
614 if (action == mDeleteConfirmationDialog->actions().at(0)) { |
615 if (action == mDeleteConfirmationDialog->actions().at(0)) { |
615 emit goOffline(mSettingsManager.mailboxId()); |
616 emit goOffline(mSettingsManager.mailboxId()); |
616 mEmitOnline = false; |
617 mEmitOnline = false; |
617 |
618 |
618 QVariant mailboxName; |
619 QVariant mailboxName; |
619 mSettingsManager.readSetting(IpsServices::MailboxName, mailboxName); |
620 mSettingsManager.readSetting(IpsServices::MailboxName, mailboxName); |
620 |
621 |
621 // Display the progress note. Before display the note, remove the cancel |
622 // Display the progress note. Before display the note, remove the cancel |
622 // button. |
623 // button. |
623 HbProgressDialog progressNote(HbProgressDialog::WaitDialog); |
624 HbProgressDialog progressNote(HbProgressDialog::WaitDialog); |
624 progressNote.setText(hbTrId("txt_common_info_deleting")); |
625 progressNote.setText(hbTrId("txt_common_info_deleting")); |
625 progressNote.removeAction(progressNote.actions().at(0)); |
626 progressNote.removeAction(progressNote.actions().at(0)); |
626 progressNote.delayedShow(); |
627 progressNote.delayedShow(); |
627 |
628 |
628 if (!mSettingsManager.deleteMailbox()) { |
629 if (!mSettingsManager.deleteMailbox()) { |
629 // The mailbox was deleted successfully. |
630 // The mailbox was deleted successfully. |
630 |
631 |
631 // Delete the mailbox also from AppLib. |
632 // Delete the mailbox also from AppLib. |
632 updateAppLib(UnregisterMailbox); |
633 updateAppLib(UnregisterMailbox); |
633 |
634 |
634 // Hide the progress note and display the "mailbox deleted" dialog. |
635 // Hide the progress note and display the "mailbox deleted" dialog. |
635 progressNote.close(); |
636 progressNote.close(); |
636 |
637 |
637 if (!mDeleteInformationDialog) { |
638 if (!mDeleteInformationDialog) { |
638 mDeleteInformationDialog = |
639 mDeleteInformationDialog = |
639 new HbMessageBox(HbMessageBox::MessageTypeInformation); |
640 new HbMessageBox(HbMessageBox::MessageTypeInformation); |
640 mDeleteInformationDialog->setText( |
641 mDeleteInformationDialog->setText( |
641 hbTrId("txt_mail_dpophead _1_deleted").arg(mailboxName.toString())); |
642 hbTrId("txt_mail_dpophead _1_deleted").arg(mailboxName.toString())); |
642 mDeleteInformationDialog->setTimeout(HbMessageBox::NoTimeout); |
643 mDeleteInformationDialog->setTimeout(HbMessageBox::NoTimeout); |
643 } |
644 } |
644 mDeleteInformationDialog->open(this, SLOT(handleMailboxDeleteUpdate(HbAction *))); |
645 mDeleteInformationDialog->open(this, SLOT(handleMailboxDeleteUpdate(HbAction *))); |
645 |
646 |
646 } else { |
647 } else { |
647 // Failed to delete the mailbox! |
648 // Failed to delete the mailbox! |
648 progressNote.close(); |
649 progressNote.close(); |
649 } |
650 } |
650 } |
651 } |
822 \param index Used to determine if the default value or a user defined value should be written |
823 \param index Used to determine if the default value or a user defined value should be written |
823 */ |
824 */ |
824 void NmIpsSettingsHelper::incomingPortChange(int index) |
825 void NmIpsSettingsHelper::incomingPortChange(int index) |
825 { |
826 { |
826 int previousindex = getCorrectIncomingPortRadioButtonIndex(); |
827 int previousindex = getCorrectIncomingPortRadioButtonIndex(); |
827 |
828 |
828 if (index == IpsServices::NmIpsSettingsDefault) { |
829 if (index == IpsServices::NmIpsSettingsDefault) { |
829 if (index != previousindex) { |
830 if (index != previousindex) { |
830 emit goOffline(mSettingsManager.mailboxId()); |
831 emit goOffline(mSettingsManager.mailboxId()); |
831 mEmitOnline = true; |
832 mEmitOnline = true; |
832 int port = mSettingsManager.determineDefaultIncomingPort(); |
833 int port = mSettingsManager.determineDefaultIncomingPort(); |
833 mSettingsManager.writeSetting(IpsServices::IncomingPort, port); |
834 mSettingsManager.writeSetting(IpsServices::IncomingPort, port); |
834 } |
835 } |
835 } else if (index == IpsServices::NmIpsSettingsUserDefined) { |
836 } else if (index == IpsServices::NmIpsSettingsUserDefined) { |
836 showIncomingPortInputDialog(); |
837 showIncomingPortInputDialog(); |
837 } |
838 } |
838 } |
839 } |
839 |
840 |
840 /*! |
841 /*! |
841 Shows an input dialog for allowing the user to specify a incoming port. |
842 Shows an input dialog for allowing the user to specify a incoming port. |
842 */ |
843 */ |
843 void NmIpsSettingsHelper::showIncomingPortInputDialog() |
844 void NmIpsSettingsHelper::showIncomingPortInputDialog() |
844 { |
845 { |
845 // User can open the dialog multiple times, so delete the old ones first. |
846 // User can open the dialog multiple times, so delete the old ones first. |
846 delete mIncomingPortInputDialog; |
847 delete mIncomingPortInputDialog; |
847 mIncomingPortInputDialog = 0; |
848 mIncomingPortInputDialog = 0; |
848 delete mIncomingPortInputValidator; |
849 delete mIncomingPortInputValidator; |
849 mIncomingPortInputValidator = 0; |
850 mIncomingPortInputValidator = 0; |
850 |
851 |
851 mIncomingPortInputDialog = new HbInputDialog(); |
852 mIncomingPortInputDialog = new HbInputDialog(); |
852 mIncomingPortInputDialog->setInputMode(HbInputDialog::IntInput); |
853 mIncomingPortInputDialog->setInputMode(HbInputDialog::IntInput); |
853 QVariant currentPort; |
854 QVariant currentPort; |
854 mSettingsManager.readSetting(IpsServices::IncomingPort, currentPort); |
855 mSettingsManager.readSetting(IpsServices::IncomingPort, currentPort); |
855 mIncomingPortInputValidator = new HbValidator(); |
856 mIncomingPortInputValidator = new HbValidator(); |
856 mIncomingPortInputValidator->addField(new QIntValidator(0, 65535, 0), |
857 mIncomingPortInputValidator->addField(new QIntValidator(0, 65535, 0), |
857 HbStringUtil::convertDigits(QString::number(currentPort.toInt()))); |
858 HbStringUtil::convertDigits(QString::number(currentPort.toInt()))); |
858 mIncomingPortInputDialog->setValidator(mIncomingPortInputValidator); |
859 mIncomingPortInputDialog->setValidator(mIncomingPortInputValidator); |
859 mIncomingPortInputDialog->setPromptText( |
860 mIncomingPortInputDialog->setPromptText( |
860 hbTrId("txt_mailips_setlabel_incoming_port_user_defined")); |
861 hbTrId("txt_mailips_setlabel_incoming_port_user_defined")); |
861 |
862 |
862 mIncomingPortInputDialog->open(this, SLOT(handleUserDefinedIncomingPortInput(HbAction *))); |
863 mIncomingPortInputDialog->open(this, SLOT(handleUserDefinedIncomingPortInput(HbAction *))); |
863 } |
864 } |
864 |
865 |
865 /*! |
866 /*! |
866 Handles the saving of the port new value. |
867 Handles the saving of the port new value. |
867 */ |
868 */ |
868 void NmIpsSettingsHelper::handleUserDefinedIncomingPortInput(HbAction *action) |
869 void NmIpsSettingsHelper::handleUserDefinedIncomingPortInput(HbAction *action) |
869 { |
870 { |
870 int previousindex = getCorrectIncomingPortRadioButtonIndex(); |
871 int previousindex = getCorrectIncomingPortRadioButtonIndex(); |
871 |
872 |
872 if (action == mIncomingPortInputDialog->actions().at(0)) { |
873 if (action == mIncomingPortInputDialog->actions().at(0)) { |
873 QVariant newPort = mIncomingPortInputDialog->value(); |
874 QVariant newPort = mIncomingPortInputDialog->value(); |
874 emit goOffline(mSettingsManager.mailboxId()); |
875 emit goOffline(mSettingsManager.mailboxId()); |
875 mEmitOnline = true; |
876 mEmitOnline = true; |
876 mSettingsManager.writeSetting(IpsServices::IncomingPort, newPort); |
877 mSettingsManager.writeSetting(IpsServices::IncomingPort, newPort); |
901 |
902 |
902 /*! |
903 /*! |
903 Saves the incoming secure connection value into database if user has changed the value. |
904 Saves the incoming secure connection value into database if user has changed the value. |
904 */ |
905 */ |
905 void NmIpsSettingsHelper::incomingSecureConnectionItemChange(int index) |
906 void NmIpsSettingsHelper::incomingSecureConnectionItemChange(int index) |
906 { |
907 { |
907 int previousindex = getCorrectIncomingSecureRadioButtonIndex(); |
908 int previousindex = getCorrectIncomingSecureRadioButtonIndex(); |
908 |
909 |
909 if (previousindex != index) { |
910 if (previousindex != index) { |
910 emit goOffline(mSettingsManager.mailboxId()); |
911 emit goOffline(mSettingsManager.mailboxId()); |
911 mEmitOnline = true; |
912 mEmitOnline = true; |
912 switch (index) { |
913 switch (index) { |
913 case IpsServices::EMailStartTls: // On (Start TLS) |
914 case IpsServices::EMailStartTls: // On (Start TLS) |
914 mSettingsManager.writeSetting(IpsServices::IncomingSecureSockets, true); |
915 mSettingsManager.writeSetting(IpsServices::IncomingSecureSockets, true); |
915 mSettingsManager.writeSetting(IpsServices::IncomingSSLWrapper, false); |
916 mSettingsManager.writeSetting(IpsServices::IncomingSSLWrapper, false); |
916 break; |
917 break; |
917 |
918 |
918 case IpsServices::EMailSslTls: // On (SSL/TLS) |
919 case IpsServices::EMailSslTls: // On (SSL/TLS) |
919 mSettingsManager.writeSetting(IpsServices::IncomingSecureSockets, false); |
920 mSettingsManager.writeSetting(IpsServices::IncomingSecureSockets, false); |
920 mSettingsManager.writeSetting(IpsServices::IncomingSSLWrapper, true); |
921 mSettingsManager.writeSetting(IpsServices::IncomingSSLWrapper, true); |
921 break; |
922 break; |
922 |
923 |
923 case IpsServices::EMailSecurityOff: // Off |
924 case IpsServices::EMailSecurityOff: // Off |
924 mSettingsManager.writeSetting(IpsServices::IncomingSecureSockets, false); |
925 mSettingsManager.writeSetting(IpsServices::IncomingSecureSockets, false); |
925 mSettingsManager.writeSetting(IpsServices::IncomingSSLWrapper, false); |
926 mSettingsManager.writeSetting(IpsServices::IncomingSSLWrapper, false); |
926 break; |
927 break; |
927 |
928 |
928 default: |
929 default: |
929 break; |
930 break; |
930 } |
931 } |
931 // Update incoming port value only if default incoming port used |
932 // Update incoming port value only if default incoming port used |
932 HbDataFormModelItem *item = mContentItems.value(IpsServices::IncomingPort); |
933 HbDataFormModelItem *item = mContentItems.value(IpsServices::IncomingPort); |
947 { |
948 { |
948 QVariant secureSockets; |
949 QVariant secureSockets; |
949 QVariant secureSSLWrapper; |
950 QVariant secureSSLWrapper; |
950 mSettingsManager.readSetting(IpsServices::IncomingSecureSockets, secureSockets); |
951 mSettingsManager.readSetting(IpsServices::IncomingSecureSockets, secureSockets); |
951 mSettingsManager.readSetting(IpsServices::IncomingSSLWrapper, secureSSLWrapper); |
952 mSettingsManager.readSetting(IpsServices::IncomingSSLWrapper, secureSSLWrapper); |
952 |
953 |
953 IpsServices::TIpsSetDataSecurityTypes securityType = IpsServices::EMailStartTls; |
954 IpsServices::TIpsSetDataSecurityTypes securityType = IpsServices::EMailStartTls; |
954 // secureSockets == True |
955 // secureSockets == True |
955 if (secureSockets.toBool()) { |
956 if (secureSockets.toBool()) { |
956 securityType = IpsServices::EMailStartTls; |
957 securityType = IpsServices::EMailStartTls; |
957 } |
958 } |
958 // secureSockets == False & secureSSLWrapper == True |
959 // secureSockets == False & secureSSLWrapper == True |
959 else if (secureSSLWrapper.toBool()) { |
960 else if (secureSSLWrapper.toBool()) { |
960 securityType = IpsServices::EMailSslTls; |
961 securityType = IpsServices::EMailSslTls; |
974 { |
975 { |
975 QVariant secureSockets; |
976 QVariant secureSockets; |
976 QVariant secureSSLWrapper; |
977 QVariant secureSSLWrapper; |
977 mSettingsManager.readSetting(IpsServices::OutgoingSecureSockets, secureSockets); |
978 mSettingsManager.readSetting(IpsServices::OutgoingSecureSockets, secureSockets); |
978 mSettingsManager.readSetting(IpsServices::OutgoingSSLWrapper, secureSSLWrapper); |
979 mSettingsManager.readSetting(IpsServices::OutgoingSSLWrapper, secureSSLWrapper); |
979 |
980 |
980 IpsServices::TIpsSetDataSecurityTypes securityType = IpsServices::EMailStartTls; |
981 IpsServices::TIpsSetDataSecurityTypes securityType = IpsServices::EMailStartTls; |
981 // secureSockets == True |
982 // secureSockets == True |
982 if (secureSockets.toBool()) { |
983 if (secureSockets.toBool()) { |
983 securityType = IpsServices::EMailStartTls; |
984 securityType = IpsServices::EMailStartTls; |
984 } |
985 } |
985 // secureSockets == False & secureSSLWrapper == True |
986 // secureSockets == False & secureSSLWrapper == True |
986 else if (secureSSLWrapper.toBool()) { |
987 else if (secureSSLWrapper.toBool()) { |
987 securityType = IpsServices::EMailSslTls; |
988 securityType = IpsServices::EMailSslTls; |
997 Saves the folderpath value into database if user has changed the value. |
998 Saves the folderpath value into database if user has changed the value. |
998 */ |
999 */ |
999 void NmIpsSettingsHelper::folderPathChange(int index) |
1000 void NmIpsSettingsHelper::folderPathChange(int index) |
1000 { |
1001 { |
1001 int previousindex = getCorrectFolderPathRadioButtonIndex(); |
1002 int previousindex = getCorrectFolderPathRadioButtonIndex(); |
1002 |
1003 |
1003 if (index == IpsServices::NmIpsSettingsDefault) { |
1004 if (index == IpsServices::NmIpsSettingsDefault) { |
1004 if (index != previousindex ) { |
1005 if (index != previousindex ) { |
1005 // Empty string sets the folder path to default. |
1006 // Empty string sets the folder path to default. |
1006 mSettingsManager.writeSetting(IpsServices::FolderPath, ""); |
1007 mSettingsManager.writeSetting(IpsServices::FolderPath, ""); |
1007 } |
1008 } |
1008 } else if (index == IpsServices::NmIpsSettingsUserDefined) { |
1009 } else if (index == IpsServices::NmIpsSettingsUserDefined) { |
1009 showFolderPathInputDialog(); |
1010 showFolderPathInputDialog(); |
1010 } |
1011 } |
1011 } |
1012 } |
1012 |
1013 |
1013 /*! |
1014 /*! |
1014 Show a input dialog for allowing the user to specify a folder path. |
1015 Show a input dialog for allowing the user to specify a folder path. |
1015 */ |
1016 */ |
1016 void NmIpsSettingsHelper::showFolderPathInputDialog() |
1017 void NmIpsSettingsHelper::showFolderPathInputDialog() |
1017 { |
1018 { |
1018 // User can open the dialog multiple times, so delete the old one first. |
1019 // User can open the dialog multiple times, so delete the old one first. |
1019 delete mFolderPathInputDialog; |
1020 delete mFolderPathInputDialog; |
1020 mFolderPathInputDialog = 0; |
1021 mFolderPathInputDialog = 0; |
1021 |
1022 |
1022 QVariant folderPath; |
1023 QVariant folderPath; |
1023 mSettingsManager.readSetting(IpsServices::FolderPath, folderPath); |
1024 mSettingsManager.readSetting(IpsServices::FolderPath, folderPath); |
1024 |
1025 |
1025 mFolderPathInputDialog = new HbInputDialog(); |
1026 mFolderPathInputDialog = new HbInputDialog(); |
1026 mFolderPathInputDialog->setInputMode(HbInputDialog::TextInput); |
1027 mFolderPathInputDialog->setInputMode(HbInputDialog::TextInput); |
1027 mFolderPathInputDialog->setPromptText(hbTrId("txt_mailips_setlabel_folder_path_user_defined")); |
1028 mFolderPathInputDialog->setPromptText(hbTrId("txt_mailips_setlabel_folder_path_user_defined")); |
1028 mFolderPathInputDialog->setValue(folderPath.toString()); |
1029 mFolderPathInputDialog->setValue(folderPath.toString()); |
1029 |
1030 |
1030 mFolderPathInputDialog->open(this, SLOT(handleUserDefinedFolderPathInput(HbAction *))); |
1031 mFolderPathInputDialog->open(this, SLOT(handleUserDefinedFolderPathInput(HbAction *))); |
1031 } |
1032 } |
1032 |
1033 |
1033 /*! |
1034 /*! |
1034 Handels the saving of the folder path new value. |
1035 Handels the saving of the folder path new value. |
1035 */ |
1036 */ |
1036 void NmIpsSettingsHelper::handleUserDefinedFolderPathInput(HbAction *action) |
1037 void NmIpsSettingsHelper::handleUserDefinedFolderPathInput(HbAction *action) |
1037 { |
1038 { |
1038 int previousindex = getCorrectFolderPathRadioButtonIndex(); |
1039 int previousindex = getCorrectFolderPathRadioButtonIndex(); |
1039 |
1040 |
1040 HbDataFormModelItem *item = mContentItems.value(IpsServices::FolderPath); |
1041 HbDataFormModelItem *item = mContentItems.value(IpsServices::FolderPath); |
1041 |
1042 |
1042 if (action == mFolderPathInputDialog->actions().at(0)) { |
1043 if (action == mFolderPathInputDialog->actions().at(0)) { |
1043 QVariant newFolderPath = mFolderPathInputDialog->value(); |
1044 QVariant newFolderPath = mFolderPathInputDialog->value(); |
1044 mSettingsManager.writeSetting(IpsServices::FolderPath, newFolderPath); |
1045 mSettingsManager.writeSetting(IpsServices::FolderPath, newFolderPath); |
1045 //set selected index to default if user inputed empty string. |
1046 //set selected index to default if user inputed empty string. |
1046 if (newFolderPath.toString().isEmpty()) { |
1047 if (newFolderPath.toString().isEmpty()) { |
1047 item->setContentWidgetData("selected", IpsServices::NmIpsSettingsDefault); |
1048 item->setContentWidgetData("selected", IpsServices::NmIpsSettingsDefault); |
1133 handleReceivingScheduleSettingChange(IpsServices::ReceptionDayEndTime, endTime); |
1134 handleReceivingScheduleSettingChange(IpsServices::ReceptionDayEndTime, endTime); |
1134 } |
1135 } |
1135 } |
1136 } |
1136 |
1137 |
1137 /*! |
1138 /*! |
1138 Used for getting the index to display in the inbox path radio button list |
1139 Used for getting the index to display in the inbox path radio button list |
1139 \return index Used to set the selected value |
1140 \return index Used to set the selected value |
1140 */ |
1141 */ |
1141 int NmIpsSettingsHelper::getCorrectFolderPathRadioButtonIndex() |
1142 int NmIpsSettingsHelper::getCorrectFolderPathRadioButtonIndex() |
1142 { |
1143 { |
1143 QVariant folderPath; |
1144 QVariant folderPath; |
1144 mSettingsManager.readSetting(IpsServices::FolderPath, folderPath); |
1145 mSettingsManager.readSetting(IpsServices::FolderPath, folderPath); |
1145 |
1146 |
1146 int index(0); |
1147 int index(0); |
1147 if (folderPath.toString().isEmpty()) { |
1148 if (folderPath.toString().isEmpty()) { |
1148 index = IpsServices::NmIpsSettingsDefault; |
1149 index = IpsServices::NmIpsSettingsDefault; |
1149 } else { |
1150 } else { |
1150 index = IpsServices::NmIpsSettingsUserDefined; |
1151 index = IpsServices::NmIpsSettingsUserDefined; |
1280 \param index Used to determine if the default value or a user defined value should be written |
1281 \param index Used to determine if the default value or a user defined value should be written |
1281 */ |
1282 */ |
1282 void NmIpsSettingsHelper::outgoingPortChange(int index) |
1283 void NmIpsSettingsHelper::outgoingPortChange(int index) |
1283 { |
1284 { |
1284 int previousindex = getCorrectOutgoingPortRadioButtonIndex(); |
1285 int previousindex = getCorrectOutgoingPortRadioButtonIndex(); |
1285 |
1286 |
1286 if (index == IpsServices::NmIpsSettingsDefault) { |
1287 if (index == IpsServices::NmIpsSettingsDefault) { |
1287 if (index != previousindex) { |
1288 if (index != previousindex) { |
1288 emit goOffline(mSettingsManager.mailboxId()); |
1289 emit goOffline(mSettingsManager.mailboxId()); |
1289 mEmitOnline = true; |
1290 mEmitOnline = true; |
1290 int port = mSettingsManager.determineDefaultOutgoingPort(); |
1291 int port = mSettingsManager.determineDefaultOutgoingPort(); |
1291 mSettingsManager.writeSetting(IpsServices::OutgoingPort, port); |
1292 mSettingsManager.writeSetting(IpsServices::OutgoingPort, port); |
1292 } |
1293 } |
1293 } else if (index == IpsServices::NmIpsSettingsUserDefined) { |
1294 } else if (index == IpsServices::NmIpsSettingsUserDefined) { |
1294 showOutgoingPortInputDialog(); |
1295 showOutgoingPortInputDialog(); |
1295 } |
1296 } |
1296 } |
1297 } |
1303 // User can open the dialog multiple times, so delete the old ones first. |
1304 // User can open the dialog multiple times, so delete the old ones first. |
1304 delete mOutgoingPortInputDialog; |
1305 delete mOutgoingPortInputDialog; |
1305 mOutgoingPortInputDialog = 0; |
1306 mOutgoingPortInputDialog = 0; |
1306 delete mOutgoingPortInputValidator; |
1307 delete mOutgoingPortInputValidator; |
1307 mOutgoingPortInputValidator = 0; |
1308 mOutgoingPortInputValidator = 0; |
1308 |
1309 |
1309 mOutgoingPortInputDialog = new HbInputDialog(); |
1310 mOutgoingPortInputDialog = new HbInputDialog(); |
1310 mOutgoingPortInputDialog->setInputMode(HbInputDialog::IntInput); |
1311 mOutgoingPortInputDialog->setInputMode(HbInputDialog::IntInput); |
1311 QVariant currentPort; |
1312 QVariant currentPort; |
1312 mSettingsManager.readSetting(IpsServices::OutgoingPort, currentPort); |
1313 mSettingsManager.readSetting(IpsServices::OutgoingPort, currentPort); |
1313 mOutgoingPortInputValidator = new HbValidator(); |
1314 mOutgoingPortInputValidator = new HbValidator(); |
1314 mOutgoingPortInputValidator->addField(new QIntValidator(0, 65535, 0), |
1315 mOutgoingPortInputValidator->addField(new QIntValidator(0, 65535, 0), |
1315 HbStringUtil::convertDigits(QString::number(currentPort.toInt()))); |
1316 HbStringUtil::convertDigits(QString::number(currentPort.toInt()))); |
1316 mOutgoingPortInputDialog->setValidator(mOutgoingPortInputValidator); |
1317 mOutgoingPortInputDialog->setValidator(mOutgoingPortInputValidator); |
1317 mOutgoingPortInputDialog->setPromptText( |
1318 mOutgoingPortInputDialog->setPromptText( |
1318 hbTrId("txt_mailips_setlabel_incoming_port_user_defined")); |
1319 hbTrId("txt_mailips_setlabel_incoming_port_user_defined")); |
1319 |
1320 |
1320 mOutgoingPortInputDialog->open(this, SLOT(handleUserDefinedOutgoingPortInput(HbAction *))); |
1321 mOutgoingPortInputDialog->open(this, SLOT(handleUserDefinedOutgoingPortInput(HbAction *))); |
1321 } |
1322 } |
1322 |
1323 |
1323 /*! |
1324 /*! |
1324 Handles the saving of the port new value. |
1325 Handles the saving of the port new value. |
1325 \action Selected action. |
1326 \action Selected action. |
1326 */ |
1327 */ |
1327 void NmIpsSettingsHelper::handleUserDefinedOutgoingPortInput(HbAction *action) |
1328 void NmIpsSettingsHelper::handleUserDefinedOutgoingPortInput(HbAction *action) |
1328 { |
1329 { |
1329 int previousindex = getCorrectOutgoingPortRadioButtonIndex(); |
1330 int previousindex = getCorrectOutgoingPortRadioButtonIndex(); |
1330 |
1331 |
1331 if (action == mOutgoingPortInputDialog->actions().at(0)) { |
1332 if (action == mOutgoingPortInputDialog->actions().at(0)) { |
1332 QVariant newPort = mOutgoingPortInputDialog->value(); |
1333 QVariant newPort = mOutgoingPortInputDialog->value(); |
1333 emit goOffline(mSettingsManager.mailboxId()); |
1334 emit goOffline(mSettingsManager.mailboxId()); |
1334 mEmitOnline = true; |
1335 mEmitOnline = true; |
1335 mSettingsManager.writeSetting(IpsServices::OutgoingPort, newPort); |
1336 mSettingsManager.writeSetting(IpsServices::OutgoingPort, newPort); |
1397 outgoingPassword = temp.toString(); |
1398 outgoingPassword = temp.toString(); |
1398 mSettingsManager.readSetting(IpsServices::IncomingLoginName, temp); |
1399 mSettingsManager.readSetting(IpsServices::IncomingLoginName, temp); |
1399 incomingLoginName = temp.toString(); |
1400 incomingLoginName = temp.toString(); |
1400 mSettingsManager.readSetting(IpsServices::IncomingPassword, temp); |
1401 mSettingsManager.readSetting(IpsServices::IncomingPassword, temp); |
1401 incomingPassword = temp.toString(); |
1402 incomingPassword = temp.toString(); |
1402 |
1403 |
1403 if (outgoingAuthentication) { |
1404 if (outgoingAuthentication) { |
1404 if (outgoingLoginName == incomingLoginName && outgoingPassword == incomingPassword) { |
1405 if (outgoingLoginName == incomingLoginName && outgoingPassword == incomingPassword) { |
1405 index = IpsServices::EMailAuthSameAsIncoming; |
1406 index = IpsServices::EMailAuthSameAsIncoming; |
1406 HbDataFormModelItem *item = mContentItems.value(IpsServices::OutgoingLoginName); |
1407 HbDataFormModelItem *item = mContentItems.value(IpsServices::OutgoingLoginName); |
1407 if (item) { |
1408 if (item) { |
1476 break; |
1477 break; |
1477 |
1478 |
1478 case IpsServices::EMailAuthSameAsIncoming: // Same as Incoming |
1479 case IpsServices::EMailAuthSameAsIncoming: // Same as Incoming |
1479 deleteServerInfoGroupDynamicItems(); |
1480 deleteServerInfoGroupDynamicItems(); |
1480 mSettingsManager.writeSetting(IpsServices::SMTPAuthentication, true); |
1481 mSettingsManager.writeSetting(IpsServices::SMTPAuthentication, true); |
1481 |
1482 |
1482 mSettingsManager.readSetting(IpsServices::IncomingLoginName, loginName); |
1483 mSettingsManager.readSetting(IpsServices::IncomingLoginName, loginName); |
1483 mSettingsManager.writeSetting(IpsServices::OutgoingLoginName, loginName); |
1484 mSettingsManager.writeSetting(IpsServices::OutgoingLoginName, loginName); |
1484 |
1485 |
1485 mSettingsManager.readSetting(IpsServices::IncomingPassword, loginPassword); |
1486 mSettingsManager.readSetting(IpsServices::IncomingPassword, loginPassword); |
1486 mSettingsManager.writeSetting(IpsServices::OutgoingPassword, loginPassword); |
1487 mSettingsManager.writeSetting(IpsServices::OutgoingPassword, loginPassword); |
1487 break; |
1488 break; |
1488 |
1489 |
1489 case IpsServices::EMailAuthUserAuthentication: // User authentication |
1490 case IpsServices::EMailAuthUserAuthentication: // User authentication |
1490 mSettingsManager.writeSetting(IpsServices::SMTPAuthentication, true); |
1491 mSettingsManager.writeSetting(IpsServices::SMTPAuthentication, true); |
1491 createServerInfoGroupDynamicItems(false); |
1492 createServerInfoGroupDynamicItems(false); |
1492 break; |
1493 break; |
1493 |
1494 |
1494 default: |
1495 default: |
1495 break; |
1496 break; |
1496 } |
1497 } |
1497 } |
1498 } |
1498 } |
1499 } |