15 * |
15 * |
16 */ |
16 */ |
17 #include "cpcommunicationgroupitemdata.h" |
17 #include "cpcommunicationgroupitemdata.h" |
18 #include <QStringList> |
18 #include <QStringList> |
19 #include <QtAlgorithms> |
19 #include <QtAlgorithms> |
20 #include <settingsinternalcrkeys.h> |
20 #include <CoreApplicationUIsSDKCRKeys.h> |
21 #include <xqsettingsmanager.h> |
21 #include <xqsettingsmanager.h> |
22 #include <cpitemdatahelper.h> |
22 #include <cpitemdatahelper.h> |
23 |
23 |
24 CpCommunicationGroupItemData::CpCommunicationGroupItemData(const QString &configFile, |
24 CpCommunicationGroupItemData::CpCommunicationGroupItemData(const QString &configFile, |
25 const HbDataFormModelItem *parent): |
25 const HbDataFormModelItem *parent): |
46 delete mSettingManager; |
46 delete mSettingManager; |
47 } |
47 } |
48 |
48 |
49 void CpCommunicationGroupItemData::beforeLoadingConfigPlugins(CpItemDataHelper &itemDataHelper) |
49 void CpCommunicationGroupItemData::beforeLoadingConfigPlugins(CpItemDataHelper &itemDataHelper) |
50 { |
50 { |
51 mAirplaneModeItem = new HbDataFormModelItem(HbDataFormModelItem::ToggleValueItem, |
51 mAirplaneModeItem = new HbDataFormModelItem(HbDataFormModelItem::ToggleValueItem); |
52 hbTrId("txt_cp_setlabel_offline_airplane_mode")); |
|
53 mAirplaneModeItem->setDescription(hbTrId("txt_cp_info_in_offline_mode_all_wireless_communica")); |
52 mAirplaneModeItem->setDescription(hbTrId("txt_cp_info_in_offline_mode_all_wireless_communica")); |
54 |
53 |
55 itemDataHelper.addConnection(mAirplaneModeItem, |
54 itemDataHelper.addConnection(mAirplaneModeItem, |
56 SIGNAL(clicked()), |
55 SIGNAL(clicked()), |
57 this, |
56 this, |
58 SLOT(toggleAirplaneMode())); |
57 SLOT(toggleAirplaneMode())); |
59 |
58 |
60 XQCentralRepositorySettingsKey key(KCRUidCommunicationSettings.iUid,KSettingsAirplaneMode); |
59 XQCentralRepositorySettingsKey key(KCRUidCoreApplicationUIs.iUid,KCoreAppUIsNetworkConnectionAllowed); |
61 QVariant airplaneMode = mSettingManager->readItemValue(key,XQSettingsManager::TypeInt); |
60 QVariant airplaneMode = mSettingManager->readItemValue(key,XQSettingsManager::TypeInt); |
62 settingValueChanged(key,airplaneMode); |
61 settingValueChanged(key,airplaneMode); |
63 |
62 |
64 mSettingManager->startMonitoring(key,XQSettingsManager::TypeInt); |
63 mSettingManager->startMonitoring(key,XQSettingsManager::TypeInt); |
65 connect(mSettingManager, SIGNAL(valueChanged (XQSettingsKey, QVariant)), |
64 connect(mSettingManager, SIGNAL(valueChanged (XQSettingsKey, QVariant)), |
69 |
68 |
70 } |
69 } |
71 |
70 |
72 void CpCommunicationGroupItemData::toggleAirplaneMode() |
71 void CpCommunicationGroupItemData::toggleAirplaneMode() |
73 { |
72 { |
74 XQCentralRepositorySettingsKey key(KCRUidCommunicationSettings.iUid,KSettingsAirplaneMode); |
73 XQCentralRepositorySettingsKey key(KCRUidCoreApplicationUIs.iUid,KCoreAppUIsNetworkConnectionAllowed); |
75 QVariant airplaneMode = mSettingManager->readItemValue(key,XQSettingsManager::TypeInt); |
74 QVariant airplaneMode = mSettingManager->readItemValue(key,XQSettingsManager::TypeInt); |
76 |
75 |
77 airplaneMode.setValue( static_cast<int> (!airplaneMode.toBool()) ); |
76 airplaneMode.setValue( static_cast<int> (!airplaneMode.toBool()) ); |
78 |
77 |
79 mSettingManager->writeItemValue(key,airplaneMode); |
78 mSettingManager->writeItemValue(key,airplaneMode); |
80 } |
79 } |
81 |
80 |
82 void CpCommunicationGroupItemData::settingValueChanged(const XQSettingsKey &key, const QVariant &value) |
81 void CpCommunicationGroupItemData::settingValueChanged(const XQSettingsKey &key, const QVariant &value) |
83 { |
82 { |
84 if (mAirplaneModeItem |
83 if (mAirplaneModeItem |
85 && key.uid() == KCRUidCommunicationSettings.iUid |
84 && key.uid() == KCRUidCoreApplicationUIs.iUid |
86 && key.key() == KSettingsAirplaneMode |
85 && key.key() == KCoreAppUIsNetworkConnectionAllowed |
87 && value.isValid()) { |
86 && value.isValid()) { |
88 QString text = hbTrId("txt_cp_setlabel_offline_mode_val_on"); |
87 QString text = hbTrId("txt_cp_setlabel_offline_mode_val_on"); |
89 QString additionalText = hbTrId("txt_cp_setlabel_offline_mode_val_off"); |
88 QString additionalText = hbTrId("txt_cp_setlabel_offline_mode_val_off"); |
90 if (!value.toBool()) { |
89 if (ECoreAppUIsNetworkConnectionAllowed == value.toInt()) { |
91 ::qSwap (text, additionalText); |
90 ::qSwap (text, additionalText); |
92 } |
91 } |
93 mAirplaneModeItem->setContentWidgetData("text",text); |
92 mAirplaneModeItem->setContentWidgetData("text",text); |
94 mAirplaneModeItem->setContentWidgetData("additionalText",additionalText); |
93 mAirplaneModeItem->setContentWidgetData("additionalText",additionalText); |
95 } |
94 } |