25 #include <cpprofilemodel.h> |
25 #include <cpprofilemodel.h> |
26 #endif |
26 #endif |
27 //#include <hbslider.h> |
27 //#include <hbslider.h> |
28 //#include <hbpushbutton.h> |
28 //#include <hbpushbutton.h> |
29 |
29 |
|
30 #include <xqsettingsmanager.h> |
|
31 #include <ProfileEngineInternalCRKeys.h> |
|
32 #include <ProfileInternal.hrh> |
|
33 |
30 CpVolumeController::CpVolumeController(CpProfileModel *profileModel, |
34 CpVolumeController::CpVolumeController(CpProfileModel *profileModel, |
31 const QList<HbDataFormModelItem *> &itemList, |
35 const QList<HbDataFormModelItem *> &itemList, |
32 CpItemDataHelper &itemDataHelper): |
36 CpItemDataHelper &itemDataHelper) : |
33 mProfileModel(profileModel), |
37 mProfileModel(profileModel), |
34 mItemList(itemList) |
38 mItemList(itemList), |
|
39 mSettingManager(0) |
35 |
40 |
36 { |
41 { |
37 //itemDataHelper.addConnection(mMasterVolumeItem,SIGNAL(beepActivated()),this,SLOT(onBeepActivated())); |
42 //itemDataHelper.addConnection(mMasterVolumeItem,SIGNAL(beepActivated()),this,SLOT(onBeepActivated())); |
38 //itemDataHelper.addConnection(mMasterVolumeItem,SIGNAL(silentActivated()),this,SLOT(onSilentActivated())); |
43 //itemDataHelper.addConnection(mMasterVolumeItem,SIGNAL(silentActivated()),this,SLOT(onSilentActivated())); |
39 //itemDataHelper.addConnection(mMasterVolumeItem,SIGNAL(normalValueChanged(int)),this,SLOT(onNormalValueChanged(int))); |
44 //itemDataHelper.addConnection(mMasterVolumeItem,SIGNAL(normalValueChanged(int)),this,SLOT(onNormalValueChanged(int))); |
40 //updateMasterVolumeValue(); |
45 //updateMasterVolumeValue(); |
|
46 |
|
47 |
41 itemDataHelper.addConnection( |
48 itemDataHelper.addConnection( |
42 mItemList.at(CpVolumeGroupItemData::EVolumeSilenceItem), SIGNAL(toggled(bool)), |
49 mItemList.at(CpVolumeGroupItemData::EVolumeSilenceItem), SIGNAL(toggled(bool)), |
43 this, SLOT(silenceModeChange(bool)) |
50 this, SLOT(silenceModeChange(bool)) |
44 ); |
51 ); |
|
52 |
|
53 |
45 itemDataHelper.addConnection( |
54 itemDataHelper.addConnection( |
46 mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem), SIGNAL(valueChanged(int)), |
55 mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem), SIGNAL(valueChanged(int)), |
47 this, SLOT(masterVolumeChange(int)) |
56 this, SLOT(masterVolumeChange(int)) |
48 ); |
57 ); |
49 itemDataHelper.addConnection( |
58 itemDataHelper.addConnection( |
50 mItemList.at(CpVolumeGroupItemData::EVolumeMasterVibraItem), SIGNAL(stateChanged(int)), |
59 mItemList.at(CpVolumeGroupItemData::EVolumeMasterVibraItem), SIGNAL(stateChanged(int)), |
51 this, SLOT(masterVibraChange(int)) |
60 this, SLOT(masterVibraChange(int)) |
52 ); |
61 ); |
53 update(); |
62 updateUi(); |
|
63 |
|
64 mSettingManager = new XQSettingsManager(); |
|
65 |
|
66 XQCentralRepositorySettingsKey silenceKey(KCRUidProfileEngine.iUid,KProEngSilenceMode); |
|
67 mSettingManager->startMonitoring(silenceKey,XQSettingsManager::TypeInt); |
|
68 |
|
69 XQCentralRepositorySettingsKey masterVolumeKey |
|
70 (KCRUidProfileEngine.iUid,KProEngMasterVolume); |
|
71 mSettingManager->startMonitoring(masterVolumeKey,XQSettingsManager::TypeInt); |
|
72 |
|
73 XQCentralRepositorySettingsKey masterVibraKey |
|
74 (KCRUidProfileEngine.iUid,KProEngMasterVibra); |
|
75 mSettingManager->startMonitoring(masterVibraKey,XQSettingsManager::TypeInt); |
|
76 |
|
77 connect(mSettingManager, SIGNAL(valueChanged (XQSettingsKey, QVariant)), |
|
78 this, SLOT(settingValueChanged(XQSettingsKey, QVariant))); |
54 } |
79 } |
55 |
80 |
56 CpVolumeController::~CpVolumeController() |
81 CpVolumeController::~CpVolumeController() |
57 { |
82 { |
58 |
83 delete mSettingManager; |
59 } |
84 } |
60 |
|
61 /*void CpMasterVolumeValueController::onBeepActivated() |
|
62 { |
|
63 #ifdef Q_OS_SYMBIAN |
|
64 mProfileModel->activateBeep(); |
|
65 #endif |
|
66 }*/ |
|
67 |
85 |
68 void CpVolumeController::silenceModeChange(bool isSilence) |
86 void CpVolumeController::silenceModeChange(bool isSilence) |
69 { |
87 { |
70 #ifdef Q_OS_SYMBIAN |
88 #ifdef Q_OS_SYMBIAN |
71 mProfileModel->setSilenceMode(isSilence); |
89 mProfileModel->setSilenceMode(isSilence); |
72 HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem); |
90 #endif |
73 masterVolume->setEnabled(!isSilence); |
91 } |
74 #endif |
92 |
75 } |
|
76 |
93 |
77 void CpVolumeController::masterVolumeChange(int value) |
94 void CpVolumeController::masterVolumeChange(int value) |
78 { |
95 { |
79 #ifdef Q_OS_SYMBIAN |
96 #ifdef Q_OS_SYMBIAN |
80 mProfileModel->setMasterVolume( volumeLevelToInt( (CpVolumeController::VolumeLevel)value ) ); |
97 mProfileModel->setMasterVolume( volumeLevelToInt( (CpVolumeController::VolumeLevel)value ) ); |
88 #ifdef Q_OS_SYMBIAN |
105 #ifdef Q_OS_SYMBIAN |
89 mProfileModel->setMasterVibra(state); |
106 mProfileModel->setMasterVibra(state); |
90 #endif |
107 #endif |
91 } |
108 } |
92 |
109 |
93 void CpVolumeController::update() |
110 void CpVolumeController::updateUi() |
94 { |
111 { |
95 #ifdef Q_OS_SYMBIAN |
112 #ifdef Q_OS_SYMBIAN |
96 bool isSilenceMode = mProfileModel->isSilenceMode(); |
113 bool isSilenceMode = mProfileModel->silenceMode(); |
97 HbDataFormModelItem *silenceIndicator = mItemList.at(CpVolumeGroupItemData::EVolumeSilenceItem); |
114 HbDataFormModelItem *silenceIndicator = mItemList.at(CpVolumeGroupItemData::EVolumeSilenceItem); |
98 silenceIndicator->setContentWidgetData("checked",isSilenceMode); |
115 if(silenceIndicator) { |
|
116 silenceIndicator->setContentWidgetData("checked",isSilenceMode); |
|
117 } |
99 HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem); |
118 HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem); |
100 if (masterVolume) { |
119 if (masterVolume) { |
101 CPFW_LOG("::updateMasterVolumeValue(), Start using profile model."); |
120 CPFW_LOG("::updateMasterVolumeValue(), Start using profile model."); |
102 QMap<QString, QVariant> iconMaps; |
121 QMap<QString, QVariant> iconMaps; |
103 if (isSilenceMode) { |
122 if (isSilenceMode) { |
104 CPFW_LOG("::updateMasterVolumeValue(), Got silent state."); |
123 CPFW_LOG("::updateMasterVolumeValue(), Got silent state."); |
|
124 iconMaps.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg")); |
|
125 iconMaps.insert(QString("IncreaseElement"), QVariant(":/icon/hb_vol_slider_increment.svg")); |
105 iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_muted.svg")); |
126 iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_muted.svg")); |
106 } |
127 } |
107 else { |
128 else { |
|
129 iconMaps.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg")); |
|
130 iconMaps.insert(QString("IncreaseElement"), QVariant(":/icon/hb_vol_slider_increment.svg")); |
108 iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_unmuted.svg")); |
131 iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_unmuted.svg")); |
109 CPFW_LOG("::updateMasterVolumeValue(), Got ring volume."); |
|
110 } |
132 } |
111 masterVolume->setContentWidgetData("elementIcons", iconMaps); |
133 masterVolume->setContentWidgetData("elementIcons", iconMaps); |
112 masterVolume->setEnabled(!isSilenceMode); |
134 masterVolume->setEnabled(!isSilenceMode); |
113 //masterVolume->setContentWidgetData("enabled",!isSilenceMode); |
135 //masterVolume->setContentWidgetData("enabled",!isSilenceMode); |
114 masterVolume->setContentWidgetData("value",intToVolumeLevel(mProfileModel->masterVolume())); |
136 masterVolume->setContentWidgetData("value",intToVolumeLevel(mProfileModel->masterVolume())); |
140 return VolumeLevelMed; |
164 return VolumeLevelMed; |
141 else{ |
165 else{ |
142 return VolumeLevelLoud; |
166 return VolumeLevelLoud; |
143 } |
167 } |
144 } |
168 } |
|
169 |
|
170 void CpVolumeController::settingValueChanged(const XQSettingsKey &key, const QVariant &value) |
|
171 { |
|
172 if (key.uid() == KCRUidProfileEngine.iUid && key.key() == KProEngSilenceMode) { |
|
173 HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem); |
|
174 if (masterVolume) { |
|
175 QMap<QString, QVariant> iconMaps; |
|
176 if (value.toBool()) { |
|
177 iconMaps.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg")); |
|
178 iconMaps.insert(QString("IncreaseElement"), QVariant(":/icon/hb_vol_slider_increment.svg")); |
|
179 iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_muted.svg")); |
|
180 } |
|
181 else { |
|
182 iconMaps.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg")); |
|
183 iconMaps.insert(QString("IncreaseElement"), QVariant(":/icon/hb_vol_slider_increment.svg")); |
|
184 iconMaps.insert(QString("IconElement"), QVariant(":/icon/hb_vol_slider_unmuted.svg")); |
|
185 } |
|
186 masterVolume->setContentWidgetData("elementIcons", iconMaps); |
|
187 masterVolume->setEnabled(!value.toBool()); |
|
188 } |
|
189 HbDataFormModelItem *silenceMode = mItemList.at(CpVolumeGroupItemData::EVolumeSilenceItem); |
|
190 if (silenceMode) { |
|
191 silenceMode->setContentWidgetData("checked",value.toInt() != 0); |
|
192 } |
|
193 } |
|
194 else if (key.uid() == KCRUidProfileEngine.iUid && key.key() == KProEngMasterVolume) { |
|
195 HbDataFormModelItem *masterVolume = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVolumeItem); |
|
196 if (masterVolume) { |
|
197 masterVolume->setContentWidgetData("value",intToVolumeLevel(value.toInt())); |
|
198 } |
|
199 } |
|
200 else if (key.uid() == KCRUidProfileEngine.iUid && key.key() == KProEngMasterVibra) { |
|
201 HbDataFormModelItem *masterVibra = mItemList.at(CpVolumeGroupItemData::EVolumeMasterVibraItem); |
|
202 if (masterVibra) { |
|
203 masterVibra->setContentWidgetData("checkState",(value.toInt() ? 2 : 0)); |
|
204 } |
|
205 } |
|
206 } |
|
207 |
|
208 //End of File |