1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include <QGuiApplication>
#include <QQmlEngine>
#include <QQuickView>
#if QT_CONFIG(permissions)
#include <QPermission>
#endif
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQuickView view;
view.setResizeMode(QQuickView::SizeRootObjectToView);
auto setupView = [&view](const QUrl &viewSource) {
// Qt.quit() called in embedded .qml by default only emits
// quit() signal, so do this (optionally use Qt.exit()).
QObject::connect(view.engine(), &QQmlEngine::quit, qApp, &QGuiApplication::quit);
view.setSource(viewSource);
view.show();
};
#if QT_CONFIG(permissions)
QCameraPermission cameraPermission;
qApp->requestPermission(cameraPermission, [&setupView](const QPermission &permission) {
if (permission.status() == Qt::PermissionStatus::Denied)
setupView(QUrl("qrc:///permission-denied.qml"));
else
setupView(QUrl("qrc:///declarative-camera.qml"));
});
#else
setupView();
#endif
return app.exec();
}
|