fix screenshot artifacts

This commit is contained in:
Rick Vogel 2023-04-04 10:23:44 +02:00
parent 87987c8f3b
commit 370509969f
3 changed files with 23 additions and 3 deletions

View File

@ -375,18 +375,23 @@ jobs:
- name: Smoke test ( QSkinny ) on MacOS
if: startsWith(matrix.config.name, 'macOS')
env:
QT_DEBUG_PLUGINS: "1"
run: |
echo "starting iotdashboard"
DYLD_LIBRARY_PATH=./qskinny_install/lib:./qskinny_install/plugins/skins ./qskinny_build/examples/bin/iotdashboard.app/Contents/MacOS/iotdashboard -qwindowgeometry 1024x600+75+100 --screenshot &
DYLD_LIBRARY_PATH=./qskinny_install/lib:./qskinny_install/plugins/skins ./qskinny_build/examples/bin/iotdashboard.app/Contents/MacOS/iotdashboard -qwindowgeometry 1024x600+75+100 --screenshot ${{ matrix.config.screenshot_filename }} &
sleep 10
# TODO remove 'qskinny_build\skins\material3\Release' when skin install is fixed
- name: Smoke Test ( QSkinny ) on Windows
if: startsWith(matrix.config.name, 'Windows')
env:
QT_DEBUG_PLUGINS: "1"
run: |
$env:Path += ";./qskinny_install/bin;./qskinny_install/lib;./qskinny_install/plugins/skins;./qskinny_build/skins/material3/Release;./qskinny_build/skins/squiek/Release"
echo "starting iotdashboard"
Start-Process qskinny_build\examples\bin\Release\iotdashboard.exe -ArgumentList "-qwindowgeometry 1024x600+0+0" --screenshot
Start-Process qskinny_build\examples\bin\Release\iotdashboard.exe -ArgumentList "-qwindowgeometry 1024x600+0+0 --screenshot ${{ matrix.config.screenshot_filename }}"
Start-Sleep -Seconds 10
- name: Smoke test ( QSkinny ) on Ubuntu
if: startsWith(matrix.config.name, 'Ubuntu')
@ -398,7 +403,7 @@ jobs:
Xvfb :1 &
sleep 10
echo starting iotdashboard
./qskinny_build/examples/bin/iotdashboard &
./qskinny_build/examples/bin/iotdashboard --screenshot ${{ matrix.config.screenshot_filename }} &
sleep 10
- uses: actions/upload-artifact@v3

1
.gitignore vendored
View File

@ -15,3 +15,4 @@ qskinny.pro.user
html
tags
.vscode
CMakeLists.txt.user

View File

@ -19,6 +19,7 @@
#include <QskObjectCounter.h>
#include <QGuiApplication>
#include <QTimer>
namespace
{
@ -86,6 +87,19 @@ int main( int argc, char* argv[] )
MainWindow window;
window.show();
for(int i = 1; i < argc; ++i)
{
if(argv[i] == QStringLiteral("--screenshot") && i + 1 < argc)
{
QTimer::singleShot(500, &window, [&app, &window, filename = QString(argv[i + 1])](){
auto image = window.grabWindow();
image.save(filename);
app.exit();
});
break;
}
}
return app.exec();
}