@@ -243,6 +243,7 @@ public class ConfigWindow {
243243 private JCheckBox generalPanelLogTimestampsCheckbox ;
244244 private JCheckBox generalPanelLogForceLevelCheckbox ;
245245 private JCheckBox generalPanelPrefersXdgOpenCheckbox ;
246+ private JCheckBox generalPanelMacOSConfirmQuitCheckBox ;
246247 private JCheckBox generalPanelLogForceTimestampsCheckbox ;
247248 private JCheckBox generalPanelDisableNatureRuneAlchCheckbox ;
248249 private JCheckBox generalPanelCommandPatchQuestCheckbox ;
@@ -1795,6 +1796,15 @@ public void stateChanged(ChangeEvent e) {
17951796 generalPanelPrefersXdgOpenCheckbox .setToolTipText (
17961797 "Does nothing on Windows or Mac, may improve URL opening experience on Linux" );
17971798
1799+ if (Util .isMacOS ()) {
1800+ generalPanelMacOSConfirmQuitCheckBox =
1801+ addCheckbox ("Ask for confirmation when pressing cmd-Q on macOS" , generalPanel );
1802+ generalPanelMacOSConfirmQuitCheckBox .setToolTipText (
1803+ "Prevents the application from immediately closing with cmd-Q by asking for confirmation" );
1804+ SearchUtils .addSearchMetadata (
1805+ generalPanelMacOSConfirmQuitCheckBox , "command" , "quit" , "exit" , "imac" , "darwin" );
1806+ }
1807+
17981808 generalPanelAutoScreenshotCheckbox =
17991809 addCheckbox ("Take a screenshot when you level up or complete a quest" , generalPanel );
18001810 generalPanelAutoScreenshotCheckbox .setToolTipText (
@@ -6285,6 +6295,10 @@ private void executeSynchronizeGuiValues() {
62856295 generalPanelLimitRanFPSSpinner .setValue (
62866296 Settings .RAN_EFFECT_TARGET_FPS .get (Settings .currentProfile ));
62876297 generalPanelLimitFPSSpinner .setValue (Settings .FPS_LIMIT .get (Settings .currentProfile ));
6298+ if (Util .isMacOS ()) {
6299+ generalPanelMacOSConfirmQuitCheckBox .setSelected (
6300+ Settings .MACOS_CONFIRM_QUIT .get (Settings .currentProfile ));
6301+ }
62886302 generalPanelAutoScreenshotCheckbox .setSelected (
62896303 Settings .AUTO_SCREENSHOT .get (Settings .currentProfile ));
62906304 generalPanelPerCharScreenshotCheckbox .setSelected (
@@ -6826,6 +6840,10 @@ private void saveSettings() {
68266840 Settings .currentProfile , generalPanelShiftScrollCameraRotationCheckbox .isSelected ());
68276841 Settings .TRACKPAD_ROTATION_SENSITIVITY .put (
68286842 Settings .currentProfile , generalPanelTrackpadRotationSlider .getValue ());
6843+ if (Util .isMacOS ()) {
6844+ Settings .MACOS_CONFIRM_QUIT .put (
6845+ Settings .currentProfile , generalPanelMacOSConfirmQuitCheckBox .isSelected ());
6846+ }
68296847 Settings .AUTO_SCREENSHOT .put (
68306848 Settings .currentProfile , generalPanelAutoScreenshotCheckbox .isSelected ());
68316849 Settings .PER_CHAR_SCREENSHOTS .put (
0 commit comments