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;
+}
+
+}