From f6e7f821fa3cb9f65d63851e9c90bc04afe99d35 Mon Sep 17 00:00:00 2001 From: "simon.fanetti" <simon.fanetti@etu.hesge.ch> Date: Wed, 3 Jun 2020 18:07:06 +0200 Subject: [PATCH] add screenshot of screens in setupapp + adjust destructors --- app/SandboxSetup/beamerlocationgui.cpp | 2 ++ app/SandboxSetup/camerafocus.cpp | 1 + app/SandboxSetup/croppingmask.cpp | 2 ++ app/SandboxSetup/initcamera.cpp | 5 +++-- app/SandboxSetup/mainwindow.cpp | 8 ++++++++ app/SandboxSetup/monitorgui.cpp | 11 ++++++++++- app/SandboxSetup/monitorgui.h | 1 + app/SandboxSetup/monitorgui.ui | 18 +++++++++++++++++- app/SandboxSetup/projectiongui.cpp | 2 ++ app/SandboxSetup/qtfullscreen.cpp | 6 ++++++ app/SandboxSetup/qtfullscreen.h | 1 + 11 files changed, 53 insertions(+), 4 deletions(-) diff --git a/app/SandboxSetup/beamerlocationgui.cpp b/app/SandboxSetup/beamerlocationgui.cpp index 1c1940c..ed095b8 100644 --- a/app/SandboxSetup/beamerlocationgui.cpp +++ b/app/SandboxSetup/beamerlocationgui.cpp @@ -20,6 +20,8 @@ BeamerLocationGui::BeamerLocationGui(SandboxSetup *_setup, MonitorGui *_mg, QWid BeamerLocationGui::~BeamerLocationGui() { + delete timer; + delete winFullScreen; delete ui; } diff --git a/app/SandboxSetup/camerafocus.cpp b/app/SandboxSetup/camerafocus.cpp index e71c0a0..7845814 100644 --- a/app/SandboxSetup/camerafocus.cpp +++ b/app/SandboxSetup/camerafocus.cpp @@ -16,6 +16,7 @@ CameraFocus::CameraFocus(SandboxSetup *sandbox, QWidget *parent) : CameraFocus::~CameraFocus() { + delete frameTimer; delete ui; } diff --git a/app/SandboxSetup/croppingmask.cpp b/app/SandboxSetup/croppingmask.cpp index b966c66..e2c984c 100644 --- a/app/SandboxSetup/croppingmask.cpp +++ b/app/SandboxSetup/croppingmask.cpp @@ -20,6 +20,8 @@ CroppingMask::CroppingMask(SandboxSetup *sandbox, MonitorGui *_mg, QWidget *pare CroppingMask::~CroppingMask() { + delete projBlueScreen; + delete maskEdit; delete ui; } diff --git a/app/SandboxSetup/initcamera.cpp b/app/SandboxSetup/initcamera.cpp index 9b73c0a..fc2caa2 100644 --- a/app/SandboxSetup/initcamera.cpp +++ b/app/SandboxSetup/initcamera.cpp @@ -31,10 +31,11 @@ InitCamera::InitCamera(SandboxSetup *_setup, QWidget *parent) : } InitCamera::~InitCamera() -{ - delete ui; +{ workerThread->quit(); workerThread->wait(); + delete workerThread; + delete ui; } void InitCamera::showEvent(QShowEvent *event){ diff --git a/app/SandboxSetup/mainwindow.cpp b/app/SandboxSetup/mainwindow.cpp index 4fc220d..6036ea7 100644 --- a/app/SandboxSetup/mainwindow.cpp +++ b/app/SandboxSetup/mainwindow.cpp @@ -36,6 +36,14 @@ MainWindow::MainWindow(QWidget *parent) : MainWindow::~MainWindow() { + delete scfg; + delete bl; + delete cm; + delete cf; + delete pg; + delete mg; + delete init; + delete setup; delete ui; } diff --git a/app/SandboxSetup/monitorgui.cpp b/app/SandboxSetup/monitorgui.cpp index 594ac11..0c7d2d2 100644 --- a/app/SandboxSetup/monitorgui.cpp +++ b/app/SandboxSetup/monitorgui.cpp @@ -22,11 +22,13 @@ MonitorGui::MonitorGui(SandboxSetup *_setup, QWidget *parent) : if(screens.size() > 0){ loadResolutionsOf(screens[0]); + showMonitorsScreenshot(screens[0]); } } MonitorGui::~MonitorGui() { + delete resolution; delete ui; } @@ -73,7 +75,9 @@ QScreen* MonitorGui::getMonitor(){ void MonitorGui::on_cbxOutputs_currentIndexChanged(int index) { QList<QScreen*> screens = QApplication::screens(); - loadResolutionsOf(screens[index]); + QScreen *sc = screens[index]; + loadResolutionsOf(sc); + showMonitorsScreenshot(sc); } @@ -139,3 +143,8 @@ void MonitorGui::loadResolutionsFromFile(std::string path){ } } } + +void MonitorGui::showMonitorsScreenshot(QScreen *screen){ + QPixmap px = screen->grabWindow(0); + ui->lblScreenshot->setPixmap(px); +} diff --git a/app/SandboxSetup/monitorgui.h b/app/SandboxSetup/monitorgui.h index b26d82f..6d9c085 100644 --- a/app/SandboxSetup/monitorgui.h +++ b/app/SandboxSetup/monitorgui.h @@ -53,6 +53,7 @@ private: bool isResolution(std::string s); void loadResolutionsFromFile(std::string path); void initMonitorMapWithFile(std::string path); + void showMonitorsScreenshot(QScreen *screen); }; #endif // MONITORGUI_H diff --git a/app/SandboxSetup/monitorgui.ui b/app/SandboxSetup/monitorgui.ui index c2ee6eb..d3c56cb 100644 --- a/app/SandboxSetup/monitorgui.ui +++ b/app/SandboxSetup/monitorgui.ui @@ -6,7 +6,7 @@ <rect> <x>0</x> <y>0</y> - <width>400</width> + <width>617</width> <height>300</height> </rect> </property> @@ -59,6 +59,22 @@ </rect> </property> </widget> + <widget class="QLabel" name="lblScreenshot"> + <property name="geometry"> + <rect> + <x>300</x> + <y>50</y> + <width>291</width> + <height>191</height> + </rect> + </property> + <property name="text"> + <string/> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + </widget> </widget> <resources/> <connections/> diff --git a/app/SandboxSetup/projectiongui.cpp b/app/SandboxSetup/projectiongui.cpp index d4d7562..c537ba1 100644 --- a/app/SandboxSetup/projectiongui.cpp +++ b/app/SandboxSetup/projectiongui.cpp @@ -23,6 +23,8 @@ void ProjectionGui::closeEvent(QCloseEvent *event){ ProjectionGui::~ProjectionGui() { + delete frameTimer; + delete blueScreen; delete ui; } diff --git a/app/SandboxSetup/qtfullscreen.cpp b/app/SandboxSetup/qtfullscreen.cpp index d652952..d4e20c5 100644 --- a/app/SandboxSetup/qtfullscreen.cpp +++ b/app/SandboxSetup/qtfullscreen.cpp @@ -14,6 +14,12 @@ QtFullScreen::QtFullScreen(QRect _resolution, bool _isBorderless, QWidget *paren image->setScaledContents(true); } +QtFullScreen::~QtFullScreen() +{ + delete image; + delete win; +} + void QtFullScreen::showEvent(QShowEvent* event){ QWidget::showEvent( event ); diff --git a/app/SandboxSetup/qtfullscreen.h b/app/SandboxSetup/qtfullscreen.h index 1a2a825..0a31916 100644 --- a/app/SandboxSetup/qtfullscreen.h +++ b/app/SandboxSetup/qtfullscreen.h @@ -12,6 +12,7 @@ class QtFullScreen : public QWidget Q_OBJECT public: explicit QtFullScreen(QRect resolution, bool isBorderless=false, QWidget *parent = nullptr); + ~QtFullScreen(); void imShow(cv::Mat frame); void close(); void setGeometry(QRect resolution); -- GitLab