18 // System includes |
18 // System includes |
19 #include <QStringList> |
19 #include <QStringList> |
20 #include <hblabel.h> |
20 #include <hblabel.h> |
21 #include <hbaction.h> |
21 #include <hbaction.h> |
22 #include <hbradiobuttonlist.h> |
22 #include <hbradiobuttonlist.h> |
|
23 #include <EqualizerConstants.h> |
23 |
24 |
24 // User includes |
25 // User includes |
25 #include "mpequalizerwidget.h" |
26 #include "mpequalizerwidget.h" |
26 #include "mpequalizerwrapper.h" |
27 #include "mpenginefactory.h" |
27 #include "mptrace.h" |
28 #include "mptrace.h" |
28 |
29 |
29 // CONSTANTS |
|
30 const int KEqualizerPresetNone = -1; |
|
31 |
30 |
32 /*! |
31 /*! |
33 \class MpEqualizerWidget |
32 \class MpEqualizerWidget |
34 \brief Provide radio button list to select a predefined eq. preset |
33 \brief Provide radio button list to select a predefined eq. preset |
35 */ |
34 */ |
36 |
35 |
37 /*! |
36 /*! |
38 Constructs the Equalizer widget. |
37 Constructs the Equalizer widget. |
39 */ |
38 */ |
40 MpEqualizerWidget::MpEqualizerWidget() : |
39 MpEqualizerWidget::MpEqualizerWidget() : |
41 mEqualizerWrapper(0), |
40 mMpEngine(0), |
42 mPresetsList(0), |
41 mPresetsList(0), |
43 mOriginalPreset(KEqualizerPresetNone), |
42 mOriginalPreset(KEqualizerPresetNone) |
44 mEqualizerReady(false) |
|
45 { |
43 { |
46 TX_ENTRY |
44 TX_ENTRY |
47 |
45 |
48 initialize(); |
46 initialize(); |
49 |
47 |
53 /*! |
51 /*! |
54 Destructs the widget. |
52 Destructs the widget. |
55 */ |
53 */ |
56 MpEqualizerWidget::~MpEqualizerWidget() |
54 MpEqualizerWidget::~MpEqualizerWidget() |
57 { |
55 { |
58 TX_ENTRY |
56 TX_LOG |
59 |
|
60 delete mEqualizerWrapper; |
|
61 |
|
62 TX_EXIT |
|
63 } |
57 } |
64 |
58 |
65 /*! |
59 /*! |
66 Initialize dialog by loading the EqualizerUtility. |
60 Initialize dialog by loading the EqualizerUtility. |
67 */ |
61 */ |
68 void MpEqualizerWidget::initialize() |
62 void MpEqualizerWidget::initialize() |
69 { |
63 { |
70 TX_ENTRY |
64 TX_ENTRY |
71 |
65 |
72 mEqualizerWrapper = new MpEqualizerWrapper( this ); |
66 mMpEngine = MpEngineFactory::sharedEngine(); |
73 |
|
74 connect( mEqualizerWrapper, |
|
75 SIGNAL( equalizerReady() ), |
|
76 this, |
|
77 SLOT( equalizerReady() ) ); |
|
78 |
67 |
79 TX_EXIT |
68 TX_EXIT |
80 } |
69 } |
81 |
70 |
82 /*! |
71 /*! |
91 setModal( true ); |
80 setModal( true ); |
92 setDismissPolicy(HbDialog::NoDismiss); |
81 setDismissPolicy(HbDialog::NoDismiss); |
93 setFrameType(HbPopup::Strong); |
82 setFrameType(HbPopup::Strong); |
94 setHeadingWidget(new HbLabel(hbTrId("txt_mus_title_select_preset"))); |
83 setHeadingWidget(new HbLabel(hbTrId("txt_mus_title_select_preset"))); |
95 |
84 |
96 |
85 mOriginalPreset = mMpEngine->activePreset(); |
97 if ( mEqualizerReady ) { |
86 QStringList listItems; |
98 mOriginalPreset = mEqualizerWrapper->activePreset(); |
87 QStringList presetNames = mMpEngine->presetNames(); |
99 QStringList listItems = mEqualizerWrapper->presetNames(); |
88 for ( int i=0; i<presetNames.count(); i++ ) { |
100 listItems.prepend(hbTrId("txt_mus_list_off")); |
89 QString name = getLogicalName( presetNames.at(i) ); |
101 |
90 if ( name.size() > 0 ) { |
102 int presetSelected; |
91 listItems.append( name ); |
103 if (mOriginalPreset == KEqualizerPresetNone) { |
92 } |
104 presetSelected = 0; //First list item corresponds to "OFF" |
93 } |
105 } |
94 listItems.prepend(hbTrId("txt_mus_list_off")); |
106 else { |
95 TX_LOG_ARGS( "PresetNames=" << listItems); |
107 presetSelected = mOriginalPreset; |
96 int presetSelected; |
108 } |
97 if (mOriginalPreset == KEqualizerPresetNone) { |
109 |
98 presetSelected = 0; //First list item corresponds to "OFF" |
110 mPresetsList = new HbRadioButtonList(listItems, presetSelected, HbRadioButtonList::NoPreview, this); |
99 } |
111 setContentWidget( mPresetsList ); //mPresetsList now owned by HbDialog |
100 else { |
112 |
101 presetSelected = mOriginalPreset; |
113 connect( mPresetsList, |
102 } |
114 SIGNAL(itemSelected(int)), |
103 |
115 this, |
104 mPresetsList = new HbRadioButtonList(listItems, presetSelected, HbRadioButtonList::NoPreview, this); |
116 SLOT(presetSelected(int))); |
105 setContentWidget( mPresetsList ); //mPresetsList now owned by HbDialog |
117 } |
106 |
|
107 connect( mPresetsList, |
|
108 SIGNAL(itemSelected(int)), |
|
109 this, |
|
110 SLOT(presetSelected(int))); |
118 |
111 |
119 clearActions(); |
112 clearActions(); |
120 action = new HbAction( hbTrId( "txt_common_button_ok" ) ); |
113 action = new HbAction( hbTrId( "txt_common_button_ok" ) ); |
121 connect( action, SIGNAL( triggered( bool ) ), this, SLOT( okSelected( bool ) ) ); |
114 connect( action, SIGNAL( triggered( bool ) ), this, SLOT( okSelected( bool ) ) ); |
122 addAction( action ); |
115 addAction( action ); |
152 void MpEqualizerWidget::cancelSelected(bool checked) |
145 void MpEqualizerWidget::cancelSelected(bool checked) |
153 { |
146 { |
154 TX_ENTRY |
147 TX_ENTRY |
155 Q_UNUSED(checked); |
148 Q_UNUSED(checked); |
156 |
149 |
157 if (mEqualizerWrapper && mPresetsList) { |
150 if (mMpEngine && mPresetsList) { |
158 // Return to the original Preset |
151 // Return to the original Preset |
159 if (mOriginalPreset != mEqualizerWrapper->activePreset()) { |
152 if (mOriginalPreset != mMpEngine->activePreset()) { |
160 if (mOriginalPreset == KEqualizerPresetNone) { |
153 if (mOriginalPreset == KEqualizerPresetNone) { |
161 mEqualizerWrapper->disableEqualizer(); |
154 mMpEngine->disableEqualizer(); |
162 mPresetsList->setSelected( 0 ); //First list item corresponds to "OFF" |
155 mPresetsList->setSelected( 0 ); //First list item corresponds to "OFF" |
163 } |
156 } |
164 else { |
157 else { |
165 mEqualizerWrapper->applyPreset( mOriginalPreset ); |
158 mMpEngine->applyPreset( mOriginalPreset ); |
166 mPresetsList->setSelected( mOriginalPreset ); |
159 mPresetsList->setSelected( mOriginalPreset ); |
167 } |
160 } |
168 } |
161 } |
169 } |
162 } |
170 |
163 |
178 { |
171 { |
179 TX_ENTRY |
172 TX_ENTRY |
180 Q_UNUSED(checked); |
173 Q_UNUSED(checked); |
181 |
174 |
182 //Update original preset |
175 //Update original preset |
183 if (mEqualizerWrapper) { |
176 if (mMpEngine) { |
184 mOriginalPreset = mEqualizerWrapper->activePreset(); |
177 mOriginalPreset = mMpEngine->activePreset(); |
185 } |
178 } |
186 |
179 |
187 TX_EXIT |
180 TX_EXIT |
188 } |
181 } |
189 |
182 |
190 /*! |
183 /*! |
191 Equalizer utility is ready |
184 Return the logical name base on preset name. Used for localization. |
192 */ |
185 */ |
193 void MpEqualizerWidget::equalizerReady() |
186 QString MpEqualizerWidget::getLogicalName( QString name ) |
194 { |
187 { |
195 TX_ENTRY |
188 TX_ENTRY_ARGS( "Name = " << name ); |
196 |
189 QString logicalName; |
197 mEqualizerReady = true; |
190 |
198 |
191 if ( name == "Bass Booster" ) { |
199 TX_EXIT |
192 logicalName = hbTrId( "txt_mus_list_bass_booster" ); |
|
193 } |
|
194 else if ( name == "Classic" ) { |
|
195 logicalName = hbTrId( "txt_mus_list_classical" ); |
|
196 } |
|
197 else if ( name == "Pop" ) { |
|
198 logicalName = hbTrId( "txt_mus_list_pop" ); |
|
199 } |
|
200 else if ( name == "Jazz" ) { |
|
201 logicalName = hbTrId( "txt_mus_list_jazz" ); |
|
202 } |
|
203 else if ( name == "Rock" ) { |
|
204 logicalName = hbTrId( "txt_mus_list_rock" ); |
|
205 } |
|
206 |
|
207 TX_EXIT_ARGS( "Logical String = " << logicalName ); |
|
208 return logicalName; |
200 } |
209 } |
201 |
210 |
202 //End of File |
211 //End of File |