From eca086ef95c1ca8f7913ffcb8c8fab5cb6bd10d9 Mon Sep 17 00:00:00 2001 From: Arisotura Date: Mon, 26 Sep 2022 22:42:15 +0200 Subject: [PATCH] try to unfuck it for Qt6 --- .github/workflows/build-macos-universal.yml | 4 ++-- src/frontend/qt_sdl/CameraManager.h | 7 ++++++- src/frontend/qt_sdl/CameraSettingsDialog.cpp | 20 ++++++++++++++++++++ 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-macos-universal.yml b/.github/workflows/build-macos-universal.yml index 726761b2..0f0089f3 100644 --- a/.github/workflows/build-macos-universal.yml +++ b/.github/workflows/build-macos-universal.yml @@ -31,7 +31,7 @@ jobs: - name: Configure working-directory: ${{runner.workspace}}/build/arm64 - run: arch -arm64 ${{env.homebrew_prefix}}/bin/cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_PREFIX_PATH="${{env.homebrew_prefix}}/opt/qt@6;${{env.homebrew_prefix}}/opt/qtmultimedia@6;${{env.homebrew_prefix}}/opt/libarchive" -DPKG_CONFIG_EXECUTABLE=${{env.homebrew_prefix}}/bin/pkg-config -DMACOS_BUNDLE_LIBS=ON -DUSE_QT6=ON + run: arch -arm64 ${{env.homebrew_prefix}}/bin/cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_PREFIX_PATH="${{env.homebrew_prefix}}/opt/qt@6;${{env.homebrew_prefix}}/opt/libarchive" -DPKG_CONFIG_EXECUTABLE=${{env.homebrew_prefix}}/bin/pkg-config -DMACOS_BUNDLE_LIBS=ON -DUSE_QT6=ON - name: Make working-directory: ${{runner.workspace}}/build/arm64 @@ -49,7 +49,7 @@ jobs: - name: Configure working-directory: ${{runner.workspace}}/build/x86_64 - run: arch -x86_64 ${{env.homebrew_prefix}}/bin/cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_PREFIX_PATH="${{env.homebrew_prefix}}/opt/qt@6;${{env.homebrew_prefix}}/opt/qtmultimedia@6;${{env.homebrew_prefix}}/opt/libarchive" -DPKG_CONFIG_EXECUTABLE=${{env.homebrew_prefix}}/bin/pkg-config -DMACOS_BUNDLE_LIBS=ON -DUSE_QT6=ON + run: arch -x86_64 ${{env.homebrew_prefix}}/bin/cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_PREFIX_PATH="${{env.homebrew_prefix}}/opt/qt@6;${{env.homebrew_prefix}}/opt/libarchive" -DPKG_CONFIG_EXECUTABLE=${{env.homebrew_prefix}}/bin/pkg-config -DMACOS_BUNDLE_LIBS=ON -DUSE_QT6=ON - name: Make working-directory: ${{runner.workspace}}/build/x86_64 diff --git a/src/frontend/qt_sdl/CameraManager.h b/src/frontend/qt_sdl/CameraManager.h index ec882930..83cceaf7 100644 --- a/src/frontend/qt_sdl/CameraManager.h +++ b/src/frontend/qt_sdl/CameraManager.h @@ -20,7 +20,12 @@ #define CAMERAMANAGER_H #include -#include +#if QT_VERSION >= 0x060000 + #include + #include +#else + #include +#endif #include #include #include diff --git a/src/frontend/qt_sdl/CameraSettingsDialog.cpp b/src/frontend/qt_sdl/CameraSettingsDialog.cpp index 9830c662..ac195fd8 100644 --- a/src/frontend/qt_sdl/CameraSettingsDialog.cpp +++ b/src/frontend/qt_sdl/CameraSettingsDialog.cpp @@ -78,6 +78,25 @@ CameraSettingsDialog::CameraSettingsDialog(QWidget* parent) : QDialog(parent), u ui->cbCameraSel->addItem("DSi outer camera"); ui->cbCameraSel->addItem("DSi inner camera"); +#if QT_VERSION >= 0x060000 + const QList cameras = QMediaDevices::videoInputs(); + for (const QCameraDevice &cameraInfo : cameras) + { + QString name = cameraInfo.description(); + QCameraDevice::Position pos = cameraInfo.position(); + if (pos != QCameraDevice::UnspecifiedPosition) + { + name += " ("; + if (pos == QCameraDevice::FrontFace) + name += "inner camera"; + else if (pos == QCameraDevice::BackFace) + name += "outer camera"; + name += ")"; + } + + ui->cbPhysicalCamera->addItem(name, QString(cameraInfo.id())); + } +#else const QList cameras = QCameraInfo::availableCameras(); for (const QCameraInfo &cameraInfo : cameras) { @@ -95,6 +114,7 @@ CameraSettingsDialog::CameraSettingsDialog(QWidget* parent) : QDialog(parent), u ui->cbPhysicalCamera->addItem(name, cameraInfo.deviceName()); } +#endif ui->rbPictureCamera->setEnabled(ui->cbPhysicalCamera->count() > 0); grpInputType = new QButtonGroup(this);