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