diff --git a/include/f1x/openauto/autoapp/UI/MainWindow.hpp b/include/f1x/openauto/autoapp/UI/MainWindow.hpp index 3227837..2c82330 100644 --- a/include/f1x/openauto/autoapp/UI/MainWindow.hpp +++ b/include/f1x/openauto/autoapp/UI/MainWindow.hpp @@ -45,6 +45,7 @@ public: signals: void exit(); void openSettings(); + void toggleCursor(); private: Ui::MainWindow* ui_; diff --git a/src/autoapp/UI/MainWindow.cpp b/src/autoapp/UI/MainWindow.cpp index d3d8be7..8569c06 100644 --- a/src/autoapp/UI/MainWindow.cpp +++ b/src/autoapp/UI/MainWindow.cpp @@ -16,6 +16,7 @@ * along with openauto. If not, see . */ +#include #include #include "ui_mainwindow.h" @@ -35,6 +36,7 @@ MainWindow::MainWindow(QWidget *parent) ui_->setupUi(this); connect(ui_->pushButtonSettings, &QPushButton::clicked, this, &MainWindow::openSettings); connect(ui_->pushButtonExit, &QPushButton::clicked, this, &MainWindow::exit); + connect(ui_->pushButtonToggleCursor, &QPushButton::clicked, this, &MainWindow::toggleCursor); } MainWindow::~MainWindow() diff --git a/src/autoapp/UI/mainwindow.ui b/src/autoapp/UI/mainwindow.ui index 2a69fe4..8bf5291 100644 --- a/src/autoapp/UI/mainwindow.ui +++ b/src/autoapp/UI/mainwindow.ui @@ -189,6 +189,25 @@ color: rgb(238, 238, 236); <html><head/><body><p><span style=" font-style:italic;">AndroidAuto is registered trademark of Google Inc.</span></p></body></html> + + + + 630 + 290 + 161 + 41 + + + + Toggle cursor + + + false + + + false + + @@ -203,8 +222,9 @@ color: rgb(238, 238, 236); - pushButtonExit + pushButtonToggleCursor pushButtonSettings + pushButtonExit diff --git a/src/autoapp/USB/USBMain.cpp b/src/autoapp/USB/USBMain.cpp index a9cae6e..fefd64b 100644 --- a/src/autoapp/USB/USBMain.cpp +++ b/src/autoapp/USB/USBMain.cpp @@ -49,21 +49,26 @@ USBMain::USBMain(libusb_context* context) int USBMain::exec(int argc, char* argv[]) { QApplication qApplication(argc, argv); -#ifdef RASPBERRYPI3 - qApplication.setOverrideCursor(Qt::BlankCursor); -#endif ui::MainWindow mainWindow; mainWindow.setWindowFlags(Qt::WindowStaysOnTopHint); + ui::SettingsWindow settingsWindow(configuration_); settingsWindow.setWindowFlags(Qt::WindowStaysOnTopHint); QObject::connect(&mainWindow, &ui::MainWindow::exit, []() { std::exit(0); }); QObject::connect(&mainWindow, &ui::MainWindow::openSettings, &settingsWindow, &ui::SettingsWindow::showFullScreen); + + qApplication.setOverrideCursor(Qt::BlankCursor); + bool cursorVisible = false; + QObject::connect(&mainWindow, &ui::MainWindow::toggleCursor, [&cursorVisible, &qApplication]() { + cursorVisible = !cursorVisible; + qApplication.setOverrideCursor(cursorVisible ? Qt::ArrowCursor : Qt::BlankCursor); + }); + mainWindow.showFullScreen(); boost::asio::io_service::work work(ioService_); - this->startIOServiceWorkers(); this->startUSBWorkers(); usbApp_->start();