From 77d6ea6bec1052ed9a70b184fcfe55eeb2e59de9 Mon Sep 17 00:00:00 2001 From: NissimHadar Date: Thu, 24 May 2018 16:48:03 -0700 Subject: [PATCH] Added hide/show for task bar (Windows only). --- .../src/scripting/TestScriptingInterface.cpp | 5 ++++ .../src/scripting/TestScriptingInterface.h | 5 ++++ .../src/ui-plugins/PluginContainer.cpp | 1 + tools/auto-tester/src/ui/AutoTester.cpp | 30 +++++++++++++++++++ tools/auto-tester/src/ui/AutoTester.h | 4 +++ tools/auto-tester/src/ui/AutoTester.ui | 26 ++++++++++++++++ 6 files changed, 71 insertions(+) diff --git a/interface/src/scripting/TestScriptingInterface.cpp b/interface/src/scripting/TestScriptingInterface.cpp index 700994c517..430441226f 100644 --- a/interface/src/scripting/TestScriptingInterface.cpp +++ b/interface/src/scripting/TestScriptingInterface.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -186,3 +187,7 @@ void TestScriptingInterface::saveObject(QVariant variant, const QString& filenam file.write(jsonData); file.close(); } + +void TestScriptingInterface::showMaximized() { + qApp->getWindow()->showMaximized(); +} \ No newline at end of file diff --git a/interface/src/scripting/TestScriptingInterface.h b/interface/src/scripting/TestScriptingInterface.h index 5666417727..282983cec9 100644 --- a/interface/src/scripting/TestScriptingInterface.h +++ b/interface/src/scripting/TestScriptingInterface.h @@ -91,6 +91,11 @@ public slots: */ void saveObject(QVariant v, const QString& filename); + /**jsdoc + * Maximizes the window + */ + void showMaximized(); + private: bool waitForCondition(qint64 maxWaitMs, std::function condition); QString _testResultsLocation; diff --git a/libraries/ui-plugins/src/ui-plugins/PluginContainer.cpp b/libraries/ui-plugins/src/ui-plugins/PluginContainer.cpp index 58dc971cb9..8d4a87f4b0 100644 --- a/libraries/ui-plugins/src/ui-plugins/PluginContainer.cpp +++ b/libraries/ui-plugins/src/ui-plugins/PluginContainer.cpp @@ -204,6 +204,7 @@ void PluginContainer::setFullscreen(const QScreen* target, bool hideMenu) { #endif } +#pragma optimize("", off) void PluginContainer::unsetFullscreen(const QScreen* avoid) { auto _window = getPrimaryWindow(); _window->showNormal(); diff --git a/tools/auto-tester/src/ui/AutoTester.cpp b/tools/auto-tester/src/ui/AutoTester.cpp index ea2633edf4..abc84f2d5f 100644 --- a/tools/auto-tester/src/ui/AutoTester.cpp +++ b/tools/auto-tester/src/ui/AutoTester.cpp @@ -10,6 +10,11 @@ // #include "AutoTester.h" +#ifdef Q_OS_WIN +#include +#include +#endif + AutoTester::AutoTester(QWidget *parent) : QMainWindow(parent) { ui.setupUi(this); ui.checkBoxInteractiveMode->setChecked(true); @@ -20,6 +25,11 @@ AutoTester::AutoTester(QWidget *parent) : QMainWindow(parent) { connect(ui.actionClose, &QAction::triggered, this, &AutoTester::on_closeButton_clicked); connect(ui.actionAbout, &QAction::triggered, this, &AutoTester::about); +#ifndef Q_OS_WIN + ui.hideTaskbarButton->setVisible(false); + ui.showTaskbarButton->setVisible(false); +#endif + test = new Test(); } @@ -56,6 +66,26 @@ void AutoTester::on_createTestsOutlineButton_clicked() { test->createTestsOutline(); } +void AutoTester::on_showTaskbarButton_clicked() { +#ifdef Q_OS_WIN + APPBARDATA abd = { sizeof abd }; + UINT uState = (UINT)SHAppBarMessage(ABM_GETSTATE, &abd); + LPARAM param = uState & ABS_ALWAYSONTOP; + abd.lParam = param; + SHAppBarMessage(ABM_SETSTATE, &abd); +#endif +} + +void AutoTester::on_hideTaskbarButton_clicked() { +#ifdef Q_OS_WIN + APPBARDATA abd = { sizeof abd }; + UINT uState = (UINT)SHAppBarMessage(ABM_GETSTATE, &abd); + LPARAM param = uState & ABS_ALWAYSONTOP; + abd.lParam = ABS_AUTOHIDE | param; + SHAppBarMessage(ABM_SETSTATE, &abd); +#endif +} + void AutoTester::on_closeButton_clicked() { exit(0); } diff --git a/tools/auto-tester/src/ui/AutoTester.h b/tools/auto-tester/src/ui/AutoTester.h index 5991afed1b..a4709dffeb 100644 --- a/tools/auto-tester/src/ui/AutoTester.h +++ b/tools/auto-tester/src/ui/AutoTester.h @@ -36,6 +36,10 @@ private slots: void on_createMDFileButton_clicked(); void on_createAllMDFilesButton_clicked(); void on_createTestsOutlineButton_clicked(); + + void on_showTaskbarButton_clicked(); + void on_hideTaskbarButton_clicked(); + void on_closeButton_clicked(); void saveImage(int index); diff --git a/tools/auto-tester/src/ui/AutoTester.ui b/tools/auto-tester/src/ui/AutoTester.ui index c9ea229012..236138acf4 100644 --- a/tools/auto-tester/src/ui/AutoTester.ui +++ b/tools/auto-tester/src/ui/AutoTester.ui @@ -147,6 +147,32 @@ Create Tests Outline + + + + 490 + 280 + 91 + 40 + + + + Show Taskbar + + + + + + 490 + 230 + 91 + 40 + + + + Hide Taskbar + +