From 3a59525055edc5598d424d7d371e5017c0b0b104 Mon Sep 17 00:00:00 2001 From: hawkeyexp Date: Sat, 16 Jun 2018 02:01:50 +0200 Subject: [PATCH] [gui][script] Dashcam / Reworks --- assets/bg_buttons.png | Bin 0 -> 4056 bytes assets/bg_dashcam.png | Bin 0 -> 5547 bytes assets/record-hot.png | Bin 0 -> 3285 bytes assets/resources.qrc | 5 + assets/save-hot.png | Bin 0 -> 3278 bytes assets/stop-hot.png | Bin 0 -> 3037 bytes .../f1x/openauto/autoapp/UI/MainWindow.hpp | 11 +- src/autoapp/UI/MainWindow.cpp | 49 +++++- src/autoapp/UI/mainwindow.ui | 146 +++++++++++++----- src/autoapp/autoapp.cpp | 42 ++++- 10 files changed, 211 insertions(+), 42 deletions(-) create mode 100644 assets/bg_buttons.png create mode 100644 assets/bg_dashcam.png create mode 100644 assets/record-hot.png create mode 100644 assets/save-hot.png create mode 100644 assets/stop-hot.png diff --git a/assets/bg_buttons.png b/assets/bg_buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..49cab1ca0df827693d873a9b5da9f7f3372fdb62 GIT binary patch literal 4056 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 literal 0 HcmV?d00001 diff --git a/assets/bg_dashcam.png b/assets/bg_dashcam.png new file mode 100644 index 0000000000000000000000000000000000000000..238d20755a26d3059bf4949c2df9f15b1b5fb4bc GIT binary patch literal 5547 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 KG%VJ4zVv^h3r4d5 literal 0 HcmV?d00001 diff --git a/assets/record-hot.png b/assets/record-hot.png new file mode 100644 index 0000000000000000000000000000000000000000..14a339d43f1242ce1baa541d3200ce3bf76fbbf6 GIT binary patch literal 3285 zcmV;`3@Y=9P)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z00062Nklb1zW67}rvte*KHO$f6y-`UCT%l>(qmQ9giTz^7ky5xnbK z;EL{{g>RK`bSB`V7^(w{_&MHwvbO6kjryntTXdTxRfjgK)@IAOw|YDt=6!*6V4I&^ zkT`NZ-F+^D-&LC;$bZ02F`%Pyh-bo%$RAv9J{5 Taea|w00000NkvXXu0mjf$#?_@ literal 0 HcmV?d00001 diff --git a/assets/resources.qrc b/assets/resources.qrc index f9f36ed..48d1528 100644 --- a/assets/resources.qrc +++ b/assets/resources.qrc @@ -18,5 +18,10 @@ day-hot.png night-hot.png slider.png + bg_dashcam.png + bg_buttons.png + record-hot.png + stop-hot.png + save-hot.png diff --git a/assets/save-hot.png b/assets/save-hot.png new file mode 100644 index 0000000000000000000000000000000000000000..a2382fc0732554890b0c1861a8705e5cebd42ca5 GIT binary patch literal 3278 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 M07*qoM6N<$f)W-6s{jB1 literal 0 HcmV?d00001 diff --git a/assets/stop-hot.png b/assets/stop-hot.png new file mode 100644 index 0000000000000000000000000000000000000000..cba734aa6028a7e2045fb5662c92fb8ed87daf71 GIT binary patch literal 3037 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 R_P==@80neo)j{tw4>jcxz{ literal 0 HcmV?d00001 diff --git a/include/f1x/openauto/autoapp/UI/MainWindow.hpp b/include/f1x/openauto/autoapp/UI/MainWindow.hpp index 4e4f969..97d5395 100644 --- a/include/f1x/openauto/autoapp/UI/MainWindow.hpp +++ b/include/f1x/openauto/autoapp/UI/MainWindow.hpp @@ -50,7 +50,11 @@ signals: void toggleCursor(); void TriggerScriptDay(); void TriggerScriptNight(); - void toggleCamera(); + void cameraShow(); + void cameraHide(); + void cameraStop(); + void cameraSave(); + void cameraRecord(); void openConnectDialog(); void showBrightnessSlider(); @@ -62,6 +66,8 @@ private slots: void switchGuiToDay(); void switchGuiToNight(); void showTime(); + void cameraControlShow(); + void cameraControlHide(); private: Ui::MainWindow* ui_; @@ -78,6 +84,9 @@ private: bool wallpaperNightFileExists = false; bool wallpaperDevFileExists = false; bool wallpaperDevNightFileExists = false; + + bool masterButtonBGState = false; + bool dashcamBGState = false; }; } diff --git a/src/autoapp/UI/MainWindow.cpp b/src/autoapp/UI/MainWindow.cpp index e1a62b1..002b7df 100644 --- a/src/autoapp/UI/MainWindow.cpp +++ b/src/autoapp/UI/MainWindow.cpp @@ -90,7 +90,13 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi ui_->setupUi(this); connect(ui_->pushButtonSettings, &QPushButton::clicked, this, &MainWindow::openSettings); connect(ui_->pushButtonExit, &QPushButton::clicked, this, &MainWindow::exit); - connect(ui_->pushButtonToggleCamera, &QPushButton::clicked, this, &MainWindow::toggleCamera); + connect(ui_->pushButtonCameraShow, &QPushButton::clicked, this, &MainWindow::cameraShow); + connect(ui_->pushButtonCameraShow, &QPushButton::clicked, this, &MainWindow::cameraControlShow); + connect(ui_->pushButtonCameraHide, &QPushButton::clicked, this, &MainWindow::cameraHide); + connect(ui_->pushButtonCameraHide, &QPushButton::clicked, this, &MainWindow::cameraControlHide); + 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_->pushButtonToggleCursor, &QPushButton::clicked, this, &MainWindow::toggleCursor); connect(ui_->pushButtonDay, &QPushButton::clicked, this, &MainWindow::TriggerScriptDay); connect(ui_->pushButtonDay, &QPushButton::clicked, this, &MainWindow::switchGuiToDay); @@ -119,8 +125,19 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi ui_->pushButtonToggleCursor->hide(); } + QPixmap image; + image.load(":/bg_buttons.png"); + ui_->masterButtonBG->setPixmap(image); + ui_->pushButtonStop->hide(); + ui_->pushButtonRecord->hide(); + ui_->pushButtonSave->hide(); + if (!cameraButtonForce) { - ui_->pushButtonToggleCamera->hide(); + ui_->pushButtonCameraShow->hide(); + ui_->pushButtonCameraHide->hide(); + } else { + ui_->pushButtonCameraShow->show(); + ui_->pushButtonCameraHide->hide(); } if (!wifiButtonForce) { @@ -136,7 +153,7 @@ MainWindow::MainWindow(configuration::IConfiguration::Pointer configuration, QWi ui_->horizontalSliderBrightness->hide(); if (!configuration->showClock()) { - ui_->Digital_clock->hide(); + ui_->Digital_clock->hide(); } // init bg's on startup @@ -185,6 +202,7 @@ void f1x::openauto::autoapp::ui::MainWindow::on_pushButtonBrightness_clicked() { this->brightnessSliderVisible = !this->brightnessSliderVisible; if (this->brightnessSliderVisible) { + f1x::openauto::autoapp::ui::MainWindow::cameraControlHide(); // Get the current brightness value this->brightnessFile = new QFile(this->brightnessFilename); if (this->brightnessFile->open(QIODevice::ReadOnly)) { @@ -261,6 +279,31 @@ void f1x::openauto::autoapp::ui::MainWindow::switchGuiToDay() } } +void f1x::openauto::autoapp::ui::MainWindow::cameraControlHide() +{ + ui_->pushButtonCameraHide->hide(); + ui_->pushButtonStop->hide(); + ui_->pushButtonRecord->hide(); + ui_->pushButtonSave->hide(); + ui_->dashcamBG->hide(); + this->dashcamBGState = false; + ui_->pushButtonCameraShow->show(); +} + +void f1x::openauto::autoapp::ui::MainWindow::cameraControlShow() +{ + ui_->pushButtonCameraShow->hide(); + QPixmap image; + image.load(":/bg_dashcam.png"); + ui_->dashcamBG->setPixmap(image); + ui_->dashcamBG->show(); + ui_->pushButtonStop->show(); + ui_->pushButtonRecord->show(); + ui_->pushButtonSave->show(); + this->dashcamBGState = true; + ui_->pushButtonCameraHide->show(); +} + void f1x::openauto::autoapp::ui::MainWindow::showTime() { QTime time=QTime::currentTime(); diff --git a/src/autoapp/UI/mainwindow.ui b/src/autoapp/UI/mainwindow.ui index 8daa900..534a304 100644 --- a/src/autoapp/UI/mainwindow.ui +++ b/src/autoapp/UI/mainwindow.ui @@ -14,6 +14,16 @@ MainWindow + + + + 20 + 20 + 640 + 440 + + + @@ -43,12 +53,6 @@ 64 - - false - - - false - true @@ -101,12 +105,6 @@ 64 - - false - - - false - true @@ -136,12 +134,6 @@ 64 - - false - - - false - true @@ -171,12 +163,6 @@ 64 - - false - - - false - true @@ -200,12 +186,6 @@ 64 - - false - - - false - true @@ -235,7 +215,7 @@ Qt::Horizontal - + 30 @@ -254,8 +234,28 @@ 64 - - false + + true + + + + + + 30 + 314 + 64 + 64 + + + + + :/camera-hot.png:/camera-hot.png + + + + 64 + 64 + true @@ -280,8 +280,84 @@ 64 - - false + + true + + + + + + 130 + 20 + 640 + 440 + + + + + + + 146 + 384 + 64 + 64 + + + + + :/stop-hot.png:/stop-hot.png + + + + 64 + 64 + + + + true + + + + + + 216 + 384 + 64 + 64 + + + + + :/record-hot.png:/record-hot.png + + + + 64 + 64 + + + + true + + + + + + 690 + 384 + 64 + 64 + + + + + :/save-hot.png:/save-hot.png + + + + 64 + 64 + true diff --git a/src/autoapp/autoapp.cpp b/src/autoapp/autoapp.cpp index 5f8cc2d..0c4b5e7 100644 --- a/src/autoapp/autoapp.cpp +++ b/src/autoapp/autoapp.cpp @@ -110,10 +110,46 @@ int main(int argc, char* argv[]) qApplication.setOverrideCursor(cursor); }); - QObject::connect(&mainWindow, &autoapp::ui::MainWindow::toggleCamera, [&qApplication]() { + QObject::connect(&mainWindow, &autoapp::ui::MainWindow::cameraHide, [&qApplication]() { #ifdef RASPBERRYPI3 - system("/opt/crankshaft/toggle_rpicam.sh &"); - OPENAUTO_LOG(info) << "[CS] Ran RPiCam script."; + 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 + }); + + 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 + }); + + 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 + }); + + 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 + }); + + 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