54 , playButton(0) |
54 , playButton(0) |
55 , stopButton(0) |
55 , stopButton(0) |
56 , nextButton(0) |
56 , nextButton(0) |
57 , previousButton(0) |
57 , previousButton(0) |
58 , muteButton(0) |
58 , muteButton(0) |
59 #ifdef Q_OS_SYMBIAN |
59 #ifdef Q_OS_SYMBIAN |
60 , openButton(0) |
60 , openButton(0) |
61 , fullScreenButton(0) |
61 , fullScreenButton(0) |
62 , playListButton(0) |
62 , playListButton(0) |
63 #else |
63 #else |
64 , volumeSlider(0) |
64 , volumeSlider(0) |
65 , rateBox(0) |
65 , rateBox(0) |
66 #endif |
66 #endif |
67 { |
67 { |
68 playButton = new QToolButton; |
68 playButton = new QToolButton(this); |
69 playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); |
69 playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); |
70 |
70 |
71 connect(playButton, SIGNAL(clicked()), this, SLOT(playClicked())); |
71 connect(playButton, SIGNAL(clicked()), this, SLOT(playClicked())); |
72 |
72 |
73 stopButton = new QToolButton; |
73 stopButton = new QToolButton(this); |
74 stopButton->setIcon(style()->standardIcon(QStyle::SP_MediaStop)); |
74 stopButton->setIcon(style()->standardIcon(QStyle::SP_MediaStop)); |
75 stopButton->setEnabled(false); |
75 stopButton->setEnabled(false); |
76 |
76 |
77 connect(stopButton, SIGNAL(clicked()), this, SIGNAL(stop())); |
77 connect(stopButton, SIGNAL(clicked()), this, SIGNAL(stop())); |
78 |
78 |
79 nextButton = new QToolButton; |
79 nextButton = new QToolButton(this); |
80 nextButton->setIcon(style()->standardIcon(QStyle::SP_MediaSkipForward)); |
80 nextButton->setIcon(style()->standardIcon(QStyle::SP_MediaSkipForward)); |
81 |
81 |
82 connect(nextButton, SIGNAL(clicked()), this, SIGNAL(next())); |
82 connect(nextButton, SIGNAL(clicked()), this, SIGNAL(next())); |
83 |
83 |
84 previousButton = new QToolButton; |
84 previousButton = new QToolButton(this); |
85 previousButton->setIcon(style()->standardIcon(QStyle::SP_MediaSkipBackward)); |
85 previousButton->setIcon(style()->standardIcon(QStyle::SP_MediaSkipBackward)); |
86 |
86 |
87 connect(previousButton, SIGNAL(clicked()), this, SIGNAL(previous())); |
87 connect(previousButton, SIGNAL(clicked()), this, SIGNAL(previous())); |
88 |
88 |
89 muteButton = new QToolButton; |
89 muteButton = new QToolButton(this); |
90 muteButton->setIcon(style()->standardIcon(QStyle::SP_MediaVolume)); |
90 muteButton->setIcon(style()->standardIcon(QStyle::SP_MediaVolume)); |
91 |
91 |
92 connect(muteButton, SIGNAL(clicked()), this, SLOT(muteClicked())); |
92 connect(muteButton, SIGNAL(clicked()), this, SLOT(muteClicked())); |
93 |
93 |
94 #ifdef Q_OS_SYMBIAN |
94 #ifndef Q_OS_SYMBIAN |
95 #else |
95 volumeSlider = new QSlider(Qt::Horizontal, this); |
96 volumeSlider = new QSlider(Qt::Horizontal); |
96 |
|
97 #ifndef Q_WS_MAEMO_5 |
97 volumeSlider->setRange(0, 100); |
98 volumeSlider->setRange(0, 100); |
98 |
99 |
99 connect(volumeSlider, SIGNAL(sliderMoved(int)), this, SIGNAL(changeVolume(int))); |
100 connect(volumeSlider, SIGNAL(sliderMoved(int)), this, SIGNAL(changeVolume(int))); |
100 |
101 #endif |
101 rateBox = new QComboBox; |
102 |
|
103 rateBox = new QComboBox(this); |
102 rateBox->addItem("0.5x", QVariant(0.5)); |
104 rateBox->addItem("0.5x", QVariant(0.5)); |
103 rateBox->addItem("1.0x", QVariant(1.0)); |
105 rateBox->addItem("1.0x", QVariant(1.0)); |
104 rateBox->addItem("2.0x", QVariant(2.0)); |
106 rateBox->addItem("2.0x", QVariant(2.0)); |
105 rateBox->setCurrentIndex(1); |
107 rateBox->setCurrentIndex(1); |
106 |
108 |
107 connect(rateBox, SIGNAL(activated(int)), SLOT(updateRate())); |
109 connect(rateBox, SIGNAL(activated(int)), SLOT(updateRate())); |
108 |
110 |
109 #endif |
111 #endif |
110 #ifdef Q_OS_SYMBIAN |
112 #ifdef Q_OS_SYMBIAN |
111 playButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Maximum); |
113 playButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Maximum); |
112 playButton->setMinimumSize(1, 1); |
114 playButton->setMinimumSize(1, 1); |
113 stopButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Maximum); |
115 stopButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Maximum); |
114 stopButton->setMinimumSize(1, 1); |
116 stopButton->setMinimumSize(1, 1); |
116 nextButton->setMinimumSize(1, 1); |
118 nextButton->setMinimumSize(1, 1); |
117 previousButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Maximum); |
119 previousButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Maximum); |
118 previousButton->setMinimumSize(1, 1); |
120 previousButton->setMinimumSize(1, 1); |
119 muteButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Maximum); |
121 muteButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Maximum); |
120 muteButton->setMinimumSize(1, 1); |
122 muteButton->setMinimumSize(1, 1); |
121 |
123 |
122 openButton = new QToolButton(this); |
124 openButton = new QToolButton(this); |
123 openButton->setIcon(style()->standardIcon(QStyle::SP_DirOpenIcon)); |
125 openButton->setIcon(style()->standardIcon(QStyle::SP_DirOpenIcon)); |
124 openButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Maximum); |
126 openButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Maximum); |
125 openButton->setMinimumSize(1, 1); |
127 openButton->setMinimumSize(1, 1); |
126 connect(openButton, SIGNAL(clicked()), this, SIGNAL(open())); |
128 connect(openButton, SIGNAL(clicked()), this, SIGNAL(open())); |
127 |
129 |
128 fullScreenButton = new QToolButton(this); |
130 fullScreenButton = new QToolButton(this); |
129 fullScreenButton->setIcon(style()->standardIcon(QStyle::SP_DesktopIcon)); |
131 fullScreenButton->setIcon(style()->standardIcon(QStyle::SP_ComputerIcon)); |
130 fullScreenButton->setCheckable(true); |
132 fullScreenButton->setCheckable(true); |
131 fullScreenButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Maximum); |
133 fullScreenButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Maximum); |
132 fullScreenButton->setMinimumSize(1, 1); |
134 fullScreenButton->setMinimumSize(1, 1); |
133 connect(fullScreenButton, SIGNAL(clicked(bool)), this, SIGNAL(fullScreen(bool))); |
135 connect(fullScreenButton, SIGNAL(toggled(bool)), this, SIGNAL(fullScreen(bool))); |
134 |
136 |
135 playListButton = new QToolButton(this); |
137 playListButton = new QToolButton(this); |
136 playListButton->setIcon(style()->standardIcon(QStyle::SP_FileDialogDetailedView)); |
138 playListButton->setIcon(style()->standardIcon(QStyle::SP_FileDialogDetailedView)); |
137 playListButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Maximum); |
139 playListButton->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Maximum); |
138 playListButton->setMinimumSize(1, 1); |
140 playListButton->setMinimumSize(1, 1); |
139 connect(playListButton, SIGNAL(clicked(bool)), this, SIGNAL(openPlayList())); |
141 connect(playListButton, SIGNAL(clicked(bool)), this, SIGNAL(openPlayList())); |
140 |
142 |
141 #endif |
143 #endif |
142 |
144 |
143 QBoxLayout *layout = new QHBoxLayout; |
145 QBoxLayout *layout = new QHBoxLayout; |
144 layout->setMargin(0); |
146 layout->setMargin(0); |
145 layout->addWidget(stopButton); |
147 layout->addWidget(stopButton); |
146 layout->addWidget(previousButton); |
148 layout->addWidget(previousButton); |
147 layout->addWidget(playButton); |
149 layout->addWidget(playButton); |
238 |
243 |
239 qreal PlayerControls::playbackRate() const |
244 qreal PlayerControls::playbackRate() const |
240 { |
245 { |
241 #ifdef Q_OS_SYMBIAN |
246 #ifdef Q_OS_SYMBIAN |
242 return 0; |
247 return 0; |
243 #else |
248 #else |
244 return rateBox->itemData(rateBox->currentIndex()).toDouble(); |
249 return rateBox->itemData(rateBox->currentIndex()).toDouble(); |
245 #endif |
250 #endif |
246 } |
251 } |
247 |
252 |
248 void PlayerControls::setPlaybackRate(float rate) |
253 void PlayerControls::setPlaybackRate(float rate) |
249 { |
254 { |
250 #ifdef Q_OS_SYMBIAN |
255 #ifndef Q_OS_SYMBIAN |
251 #else |
|
252 for (int i=0; i<rateBox->count(); i++) { |
256 for (int i=0; i<rateBox->count(); i++) { |
253 if (qFuzzyCompare(rate, float(rateBox->itemData(i).toDouble()))) { |
257 if (qFuzzyCompare(rate, float(rateBox->itemData(i).toDouble()))) { |
254 rateBox->setCurrentIndex(i); |
258 rateBox->setCurrentIndex(i); |
255 return; |
259 return; |
256 } |
260 } |
257 } |
261 } |
258 |
262 |
259 rateBox->addItem( QString("%1x").arg(rate), QVariant(rate)); |
263 rateBox->addItem( QString("%1x").arg(rate), QVariant(rate)); |
260 rateBox->setCurrentIndex(rateBox->count()-1); |
264 rateBox->setCurrentIndex(rateBox->count()-1); |
261 #endif |
265 #endif |
262 } |
266 } |
263 |
267 |
264 void PlayerControls::updateRate() |
268 void PlayerControls::updateRate() |
265 { |
269 { |
266 #ifdef Q_OS_SYMBIAN |
270 #ifndef Q_OS_SYMBIAN |
267 #else |
|
268 emit changeRate(playbackRate()); |
271 emit changeRate(playbackRate()); |
269 #endif |
272 #endif |
270 } |
273 } |