ipsservices/nmipssettings/src/nmipssettingshelper.cpp
changeset 59 16ed8d08d0b1
parent 54 997a02608b3a
child 65 478bc57ad291
--- a/ipsservices/nmipssettings/src/nmipssettingshelper.cpp	Tue Jul 06 14:04:34 2010 +0300
+++ b/ipsservices/nmipssettings/src/nmipssettingshelper.cpp	Wed Aug 18 09:37:47 2010 +0300
@@ -23,6 +23,7 @@
 #include <HbGlobal>
 #include <HbMessageBox>
 #include <HbProgressDialog>
+#include <HbNotificationDialog>
 #include <HbInputDialog>
 #include <HbDataFormModel>
 #include <HbExtendedLocale>
@@ -92,7 +93,6 @@
   mDataForm(dataForm),
   mDataFormModel(dataFormModel),
   mDeleteConfirmationDialog(0),
-  mDeleteInformationDialog(0),
   mIncomingPortInputDialog(0),
   mIncomingPortInputValidator(0),
   mFolderPathInputDialog(0),
@@ -111,7 +111,6 @@
 {
     mContentItems.clear();
     delete mDeleteConfirmationDialog;
-    delete mDeleteInformationDialog;
     delete mIncomingPortInputDialog;
     delete mIncomingPortInputValidator;
     delete mFolderPathInputDialog;
@@ -346,10 +345,10 @@
     Creates the setting items under the Serverinfo group items user authentication.
 */
 void NmIpsSettingsHelper::createServerInfoGroupDynamicItems(bool hiddenItem)
-{   
+{
     HbDataFormModelItem *item = mContentItems.value(IpsServices::SMTPAuthentication);
     int insertIndex = mServerInfoGroupItem->indexOf(item) + 1;
-        
+
     // Username
     QVariant username;
     mSettingsManager.readSetting(IpsServices::OutgoingLoginName, username);
@@ -378,7 +377,7 @@
     mDataForm.addConnection(passwordItem, SIGNAL(editingFinished()),
                             this, SLOT(saveOutgoingPassword()));
     mServerInfoGroupItem->insertChild(insertIndex + 1, passwordItem);
-    
+
     mServerInfoDynamicItemsVisible = true;
 }
 
@@ -597,11 +596,12 @@
 void NmIpsSettingsHelper::deleteButtonPress()
 {
     if(!mDeleteConfirmationDialog) {
-        mDeleteConfirmationDialog = 
+        mDeleteConfirmationDialog =
             new HbMessageBox(HbMessageBox::MessageTypeQuestion);
         mDeleteConfirmationDialog->setText(
             hbTrId("txt_mail_dialog_do_you_want_to_delete_the_mailbox"));
         mDeleteConfirmationDialog->setTimeout(HbMessageBox::NoTimeout);
+        mDeleteConfirmationDialog->setStandardButtons(HbMessageBox::Yes | HbMessageBox::No);
     }
     mDeleteConfirmationDialog->open(this, SLOT(handleMailboxDelete(HbAction *)));
 }
@@ -611,20 +611,20 @@
 */
 void NmIpsSettingsHelper::handleMailboxDelete(HbAction *action)
 {
-    if (action == mDeleteConfirmationDialog->actions().at(0)) {        
+    if (action == mDeleteConfirmationDialog->actions().at(0)) {
         emit goOffline(mSettingsManager.mailboxId());
         mEmitOnline = false;
-    
+
         QVariant mailboxName;
         mSettingsManager.readSetting(IpsServices::MailboxName, mailboxName);
-    
+
         // Display the progress note. Before display the note, remove the cancel
         // button.
         HbProgressDialog progressNote(HbProgressDialog::WaitDialog);
         progressNote.setText(hbTrId("txt_common_info_deleting"));
         progressNote.removeAction(progressNote.actions().at(0));
         progressNote.delayedShow();
-    
+
         if (!mSettingsManager.deleteMailbox()) {
             // The mailbox was deleted successfully.
 
@@ -633,16 +633,12 @@
 
             // Hide the progress note and display the "mailbox deleted" dialog.
             progressNote.close();
-            
-            if (!mDeleteInformationDialog) {
-                mDeleteInformationDialog = 
-                    new HbMessageBox(HbMessageBox::MessageTypeInformation);
-                mDeleteInformationDialog->setText(
-                    hbTrId("txt_mail_dpophead _1_deleted").arg(mailboxName.toString()));
-                mDeleteInformationDialog->setTimeout(HbMessageBox::NoTimeout);
-            }
-            mDeleteInformationDialog->open(this, SLOT(handleMailboxDeleteUpdate(HbAction *)));            
-            
+
+            HbNotificationDialog *note = new HbNotificationDialog();
+            QString noteText = hbTrId("txt_mail_dialog_1_deleted").arg(mailboxName.toString());
+            note->setTitle(noteText);
+            note->setAttribute(Qt::WA_DeleteOnClose);
+            note->open(this, SLOT(handleMailboxDeleteUpdate(HbAction *)));
         } else {
             // Failed to delete the mailbox!
             progressNote.close();
@@ -824,13 +820,13 @@
 void NmIpsSettingsHelper::incomingPortChange(int index)
 {
     int previousindex = getCorrectIncomingPortRadioButtonIndex();
-    
+
     if (index == IpsServices::NmIpsSettingsDefault) {
         if (index != previousindex) {
             emit goOffline(mSettingsManager.mailboxId());
             mEmitOnline = true;
             int port = mSettingsManager.determineDefaultIncomingPort();
-            mSettingsManager.writeSetting(IpsServices::IncomingPort, port);    
+            mSettingsManager.writeSetting(IpsServices::IncomingPort, port);
         }
     } else if (index == IpsServices::NmIpsSettingsUserDefined) {
         showIncomingPortInputDialog();
@@ -841,24 +837,24 @@
     Shows an input dialog for allowing the user to specify a incoming port.
 */
 void NmIpsSettingsHelper::showIncomingPortInputDialog()
-{    
+{
     // User can open the dialog multiple times, so delete the old ones first.
     delete mIncomingPortInputDialog;
     mIncomingPortInputDialog = 0;
     delete mIncomingPortInputValidator;
     mIncomingPortInputValidator = 0;
-    
+
     mIncomingPortInputDialog = new HbInputDialog();
     mIncomingPortInputDialog->setInputMode(HbInputDialog::IntInput);
     QVariant currentPort;
     mSettingsManager.readSetting(IpsServices::IncomingPort, currentPort);
     mIncomingPortInputValidator = new HbValidator();
-    mIncomingPortInputValidator->addField(new QIntValidator(0, 65535, 0), 
+    mIncomingPortInputValidator->addField(new QIntValidator(0, 65535, 0),
                         HbStringUtil::convertDigits(QString::number(currentPort.toInt())));
     mIncomingPortInputDialog->setValidator(mIncomingPortInputValidator);
     mIncomingPortInputDialog->setPromptText(
         hbTrId("txt_mailips_setlabel_incoming_port_user_defined"));
-    
+
     mIncomingPortInputDialog->open(this, SLOT(handleUserDefinedIncomingPortInput(HbAction *)));
 }
 
@@ -868,7 +864,7 @@
 void NmIpsSettingsHelper::handleUserDefinedIncomingPortInput(HbAction *action)
 {
     int previousindex = getCorrectIncomingPortRadioButtonIndex();
-    
+
     if (action == mIncomingPortInputDialog->actions().at(0)) {
         QVariant newPort = mIncomingPortInputDialog->value();
         emit goOffline(mSettingsManager.mailboxId());
@@ -882,7 +878,7 @@
 }
 
 /*!
-    Used for getting the index to display in the port radio button list 
+    Used for getting the index to display in the port radio button list
     \return index Used to set the selected value
 */
 int NmIpsSettingsHelper::getCorrectIncomingPortRadioButtonIndex()
@@ -903,9 +899,9 @@
     Saves the incoming secure connection value into database if user has changed the value.
 */
 void NmIpsSettingsHelper::incomingSecureConnectionItemChange(int index)
-{  
+{
     int previousindex = getCorrectIncomingSecureRadioButtonIndex();
-    
+
     if (previousindex != index) {
         emit goOffline(mSettingsManager.mailboxId());
         mEmitOnline = true;
@@ -914,17 +910,17 @@
                 mSettingsManager.writeSetting(IpsServices::IncomingSecureSockets, true);
                 mSettingsManager.writeSetting(IpsServices::IncomingSSLWrapper, false);
                 break;
-    
+
             case IpsServices::EMailSslTls: // On (SSL/TLS)
                 mSettingsManager.writeSetting(IpsServices::IncomingSecureSockets, false);
                 mSettingsManager.writeSetting(IpsServices::IncomingSSLWrapper, true);
                 break;
-    
+
             case IpsServices::EMailSecurityOff: // Off
                 mSettingsManager.writeSetting(IpsServices::IncomingSecureSockets, false);
                 mSettingsManager.writeSetting(IpsServices::IncomingSSLWrapper, false);
                 break;
-    
+
              default:
                 break;
         }
@@ -949,10 +945,10 @@
     QVariant secureSSLWrapper;
     mSettingsManager.readSetting(IpsServices::IncomingSecureSockets, secureSockets);
     mSettingsManager.readSetting(IpsServices::IncomingSSLWrapper, secureSSLWrapper);
-    
+
     IpsServices::TIpsSetDataSecurityTypes securityType = IpsServices::EMailStartTls;
     // secureSockets == True
-    if (secureSockets.toBool()) { 
+    if (secureSockets.toBool()) {
         securityType = IpsServices::EMailStartTls;
     }
     // secureSockets == False & secureSSLWrapper == True
@@ -976,10 +972,10 @@
     QVariant secureSSLWrapper;
     mSettingsManager.readSetting(IpsServices::OutgoingSecureSockets, secureSockets);
     mSettingsManager.readSetting(IpsServices::OutgoingSSLWrapper, secureSSLWrapper);
-    
+
     IpsServices::TIpsSetDataSecurityTypes securityType = IpsServices::EMailStartTls;
     // secureSockets == True
-    if (secureSockets.toBool()) { 
+    if (secureSockets.toBool()) {
         securityType = IpsServices::EMailStartTls;
     }
     // secureSockets == False & secureSSLWrapper == True
@@ -999,14 +995,14 @@
 void NmIpsSettingsHelper::folderPathChange(int index)
 {
     int previousindex = getCorrectFolderPathRadioButtonIndex();
-        
+
     if (index == IpsServices::NmIpsSettingsDefault) {
         if (index != previousindex ) {
             // Empty string sets the folder path to default.
-            mSettingsManager.writeSetting(IpsServices::FolderPath, "");    
+            mSettingsManager.writeSetting(IpsServices::FolderPath, "");
         }
     } else if (index == IpsServices::NmIpsSettingsUserDefined) {
-        showFolderPathInputDialog();       
+        showFolderPathInputDialog();
     }
 }
 
@@ -1014,19 +1010,19 @@
     Show a input dialog for allowing the user to specify a folder path.
 */
 void NmIpsSettingsHelper::showFolderPathInputDialog()
-{   
+{
     // User can open the dialog multiple times, so delete the old one first.
     delete mFolderPathInputDialog;
     mFolderPathInputDialog = 0;
-    
+
     QVariant folderPath;
     mSettingsManager.readSetting(IpsServices::FolderPath, folderPath);
-    
+
     mFolderPathInputDialog = new HbInputDialog();
     mFolderPathInputDialog->setInputMode(HbInputDialog::TextInput);
     mFolderPathInputDialog->setPromptText(hbTrId("txt_mailips_setlabel_folder_path_user_defined"));
     mFolderPathInputDialog->setValue(folderPath.toString());
-    
+
     mFolderPathInputDialog->open(this, SLOT(handleUserDefinedFolderPathInput(HbAction *)));
 }
 
@@ -1036,10 +1032,10 @@
 void NmIpsSettingsHelper::handleUserDefinedFolderPathInput(HbAction *action)
 {
     int previousindex = getCorrectFolderPathRadioButtonIndex();
-    
+
     HbDataFormModelItem *item = mContentItems.value(IpsServices::FolderPath);
-    
-    if (action == mFolderPathInputDialog->actions().at(0)) { 
+
+    if (action == mFolderPathInputDialog->actions().at(0)) {
         QVariant newFolderPath = mFolderPathInputDialog->value();
         mSettingsManager.writeSetting(IpsServices::FolderPath, newFolderPath);
         //set selected index to default if user inputed empty string.
@@ -1135,14 +1131,14 @@
 }
 
 /*!
-    Used for getting the index to display in the inbox path radio button list 
+    Used for getting the index to display in the inbox path radio button list
     \return index Used to set the selected value
 */
 int NmIpsSettingsHelper::getCorrectFolderPathRadioButtonIndex()
 {
     QVariant folderPath;
     mSettingsManager.readSetting(IpsServices::FolderPath, folderPath);
-    
+
     int index(0);
     if (folderPath.toString().isEmpty()) {
         index = IpsServices::NmIpsSettingsDefault;
@@ -1282,13 +1278,13 @@
 void NmIpsSettingsHelper::outgoingPortChange(int index)
 {
     int previousindex = getCorrectOutgoingPortRadioButtonIndex();
-    
+
     if (index == IpsServices::NmIpsSettingsDefault) {
         if (index != previousindex) {
             emit goOffline(mSettingsManager.mailboxId());
             mEmitOnline = true;
             int port = mSettingsManager.determineDefaultOutgoingPort();
-            mSettingsManager.writeSetting(IpsServices::OutgoingPort, port);    
+            mSettingsManager.writeSetting(IpsServices::OutgoingPort, port);
         }
     } else if (index == IpsServices::NmIpsSettingsUserDefined) {
         showOutgoingPortInputDialog();
@@ -1305,18 +1301,18 @@
     mOutgoingPortInputDialog = 0;
     delete mOutgoingPortInputValidator;
     mOutgoingPortInputValidator = 0;
-    
+
     mOutgoingPortInputDialog = new HbInputDialog();
     mOutgoingPortInputDialog->setInputMode(HbInputDialog::IntInput);
     QVariant currentPort;
     mSettingsManager.readSetting(IpsServices::OutgoingPort, currentPort);
     mOutgoingPortInputValidator = new HbValidator();
-    mOutgoingPortInputValidator->addField(new QIntValidator(0, 65535, 0), 
+    mOutgoingPortInputValidator->addField(new QIntValidator(0, 65535, 0),
                         HbStringUtil::convertDigits(QString::number(currentPort.toInt())));
     mOutgoingPortInputDialog->setValidator(mOutgoingPortInputValidator);
     mOutgoingPortInputDialog->setPromptText(
         hbTrId("txt_mailips_setlabel_incoming_port_user_defined"));
-    
+
     mOutgoingPortInputDialog->open(this, SLOT(handleUserDefinedOutgoingPortInput(HbAction *)));
 }
 
@@ -1327,7 +1323,7 @@
 void NmIpsSettingsHelper::handleUserDefinedOutgoingPortInput(HbAction *action)
 {
     int previousindex = getCorrectOutgoingPortRadioButtonIndex();
-    
+
     if (action == mOutgoingPortInputDialog->actions().at(0)) {
         QVariant newPort = mOutgoingPortInputDialog->value();
         emit goOffline(mSettingsManager.mailboxId());
@@ -1365,7 +1361,7 @@
 {
     QVariant outgoingPort;
     mSettingsManager.readSetting(IpsServices::OutgoingPort, outgoingPort);
-    
+
     int index = 0;
     int port = mSettingsManager.determineDefaultOutgoingPort();
     if (port == outgoingPort.toInt()) {
@@ -1399,7 +1395,7 @@
     incomingLoginName = temp.toString();
     mSettingsManager.readSetting(IpsServices::IncomingPassword, temp);
     incomingPassword = temp.toString();
-    
+
     if (outgoingAuthentication) {
         if (outgoingLoginName == incomingLoginName && outgoingPassword == incomingPassword) {
             index = IpsServices::EMailAuthSameAsIncoming;
@@ -1419,9 +1415,9 @@
     \param index Selected radio button index.
 */
 void NmIpsSettingsHelper::outgoingSecureConnectionItemChange(int index)
-{      
+{
     int previousindex = getCorrectOutgoingSecureRadioButtonIndex();
-    
+
     if (previousindex != index) {
         emit goOffline(mSettingsManager.mailboxId());
         mEmitOnline = true;
@@ -1463,7 +1459,7 @@
 void NmIpsSettingsHelper::outgoingAuthenticationChange(int index)
 {
     int previousindex = getCorrectOutgoingAuthenticationRadioButtonIndex();
-    
+
     if (previousindex != index) {
         QVariant loginName;
         QVariant loginPassword;
@@ -1478,10 +1474,10 @@
             case IpsServices::EMailAuthSameAsIncoming: // Same as Incoming
                 deleteServerInfoGroupDynamicItems();
                 mSettingsManager.writeSetting(IpsServices::SMTPAuthentication, true);
-              
+
                 mSettingsManager.readSetting(IpsServices::IncomingLoginName, loginName);
                 mSettingsManager.writeSetting(IpsServices::OutgoingLoginName, loginName);
-                
+
                 mSettingsManager.readSetting(IpsServices::IncomingPassword, loginPassword);
                 mSettingsManager.writeSetting(IpsServices::OutgoingPassword, loginPassword);
                 break;
@@ -1490,7 +1486,7 @@
                 mSettingsManager.writeSetting(IpsServices::SMTPAuthentication, true);
                 createServerInfoGroupDynamicItems(false);
                 break;
-                
+
              default:
                 break;
         }