9 #ifndef UI_GUI_CONTROLS_H
10 #define UI_GUI_CONTROLS_H
12 #include <QtCore/QVariant>
13 #include <QtGui/QIcon>
14 #include <QtWidgets/QApplication>
15 #include <QtWidgets/QGridLayout>
16 #include <QtWidgets/QHBoxLayout>
17 #include <QtWidgets/QLabel>
18 #include <QtWidgets/QPushButton>
19 #include <QtWidgets/QSpacerItem>
20 #include <QtWidgets/QWidget>
21 #include "Gui/Covers/CoverButton.h"
22 #include "Gui/Player/SearchSlider.h"
23 #include "Gui/Utils/Widgets/FloatingLabel.h"
30 QGridLayout *gridLayout;
31 QHBoxLayout *layout_buttons;
32 QPushButton *btn_ctrl_bw;
33 QPushButton *btn_ctrl_play;
34 QPushButton *btn_ctrl_rec;
35 QPushButton *btn_ctrl_fw;
36 QGridLayout *layout_labels;
38 QLabel *lab_copyright;
41 QLabel *lab_writtenby;
42 QWidget *widget_details;
43 QGridLayout *gridLayout_7;
46 QSpacerItem *horizontalSpacer_4;
47 QSpacerItem *horizontalSpacer_2;
50 QHBoxLayout *layout_volume;
51 QPushButton *btn_mute;
53 QGridLayout *layout_cover;
55 QSpacerItem *verticalSpacer;
56 QPushButton *btn_ctrl_stop;
57 QGridLayout *gridLayout_2;
60 QSpacerItem *horizontalSpacer;
66 GUI_Controls->setObjectName(QString::fromUtf8(
"GUI_Controls"));
69 gridLayout->setSpacing(3);
70 gridLayout->setObjectName(QString::fromUtf8(
"gridLayout"));
71 gridLayout->setContentsMargins(0, 0, 0, 0);
72 layout_buttons =
new QHBoxLayout();
73 layout_buttons->setSpacing(0);
74 layout_buttons->setObjectName(QString::fromUtf8(
"layout_buttons"));
75 layout_buttons->setSizeConstraint(QLayout::SetFixedSize);
76 layout_buttons->setContentsMargins(-1, -1, -1, 0);
78 btn_ctrl_bw->setObjectName(QString::fromUtf8(
"btn_ctrl_bw"));
79 btn_ctrl_bw->setEnabled(
true);
80 QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
81 sizePolicy.setHorizontalStretch(0);
82 sizePolicy.setVerticalStretch(0);
83 sizePolicy.setHeightForWidth(btn_ctrl_bw->sizePolicy().hasHeightForWidth());
84 btn_ctrl_bw->setSizePolicy(sizePolicy);
85 btn_ctrl_bw->setFocusPolicy(Qt::ClickFocus);
87 icon.addFile(QString::fromUtf8(
":/Icons/bwd.svg.png"), QSize(), QIcon::Normal, QIcon::Off);
88 icon.addFile(QString::fromUtf8(
":/Icons/bwd_disabled.svg"), QSize(), QIcon::Disabled, QIcon::Off);
89 btn_ctrl_bw->setIcon(
icon);
90 btn_ctrl_bw->setIconSize(QSize(21, 21));
91 btn_ctrl_bw->setFlat(
true);
93 layout_buttons->addWidget(btn_ctrl_bw);
96 btn_ctrl_play->setObjectName(QString::fromUtf8(
"btn_ctrl_play"));
97 sizePolicy.setHeightForWidth(btn_ctrl_play->sizePolicy().hasHeightForWidth());
98 btn_ctrl_play->setSizePolicy(sizePolicy);
99 btn_ctrl_play->setFocusPolicy(Qt::ClickFocus);
101 icon1.addFile(QString::fromUtf8(
":/Icons/play.svg.png"), QSize(), QIcon::Normal, QIcon::Off);
102 btn_ctrl_play->setIcon(icon1);
103 btn_ctrl_play->setIconSize(QSize(27, 27));
104 btn_ctrl_play->setAutoDefault(
false);
105 btn_ctrl_play->setFlat(
true);
107 layout_buttons->addWidget(btn_ctrl_play);
110 btn_ctrl_rec->setObjectName(QString::fromUtf8(
"btn_ctrl_rec"));
111 sizePolicy.setHeightForWidth(btn_ctrl_rec->sizePolicy().hasHeightForWidth());
112 btn_ctrl_rec->setSizePolicy(sizePolicy);
113 btn_ctrl_rec->setFocusPolicy(Qt::ClickFocus);
115 icon2.addFile(QString::fromUtf8(
":/Icons/rec.svg.png"), QSize(), QIcon::Normal, QIcon::Off);
116 btn_ctrl_rec->setIcon(icon2);
117 btn_ctrl_rec->setIconSize(QSize(27, 27));
118 btn_ctrl_rec->setCheckable(
true);
119 btn_ctrl_rec->setFlat(
true);
121 layout_buttons->addWidget(btn_ctrl_rec);
124 btn_ctrl_fw->setObjectName(QString::fromUtf8(
"btn_ctrl_fw"));
125 btn_ctrl_fw->setEnabled(
true);
126 sizePolicy.setHeightForWidth(btn_ctrl_fw->sizePolicy().hasHeightForWidth());
127 btn_ctrl_fw->setSizePolicy(sizePolicy);
128 btn_ctrl_fw->setFocusPolicy(Qt::ClickFocus);
130 icon3.addFile(QString::fromUtf8(
":/Icons/fwd.svg.png"), QSize(), QIcon::Normal, QIcon::Off);
131 icon3.addFile(QString::fromUtf8(
":/Icons/fwd_disabled.svg.png"), QSize(), QIcon::Disabled, QIcon::Off);
132 btn_ctrl_fw->setIcon(icon3);
133 btn_ctrl_fw->setIconSize(QSize(21, 21));
134 btn_ctrl_fw->setFlat(
true);
136 layout_buttons->addWidget(btn_ctrl_fw);
139 gridLayout->addLayout(layout_buttons, 4, 1, 1, 1);
141 layout_labels =
new QGridLayout();
142 layout_labels->setSpacing(3);
143 layout_labels->setObjectName(QString::fromUtf8(
"layout_labels"));
145 lab_title->setObjectName(QString::fromUtf8(
"lab_title"));
146 QSizePolicy sizePolicy1(QSizePolicy::Preferred, QSizePolicy::Maximum);
147 sizePolicy1.setHorizontalStretch(0);
148 sizePolicy1.setVerticalStretch(0);
149 sizePolicy1.setHeightForWidth(lab_title->sizePolicy().hasHeightForWidth());
150 lab_title->setSizePolicy(sizePolicy1);
152 font.setPointSize(11);
155 lab_title->setFont(font);
156 lab_title->setFocusPolicy(Qt::ClickFocus);
157 lab_title->setText(QString::fromUtf8(
""));
158 lab_title->setAlignment(Qt::AlignCenter);
159 lab_title->setWordWrap(
true);
161 layout_labels->addWidget(lab_title, 0, 1, 1, 1);
164 lab_copyright->setObjectName(QString::fromUtf8(
"lab_copyright"));
165 QSizePolicy sizePolicy2(QSizePolicy::Preferred, QSizePolicy::Preferred);
166 sizePolicy2.setHorizontalStretch(0);
167 sizePolicy2.setVerticalStretch(0);
168 sizePolicy2.setHeightForWidth(lab_copyright->sizePolicy().hasHeightForWidth());
169 lab_copyright->setSizePolicy(sizePolicy2);
170 lab_copyright->setMinimumSize(QSize(0, 20));
171 lab_copyright->setMaximumSize(QSize(16777215, 20));
172 lab_copyright->setText(QString::fromUtf8(
"Copyright 2011-2020"));
173 lab_copyright->setAlignment(Qt::AlignCenter);
175 layout_labels->addWidget(lab_copyright, 3, 0, 1, 1);
178 lab_sayonara->setObjectName(QString::fromUtf8(
"lab_sayonara"));
179 sizePolicy1.setHeightForWidth(lab_sayonara->sizePolicy().hasHeightForWidth());
180 lab_sayonara->setSizePolicy(sizePolicy1);
181 lab_sayonara->setMinimumSize(QSize(0, 40));
182 lab_sayonara->setMaximumSize(QSize(16777215, 40));
183 lab_sayonara->setFont(font);
184 lab_sayonara->setFocusPolicy(Qt::ClickFocus);
185 lab_sayonara->setText(QString::fromUtf8(
"Sayonara Player"));
186 lab_sayonara->setAlignment(Qt::AlignCenter);
188 layout_labels->addWidget(lab_sayonara, 0, 0, 1, 1);
191 lab_version->setObjectName(QString::fromUtf8(
"lab_version"));
192 lab_version->setMinimumSize(QSize(0, 20));
193 lab_version->setMaximumSize(QSize(16777215, 20));
194 lab_version->setAlignment(Qt::AlignCenter);
196 layout_labels->addWidget(lab_version, 1, 0, 1, 1);
199 lab_writtenby->setObjectName(QString::fromUtf8(
"lab_writtenby"));
200 sizePolicy2.setHeightForWidth(lab_writtenby->sizePolicy().hasHeightForWidth());
201 lab_writtenby->setSizePolicy(sizePolicy2);
202 lab_writtenby->setMinimumSize(QSize(0, 20));
203 lab_writtenby->setMaximumSize(QSize(16777215, 20));
204 lab_writtenby->setText(QString::fromUtf8(
"Written by Michael Lugmair (Lucio Carreras)"));
205 lab_writtenby->setAlignment(Qt::AlignCenter);
207 layout_labels->addWidget(lab_writtenby, 2, 0, 1, 1);
210 widget_details->setObjectName(QString::fromUtf8(
"widget_details"));
211 sizePolicy1.setHeightForWidth(widget_details->sizePolicy().hasHeightForWidth());
212 widget_details->setSizePolicy(sizePolicy1);
213 gridLayout_7 =
new QGridLayout(widget_details);
214 gridLayout_7->setObjectName(QString::fromUtf8(
"gridLayout_7"));
215 gridLayout_7->setHorizontalSpacing(30);
216 gridLayout_7->setVerticalSpacing(2);
217 gridLayout_7->setContentsMargins(10, 2, 10, 2);
218 lab_bitrate =
new QLabel(widget_details);
219 lab_bitrate->setObjectName(QString::fromUtf8(
"lab_bitrate"));
221 gridLayout_7->addWidget(lab_bitrate, 0, 4, 1, 2);
223 lab_filesize =
new QLabel(widget_details);
224 lab_filesize->setObjectName(QString::fromUtf8(
"lab_filesize"));
226 gridLayout_7->addWidget(lab_filesize, 0, 1, 1, 2);
228 horizontalSpacer_4 =
new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
230 gridLayout_7->addItem(horizontalSpacer_4, 0, 0, 1, 1);
232 horizontalSpacer_2 =
new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
234 gridLayout_7->addItem(horizontalSpacer_2, 0, 6, 1, 1);
237 layout_labels->addWidget(widget_details, 3, 1, 1, 1);
240 lab_album->setObjectName(QString::fromUtf8(
"lab_album"));
241 sizePolicy1.setHeightForWidth(lab_album->sizePolicy().hasHeightForWidth());
242 lab_album->setSizePolicy(sizePolicy1);
243 lab_album->setText(QString::fromUtf8(
""));
244 lab_album->setAlignment(Qt::AlignCenter);
245 lab_album->setWordWrap(
true);
247 layout_labels->addWidget(lab_album, 2, 1, 1, 1);
250 lab_artist->setObjectName(QString::fromUtf8(
"lab_artist"));
251 sizePolicy1.setHeightForWidth(lab_artist->sizePolicy().hasHeightForWidth());
252 lab_artist->setSizePolicy(sizePolicy1);
253 lab_artist->setFrameShape(QFrame::NoFrame);
254 lab_artist->setFrameShadow(QFrame::Plain);
255 lab_artist->setText(QString::fromUtf8(
""));
256 lab_artist->setTextFormat(Qt::AutoText);
257 lab_artist->setAlignment(Qt::AlignCenter);
258 lab_artist->setWordWrap(
true);
260 layout_labels->addWidget(lab_artist, 1, 1, 1, 1);
263 gridLayout->addLayout(layout_labels, 0, 2, 4, 2);
265 layout_volume =
new QHBoxLayout();
266 layout_volume->setSpacing(2);
267 layout_volume->setObjectName(QString::fromUtf8(
"layout_volume"));
268 layout_volume->setSizeConstraint(QLayout::SetFixedSize);
270 btn_mute->setObjectName(QString::fromUtf8(
"btn_mute"));
271 QSizePolicy sizePolicy3(QSizePolicy::Fixed, QSizePolicy::Maximum);
272 sizePolicy3.setHorizontalStretch(0);
273 sizePolicy3.setVerticalStretch(0);
274 sizePolicy3.setHeightForWidth(btn_mute->sizePolicy().hasHeightForWidth());
275 btn_mute->setSizePolicy(sizePolicy3);
276 btn_mute->setMinimumSize(QSize(22, 22));
277 btn_mute->setMaximumSize(QSize(22, 22));
278 btn_mute->setSizeIncrement(QSize(0, 0));
279 btn_mute->setFocusPolicy(Qt::ClickFocus);
281 icon4.addFile(QString::fromUtf8(
":/Icons/vol_mute.svg.png"), QSize(), QIcon::Normal, QIcon::Off);
282 btn_mute->setIcon(icon4);
283 btn_mute->setIconSize(QSize(20, 20));
284 btn_mute->setFlat(
true);
286 layout_volume->addWidget(btn_mute);
289 sli_volume->setObjectName(QString::fromUtf8(
"sli_volume"));
290 sli_volume->setEnabled(
true);
291 sizePolicy3.setHeightForWidth(sli_volume->sizePolicy().hasHeightForWidth());
292 sli_volume->setSizePolicy(sizePolicy3);
293 sli_volume->setMinimumSize(QSize(20, 10));
294 sli_volume->setMaximumSize(QSize(73, 1000));
295 sli_volume->setFocusPolicy(Qt::ClickFocus);
296 sli_volume->setValue(50);
297 sli_volume->setTracking(
true);
298 sli_volume->setOrientation(Qt::Horizontal);
299 sli_volume->setInvertedAppearance(
false);
300 sli_volume->setInvertedControls(
false);
301 sli_volume->setTickPosition(QSlider::NoTicks);
302 sli_volume->setTickInterval(25);
304 layout_volume->addWidget(sli_volume);
307 gridLayout->addLayout(layout_volume, 3, 1, 1, 1);
309 layout_cover =
new QGridLayout();
310 layout_cover->setObjectName(QString::fromUtf8(
"layout_cover"));
312 btn_cover->setObjectName(QString::fromUtf8(
"btn_cover"));
313 QSizePolicy sizePolicy4(QSizePolicy::Minimum, QSizePolicy::Minimum);
314 sizePolicy4.setHorizontalStretch(0);
315 sizePolicy4.setVerticalStretch(0);
316 sizePolicy4.setHeightForWidth(btn_cover->sizePolicy().hasHeightForWidth());
317 btn_cover->setSizePolicy(sizePolicy4);
318 btn_cover->setMinimumSize(QSize(95, 95));
319 btn_cover->setMaximumSize(QSize(100, 100));
320 btn_cover->setFocusPolicy(Qt::ClickFocus);
321 btn_cover->setIconSize(QSize(95, 95));
322 btn_cover->setFlat(
true);
324 layout_cover->addWidget(btn_cover, 0, 0, 1, 1);
326 verticalSpacer =
new QSpacerItem(1, 95, QSizePolicy::Minimum, QSizePolicy::Minimum);
328 layout_cover->addItem(verticalSpacer, 0, 1, 1, 1);
331 gridLayout->addLayout(layout_cover, 0, 1, 3, 1);
334 btn_ctrl_stop->setObjectName(QString::fromUtf8(
"btn_ctrl_stop"));
335 QSizePolicy sizePolicy5(QSizePolicy::Preferred, QSizePolicy::Fixed);
336 sizePolicy5.setHorizontalStretch(0);
337 sizePolicy5.setVerticalStretch(0);
338 sizePolicy5.setHeightForWidth(btn_ctrl_stop->sizePolicy().hasHeightForWidth());
339 btn_ctrl_stop->setSizePolicy(sizePolicy5);
340 btn_ctrl_stop->setFocusPolicy(Qt::ClickFocus);
342 icon5.addFile(QString::fromUtf8(
":/Icons/stop.svg.png"), QSize(), QIcon::Normal, QIcon::Off);
343 btn_ctrl_stop->setIcon(icon5);
344 btn_ctrl_stop->setIconSize(QSize(21, 21));
345 btn_ctrl_stop->setFlat(
true);
347 gridLayout->addWidget(btn_ctrl_stop, 4, 3, 1, 1);
349 gridLayout_2 =
new QGridLayout();
350 gridLayout_2->setObjectName(QString::fromUtf8(
"gridLayout_2"));
351 gridLayout_2->setHorizontalSpacing(5);
352 gridLayout_2->setVerticalSpacing(2);
354 lab_cur_time->setObjectName(QString::fromUtf8(
"lab_cur_time"));
355 lab_cur_time->setMinimumSize(QSize(50, 0));
356 lab_cur_time->setMaximumSize(QSize(50, 16));
357 lab_cur_time->setLineWidth(0);
358 lab_cur_time->setText(QString::fromUtf8(
""));
360 gridLayout_2->addWidget(lab_cur_time, 1, 0, 1, 1);
363 lab_max_time->setObjectName(QString::fromUtf8(
"lab_max_time"));
364 lab_max_time->setMinimumSize(QSize(50, 0));
365 lab_max_time->setMaximumSize(QSize(100, 16));
366 lab_max_time->setLayoutDirection(Qt::RightToLeft);
367 lab_max_time->setLineWidth(0);
368 lab_max_time->setText(QString::fromUtf8(
""));
369 lab_max_time->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
371 gridLayout_2->addWidget(lab_max_time, 1, 2, 1, 1);
373 horizontalSpacer =
new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
375 gridLayout_2->addItem(horizontalSpacer, 1, 1, 1, 1);
378 sli_progress->setObjectName(QString::fromUtf8(
"sli_progress"));
379 sli_progress->setFocusPolicy(Qt::NoFocus);
380 sli_progress->setMaximum(1000);
381 sli_progress->setOrientation(Qt::Horizontal);
383 gridLayout_2->addWidget(sli_progress, 0, 0, 1, 3);
386 gridLayout->addLayout(gridLayout_2, 4, 2, 1, 1);
391 btn_ctrl_play->setDefault(
false);
399 btn_ctrl_bw->setText(QString());
400 btn_ctrl_play->setText(QString());
401 btn_ctrl_rec->setText(QString());
402 btn_ctrl_fw->setText(QString());
403 lab_version->setText(QString());
404 lab_bitrate->setText(QString());
405 lab_filesize->setText(QString());
406 btn_mute->setText(QString());
407 btn_cover->setText(QString());
408 btn_ctrl_stop->setText(QString());
420 #endif // UI_GUI_CONTROLS_H