From e4125863f0cf2736d933e514762f898752c901e5 Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Mon, 7 Nov 2022 16:26:12 +0200 Subject: [PATCH] Add permissions feature example and manual test to the build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit And add license headers and some minor fixes for warnings in the example and test. Task-number: QTBUG-90498 Change-Id: I34592f7f2844c92c25a6a676c8ac1ffca9e03c6d Reviewed-by: Tor Arne Vestbø Reviewed-by: Timur Pocheptsov --- examples/corelib/CMakeLists.txt | 3 +++ examples/corelib/permissions/CMakeLists.txt | 3 +++ examples/corelib/permissions/main.cpp | 5 +++-- tests/manual/CMakeLists.txt | 3 +++ tests/manual/permissions/CMakeLists.txt | 2 ++ tests/manual/permissions/tst_qpermissions.cpp | 2 +- 6 files changed, 15 insertions(+), 3 deletions(-) diff --git a/examples/corelib/CMakeLists.txt b/examples/corelib/CMakeLists.txt index 7b0aad9d82b..638db2dda9e 100644 --- a/examples/corelib/CMakeLists.txt +++ b/examples/corelib/CMakeLists.txt @@ -6,6 +6,9 @@ add_subdirectory(mimetypes) add_subdirectory(serialization) add_subdirectory(tools) add_subdirectory(platform) +if(QT_FEATURE_permissions) + add_subdirectory(permissions) +endif() if(QT_FEATURE_thread) add_subdirectory(threads) endif() diff --git a/examples/corelib/permissions/CMakeLists.txt b/examples/corelib/permissions/CMakeLists.txt index 7204947ff5c..69f91d519fc 100644 --- a/examples/corelib/permissions/CMakeLists.txt +++ b/examples/corelib/permissions/CMakeLists.txt @@ -1,3 +1,6 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + cmake_minimum_required(VERSION 3.16) project(permissions LANGUAGES CXX) diff --git a/examples/corelib/permissions/main.cpp b/examples/corelib/permissions/main.cpp index 29e26b0b59b..b2f4d942f13 100644 --- a/examples/corelib/permissions/main.cpp +++ b/examples/corelib/permissions/main.cpp @@ -29,7 +29,7 @@ public: }; for (auto permission : permissions) { - auto permissionName = QString::fromLatin1(permission.name()); + auto permissionName = QString::fromLatin1(permission.type().name()); QPushButton *button = new QPushButton(permissionName.sliced(1, permissionName.length() - 11)); connect(button, &QPushButton::clicked, this, &PermissionWidget::buttonClicked); button->setProperty("permission", QVariant::fromValue(permission)); @@ -52,7 +52,8 @@ private: switch (qApp->checkPermission(permission)) { case Qt::PermissionStatus::Undetermined: qApp->requestPermission(permission, this, - [this, button](const QPermission &permission) { + [button](const QPermission &permission) { + Q_UNUSED(permission); emit button->clicked(); // Try again } ); diff --git a/tests/manual/CMakeLists.txt b/tests/manual/CMakeLists.txt index 5faf171db5d..182068e8e8c 100644 --- a/tests/manual/CMakeLists.txt +++ b/tests/manual/CMakeLists.txt @@ -40,6 +40,9 @@ if (QT_FEATURE_openssl AND UNIX) add_subdirectory(qnetworkreply) endif() #special case end +if(QT_FEATURE_permissions) + add_subdirectory(permissions) +endif() add_subdirectory(qstorageinfo) add_subdirectory(qscreen) add_subdirectory(qscreen_xrandr) diff --git a/tests/manual/permissions/CMakeLists.txt b/tests/manual/permissions/CMakeLists.txt index cac8716129c..ed4b92f6213 100644 --- a/tests/manual/permissions/CMakeLists.txt +++ b/tests/manual/permissions/CMakeLists.txt @@ -1,3 +1,5 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause qt_internal_add_test(tst_qpermissions SOURCES diff --git a/tests/manual/permissions/tst_qpermissions.cpp b/tests/manual/permissions/tst_qpermissions.cpp index db8d968b5a8..846a048ccdf 100644 --- a/tests/manual/permissions/tst_qpermissions.cpp +++ b/tests/manual/permissions/tst_qpermissions.cpp @@ -82,7 +82,7 @@ void tst_QPermissions::checkPermissionInNonMainThread() void tst_QPermissions::requestPermission() { QFETCH_GLOBAL(QPermission, permission); - QTimer::singleShot(0, [=] { + QTimer::singleShot(0, this, [=] { qApp->requestPermission(permission, [=](auto result) { qDebug() << result; Q_ASSERT(QThread::currentThread() == thread());