Mercurial > minori
diff src/sys/osx/permissions.cc @ 249:6b2441c776dd
*: merge
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Wed, 24 Jan 2024 20:18:59 -0500 |
parents | a7d0d543b334 |
children | 862d0d8619f6 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/sys/osx/permissions.cc Wed Jan 24 20:18:59 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; +} + +}