15 * |
15 * |
16 */ |
16 */ |
17 #include <hbdataform.h> |
17 #include <hbdataform.h> |
18 #include <hbdataformmodelitem.h> |
18 #include <hbdataformmodelitem.h> |
19 #include <QGraphicsLinearLayout> |
19 #include <QGraphicsLinearLayout> |
20 #include <hbdataformviewitem.h> |
|
21 #include <hbdataformmodel.h> |
20 #include <hbdataformmodel.h> |
22 #include <hbradiobuttonlist.h> |
21 #include <HbGroupBox> |
23 |
22 |
24 #include "irapplication.h" |
23 #include "irapplication.h" |
25 #include "irsettingsview.h" |
24 #include "irsettingsview.h" |
26 #include "irqsettings.h" |
25 #include "irqsettings.h" |
27 #include "irqenums.h" |
26 #include "irqenums.h" |
28 #include "irlastplayedstationinfo.h" |
|
29 |
|
30 const QString KStartingViewGroupLabelKeyWord = QObject::tr("Choose Starting View"); |
|
31 const QString KPreferredQualityGroupLabelKeyWord = QObject::tr( |
|
32 "Choose Preferred Quality"); |
|
33 |
27 |
34 IRSettingsView::IRSettingsView(IRApplication *aApplication, TIRViewId aViewId) : |
28 IRSettingsView::IRSettingsView(IRApplication *aApplication, TIRViewId aViewId) : |
35 IRBaseView(aApplication, aViewId), iForm(NULL),iModel(NULL) |
29 IRBaseView(aApplication, aViewId), iForm(NULL),iModel(NULL) |
36 { |
30 { |
37 iStartingViews << tr("Browse by Genre") << tr("Browse by Language") << tr( |
31 //this view won't be starting view, don't need lazy init |
38 "Browse by Country") << tr("Collections view") << tr( |
32 IRBaseView::lazyInit(); |
39 "Favorite stations") << tr("Last played station") << tr( |
33 setInitCompleted(true); |
40 "Last exit view"); |
34 |
41 iPreferredQuality<<tr("Normal")<<tr("High"); |
35 iPreferredQuality<<hbTrId("txt_irad_setlabel_download_quality_val_standard")<<hbTrId("txt_irad_setlabel_download_quality_val_high"); |
42 initView(); |
36 initView(); |
43 } |
37 } |
44 |
38 |
45 IRSettingsView::~IRSettingsView() |
39 IRSettingsView::~IRSettingsView() |
46 { |
40 { |
47 } |
41 } |
48 |
|
49 void IRSettingsView::startingViewSelected(int aIndex) |
|
50 { |
|
51 if (iStartingViews.indexOf(tr("Last exit view")) != aIndex) |
|
52 { |
|
53 iSettings->setStickyViewFlag(false); |
|
54 } |
|
55 |
|
56 switch (aIndex) |
|
57 { |
|
58 case 0: |
|
59 iSettings->setStartingViewId(EIRView_CategoryView); |
|
60 iSettings->setStartingViewParameter(EIRViewPara_Genre); |
|
61 break; |
|
62 case 1: |
|
63 iSettings->setStartingViewId(EIRView_CategoryView); |
|
64 iSettings->setStartingViewParameter(EIRViewPara_Language); |
|
65 break; |
|
66 case 2: |
|
67 iSettings->setStartingViewId(EIRView_CategoryView); |
|
68 iSettings->setStartingViewParameter(EIRViewPara_Country); |
|
69 break; |
|
70 case 3: |
|
71 iSettings->setStartingViewId(EIRView_MainView); |
|
72 break; |
|
73 case 4: |
|
74 iSettings->setStartingViewId(EIRView_FavoritesView); |
|
75 break; |
|
76 case 5: |
|
77 if (iApplication->getLastPlayedStationInfo()->getLastPlayedStation()) |
|
78 { |
|
79 iSettings->setStartingViewId(EIRView_PlayingView); |
|
80 } |
|
81 else |
|
82 { |
|
83 iSettings->setStickyViewFlag(true); |
|
84 } |
|
85 break; |
|
86 case 6: |
|
87 iSettings->setStickyViewFlag(true); |
|
88 break; |
|
89 default: |
|
90 iSettings->setStartingViewId(EIRView_CategoryView); |
|
91 iSettings->setStartingViewParameter(EIRViewPara_Genre); |
|
92 break; |
|
93 } |
|
94 } |
|
95 |
|
96 |
42 |
97 void IRSettingsView::preferredQualitySelected(int aIndex) |
43 void IRSettingsView::preferredQualitySelected(int aIndex) |
98 { |
44 { |
99 if (0 == aIndex) |
45 if (0 == aIndex) |
100 { |
46 { |
106 } |
52 } |
107 } |
53 } |
108 |
54 |
109 void IRSettingsView::initView() |
55 void IRSettingsView::initView() |
110 { |
56 { |
111 QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical, |
57 QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical, this); |
112 this); |
|
113 setLayout(layout); |
58 setLayout(layout); |
|
59 |
|
60 HbGroupBox * titleText = new HbGroupBox(); |
|
61 titleText->setHeading( hbTrId("txt_irad_subtitle_network_setting") ); |
|
62 layout->addItem(titleText); |
|
63 |
114 iForm = new HbDataForm(); |
64 iForm = new HbDataForm(); |
115 layout->addItem(iForm); |
65 layout->addItem(iForm); |
|
66 |
|
67 |
116 iModel = new HbDataFormModel(); |
68 iModel = new HbDataFormModel(); |
117 //set the starting view list |
69 |
118 setStartingViewList(); |
|
119 //set the preferred quality |
70 //set the preferred quality |
120 setPreferredQuality(); |
71 setPreferredQuality(); |
121 iForm->setModel(iModel); |
72 iForm->setModel(iModel); |
122 } |
73 } |
123 |
74 |
124 void IRSettingsView::setStartingViewList() |
|
125 { |
|
126 if (NULL == iApplication->getLastPlayedStationInfo()->getLastPlayedStation()) |
|
127 { |
|
128 iStartingViews.removeAt(iStartingViews.count() - 2); |
|
129 } |
|
130 HbDataFormModelItem *startViewItemGroup = new HbDataFormModelItem( |
|
131 HbDataFormModelItem::GroupItem, KStartingViewGroupLabelKeyWord); |
|
132 iModel->appendDataFormItem(startViewItemGroup); |
|
133 HbDataFormModelItem *startViewModelItem = iModel->appendDataFormItem( |
|
134 HbDataFormModelItem::RadioButtonListItem, tr("StartView"), |
|
135 startViewItemGroup); |
|
136 startViewModelItem->setContentWidgetData(QString("items"), iStartingViews); |
|
137 startViewModelItem->setData(HbDataFormModelItem::KeyRole, tr("Choose Startview")); |
|
138 startViewModelItem->setContentWidgetData(QString("selected"),getStartingViewSelection()); |
|
139 iForm->addConnection(startViewModelItem,SIGNAL(itemSelected(int)),this,SLOT(startingViewSelected(int))); |
|
140 } |
|
141 |
|
142 void IRSettingsView::setPreferredQuality() |
75 void IRSettingsView::setPreferredQuality() |
143 { |
76 { |
144 HbDataFormModelItem *preferredQualityItemGroup = new HbDataFormModelItem( |
77 HbDataFormModelItem *preferredQualityItem = new HbDataFormModelItem( |
145 HbDataFormModelItem::GroupItem, KPreferredQualityGroupLabelKeyWord); |
78 HbDataFormModelItem::RadioButtonListItem, hbTrId("txt_irad_setlabel_download_quality")); |
146 iModel->appendDataFormItem(preferredQualityItemGroup); |
79 iModel->appendDataFormItem(preferredQualityItem); |
147 HbDataFormModelItem *preferredQualityItem = iModel->appendDataFormItem( |
80 |
148 HbDataFormModelItem::RadioButtonListItem, tr("Network Quality"), |
|
149 preferredQualityItemGroup); |
|
150 preferredQualityItem->setContentWidgetData(QString("items"), iPreferredQuality); |
81 preferredQualityItem->setContentWidgetData(QString("items"), iPreferredQuality); |
151 preferredQualityItem->setData(HbDataFormModelItem::KeyRole, tr("Choose Preferred Quality")); |
|
152 IRQPreferredQuality settingValue = iSettings->getPreferredQuality(); |
82 IRQPreferredQuality settingValue = iSettings->getPreferredQuality(); |
153 preferredQualityItem->setContentWidgetData(QString("selected"), settingValue); |
83 preferredQualityItem->setContentWidgetData(QString("selected"), settingValue); |
|
84 |
154 iForm->addConnection(preferredQualityItem,SIGNAL(itemSelected(int)),this,SLOT(preferredQualitySelected(int))); |
85 iForm->addConnection(preferredQualityItem,SIGNAL(itemSelected(int)),this,SLOT(preferredQualitySelected(int))); |
155 } |
86 } |
156 |
87 |
157 int IRSettingsView::getStartingViewSelection() |
|
158 { |
|
159 bool flag = false; |
|
160 iSettings->getStickyViewFlag(flag); |
|
161 if (flag) |
|
162 { |
|
163 return iStartingViews.indexOf(tr("Last exit view")); |
|
164 } |
|
165 |
|
166 TIRViewId startingViewId = EIRView_InvalidId; |
|
167 iSettings->getStartingViewId(startingViewId); |
|
168 int selected = 0; |
|
169 switch (startingViewId) |
|
170 { |
|
171 case EIRView_CategoryView: |
|
172 TIRViewParameter parameter; |
|
173 iSettings->getStartingViewParameter(parameter); |
|
174 switch (parameter) |
|
175 { |
|
176 case EIRViewPara_Genre: |
|
177 selected = 0; |
|
178 break; |
|
179 case EIRViewPara_Language: |
|
180 selected = 1; |
|
181 break; |
|
182 case EIRViewPara_Country: |
|
183 selected = 2; |
|
184 break; |
|
185 default: |
|
186 selected = 0; |
|
187 break; |
|
188 } |
|
189 break; |
|
190 case EIRView_MainView: |
|
191 selected = 3; |
|
192 break; |
|
193 case EIRView_FavoritesView: |
|
194 selected = 4; |
|
195 break; |
|
196 case EIRView_PlayingView: |
|
197 selected = 5; |
|
198 break; |
|
199 default: |
|
200 selected = 0; |
|
201 break; |
|
202 } |
|
203 return selected; |
|
204 } |
|
205 |
|