Skip to content
Snippets Groups Projects
Verified Commit e80b5aea authored by Burak Hançerli's avatar Burak Hançerli :headphones:
Browse files

fix: add camera permission requester

parent 06255f86
No related branches found
No related tags found
1 merge request!28QDS-11412 Implement built-in QR code reader
Pipeline #66036 passed
......@@ -5,7 +5,6 @@
<!-- %%INSERT_FEATURES -->
<supports-screens android:anyDensity="true" android:largeScreens="true"
android:normalScreens="true" android:smallScreens="true" />
<application android:name="org.qtproject.qt.android.bindings.QtApplication"
android:extractNativeLibs="true" android:hardwareAccelerated="true"
android:label="Qt UI Viewer" android:requestLegacyExternalStorage="true"
......
variables:
QDS_CI_QT_VERSION:
value: "652"
value: "661"
options:
- "643"
- "652"
- "661"
description: "Qt version for build"
QDS_CI_ARTIFACTS_PATH: "${CI_PROJECT_DIR}/artifacts"
DEBIAN_FRONTEND: non-interactive
......
......@@ -117,7 +117,6 @@ void Backend::scanQrCode()
m_captureSession->setVideoOutput(new CustomVideoWidget);
m_captureSession->camera()->setFocusMode(QCamera::FocusModeAuto);
m_captureSession->camera()->start();
CustomVideoWidget *videoWidget = qobject_cast<CustomVideoWidget *>(
m_captureSession->videoOutput());
......@@ -152,6 +151,7 @@ void Backend::scanQrCode()
});
videoWidget->show();
m_captureSession->camera()->start();
}
void Backend::cacheDemoProjects(const bool &enabled)
......
......@@ -27,6 +27,7 @@
#include <QApplication>
#include <QMessageBox>
#include <QPermission>
#include <QQmlContext>
#include "backend.h"
......@@ -84,6 +85,25 @@ int main(int argc, char *argv[])
QQuickView view;
backend = new Backend();
// request permissions
QCameraPermission permission;
switch (app.checkPermission(permission)) {
case Qt::PermissionStatus::Granted:
break;
case Qt::PermissionStatus::Undetermined:
case Qt::PermissionStatus::Denied:
app.requestPermission(permission, [](const QPermission &permission) {
if (permission.status() == Qt::PermissionStatus::Denied) {
QMessageBox msgBox{QMessageBox::Critical,
"Critical:",
"Camera permission denied",
QMessageBox::Ok};
msgBox.exec();
}
});
break;
}
view.engine()->rootContext()->setContextProperty("backend", backend);
view.setSource(QUrl(QStringLiteral("qrc:/main.qml")));
view.setResizeMode(QQuickView::SizeRootObjectToView);
......
......@@ -40,7 +40,11 @@
#include <QStandardPaths>
#include <QTemporaryDir>
#include <QTemporaryFile>
#if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
#include <QtCore/private/qzipreader_p.h>
#else
#include <QtGui/private/qzipreader_p.h>
#endif
ProjectManager::ProjectManager(QObject *parent)
: QObject(parent)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment