22 |
22 |
23 #include "irapplication.h" |
23 #include "irapplication.h" |
24 #include "irsettingsview.h" |
24 #include "irsettingsview.h" |
25 #include "irqsettings.h" |
25 #include "irqsettings.h" |
26 #include "irqenums.h" |
26 #include "irqenums.h" |
|
27 #include <hbmenu.h> |
27 |
28 |
28 IRSettingsView::IRSettingsView(IRApplication *aApplication, TIRViewId aViewId) : |
29 IRSettingsView::IRSettingsView(IRApplication *aApplication, TIRViewId aViewId) : |
29 IRBaseView(aApplication, aViewId), iForm(NULL),iModel(NULL) |
30 IRBaseView(aApplication, aViewId), iForm(NULL),iModel(NULL) |
30 { |
31 { |
31 //this view won't be starting view, don't need lazy init |
32 //this view won't be starting view, don't need lazy init |
32 IRBaseView::lazyInit(); |
33 IRBaseView::lazyInit(); |
33 setInitCompleted(true); |
34 setInitCompleted(true); |
34 |
35 |
35 iPreferredQuality<<hbTrId("txt_irad_setlabel_download_quality_val_standard")<<hbTrId("txt_irad_setlabel_download_quality_val_high"); |
36 setFlag(EViewFlag_UnStackable); |
|
37 |
36 initView(); |
38 initView(); |
37 } |
39 } |
38 |
40 |
39 IRSettingsView::~IRSettingsView() |
41 IRSettingsView::~IRSettingsView() |
40 { |
42 { |
41 } |
|
42 |
|
43 void IRSettingsView::preferredQualitySelected(int aIndex) |
|
44 { |
|
45 if (0 == aIndex) |
|
46 { |
|
47 iSettings->setPreferredQuality(EIRQStandardQuality); |
|
48 } |
|
49 else |
|
50 { |
|
51 iSettings->setPreferredQuality(EIRQHighQuality); |
|
52 } |
|
53 } |
43 } |
54 |
44 |
55 void IRSettingsView::initView() |
45 void IRSettingsView::initView() |
56 { |
46 { |
57 QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical, this); |
47 QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical, this); |
58 setLayout(layout); |
48 setLayout(layout); |
59 |
49 |
60 HbGroupBox * titleText = new HbGroupBox(); |
50 HbGroupBox * titleText = new HbGroupBox(); |
61 titleText->setHeading( hbTrId("txt_irad_subtitle_network_setting") ); |
51 #ifdef SUBTITLE_STR_BY_LOCID |
|
52 titleText->setHeading( hbTrId("txt_common_opt_settings") ); |
|
53 #else |
|
54 titleText->setHeading( hbTrId("Settings") ); |
|
55 #endif |
62 layout->addItem(titleText); |
56 layout->addItem(titleText); |
63 |
57 |
64 iForm = new HbDataForm(); |
58 iForm = new HbDataForm(); |
65 layout->addItem(iForm); |
59 layout->addItem(iForm); |
66 |
60 |
68 iModel = new HbDataFormModel(); |
62 iModel = new HbDataFormModel(); |
69 |
63 |
70 //set the preferred quality |
64 //set the preferred quality |
71 setPreferredQuality(); |
65 setPreferredQuality(); |
72 iForm->setModel(iModel); |
66 iForm->setModel(iModel); |
|
67 |
|
68 HbMenu *viewMenu = menu(); |
|
69 #ifdef SUBTITLE_STR_BY_LOCID |
|
70 viewMenu->addAction(hbTrId("txt_common_opt_exit"),iApplication, SIGNAL(quit())); |
|
71 #else |
|
72 viewMenu->addAction(hbTrId("Exit"),iApplication, SIGNAL(quit())); |
|
73 #endif |
73 } |
74 } |
74 |
75 |
75 void IRSettingsView::setPreferredQuality() |
76 void IRSettingsView::setPreferredQuality() |
76 { |
77 { |
|
78 #ifdef SUBTITLE_STR_BY_LOCID |
77 HbDataFormModelItem *preferredQualityItem = new HbDataFormModelItem( |
79 HbDataFormModelItem *preferredQualityItem = new HbDataFormModelItem( |
78 HbDataFormModelItem::RadioButtonListItem, hbTrId("txt_irad_setlabel_download_quality")); |
80 HbDataFormModelItem::ToggleValueItem, hbTrId("txt_irad_setlabel_download_quality")); |
|
81 #else |
|
82 HbDataFormModelItem *preferredQualityItem = new HbDataFormModelItem( |
|
83 HbDataFormModelItem::ToggleValueItem, hbTrId("Download quality")); |
|
84 #endif |
79 iModel->appendDataFormItem(preferredQualityItem); |
85 iModel->appendDataFormItem(preferredQualityItem); |
80 |
86 |
81 preferredQualityItem->setContentWidgetData(QString("items"), iPreferredQuality); |
|
82 IRQPreferredQuality settingValue = iSettings->getPreferredQuality(); |
87 IRQPreferredQuality settingValue = iSettings->getPreferredQuality(); |
83 preferredQualityItem->setContentWidgetData(QString("selected"), settingValue); |
88 if(EIRQStandardQuality == settingValue) |
84 |
89 { |
85 iForm->addConnection(preferredQualityItem,SIGNAL(itemSelected(int)),this,SLOT(preferredQualitySelected(int))); |
90 #ifdef SUBTITLE_STR_BY_LOCID |
|
91 preferredQualityItem->setContentWidgetData("text", hbTrId("txt_irad_setlabel_download_quality_val_standard")); |
|
92 preferredQualityItem->setContentWidgetData("additionalText", hbTrId("txt_irad_setlabel_download_quality_val_high")); |
|
93 #else |
|
94 preferredQualityItem->setContentWidgetData("text", hbTrId("Standard")); |
|
95 preferredQualityItem->setContentWidgetData("additionalText", hbTrId("High")); |
|
96 #endif |
|
97 } |
|
98 else if(EIRQHighQuality == settingValue) |
|
99 { |
|
100 #ifdef SUBTITLE_STR_BY_LOCID |
|
101 preferredQualityItem->setContentWidgetData("text", hbTrId("txt_irad_setlabel_download_quality_val_high")); |
|
102 preferredQualityItem->setContentWidgetData("additionalText", hbTrId("txt_irad_setlabel_download_quality_val_standard")); |
|
103 #else |
|
104 preferredQualityItem->setContentWidgetData("text", hbTrId("High")); |
|
105 preferredQualityItem->setContentWidgetData("additionalText", hbTrId("Standard")); |
|
106 #endif |
|
107 } |
|
108 |
|
109 connect(iModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), |
|
110 this, SLOT(toggleChange(QModelIndex, QModelIndex))); |
86 } |
111 } |
87 |
112 |
|
113 void IRSettingsView::toggleChange(QModelIndex aStartIn, QModelIndex aEndIn) |
|
114 { |
|
115 Q_UNUSED(aEndIn); |
|
116 |
|
117 HbDataFormModelItem *item = iModel->itemFromIndex(aStartIn); |
|
118 |
|
119 if(item->type() == HbDataFormModelItem::ToggleValueItem) |
|
120 { |
|
121 #ifdef SUBTITLE_STR_BY_LOCID |
|
122 if(item->data(HbDataFormModelItem::LabelRole).toString() == hbTrId("txt_irad_setlabel_download_quality")) |
|
123 #else |
|
124 if(item->data(HbDataFormModelItem::LabelRole).toString() == hbTrId("Download quality")) |
|
125 #endif |
|
126 { |
|
127 QVariant data = item->contentWidgetData("text"); |
|
128 QString value = data.toString(); |
|
129 |
|
130 #ifdef SUBTITLE_STR_BY_LOCID |
|
131 if(value == (hbTrId("txt_irad_setlabel_download_quality_val_standard"))) |
|
132 #else |
|
133 if(value == (hbTrId("Standard"))) |
|
134 #endif |
|
135 { |
|
136 // User has made it Standard. |
|
137 iSettings->setPreferredQuality(EIRQStandardQuality); |
|
138 } |
|
139 #ifdef SUBTITLE_STR_BY_LOCID |
|
140 else if(value == (hbTrId("txt_irad_setlabel_download_quality_val_high"))) |
|
141 #else |
|
142 else if(value == (hbTrId("High"))) |
|
143 #endif |
|
144 { |
|
145 // User has made it High. |
|
146 iSettings->setPreferredQuality(EIRQHighQuality); |
|
147 } |
|
148 } |
|
149 } |
|
150 } |