From 4ebdcd935fe6e1518afda16ad09b01301681ca99 Mon Sep 17 00:00:00 2001
From: hawkeyexp
Date: Sun, 20 Jan 2019 11:00:44 +0100
Subject: [PATCH] update latest dev
---
src/autoapp/UI/MainWindow.cpp | 174 ++++++++++++++++++----------------
src/autoapp/UI/mainwindow.ui | 12 ++-
2 files changed, 97 insertions(+), 89 deletions(-)
diff --git a/src/autoapp/UI/MainWindow.cpp b/src/autoapp/UI/MainWindow.cpp
index ff4f4b4..7b093ec 100644
--- a/src/autoapp/UI/MainWindow.cpp
+++ b/src/autoapp/UI/MainWindow.cpp
@@ -157,12 +157,8 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi
ui_->labelLockDummy->hide();
}
- if (check_file_exist("/etc/crankshaft.branch")) {
- QFile branchFile(QString("/etc/crankshaft.branch"));
- branchFile.open(QIODevice::ReadOnly);
- QTextStream data_branch(&branchFile);
- QString branch = data_branch.readAll().split("\n")[0];
- branchFile.close();
+ if (std::ifstream("/etc/crankshaft.branch")) {
+ QString branch = configuration_->readFileContent("/etc/crankshaft.branch");
if (branch != "crankshaft-ng") {
if (branch == "csng-dev") {
ui_->Header_Label->setText("
crankshaft NG - Dev-Build
");
@@ -206,8 +202,22 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi
ui_->pushButtonLock->hide();
ui_->pushButtonLock2->hide();
+
ui_->btDevice->hide();
+ // check if a device is connected via bluetooth
+ if (std::ifstream("/tmp/btdevice")) {
+ if (ui_->btDevice->isVisible() == false || ui_->btDevice->text().simplified() == "") {
+ QString btdevicename = configuration_->readFileContent("/tmp/btdevice");
+ ui_->btDevice->setText(btdevicename);
+ ui_->btDevice->show();
+ }
+ } else {
+ if (ui_->btDevice->isVisible() == true) {
+ ui_->btDevice->hide();
+ }
+ }
+
// hide brightness slider of control file is not existing
QFileInfo brightnessFile(brightnessFilename);
if (!brightnessFile.exists() && !this->brightnessButtonForce) {
@@ -402,13 +412,8 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi
// read param file
if (std::ifstream("/boot/crankshaft/volume")) {
- QFile audioparamFile(QString("/boot/crankshaft/volume"));
- audioparamFile.open(QIODevice::ReadOnly);
- QTextStream data_param(&audioparamFile);
- QString getparams = data_param.readAll();
- audioparamFile.close();
// init volume
- QString vol=QString::number(getparams.toInt());
+ QString vol=QString::number(configuration_->readFileContent("/boot/crankshaft/volume").toInt());
ui_->volumeValueLabel->setText(vol+"%");
ui_->horizontalSliderVolume->setValue(vol.toInt());
}
@@ -795,9 +800,9 @@ void f1x::openauto::autoapp::ui::MainWindow::updateAlpha()
ui_->pushButtonDummy3->setStyleSheet( "background-color: rgba(186, 189, 182, " + alp + " ); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5);");
ui_->pushButtonDebug->setStyleSheet( "background-color: rgba(85, 87, 83, " + alp + " ); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5);");
ui_->pushButtonMusic->setStyleSheet( "background-color: rgba(78, 154, 6, " + alp + " ); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(255,255,255);");
- ui_->pushButtonAndroidAuto->setStyleSheet( "background-color: rgba(48, 140, 198, " + alp + " ); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(255,255,255); border-bottom: 0px; border-top: 0px;");
- ui_->labelAndroidAutoBottom->setStyleSheet( "background-color: rgba(48, 140, 198, " + alp + " ); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(255,255,255); border-top: 0px;");
- ui_->labelAndroidAutoTop->setStyleSheet( "background-color: rgba(48, 140, 198, " + alp + " ); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(255,255,255); border-bottom: 0px;");
+ ui_->pushButtonAndroidAuto->setStyleSheet( "background-color: rgba(48, 140, 198, " + alp + " ); border: 2px solid rgba(255,255,255,0.5); color: rgb(255,255,255); border-bottom: 0px; border-top: 0px;");
+ ui_->labelAndroidAutoBottom->setStyleSheet( "background-color: rgba(48, 140, 198, " + alp + " ); border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(255,255,255); border-top: 0px;");
+ ui_->labelAndroidAutoTop->setStyleSheet( "background-color: rgba(48, 140, 198, " + alp + " ); border-top-left-radius: 4px; border-top-right-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(255,255,255); border-bottom: 0px;");
ui_->pushButtonNoDevice->setStyleSheet( "background-color: rgba(48, 140, 198, " + alp + " ); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(255,255,255);");
ui_->pushButtonNoWiFiDevice->setStyleSheet( "background-color: rgba(252, 175, 62, " + alp + " ); border-radius: 4px; border: 2px solid rgba(255,255,255,0.5); color: rgb(255,255,255);");
// old style
@@ -1064,8 +1069,33 @@ void f1x::openauto::autoapp::ui::MainWindow::showTime()
MainWindow::updateBG();
}
}
-}
+ // check connected devices
+ if (localDevice->isValid()) {
+ QString localDeviceName = localDevice->name();
+ QString localDeviceAddress = localDevice->address().toString();
+ QList btdevices;
+ btdevices = localDevice->connectedDevices();
+
+ int count = btdevices.count();
+ if (count > 0) {
+ //QBluetoothAddress btdevice = btdevices[0];
+ //QString btmac = btdevice.toString();
+ //ui_->btDeviceCount->setText(QString::number(count));
+ if (ui_->btDevice->isVisible() == false) {
+ ui_->btDevice->show();
+ }
+ if (std::ifstream("/tmp/btdevice")) {
+ ui_->btDevice->setText(configuration_->readFileContent("/tmp/btdevice"));
+ }
+ } else {
+ if (ui_->btDevice->isVisible() == true) {
+ ui_->btDevice->hide();
+ ui_->btDevice->setText("BT-Device");
+ }
+ }
+ }
+}
void f1x::openauto::autoapp::ui::MainWindow::on_horizontalSliderProgressPlayer_sliderMoved(int position)
{
@@ -1171,17 +1201,28 @@ void f1x::openauto::autoapp::ui::MainWindow::on_mp3List_itemClicked(QListWidgetI
void f1x::openauto::autoapp::ui::MainWindow::metaDataChanged()
{
+ QString fullpathplaying = player->currentMedia().canonicalUrl().toString();
+ QString filename = QFileInfo(fullpathplaying).fileName();
+
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_->pushButtonBack->setIcon(QPixmap::fromImage(imgscaled));
} else {
- ui_->pushButtonBack->setIcon(QPixmap("://coverlogo.png"));
+ if (playlist->currentIndex() != -1 && fullpathplaying != "") {
+ QString filename = ui_->mp3List->item(playlist->currentIndex())->text();
+ QString cover = this->musicfolder + "/" + this->albumfolder + "/" + filename + ".png";
+ if (check_file_exist(cover.toStdString().c_str())) {
+ QPixmap img = cover;
+ ui_->pushButtonBack->setIcon(img.scaled(270,270,Qt::KeepAspectRatio));
+ } else {
+ ui_->pushButtonBack->setIcon(QPixmap("://coverlogo.png"));
+ }
+ } else {
+ ui_->pushButtonBack->setIcon(QPixmap("://coverlogo.png"));
+ }
}
- QString fullpathplaying = player->currentMedia().canonicalUrl().toString();
- QString filename = QFileInfo(fullpathplaying).fileName();
-
try {
// use metadata from mp3list widget (prescanned id3 by taglib)
if (playlist->currentIndex() != -1 && fullpathplaying != "") {
@@ -1310,29 +1351,36 @@ void f1x::openauto::autoapp::ui::MainWindow::scanFiles()
QList content;
QDir directory(this->musicfolder + "/" + this->albumfolder);
- QStringList mp3s = directory.entryList(QStringList() << "*.mp3" << "*.flac" << "*.aac" << "*.ogg" << "*.mp4" << "*.mp4a" << "*.wma",QDir::Files, QDir::Name);
+ QStringList mp3s = directory.entryList(QStringList() << "*.mp3" << "*.flac" << "*.aac" << "*.ogg" << "*.mp4" << "*.mp4a" << "*.wma" << "*.strm",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
- // read metadata using taglib
- try {
- TagLib::FileRef file((this->musicfolder + "/" + this->albumfolder + "/" + filename).toUtf8(),true);
- TagLib::String artist_string = file.tag()->artist();
- TagLib::String title_string = file.tag()->title();
- TagLib::uint track_string = file.tag()->track();
- QString artistid3 = QString::fromStdWString(artist_string.toCWString());
- QString titleid3 = QString::fromStdWString(title_string.toCWString());
- QString trackid3 = QString::number(track_string);
- int tracklength = trackid3.length();
- if (tracklength < 2) {
- trackid3 = "0" + trackid3;
+ if (filename.endsWith(".strm")) {
+ QString url=configuration_->readFileContent(this->musicfolder + "/" + this->albumfolder + "/" + filename);
+ content.push_back(QMediaContent(QUrl(url)));
+ ui_->mp3List->addItem(filename.replace(".strm",""));
+ //ui_->mp3List->addItem(url);
+ } else {
+ content.push_back(QMediaContent(QUrl::fromLocalFile(this->musicfolder + "/" + this->albumfolder + "/" + filename)));
+ // add items to gui
+ // read metadata using taglib
+ try {
+ TagLib::FileRef file((this->musicfolder + "/" + this->albumfolder + "/" + filename).toUtf8(),true);
+ TagLib::String artist_string = file.tag()->artist();
+ TagLib::String title_string = file.tag()->title();
+ TagLib::uint track_string = file.tag()->track();
+ QString artistid3 = QString::fromStdWString(artist_string.toCWString());
+ QString titleid3 = QString::fromStdWString(title_string.toCWString());
+ QString trackid3 = QString::number(track_string);
+ int tracklength = trackid3.length();
+ if (tracklength < 2) {
+ trackid3 = "0" + trackid3;
+ }
+ QString ID3Entry = trackid3 + ": " + artistid3 + " - " + titleid3;
+ ui_->mp3List->addItem(ID3Entry);
+ } catch (...) {
+ // old way only adding filename to list
+ ui_->mp3List->addItem(filename);
}
- QString ID3Entry = trackid3 + ": " + artistid3 + " - " + titleid3;
- ui_->mp3List->addItem(ID3Entry);
- } catch (...) {
- // old way only adding filename to list
- ui_->mp3List->addItem(filename);
}
}
// set playlist
@@ -1479,7 +1527,6 @@ void f1x::openauto::autoapp::ui::MainWindow::tmpChanged()
try {
if (std::ifstream("/tmp/entityexit")) {
MainWindow::TriggerAppStop();
- usleep(1000000);
std::remove("/tmp/entityexit");
}
} catch (...) {
@@ -1617,23 +1664,6 @@ void f1x::openauto::autoapp::ui::MainWindow::tmpChanged()
}
}
- // check if a device is connected via bluetooth
- if (std::ifstream("/tmp/btdevice")) {
- if (ui_->btDevice->isVisible() == false || ui_->btDevice->text().simplified() == "") {
- QFile phoneBTData(QString("/tmp/btdevice"));
- phoneBTData.open(QIODevice::ReadOnly);
- QTextStream data_date(&phoneBTData);
- QString linedate = data_date.readAll();
- phoneBTData.close();
- ui_->btDevice->setText(linedate.simplified());
- ui_->btDevice->show();
- }
- } else {
- if (ui_->btDevice->isVisible() == true) {
- ui_->btDevice->hide();
- }
- }
-
if (std::ifstream("/tmp/config_in_progress") || std::ifstream("/tmp/debug_in_progress") || std::ifstream("/tmp/enable_pairing")) {
if (ui_->SysinfoTopLeft2->isVisible() == false) {
if (std::ifstream("/tmp/config_in_progress")) {
@@ -1891,16 +1921,11 @@ void f1x::openauto::autoapp::ui::MainWindow::tmpChanged()
// read value from tsl2561
if (std::ifstream("/tmp/tsl2561") && this->configuration_->showLux()) {
- QFile paramFile("/tmp/tsl2561");
- paramFile.open(QIODevice::ReadOnly);
- QTextStream data(¶mFile);
- QStringList value = data.readAll().split("\n");
- paramFile.close();
if (ui_->label_left->isVisible() == false) {
ui_->label_left->show();
ui_->label_right->show();
}
- ui_->label_left->setText("Lux: " + value[0]);
+ ui_->label_left->setText("Lux: " + configuration_->readFileContent("/tmp/tsl2561"));
} else {
if (ui_->label_left->isVisible() == true) {
ui_->label_left->hide();
@@ -1952,23 +1977,4 @@ void f1x::openauto::autoapp::ui::MainWindow::tmpChanged()
}
}
updateNetworkInfo();
-
- //QString localDeviceName;
- //QString localDeviceAddress;
-
- //if (localDevice->isValid()) {
- // localDeviceName = localDevice->name();
- // localDeviceAddress = localDevice->address().toString();
- // QList btdevices;
- // btdevices = localDevice->connectedDevices();
-
- // int count = btdevices.count();
- // if (count > 0) {
- // QBluetoothAddress btdevice = btdevices[0];
- // QString btmac = btdevice.toString();
- // ui_->btDevice->setText("BT: " + QString::number(count));
- // } else {
- // ui_->btDevice->setText("BT: " + QString::number(count));
- // }
- //}
}
diff --git a/src/autoapp/UI/mainwindow.ui b/src/autoapp/UI/mainwindow.ui
index 0460a9e..1db56f0 100644
--- a/src/autoapp/UI/mainwindow.ui
+++ b/src/autoapp/UI/mainwindow.ui
@@ -7,7 +7,7 @@
0
0
1010
- 1657
+ 1646
@@ -777,7 +777,8 @@ border-radius: 4px;
background-color: rgb(32, 74, 135);
color: rgb(255, 255, 255);
outline: none;
-border-radius: 4px;
+border-radius: 4px;
+
<html><head/><body><p><span style=" color:#29ffff;">Pairable</span></p></body></html>
@@ -1482,7 +1483,8 @@ border: no-border;
background-color: rgba(48, 140, 198, 0.5);
color: rgb(255, 255, 255);
-border-radius: 4px;
+border-top-left-radius: 4px;
+border-top-right-radius: 4px;
border: 2px solid rgba(255,255,255,0.5);
outline: none;
border-bottom: 0px;
@@ -1509,7 +1511,6 @@ border-bottom: 0px;
background-color: rgba(48, 140, 198, 0.5);
color: rgb(255, 255, 255);
-border-radius: 4px;
border: 2px solid rgba(255,255,255,0.5);
outline: none;
border-top: 0px;
@@ -1552,7 +1553,8 @@ border-bottom: 0px;
background-color: rgba(48, 140, 198, 0.5);
color: rgb(255, 255, 255);
-border-radius: 4px;
+border-bottom-left-radius: 4px;
+border-bottom-right-radius: 4px;
border: 2px solid rgba(255,255,255,0.5);
outline: none;
border-top: 0px;