calendarui/settings/src/calensettings.cpp
changeset 23 fd30d51f876b
parent 18 c198609911f9
child 32 ea672fcb0ea0
child 45 b6db4fd4947b
equal deleted inserted replaced
18:c198609911f9 23:fd30d51f876b
    28 #include <calendarinternalcrkeys.h>  // includes CalendarInternalCRKeys.h
    28 #include <calendarinternalcrkeys.h>  // includes CalendarInternalCRKeys.h
    29 
    29 
    30 CalenSettings::CalenSettings(HbDataForm *form, QObject *parent)
    30 CalenSettings::CalenSettings(HbDataForm *form, QObject *parent)
    31 :QObject(parent),
    31 :QObject(parent),
    32  mSettingsForm(form),
    32  mSettingsForm(form),
    33  mSettingsModel(0)
    33  mSettingsModel(0),
       
    34  mShowRegionalInfoItem(NULL)
    34 {   
    35 {   
    35     mSettingsManager = new XQSettingsManager(this);
    36     mSettingsManager = new XQSettingsManager(this);
    36 	mAlarmSnoozeCenrepKey = new XQSettingsKey(
    37 	mAlarmSnoozeCenrepKey = new XQSettingsKey(
    37 										XQSettingsKey::TargetCentralRepository, 
    38 										XQSettingsKey::TargetCentralRepository, 
    38 										KCRUidCalendar, KCalendarSnoozeTime);
    39 										KCRUidCalendar, KCalendarSnoozeTime);
    39 	mWeekNumberCenrepKey = new XQSettingsKey(
    40 	mWeekNumberCenrepKey = new XQSettingsKey(
    40 										XQSettingsKey::TargetCentralRepository, 
    41 										XQSettingsKey::TargetCentralRepository, 
    41 										KCRUidCalendar, KCalendarWeekViewTitle);
    42 										KCRUidCalendar, KCalendarWeekViewTitle);
       
    43 	mShowRegionalInfoKey = new XQSettingsKey(XQSettingsKey::TargetCentralRepository,
       
    44 	                                         KCRUidCalendar, KShowRegionalInformation);
    42 	
    45 	
    43 	// Read the initial values from the cenrep
    46 	// Read the initial values from the cenrep
    44 	QVariant value = mSettingsManager->readItemValue(*mAlarmSnoozeCenrepKey);
    47 	QVariant value = mSettingsManager->readItemValue(*mAlarmSnoozeCenrepKey);
    45 	mAlarmSnoozeTime = value.toUInt();
    48 	mAlarmSnoozeTime = value.toUInt();
    46 	
    49 	
    47 	value = mSettingsManager->readItemValue(*mWeekNumberCenrepKey);
    50 	value = mSettingsManager->readItemValue(*mWeekNumberCenrepKey);
    48 	mShowWeekNumber = value.toUInt();
    51 	mShowWeekNumber = value.toUInt();
       
    52 	
       
    53 	value = mSettingsManager->readItemValue(*mShowRegionalInfoKey);
       
    54 	mShowRegionalInfo = value.toUInt();
    49 }
    55 }
    50 
    56 
    51 CalenSettings::~CalenSettings()
    57 CalenSettings::~CalenSettings()
    52 {
    58 {
    53 	// Nothing yet.
    59 	// Nothing yet.
   100 	// For HbPushButton type properties -- to be used for toggle value item
   106 	// For HbPushButton type properties -- to be used for toggle value item
   101 	mShowWeekNumberItem->setContentWidgetData(QString("text"), 
   107 	mShowWeekNumberItem->setContentWidgetData(QString("text"), 
   102 										QString(hbTrId("txt_calendar_button_no")));
   108 										QString(hbTrId("txt_calendar_button_no")));
   103 	mShowWeekNumberItem->setContentWidgetData(QString("additionalText"), 
   109 	mShowWeekNumberItem->setContentWidgetData(QString("additionalText"), 
   104 										QString(hbTrId("txt_calendar_button_yes")));
   110 										QString(hbTrId("txt_calendar_button_yes")));
       
   111 	
   105 	mSettingsForm->addConnection(mShowWeekNumberItem, SIGNAL(clicked()), 
   112 	mSettingsForm->addConnection(mShowWeekNumberItem, SIGNAL(clicked()), 
   106 										this, SLOT(handleWeekNumberChange()));
   113 	                             this, SLOT(handleWeekNumberChange()));
   107 	mSettingsModel->appendDataFormItem(mShowWeekNumberItem);
   114 	mSettingsModel->appendDataFormItem(mShowWeekNumberItem);
       
   115 	
       
   116 	// TODO: Append the regional information setting only if any regional plugins have been
       
   117 	// loaded by the customisation manager
       
   118 	mShowRegionalInfoItem = new HbDataFormModelItem();
       
   119 	mShowRegionalInfoItem->setType(HbDataFormModelItem::ToggleValueItem);
       
   120 	mShowRegionalInfoItem->setData(HbDataFormModelItem::LabelRole, 
       
   121 	                               QString("Show regional info"));     
       
   122 
       
   123 	// For HbPushButton type properties -- to be used for toggle value item
       
   124 	mShowRegionalInfoItem->setContentWidgetData(QString("text"), 
       
   125 	                                            QString(hbTrId("txt_calendar_button_no")));
       
   126 	mShowRegionalInfoItem->setContentWidgetData(QString("additionalText"), 
       
   127 	                                            QString(hbTrId("txt_calendar_button_yes")));
       
   128 	mSettingsForm->addConnection(mShowRegionalInfoItem, SIGNAL(clicked()),
       
   129 	                             this, SLOT(handleRegionalInfoChange()));
       
   130 	mSettingsModel->appendDataFormItem(mShowRegionalInfoItem);
   108 }
   131 }
   109 
   132 
   110 void CalenSettings::handleAlarmSnoozeTimeChange(int index)
   133 void CalenSettings::handleAlarmSnoozeTimeChange(int index)
   111 {
   134 {
   112 switch(index)
   135 switch(index)
   154 		mShowWeekNumber = 1;
   177 		mShowWeekNumber = 1;
   155 		mSettingsManager->writeItemValue(*mWeekNumberCenrepKey, 1);
   178 		mSettingsManager->writeItemValue(*mWeekNumberCenrepKey, 1);
   156 	}
   179 	}
   157 }
   180 }
   158 
   181 
       
   182 void CalenSettings::handleRegionalInfoChange()
       
   183 {
       
   184     QVariant data = mShowRegionalInfoItem->contentWidgetData(QString("text"));
       
   185     QString value = data.toString();
       
   186     if(!value.compare(hbTrId("txt_calendar_button_no"))) {    
       
   187         // User has made it OFF
       
   188         mShowRegionalInfo = 0;
       
   189         mSettingsManager->writeItemValue(*mShowRegionalInfoKey, 0);
       
   190     } else if(!value.compare(hbTrId("txt_calendar_button_yes"))) {
       
   191         // User has made it ON.
       
   192         mShowRegionalInfo = 1;
       
   193         mSettingsManager->writeItemValue(*mShowRegionalInfoKey, 1);
       
   194     }
       
   195 }
       
   196 
   159 void CalenSettings::populateSettingList()
   197 void CalenSettings::populateSettingList()
   160 {   
   198 {   
   161     // Read the values from cenrep
   199     // Read the values from cenrep
   162     // Read the initial values from the cenrep
   200     // Read the initial values from the cenrep
   163     QVariant value = mSettingsManager->readItemValue(*mAlarmSnoozeCenrepKey);
   201     QVariant value = mSettingsManager->readItemValue(*mAlarmSnoozeCenrepKey);
   199         {
   237         {
   200         mShowWeekNumberItem->setContentWidgetData(QString("text"), 
   238         mShowWeekNumberItem->setContentWidgetData(QString("text"), 
   201 												QString(hbTrId("txt_calendar_button_no")));
   239 												QString(hbTrId("txt_calendar_button_no")));
   202         mShowWeekNumberItem->setContentWidgetData(QString("additionalText"), 
   240         mShowWeekNumberItem->setContentWidgetData(QString("additionalText"), 
   203 												QString(hbTrId("txt_calendar_button_yes")));
   241 												QString(hbTrId("txt_calendar_button_yes")));
   204         }    
   242         }
       
   243     
       
   244     value = mSettingsManager->readItemValue(*mShowRegionalInfoKey);
       
   245     mShowRegionalInfo = value.toUInt();
       
   246     
       
   247     if (mShowRegionalInfo) {
       
   248         mShowRegionalInfoItem->setContentWidgetData(QString("text"), 
       
   249                                                     QString(hbTrId("txt_calendar_button_yes")));
       
   250         mShowRegionalInfoItem->setContentWidgetData(QString("additionalText"), 
       
   251                                                   QString(hbTrId("txt_calendar_button_no")));
       
   252     } else {
       
   253         mShowRegionalInfoItem->setContentWidgetData(QString("text"), 
       
   254                                                     QString(hbTrId("txt_calendar_button_no")));
       
   255         mShowRegionalInfoItem->setContentWidgetData(QString("additionalText"), 
       
   256                                                     QString(hbTrId("txt_calendar_button_yes")));
       
   257     }
       
   258     
   205     mSettingsForm->setModel(mSettingsModel);
   259     mSettingsForm->setModel(mSettingsModel);
   206 }
   260 }
   207 // End of file
   261 // End of file