Add folder select and scan

This commit is contained in:
hawkeyexp 2018-09-19 19:35:34 +02:00
parent 9a4f1e7080
commit b84aed1f55
7 changed files with 1094 additions and 547 deletions

BIN
assets/coverlogo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
assets/mp3-hot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -26,6 +26,8 @@
<file>bug-hot.png</file>
<file>eye-hot.png</file>
<file>skin-hot.png</file>
<file>mp3-hot.png</file>
<file>coverlogo.png</file>
<file>black.png</file>
<file>Roboto-Regular.ttf</file>
</qresource>

0
assets/skin-hot.png Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -25,13 +25,18 @@
#include <QMediaPlayer>
#include <QListWidgetItem>
#include <QListWidget>
#include <QMediaMetaData>
#include <QDir>
#include <QDirIterator>
#include <QMediaService>
#include <QMediaPlaylist>
#include <QVideoProbe>
#include <QAudioProbe>
#include <QFileDialog>
namespace Ui
{
class MainWindow;
@ -111,10 +116,17 @@ private slots:
void on_horizontalSliderVolumePlayer_sliderMoved(int position);
void on_pushButtonPlayerPlay_clicked();
void on_pushButtonPlayerStop_clicked();
void on_pushButtonPlayerPause_clicked();
void on_positionChanged(qint64 position);
void on_durationChanged(qint64 position);
void on_mp3List_itemClicked(QListWidgetItem *item);
void metaDataChanged();
void stateChanged();
void on_pushButtonScanFolder_clicked();
void on_pushButtonSelectFolder_clicked();
void on_pushButtonPlayerPlayList_clicked();
void on_pushButtonPlayerPrev_clicked();
void on_pushButtonPlayerNext_clicked();
private:
Ui::MainWindow* ui_;
@ -156,7 +168,8 @@ private:
QString custom_button_color_c8 = "186,189,192";
QString selectedMp3file;
QString folderMp3 = "/media/CSSTORAGE/Music";
QString musicfolder = "/media/CSSTORAGE/Music";
QMediaPlaylist *playlist;
bool customBrightnessControl = false;

View File

@ -165,6 +165,7 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi
connect(ui_->pushButtonWifi, &QPushButton::clicked, this, &MainWindow::openConnectDialog);
connect(ui_->pushButtonWifi2, &QPushButton::clicked, this, &MainWindow::openConnectDialog);
connect(ui_->pushButtonMusic, &QPushButton::clicked, this, &MainWindow::playerShow);
connect(ui_->pushButtonMusic2, &QPushButton::clicked, this, &MainWindow::playerShow);
connect(ui_->pushButtonBack, &QPushButton::clicked, this, &MainWindow::playerHide);
// by default hide bluetooth button on init
@ -247,13 +248,14 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi
}
// as default hide brightness slider
ui_->horizontalSliderBrightness->hide();
ui_->brightnessValueLabel->hide();
ui_->BrightnessSliderControl->hide();
// as default hide alpha slider and button
ui_->horizontalSliderAlpha->hide();
ui_->alphaValueLabel->hide();
ui_->pushButtonAlpha->show();
ui_->pushButtonAlpha->hide();
ui_->AlphaSliderControl->hide();
// as default hide volume slider player
ui_->VolumeSliderControlPlayer->hide();
// as default hide power buttons
ui_->pushButtonShutdown->hide();
@ -559,8 +561,8 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi
}
// hide alpha controls if enabled in settings
if (configuration->hideAlpha()) {
ui_->pushButtonAlpha->hide();
if (!configuration->hideAlpha()) {
ui_->pushButtonAlpha->show();
}
// init alpha values
@ -568,9 +570,14 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi
MainWindow::on_horizontalSliderAlpha_valueChanged(int(configuration->getAlphaTrans()));
player = new QMediaPlayer(this);
playlist = new QMediaPlaylist(this);
connect(player, &QMediaPlayer::positionChanged, this, &MainWindow::on_positionChanged);
connect(player, &QMediaPlayer::durationChanged, this, &MainWindow::on_durationChanged);
connect(player, &QMediaPlayer::metaDataAvailableChanged, this, &MainWindow::metaDataChanged);
connect(player, &QMediaPlayer::stateChanged, this, &MainWindow::stateChanged);
ui_->id3TagInfo->hide();
MainWindow::on_pushButtonScanFolder_clicked();
}
MainWindow::~MainWindow()
@ -650,14 +657,9 @@ void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonBrightness_clicked()
this->brightnessFileAlt->close();
}
}
ui_->horizontalSliderBrightness->show();
ui_->brightnessValueLabel->show();
ui_->horizontalSliderVolume->hide();
ui_->volumeValueLabel->hide();
ui_->pushButtonMute->hide();
ui_->pushButtonUnMute->hide();
ui_->horizontalSliderAlpha->hide();
ui_->alphaValueLabel->hide();
ui_->BrightnessSliderControl->show();
ui_->VolumeSliderControl->hide();
ui_->AlphaSliderControl->hide();
}
void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonBrightness2_clicked()
@ -687,14 +689,9 @@ void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonBrightness2_clicked()
this->brightnessFileAlt->close();
}
}
ui_->horizontalSliderBrightness->show();
ui_->brightnessValueLabel->show();
ui_->horizontalSliderVolume->hide();
ui_->volumeValueLabel->hide();
ui_->pushButtonMute->hide();
ui_->pushButtonUnMute->hide();
ui_->horizontalSliderAlpha->hide();
ui_->alphaValueLabel->hide();
ui_->BrightnessSliderControl->show();
ui_->VolumeSliderControl->hide();
ui_->AlphaSliderControl->hide();
}
void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonVolume_clicked()
@ -706,10 +703,10 @@ void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonVolume_clicked()
} else {
ui_->pushButtonMute->show();
}
ui_->horizontalSliderBrightness->hide();
ui_->brightnessValueLabel->hide();
ui_->horizontalSliderAlpha->hide();
ui_->alphaValueLabel->hide();
ui_->VolumeSliderControl->show();
ui_->BrightnessSliderControl->hide();
ui_->AlphaSliderControl->hide();
}
void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonVolume2_clicked()
@ -721,22 +718,16 @@ void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonVolume2_clicked()
} else {
ui_->pushButtonMute->show();
}
ui_->horizontalSliderBrightness->hide();
ui_->brightnessValueLabel->hide();
ui_->horizontalSliderAlpha->hide();
ui_->alphaValueLabel->hide();
ui_->VolumeSliderControl->show();
ui_->BrightnessSliderControl->hide();
ui_->AlphaSliderControl->hide();
}
void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonAlpha_clicked()
{
ui_->horizontalSliderAlpha->show();
ui_->alphaValueLabel->show();
ui_->horizontalSliderVolume->hide();
ui_->volumeValueLabel->hide();
ui_->pushButtonMute->hide();
ui_->pushButtonUnMute->hide();
ui_->horizontalSliderBrightness->hide();
ui_->brightnessValueLabel->hide();
ui_->AlphaSliderControl->show();
ui_->VolumeSliderControl->hide();
ui_->BrightnessSliderControl->hide();
}
void f1x::openauto::autoapp::ui::MainWindow::on_horizontalSliderBrightness_valueChanged(int value)
@ -886,6 +877,10 @@ void f1x::openauto::autoapp::ui::MainWindow::playerShow()
ui_->oldmenuWidget->hide();
}
ui_->mediaWidget->show();
ui_->VolumeSliderControlPlayer->show();
ui_->VolumeSliderControl->hide();
ui_->BrightnessSliderControl->hide();
ui_->AlphaSliderControl->hide();
}
void f1x::openauto::autoapp::ui::MainWindow::playerHide()
@ -896,6 +891,10 @@ void f1x::openauto::autoapp::ui::MainWindow::playerHide()
ui_->oldmenuWidget->show();
}
ui_->mediaWidget->hide();
ui_->VolumeSliderControl->show();
ui_->VolumeSliderControlPlayer->hide();
ui_->BrightnessSliderControl->hide();
ui_->AlphaSliderControl->hide();
}
void f1x::openauto::autoapp::ui::MainWindow::toggleExit()
@ -1178,6 +1177,7 @@ void f1x::openauto::autoapp::ui::MainWindow::showTime()
ui_->pushButtonDummyCamWifi->hide();
}
}
}
// handle dummys in classic menu
int button_count = 0;
@ -1196,24 +1196,20 @@ void f1x::openauto::autoapp::ui::MainWindow::showTime()
if (button_count >= 3) {
ui_->pushButtonDummyClassic1->hide();
ui_->pushButtonDummyClassic2->hide();
ui_->pushButtonDummyClassic3->hide();
}
if (button_count == 2) {
ui_->pushButtonDummyClassic1->show();
ui_->pushButtonDummyClassic1->hide();
ui_->pushButtonDummyClassic2->hide();
ui_->pushButtonDummyClassic3->hide();
}
if (button_count == 1) {
ui_->pushButtonDummyClassic1->show();
ui_->pushButtonDummyClassic2->show();
ui_->pushButtonDummyClassic3->hide();
ui_->pushButtonDummyClassic2->hide();
}
if (button_count == 0) {
ui_->pushButtonDummyClassic1->show();
ui_->pushButtonDummyClassic2->show();
ui_->pushButtonDummyClassic3->show();
}
}
ui_->Digital_clock->setText(time_text);
ui_->bigClock->setText(time_text);
}
@ -1227,11 +1223,14 @@ void f1x::openauto::autoapp::ui::MainWindow::on_horizontalSliderProgressPlayer_s
void f1x::openauto::autoapp::ui::MainWindow::on_horizontalSliderVolumePlayer_sliderMoved(int position)
{
player->setVolume(position);
ui_->volumeValueLabelPlayer->setText(QString::number(position) + "%");
}
void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonPlayerPlay_clicked()
{
player->setMedia(QMediaContent(QUrl::fromLocalFile(this->folderMp3 + "/" + this->selectedMp3file)));
QString path = this->musicfolder + "/" + this->selectedMp3file;
ui_->labelFolderpath->setText(path);
player->setMedia(QMediaContent(QUrl::fromLocalFile(path)));
player->play();
//qDebug() << player->errorString();
}
@ -1239,17 +1238,66 @@ void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonPlayerPlay_clicked()
void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonPlayerStop_clicked()
{
player->stop();
ui_->pushButtonBack->setIcon(QPixmap("://coverlogo.png"));
}
void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonPlayerPause_clicked()
{
{
if(player->state() == QMediaPlayer::PlayingState){
player->pause();
ui_->pushButtonPlayerPause->setStyleSheet( "background-color: rgb(218, 143, 143); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(0,0,0);");
}else{
ui_->pushButtonPlayerPause->setStyleSheet( "background-color: rgb(186, 189, 182); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(0,0,0);");
player->play();
player->setPosition(player->position());
}
}
}
void f1x::openauto::autoapp::ui::MainWindow::on_positionChanged(qint64 position)
{
ui_->horizontalSliderProgressPlayer->setValue(position);
//Setting the time
QString time_elapsed, time_total;
int total_seconds, total_minutes;
total_seconds = (player->duration()/1000) % 60;
total_minutes = (player->duration()/1000) / 60;
if(total_minutes >= 60){
int total_hours = (total_minutes/60);
total_minutes = total_minutes - (total_hours*60);
time_total = QString("%1").arg(total_hours, 2,10,QChar('0')) + ':' + QString("%1").arg(total_minutes, 2,10,QChar('0')) + ':' + QString("%1").arg(total_seconds, 2,10,QChar('0'));
}else{
time_total = QString("%1").arg(total_minutes, 2,10,QChar('0')) + ':' + QString("%1").arg(total_seconds, 2,10,QChar('0'));
}
//calculate time elapsed
int seconds, minutes;
seconds = (position/1000) % 60;
minutes = (position/1000) / 60;
//if minutes is over 60 then we should really display hours
if(minutes >= 60){
int hours = (minutes/60);
minutes = minutes - (hours*60);
time_elapsed = QString("%1").arg(hours, 2,10,QChar('0')) + ':' + QString("%1").arg(minutes, 2,10,QChar('0')) + ':' + QString("%1").arg(seconds, 2,10,QChar('0'));
}else{
time_elapsed = QString("%1").arg(minutes, 2,10,QChar('0')) + ':' + QString("%1").arg(seconds, 2,10,QChar('0'));
}
ui_->playerPositionTime->setText(time_elapsed + " / " + time_total);
}
void f1x::openauto::autoapp::ui::MainWindow::on_durationChanged(qint64 position)
{
ui_->horizontalSliderProgressPlayer->setMaximum(position);
ui_->valueId3length->setText(QString::number(position));
}
void f1x::openauto::autoapp::ui::MainWindow::on_mp3List_itemClicked(QListWidgetItem *item)
@ -1266,6 +1314,60 @@ void f1x::openauto::autoapp::ui::MainWindow::metaDataChanged()
ui_->valueId3Genre->setText(player->metaData(QMediaMetaData::Genre).toString());
ui_->valueId3Year->setText(player->metaData(QMediaMetaData::Year).toString());
QImage img = player->metaData(QMediaMetaData::CoverArtImage).value<QImage>();
QImage imgscaled = img.scaled(300,300);
ui_->labelCover->setPixmap(QPixmap::fromImage(imgscaled));
QImage imgscaled = img.scaled(270,270,Qt::IgnoreAspectRatio);
ui_->pushButtonBack->setIcon(QPixmap::fromImage(imgscaled));
ui_->labelCurrentPlaying->setText(player->metaData(QMediaMetaData::Title).toString() + " - " + player->metaData(QMediaMetaData::AlbumArtist).toString());
}
void f1x::openauto::autoapp::ui::MainWindow::stateChanged()
{
if (player->StoppedState) {
ui_->pushButtonBack->setIcon(QPixmap("://coverlogo.png"));
}
}
void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonScanFolder_clicked()
{
int cleaner = ui_->mp3List->count();
while (cleaner > -1) {
ui_->mp3List->takeItem(cleaner);
cleaner--;
}
this->playlist->clear();
QDirIterator dir(this->musicfolder, QStringList() << "*.mp3", QDir::NoFilter, QDirIterator::Subdirectories);
QList<QMediaContent> content;
while (dir.hasNext()) {
QFile f(dir.next());
QString filename = f.fileName();
// make path relative to musicfolder
ui_->mp3List->addItem(filename.replace(this->musicfolder + "/",""));
content.push_back(QMediaContent(QUrl::fromLocalFile(f.fileName())));
}
this->playlist->addMedia(content);
}
void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonSelectFolder_clicked()
{
this->musicfolder = QFileDialog::getExistingDirectory(this, tr("Select Album"), this->musicfolder, QFileDialog::ShowDirsOnly);
f1x::openauto::autoapp::ui::MainWindow::on_pushButtonScanFolder_clicked();
}
void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonPlayerPlayList_clicked()
{
QString path = this->musicfolder + "/" + this->selectedMp3file;
ui_->labelFolderpath->setText(path);
player->setPlaylist(this->playlist);
player->play();
}
void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonPlayerPrev_clicked()
{
playlist->previous();
}
void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonPlayerNext_clicked()
{
playlist->next();
}

View File

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>1268</height>
<width>808</width>
<height>1316</height>
</rect>
</property>
<property name="sizePolicy">
@ -1110,7 +1110,18 @@ border-radius: 4px;
border: 2px solid rgba(255,255,255,0.5);</string>
</property>
<property name="text">
<string>MP3</string>
<string/>
</property>
<property name="icon">
<iconset>
<normalon>:/mp3-hot.png</normalon>
</iconset>
</property>
<property name="iconSize">
<size>
<width>64</width>
<height>64</height>
</size>
</property>
</widget>
</item>
@ -1734,6 +1745,33 @@ border: 2px solid rgba(255,255,255,0.5);</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButtonMusic2">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgba(136, 138, 133, 0.5);</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset>
<normalon>:/mp3-hot.png</normalon>
</iconset>
</property>
<property name="iconSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButtonDummyClassic1">
<property name="sizePolicy">
@ -1790,28 +1828,6 @@ border: 2px solid rgba(255,255,255,0.5);</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButtonDummyClassic3">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>62</width>
<height>0</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgba(136, 138, 133, 0.5);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
</item>
@ -1996,9 +2012,12 @@ border: 2px solid rgba(255,255,255,0.5);</string>
<enum>Qt::LeftToRight</enum>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgba(0, 0, 0, 0.8);</string>
<string notr="true">background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(9, 41, 4, 255), stop:0.085 rgba(2, 79, 0, 255), stop:0.19 rgba(50, 147, 22, 255), stop:0.275 rgba(236, 191, 49, 255), stop:0.39 rgba(243, 61, 34, 255), stop:0.555 rgba(135, 81, 60, 255), stop:0.667 rgba(121, 75, 255, 255), stop:0.825 rgba(164, 255, 244, 255), stop:0.885 rgba(104, 222, 71, 255), stop:1 rgba(93, 128, 0, 255));</string>
</property>
<layout class="QVBoxLayout" name="mediaWidgetLayout">
<property name="spacing">
<number>4</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
@ -2009,7 +2028,7 @@ border: 2px solid rgba(255,255,255,0.5);</string>
<number>0</number>
</property>
<property name="bottomMargin">
<number>4</number>
<number>6</number>
</property>
<item>
<widget class="QWidget" name="horizontalWidget_2" native="true">
@ -2021,9 +2040,13 @@ border: 2px solid rgba(255,255,255,0.5);</string>
</property>
<property name="styleSheet">
<string notr="true">border: 0px;
background-color: rgba(0, 0, 0, 0);
</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
@ -2037,25 +2060,61 @@ border: 2px solid rgba(255,255,255,0.5);</string>
<number>0</number>
</property>
<item>
<widget class="QListWidget" name="mp3List">
<widget class="QWidget" name="verticalWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<property name="spacing">
<number>4</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="labelFolderpath">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>200</width>
<height>0</height>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>200</width>
<height>16777215</height>
<width>16777215</width>
<height>20</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgba(85, 87, 83, 0.7);
color: rgb(255, 255, 255);
border: 2px solid rgba(255,255,255,0.5);</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QListWidget" name="mp3List">
<property name="font">
<font>
<weight>75</weight>
@ -2066,20 +2125,73 @@ border: 2px solid rgba(255,255,255,0.5);</string>
<enum>Qt::LeftToRight</enum>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(85, 87, 83);
<string notr="true">background-color: rgba(85, 87, 83, 0.7);
color: rgb(255, 255, 255);
border: 2px solid rgba(255,255,255,0.5);</string>
border-bottom: 2px solid rgba(255,255,255,0.5);
border-left: 2px solid rgba(255,255,255,0.5);
border-right: 2px solid rgba(255,255,255,0.5);
</string>
</property>
<item>
<property name="text">
<string>test.mp3</string>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOn</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAsNeeded</enum>
</property>
<property name="alternatingRowColors">
<bool>false</bool>
</property>
<property name="sortingEnabled">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<property name="text">
<string>test2.mp3</string>
<widget class="QPushButton" name="pushButtonBack">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>280</width>
<height>280</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>280</width>
<height>280</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgba(0, 0, 0, 0);
color: rgb(255, 255, 255);
border: 2px solid rgba(255,255,255,0.5);
</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset>
<normalon>:/coverlogo.png</normalon>
</iconset>
</property>
<property name="iconSize">
<size>
<width>270</width>
<height>270</height>
</size>
</property>
<property name="default">
<bool>false</bool>
</property>
</item>
</widget>
</item>
<item>
@ -2092,12 +2204,18 @@ border: 2px solid rgba(255,255,255,0.5);</string>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
<width>260</width>
<height>280</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>280</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(46, 52, 54);
<string notr="true">background-color: rgba(85, 87, 83, 0.7);
color: rgb(255, 255, 255);
border: 2px solid rgba(255,255,255,0.5);</string>
</property>
@ -2197,6 +2315,40 @@ border: no-border;</string>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);
background-color: rgba(0, 0, 0, 0);
border: no-border;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="labelId3Genre">
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);
background-color: rgba(0, 0, 0, 0);
border: no-border;</string>
</property>
<property name="text">
<string>Genre</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="valueId3Genre">
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);
background-color: rgba(0, 0, 0, 0);
border: no-border;</string>
</property>
<property name="text">
@ -2272,127 +2424,74 @@ border: no-border;</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="labelId3Genre">
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);
background-color: rgba(0, 0, 0, 0);
border: no-border;</string>
</property>
<property name="text">
<string>Genre</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="valueId3Genre">
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);
background-color: rgba(0, 0, 0, 0);
border: no-border;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="labelId3Length">
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);
background-color: rgba(0, 0, 0, 0);
border: no-border;</string>
</property>
<property name="text">
<string>Length</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLabel" name="valueId3length">
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);
background-color: rgba(0, 0, 0, 0);
border: no-border;</string>
</property>
<property name="text">
<string/>
</property>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QLabel" name="labelCover">
<widget class="QLabel" name="labelCurrentPlaying">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>20</height>
</size>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
<weight>75</weight>
<italic>true</italic>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(46, 52, 54);
color: rgb(255, 255, 255);
border: 2px solid rgba(255,255,255,0.5);</string>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
<string notr="true">background-color: rgba(0, 0, 0, 0);
color: rgb(255, 255, 255);</string>
</property>
<property name="text">
<string>Cover</string>
<string/>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QSlider" name="horizontalSliderProgressPlayer">
<property name="minimumSize">
<size>
<width>0</width>
<height>10</height>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>30</height>
</size>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">QSlider::groove:horizontal { background: #6d6d6d; height: 32px;}
QSlider::handle:horizontal { background: rgb(255, 255, 255); height: 52px; width: 52px; margin: 0 0;};</string>
@ -2403,33 +2502,90 @@ QSlider::handle:horizontal { background: rgb(255, 255, 255); height: 52px; width
</widget>
</item>
<item>
<widget class="QSlider" name="horizontalSliderVolumePlayer">
<widget class="QLabel" name="playerPositionTime">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>140</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>140</width>
<height>30</height>
</size>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);
background-color: #6d6d6d;</string>
</property>
<property name="text">
<string>00:00 / 00:00</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="pushButtonPlayerPrev">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>30</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QSlider::groove:horizontal { background: #6d6d6d; height: 32px;}
QSlider::handle:horizontal { background: rgb(64, 191, 191); height: 52px; width: 52px; margin: 0 0;};</string>
<string notr="true">background-color: rgb(186, 189, 182);
border-radius: 4px;
border: 2px solid rgba(255,255,255,0.5);</string>
</property>
<property name="maximum">
<number>100</number>
</property>
<property name="value">
<number>100</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
<property name="text">
<string>Prev</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="pushButtonPlayerPlay">
<property name="sizePolicy">
@ -2444,6 +2600,12 @@ QSlider::handle:horizontal { background: rgb(64, 191, 191); height: 52px; width:
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>30</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(186, 189, 182);
border-radius: 4px;
@ -2455,7 +2617,7 @@ border: 2px solid rgba(255,255,255,0.5);</string>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButtonPlayerPause">
<widget class="QPushButton" name="pushButtonPlayerPlayList">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
@ -2468,13 +2630,19 @@ border: 2px solid rgba(255,255,255,0.5);</string>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>30</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(186, 189, 182);
border-radius: 4px;
border: 2px solid rgba(255,255,255,0.5);</string>
</property>
<property name="text">
<string>Pause</string>
<string>Play All</string>
</property>
</widget>
</item>
@ -2492,6 +2660,12 @@ border: 2px solid rgba(255,255,255,0.5);</string>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>30</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(186, 189, 182);
border-radius: 4px;
@ -2503,7 +2677,7 @@ border: 2px solid rgba(255,255,255,0.5);</string>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButtonBack">
<widget class="QPushButton" name="pushButtonPlayerNext">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
@ -2516,20 +2690,80 @@ border: 2px solid rgba(255,255,255,0.5);</string>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>30</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(186, 189, 182);
border-radius: 4px;
border: 2px solid rgba(255,255,255,0.5);</string>
</property>
<property name="text">
<string>Back</string>
<string>Next</string>
</property>
<property name="iconSize">
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButtonPlayerPause">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>50</width>
<height>50</height>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>30</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(186, 189, 182);
border-radius: 4px;
border: 2px solid rgba(255,255,255,0.5);</string>
</property>
<property name="text">
<string>Pause</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButtonSelectFolder">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>30</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">background-color: rgb(186, 189, 182);
border-radius: 4px;
border: 2px solid rgba(255,255,255,0.5);</string>
</property>
<property name="text">
<string>Folder</string>
</property>
</widget>
</item>
</layout>
@ -2573,7 +2807,38 @@ color: rgb(0, 0, 0);</string>
</widget>
</item>
<item>
<widget class="QWidget" name="VolumeSliderControl" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>30</height>
</size>
</property>
<layout class="QHBoxLayout" name="Layout_Volume">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="pushButtonUnMute">
<property name="sizePolicy">
@ -2700,9 +2965,141 @@ background-color: #6d6d6d;</string>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="VolumeSliderControlPlayer" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>30</height>
</size>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QSlider" name="horizontalSliderVolumePlayer">
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="styleSheet">
<string notr="true">QSlider::groove:horizontal { background: #6d6d6d; height: 32px;}
QSlider::handle:horizontal { background: rgb(64, 191, 191); height: 52px; width: 52px; margin: 0 0;};</string>
</property>
<property name="maximum">
<number>100</number>
</property>
<property name="value">
<number>100</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="volumeValueLabelPlayer">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>40</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>40</width>
<height>16777215</height>
</size>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);
background-color: #6d6d6d;</string>
</property>
<property name="text">
<string>100%</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="BrightnessSliderControl" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>30</height>
</size>
</property>
<layout class="QHBoxLayout" name="Layout_Brightness">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QSlider" name="horizontalSliderBrightness">
<property name="sizePolicy">
@ -2786,9 +3183,41 @@ background-color: #6d6d6d;</string>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="AlphaSliderControl" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>30</height>
</size>
</property>
<layout class="QHBoxLayout" name="Layout_Alpha">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QSlider" name="horizontalSliderAlpha">
<property name="minimumSize">
@ -2857,6 +3286,7 @@ background-color: #6d6d6d;</string>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>