mirror of
https://github.com/MonitorControl/MonitorControl.git
synced 2026-05-25 22:01:10 -06:00
Add check for permissions on onboarding (#955)
This commit is contained in:
parent
2f8cca2019
commit
3d97037a76
5 changed files with 35 additions and 1 deletions
18
MonitorControl/Assets.xcassets/onboarding_icon_checkmark.imageset/Contents.json
vendored
Normal file
18
MonitorControl/Assets.xcassets/onboarding_icon_checkmark.imageset/Contents.json
vendored
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "checkmark.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "checkmark@2x.png",
|
||||
"idiom" : "mac",
|
||||
"scale" : "2x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
MonitorControl/Assets.xcassets/onboarding_icon_checkmark.imageset/checkmark.png
vendored
Normal file
BIN
MonitorControl/Assets.xcassets/onboarding_icon_checkmark.imageset/checkmark.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
BIN
MonitorControl/Assets.xcassets/onboarding_icon_checkmark.imageset/checkmark@2x.png
vendored
Normal file
BIN
MonitorControl/Assets.xcassets/onboarding_icon_checkmark.imageset/checkmark@2x.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2 KiB |
|
|
@ -2249,7 +2249,7 @@ You can enable it by adding MonitorControl in System Preferences > Security a
|
|||
</textField>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="j2w-H2-9zU">
|
||||
<rect key="frame" x="65" y="74" width="202" height="32"/>
|
||||
<buttonCell key="cell" type="push" title="Open System Preferences…" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="pVc-wG-Bdh">
|
||||
<buttonCell key="cell" type="push" title="Open System Preferences…" bezelStyle="rounded" imagePosition="trailing" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="pVc-wG-Bdh">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
|
|
@ -2322,6 +2322,9 @@ DQ
|
|||
<constraint firstItem="smN-BX-6Bx" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="7ij-vC-Tcj" secondAttribute="leading" constant="24" id="zyv-XU-eAi"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<connections>
|
||||
<outlet property="permissionsButton" destination="j2w-H2-9zU" id="4Eb-J5-znC"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<customObject id="YML-6F-4Tw" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
|
|
|
|||
|
|
@ -3,8 +3,11 @@
|
|||
import Cocoa
|
||||
|
||||
class OnboardingViewController: NSViewController {
|
||||
@IBOutlet private var permissionsButton: NSButton!
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
self.setPermissionsButtonState()
|
||||
}
|
||||
|
||||
// MARK: - Actions
|
||||
|
|
@ -23,4 +26,14 @@ class OnboardingViewController: NSViewController {
|
|||
app.statusItem.button?.performClick(self)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Style
|
||||
|
||||
private func setPermissionsButtonState() {
|
||||
let volumePermissions: Bool = [KeyboardVolume.media.rawValue, KeyboardVolume.both.rawValue].contains(prefs.integer(forKey: PrefKey.keyboardVolume.rawValue))
|
||||
let brigthnessPermissions: Bool = [KeyboardBrightness.media.rawValue, KeyboardBrightness.both.rawValue].contains(prefs.integer(forKey: PrefKey.keyboardBrightness.rawValue))
|
||||
let permissionsRequired: Bool = volumePermissions || brigthnessPermissions
|
||||
let enabled: Bool = !MediaKeyTapManager.readPrivileges(prompt: false) && permissionsRequired
|
||||
self.permissionsButton.image = enabled ? nil : NSImage(named: "onboarding_icon_checkmark")
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue