Mercurial > minori
diff src/sys/osx/permissions.cc @ 237:a7d0d543b334
*: make OS X builds succeed
new script: deploy_build.sh, creates the app bundle
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Fri, 19 Jan 2024 11:14:44 -0500 |
parents | |
children | 862d0d8619f6 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/sys/osx/permissions.cc Fri Jan 19 11:14:44 2024 -0500 @@ -0,0 +1,30 @@ +#include "sys/osx/permissions.h" + +#include <ApplicationServices/ApplicationServices.h> + +#include <QCoreApplication> +#include <QMessageBox> +#include <QDesktopServices> +#include <QUrl> + +namespace osx { + +bool AskForPermissions() { + if (::AXIsProcessTrusted()) + return true; + + QMessageBox msg; + msg.setIcon(QMessageBox::Information); + msg.setText(QCoreApplication::tr("Permissions needed!")); + msg.setInformativeText(QCoreApplication::tr("Minori needs access to accessibility features for certain features to work. Open System Preferences?")); + msg.setStandardButtons(QMessageBox::Yes | QMessageBox::No); + msg.setDefaultButton(QMessageBox::Yes); + int ret = msg.exec(); + if (ret != QMessageBox::Yes) + return false; + + QDesktopServices::openUrl(QUrl("x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility")); + return true; +} + +}