Browse Source

UI: Add function to open privacy preferences on macOS

gxalpha 3 years ago
parent
commit
b7a20cd5e4
2 changed files with 12 additions and 0 deletions
  1. 11 0
      UI/platform-osx.mm
  2. 1 0
      UI/platform.hpp

+ 11 - 0
UI/platform-osx.mm

@@ -373,6 +373,17 @@ MacPermissionStatus CheckPermissionWithPrompt(MacPermissionType type,
 	return permissionResponse;
 	return permissionResponse;
 }
 }
 
 
+void OpenMacOSPrivacyPreferences(const char *tab)
+{
+	NSURL *url = [NSURL
+		URLWithString:
+			[NSString
+				stringWithFormat:
+					@"x-apple.systempreferences:com.apple.preference.security?Privacy_%s",
+					tab]];
+	[[NSWorkspace sharedWorkspace] openURL:url];
+}
+
 void TaskbarOverlayInit() {}
 void TaskbarOverlayInit() {}
 void TaskbarOverlaySetStatus(TaskbarOverlayStatus status)
 void TaskbarOverlaySetStatus(TaskbarOverlayStatus status)
 {
 {

+ 1 - 0
UI/platform.hpp

@@ -105,4 +105,5 @@ MacPermissionStatus CheckPermissionWithPrompt(MacPermissionType type,
 					      bool prompt_for_permission);
 					      bool prompt_for_permission);
 #define CheckPermission(x) CheckPermissionWithPrompt(x, false)
 #define CheckPermission(x) CheckPermissionWithPrompt(x, false)
 #define RequestPermission(x) CheckPermissionWithPrompt(x, true)
 #define RequestPermission(x) CheckPermissionWithPrompt(x, true)
+void OpenMacOSPrivacyPreferences(const char *tab);
 #endif
 #endif