latest dev
This commit is contained in:
parent
e653923eb6
commit
b6c705544b
@ -20,6 +20,10 @@
|
||||
|
||||
#include <boost/property_tree/ini_parser.hpp>
|
||||
#include <f1x/openauto/autoapp/Configuration/IConfiguration.hpp>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <fstream>
|
||||
#include <stdio.h>
|
||||
|
||||
namespace f1x
|
||||
{
|
||||
@ -64,6 +68,8 @@ public:
|
||||
bool hideBrightnessControl() const override;
|
||||
void showNetworkinfo(bool value) override;
|
||||
bool showNetworkinfo() const override;
|
||||
void hideWarning(bool value) override;
|
||||
bool hideWarning() const override;
|
||||
|
||||
std::string getMp3MasterPath() const override;
|
||||
void setMp3MasterPath(const std::string& value) override;
|
||||
@ -76,6 +82,10 @@ public:
|
||||
bool showAutoPlay() const override;
|
||||
void showAutoPlay(bool value) override;
|
||||
|
||||
QString getCSValue(QString searchString) const override;
|
||||
QString readFileContent(QString fileName) const override;
|
||||
QString getParamFromFile(QString fileName, QString searchString) const override;
|
||||
|
||||
aasdk::proto::enums::VideoFPS::Enum getVideoFPS() const override;
|
||||
void setVideoFPS(aasdk::proto::enums::VideoFPS::Enum value) override;
|
||||
aasdk::proto::enums::VideoResolution::Enum getVideoResolution() const override;
|
||||
@ -89,6 +99,8 @@ public:
|
||||
|
||||
bool getTouchscreenEnabled() const override;
|
||||
void setTouchscreenEnabled(bool value) override;
|
||||
bool playerButtonControl() const override;
|
||||
void playerButtonControl(bool value) override;
|
||||
ButtonCodes getButtonCodes() const override;
|
||||
void setButtonCodes(const ButtonCodes& value) override;
|
||||
|
||||
@ -121,6 +133,7 @@ private:
|
||||
bool showCursor_;
|
||||
bool hideBrightnessControl_;
|
||||
bool showNetworkinfo_;
|
||||
bool hideWarning_;
|
||||
std::string mp3MasterPath_;
|
||||
std::string mp3SubFolder_;
|
||||
int32_t mp3Track_;
|
||||
@ -133,6 +146,7 @@ private:
|
||||
int32_t omxLayerIndex_;
|
||||
QRect videoMargins_;
|
||||
bool enableTouchscreen_;
|
||||
bool enablePlayerControl_;
|
||||
ButtonCodes buttonCodes_;
|
||||
BluetoothAdapterType bluetoothAdapterType_;
|
||||
std::string bluetoothRemoteAdapterAddress_;
|
||||
@ -153,6 +167,7 @@ private:
|
||||
static const std::string cGeneralShowCursorKey;
|
||||
static const std::string cGeneralHideBrightnessControlKey;
|
||||
static const std::string cGeneralShowNetworkinfoKey;
|
||||
static const std::string cGeneralHideWarningKey;
|
||||
|
||||
static const std::string cGeneralHandednessOfTrafficTypeKey;
|
||||
|
||||
@ -177,6 +192,7 @@ private:
|
||||
static const std::string cBluetoothRemoteAdapterAddressKey;
|
||||
|
||||
static const std::string cInputEnableTouchscreenKey;
|
||||
static const std::string cInputEnablePlayerControlKey;
|
||||
static const std::string cInputPlayButtonKey;
|
||||
static const std::string cInputPauseButtonKey;
|
||||
static const std::string cInputTogglePlayButtonKey;
|
||||
|
@ -72,6 +72,8 @@ public:
|
||||
virtual bool hideBrightnessControl() const = 0;
|
||||
virtual void showNetworkinfo(bool value) = 0;
|
||||
virtual bool showNetworkinfo() const = 0;
|
||||
virtual void hideWarning(bool value) = 0;
|
||||
virtual bool hideWarning() const = 0;
|
||||
|
||||
virtual std::string getMp3MasterPath() const = 0;
|
||||
virtual void setMp3MasterPath(const std::string& value) = 0;
|
||||
@ -84,6 +86,10 @@ public:
|
||||
virtual bool showAutoPlay() const = 0;
|
||||
virtual void showAutoPlay(bool value) = 0;
|
||||
|
||||
virtual QString getCSValue(QString searchString) const = 0;
|
||||
virtual QString readFileContent(QString fileName) const = 0;
|
||||
virtual QString getParamFromFile(QString fileName, QString searchString) const = 0;
|
||||
|
||||
virtual aasdk::proto::enums::VideoFPS::Enum getVideoFPS() const = 0;
|
||||
virtual void setVideoFPS(aasdk::proto::enums::VideoFPS::Enum value) = 0;
|
||||
virtual aasdk::proto::enums::VideoResolution::Enum getVideoResolution() const = 0;
|
||||
@ -97,6 +103,8 @@ public:
|
||||
|
||||
virtual bool getTouchscreenEnabled() const = 0;
|
||||
virtual void setTouchscreenEnabled(bool value) = 0;
|
||||
virtual bool playerButtonControl() const = 0;
|
||||
virtual void playerButtonControl(bool value) = 0;
|
||||
virtual ButtonCodes getButtonCodes() const = 0;
|
||||
virtual void setButtonCodes(const ButtonCodes& value) = 0;
|
||||
|
||||
|
@ -42,6 +42,10 @@
|
||||
#include <taglib/tag.h>
|
||||
|
||||
#include <QFileSystemWatcher>
|
||||
#include <QKeyEvent>
|
||||
|
||||
#include <QBluetoothLocalDevice>
|
||||
//#include <QtBluetooth>
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
@ -79,6 +83,12 @@ signals:
|
||||
void cameraStop();
|
||||
void cameraSave();
|
||||
void cameraRecord();
|
||||
void cameraPosYUp();
|
||||
void cameraPosYDown();
|
||||
void cameraZoomPlus();
|
||||
void cameraZoomMinus();
|
||||
void cameraFlipX();
|
||||
void cameraFlipY();
|
||||
void openConnectDialog();
|
||||
void openWifiDialog();
|
||||
void openUpdateDialog();
|
||||
@ -89,6 +99,7 @@ signals:
|
||||
void hideRearCam();
|
||||
void TriggerAppStart();
|
||||
void TriggerAppStop();
|
||||
void CloseAllDialogs();
|
||||
|
||||
private slots:
|
||||
void on_horizontalSliderBrightness_valueChanged(int value);
|
||||
@ -148,6 +159,9 @@ private slots:
|
||||
void resetRetryUSBMessage();
|
||||
void updateNetworkInfo();
|
||||
bool check_file_exist(const char *filename);
|
||||
void KeyPress(QString key);
|
||||
|
||||
void hostModeStateChanged(QBluetoothLocalDevice::HostMode);
|
||||
|
||||
private:
|
||||
Ui::MainWindow* ui_;
|
||||
@ -250,6 +264,40 @@ private:
|
||||
bool udevupdate = false;
|
||||
bool openautoupdate = false;
|
||||
bool systemupdate = false;
|
||||
|
||||
int camera_ycorection;
|
||||
int camera_zoom;
|
||||
|
||||
QBluetoothLocalDevice *localDevice;
|
||||
|
||||
protected:
|
||||
void keyPressEvent(QKeyEvent *event) override
|
||||
{
|
||||
if (event->key() == Qt::Key_C) {
|
||||
MainWindow::KeyPress("C");
|
||||
}
|
||||
if (event->key() == Qt::Key_X) {
|
||||
MainWindow::KeyPress("X");
|
||||
}
|
||||
if (event->key() == Qt::Key_V) {
|
||||
MainWindow::KeyPress("V");
|
||||
}
|
||||
if (event->key() == Qt::Key_N) {
|
||||
MainWindow::KeyPress("N");
|
||||
}
|
||||
if (event->key() == Qt::Key_B) {
|
||||
MainWindow::KeyPress("B");
|
||||
}
|
||||
if (event->key() == Qt::Key_H) {
|
||||
MainWindow::KeyPress("H");
|
||||
}
|
||||
if (event->key() == Qt::Key_A) {
|
||||
MainWindow::KeyPress("A");
|
||||
}
|
||||
if (event->key() == Qt::Key_L) {
|
||||
MainWindow::KeyPress("L");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include <QWidget>
|
||||
#include <f1x/openauto/autoapp/Configuration/IConfiguration.hpp>
|
||||
#include <QFileDialog>
|
||||
#include <sys/sysinfo.h>
|
||||
|
||||
class QCheckBox;
|
||||
class QTimer;
|
||||
@ -77,8 +78,10 @@ private slots:
|
||||
void onUpdateBrightness5(int value);
|
||||
void on_pushButtonNetwork0_clicked();
|
||||
void on_pushButtonNetwork1_clicked();
|
||||
void updateSystemInfo();
|
||||
void updateInfo();
|
||||
|
||||
private slots:
|
||||
public slots:
|
||||
void show_tab1();
|
||||
void show_tab2();
|
||||
void show_tab3();
|
||||
@ -99,9 +102,6 @@ private:
|
||||
|
||||
Ui::SettingsWindow* ui_;
|
||||
configuration::IConfiguration::Pointer configuration_;
|
||||
|
||||
QString hotspotssid;
|
||||
QString wifissid;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -21,6 +21,7 @@ public:
|
||||
explicit WarningDialog(QWidget *parent = nullptr);
|
||||
~WarningDialog() override;
|
||||
|
||||
private:
|
||||
Ui::WarningDialog* ui_;
|
||||
|
||||
private slots:
|
||||
|
@ -110,14 +110,14 @@ void App::aoapDeviceHandler(aasdk::usb::DeviceHandle deviceHandle)
|
||||
{
|
||||
// ignore autostart if exit to csng was used
|
||||
if (!disableAutostartEntity) {
|
||||
OPENAUTO_LOG(info) << "[App] Autostart Entity allowed - let's go.";
|
||||
OPENAUTO_LOG(info) << "[App] Start Android Auto allowed - let's go.";
|
||||
connectedAccessoriesEnumerator_->cancel();
|
||||
|
||||
auto aoapDevice(aasdk::usb::AOAPDevice::create(usbWrapper_, ioService_, deviceHandle));
|
||||
androidAutoEntity_ = androidAutoEntityFactory_.create(std::move(aoapDevice));
|
||||
androidAutoEntity_->start(*this);
|
||||
} else {
|
||||
OPENAUTO_LOG(info) << "[App] Autostart Entity not allowed - skip.";
|
||||
OPENAUTO_LOG(info) << "[App] Start Android Auto not allowed - skip.";
|
||||
}
|
||||
}
|
||||
catch(const aasdk::error::Error& error)
|
||||
@ -157,21 +157,12 @@ void App::onAndroidAutoQuit()
|
||||
strand_.dispatch([this, self = this->shared_from_this()]() {
|
||||
OPENAUTO_LOG(info) << "[App] onAndroidAutoQuit.";
|
||||
|
||||
try {
|
||||
androidAutoEntity_->stop();
|
||||
androidAutoEntity_.reset();
|
||||
} catch (...) {
|
||||
OPENAUTO_LOG(info) << "[App] Exception in onAndroidAutoQuit.";
|
||||
}
|
||||
androidAutoEntity_->stop();
|
||||
androidAutoEntity_.reset();
|
||||
|
||||
if(!isStopped_)
|
||||
{
|
||||
try {
|
||||
this->waitForDevice();
|
||||
} catch (...) {
|
||||
OPENAUTO_LOG(info) << "[App] Exception in onAndroidAutoQuit - waitfordevice.";
|
||||
}
|
||||
|
||||
this->waitForDevice();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -42,6 +42,7 @@ const std::string Configuration::cGeneralShowLuxKey = "General.ShowLux";
|
||||
const std::string Configuration::cGeneralShowCursorKey = "General.ShowCursor";
|
||||
const std::string Configuration::cGeneralHideBrightnessControlKey = "General.HideBrightnessControl";
|
||||
const std::string Configuration::cGeneralShowNetworkinfoKey = "General.ShowNetworkinfo";
|
||||
const std::string Configuration::cGeneralHideWarningKey = "General.HideWarning";
|
||||
|
||||
const std::string Configuration::cGeneralHandednessOfTrafficTypeKey = "General.HandednessOfTrafficType";
|
||||
|
||||
@ -66,6 +67,7 @@ const std::string Configuration::cBluetoothAdapterTypeKey = "Bluetooth.AdapterTy
|
||||
const std::string Configuration::cBluetoothRemoteAdapterAddressKey = "Bluetooth.RemoteAdapterAddress";
|
||||
|
||||
const std::string Configuration::cInputEnableTouchscreenKey = "Input.EnableTouchscreen";
|
||||
const std::string Configuration::cInputEnablePlayerControlKey = "Input.EnablePlayerControl";
|
||||
const std::string Configuration::cInputPlayButtonKey = "Input.PlayButton";
|
||||
const std::string Configuration::cInputPauseButtonKey = "Input.PauseButton";
|
||||
const std::string Configuration::cInputTogglePlayButtonKey = "Input.TogglePlayButton";
|
||||
@ -107,6 +109,7 @@ void Configuration::load()
|
||||
showLux_ = iniConfig.get<bool>(cGeneralShowLuxKey, false);
|
||||
showCursor_ = iniConfig.get<bool>(cGeneralShowCursorKey, false);
|
||||
hideBrightnessControl_ = iniConfig.get<bool>(cGeneralHideBrightnessControlKey, false);
|
||||
hideWarning_ = iniConfig.get<bool>(cGeneralHideWarningKey, false);
|
||||
showNetworkinfo_ = iniConfig.get<bool>(cGeneralShowNetworkinfoKey, false);
|
||||
mp3MasterPath_ = iniConfig.get<std::string>(cGeneralMp3MasterPathKey, "/media/MYMEDIA");
|
||||
mp3SubFolder_ = iniConfig.get<std::string>(cGeneralMp3SubFolderKey, "/");
|
||||
@ -119,12 +122,13 @@ void Configuration::load()
|
||||
|
||||
videoResolution_ = static_cast<aasdk::proto::enums::VideoResolution::Enum>(iniConfig.get<uint32_t>(cVideoResolutionKey,
|
||||
aasdk::proto::enums::VideoResolution::_480p));
|
||||
screenDPI_ = iniConfig.get<size_t>(cVideoScreenDPIKey, 100);
|
||||
screenDPI_ = iniConfig.get<size_t>(cVideoScreenDPIKey, 140);
|
||||
|
||||
omxLayerIndex_ = iniConfig.get<int32_t>(cVideoOMXLayerIndexKey, 1);
|
||||
videoMargins_ = QRect(0, 0, iniConfig.get<int32_t>(cVideoMarginWidth, 0), iniConfig.get<int32_t>(cVideoMarginHeight, 0));
|
||||
|
||||
enableTouchscreen_ = iniConfig.get<bool>(cInputEnableTouchscreenKey, true);
|
||||
enablePlayerControl_ = iniConfig.get<bool>(cInputEnablePlayerControlKey, false);
|
||||
this->readButtonCodes(iniConfig);
|
||||
|
||||
bluetoothAdapterType_ = static_cast<BluetoothAdapterType>(iniConfig.get<uint32_t>(cBluetoothAdapterTypeKey,
|
||||
@ -156,6 +160,7 @@ void Configuration::reset()
|
||||
showLux_ = false;
|
||||
showCursor_ = false;
|
||||
hideBrightnessControl_ = false;
|
||||
hideWarning_ = false;
|
||||
showNetworkinfo_ = false;
|
||||
mp3MasterPath_ = "/media/MYMEDIA";
|
||||
mp3SubFolder_ = "/";
|
||||
@ -164,10 +169,11 @@ void Configuration::reset()
|
||||
showAutoPlay_ = false;
|
||||
videoFPS_ = aasdk::proto::enums::VideoFPS::_30;
|
||||
videoResolution_ = aasdk::proto::enums::VideoResolution::_480p;
|
||||
screenDPI_ = 100;
|
||||
screenDPI_ = 140;
|
||||
omxLayerIndex_ = 1;
|
||||
videoMargins_ = QRect(0, 0, 0, 0);
|
||||
enableTouchscreen_ = true;
|
||||
enablePlayerControl_ = false;
|
||||
buttonCodes_.clear();
|
||||
bluetoothAdapterType_ = BluetoothAdapterType::NONE;
|
||||
bluetoothRemoteAdapterAddress_ = "";
|
||||
@ -190,6 +196,7 @@ void Configuration::save()
|
||||
iniConfig.put<bool>(cGeneralShowLuxKey, showLux_);
|
||||
iniConfig.put<bool>(cGeneralShowCursorKey, showCursor_);
|
||||
iniConfig.put<bool>(cGeneralHideBrightnessControlKey, hideBrightnessControl_);
|
||||
iniConfig.put<bool>(cGeneralHideWarningKey, hideWarning_);
|
||||
iniConfig.put<bool>(cGeneralShowNetworkinfoKey, showNetworkinfo_);
|
||||
iniConfig.put<std::string>(cGeneralMp3MasterPathKey, mp3MasterPath_);
|
||||
iniConfig.put<std::string>(cGeneralMp3SubFolderKey, mp3SubFolder_);
|
||||
@ -205,6 +212,7 @@ void Configuration::save()
|
||||
iniConfig.put<uint32_t>(cVideoMarginHeight, videoMargins_.height());
|
||||
|
||||
iniConfig.put<bool>(cInputEnableTouchscreenKey, enableTouchscreen_);
|
||||
iniConfig.put<bool>(cInputEnablePlayerControlKey, enablePlayerControl_);
|
||||
this->writeButtonCodes(iniConfig);
|
||||
|
||||
iniConfig.put<uint32_t>(cBluetoothAdapterTypeKey, static_cast<uint32_t>(bluetoothAdapterType_));
|
||||
@ -335,6 +343,16 @@ bool Configuration::hideBrightnessControl() const
|
||||
return hideBrightnessControl_;
|
||||
}
|
||||
|
||||
void Configuration::hideWarning(bool value)
|
||||
{
|
||||
hideWarning_ = value;
|
||||
}
|
||||
|
||||
bool Configuration::hideWarning() const
|
||||
{
|
||||
return hideWarning_;
|
||||
}
|
||||
|
||||
void Configuration::showNetworkinfo(bool value)
|
||||
{
|
||||
showNetworkinfo_ = value;
|
||||
@ -455,6 +473,16 @@ void Configuration::setTouchscreenEnabled(bool value)
|
||||
enableTouchscreen_ = value;
|
||||
}
|
||||
|
||||
bool Configuration::playerButtonControl() const
|
||||
{
|
||||
return enablePlayerControl_;
|
||||
}
|
||||
|
||||
void Configuration::playerButtonControl(bool value)
|
||||
{
|
||||
enablePlayerControl_ = value;
|
||||
}
|
||||
|
||||
Configuration::ButtonCodes Configuration::getButtonCodes() const
|
||||
{
|
||||
return buttonCodes_;
|
||||
@ -515,6 +543,129 @@ void Configuration::setAudioOutputBackendType(AudioOutputBackendType value)
|
||||
audioOutputBackendType_ = value;
|
||||
}
|
||||
|
||||
QString Configuration::getCSValue(QString searchString) const
|
||||
{
|
||||
using namespace std;
|
||||
ifstream inFile;
|
||||
ifstream inFile2;
|
||||
string line;
|
||||
searchString = searchString.append("=");
|
||||
inFile.open("/boot/crankshaft/crankshaft_env.sh");
|
||||
inFile2.open("/opt/crankshaft/crankshaft_default_env.sh");
|
||||
|
||||
size_t pos;
|
||||
|
||||
if(inFile) {
|
||||
while(inFile.good())
|
||||
{
|
||||
getline(inFile,line); // get line from file
|
||||
if (line[0] != '#') {
|
||||
pos=line.find(searchString.toStdString()); // search
|
||||
if(pos!=std::string::npos) // string::npos is returned if string is not found
|
||||
{
|
||||
int equalPosition = line.find("=");
|
||||
QString value = line.substr(equalPosition + 1).c_str();
|
||||
value.replace("\"","");
|
||||
OPENAUTO_LOG(info) << "[Configuration] CS param found: " << searchString.toStdString() << " Value:" << value.toStdString();
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
OPENAUTO_LOG(warning) << "[Configuration] unable to find cs param: " << searchString.toStdString();
|
||||
OPENAUTO_LOG(warning) << "[Configuration] Fallback to /opt/crankshaft/crankshaft_default_env.sh)";
|
||||
while(inFile2.good())
|
||||
{
|
||||
getline(inFile2,line); // get line from file
|
||||
if (line[0] != '#') {
|
||||
pos=line.find(searchString.toStdString()); // search
|
||||
if(pos!=std::string::npos) // string::npos is returned if string is not found
|
||||
{
|
||||
int equalPosition = line.find("=");
|
||||
QString value = line.substr(equalPosition + 1).c_str();
|
||||
value.replace("\"","");
|
||||
OPENAUTO_LOG(info) << "[Configuration] CS param found: " << searchString.toStdString() << " Value:" << value.toStdString();
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
return "";
|
||||
} else {
|
||||
OPENAUTO_LOG(warning) << "[Configuration] unable to open cs param file (/boot/crankshaft/crankshaft_env.sh)";
|
||||
OPENAUTO_LOG(warning) << "[Configuration] Fallback to /opt/crankshaft/crankshaft_default_env.sh)";
|
||||
|
||||
while(inFile2.good())
|
||||
{
|
||||
getline(inFile2,line); // get line from file
|
||||
if (line[0] != '#') {
|
||||
pos=line.find(searchString.toStdString()); // search
|
||||
if(pos!=std::string::npos) // string::npos is returned if string is not found
|
||||
{
|
||||
int equalPosition = line.find("=");
|
||||
QString value = line.substr(equalPosition + 1).c_str();
|
||||
value.replace("\"","");
|
||||
OPENAUTO_LOG(info) << "[Configuration] CS param found: " << searchString.toStdString() << " Value:" << value.toStdString();
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
QString Configuration::getParamFromFile(QString fileName, QString searchString) const
|
||||
{
|
||||
OPENAUTO_LOG(info) << "[Configuration] Request param from file: " << fileName.toStdString() << " param: " << searchString.toStdString();
|
||||
using namespace std;
|
||||
ifstream inFile;
|
||||
string line;
|
||||
if (!searchString.contains("dtoverlay")) {
|
||||
searchString = searchString.append("=");
|
||||
}
|
||||
inFile.open(fileName.toStdString());
|
||||
|
||||
size_t pos;
|
||||
|
||||
if(inFile) {
|
||||
while(inFile.good())
|
||||
{
|
||||
getline(inFile,line); // get line from file
|
||||
if (line[0] != '#') {
|
||||
pos=line.find(searchString.toStdString()); // search
|
||||
if(pos!=std::string::npos) // string::npos is returned if string is not found
|
||||
{
|
||||
int equalPosition = line.find("=");
|
||||
QString value = line.substr(equalPosition + 1).c_str();
|
||||
value.replace("\"","");
|
||||
OPENAUTO_LOG(info) << "[Configuration] Param from file: " << fileName.toStdString() << " found: " << searchString.toStdString() << " Value:" << value.toStdString();
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}
|
||||
return "";
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
QString Configuration::readFileContent(QString fileName) const
|
||||
{
|
||||
using namespace std;
|
||||
ifstream inFile;
|
||||
string line;
|
||||
inFile.open(fileName.toStdString());
|
||||
string result = "";
|
||||
if(inFile) {
|
||||
while(inFile.good())
|
||||
{
|
||||
getline(inFile,line); // get line from file
|
||||
result.append(line);
|
||||
}
|
||||
return result.c_str();
|
||||
} else {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
void Configuration::readButtonCodes(boost::property_tree::ptree& iniConfig)
|
||||
{
|
||||
this->insertButtonCode(iniConfig, cInputPlayButtonKey, aasdk::proto::enums::ButtonCode::PLAY);
|
||||
|
@ -74,12 +74,16 @@ void AndroidAutoEntity::stop()
|
||||
strand_.dispatch([this, self = this->shared_from_this()]() {
|
||||
OPENAUTO_LOG(info) << "[AndroidAutoEntity] stop.";
|
||||
|
||||
eventHandler_ = nullptr;
|
||||
std::for_each(serviceList_.begin(), serviceList_.end(), std::bind(&IService::stop, std::placeholders::_1));
|
||||
pinger_->cancel();
|
||||
messenger_->stop();
|
||||
transport_->stop();
|
||||
cryptor_->deinit();
|
||||
try {
|
||||
eventHandler_ = nullptr;
|
||||
std::for_each(serviceList_.begin(), serviceList_.end(), std::bind(&IService::stop, std::placeholders::_1));
|
||||
pinger_->cancel();
|
||||
messenger_->stop();
|
||||
transport_->stop();
|
||||
cryptor_->deinit();
|
||||
} catch (...) {
|
||||
OPENAUTO_LOG(info) << "[AndroidAutoEntity] exception in stop.";
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -146,6 +146,20 @@ void ConnectDialog::loadClientList()
|
||||
}
|
||||
}
|
||||
versionFile.close();
|
||||
if (ui_->listWidgetClients->count() == 1) {
|
||||
this->setControlsEnabledStatus(false);
|
||||
const auto& ipAddress = ui_->lineEditIPAddress->text().toStdString();
|
||||
auto socket = std::make_shared<boost::asio::ip::tcp::socket>(ioService_);
|
||||
ui_->progressBarConnect->show();
|
||||
try
|
||||
{
|
||||
tcpWrapper_.asyncConnect(*socket, ipAddress, 5277, std::bind(&ConnectDialog::connectHandler, this, std::placeholders::_1, ipAddress, socket));
|
||||
}
|
||||
catch(const boost::system::system_error& se)
|
||||
{
|
||||
emit connectionFailed(QString(se.what()));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
ui_->lineEditIPAddress->setText("");
|
||||
}
|
||||
|
@ -29,7 +29,6 @@
|
||||
#include <QFont>
|
||||
#include <QScreen>
|
||||
#include <QRect>
|
||||
#include <QFileSystemWatcher>
|
||||
#include <QVideoWidget>
|
||||
#include <QNetworkInterface>
|
||||
#include <iostream>
|
||||
@ -50,6 +49,7 @@ namespace ui
|
||||
MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWidget *parent)
|
||||
: QMainWindow(parent)
|
||||
, ui_(new Ui::MainWindow)
|
||||
, localDevice(new QBluetoothLocalDevice)
|
||||
{
|
||||
// set default bg color to black
|
||||
this->setStyleSheet("QMainWindow {background-color: rgb(0,0,0);}");
|
||||
@ -130,16 +130,15 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi
|
||||
|
||||
ui_->clockOnlyWidget->hide();
|
||||
|
||||
// by default hide bluetooth button on init
|
||||
ui_->pushButtonBluetooth->hide();
|
||||
ui_->labelBluetoothPairable->hide();
|
||||
|
||||
// by default hide media player
|
||||
ui_->mediaWidget->hide();
|
||||
ui_->pushButtonUSB->hide();
|
||||
|
||||
ui_->SysinfoTopLeft->hide();
|
||||
|
||||
ui_->pushButtonAndroidAuto->hide();
|
||||
ui_->ButtonAndroidAuto->hide();
|
||||
ui_->pushButtonAndroidAuto2->hide();
|
||||
|
||||
ui_->SysinfoTopLeft2->hide();
|
||||
@ -153,6 +152,11 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi
|
||||
ui_->networkInfo->hide();
|
||||
}
|
||||
|
||||
if (!this->devModeEnabled) {
|
||||
ui_->labelLock->hide();
|
||||
ui_->labelLockDummy->hide();
|
||||
}
|
||||
|
||||
if (check_file_exist("/etc/crankshaft.branch")) {
|
||||
QFile branchFile(QString("/etc/crankshaft.branch"));
|
||||
branchFile.open(QIODevice::ReadOnly);
|
||||
@ -183,6 +187,12 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi
|
||||
connect(ui_->pushButtonStop, &QPushButton::clicked, this, &MainWindow::cameraStop);
|
||||
connect(ui_->pushButtonRecord, &QPushButton::clicked, this, &MainWindow::cameraRecord);
|
||||
connect(ui_->pushButtonSave, &QPushButton::clicked, this, &MainWindow::cameraSave);
|
||||
connect(ui_->pushButtonUp, &QPushButton::clicked, this, &MainWindow::cameraPosYUp);
|
||||
connect(ui_->pushButtonDown, &QPushButton::clicked, this, &MainWindow::cameraPosYDown);
|
||||
connect(ui_->pushButtonPlus, &QPushButton::clicked, this, &MainWindow::cameraZoomPlus);
|
||||
connect(ui_->pushButtonMinus, &QPushButton::clicked, this, &MainWindow::cameraZoomMinus);
|
||||
this->camera_ycorection=configuration->getCSValue("RPICAM_YCORRECTION").toInt();
|
||||
this->camera_zoom=configuration->getCSValue("RPICAM_ZOOM").toInt();
|
||||
} else {
|
||||
ui_->pushButtonCameraShow->hide();
|
||||
ui_->pushButtonCameraShow2->hide();
|
||||
@ -375,19 +385,11 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi
|
||||
ui_->devlabel_right->hide();
|
||||
}
|
||||
|
||||
// Load configured brightness values
|
||||
system("/usr/local/bin/autoapp_helper getbrightnessvalues");
|
||||
QFile paramFile(QString("/tmp/br_values"));
|
||||
paramFile.open(QIODevice::ReadOnly);
|
||||
QTextStream data_param(¶mFile);
|
||||
QStringList brigthnessvalues = data_param.readAll().split("#");
|
||||
paramFile.close();
|
||||
|
||||
// set brightness slider attribs
|
||||
ui_->horizontalSliderBrightness->setMinimum(brigthnessvalues[0].toInt());
|
||||
ui_->horizontalSliderBrightness->setMaximum(brigthnessvalues[1].toInt());
|
||||
ui_->horizontalSliderBrightness->setSingleStep(brigthnessvalues[2].toInt());
|
||||
ui_->horizontalSliderBrightness->setTickInterval(brigthnessvalues[2].toInt());
|
||||
// set brightness slider attribs from cs config
|
||||
ui_->horizontalSliderBrightness->setMinimum(configuration->getCSValue("BR_MIN").toInt());
|
||||
ui_->horizontalSliderBrightness->setMaximum(configuration->getCSValue("BR_MAX").toInt());
|
||||
ui_->horizontalSliderBrightness->setSingleStep(configuration->getCSValue("BR_STEP").toInt());
|
||||
ui_->horizontalSliderBrightness->setTickInterval(configuration->getCSValue("BR_STEP").toInt());
|
||||
|
||||
// run monitor for custom brightness command if enabled in crankshaft_env.sh
|
||||
if (std::ifstream("/tmp/custombrightness")) {
|
||||
@ -396,7 +398,6 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi
|
||||
ui_->pushButtonBrightness2->show();
|
||||
}
|
||||
this->customBrightnessControl = true;
|
||||
system("/usr/local/bin/autoapp_helper startcustombrightness &");
|
||||
}
|
||||
|
||||
// read param file
|
||||
@ -545,6 +546,13 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi
|
||||
watcher_tmp->addPath("/tmp");
|
||||
connect(watcher_tmp, &QFileSystemWatcher::directoryChanged, this, &MainWindow::tmpChanged);
|
||||
|
||||
// Experimental test code
|
||||
localDevice = new QBluetoothLocalDevice(this);
|
||||
|
||||
connect(localDevice, SIGNAL(hostModeStateChanged(QBluetoothLocalDevice::HostMode)),
|
||||
this, SLOT(hostModeStateChanged(QBluetoothLocalDevice::HostMode)));
|
||||
|
||||
hostModeStateChanged(localDevice->hostMode());
|
||||
updateNetworkInfo();
|
||||
}
|
||||
|
||||
@ -558,6 +566,24 @@ MainWindow::~MainWindow()
|
||||
}
|
||||
}
|
||||
|
||||
void f1x::openauto::autoapp::ui::MainWindow::hostModeStateChanged(QBluetoothLocalDevice::HostMode mode)
|
||||
{
|
||||
if (mode != QBluetoothLocalDevice::HostPoweredOff) {
|
||||
this->bluetoothEnabled = true;
|
||||
ui_->pushButtonBluetooth->show();
|
||||
if (std::ifstream("/tmp/bluetooth_pairable")) {
|
||||
ui_->labelBluetoothPairable->show();
|
||||
ui_->pushButtonBluetooth->hide();
|
||||
} else {
|
||||
ui_->labelBluetoothPairable->hide();
|
||||
}
|
||||
} else {
|
||||
this->bluetoothEnabled = false;
|
||||
ui_->pushButtonBluetooth->hide();
|
||||
ui_->labelBluetoothPairable->hide();
|
||||
}
|
||||
}
|
||||
|
||||
void f1x::openauto::autoapp::ui::MainWindow::updateNetworkInfo()
|
||||
{
|
||||
QNetworkInterface wlan0if = QNetworkInterface::interfaceFromName("wlan0");
|
||||
@ -568,26 +594,12 @@ void f1x::openauto::autoapp::ui::MainWindow::updateNetworkInfo()
|
||||
//qDebug() << "wlan0: " << wlan0.ip();
|
||||
ui_->value_ip->setText(wlan0.ip().toString().simplified());
|
||||
ui_->value_mask->setText(wlan0.netmask().toString().simplified());
|
||||
if (std::ifstream("/tmp/wifi_ssid")) {
|
||||
QFile wifiData(QString("/tmp/wifi_ssid"));
|
||||
wifiData.open(QIODevice::ReadOnly);
|
||||
QTextStream gateway_date(&wifiData);
|
||||
QString linedate = gateway_date.readAll();
|
||||
wifiData.close();
|
||||
ui_->value_ssid->setText(linedate.simplified());
|
||||
if (std::ifstream("/tmp/hotspot_active")) {
|
||||
ui_->value_ssid->setText(configuration_->getParamFromFile("/etc/hostapd/hostapd.conf","ssid"));
|
||||
} else {
|
||||
ui_->value_ssid->setText("");
|
||||
}
|
||||
if (std::ifstream("/tmp/gateway_wlan0")) {
|
||||
QFile gatewayData(QString("/tmp/gateway_wlan0"));
|
||||
gatewayData.open(QIODevice::ReadOnly);
|
||||
QTextStream gateway_date(&gatewayData);
|
||||
QString linedate = gateway_date.readAll();
|
||||
gatewayData.close();
|
||||
ui_->value_gw->setText(linedate.simplified());
|
||||
} else {
|
||||
ui_->value_gw->setText("");
|
||||
ui_->value_ssid->setText(configuration_->readFileContent("/tmp/wifi_ssid"));
|
||||
}
|
||||
ui_->value_gw->setText(configuration_->readFileContent("/tmp/gateway_wlan0"));
|
||||
}
|
||||
} else {
|
||||
//qDebug() << "wlan0: down";
|
||||
@ -783,7 +795,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);");
|
||||
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_->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
|
||||
@ -877,6 +891,10 @@ void f1x::openauto::autoapp::ui::MainWindow::playerShow()
|
||||
ui_->VolumeSliderControlPlayer->show();
|
||||
ui_->VolumeSliderControl->hide();
|
||||
ui_->BrightnessSliderControl->hide();
|
||||
ui_->networkInfo->hide();
|
||||
if (player->state() == QMediaPlayer::PlayingState) {
|
||||
on_pushButtonBackToPlayer_clicked();
|
||||
}
|
||||
}
|
||||
|
||||
void f1x::openauto::autoapp::ui::MainWindow::playerHide()
|
||||
@ -890,6 +908,9 @@ void f1x::openauto::autoapp::ui::MainWindow::playerHide()
|
||||
ui_->VolumeSliderControl->show();
|
||||
ui_->VolumeSliderControlPlayer->hide();
|
||||
ui_->BrightnessSliderControl->hide();
|
||||
if (configuration_->showNetworkinfo()) {
|
||||
ui_->networkInfo->hide();
|
||||
}
|
||||
f1x::openauto::autoapp::ui::MainWindow::updateBG();
|
||||
f1x::openauto::autoapp::ui::MainWindow::tmpChanged();
|
||||
}
|
||||
@ -1218,6 +1239,12 @@ void f1x::openauto::autoapp::ui::MainWindow::on_comboBoxAlbum_currentIndexChange
|
||||
{
|
||||
this->albumfolder = arg1;
|
||||
MainWindow::scanFiles();
|
||||
ui_->pushButtonPlayerPause->hide();
|
||||
ui_->pushButtonPlayerStop->hide();
|
||||
ui_->pushButtonList->hide();
|
||||
ui_->pushButtonBackToPlayer->hide();
|
||||
ui_->labelCurrentPlaying->setText("");
|
||||
ui_->playerPositionTime->setText("");
|
||||
}
|
||||
|
||||
void f1x::openauto::autoapp::ui::MainWindow::setTrigger()
|
||||
@ -1344,6 +1371,12 @@ void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonPlayerPrevAlbum_clicke
|
||||
ui_->labelCurrentAlbumIndex->setText(QString::number(currentalbum+1));
|
||||
player->play();
|
||||
}
|
||||
if (ui_->mp3selectWidget->isVisible() == false) {
|
||||
ui_->pushButtonPlayerBack->show();
|
||||
ui_->pushButtonList->show();
|
||||
ui_->pushButtonPlayerPause->show();
|
||||
ui_->pushButtonPlayerStop->show();
|
||||
}
|
||||
}
|
||||
|
||||
void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonPlayerNextAlbum_clicked()
|
||||
@ -1361,6 +1394,12 @@ void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonPlayerNextAlbum_clicke
|
||||
ui_->labelCurrentAlbumIndex->setText(QString::number(currentalbum+1));
|
||||
player->play();
|
||||
}
|
||||
if (ui_->mp3selectWidget->isVisible() == false) {
|
||||
ui_->pushButtonPlayerBack->show();
|
||||
ui_->pushButtonList->show();
|
||||
ui_->pushButtonPlayerPause->show();
|
||||
ui_->pushButtonPlayerStop->show();
|
||||
}
|
||||
}
|
||||
|
||||
void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonBackToPlayer_clicked()
|
||||
@ -1370,6 +1409,8 @@ void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonBackToPlayer_clicked()
|
||||
ui_->pushButtonBackToPlayer->hide();
|
||||
ui_->pushButtonPlayerPlayList->hide();
|
||||
ui_->pushButtonList->show();
|
||||
ui_->pushButtonPlayerPause->show();
|
||||
ui_->pushButtonPlayerStop->show();
|
||||
}
|
||||
|
||||
void f1x::openauto::autoapp::ui::MainWindow::on_StateChanged(QMediaPlayer::State state)
|
||||
@ -1399,6 +1440,40 @@ bool f1x::openauto::autoapp::ui::MainWindow::check_file_exist(const char *fileNa
|
||||
}
|
||||
}
|
||||
|
||||
void f1x::openauto::autoapp::ui::MainWindow::KeyPress(QString key)
|
||||
{
|
||||
if (configuration_->playerButtonControl()) {
|
||||
if (key == "C") {
|
||||
on_pushButtonPlayerPause_clicked();
|
||||
}
|
||||
if (key == "X") {
|
||||
on_pushButtonPlayerPlayList_clicked();
|
||||
}
|
||||
if (key == "V") {
|
||||
on_pushButtonPlayerPrevBig_clicked();
|
||||
}
|
||||
if (key == "N") {
|
||||
on_pushButtonPlayerNextBig_clicked();
|
||||
}
|
||||
if (key == "B") {
|
||||
on_pushButtonPlayerPause_clicked();
|
||||
}
|
||||
if (key == "A") {
|
||||
on_pushButtonPlayerPrevAlbum_clicked();
|
||||
}
|
||||
if (key == "L") {
|
||||
on_pushButtonPlayerNextAlbum_clicked();
|
||||
}
|
||||
if (key == "H") {
|
||||
if (ui_->mediaWidget->isVisible() == false) {
|
||||
playerShow();
|
||||
} else {
|
||||
playerHide();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void f1x::openauto::autoapp::ui::MainWindow::tmpChanged()
|
||||
{
|
||||
try {
|
||||
@ -1414,6 +1489,7 @@ void f1x::openauto::autoapp::ui::MainWindow::tmpChanged()
|
||||
// check if system is in display off mode (tap2wake)
|
||||
if (std::ifstream("/tmp/blankscreen")) {
|
||||
if (ui_->centralWidget->isVisible() == true) {
|
||||
CloseAllDialogs();
|
||||
ui_->centralWidget->hide();
|
||||
}
|
||||
} else {
|
||||
@ -1432,6 +1508,7 @@ void f1x::openauto::autoapp::ui::MainWindow::tmpChanged()
|
||||
}
|
||||
if (ui_->headerWidget->isVisible() == true) {
|
||||
ui_->headerWidget->hide();
|
||||
CloseAllDialogs();
|
||||
}
|
||||
if (ui_->mediaWidget->isVisible() == true) {
|
||||
ui_->mediaWidget->hide();
|
||||
@ -1484,33 +1561,57 @@ void f1x::openauto::autoapp::ui::MainWindow::tmpChanged()
|
||||
|
||||
// check if phone is conencted to usb
|
||||
if (std::ifstream("/tmp/android_device")) {
|
||||
if (ui_->pushButtonAndroidAuto->isVisible() == false) {
|
||||
ui_->pushButtonAndroidAuto->show();
|
||||
if (ui_->ButtonAndroidAuto->isVisible() == false) {
|
||||
ui_->ButtonAndroidAuto->show();
|
||||
ui_->pushButtonNoDevice->hide();
|
||||
}
|
||||
if (ui_->pushButtonAndroidAuto2->isVisible() == false) {
|
||||
ui_->pushButtonAndroidAuto2->show();
|
||||
ui_->pushButtonNoDevice2->hide();
|
||||
}
|
||||
try {
|
||||
QFile deviceData(QString("/tmp/android_device"));
|
||||
deviceData.open(QIODevice::ReadOnly);
|
||||
QTextStream data_date(&deviceData);
|
||||
QString linedate = data_date.readAll().split("\n")[1];
|
||||
deviceData.close();
|
||||
ui_->labelAndroidAutoBottom->setText(linedate.simplified().replace("_"," "));
|
||||
} catch (...) {
|
||||
ui_->labelAndroidAutoBottom->setText("");
|
||||
}
|
||||
} else {
|
||||
if (ui_->pushButtonAndroidAuto->isVisible() == true) {
|
||||
if (ui_->ButtonAndroidAuto->isVisible() == true) {
|
||||
ui_->pushButtonNoDevice->show();
|
||||
ui_->pushButtonAndroidAuto->hide();
|
||||
ui_->ButtonAndroidAuto->hide();
|
||||
}
|
||||
if (ui_->pushButtonAndroidAuto2->isVisible() == true) {
|
||||
ui_->pushButtonNoDevice2->show();
|
||||
ui_->pushButtonAndroidAuto2->hide();
|
||||
}
|
||||
ui_->labelAndroidAutoBottom->setText("");
|
||||
}
|
||||
|
||||
// check if bluetooth available
|
||||
this->bluetoothEnabled = check_file_exist("/tmp/button_bluetooth_visible");
|
||||
|
||||
// check if bluetooth pairable
|
||||
if (this->bluetoothEnabled) {
|
||||
if (ui_->pushButtonBluetooth->isVisible() == false) {
|
||||
ui_->pushButtonBluetooth->show();
|
||||
if (std::ifstream("/tmp/bluetooth_pairable")) {
|
||||
if (ui_->labelBluetoothPairable->isVisible() == false) {
|
||||
ui_->labelBluetoothPairable->show();
|
||||
}
|
||||
if (ui_->pushButtonBluetooth->isVisible() == true) {
|
||||
ui_->pushButtonBluetooth->hide();
|
||||
}
|
||||
} else {
|
||||
if (ui_->labelBluetoothPairable->isVisible() == true) {
|
||||
ui_->labelBluetoothPairable->hide();
|
||||
}
|
||||
if (ui_->pushButtonBluetooth->isVisible() == false) {
|
||||
ui_->pushButtonBluetooth->show();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (ui_->labelBluetoothPairable->isVisible() == true) {
|
||||
ui_->labelBluetoothPairable->hide();
|
||||
}
|
||||
if (ui_->pushButtonBluetooth->isVisible() == true) {
|
||||
ui_->pushButtonBluetooth->hide();
|
||||
}
|
||||
@ -1518,7 +1619,7 @@ 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) {
|
||||
if (ui_->btDevice->isVisible() == false || ui_->btDevice->text().simplified() == "") {
|
||||
QFile phoneBTData(QString("/tmp/btdevice"));
|
||||
phoneBTData.open(QIODevice::ReadOnly);
|
||||
QTextStream data_date(&phoneBTData);
|
||||
@ -1747,7 +1848,9 @@ void f1x::openauto::autoapp::ui::MainWindow::tmpChanged()
|
||||
}
|
||||
} else {
|
||||
if (ui_->networkInfo->isVisible() == false) {
|
||||
ui_->networkInfo->show();
|
||||
if (ui_->mediaWidget->isVisible() == false) {
|
||||
ui_->networkInfo->show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1836,5 +1939,36 @@ void f1x::openauto::autoapp::ui::MainWindow::tmpChanged()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (std::ifstream("/tmp/btdevice") || std::ifstream("/tmp/media_playing") || std::ifstream("/tmp/dev_mode_enabled") || std::ifstream("/tmp/android_device")) {
|
||||
if (ui_->labelLock->isVisible() == false) {
|
||||
ui_->labelLock->show();
|
||||
ui_->labelLockDummy->show();
|
||||
}
|
||||
} else {
|
||||
if (ui_->labelLock->isVisible() == true) {
|
||||
ui_->labelLock->hide();
|
||||
ui_->labelLockDummy->hide();
|
||||
}
|
||||
}
|
||||
updateNetworkInfo();
|
||||
|
||||
//QString localDeviceName;
|
||||
//QString localDeviceAddress;
|
||||
|
||||
//if (localDevice->isValid()) {
|
||||
// localDeviceName = localDevice->name();
|
||||
// localDeviceAddress = localDevice->address().toString();
|
||||
// QList<QBluetoothAddress> 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));
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/*subfolder
|
||||
/*subfolder
|
||||
* This file is part of openauto project.
|
||||
* Copyright (C) 2018 f1x.studio (Michal Szwaj)
|
||||
*
|
||||
@ -28,6 +28,7 @@
|
||||
#include <QNetworkInterface>
|
||||
#include <fstream>
|
||||
#include <QStorageInfo>
|
||||
#include <QProcess>
|
||||
|
||||
namespace f1x
|
||||
{
|
||||
@ -75,6 +76,7 @@ SettingsWindow::SettingsWindow(configuration::IConfiguration::Pointer configurat
|
||||
connect(ui_->radioButtonClient, &QPushButton::clicked, this, &SettingsWindow::onStopHotspot);
|
||||
connect(ui_->pushButtonSetTime, &QPushButton::clicked, this, &SettingsWindow::setTime);
|
||||
connect(ui_->pushButtonSetTime, &QPushButton::clicked, this, &SettingsWindow::close);
|
||||
connect(ui_->pushButtonNTP, &QPushButton::clicked, [&]() { system("/usr/local/bin/crankshaft rtc sync &"); });
|
||||
connect(ui_->pushButtonNTP, &QPushButton::clicked, this, &SettingsWindow::close);
|
||||
connect(ui_->pushButtonCheckNow, &QPushButton::clicked, [&]() { system("/usr/local/bin/crankshaft update check &"); });
|
||||
connect(ui_->pushButtonDebuglog, &QPushButton::clicked, this, &SettingsWindow::close);
|
||||
@ -98,6 +100,7 @@ SettingsWindow::SettingsWindow(configuration::IConfiguration::Pointer configurat
|
||||
ui_->labelBluetoothAdapterAddress->hide();
|
||||
ui_->lineEditExternalBluetoothAdapterAddress->hide();
|
||||
ui_->labelTestInProgress->hide();
|
||||
ui_->pushButtonShowBindings->hide();
|
||||
|
||||
connect(ui_->pushButtonTab1, &QPushButton::clicked, this, &SettingsWindow::show_tab1);
|
||||
connect(ui_->pushButtonTab2, &QPushButton::clicked, this, &SettingsWindow::show_tab2);
|
||||
@ -118,10 +121,31 @@ SettingsWindow::SettingsWindow(configuration::IConfiguration::Pointer configurat
|
||||
ui_->label_modeswitchprogress->setText("Ok");
|
||||
ui_->label_notavailable->hide();
|
||||
|
||||
QString wifi_ssid = configuration_->getCSValue("WIFI_SSID");
|
||||
QString wifi2_ssid = configuration_->getCSValue("WIFI2_SSID");
|
||||
|
||||
ui_->pushButtonNetwork0->setText(wifi_ssid);
|
||||
ui_->pushButtonNetwork1->setText(wifi2_ssid);
|
||||
|
||||
if (!std::ifstream("/boot/crankshaft/network1.conf")) {
|
||||
ui_->pushButtonNetwork1->hide();
|
||||
ui_->pushButtonNetwork0->show();
|
||||
}
|
||||
if (!std::ifstream("/boot/crankshaft/network0.conf")) {
|
||||
ui_->pushButtonNetwork1->hide();
|
||||
ui_->pushButtonNetwork0->setText(configuration_->getCSValue("WIFI2_SSID"));
|
||||
}
|
||||
if (!std::ifstream("/boot/crankshaft/network0.conf") && !std::ifstream("/boot/crankshaft/network1.conf")) {
|
||||
ui_->pushButtonNetwork0->hide();
|
||||
ui_->pushButtonNetwork1->hide();
|
||||
ui_->pushButtonNetworkAuto->hide();
|
||||
ui_->label_notavailable->show();
|
||||
}
|
||||
|
||||
if (std::ifstream("/tmp/hotspot_active")) {
|
||||
ui_->radioButtonClient->setChecked(0);
|
||||
ui_->radioButtonHotspot->setChecked(1);
|
||||
ui_->lineEditWifiSSID->setText(this->hotspotssid);
|
||||
ui_->lineEditWifiSSID->setText(configuration_->getParamFromFile("/etc/hostapd/hostapd.conf","ssid"));
|
||||
ui_->lineEditPassword->show();
|
||||
ui_->label_password->show();
|
||||
ui_->lineEditPassword->setText("1234567890");
|
||||
@ -130,13 +154,17 @@ SettingsWindow::SettingsWindow(configuration::IConfiguration::Pointer configurat
|
||||
} else {
|
||||
ui_->radioButtonClient->setChecked(1);
|
||||
ui_->radioButtonHotspot->setChecked(0);
|
||||
ui_->lineEditWifiSSID->setText(this->wifissid);
|
||||
ui_->lineEditWifiSSID->setText(configuration_->readFileContent("/tmp/wifi_ssid"));
|
||||
ui_->lineEditPassword->hide();
|
||||
ui_->label_password->hide();
|
||||
ui_->lineEditPassword->setText("");
|
||||
ui_->clientNetworkSelect->hide();
|
||||
ui_->label_notavailable->show();
|
||||
}
|
||||
|
||||
QTimer *refresh=new QTimer(this);
|
||||
connect(refresh, SIGNAL(timeout()),this,SLOT(updateInfo()));
|
||||
refresh->start(5000);
|
||||
}
|
||||
|
||||
SettingsWindow::~SettingsWindow()
|
||||
@ -144,6 +172,16 @@ SettingsWindow::~SettingsWindow()
|
||||
delete ui_;
|
||||
}
|
||||
|
||||
void SettingsWindow::updateInfo()
|
||||
{
|
||||
if (ui_->tab6->isVisible() == true) {
|
||||
updateSystemInfo();
|
||||
}
|
||||
if (ui_->tab5->isVisible() == true) {
|
||||
updateNetworkInfo();
|
||||
}
|
||||
}
|
||||
|
||||
void SettingsWindow::onSave()
|
||||
{
|
||||
configuration_->setHandednessOfTrafficType(ui_->radioButtonLeftHandDrive->isChecked() ? configuration::HandednessOfTrafficType::LEFT_HAND_DRIVE : configuration::HandednessOfTrafficType::RIGHT_HAND_DRIVE);
|
||||
@ -159,6 +197,7 @@ void SettingsWindow::onSave()
|
||||
configuration_->showNetworkinfo(ui_->checkBoxNetworkinfo->isChecked());
|
||||
configuration_->mp3AutoPlay(ui_->checkBoxAutoPlay->isChecked());
|
||||
configuration_->showAutoPlay(ui_->checkBoxShowPlayer->isChecked());
|
||||
configuration_->hideWarning(ui_->checkBoxDontShowAgain->isChecked());
|
||||
|
||||
configuration_->setVideoFPS(ui_->radioButton30FPS->isChecked() ? aasdk::proto::enums::VideoFPS::_30 : aasdk::proto::enums::VideoFPS::_60);
|
||||
|
||||
@ -184,6 +223,8 @@ void SettingsWindow::onSave()
|
||||
configuration_->setTouchscreenEnabled(ui_->checkBoxEnableTouchscreen->isChecked());
|
||||
this->saveButtonCheckBoxes();
|
||||
|
||||
configuration_->playerButtonControl(ui_->checkBoxPlayerControl->isChecked());
|
||||
|
||||
if(ui_->radioButtonDisableBluetooth->isChecked())
|
||||
{
|
||||
configuration_->setBluetoothAdapterType(configuration::BluetoothAdapterType::NONE);
|
||||
@ -362,6 +403,22 @@ void SettingsWindow::onSave()
|
||||
params.append("0");
|
||||
}
|
||||
params.append("#");
|
||||
if (ui_->checkBoxFlipX ->isChecked()) {
|
||||
params.append("1");
|
||||
} else {
|
||||
params.append("0");
|
||||
}
|
||||
params.append("#");
|
||||
if (ui_->checkBoxFlipY ->isChecked()) {
|
||||
params.append("1");
|
||||
} else {
|
||||
params.append("0");
|
||||
}
|
||||
params.append("#");
|
||||
params.append( std::string(ui_->comboBoxRotation->currentText().toStdString()) );
|
||||
params.append("#");
|
||||
params.append( std::string(ui_->comboBoxResolution->currentText().toStdString()) );
|
||||
params.append("#");
|
||||
system((std::string("/usr/local/bin/autoapp_helper setparams#") + std::string(params) + std::string(" &") ).c_str());
|
||||
|
||||
this->close();
|
||||
@ -400,6 +457,7 @@ void SettingsWindow::load()
|
||||
ui_->checkBoxNetworkinfo->setChecked(configuration_->showNetworkinfo());
|
||||
ui_->checkBoxAutoPlay->setChecked(configuration_->mp3AutoPlay());
|
||||
ui_->checkBoxShowPlayer->setChecked(configuration_->showAutoPlay());
|
||||
ui_->checkBoxDontShowAgain->setChecked(configuration_->hideWarning());
|
||||
|
||||
ui_->radioButton30FPS->setChecked(configuration_->getVideoFPS() == aasdk::proto::enums::VideoFPS::_30);
|
||||
ui_->radioButton60FPS->setChecked(configuration_->getVideoFPS() == aasdk::proto::enums::VideoFPS::_60);
|
||||
@ -416,6 +474,7 @@ void SettingsWindow::load()
|
||||
|
||||
ui_->checkBoxEnableTouchscreen->setChecked(configuration_->getTouchscreenEnabled());
|
||||
this->loadButtonCheckBoxes();
|
||||
ui_->checkBoxPlayerControl->setChecked(configuration_->playerButtonControl());
|
||||
|
||||
ui_->radioButtonDisableBluetooth->setChecked(configuration_->getBluetoothAdapterType() == configuration::BluetoothAdapterType::NONE);
|
||||
ui_->radioButtonUseLocalBluetoothAdapter->setChecked(configuration_->getBluetoothAdapterType() == configuration::BluetoothAdapterType::LOCAL);
|
||||
@ -431,7 +490,7 @@ void SettingsWindow::load()
|
||||
ui_->radioButtonQtAudio->setChecked(audioOutputBackendType == configuration::AudioOutputBackendType::QT);
|
||||
|
||||
ui_->checkBoxHardwareSave->setChecked(false);
|
||||
QStorageInfo storage("/media/CSSTORAGE");
|
||||
QStorageInfo storage("/media/USBDRIVES/CSSTORAGE");
|
||||
storage.refresh();
|
||||
if (storage.isValid() && storage.isReady()) {
|
||||
if (storage.isReadOnly()) {
|
||||
@ -619,130 +678,104 @@ void SettingsWindow::syncNTPTime()
|
||||
|
||||
void SettingsWindow::loadSystemValues()
|
||||
{
|
||||
system("/usr/local/bin/autoapp_helper getoutputs");
|
||||
system("/usr/local/bin/autoapp_helper getinputs");
|
||||
system("/usr/local/bin/autoapp_helper getparams");
|
||||
system("/usr/local/bin/autoapp_helper getbrightnessvalues");
|
||||
|
||||
// set brightness slider attribs
|
||||
QFile paramFile(QString("/tmp/br_values"));
|
||||
paramFile.open(QIODevice::ReadOnly);
|
||||
QTextStream data_param(¶mFile);
|
||||
QStringList brigthnessvalues = data_param.readAll().split("#");
|
||||
paramFile.close();
|
||||
ui_->horizontalSliderDay->setMinimum(configuration_->getCSValue("BR_MIN").toInt());
|
||||
ui_->horizontalSliderDay->setMaximum(configuration_->getCSValue("BR_MAX").toInt());
|
||||
ui_->horizontalSliderDay->setSingleStep(configuration_->getCSValue("BR_STEP").toInt());
|
||||
ui_->horizontalSliderDay->setTickInterval(configuration_->getCSValue("BR_STEP").toInt());
|
||||
ui_->horizontalSliderDay->setValue(configuration_->getCSValue("BR_DAY").toInt());
|
||||
|
||||
ui_->horizontalSliderDay->setMinimum(brigthnessvalues[0].toInt());
|
||||
ui_->horizontalSliderDay->setMaximum(brigthnessvalues[1].toInt());
|
||||
ui_->horizontalSliderDay->setSingleStep(brigthnessvalues[2].toInt());
|
||||
ui_->horizontalSliderDay->setTickInterval(brigthnessvalues[2].toInt());
|
||||
ui_->horizontalSliderDay->setValue(brigthnessvalues[3].toInt());
|
||||
ui_->horizontalSliderNight->setMinimum(configuration_->getCSValue("BR_MIN").toInt());
|
||||
ui_->horizontalSliderNight->setMaximum(configuration_->getCSValue("BR_MAX").toInt());
|
||||
ui_->horizontalSliderNight->setSingleStep(configuration_->getCSValue("BR_STEP").toInt());
|
||||
ui_->horizontalSliderNight->setTickInterval(configuration_->getCSValue("BR_STEP").toInt());
|
||||
ui_->horizontalSliderNight->setValue(configuration_->getCSValue("BR_NIGHT").toInt());
|
||||
|
||||
ui_->horizontalSliderNight->setMinimum(brigthnessvalues[0].toInt());
|
||||
ui_->horizontalSliderNight->setMaximum(brigthnessvalues[1].toInt());
|
||||
ui_->horizontalSliderNight->setSingleStep(brigthnessvalues[2].toInt());
|
||||
ui_->horizontalSliderNight->setTickInterval(brigthnessvalues[2].toInt());
|
||||
ui_->horizontalSliderNight->setValue(brigthnessvalues[4].toInt());
|
||||
ui_->horizontalSliderBrightness1->setMinimum(configuration_->getCSValue("BR_MIN").toInt());
|
||||
ui_->horizontalSliderBrightness1->setMaximum(configuration_->getCSValue("BR_MAX").toInt());
|
||||
ui_->horizontalSliderBrightness1->setSingleStep(configuration_->getCSValue("BR_STEP").toInt());
|
||||
ui_->horizontalSliderBrightness1->setTickInterval(configuration_->getCSValue("BR_STEP").toInt());
|
||||
|
||||
ui_->horizontalSliderBrightness1->setMinimum(brigthnessvalues[0].toInt());
|
||||
ui_->horizontalSliderBrightness1->setMaximum(brigthnessvalues[1].toInt());
|
||||
ui_->horizontalSliderBrightness1->setSingleStep(brigthnessvalues[2].toInt());
|
||||
ui_->horizontalSliderBrightness1->setTickInterval(brigthnessvalues[2].toInt());
|
||||
ui_->horizontalSliderBrightness2->setMinimum(configuration_->getCSValue("BR_MIN").toInt());
|
||||
ui_->horizontalSliderBrightness2->setMaximum(configuration_->getCSValue("BR_MAX").toInt());
|
||||
ui_->horizontalSliderBrightness2->setSingleStep(configuration_->getCSValue("BR_STEP").toInt());
|
||||
ui_->horizontalSliderBrightness2->setTickInterval(configuration_->getCSValue("BR_STEP").toInt());
|
||||
|
||||
ui_->horizontalSliderBrightness2->setMinimum(brigthnessvalues[0].toInt());
|
||||
ui_->horizontalSliderBrightness2->setMaximum(brigthnessvalues[1].toInt());
|
||||
ui_->horizontalSliderBrightness2->setSingleStep(brigthnessvalues[2].toInt());
|
||||
ui_->horizontalSliderBrightness2->setTickInterval(brigthnessvalues[2].toInt());
|
||||
ui_->horizontalSliderBrightness3->setMinimum(configuration_->getCSValue("BR_MIN").toInt());
|
||||
ui_->horizontalSliderBrightness3->setMaximum(configuration_->getCSValue("BR_MAX").toInt());
|
||||
ui_->horizontalSliderBrightness3->setSingleStep(configuration_->getCSValue("BR_STEP").toInt());
|
||||
ui_->horizontalSliderBrightness3->setTickInterval(configuration_->getCSValue("BR_STEP").toInt());
|
||||
|
||||
ui_->horizontalSliderBrightness3->setMinimum(brigthnessvalues[0].toInt());
|
||||
ui_->horizontalSliderBrightness3->setMaximum(brigthnessvalues[1].toInt());
|
||||
ui_->horizontalSliderBrightness3->setSingleStep(brigthnessvalues[2].toInt());
|
||||
ui_->horizontalSliderBrightness3->setTickInterval(brigthnessvalues[2].toInt());
|
||||
ui_->horizontalSliderBrightness4->setMinimum(configuration_->getCSValue("BR_MIN").toInt());
|
||||
ui_->horizontalSliderBrightness4->setMaximum(configuration_->getCSValue("BR_MAX").toInt());
|
||||
ui_->horizontalSliderBrightness4->setSingleStep(configuration_->getCSValue("BR_STEP").toInt());
|
||||
ui_->horizontalSliderBrightness4->setTickInterval(configuration_->getCSValue("BR_STEP").toInt());
|
||||
|
||||
ui_->horizontalSliderBrightness4->setMinimum(brigthnessvalues[0].toInt());
|
||||
ui_->horizontalSliderBrightness4->setMaximum(brigthnessvalues[1].toInt());
|
||||
ui_->horizontalSliderBrightness4->setSingleStep(brigthnessvalues[2].toInt());
|
||||
ui_->horizontalSliderBrightness4->setTickInterval(brigthnessvalues[2].toInt());
|
||||
|
||||
ui_->horizontalSliderBrightness5->setMinimum(brigthnessvalues[0].toInt());
|
||||
ui_->horizontalSliderBrightness5->setMaximum(brigthnessvalues[1].toInt());
|
||||
ui_->horizontalSliderBrightness5->setSingleStep(brigthnessvalues[2].toInt());
|
||||
ui_->horizontalSliderBrightness5->setTickInterval(brigthnessvalues[2].toInt());
|
||||
ui_->horizontalSliderBrightness5->setMinimum(configuration_->getCSValue("BR_MIN").toInt());
|
||||
ui_->horizontalSliderBrightness5->setMaximum(configuration_->getCSValue("BR_MAX").toInt());
|
||||
ui_->horizontalSliderBrightness5->setSingleStep(configuration_->getCSValue("BR_STEP").toInt());
|
||||
ui_->horizontalSliderBrightness5->setTickInterval(configuration_->getCSValue("BR_STEP").toInt());
|
||||
|
||||
// set tsl2561 slider attribs
|
||||
QFile param2File(QString("/tmp/tsl2561_values"));
|
||||
param2File.open(QIODevice::ReadOnly);
|
||||
QTextStream data_param2(¶m2File);
|
||||
QStringList brigthnessvalues2 = data_param2.readAll().split("#");
|
||||
param2File.close();
|
||||
|
||||
ui_->horizontalSliderLux1->setValue(brigthnessvalues2[0].toInt());
|
||||
ui_->horizontalSliderBrightness1->setValue(brigthnessvalues2[1].toInt());
|
||||
ui_->horizontalSliderLux2->setValue(brigthnessvalues2[2].toInt());
|
||||
ui_->horizontalSliderBrightness2->setValue(brigthnessvalues2[3].toInt());
|
||||
ui_->horizontalSliderLux3->setValue(brigthnessvalues2[4].toInt());
|
||||
ui_->horizontalSliderBrightness3->setValue(brigthnessvalues2[5].toInt());
|
||||
ui_->horizontalSliderLux4->setValue(brigthnessvalues2[6].toInt());
|
||||
ui_->horizontalSliderBrightness4->setValue(brigthnessvalues2[7].toInt());
|
||||
ui_->horizontalSliderLux5->setValue(brigthnessvalues2[8].toInt());
|
||||
ui_->horizontalSliderBrightness5->setValue(brigthnessvalues2[9].toInt());
|
||||
ui_->comboBoxCheckInterval->setCurrentText(brigthnessvalues2[10]);
|
||||
ui_->comboBoxNightmodeStep->setCurrentText(brigthnessvalues2[11]);
|
||||
ui_->horizontalSliderLux1->setValue(configuration_->getCSValue("LUX_LEVEL_1").toInt());
|
||||
ui_->horizontalSliderBrightness1->setValue(configuration_->getCSValue("DISP_BRIGHTNESS_1").toInt());
|
||||
ui_->horizontalSliderLux2->setValue(configuration_->getCSValue("LUX_LEVEL_2").toInt());
|
||||
ui_->horizontalSliderBrightness2->setValue(configuration_->getCSValue("DISP_BRIGHTNESS_2").toInt());
|
||||
ui_->horizontalSliderLux3->setValue(configuration_->getCSValue("LUX_LEVEL_3").toInt());
|
||||
ui_->horizontalSliderBrightness3->setValue(configuration_->getCSValue("DISP_BRIGHTNESS_3").toInt());
|
||||
ui_->horizontalSliderLux4->setValue(configuration_->getCSValue("LUX_LEVEL_4").toInt());
|
||||
ui_->horizontalSliderBrightness4->setValue(configuration_->getCSValue("DISP_BRIGHTNESS_4").toInt());
|
||||
ui_->horizontalSliderLux5->setValue(configuration_->getCSValue("LUX_LEVEL_5").toInt());
|
||||
ui_->horizontalSliderBrightness5->setValue(configuration_->getCSValue("DISP_BRIGHTNESS_5").toInt());
|
||||
ui_->comboBoxCheckInterval->setCurrentText(configuration_->getCSValue("TSL2561_CHECK_INTERVAL"));
|
||||
ui_->comboBoxNightmodeStep->setCurrentText(configuration_->getCSValue("TSL2561_DAYNIGHT_ON_STEP"));
|
||||
|
||||
if (std::ifstream("/tmp/return_value")) {
|
||||
QFile paramFile(QString("/tmp/return_value"));
|
||||
paramFile.open(QIODevice::ReadOnly);
|
||||
QTextStream data_param(¶mFile);
|
||||
QStringList getparams = data_param.readAll().split("#");
|
||||
paramFile.close();
|
||||
QString return_values = configuration_->readFileContent("/tmp/return_value");
|
||||
QStringList getparams = return_values.split("#");
|
||||
|
||||
// version string
|
||||
ui_->valueSystemVersion->setText(getparams[0]);
|
||||
ui_->valueSystemVersion->setText(configuration_->readFileContent("/etc/crankshaft.build"));
|
||||
// date string
|
||||
ui_->valueSystemBuildDate->setText(getparams[1]);
|
||||
ui_->valueSystemBuildDate->setText(configuration_->readFileContent("/etc/crankshaft.date"));
|
||||
// set volume
|
||||
ui_->labelSystemVolumeValue->setText(getparams[2]);
|
||||
ui_->horizontalSliderSystemVolume->setValue(getparams[2].toInt());
|
||||
ui_->labelSystemVolumeValue->setText(configuration_->readFileContent("/boot/crankshaft/volume"));
|
||||
ui_->horizontalSliderSystemVolume->setValue(configuration_->readFileContent("/boot/crankshaft/volume").toInt());
|
||||
// set cap volume
|
||||
ui_->labelSystemCaptureValue->setText(getparams[3]);
|
||||
ui_->horizontalSliderSystemCapture->setValue(getparams[3].toInt());
|
||||
ui_->labelSystemCaptureValue->setText(configuration_->readFileContent("/boot/crankshaft/capvolume"));
|
||||
ui_->horizontalSliderSystemCapture->setValue(configuration_->readFileContent("/boot/crankshaft/capvolume").toInt());
|
||||
// set shutdown
|
||||
ui_->valueShutdownTimer->setText(getparams[4]);
|
||||
ui_->spinBoxShutdown->setValue(getparams[5].toInt());
|
||||
ui_->valueShutdownTimer->setText("- - -");
|
||||
ui_->spinBoxShutdown->setValue(configuration_->getCSValue("DISCONNECTION_POWEROFF_MINS").toInt());
|
||||
// set disconnect
|
||||
ui_->valueDisconnectTimer->setText(getparams[6]);
|
||||
ui_->spinBoxDisconnect->setValue(getparams[7].toInt());
|
||||
ui_->valueDisconnectTimer->setText("- - -");
|
||||
ui_->spinBoxDisconnect->setValue(configuration_->getCSValue("DISCONNECTION_SCREEN_POWEROFF_SECS").toInt());
|
||||
// set day/night
|
||||
ui_->spinBoxDay->setValue(getparams[8].toInt());
|
||||
ui_->spinBoxNight->setValue(getparams[9].toInt());
|
||||
ui_->spinBoxDay->setValue(configuration_->getCSValue("RTC_DAY_START").toInt());
|
||||
ui_->spinBoxNight->setValue(configuration_->getCSValue("RTC_NIGHT_START").toInt());
|
||||
// set gpios
|
||||
if (getparams[10] == "1") {
|
||||
if (configuration_->getCSValue("ENABLE_GPIO") == "1") {
|
||||
ui_->checkBoxGPIO->setChecked(true);
|
||||
} else {
|
||||
ui_->checkBoxGPIO->setChecked(false);
|
||||
}
|
||||
ui_->comboBoxDevMode->setCurrentText(getparams[11]);
|
||||
ui_->comboBoxInvert->setCurrentText(getparams[12]);
|
||||
ui_->comboBoxX11->setCurrentText(getparams[13]);
|
||||
ui_->comboBoxRearcam->setCurrentText(getparams[14]);
|
||||
ui_->comboBoxAndroid->setCurrentText(getparams[15]);
|
||||
ui_->comboBoxDevMode->setCurrentText(configuration_->getCSValue("DEV_PIN"));
|
||||
ui_->comboBoxInvert->setCurrentText(configuration_->getCSValue("INVERT_PIN"));
|
||||
ui_->comboBoxX11->setCurrentText(configuration_->getCSValue("X11_PIN"));
|
||||
ui_->comboBoxRearcam->setCurrentText(configuration_->getCSValue("REARCAM_PIN"));
|
||||
ui_->comboBoxAndroid->setCurrentText(configuration_->getCSValue("ANDROID_PIN"));
|
||||
// set mode
|
||||
if (getparams[16] == "0") {
|
||||
if (configuration_->getCSValue("START_X11") == "0") {
|
||||
ui_->radioButtonEGL->setChecked(true);
|
||||
} else {
|
||||
ui_->radioButtonX11->setChecked(true);
|
||||
}
|
||||
// set rotation
|
||||
if (getparams[17] == "0") {
|
||||
if (configuration_->getCSValue("FLIP_SCREEN") == "0") {
|
||||
ui_->radioButtonScreenNormal->setChecked(true);
|
||||
} else {
|
||||
ui_->radioButtonScreenRotated->setChecked(true);
|
||||
}
|
||||
// set free mem
|
||||
ui_->valueSystemFreeMem->setText(getparams[18]);
|
||||
// set cpu freq
|
||||
ui_->valueSystemCPUFreq->setText(getparams[19] + "MHz");
|
||||
// set cpu temp
|
||||
ui_->valueSystemCPUTemp->setText(getparams[20]);
|
||||
|
||||
if (std::ifstream("/tmp/get_inputs")) {
|
||||
QFile inputsFile(QString("/tmp/get_inputs"));
|
||||
@ -782,23 +815,8 @@ void SettingsWindow::loadSystemValues()
|
||||
}
|
||||
}
|
||||
|
||||
if (std::ifstream("/tmp/get_default_output")) {
|
||||
QFile defaultoutputFile(QString("/tmp/get_default_output"));
|
||||
defaultoutputFile.open(QIODevice::ReadOnly);
|
||||
QTextStream data_return(&defaultoutputFile);
|
||||
QStringList defoutput = data_return.readAll().split("\n");
|
||||
defaultoutputFile.close();
|
||||
ui_->comboBoxPulseOutput->setCurrentText(defoutput[0]);
|
||||
}
|
||||
|
||||
if (std::ifstream("/tmp/get_default_input")) {
|
||||
QFile defaultinputFile(QString("/tmp/get_default_input"));
|
||||
defaultinputFile.open(QIODevice::ReadOnly);
|
||||
QTextStream data_return(&defaultinputFile);
|
||||
QStringList definput = data_return.readAll().split("\n");
|
||||
defaultinputFile.close();
|
||||
ui_->comboBoxPulseInput->setCurrentText(definput[0]);
|
||||
}
|
||||
ui_->comboBoxPulseOutput->setCurrentText(configuration_->readFileContent("/tmp/get_default_output"));
|
||||
ui_->comboBoxPulseInput->setCurrentText(configuration_->readFileContent("/tmp/get_default_input"));
|
||||
|
||||
if (std::ifstream("/tmp/timezone_listing")) {
|
||||
QFile zoneFile(QString("/tmp/timezone_listing"));
|
||||
@ -820,129 +838,157 @@ void SettingsWindow::loadSystemValues()
|
||||
}
|
||||
|
||||
// set rtc
|
||||
ui_->comboBoxHardwareRTC->setCurrentText(getparams[21]);
|
||||
// set timezone
|
||||
ui_->comboBoxTZ->setCurrentText(getparams[22]);
|
||||
QString rtcstring = configuration_->getParamFromFile("/boot/config.txt","dtoverlay=i2c-rtc");
|
||||
if (rtcstring != "") {
|
||||
QStringList rtc = rtcstring.split(",");
|
||||
ui_->comboBoxHardwareRTC->setCurrentText(rtc[1].trimmed());
|
||||
// set timezone
|
||||
ui_->comboBoxTZ->setCurrentText(configuration_->readFileContent("/etc/timezone"));
|
||||
} else {
|
||||
ui_->comboBoxHardwareRTC->setCurrentText("none");
|
||||
}
|
||||
|
||||
// set dac
|
||||
QString dac = "Custom";
|
||||
if (getparams[23] == "allo-boss-dac-pcm512x-audio") {
|
||||
if (getparams[4] == "allo-boss-dac-pcm512x-audio") {
|
||||
dac = "Allo - Boss";
|
||||
}
|
||||
if (getparams[23] == "allo-piano-dac-pcm512x-audio") {
|
||||
if (getparams[4] == "allo-piano-dac-pcm512x-audio") {
|
||||
dac = "Allo - Piano";
|
||||
}
|
||||
if (getparams[23] == "iqaudio-dacplus") {
|
||||
if (getparams[4] == "iqaudio-dacplus") {
|
||||
dac = "IQaudIO - Pi-DAC Plus/Pro/Zero";
|
||||
}
|
||||
if (getparams[23] == "iqaudio-dacplus,unmute_amp") {
|
||||
if (getparams[4] == "iqaudio-dacplus,unmute_amp") {
|
||||
dac = "IQaudIO - Pi-Digi Amp Plus";
|
||||
}
|
||||
if (getparams[23] == "iqaudio-dacplus,auto_mute_amp") {
|
||||
if (getparams[4] == "iqaudio-dacplus,auto_mute_amp") {
|
||||
dac = "IQaudIO - Pi-Digi Amp Plus - Automute";
|
||||
}
|
||||
if (getparams[23] == "iqaudio-digi-wm8804-audio") {
|
||||
if (getparams[4] == "iqaudio-digi-wm8804-audio") {
|
||||
dac = "IQaudIO - Pi-Digi Plus";
|
||||
}
|
||||
if (getparams[23] == "audioinjector-wm8731-audio") {
|
||||
if (getparams[4] == "audioinjector-wm8731-audio") {
|
||||
dac = "Audioinjector - Zero/Stereo";
|
||||
}
|
||||
if (getparams[23] == "hifiberry-dac") {
|
||||
if (getparams[4] == "hifiberry-dac") {
|
||||
dac = "Hifiberry - DAC";
|
||||
}
|
||||
if (getparams[23] == "hifiberry-dacplus") {
|
||||
if (getparams[4] == "hifiberry-dacplus") {
|
||||
dac = "Hifiberry - DAC Plus";
|
||||
}
|
||||
if (getparams[23] == "hifiberry-digi") {
|
||||
if (getparams[4] == "hifiberry-digi") {
|
||||
dac = "Hifiberry - Digi";
|
||||
}
|
||||
if (getparams[23] == "hifiberry-digi-pro") {
|
||||
if (getparams[4] == "hifiberry-digi-pro") {
|
||||
dac = "Hifiberry - Digi Pro";
|
||||
}
|
||||
if (getparams[23] == "hifiberry-amp") {
|
||||
if (getparams[4] == "hifiberry-amp") {
|
||||
dac = "Hifiberry - DAC Amp";
|
||||
}
|
||||
if (getparams[23] == "audio") {
|
||||
if (getparams[4] == "audio") {
|
||||
dac = "Raspberry Pi - Onboard";
|
||||
}
|
||||
ui_->comboBoxHardwareDAC->setCurrentText(dac);
|
||||
|
||||
// set shutdown disable
|
||||
if (getparams[24] == "1") {
|
||||
if (configuration_->getCSValue("DISCONNECTION_POWEROFF_DISABLE") == "1") {
|
||||
ui_->checkBoxDisableShutdown->setChecked(true);
|
||||
} else {
|
||||
ui_->checkBoxDisableShutdown->setChecked(false);
|
||||
}
|
||||
|
||||
// set screen off disable
|
||||
if (getparams[25] == "1") {
|
||||
if (configuration_->getCSValue("DISCONNECTION_SCREEN_POWEROFF_DISABLE") == "1") {
|
||||
ui_->checkBoxDisableScreenOff->setChecked(true);
|
||||
} else {
|
||||
ui_->checkBoxDisableScreenOff->setChecked(false);
|
||||
}
|
||||
|
||||
// set custom brightness command
|
||||
if (getparams[26] != "0") {
|
||||
ui_->labelCustomBrightnessCommand->setText(getparams[26] + " brvalue");
|
||||
if (configuration_->getCSValue("CUSTOM_BRIGHTNESS_COMMAND") != "") {
|
||||
ui_->labelCustomBrightnessCommand->setText(configuration_->getCSValue("CUSTOM_BRIGHTNESS_COMMAND") + " brvalue");
|
||||
} else {
|
||||
ui_->labelCustomBrightnessCommand->setText("Disabled");
|
||||
}
|
||||
|
||||
// set debug mode
|
||||
if (getparams[27] == "1") {
|
||||
if (configuration_->getCSValue("DEBUG_MODE") == "1") {
|
||||
ui_->radioButtonDebugmodeEnabled->setChecked(true);
|
||||
} else {
|
||||
ui_->radioButtonDebugmodeDisabled->setChecked(true);
|
||||
}
|
||||
|
||||
// GPIO based shutdown
|
||||
ui_->comboBoxGPIOShutdown->setCurrentText(getparams[28]);
|
||||
ui_->spinBoxGPIOShutdownDelay->setValue(getparams[29].toInt());
|
||||
ui_->comboBoxGPIOShutdown->setCurrentText(configuration_->getCSValue("IGNITION_PIN"));
|
||||
ui_->spinBoxGPIOShutdownDelay->setValue(configuration_->getCSValue("IGNITION_DELAY").toInt());
|
||||
|
||||
// Wifi Credentials
|
||||
this->wifissid = getparams[30];
|
||||
|
||||
// Wifi Hotspot Credentials
|
||||
if (getparams[31] == "1") {
|
||||
// Wifi Hotspot
|
||||
if (configuration_->getCSValue("ENABLE_HOTSPOT") == "1") {
|
||||
ui_->checkBoxHotspot->setChecked(true);
|
||||
} else {
|
||||
ui_->checkBoxHotspot->setChecked(false);
|
||||
}
|
||||
|
||||
this->hotspotssid = getparams[32];
|
||||
|
||||
// set cam
|
||||
ui_->comboBoxCam->setCurrentText(getparams[33]);
|
||||
if (configuration_->getParamFromFile("/boot/config.txt","start_x") == "1") {
|
||||
ui_->comboBoxCam->setCurrentText("enabled");
|
||||
} else {
|
||||
ui_->comboBoxCam->setCurrentText("disabled");
|
||||
}
|
||||
if (configuration_->getCSValue("RPICAM_HFLIP") == "1") {
|
||||
ui_->checkBoxFlipX->setChecked(true);
|
||||
} else {
|
||||
ui_->checkBoxFlipX->setChecked(false);
|
||||
}
|
||||
if (configuration_->getCSValue("RPICAM_VFLIP") == "1") {
|
||||
ui_->checkBoxFlipY->setChecked(true);
|
||||
} else {
|
||||
ui_->checkBoxFlipY->setChecked(false);
|
||||
}
|
||||
ui_->comboBoxRotation->setCurrentText(configuration_->getCSValue("RPICAM_ROTATION"));
|
||||
ui_->comboBoxResolution->setCurrentText(configuration_->getCSValue("RPICAM_RESOLUTION"));
|
||||
|
||||
// set bluetooth
|
||||
if (getparams[34] == "1") {
|
||||
if (configuration_->getCSValue("ENABLE_BLUETOOTH") == "1") {
|
||||
// check external bluetooth enabled
|
||||
if (getparams[36] == "1") {
|
||||
if (configuration_->getCSValue("EXTERNAL_BLUETOOTH") == "1") {
|
||||
ui_->radioButtonUseExternalBluetoothAdapter->setChecked(true);
|
||||
} else {
|
||||
ui_->radioButtonUseLocalBluetoothAdapter->setChecked(true);
|
||||
}
|
||||
// mac
|
||||
ui_->lineEditExternalBluetoothAdapterAddress->setText(getparams[37]);
|
||||
//ui_->lineEditExternalBluetoothAdapterAddress->setText(getparams[37]);
|
||||
} else {
|
||||
ui_->radioButtonDisableBluetooth->setChecked(true);
|
||||
ui_->lineEditExternalBluetoothAdapterAddress->setText("");
|
||||
}
|
||||
if (getparams[35] == "1") {
|
||||
if (configuration_->getCSValue("ENABLE_PAIRABLE") == "1") {
|
||||
ui_->checkBoxBluetoothAutoPair->setChecked(true);
|
||||
} else {
|
||||
ui_->checkBoxBluetoothAutoPair->setChecked(false);
|
||||
}
|
||||
// set bluetooth type
|
||||
ui_->comboBoxBluetooth->setCurrentText(getparams[38]);
|
||||
if (configuration_->getCSValue("ENABLE_BLUETOOTH") == "1") {
|
||||
QString bt = configuration_->getParamFromFile("/boot/config.txt","dtoverlay=pi3-disable-bt");
|
||||
if (bt.contains("pi3-disable-bt")) {
|
||||
ui_->comboBoxBluetooth->setCurrentText("external");
|
||||
} else {
|
||||
ui_->comboBoxBluetooth->setCurrentText("builtin");
|
||||
}
|
||||
} else {
|
||||
ui_->comboBoxBluetooth->setCurrentText("none");
|
||||
}
|
||||
|
||||
// set sdoc
|
||||
if (getparams[39] == "enabled") {
|
||||
QString sdoc = configuration_->getParamFromFile("/boot/config.txt","dtoverlay=sdtweak");
|
||||
if (sdoc.contains("sdtweak")) {
|
||||
ui_->comboBoxSDOC->setCurrentIndex(1);
|
||||
} else {
|
||||
ui_->comboBoxSDOC->setCurrentIndex(0);
|
||||
}
|
||||
// set lightsensor
|
||||
if (getparams[40] == "enabled") {
|
||||
if (std::ifstream("/etc/cs_lightsensor")) {
|
||||
ui_->comboBoxLS->setCurrentIndex(1);
|
||||
ui_->groupBoxSliderDay->hide();
|
||||
ui_->groupBoxSliderNight->hide();
|
||||
@ -952,24 +998,26 @@ void SettingsWindow::loadSystemValues()
|
||||
ui_->groupBoxSliderDay->show();
|
||||
ui_->groupBoxSliderNight->show();
|
||||
}
|
||||
ui_->comboBoxDayNight->setCurrentText(getparams[41]);
|
||||
if (getparams[42] == "1") {
|
||||
ui_->comboBoxDayNight->setCurrentText(configuration_->getCSValue("DAYNIGHT_PIN"));
|
||||
if (configuration_->getCSValue("RTC_DAYNIGHT") == "1") {
|
||||
ui_->checkBoxDisableDayNightRTC->setChecked(false);
|
||||
} else {
|
||||
ui_->checkBoxDisableDayNightRTC->setChecked(true);
|
||||
}
|
||||
if (getparams[43] == "csnganimation") {
|
||||
QString theme = configuration_->getParamFromFile("/etc/plymouth/plymouthd.conf","Theme");
|
||||
if (theme == "csnganimation") {
|
||||
ui_->radioButtonAnimatedCSNG->setChecked(true);
|
||||
}
|
||||
else if (getparams[43] == "crankshaft") {
|
||||
else if (theme == "crankshaft") {
|
||||
ui_->radioButtonCSNG->setChecked(true);
|
||||
}
|
||||
else if (getparams[43] == "custom") {
|
||||
else if (theme == "custom") {
|
||||
ui_->radioButtonCustom->setChecked(true);
|
||||
}
|
||||
ui_->comboBoxCountryCode->setCurrentIndex(ui_->comboBoxCountryCode->findText(getparams[44], Qt::MatchFlag::MatchStartsWith));
|
||||
// wifi country code
|
||||
ui_->comboBoxCountryCode->setCurrentIndex(ui_->comboBoxCountryCode->findText(configuration_->getCSValue("WIFI_COUNTRY"), Qt::MatchFlag::MatchStartsWith));
|
||||
// set screen blank instead off
|
||||
if (getparams[45] == "1") {
|
||||
if (configuration_->getCSValue("SCREEN_POWEROFF_OVERRIDE") == "1") {
|
||||
ui_->checkBoxBlankOnly->setChecked(true);
|
||||
} else {
|
||||
ui_->checkBoxBlankOnly->setChecked(false);
|
||||
@ -1013,11 +1061,11 @@ void SettingsWindow::onStartHotspot()
|
||||
ui_->radioButtonHotspot->setEnabled(0);
|
||||
ui_->lineEdit_wlan0->setText("");
|
||||
ui_->lineEditWifiSSID->setText("");
|
||||
ui_->pushButtonNetworkAuto->hide();
|
||||
qApp->processEvents();
|
||||
std::remove("/tmp/manual_hotspot_control");
|
||||
std::ofstream("/tmp/manual_hotspot_control");
|
||||
system("/opt/crankshaft/service_hotspot.sh start &");
|
||||
QTimer::singleShot(15000, this, SLOT(updateNetworkInfo()));
|
||||
}
|
||||
|
||||
void SettingsWindow::onStopHotspot()
|
||||
@ -1030,9 +1078,57 @@ void SettingsWindow::onStopHotspot()
|
||||
ui_->lineEdit_wlan0->setText("");
|
||||
ui_->lineEditWifiSSID->setText("");
|
||||
ui_->lineEditPassword->setText("");
|
||||
ui_->pushButtonNetworkAuto->hide();
|
||||
qApp->processEvents();
|
||||
system("/opt/crankshaft/service_hotspot.sh stop &");
|
||||
QTimer::singleShot(15000, this, SLOT(updateNetworkInfo()));
|
||||
}
|
||||
|
||||
void SettingsWindow::updateSystemInfo()
|
||||
{
|
||||
// free ram
|
||||
struct sysinfo info;
|
||||
sysinfo(&info);
|
||||
ui_->valueSystemFreeMem->setText(QString::number(info.freeram/1024/1024) + " MB");
|
||||
// current cpu speed
|
||||
QString freq = configuration_->readFileContent("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq");
|
||||
int currentfreq = freq.toInt()/1000;
|
||||
ui_->valueSystemCPUFreq->setText(QString::number(currentfreq) + "MHz");
|
||||
// current cpu temp
|
||||
QString temp = configuration_->readFileContent("/sys/class/thermal/thermal_zone0/temp");
|
||||
int currenttemp = temp.toInt()/1000;
|
||||
ui_->valueSystemCPUTemp->setText(QString::number(currenttemp) + "°C");
|
||||
// get remaining times
|
||||
QProcess process;
|
||||
process.start("/bin/bash", QStringList() << "-c" << "systemctl list-timers -all | grep disconnect | awk {'print $1'}");
|
||||
process.waitForFinished(-1);
|
||||
QString stdout = process.readAllStandardOutput();
|
||||
if (stdout.simplified() != "n/a") {
|
||||
process.start("/bin/bash", QStringList() << "-c" << "systemctl list-timers -all | grep disconnect | awk {'print $5\" \"$6'}");
|
||||
process.waitForFinished(-1);
|
||||
QString stdout = process.readAllStandardOutput();
|
||||
if (stdout.simplified() != "") {
|
||||
ui_->valueDisconnectTimer->setText(stdout.simplified());
|
||||
} else {
|
||||
ui_->valueDisconnectTimer->setText("Stopped");
|
||||
}
|
||||
} else {
|
||||
ui_->valueDisconnectTimer->setText("Stopped");
|
||||
}
|
||||
process.start("/bin/bash", QStringList() << "-c" << "systemctl list-timers -all | grep shutdown | awk {'print $1'}");
|
||||
process.waitForFinished(-1);
|
||||
stdout = process.readAllStandardOutput();
|
||||
if (stdout.simplified() != "n/a") {
|
||||
process.start("/bin/bash", QStringList() << "-c" << "systemctl list-timers -all | grep shutdown | awk {'print $5\" \"$6'}");
|
||||
process.waitForFinished(-1);
|
||||
QString stdout = process.readAllStandardOutput();
|
||||
if (stdout.simplified() != "") {
|
||||
ui_->valueShutdownTimer->setText(stdout.simplified());
|
||||
} else {
|
||||
ui_->valueShutdownTimer->setText("Stopped");
|
||||
}
|
||||
} else {
|
||||
ui_->valueShutdownTimer->setText("Stopped");
|
||||
}
|
||||
}
|
||||
|
||||
void SettingsWindow::show_tab1()
|
||||
@ -1169,64 +1265,75 @@ void f1x::openauto::autoapp::ui::SettingsWindow::on_pushButtonAudioTest_clicked(
|
||||
|
||||
void f1x::openauto::autoapp::ui::SettingsWindow::updateNetworkInfo()
|
||||
{
|
||||
QNetworkInterface eth0if = QNetworkInterface::interfaceFromName("eth0");
|
||||
if (eth0if.flags().testFlag(QNetworkInterface::IsUp)) {
|
||||
QList<QNetworkAddressEntry> entrieseth0 = eth0if.addressEntries();
|
||||
if (!entrieseth0.isEmpty()) {
|
||||
QNetworkAddressEntry eth0 = entrieseth0.first();
|
||||
//qDebug() << "eth0: " << eth0.ip();
|
||||
ui_->lineEdit_eth0->setText(eth0.ip().toString());
|
||||
}
|
||||
} else {
|
||||
//qDebug() << "eth0: down";
|
||||
ui_->lineEdit_eth0->setText("interface down");
|
||||
}
|
||||
|
||||
QNetworkInterface wlan0if = QNetworkInterface::interfaceFromName("wlan0");
|
||||
if (wlan0if.flags().testFlag(QNetworkInterface::IsUp)) {
|
||||
QList<QNetworkAddressEntry> entrieswlan0 = wlan0if.addressEntries();
|
||||
if (!entrieswlan0.isEmpty()) {
|
||||
QNetworkAddressEntry wlan0 = entrieswlan0.first();
|
||||
//qDebug() << "wlan0: " << wlan0.ip();
|
||||
ui_->lineEdit_wlan0->setText(wlan0.ip().toString());
|
||||
}
|
||||
if (std::ifstream("/tmp/wifi_ssid")) {
|
||||
QFile wifiData(QString("/tmp/wifi_ssid"));
|
||||
wifiData.open(QIODevice::ReadOnly);
|
||||
QTextStream gateway_date(&wifiData);
|
||||
QString linedate = gateway_date.readAll();
|
||||
wifiData.close();
|
||||
ui_->lineEditWifiSSID->setText(linedate.simplified());
|
||||
if (!std::ifstream("/tmp/mode_change_progress")) {
|
||||
QNetworkInterface eth0if = QNetworkInterface::interfaceFromName("eth0");
|
||||
if (eth0if.flags().testFlag(QNetworkInterface::IsUp)) {
|
||||
QList<QNetworkAddressEntry> entrieseth0 = eth0if.addressEntries();
|
||||
if (!entrieseth0.isEmpty()) {
|
||||
QNetworkAddressEntry eth0 = entrieseth0.first();
|
||||
//qDebug() << "eth0: " << eth0.ip();
|
||||
ui_->lineEdit_eth0->setText(eth0.ip().toString());
|
||||
}
|
||||
} else {
|
||||
ui_->lineEditWifiSSID->setText("");
|
||||
//qDebug() << "eth0: down";
|
||||
ui_->lineEdit_eth0->setText("interface down");
|
||||
}
|
||||
} else {
|
||||
//qDebug() << "wlan0: down";
|
||||
ui_->lineEdit_wlan0->setText("interface down");
|
||||
}
|
||||
|
||||
if (std::ifstream("/tmp/hotspot_active")) {
|
||||
ui_->radioButtonClient->setEnabled(1);
|
||||
ui_->radioButtonHotspot->setEnabled(1);
|
||||
ui_->radioButtonHotspot->setChecked(1);
|
||||
ui_->radioButtonClient->setChecked(0);
|
||||
ui_->label_modeswitchprogress->setText("Ok");
|
||||
ui_->lineEditWifiSSID->setText(this->hotspotssid);
|
||||
ui_->lineEditPassword->show();
|
||||
ui_->label_password->show();
|
||||
ui_->lineEditPassword->setText("1234567890");
|
||||
} else {
|
||||
ui_->radioButtonClient->setEnabled(1);
|
||||
ui_->radioButtonHotspot->setEnabled(1);
|
||||
ui_->radioButtonHotspot->setChecked(0);
|
||||
ui_->radioButtonClient->setChecked(1);
|
||||
ui_->label_modeswitchprogress->setText("Ok");
|
||||
ui_->lineEditWifiSSID->setText(this->wifissid);
|
||||
ui_->lineEditPassword->hide();
|
||||
ui_->label_password->hide();
|
||||
ui_->lineEditPassword->setText("");
|
||||
ui_->clientNetworkSelect->show();
|
||||
ui_->label_notavailable->hide();
|
||||
QNetworkInterface wlan0if = QNetworkInterface::interfaceFromName("wlan0");
|
||||
if (wlan0if.flags().testFlag(QNetworkInterface::IsUp)) {
|
||||
QList<QNetworkAddressEntry> entrieswlan0 = wlan0if.addressEntries();
|
||||
if (!entrieswlan0.isEmpty()) {
|
||||
QNetworkAddressEntry wlan0 = entrieswlan0.first();
|
||||
//qDebug() << "wlan0: " << wlan0.ip();
|
||||
ui_->lineEdit_wlan0->setText(wlan0.ip().toString());
|
||||
}
|
||||
} else {
|
||||
//qDebug() << "wlan0: down";
|
||||
ui_->lineEdit_wlan0->setText("interface down");
|
||||
}
|
||||
|
||||
if (std::ifstream("/tmp/hotspot_active")) {
|
||||
ui_->radioButtonClient->setEnabled(1);
|
||||
ui_->radioButtonHotspot->setEnabled(1);
|
||||
ui_->radioButtonHotspot->setChecked(1);
|
||||
ui_->radioButtonClient->setChecked(0);
|
||||
ui_->label_modeswitchprogress->setText("Ok");
|
||||
ui_->lineEditWifiSSID->setText(configuration_->getParamFromFile("/etc/hostapd/hostapd.conf","ssid"));
|
||||
ui_->lineEditPassword->show();
|
||||
ui_->label_password->show();
|
||||
ui_->lineEditPassword->setText("1234567890");
|
||||
ui_->clientNetworkSelect->hide();
|
||||
ui_->pushButtonNetworkAuto->hide();
|
||||
ui_->label_notavailable->show();
|
||||
} else {
|
||||
ui_->radioButtonClient->setEnabled(1);
|
||||
ui_->radioButtonHotspot->setEnabled(1);
|
||||
ui_->radioButtonHotspot->setChecked(0);
|
||||
ui_->radioButtonClient->setChecked(1);
|
||||
ui_->label_modeswitchprogress->setText("Ok");
|
||||
ui_->lineEditWifiSSID->setText(configuration_->readFileContent("/tmp/wifi_ssid"));
|
||||
ui_->lineEditPassword->hide();
|
||||
ui_->label_password->hide();
|
||||
ui_->lineEditPassword->setText("");
|
||||
ui_->clientNetworkSelect->show();
|
||||
ui_->label_notavailable->hide();
|
||||
ui_->pushButtonNetworkAuto->show();
|
||||
|
||||
if (!std::ifstream("/boot/crankshaft/network1.conf")) {
|
||||
ui_->pushButtonNetwork1->hide();
|
||||
ui_->pushButtonNetwork0->show();
|
||||
}
|
||||
if (!std::ifstream("/boot/crankshaft/network0.conf")) {
|
||||
ui_->pushButtonNetwork1->hide();
|
||||
ui_->pushButtonNetwork0->setText(configuration_->getCSValue("WIFI2_SSID"));
|
||||
}
|
||||
if (!std::ifstream("/boot/crankshaft/network0.conf") && !std::ifstream("/boot/crankshaft/network1.conf")) {
|
||||
ui_->pushButtonNetwork0->hide();
|
||||
ui_->pushButtonNetwork1->hide();
|
||||
ui_->pushButtonNetworkAuto->hide();
|
||||
ui_->label_notavailable->show();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1236,7 +1343,7 @@ void f1x::openauto::autoapp::ui::SettingsWindow::on_pushButtonNetwork0_clicked()
|
||||
ui_->lineEditWifiSSID->setText("");
|
||||
ui_->lineEditPassword->setText("");
|
||||
qApp->processEvents();
|
||||
system("/usr/local/bin/crankshaft network 0 &");
|
||||
system("/usr/local/bin/crankshaft network 0 >/dev/null 2>&1 &");
|
||||
|
||||
}
|
||||
|
||||
@ -1246,6 +1353,5 @@ void f1x::openauto::autoapp::ui::SettingsWindow::on_pushButtonNetwork1_clicked()
|
||||
ui_->lineEditWifiSSID->setText("");
|
||||
ui_->lineEditPassword->setText("");
|
||||
qApp->processEvents();
|
||||
system("/usr/local/bin/crankshaft network 1 &");
|
||||
QTimer::singleShot(15000, this, SLOT(updateNetworkInfo()));
|
||||
system("/usr/local/bin/crankshaft network 1 >/dev/null 2>&1 &");
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ UpdateDialog::UpdateDialog(QWidget *parent)
|
||||
connect(watcher_tmp, &QFileSystemWatcher::directoryChanged, this, &UpdateDialog::updateCheck);
|
||||
|
||||
watcher_download = new QFileSystemWatcher(this);
|
||||
watcher_download->addPath("/media/CSSTORAGE");
|
||||
watcher_download->addPath("/media/USBDRIVES/CSSTORAGE");
|
||||
connect(watcher_download, &QFileSystemWatcher::directoryChanged, this, &UpdateDialog::downloadCheck);
|
||||
}
|
||||
|
||||
@ -94,7 +94,7 @@ void f1x::openauto::autoapp::ui::UpdateDialog::on_pushButtonUpdateCheck_clicked(
|
||||
|
||||
void f1x::openauto::autoapp::ui::UpdateDialog::downloadCheck()
|
||||
{
|
||||
QDir directory("/media/CSSTORAGE");
|
||||
QDir directory("/media/USBDRIVES/CSSTORAGE");
|
||||
QStringList files = directory.entryList(QStringList() << "*.zip", QDir::AllEntries, QDir::Name);
|
||||
foreach(QString filename, files) {
|
||||
if (filename != "") {
|
||||
@ -136,6 +136,9 @@ void f1x::openauto::autoapp::ui::UpdateDialog::updateCheck()
|
||||
ui_->progressBarOpenauto->hide();
|
||||
ui_->labelOpenautoOK->show();
|
||||
}
|
||||
} else {
|
||||
ui_->labelOpenautoOK->hide();
|
||||
ui_->pushButtonUpdateOpenauto->hide();
|
||||
}
|
||||
|
||||
if (std::ifstream("/tmp/system_update_ready")) {
|
||||
@ -153,15 +156,21 @@ void f1x::openauto::autoapp::ui::UpdateDialog::updateCheck()
|
||||
if (std::ifstream("/tmp/system_update_downloading")) {
|
||||
ui_->labelSystemOK->hide();
|
||||
ui_->pushButtonUpdateSystem->hide();
|
||||
ui_->pushButtonUpdateCheck->hide();
|
||||
ui_->progressBarSystem->show();
|
||||
|
||||
QFileInfo downloadfile = "/media/CSSTORAGE/" + ui_->labelDownload->text();
|
||||
QFileInfo downloadfile = "/media/USBDRIVES/CSSTORAGE/" + ui_->labelDownload->text();
|
||||
if (downloadfile.exists()) {
|
||||
qint64 size = downloadfile.size();
|
||||
size = size/1024/1024;
|
||||
ui_->progressBarSystem->setValue(size);
|
||||
}
|
||||
} else {
|
||||
if (ui_->pushButtonUpdateCheck->isVisible() == false) {
|
||||
ui_->pushButtonUpdateCheck->show();
|
||||
}
|
||||
}
|
||||
|
||||
if (!std::ifstream("/tmp/system_update_available") && !std::ifstream("/tmp/system_update_downloading")) {
|
||||
ui_->progressBarSystem->hide();
|
||||
ui_->labelSystemOK->show();
|
||||
|
@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>929</width>
|
||||
<height>1511</height>
|
||||
<width>1010</width>
|
||||
<height>1657</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
@ -139,6 +139,40 @@
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelLock">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>24</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>24</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(78, 154, 6);
|
||||
color: rgb(239, 239, 239);
|
||||
outline: none;
|
||||
border-radius: 4px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Lock</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="devlabel_right">
|
||||
<property name="minimumSize">
|
||||
@ -221,7 +255,7 @@ border-radius: 4px;
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>8</pointsize>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
@ -241,11 +275,23 @@ color: rgb(211, 215, 207);</string>
|
||||
<item>
|
||||
<widget class="QLabel" name="Header_Label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>24</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>24</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>DejaVu Sans</family>
|
||||
@ -326,6 +372,34 @@ color: rgb(211, 215, 207);</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelLockDummy">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>24</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>24</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgba(0, 0, 0, 0);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="devlabel_left">
|
||||
<property name="sizePolicy">
|
||||
@ -607,7 +681,7 @@ color: rgb(0, 102, 255);</string>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_13">
|
||||
<spacer name="horizontalSpacer_16">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
@ -644,8 +718,8 @@ color: rgb(0, 102, 255);</string>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
<weight>50</weight>
|
||||
<bold>false</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
@ -679,10 +753,44 @@ border-radius: 4px;
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelBluetoothPairable">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>80</width>
|
||||
<height>24</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>80</width>
|
||||
<height>24</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(32, 74, 135);
|
||||
color: rgb(255, 255, 255);
|
||||
outline: none;
|
||||
border-radius: 4px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" color:#29ffff;">Pairable</span></p></body></html></string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButtonBluetooth">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
@ -1340,41 +1448,124 @@ border: no-border;</string>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButtonAndroidAuto">
|
||||
<widget class="QWidget" name="ButtonAndroidAuto" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgba(48, 140, 198, 0.5);
|
||||
<layout class="QVBoxLayout" name="verticalLayout_16">
|
||||
<property name="spacing">
|
||||
<number>0</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="labelAndroidAutoTop">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">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-bottom: 0px;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButtonAndroidAuto">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">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;
|
||||
border-bottom: 0px;
|
||||
</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<normalon>:/aausb-hot.png</normalon>
|
||||
</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>50</width>
|
||||
<height>50</height>
|
||||
</size>
|
||||
</property>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset>
|
||||
<normalon>:/aausb-hot.png</normalon>
|
||||
</iconset>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
<width>50</width>
|
||||
<height>50</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="autoRepeat">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelAndroidAutoBottom">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">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;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignHCenter|Qt::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@ -3208,7 +3399,7 @@ outline: none;</string>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButtonCameraHide">
|
||||
<widget class="QWidget" name="horizontalWidget" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
@ -3218,11 +3409,260 @@ outline: none;</string>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgba(0, 0, 0, 1);
|
||||
border-radius: 4px;
|
||||
border: 2px solid rgba(255,255,255,0.5);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
border: 2px solid rgba(255,255,255,0.5);
|
||||
outline: none;</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_18">
|
||||
<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="QWidget" name="verticalWidget_2" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgba(0, 0, 0, 0);
|
||||
border: 0px;</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_15">
|
||||
<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="pushButtonUp">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>66</width>
|
||||
<height>66</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>66</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgba(136, 138, 133, 0.5);
|
||||
border-radius: 4px;
|
||||
border: 2px solid rgba(255,255,255,0.5);
|
||||
border-left: 0px;
|
||||
border-top: 0px;
|
||||
color: rgb(255, 255, 255);
|
||||
outline: none;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Up</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButtonDown">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>66</width>
|
||||
<height>66</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>66</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgba(136, 138, 133, 0.5);
|
||||
border-radius: 4px;
|
||||
border: 2px solid rgba(255,255,255,0.5);
|
||||
border-left: 0px;
|
||||
border-bottom: 0px;
|
||||
color: rgb(255, 255, 255);
|
||||
outline: none;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Down</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButtonCameraHide">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgba(0, 0, 0, 0);
|
||||
border: 0px;
|
||||
outline: none;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWidget" name="verticalWidget" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgba(0, 0, 0, 0);
|
||||
border: 0px;
|
||||
</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_14">
|
||||
<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="pushButtonPlus">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>66</width>
|
||||
<height>66</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>66</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>16</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgba(136, 138, 133, 0.5);
|
||||
border-radius: 4px;
|
||||
border: 2px solid rgba(255,255,255,0.5);
|
||||
border-right: 0px;
|
||||
border-top: 0px;
|
||||
color: rgb(255, 255, 255);
|
||||
outline: none;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>+</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButtonMinus">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>66</width>
|
||||
<height>66</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>66</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>16</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgba(136, 138, 133, 0.5);
|
||||
border-radius: 4px;
|
||||
border: 2px solid rgba(255,255,255,0.5);
|
||||
border-right: 0px;
|
||||
border-bottom: 0px;
|
||||
color: rgb(255, 255, 255);
|
||||
outline: none;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>-</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@ -4780,45 +5220,6 @@ outline: none;
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButtonUSB">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgba(186, 189, 182, 0.7);
|
||||
border-radius: 4px;
|
||||
border: 2px solid rgba(255,255,255,0.5);
|
||||
color: rgb(255, 255, 255);
|
||||
outline: none;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>USB</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButtonPlayerBack">
|
||||
<property name="sizePolicy">
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -106,32 +106,36 @@ border-color: rgb(186, 189, 182);
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButtonClose">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(186, 189, 182);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>OK</string>
|
||||
</property>
|
||||
</widget>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButtonClose">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color: rgb(186, 189, 182);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>OK</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
@ -122,8 +122,9 @@ int main(int argc, char* argv[])
|
||||
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::exit, []() { system("touch /tmp/shutdown"); std::exit(0); });
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::reboot, []() { system("touch /tmp/reboot"); std::exit(0); });
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::openSettings, &settingsWindow, &autoapp::ui::SettingsWindow::loadSystemValues);
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::openSettings, &settingsWindow, &autoapp::ui::SettingsWindow::showFullScreen);
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::openSettings, &settingsWindow, &autoapp::ui::SettingsWindow::show_tab1);
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::openSettings, &settingsWindow, &autoapp::ui::SettingsWindow::loadSystemValues);
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::openConnectDialog, &connectdialog, &autoapp::ui::ConnectDialog::loadClientList);
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::openConnectDialog, &connectdialog, &autoapp::ui::ConnectDialog::exec);
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::openUpdateDialog, &updatedialog, &autoapp::ui::UpdateDialog::updateCheck);
|
||||
@ -136,85 +137,69 @@ int main(int argc, char* argv[])
|
||||
}
|
||||
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::cameraHide, [&qApplication]() {
|
||||
#ifdef RASPBERRYPI3
|
||||
system("/opt/crankshaft/cameracontrol.py Background &");
|
||||
OPENAUTO_LOG(info) << "[CS] Ran RPiCameraControl script.";
|
||||
#else
|
||||
OPENAUTO_LOG(info) << "[CS] You are not running this on a Raspberry Pi, skipping Cam script.";
|
||||
#endif
|
||||
OPENAUTO_LOG(info) << "[Camera] Background.";
|
||||
});
|
||||
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::cameraShow, [&qApplication]() {
|
||||
#ifdef RASPBERRYPI3
|
||||
system("/opt/crankshaft/cameracontrol.py Foreground &");
|
||||
OPENAUTO_LOG(info) << "[CS] Ran RPiCameraControl script.";
|
||||
#else
|
||||
OPENAUTO_LOG(info) << "[CS] You are not running this on a Raspberry Pi, skipping Cam script.";
|
||||
#endif
|
||||
OPENAUTO_LOG(info) << "[Camera] Foreground.";
|
||||
});
|
||||
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::cameraPosYUp, [&qApplication]() {
|
||||
system("/opt/crankshaft/cameracontrol.py PosYUp &");
|
||||
OPENAUTO_LOG(info) << "[Camera] PosY up.";
|
||||
});
|
||||
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::cameraPosYDown, [&qApplication]() {
|
||||
system("/opt/crankshaft/cameracontrol.py PosYDown &");
|
||||
OPENAUTO_LOG(info) << "[Camera] PosY down.";
|
||||
});
|
||||
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::cameraZoomPlus, [&qApplication]() {
|
||||
system("/opt/crankshaft/cameracontrol.py ZoomPlus &");
|
||||
OPENAUTO_LOG(info) << "[Camera] Zoom plus.";
|
||||
});
|
||||
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::cameraZoomMinus, [&qApplication]() {
|
||||
system("/opt/crankshaft/cameracontrol.py ZoomMinus &");
|
||||
OPENAUTO_LOG(info) << "[Camera] Zoom minus.";
|
||||
});
|
||||
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::hideRearCam, [&qApplication]() {
|
||||
#ifdef RASPBERRYPI3
|
||||
system("/opt/crankshaft/cameracontrol.py DashcamMode &");
|
||||
system("sudo rm /tmp/rearcam_enabled &");
|
||||
OPENAUTO_LOG(info) << "[CS] Ran RPiCameraControl script.";
|
||||
#else
|
||||
OPENAUTO_LOG(info) << "[CS] You are not running this on a Raspberry Pi, skipping Cam script.";
|
||||
#endif
|
||||
OPENAUTO_LOG(info) << "[Camera] Dashcam mode.";
|
||||
});
|
||||
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::showRearCam, [&qApplication]() {
|
||||
#ifdef RASPBERRYPI3
|
||||
system("/opt/crankshaft/cameracontrol.py Rearcam &");
|
||||
OPENAUTO_LOG(info) << "[CS] Ran RPiCameraControl script.";
|
||||
#else
|
||||
OPENAUTO_LOG(info) << "[CS] You are not running this on a Raspberry Pi, skipping Cam script.";
|
||||
#endif
|
||||
OPENAUTO_LOG(info) << "[Camera] Rearcam mode.";
|
||||
});
|
||||
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::cameraRecord, [&qApplication]() {
|
||||
#ifdef RASPBERRYPI3
|
||||
system("/opt/crankshaft/cameracontrol.py Record &");
|
||||
OPENAUTO_LOG(info) << "[CS] Ran RPiCameraControl script.";
|
||||
#else
|
||||
OPENAUTO_LOG(info) << "[CS] You are not running this on a Raspberry Pi, skipping Cam script.";
|
||||
#endif
|
||||
OPENAUTO_LOG(info) << "[Camera] Record.";
|
||||
});
|
||||
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::cameraStop, [&qApplication]() {
|
||||
#ifdef RASPBERRYPI3
|
||||
system("/opt/crankshaft/cameracontrol.py Stop &");
|
||||
OPENAUTO_LOG(info) << "[CS] Ran RPiCameraControl script.";
|
||||
#else
|
||||
OPENAUTO_LOG(info) << "[CS] You are not running this on a Raspberry Pi, skipping Cam script.";
|
||||
#endif
|
||||
OPENAUTO_LOG(info) << "[Camera] Stop.";
|
||||
});
|
||||
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::cameraSave, [&qApplication]() {
|
||||
#ifdef RASPBERRYPI3
|
||||
system("/opt/crankshaft/cameracontrol.py Save &");
|
||||
OPENAUTO_LOG(info) << "[CS] Ran RPiCameraControl script.";
|
||||
#else
|
||||
OPENAUTO_LOG(info) << "[CS] You are not running this on a Raspberry Pi, skipping Cam script.";
|
||||
#endif
|
||||
OPENAUTO_LOG(info) << "[Camera] Save.";
|
||||
});
|
||||
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::TriggerScriptNight, [&qApplication]() {
|
||||
#ifdef RASPBERRYPI3
|
||||
system("/opt/crankshaft/service_daynight.sh app night");
|
||||
OPENAUTO_LOG(info) << "[CS] Run night script.";
|
||||
#else
|
||||
OPENAUTO_LOG(info) << "[CS] You are not running this on a Raspberry Pi, skipping Day/Night script.";
|
||||
#endif
|
||||
OPENAUTO_LOG(info) << "[MainWindow] Night.";
|
||||
});
|
||||
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::TriggerScriptDay, [&qApplication]() {
|
||||
#ifdef RASPBERRYPI3
|
||||
system("/opt/crankshaft/service_daynight.sh app day");
|
||||
OPENAUTO_LOG(info) << "[CS] Run day script.";
|
||||
#else
|
||||
OPENAUTO_LOG(info) << "[CS] You are not running this on a Raspberry Pi, skipping Day/Night script.";
|
||||
#endif
|
||||
OPENAUTO_LOG(info) << "[MainWindow] Day.";
|
||||
});
|
||||
|
||||
mainWindow.showFullScreen();
|
||||
@ -236,36 +221,46 @@ int main(int argc, char* argv[])
|
||||
});
|
||||
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::TriggerAppStart, [&app]() {
|
||||
OPENAUTO_LOG(info) << "[Autoapp] Manual start android auto entity by reset usb.";
|
||||
OPENAUTO_LOG(info) << "[Autoapp] Manual start android auto.";
|
||||
try {
|
||||
if (std::ifstream("/tmp/android_device")) {
|
||||
//system("/usr/local/bin/autoapp_helper usbreset");
|
||||
app->disableAutostartEntity = false;
|
||||
app->stop();
|
||||
app->waitForUSBDevice();
|
||||
}
|
||||
} catch (...) {
|
||||
OPENAUTO_LOG(info) << "[Autoapp] Exception in Manual start android auto entity by reset usb.";
|
||||
OPENAUTO_LOG(info) << "[Autoapp] Exception in Manual start android auto.";
|
||||
}
|
||||
});
|
||||
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::TriggerAppStop, [&app]() {
|
||||
OPENAUTO_LOG(info) << "[Autoapp] Manual stop android auto entity.";
|
||||
try {
|
||||
if (std::ifstream("/tmp/android_device")) {
|
||||
OPENAUTO_LOG(info) << "[Autoapp] Manual stop usb android auto.";
|
||||
app->disableAutostartEntity = true;
|
||||
system("/usr/local/bin/autoapp_helper usbreset");
|
||||
usleep(500000);
|
||||
usleep(1000000);
|
||||
app->stop();
|
||||
} else {
|
||||
OPENAUTO_LOG(info) << "[Autoapp] Manual stop wifi android auto.";
|
||||
app->stop();
|
||||
//app->onAndroidAutoQuit();
|
||||
}
|
||||
} catch (...) {
|
||||
OPENAUTO_LOG(info) << "[Autoapp] Exception in Manual stop android auto entity.";
|
||||
OPENAUTO_LOG(info) << "[Autoapp] Exception in manual stop android auto.";
|
||||
}
|
||||
});
|
||||
|
||||
warningdialog.show();
|
||||
QObject::connect(&mainWindow, &autoapp::ui::MainWindow::CloseAllDialogs, [&settingsWindow, &connectdialog, &updatedialog, &warningdialog]() {
|
||||
settingsWindow.close();
|
||||
connectdialog.close();
|
||||
warningdialog.close();
|
||||
updatedialog.close();
|
||||
OPENAUTO_LOG(info) << "[Autoapp] Close all possible open dialogs.";
|
||||
});
|
||||
|
||||
if (configuration->hideWarning() == false) {
|
||||
warningdialog.show();
|
||||
}
|
||||
|
||||
app->waitForUSBDevice();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user