annotate src/sys/osx/permissions.cc @ 337:a7d4e5107531

dep/animone: REFACTOR ALL THE THINGS 1: animone now has its own syntax divergent from anisthesia, making different platforms actually have their own sections 2: process names in animone are now called `comm' (this will probably break things). this is what its called in bsd/linux so I'm just going to use it everywhere 3: the X11 code now checks for the existence of a UTF-8 window title and passes it if available 4: ANYTHING THATS NOT LINUX IS 100% UNTESTED AND CAN AND WILL BREAK! I still actually need to test the bsd code. to be honest I'm probably going to move all of the bsds into separate files because they're all essentially different operating systems at this point
author Paper <paper@paper.us.eu.org>
date Wed, 19 Jun 2024 12:51:15 -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