Add permissions feature example and manual test to the build
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ø <tor.arne.vestbo@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
This commit is contained in:
parent
12a74666b7
commit
e4125863f0
@ -6,6 +6,9 @@ add_subdirectory(mimetypes)
|
|||||||
add_subdirectory(serialization)
|
add_subdirectory(serialization)
|
||||||
add_subdirectory(tools)
|
add_subdirectory(tools)
|
||||||
add_subdirectory(platform)
|
add_subdirectory(platform)
|
||||||
|
if(QT_FEATURE_permissions)
|
||||||
|
add_subdirectory(permissions)
|
||||||
|
endif()
|
||||||
if(QT_FEATURE_thread)
|
if(QT_FEATURE_thread)
|
||||||
add_subdirectory(threads)
|
add_subdirectory(threads)
|
||||||
endif()
|
endif()
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
# Copyright (C) 2022 The Qt Company Ltd.
|
||||||
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.16)
|
cmake_minimum_required(VERSION 3.16)
|
||||||
project(permissions LANGUAGES CXX)
|
project(permissions LANGUAGES CXX)
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
for (auto permission : permissions) {
|
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));
|
QPushButton *button = new QPushButton(permissionName.sliced(1, permissionName.length() - 11));
|
||||||
connect(button, &QPushButton::clicked, this, &PermissionWidget::buttonClicked);
|
connect(button, &QPushButton::clicked, this, &PermissionWidget::buttonClicked);
|
||||||
button->setProperty("permission", QVariant::fromValue(permission));
|
button->setProperty("permission", QVariant::fromValue(permission));
|
||||||
@ -52,7 +52,8 @@ private:
|
|||||||
switch (qApp->checkPermission(permission)) {
|
switch (qApp->checkPermission(permission)) {
|
||||||
case Qt::PermissionStatus::Undetermined:
|
case Qt::PermissionStatus::Undetermined:
|
||||||
qApp->requestPermission(permission, this,
|
qApp->requestPermission(permission, this,
|
||||||
[this, button](const QPermission &permission) {
|
[button](const QPermission &permission) {
|
||||||
|
Q_UNUSED(permission);
|
||||||
emit button->clicked(); // Try again
|
emit button->clicked(); // Try again
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
@ -40,6 +40,9 @@ if (QT_FEATURE_openssl AND UNIX)
|
|||||||
add_subdirectory(qnetworkreply)
|
add_subdirectory(qnetworkreply)
|
||||||
endif()
|
endif()
|
||||||
#special case end
|
#special case end
|
||||||
|
if(QT_FEATURE_permissions)
|
||||||
|
add_subdirectory(permissions)
|
||||||
|
endif()
|
||||||
add_subdirectory(qstorageinfo)
|
add_subdirectory(qstorageinfo)
|
||||||
add_subdirectory(qscreen)
|
add_subdirectory(qscreen)
|
||||||
add_subdirectory(qscreen_xrandr)
|
add_subdirectory(qscreen_xrandr)
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# Copyright (C) 2022 The Qt Company Ltd.
|
||||||
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
qt_internal_add_test(tst_qpermissions
|
qt_internal_add_test(tst_qpermissions
|
||||||
SOURCES
|
SOURCES
|
||||||
|
@ -82,7 +82,7 @@ void tst_QPermissions::checkPermissionInNonMainThread()
|
|||||||
void tst_QPermissions::requestPermission()
|
void tst_QPermissions::requestPermission()
|
||||||
{
|
{
|
||||||
QFETCH_GLOBAL(QPermission, permission);
|
QFETCH_GLOBAL(QPermission, permission);
|
||||||
QTimer::singleShot(0, [=] {
|
QTimer::singleShot(0, this, [=] {
|
||||||
qApp->requestPermission(permission, [=](auto result) {
|
qApp->requestPermission(permission, [=](auto result) {
|
||||||
qDebug() << result;
|
qDebug() << result;
|
||||||
Q_ASSERT(QThread::currentThread() == thread());
|
Q_ASSERT(QThread::currentThread() == thread());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user