--- a/ipsservices/nmipssettings/src/nmipssettingshelper.cpp Thu Aug 05 21:09:09 2010 +0300
+++ b/ipsservices/nmipssettings/src/nmipssettingshelper.cpp Mon Aug 23 23:32:31 2010 +0300
@@ -100,7 +100,8 @@
mOutgoingPortInputValidator(0),
mDestinationDialog(0),
mServerInfoDynamicItemsVisible(false),
- mAbortDynamicRSItemHandling(false)
+ mAbortDynamicRSItemHandling(false),
+ mCurrentRefreshIndex(-1)
{
}
@@ -315,9 +316,12 @@
<< HbStringUtil::convertDigits(hbTrId("txt_mailips_setlabel_val_every_1_hour"))
<< HbStringUtil::convertDigits(hbTrId("txt_mailips_setlabel_val_every_4_hours"));
formItemData->setContentWidgetData("items", refreshMailItems);
- mDataForm.addConnection(
- formItemData, SIGNAL(valueChanged(QPersistentModelIndex, QVariant)),
- this, SLOT(refreshPeriodModified(QPersistentModelIndex, QVariant)));
+
+ mDataForm.addConnection(formItemData, SIGNAL(finished(HbAction *)),
+ this, SLOT(refreshPeriodModified(HbAction *)));
+
+ mDataForm.addConnection(formItemData, SIGNAL(itemSelected(int)),
+ this, SLOT(refreshIndexModified(int)));
}
// Update data
@@ -1095,28 +1099,6 @@
}
/*!
- Handles refresh period modifications.
- \param value Selected value as a text.
-*/
-void NmIpsSettingsHelper::refreshPeriodModified(QPersistentModelIndex, QVariant value)
-{
- QMap<QString, int> conversionTable;
- conversionTable[HbStringUtil::convertDigits(hbTrId("txt_mailips_setlabel_val_keep_uptodate"))] = 5;
- conversionTable[HbStringUtil::convertDigits(hbTrId("txt_mailips_setlabel_val_every_15_minutes"))] = 15;
- conversionTable[HbStringUtil::convertDigits(hbTrId("txt_mailips_setlabel_val_every_1_hour"))] = 60;
- conversionTable[HbStringUtil::convertDigits(hbTrId("txt_mailips_setlabel_val_every_4_hours"))] = 240;
-
- int selectedValue(conversionTable.value(value.toString()));
- QVariant previouslySelectedValue;
- mSettingsManager.readSetting(IpsServices::ReceptionRefreshPeriodDayTime,
- previouslySelectedValue);
- if (selectedValue != previouslySelectedValue.toInt()) {
- handleReceivingScheduleSettingChange(IpsServices::ReceptionRefreshPeriodDayTime,
- selectedValue);
- }
-}
-
-/*!
Handles end time modifications.
\param time Modified start time.
*/
@@ -1521,3 +1503,40 @@
// Open the dialog.
mDestinationDialog->open();
}
+
+/*!
+Handles refresh period modifications.
+
+Index Value
+0 5 minutes
+1 15 minutes
+2 60 minutes
+3 240 minutes
+
+\param index The index value of the selection.
+*/
+void NmIpsSettingsHelper::refreshIndexModified(int index)
+{
+ mCurrentRefreshIndex = index;
+}
+
+/*!
+ Handles refresh period modifications.
+ \param action Action that determines whether user clicked OK or cancel.
+*/
+void NmIpsSettingsHelper::refreshPeriodModified(HbAction *action)
+{
+ if ((action->text() == hbTrId("txt_common_button_ok")
+ && (mCurrentRefreshIndex >=0 && mCurrentRefreshIndex <=3))) {
+ int conversionTable[] = { 5, 15, 60, 240 };
+ int selectedValue(conversionTable[mCurrentRefreshIndex]);
+ QVariant previouslySelectedValue;
+ mSettingsManager.readSetting(IpsServices::ReceptionRefreshPeriodDayTime,
+ previouslySelectedValue);
+ if (selectedValue != previouslySelectedValue.toInt()) {
+ handleReceivingScheduleSettingChange(IpsServices::ReceptionRefreshPeriodDayTime,
+ selectedValue);
+ }
+ }
+ mCurrentRefreshIndex = -1;
+}