From d8371d5b912c34cc2625d406c47e5f56e0ebae6c Mon Sep 17 00:00:00 2001 From: Vitor Vieira <155513369+VitorVieiraZ@users.noreply.github.com> Date: Thu, 29 Feb 2024 11:31:34 -0300 Subject: [PATCH] Redesign of the NoPermissionsDialog (#3088) MMNoPermissionsDialog --- app/images/NoPermissions.svg | 14 +++++++++++++ app/images/images.qrc | 1 + app/mmstyle.h | 2 ++ app/qml/CMakeLists.txt | 2 +- app/qml/dialogs/MMNoPermissionsDialog.qml | 25 +++++++++++++++++++++++ app/qml/main.qml | 2 +- gallery/qml.qrc | 1 + gallery/qml/pages/DrawerPage.qml | 17 +++++++++++++-- 8 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 app/images/NoPermissions.svg create mode 100644 app/qml/dialogs/MMNoPermissionsDialog.qml diff --git a/app/images/NoPermissions.svg b/app/images/NoPermissions.svg new file mode 100644 index 000000000..b6493c255 --- /dev/null +++ b/app/images/NoPermissions.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/app/images/images.qrc b/app/images/images.qrc index 6064839e9..4637baefb 100644 --- a/app/images/images.qrc +++ b/app/images/images.qrc @@ -29,5 +29,6 @@ StreamingBootsOrange.svg NoWifi.svg SyncFailed.svg + NoPermissions.svg diff --git a/app/mmstyle.h b/app/mmstyle.h index d72ac042a..37a6276fd 100644 --- a/app/mmstyle.h +++ b/app/mmstyle.h @@ -182,6 +182,7 @@ class MMStyle: public QObject Q_PROPERTY( QUrl uploadImage READ uploadImage CONSTANT ) Q_PROPERTY( QUrl noMapThemesImage READ noMapThemesImage CONSTANT ) Q_PROPERTY( QUrl syncFailedImage READ syncFailedImage CONSTANT ) + Q_PROPERTY( QUrl noPermissionsImage READ noPermissionsImage CONSTANT ) Q_PROPERTY( QUrl warnLogoImage READ warnLogoImage CONSTANT ) Q_PROPERTY( QUrl mmLogoImage READ mmLogoImage CONSTANT ) Q_PROPERTY( QUrl lutraLogoImage READ lutraLogoImage CONSTANT ) @@ -412,6 +413,7 @@ class MMStyle: public QObject QUrl uploadImage() {return QUrl( "qrc:/images/UploadImage.svg" );} QUrl noMapThemesImage() {return QUrl( "qrc:/images/NoMapThemesImage.svg" );} QUrl syncFailedImage() {return QUrl( "qrc:/images/SyncFailed.svg" );} + QUrl noPermissionsImage() {return QUrl( "qrc:/images/NoPermissions.svg" );} QUrl reachedDataLimitImage() {return QUrl( "qrc:/images/ReachedDataLimit.svg" );} QUrl warnLogoImage() {return QUrl( "qrc:/images/WarnLogoImage.svg" );} QUrl mapPinImage() {return QUrl( "qrc:/images/MapPin.svg" );} diff --git a/app/qml/CMakeLists.txt b/app/qml/CMakeLists.txt index f8ba0a8e5..5832c45e0 100644 --- a/app/qml/CMakeLists.txt +++ b/app/qml/CMakeLists.txt @@ -8,7 +8,7 @@ set(MM_QML components/TextWithIcon.qml dialogs/MigrateToMerginDialog.qml dialogs/MissingAuthDialog.qml - dialogs/NoPermissionsDialog.qml + dialogs/MMNoPermissionsDialog.qml dialogs/SplittingFailedDialog.qml dialogs/SyncFailedDialog.qml dialogs/MMSyncFailedDialog.qml diff --git a/app/qml/dialogs/MMNoPermissionsDialog.qml b/app/qml/dialogs/MMNoPermissionsDialog.qml new file mode 100644 index 000000000..9c61d4531 --- /dev/null +++ b/app/qml/dialogs/MMNoPermissionsDialog.qml @@ -0,0 +1,25 @@ +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +import QtQuick + +import "../components" + +MMDrawerDialog { + id: root + + picture: __style.noPermissionsImage + bigTitle: qsTr( "No rights to access the project" ) + description: qsTr( "You are not allowed to synchronize your changes in this project. Contact the project owner to assign you the correct permission. If you are the project owner, log in to the dashboard." ) + primaryButton: qsTr( "Ok, I understand" ) + + onPrimaryButtonClicked: { + close() + } +} diff --git a/app/qml/main.qml b/app/qml/main.qml index ae703d21c..c05deb67e 100644 --- a/app/qml/main.qml +++ b/app/qml/main.qml @@ -819,7 +819,7 @@ ApplicationWindow { onMigrationRequested: __syncManager.migrateProjectToMergin( __activeProject.projectFullName() ) } - NoPermissionsDialog { + MMNoPermissionsDialog { id: noPermissionsDialog } diff --git a/gallery/qml.qrc b/gallery/qml.qrc index 11ba0f874..0f85f6851 100644 --- a/gallery/qml.qrc +++ b/gallery/qml.qrc @@ -123,5 +123,6 @@ ../app/qml/settings/MMSettingSwitch.qml ../app/qml/gps/MMBluetoothConnectionDrawer.qml ../app/qml/dialogs/MMSyncFailedDialog.qml + ../app/qml/dialogs/MMNoPermissionsDialog.qml diff --git a/gallery/qml/pages/DrawerPage.qml b/gallery/qml/pages/DrawerPage.qml index 59ad7e959..edaac984a 100644 --- a/gallery/qml/pages/DrawerPage.qml +++ b/gallery/qml/pages/DrawerPage.qml @@ -82,8 +82,17 @@ Page { MMButton { text: "MMSyncFailedDialog" + onClicked: { - drawer4.open() + syncFailedDialog.open() + } + } + + MMButton { + text: "MMNoPermissionsDialog" + + onClicked: { + noPermissionsDialog.open() } } } @@ -198,6 +207,10 @@ Page { } MMSyncFailedDialog { - id: drawer4 + id: syncFailedDialog + } + + MMNoPermissionsDialog { + id: noPermissionsDialog } }