23 #include <QDebug> |
23 #include <QDebug> |
24 #include <QtCore/qobject.h> |
24 #include <QtCore/qobject.h> |
25 #include <hbdataformmodel.h> |
25 #include <hbdataformmodel.h> |
26 #include <cpsettingformitemdata.h> |
26 #include <cpsettingformitemdata.h> |
27 #include <hbmessagebox.h> |
27 #include <hbmessagebox.h> |
|
28 #include <hbslider.h> |
28 |
29 |
29 |
30 |
30 CpKeyScreenView::CpKeyScreenView(QGraphicsItem *parent) : |
31 CpKeyScreenView::CpKeyScreenView(QGraphicsItem *parent) : |
31 CpBaseSettingView(0,parent), |
32 CpBaseSettingView(0,parent), |
32 mScreenRadioButton(0), |
33 mScreenComboButton(0), |
33 mRotateCheckbox(0), |
34 mRotateCheckbox(0), |
34 mBrightSliderItem(0), |
35 mBrightSliderItem(0), |
35 mCallibItem(0), |
36 mCallibItem(0), |
36 mModel(0) |
37 mModel(0) |
37 { |
38 { |
38 HbDataForm *form = qobject_cast<HbDataForm*> ( widget() ); |
39 HbDataForm *form = qobject_cast<HbDataForm*> ( widget() ); |
39 if (form) { |
40 if (form) { |
|
41 // Valid range is: |
|
42 // 15 secs, 30 secs, 45 secs, 1 min, 2 mins |
|
43 mScreenLockValues.insert(KCpKeyscreenLock15s,hbTrId("txt_cp_setlabel_keys_screen_val_15_seconds")); |
|
44 mScreenLockValues.insert(KCpKeyscreenLock30s,hbTrId("txt_cp_setlabel_keys_screen_val_30_seconds")); |
|
45 mScreenLockValues.insert(KCpKeyscreenLock45s,hbTrId("txt_cp_setlabel_keys_screen_val_45_seconds")); |
|
46 mScreenLockValues.insert(KCpKeyscreenLock60s,hbTrId("txt_cp_setlabel_keys_screen_val_1_minute")); |
|
47 mScreenLockValues.insert(KCpKeyscreenLock120s,hbTrId("txt_cp_setlabel_keys_screen_val_2_minutes")); |
|
48 |
40 form->setHeading(hbTrId("txt_cp_subhead_keys_screen")); |
49 form->setHeading(hbTrId("txt_cp_subhead_keys_screen")); |
41 mModel = new CpKeyScreenModel(); |
50 mModel = new CpKeyScreenModel(); |
42 HbDataFormModel *model = new HbDataFormModel; |
51 HbDataFormModel *model = new HbDataFormModel; |
43 |
52 |
44 if ( mModel->isKeyguardSupported() ) { |
53 if ( mModel->isKeyguardSupported() ) { |
59 } |
68 } |
60 } |
69 } |
61 |
70 |
62 void CpKeyScreenView::makeScreenItem(HbDataFormModel& model) |
71 void CpKeyScreenView::makeScreenItem(HbDataFormModel& model) |
63 { |
72 { |
64 mScreenRadioButton = new CpSettingFormItemData(HbDataFormModelItem::RadioButtonListItem, |
73 mScreenComboButton = new CpSettingFormItemData(HbDataFormModelItem::ComboBoxItem, |
65 hbTrId("txt_cp_setlabel_keys_screen_locked_after")); |
74 hbTrId("txt_cp_setlabel_keys_screen_locked_after")); |
66 qobject_cast<HbDataForm*> ( widget() )->addConnection(mScreenRadioButton,SIGNAL(itemSelected(int)),this,SLOT(screenValueChanged(int))); |
75 |
67 model.appendDataFormItem(mScreenRadioButton, model.invisibleRootItem()); |
76 qobject_cast<HbDataForm*> ( widget() )->addConnection( |
|
77 mScreenComboButton,SIGNAL(currentIndexChanged(QString)), |
|
78 this,SLOT(screenValueChanged(QString))); |
|
79 |
|
80 model.appendDataFormItem(mScreenComboButton, model.invisibleRootItem()); |
68 |
81 |
69 // Valid range is: |
|
70 // 15 secs, 30 secs, 45 secs, 1 min, 2 mins |
|
71 QStringList sList; |
|
72 sList<< hbTrId("txt_cp_setlabel_keys_screen_val_15_seconds")<< hbTrId("txt_cp_setlabel_keys_screen_val_30_seconds") |
|
73 << hbTrId("txt_cp_setlabel_keys_screen_val_45_seconds")<< hbTrId("txt_cp_setlabel_keys_screen_val_1_minute") |
|
74 << hbTrId("txt_cp_setlabel_keys_screen_val_2_minutes"); |
|
75 int period = mModel->keyguard(); |
82 int period = mModel->keyguard(); |
76 int selectedIndex = period/KCpKeyscreenTimeCoeff - 1; |
83 |
77 if ( KCpKeyscreenLock120s == period ){ // 2 minutes |
84 int selectedIndex(-1); |
78 selectedIndex = EKeyScreenLockItem5; |
85 |
|
86 QMap<int,QString>::iterator it = mScreenLockValues.find(period); |
|
87 if (it == mScreenLockValues.end()) { |
|
88 mModel->setKeyguard(KCpKeyscreenLockDefault30s); // Set keyguard and backlight period to default |
|
89 selectedIndex = 1; |
79 } |
90 } |
80 if ( (KCpKeyscreenLock15s != period) && (KCpKeyscreenLock30s != period) && |
91 else { |
81 (KCpKeyscreenLock45s != period) && (KCpKeyscreenLock60s != period) && |
92 for (it = mScreenLockValues.begin();it != mScreenLockValues.end();++it) { |
82 (KCpKeyscreenLock120s != period) ){ |
93 selectedIndex++; |
83 mModel->setKeyguard(KCpKeyscreenLockDefault30s); // Set keyguard and backlight period to default |
94 if (it.key() == period) { |
84 selectedIndex = EKeyScreenLockItem2; |
95 break; |
|
96 } |
|
97 } |
85 } |
98 } |
86 mScreenRadioButton->setContentWidgetData( QString("items"), sList ); |
99 |
87 mScreenRadioButton->setContentWidgetData( QString("selected"), selectedIndex); |
100 QStringList items = mScreenLockValues.values(); |
|
101 mScreenComboButton->setContentWidgetData( QString("items"), items ); |
|
102 mScreenComboButton->setContentWidgetData( QString("currentIndex"), selectedIndex); |
88 } |
103 } |
89 |
104 |
90 void CpKeyScreenView::makeRotateItem(HbDataFormModel& model) |
105 void CpKeyScreenView::makeRotateItem(HbDataFormModel& model) |
91 { |
106 { |
92 mRotateCheckbox = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, QString()); |
107 mRotateCheckbox = new CpSettingFormItemData(HbDataFormModelItem::CheckBoxItem, QString()); |
108 { |
123 { |
109 mBrightSliderItem = new CpSettingFormItemData(HbDataFormModelItem::SliderItem, hbTrId("txt_cp_setlabel_brightness")); |
124 mBrightSliderItem = new CpSettingFormItemData(HbDataFormModelItem::SliderItem, hbTrId("txt_cp_setlabel_brightness")); |
110 qobject_cast<HbDataForm*> ( widget() )->addConnection(mBrightSliderItem,SIGNAL(valueChanged(int)),this,SLOT(brightValueChanged(int))); |
125 qobject_cast<HbDataForm*> ( widget() )->addConnection(mBrightSliderItem,SIGNAL(valueChanged(int)),this,SLOT(brightValueChanged(int))); |
111 model.appendDataFormItem(mBrightSliderItem, model.invisibleRootItem()); |
126 model.appendDataFormItem(mBrightSliderItem, model.invisibleRootItem()); |
112 |
127 |
|
128 QList<QVariant> sliderElements; |
|
129 sliderElements << QVariant(HbSlider::IncreaseElement) << QVariant(HbSlider::TrackElement) |
|
130 << QVariant(HbSlider::DecreaseElement); |
|
131 mBrightSliderItem->setContentWidgetData("sliderElements",sliderElements); |
113 mBrightSliderItem->setContentWidgetData( QString("value"), mModel->brightness() ); |
132 mBrightSliderItem->setContentWidgetData( QString("value"), mModel->brightness() ); |
114 mBrightSliderItem->setContentWidgetData( QString("minimum"), 1 ); |
133 mBrightSliderItem->setContentWidgetData( QString("minimum"), 1 ); |
115 mBrightSliderItem->setContentWidgetData( QString("maximum"), 5 ); |
134 mBrightSliderItem->setContentWidgetData( QString("maximum"), 5 ); |
|
135 QMap< QString, QVariant > iconElements; |
|
136 iconElements.insert(QString("IncreaseElement") , QVariant(":/icon/hb_vol_slider_increment.svg")); |
|
137 iconElements.insert(QString("DecreaseElement"), QVariant(":/icon/hb_vol_slider_decrement.svg") ); |
|
138 mBrightSliderItem->setContentWidgetData( QString( "elementIcons" ), iconElements ); |
116 } |
139 } |
117 |
140 |
118 void CpKeyScreenView::makeCallibrationItem(HbDataFormModel& model) |
141 void CpKeyScreenView::makeCallibrationItem(HbDataFormModel& model) |
119 { |
142 { |
120 mCallibItem = new CpSettingFormItemData(HbDataFormModelItem::ToggleValueItem, |
143 mCallibItem = new CpSettingFormItemData(HbDataFormModelItem::ToggleValueItem, |
128 { |
151 { |
129 delete mModel; |
152 delete mModel; |
130 mModel = 0; |
153 mModel = 0; |
131 } |
154 } |
132 |
155 |
133 void CpKeyScreenView::screenValueChanged(int index) |
156 void CpKeyScreenView::screenValueChanged(const QString &value) |
134 { |
157 { |
135 int period = (index + 1) * KCpKeyscreenTimeCoeff; |
158 for (QMap<int,QString>::iterator it = mScreenLockValues.begin(); |
136 if (EKeyScreenLockItem5 == index){ |
159 it != mScreenLockValues.end();++it) { |
137 period = KCpKeyscreenLock120s; |
160 if (it.value() == value) { |
|
161 mModel->setKeyguard(it.key()); |
|
162 break; |
|
163 } |
138 } |
164 } |
139 mModel->setKeyguard(period); |
|
140 } |
165 } |
141 |
166 |
142 void CpKeyScreenView::rotateValueChanged(int value) |
167 void CpKeyScreenView::rotateValueChanged(int value) |
143 { |
168 { |
144 mModel->setRotate( value ); |
169 mModel->setRotate( value ); |