ipsservices/nmipssettings/src/nmipssettingshelper.cpp
changeset 75 47d84de1c893
parent 65 478bc57ad291
equal deleted inserted replaced
72:64e38f08e49c 75:47d84de1c893
    46 #include "nmipsextendedsettingsmanager.h"
    46 #include "nmipsextendedsettingsmanager.h"
    47 
    47 
    48 // CONSTANTS
    48 // CONSTANTS
    49 
    49 
    50 // Dynamic receiving schedule items.
    50 // Dynamic receiving schedule items.
    51 const IpsServices::SettingItem NmIpsSettingsReceivingScheduleItems[] = {
    51 static const IpsServices::SettingItem NmIpsSettingsReceivingScheduleItems[] = {
    52         IpsServices::ReceptionInboxSyncWindow,
    52         IpsServices::ReceptionInboxSyncWindow,
    53         IpsServices::ReceptionWeekDays,
    53         IpsServices::ReceptionWeekDays,
    54         IpsServices::ReceptionDayStartTime,
    54         IpsServices::ReceptionDayStartTime,
    55         IpsServices::ReceptionDayEndTime,
    55         IpsServices::ReceptionDayEndTime,
    56         IpsServices::ReceptionRefreshPeriodDayTime};
    56         IpsServices::ReceptionRefreshPeriodDayTime};
    57 
    57 
    58 // Dynamic receiving schedule item count.
    58 // Dynamic receiving schedule item count.
    59 const int NmIpsSettingsReceivingScheduleItemCount(
    59 static const int NmIpsSettingsReceivingScheduleItemCount(
    60     sizeof(NmIpsSettingsReceivingScheduleItems) / sizeof(NmIpsSettingsReceivingScheduleItems[0]));
    60     sizeof(NmIpsSettingsReceivingScheduleItems) / sizeof(NmIpsSettingsReceivingScheduleItems[0]));
    61 
    61 
    62 // Index of ReceptionDayStartTime in NmIpsSettingsReceivingScheduleItems array.
    62 // Index of ReceptionDayStartTime in NmIpsSettingsReceivingScheduleItems array.
    63 const int NmIpsSettingsIndexOfReceptionDayStartTime(2);
    63 static const int NmIpsSettingsIndexOfReceptionDayStartTime(2);
    64 
    64 
    65 // Index of user defined mode.
    65 // Index of user defined mode.
    66 const int NmIpsSettingsIndexOfUserDefinedMode(3);
    66 static const int NmIpsSettingsIndexOfUserDefinedMode(3);
    67 
    67 
    68 // Receving schedule item not found value.
    68 // Receving schedule item not found value.
    69 const int NmIpsSettingsRecevingScheduleItemNotFound(-1);
    69 static const int NmIpsSettingsRecevingScheduleItemNotFound(-1);
    70 
    70 
    71 
    71 
    72 
    72 
    73 QTM_USE_NAMESPACE
    73 QTM_USE_NAMESPACE
    74 
    74 
    90 : mCurrentLineEditChanged(false),
    90 : mCurrentLineEditChanged(false),
    91   mEmitOnline(false),
    91   mEmitOnline(false),
    92   mSettingsManager(settingsManager),
    92   mSettingsManager(settingsManager),
    93   mDataForm(dataForm),
    93   mDataForm(dataForm),
    94   mDataFormModel(dataFormModel),
    94   mDataFormModel(dataFormModel),
    95   mDeleteConfirmationDialog(0),
    95   mDeleteConfirmationDialog(NULL),
    96   mIncomingPortInputDialog(0),
    96   mIncomingPortInputDialog(NULL),
    97   mIncomingPortInputValidator(0),
    97   mIncomingPortInputValidator(NULL),
    98   mFolderPathInputDialog(0),
    98   mFolderPathInputDialog(NULL),
    99   mOutgoingPortInputDialog(0),
    99   mOutgoingPortInputDialog(NULL),
   100   mOutgoingPortInputValidator(0),
   100   mOutgoingPortInputValidator(NULL),
   101   mDestinationDialog(0),
   101   mDestinationDialog(NULL),
   102   mServerInfoDynamicItemsVisible(false),
   102   mServerInfoDynamicItemsVisible(false),
   103   mAbortDynamicRSItemHandling(false),
   103   mAbortDynamicRSItemHandling(false),
   104   mCurrentRefreshIndex(-1)
   104   mCurrentRefreshIndex(-1)
   105 {
   105 {
   106 }
   106 }
   314                     refreshMailItems << hbTrId("txt_mailips_setlabel_val_keep_uptodate")
   314                     refreshMailItems << hbTrId("txt_mailips_setlabel_val_keep_uptodate")
   315                                      << HbStringUtil::convertDigits(hbTrId("txt_mailips_setlabel_val_every_15_minutes"))
   315                                      << HbStringUtil::convertDigits(hbTrId("txt_mailips_setlabel_val_every_15_minutes"))
   316                                      << HbStringUtil::convertDigits(hbTrId("txt_mailips_setlabel_val_every_1_hour"))
   316                                      << HbStringUtil::convertDigits(hbTrId("txt_mailips_setlabel_val_every_1_hour"))
   317                                      << HbStringUtil::convertDigits(hbTrId("txt_mailips_setlabel_val_every_4_hours"));
   317                                      << HbStringUtil::convertDigits(hbTrId("txt_mailips_setlabel_val_every_4_hours"));
   318                     formItemData->setContentWidgetData("items", refreshMailItems);
   318                     formItemData->setContentWidgetData("items", refreshMailItems);
   319                     
   319                     formItemData->setContentWidgetData("displayMode","popup");
       
   320 
   320                     mDataForm.addConnection(formItemData, SIGNAL(finished(HbAction *)),
   321                     mDataForm.addConnection(formItemData, SIGNAL(finished(HbAction *)),
   321                            this, SLOT(refreshPeriodModified(HbAction *)));
   322                            this, SLOT(refreshPeriodModified(HbAction *)));
   322                     
   323 
   323                     mDataForm.addConnection(formItemData, SIGNAL(itemSelected(int)),
   324                     mDataForm.addConnection(formItemData, SIGNAL(itemSelected(int)),
   324                            this, SLOT(refreshIndexModified(int)));
   325                            this, SLOT(refreshIndexModified(int)));
   325                 }
   326                 }
   326 
   327 
   327                 // Update data
   328                 // Update data
   886     \return index Used to set the selected value
   887     \return index Used to set the selected value
   887 */
   888 */
   888 int NmIpsSettingsHelper::getCorrectIncomingPortRadioButtonIndex()
   889 int NmIpsSettingsHelper::getCorrectIncomingPortRadioButtonIndex()
   889 {
   890 {
   890     QVariant incomingPort;
   891     QVariant incomingPort;
   891         mSettingsManager.readSetting(IpsServices::IncomingPort, incomingPort);
   892     mSettingsManager.readSetting(IpsServices::IncomingPort, incomingPort);
   892     int index = 0;
   893     int index = 0;
   893     int port = mSettingsManager.determineDefaultIncomingPort();
   894     int port = mSettingsManager.determineDefaultIncomingPort();
   894     if (port == incomingPort.toInt()) {
   895     if (port == incomingPort.toInt()) {
   895         index = IpsServices::NmIpsSettingsDefault;
   896         index = IpsServices::NmIpsSettingsDefault;
   896     } else {
   897     } else {
  1140 void NmIpsSettingsHelper::handleReceivingScheduleSettingChange(
  1141 void NmIpsSettingsHelper::handleReceivingScheduleSettingChange(
  1141     IpsServices::SettingItem settingItem, const QVariant &settingValue)
  1142     IpsServices::SettingItem settingItem, const QVariant &settingValue)
  1142 {
  1143 {
  1143     // Check what was currently active sync mode.
  1144     // Check what was currently active sync mode.
  1144     QVariant setting;
  1145     QVariant setting;
       
  1146     bool profileChanged = false;
  1145     mSettingsManager.readSetting(IpsServices::ReceptionActiveProfile, setting);
  1147     mSettingsManager.readSetting(IpsServices::ReceptionActiveProfile, setting);
  1146     int activeProfile(setting.toInt());
  1148     int activeProfile(setting.toInt());
  1147     if (activeProfile != NmIpsSettingsReceivingScheduleUserDefinedProfile) {
  1149     if (activeProfile != NmIpsSettingsReceivingScheduleUserDefinedProfile) {
  1148         // Create user defined mode if needed.
  1150         // Create user defined mode if needed.
  1149         emit createUserDefinedMode();
  1151         emit createUserDefinedMode();
  1151         // Copy all settings from currently active mode to user defined mode
  1153         // Copy all settings from currently active mode to user defined mode
  1152         copyReceivingScheduleSettingsFromActiveProfile(
  1154         copyReceivingScheduleSettingsFromActiveProfile(
  1153             NmIpsSettingsReceivingScheduleUserDefinedProfile);
  1155             NmIpsSettingsReceivingScheduleUserDefinedProfile);
  1154 
  1156 
  1155         // select 'user defined' mode
  1157         // select 'user defined' mode
       
  1158         emit goOffline(mSettingsManager.mailboxId());
       
  1159         mEmitOnline = true;
       
  1160         profileChanged = true;
  1156         mSettingsManager.writeSetting(IpsServices::ReceptionActiveProfile,
  1161         mSettingsManager.writeSetting(IpsServices::ReceptionActiveProfile,
  1157             NmIpsSettingsReceivingScheduleUserDefinedProfile);
  1162             NmIpsSettingsReceivingScheduleUserDefinedProfile);
  1158     }
  1163     }
  1159 
  1164 
       
  1165     if (!profileChanged) {
       
  1166         emit goOffline(mSettingsManager.mailboxId());
       
  1167         mEmitOnline = true;
       
  1168     }
  1160     // store selected setting
  1169     // store selected setting
  1161     mSettingsManager.writeSetting(settingItem, settingValue);
  1170     mSettingsManager.writeSetting(settingItem, settingValue);
  1162 
  1171 
  1163     // update selection
  1172     // update selection
  1164     HbDataFormModelItem *syncProfile = contentItem(IpsServices::ReceptionActiveProfile);
  1173     HbDataFormModelItem *syncProfile = contentItem(IpsServices::ReceptionActiveProfile);