diff --git a/assets/next-hot.png b/assets/next-hot.png new file mode 100644 index 0000000..41f53a6 Binary files /dev/null and b/assets/next-hot.png differ diff --git a/assets/nextbig-hot.png b/assets/nextbig-hot.png new file mode 100644 index 0000000..a64e696 Binary files /dev/null and b/assets/nextbig-hot.png differ diff --git a/assets/pause-hot.png b/assets/pause-hot.png new file mode 100644 index 0000000..dfba39a Binary files /dev/null and b/assets/pause-hot.png differ diff --git a/assets/play-hot.png b/assets/play-hot.png new file mode 100644 index 0000000..331e90b Binary files /dev/null and b/assets/play-hot.png differ diff --git a/assets/prev-hot.png b/assets/prev-hot.png new file mode 100644 index 0000000..bf46669 Binary files /dev/null and b/assets/prev-hot.png differ diff --git a/assets/prevbig-hot.png b/assets/prevbig-hot.png new file mode 100644 index 0000000..5654795 Binary files /dev/null and b/assets/prevbig-hot.png differ diff --git a/assets/resources.qrc b/assets/resources.qrc index d93c1d1..267a55f 100644 --- a/assets/resources.qrc +++ b/assets/resources.qrc @@ -27,6 +27,12 @@ eye-hot.png skin-hot.png mp3-hot.png + play-hot.png + prev-hot.png + next-hot.png + pause-hot.png + prevbig-hot.png + nextbig-hot.png coverlogo.png black.png Roboto-Regular.ttf diff --git a/include/f1x/openauto/autoapp/UI/MainWindow.hpp b/include/f1x/openauto/autoapp/UI/MainWindow.hpp index 914f37b..d431b5a 100644 --- a/include/f1x/openauto/autoapp/UI/MainWindow.hpp +++ b/include/f1x/openauto/autoapp/UI/MainWindow.hpp @@ -108,7 +108,6 @@ private slots: void customButtonPressed5(); void customButtonPressed6(); void customButtonPressed7(); - void customButtonPressed8(); void playerShow(); void playerHide(); @@ -121,12 +120,13 @@ private slots: 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(); + void on_pushButtonNextBig_clicked(); + void on_pushButtonPrevBig_clicked(); + void on_comboBoxAlbum_currentIndexChanged(const QString &arg1); + void on_mp3List_currentRowChanged(int currentRow); + void scanFolders(); + void scanFiles(); private: Ui::MainWindow* ui_; @@ -147,7 +147,6 @@ private: QString custom_button_file_c5 = "/boot/crankshaft/button_5"; QString custom_button_file_c6 = "/boot/crankshaft/button_6"; QString custom_button_file_c7 = "/boot/crankshaft/button_7"; - QString custom_button_file_c8 = "/boot/crankshaft/button_8"; QString custom_button_command_c1; QString custom_button_command_c2; @@ -156,7 +155,6 @@ private: QString custom_button_command_c5; QString custom_button_command_c6; QString custom_button_command_c7; - QString custom_button_command_c8; QString custom_button_color_c1 = "186,189,192"; QString custom_button_color_c2 = "186,189,192"; @@ -165,10 +163,10 @@ private: QString custom_button_color_c5 = "186,189,192"; QString custom_button_color_c6 = "186,189,192"; QString custom_button_color_c7 = "186,189,192"; - QString custom_button_color_c8 = "186,189,192"; QString selectedMp3file; QString musicfolder = "/media/CSSTORAGE/Music"; + QString albumfolder = "/"; QMediaPlaylist *playlist; bool customBrightnessControl = false; @@ -209,9 +207,10 @@ private: bool c5ButtonForce = false; bool c6ButtonForce = false; bool c7ButtonForce = false; - bool c8ButtonForce = false; bool hotspotActive = false; + + int currentPlaylistIndex = 0; }; } diff --git a/src/autoapp/UI/MainWindow.cpp b/src/autoapp/UI/MainWindow.cpp index efb28b5..898e20f 100644 --- a/src/autoapp/UI/MainWindow.cpp +++ b/src/autoapp/UI/MainWindow.cpp @@ -30,6 +30,7 @@ #include #include #include +#include namespace f1x { @@ -93,9 +94,6 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi QFileInfo c7ButtonFile(this->custom_button_file_c7); this->c7ButtonForce = c7ButtonFile.exists(); - QFileInfo c8ButtonFile(this->custom_button_file_c8); - this->c8ButtonForce = c8ButtonFile.exists(); - // wallpaper stuff QFileInfo wallpaperDayFile("wallpaper.png"); this->wallpaperDayFileExists = wallpaperDayFile.exists(); @@ -167,6 +165,7 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi connect(ui_->pushButtonMusic, &QPushButton::clicked, this, &MainWindow::playerShow); connect(ui_->pushButtonMusic2, &QPushButton::clicked, this, &MainWindow::playerShow); connect(ui_->pushButtonBack, &QPushButton::clicked, this, &MainWindow::playerHide); + connect(ui_->pushButtonPlayerBack, &QPushButton::clicked, this, &MainWindow::playerHide); // by default hide bluetooth button on init ui_->pushButtonBluetooth->hide(); @@ -242,11 +241,6 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi ui_->pushButtonBrightness->hide(); } - // hide dummy if debug is shown - if (this->systemDebugmode) { - ui_->pushButtonDummy->hide(); - } - // as default hide brightness slider ui_->BrightnessSliderControl->hide(); @@ -397,23 +391,6 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi connect(ui_->pushButton_c7, &QPushButton::clicked, this, &MainWindow::customButtonPressed7); } - if (!this->c8ButtonForce) { - ui_->pushButton_c8->hide(); - } else { - // read button config 8 - QFile paramFile(this->custom_button_file_c8); - paramFile.open(QIODevice::ReadOnly); - QTextStream data(¶mFile); - QStringList params = data.readAll().split("#"); - paramFile.close(); - ui_->pushButton_c8->setText(params[0].simplified()); - this->custom_button_command_c8 = params[1].simplified(); - if (params[2] != "") { - this->custom_button_color_c8 = params[2].simplified(); - } - connect(ui_->pushButton_c8, &QPushButton::clicked, this, &MainWindow::customButtonPressed8); - } - // as default hide camera controls ui_->cameraWidget->hide(); ui_->pushButtonRecordActive->hide(); @@ -441,9 +418,6 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi ui_->pushButtonDummy3->hide(); } - if (this->c8ButtonForce || this->systemDebugmode) { - ui_->pushButtonDummy->hide(); - } // show dev labels if dev mode activated if (!this->devModeEnabled) { ui_->devlabel_left->hide(); @@ -574,10 +548,12 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi 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::scanFolders(); + MainWindow::scanFiles(); + ui_->labelFolderpath->hide(); + ui_->pushButtonPlayerPlay->hide(); + ui_->PlayerPlayingWidget->hide(); } MainWindow::~MainWindow() @@ -625,11 +601,6 @@ void f1x::openauto::autoapp::ui::MainWindow::customButtonPressed7() system(qPrintable(this->custom_button_command_c7 + " &")); } -void f1x::openauto::autoapp::ui::MainWindow::customButtonPressed8() -{ - system(qPrintable(this->custom_button_command_c8 + " &")); -} - void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonBrightness_clicked() { this->brightnessFile = new QFile(this->brightnessFilename); @@ -792,8 +763,6 @@ void f1x::openauto::autoapp::ui::MainWindow::on_horizontalSliderAlpha_valueChang ui_->pushButton_c5->setStyleSheet( "background-color: rgba(" + this->custom_button_color_c5 + ", " + alp + " ); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(255,255,255);"); ui_->pushButton_c6->setStyleSheet( "background-color: rgba(" + this->custom_button_color_c6 + ", " + alp + " ); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(255,255,255);"); ui_->pushButton_c7->setStyleSheet( "background-color: rgba(" + this->custom_button_color_c7 + ", " + alp + " ); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(255,255,255);"); - ui_->pushButton_c8->setStyleSheet( "background-color: rgba(" + this->custom_button_color_c8 + ", " + alp + " ); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(255,255,255);"); - ui_->pushButtonDummy->setStyleSheet( "background-color: rgba(52, 101, 164, " + alp + " ); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5);"); ui_->pushButtonDummy1->setStyleSheet( "background-color: rgba(186, 189, 182, " + alp + " ); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5);"); ui_->pushButtonDummy2->setStyleSheet( "background-color: rgba(186, 189, 182, " + alp + " ); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5);"); ui_->pushButtonDummy3->setStyleSheet( "background-color: rgba(186, 189, 182, " + alp + " ); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5);"); @@ -1228,17 +1197,24 @@ void f1x::openauto::autoapp::ui::MainWindow::on_horizontalSliderVolumePlayer_sli void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonPlayerPlay_clicked() { - QString path = this->musicfolder + "/" + this->selectedMp3file; - ui_->labelFolderpath->setText(path); + QString path = this->musicfolder + "/" + this->albumfolder + "/" + this->selectedMp3file; player->setMedia(QMediaContent(QUrl::fromLocalFile(path))); player->play(); //qDebug() << player->errorString(); + ui_->pushButtonPlayerPause->setStyleSheet( "background-color: rgb(233, 185, 110); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(0,0,0);"); + ui_->mp3selectWidget->hide(); + ui_->PlayerPlayingWidget->show(); } void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonPlayerStop_clicked() { player->stop(); ui_->pushButtonBack->setIcon(QPixmap("://coverlogo.png")); + ui_->pushButtonPlayerPause->setStyleSheet( "background-color: rgb(233, 185, 110); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(0,0,0);"); + ui_->mp3selectWidget->show(); + ui_->PlayerPlayingWidget->hide(); + ui_->playerPositionTime->setText("00:00 / 00:00"); + ui_->labelCurrentPlaying->setText(""); } void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonPlayerPause_clicked() @@ -1247,10 +1223,14 @@ 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);"); + ui_->mp3selectWidget->show(); + ui_->PlayerPlayingWidget->hide(); }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);"); + ui_->pushButtonPlayerPause->setStyleSheet( "background-color: rgb(233, 185, 110); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(0,0,0);"); player->play(); player->setPosition(player->position()); + ui_->mp3selectWidget->hide(); + ui_->PlayerPlayingWidget->show(); } } @@ -1307,26 +1287,64 @@ void f1x::openauto::autoapp::ui::MainWindow::on_mp3List_itemClicked(QListWidgetI void f1x::openauto::autoapp::ui::MainWindow::metaDataChanged() { - ui_->valueId3Title->setText(player->metaData(QMediaMetaData::Title).toString()); - ui_->valueId3Artist->setText(player->metaData(QMediaMetaData::Author).toString()); - ui_->valueId3Album->setText(player->metaData(QMediaMetaData::AlbumTitle).toString()); - ui_->valueId3Track->setText(player->metaData(QMediaMetaData::TrackNumber).toString()); - ui_->valueId3Genre->setText(player->metaData(QMediaMetaData::Genre).toString()); - ui_->valueId3Year->setText(player->metaData(QMediaMetaData::Year).toString()); QImage img = player->metaData(QMediaMetaData::CoverArtImage).value(); QImage imgscaled = img.scaled(270,270,Qt::IgnoreAspectRatio); + if (!imgscaled.isNull()) { 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")); + } else { + ui_->pushButtonBack->setIcon(QPixmap("://coverlogo.png")); } + QString Title = player->metaData(QMediaMetaData::Title).toString(); + QString AlbumInterpret = player->metaData(QMediaMetaData::AlbumArtist).toString(); + QString currentPlaying = ""; + if (AlbumInterpret != "") { + currentPlaying.append(AlbumInterpret); + } + if (Title != "" && AlbumInterpret != "") { + currentPlaying.append(" - "); + } + if (Title != "") { + currentPlaying.append(Title); + } + ui_->labelCurrentPlaying->setText(currentPlaying); + QString fullpathplaying = player->currentMedia().canonicalUrl().toString(); + QString filename = QFileInfo(fullpathplaying).fileName(); } -void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonScanFolder_clicked() +void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonPlayerPlayList_clicked() +{ + player->setPlaylist(this->playlist); + playlist->setCurrentIndex(this->currentPlaylistIndex); + player->play(); + ui_->mp3selectWidget->hide(); + ui_->PlayerPlayingWidget->show(); + ui_->pushButtonPlayerPause->setStyleSheet( "background-color: rgb(233, 185, 110); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(0,0,0);"); +} + +void f1x::openauto::autoapp::ui::MainWindow::on_comboBoxAlbum_currentIndexChanged(const QString &arg1) +{ + this->albumfolder = arg1; + f1x::openauto::autoapp::ui::MainWindow::scanFiles(); +} + +void f1x::openauto::autoapp::ui::MainWindow::scanFolders() +{ + int cleaner = ui_->comboBoxAlbum->count(); + while (cleaner > -1) { + ui_->comboBoxAlbum->removeItem(cleaner); + cleaner--; + } + QDir directory(this->musicfolder); + QStringList folders = directory.entryList(QStringList() << "*", QDir::AllDirs, QDir::Name); + foreach (QString foldername, folders) { + if (foldername != "..") { + ui_->comboBoxAlbum->addItem(foldername); + } + } + this->currentPlaylistIndex = 0; +} + +void f1x::openauto::autoapp::ui::MainWindow::scanFiles() { int cleaner = ui_->mp3List->count(); while (cleaner > -1) { @@ -1335,39 +1353,31 @@ void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonScanFolder_clicked() } this->playlist->clear(); - QDirIterator dir(this->musicfolder, QStringList() << "*.mp3", QDir::NoFilter, QDirIterator::Subdirectories); QList 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()))); + QDir directory(this->musicfolder + "/" + this->albumfolder); + QStringList mp3s = directory.entryList(QStringList() << "*.mp3",QDir::Files, QDir::Name); + foreach (QString filename, mp3s) { + // add to mediacontent + content.push_back(QMediaContent(QUrl::fromLocalFile(this->musicfolder + "/" + this->albumfolder + "/" + filename))); + // add items to gui + ui_->mp3List->addItem(filename); } + // set playlist this->playlist->addMedia(content); } -void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonSelectFolder_clicked() +void f1x::openauto::autoapp::ui::MainWindow::on_mp3List_currentRowChanged(int currentRow) { - this->musicfolder = QFileDialog::getExistingDirectory(this, tr("Select Album"), this->musicfolder, QFileDialog::ShowDirsOnly); - f1x::openauto::autoapp::ui::MainWindow::on_pushButtonScanFolder_clicked(); + ui_->labelFolderpath->setText(QString::number(currentRow)); + this->currentPlaylistIndex = currentRow; } -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() +void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonNextBig_clicked() { playlist->next(); } + +void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonPrevBig_clicked() +{ + playlist->previous(); +} diff --git a/src/autoapp/UI/mainwindow.ui b/src/autoapp/UI/mainwindow.ui index ab65ba2..5a5015a 100644 --- a/src/autoapp/UI/mainwindow.ui +++ b/src/autoapp/UI/mainwindow.ui @@ -6,8 +6,8 @@ 0 0 - 808 - 1316 + 936 + 1282 @@ -22,6 +22,11 @@ 480 + + + 12 + + MainWindow @@ -69,17 +74,17 @@ - background-color: rgb(0, 0, 0); + background-color: rgba(0, 0, 0, 0.5); - 2 + 0 0 - 1 + 0 0 @@ -167,7 +172,7 @@ color: rgb(255, 255, 255); - + 0 0 @@ -175,9 +180,18 @@ color: rgb(255, 255, 255); 0 - 28 + 22 + + + 16777215 + 22 + + + + background-color: rgba(0, 0, 0, 0); + 0 @@ -196,6 +210,24 @@ color: rgb(255, 255, 255); + + + 0 + 0 + + + + + 0 + 22 + + + + + 16777215 + 22 + + 8 @@ -204,7 +236,7 @@ color: rgb(255, 255, 255); - background-color: rgba(255, 255, 255, 0); + background-color: rgba(0, 0, 0, 0); color: rgb(255, 255, 255); @@ -217,8 +249,17 @@ color: rgb(255, 255, 255); + + 6 + + + + 0 + 0 + + 75 @@ -239,6 +280,12 @@ color: rgb(255, 255, 255); + + + 0 + 0 + + 75 @@ -268,13 +315,13 @@ color: rgb(0, 102, 255); 80 - 24 + 20 80 - 16777215 + 20 @@ -302,10 +349,16 @@ color: rgb(239, 239, 239); 0 + + + 0 + 22 + + 100 - 16777215 + 22 @@ -1125,50 +1178,6 @@ border: 2px solid rgba(255,255,255,0.5); - - - - - 0 - 0 - - - - - 75 - true - - - - background-color: rgba(186, 189, 182, 0.5); -border-radius: 4px; -border: 2px solid rgba(255,255,255,0.5); -color: rgb(255, 255, 255); - - - - - - - - - - - 0 - 0 - - - - background-color: rgba(186, 189, 182, 0.5); -border-radius: 4px; -border: 2px solid rgba(255,255,255,0.5); -color: rgb(255, 255, 255); - - - - - - @@ -2012,11 +2021,11 @@ border: 2px solid rgba(255,255,255,0.5); Qt::LeftToRight - 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)); + background-color: rgba(0, 0, 0, 0); - 4 + 0 0 @@ -2028,7 +2037,7 @@ border: 2px solid rgba(255,255,255,0.5); 0 - 6 + 0 @@ -2060,13 +2069,16 @@ background-color: rgba(0, 0, 0, 0); 0 - + 0 0 + + background-color: rgba(0, 0, 0, 0.5); + 4 @@ -2103,6 +2115,11 @@ background-color: rgba(0, 0, 0, 0); 20 + + + 8 + + background-color: rgba(85, 87, 83, 0.7); color: rgb(255, 255, 255); @@ -2113,10 +2130,61 @@ border: 2px solid rgba(255,255,255,0.5); + + + + + 0 + 0 + + + + + 0 + 30 + + + + + 16777215 + 30 + + + + + 12 + 75 + true + + + + Qt::DefaultContextMenu + + + background-color: rgba(85, 87, 83, 0.9); +color: rgb(255, 255, 255); +border: 2px solid rgba(255,255,255,0.5); + + + true + + + + Folder 1 + + + + + Folder 2 + + + + + 12 75 true @@ -2127,22 +2195,38 @@ border: 2px solid rgba(255,255,255,0.5); background-color: rgba(85, 87, 83, 0.7); color: rgb(255, 255, 255); -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); +border: 2px solid rgba(255,255,255,0.5); + + QFrame::NoFrame + - Qt::ScrollBarAlwaysOn + Qt::ScrollBarAsNeeded Qt::ScrollBarAsNeeded + + 16 + false + + QListView::Static + + + + 0 + 20 + + + + QListView::ListMode + - true + false @@ -2150,277 +2234,215 @@ border-right: 2px solid rgba(255,255,255,0.5); - - - - 0 - 0 - - - - - 280 - 280 - - - - - 280 - 280 - - - - background-color: rgba(0, 0, 0, 0); -color: rgb(255, 255, 255); -border: 2px solid rgba(255,255,255,0.5); - - - - - - - - :/coverlogo.png - - - - - 270 - 270 - - - - false - - - - - + 0 0 - - - 260 - 280 - - - - - 16777215 - 280 - - - - background-color: rgba(85, 87, 83, 0.7); -color: rgb(255, 255, 255); -border: 2px solid rgba(255,255,255,0.5); - - - - - - - 8 - + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + - - color: rgb(255, 255, 255); -background-color: rgba(0, 0, 0, 0); -border: no-border; + + + 100 + 0 + - - Title - - - - - - - - 8 - - - - color: rgb(255, 255, 255); -background-color: rgba(0, 0, 0, 0); -border: no-border; + + + 100 + 16777215 + - - - - - - - 8 - + + + :/prevbig-hot.png + - - color: rgb(255, 255, 255); -background-color: rgba(0, 0, 0, 0); -border: no-border; - - - Artist + + + 128 + 140 + - - - - - 8 - + + + + + 0 + 0 + - - color: rgb(255, 255, 255); -background-color: rgba(0, 0, 0, 0); -border: no-border; + + + 100 + 0 + + + + + 100 + 16777215 + - - - - - - - 8 - + + + :/prevbig-hot.png + - - color: rgb(255, 255, 255); -background-color: rgba(0, 0, 0, 0); -border: no-border; - - - Album + + + 128 + 160 + - - - - - 8 - + + + + + 0 + 0 + + + + + 280 + 0 + + + + + 280 + 16777215 + - color: rgb(255, 255, 255); -background-color: rgba(0, 0, 0, 0); -border: no-border; + background-color: rgba(0, 0, 0, 0); - - - - - - - 8 - + + + :/coverlogo.png + - - color: rgb(255, 255, 255); -background-color: rgba(0, 0, 0, 0); -border: no-border; + + + 270 + 270 + - - Genre + + false + + + false - - - - - 8 - + + + + + 0 + 0 + - - color: rgb(255, 255, 255); -background-color: rgba(0, 0, 0, 0); -border: no-border; + + + 100 + 0 + + + + + 100 + 16777215 + - - - - - - - 8 - + + + :/nextbig-hot.png + - - color: rgb(255, 255, 255); -background-color: rgba(0, 0, 0, 0); -border: no-border; - - - Year + + + 128 + 160 + - - - - - 8 - + + + + + 0 + 0 + - - color: rgb(255, 255, 255); -background-color: rgba(0, 0, 0, 0); -border: no-border; + + + 100 + 0 + + + + + 100 + 16777215 + - - - - - - - 8 - + + + :/nextbig-hot.png + - - color: rgb(255, 255, 255); -background-color: rgba(0, 0, 0, 0); -border: no-border; - - - Track - - - - - - - - 8 - - - - color: rgb(255, 255, 255); -background-color: rgba(0, 0, 0, 0); -border: no-border; - - - + + + 128 + 140 + @@ -2431,7 +2453,179 @@ border: no-border; - + + + + 0 + 0 + + + + + 14 + + + + background-color: rgba(0, 0, 0, 0.5); + + + + 0 + + + 0 + + + 4 + + + 0 + + + 4 + + + + + + 0 + 0 + + + + + 150 + 16 + + + + + 150 + 16 + + + + color: rgb(255, 255, 255); +background-color: rgba(0, 0, 0, 0); + + + + + + + + + + + 0 + 0 + + + + + 0 + 16 + + + + + 16777215 + 16 + + + + + 14 + 75 + true + true + + + + background-color: rgba(0, 0, 0, 0); +color: rgb(255, 255, 255); + + + + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 150 + 16 + + + + + 150 + 17 + + + + + 14 + 75 + true + + + + color: rgb(255, 255, 255); +background-color: rgba(0, 0, 0, 0); + + + 00:00 / 00:00 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + + 0 + 10 + + + + + 16777215 + 10 + + + + Qt::LeftToRight + + + false + + + QSlider::groove:horizontal { background-color: rgba(0, 0, 0, 0.8); height: 32px;} +QSlider::handle:horizontal { background: rgb(255, 255, 255); height: 52px; width: 52px; margin: 0 0;}; + + + Qt::Horizontal + + + + + 0 @@ -2441,332 +2635,261 @@ border: no-border; 0 - 20 + 4 16777215 - 20 + 4 - - - 12 - 75 - true - true - - - background-color: rgba(0, 0, 0, 0); -color: rgb(255, 255, 255); + background-color: rgba(0, 0, 0, 0.5); - - Qt::AlignCenter - - - - - - - 0 - 30 - - - - - 16777215 - 30 - - - - Qt::LeftToRight - - - false - - - QSlider::groove:horizontal { background: #6d6d6d; height: 32px;} -QSlider::handle:horizontal { background: rgb(255, 255, 255); height: 52px; width: 52px; margin: 0 0;}; - - - Qt::Horizontal - - - - - - - - 0 - 0 - - - - - 140 - 30 - - - - - 140 - 30 - - - - - 75 - true - - - - color: rgb(255, 255, 255); -background-color: #6d6d6d; - - - 00:00 / 00:00 - - - Qt::AlignCenter - - - - - - - - - Qt::Vertical + + + + 0 + 0 + - - - 20 - 0 - + + background-color: rgba(0, 0, 0, 0.5); - - - - - - - - - 0 - 0 - - - - - 0 - 30 - - - - - 16777215 - 30 - - - - background-color: rgb(186, 189, 182); + + + 0 + + + 4 + + + 0 + + + 10 + + + + + + 0 + 0 + + + + + 0 + 40 + + + + + 16777215 + 30 + + + + background-color: rgba(250, 80, 80, 0.7); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); - - - Prev - - - - - - - - 0 - 0 - - - - - 0 - 30 - - - - - 16777215 - 30 - - - - background-color: rgb(186, 189, 182); + + + + + + + :/stop-hot.png + + + + + 32 + 32 + + + + + + + + + 0 + 0 + + + + + 0 + 40 + + + + + 16777215 + 30 + + + + background-color: rgba(138, 226, 52, 0.7); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); - - - Play - - - - - - - - 0 - 0 - - - - - 0 - 30 - - - - - 16777215 - 30 - - - - background-color: rgb(186, 189, 182); + + + + + + + :/play-hot.png + + + + + 32 + 32 + + + + + + + + + 0 + 0 + + + + + 0 + 40 + + + + + 16777215 + 30 + + + + background-color: rgba(138, 226, 52, 0.7); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); - - - Play All - - - - - - - - 0 - 0 - - - - - 0 - 30 - - - - - 16777215 - 30 - - - - background-color: rgb(186, 189, 182); + + + + + + + :/play-hot.png + + + + + 32 + 32 + + + + + + + + + 0 + 0 + + + + + 0 + 40 + + + + + 16777215 + 30 + + + + background-color: rgba(233, 185, 110, 0.7); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); - - - Stop - - - - - - - - 0 - 0 - - - - - 0 - 30 - - - - - 16777215 - 30 - - - - background-color: rgb(186, 189, 182); + + + + + + + :/pause-hot.png + + + + + 32 + 32 + + + + + + + + + 0 + 0 + + + + + 0 + 40 + + + + + 16777215 + 30 + + + + + 75 + true + + + + background-color: rgba(186, 189, 182, 0.7); border-radius: 4px; -border: 2px solid rgba(255,255,255,0.5); - - - Next - - - - - - - - 0 - 0 - - - - - 0 - 30 - - - - - 16777215 - 30 - - - - background-color: rgb(186, 189, 182); -border-radius: 4px; -border: 2px solid rgba(255,255,255,0.5); - - - Pause - - - - - - - - 0 - 0 - - - - - 0 - 30 - - - - - 16777215 - 30 - - - - background-color: rgb(186, 189, 182); -border-radius: 4px; -border: 2px solid rgba(255,255,255,0.5); - - - Folder - - - - +border: 2px solid rgba(255,255,255,0.5); +color: rgb(255, 255, 255); + + + + + + + :/back-hot.png + + + + + 32 + 32 + + + + + +