annotate src/sys/osx/permissions.cc @ 284:e66ffc338d82

anime: refactor title structure to a map
author Paper <paper@paper.us.eu.org>
date Wed, 08 May 2024 16:21:05 -0400
parents 862d0d8619f6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
237
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
1 #include "sys/osx/permissions.h"
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
2
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
3 #include <ApplicationServices/ApplicationServices.h>
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
4
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
5 #include <QCoreApplication>
258
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 237
diff changeset
6 #include <QDesktopServices>
237
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
7 #include <QMessageBox>
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
8 #include <QUrl>
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
9
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
10 namespace osx {
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
11
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
12 bool AskForPermissions() {
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
13 if (::AXIsProcessTrusted())
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
14 return true;
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
15
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
16 QMessageBox msg;
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
17 msg.setIcon(QMessageBox::Information);
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
18 msg.setText(QCoreApplication::tr("Permissions needed!"));
258
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 237
diff changeset
19 msg.setInformativeText(QCoreApplication::tr(
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 237
diff changeset
20 "Minori needs access to accessibility features for certain features to work. Open System Preferences?"));
237
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
21 msg.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
22 msg.setDefaultButton(QMessageBox::Yes);
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
23 int ret = msg.exec();
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
24 if (ret != QMessageBox::Yes)
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
25 return false;
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
26
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
27 QDesktopServices::openUrl(QUrl("x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility"));
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
28 return true;
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
29 }
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents:
diff changeset
30
258
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 237
diff changeset
31 } // namespace osx