From 9414055aa823412d671420dd51bcca55204f9f8a Mon Sep 17 00:00:00 2001 From: terencehill Date: Fri, 22 Apr 2016 19:35:50 +0200 Subject: [PATCH] Implement "Menu sounds" and "Focus sounds" checkboxes in a more sane way (they were using a hidden slider) --- qcsrc/menu/xonotic/checkbox.qc | 2 ++ qcsrc/menu/xonotic/checkbox.qh | 1 + qcsrc/menu/xonotic/dialog_settings_audio.qc | 14 ++++++-------- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/qcsrc/menu/xonotic/checkbox.qc b/qcsrc/menu/xonotic/checkbox.qc index 6015e48ba..b86351898 100644 --- a/qcsrc/menu/xonotic/checkbox.qc +++ b/qcsrc/menu/xonotic/checkbox.qc @@ -58,6 +58,8 @@ void XonoticCheckBox_setChecked(entity me, float val) { me.checked = val; me.saveCvars(me); + if(me.linkedCheckBox) + me.linkedCheckBox.loadCvars(me.linkedCheckBox); } } void XonoticCheckBox_loadCvars(entity me) diff --git a/qcsrc/menu/xonotic/checkbox.qh b/qcsrc/menu/xonotic/checkbox.qh index a188f4c0a..90a1bf5d4 100644 --- a/qcsrc/menu/xonotic/checkbox.qh +++ b/qcsrc/menu/xonotic/checkbox.qh @@ -21,6 +21,7 @@ CLASS(XonoticCheckBox, CheckBox) ATTRIB(XonoticCheckBox, alpha, float, SKINALPHA_TEXT) ATTRIB(XonoticCheckBox, disabledAlpha, float, SKINALPHA_DISABLED) + ATTRIB(XonoticCheckBox, linkedCheckBox, entity, NULL) ENDCLASS(XonoticCheckBox) entity makeXonoticCheckBox_T(float, string, string, string); entity makeXonoticCheckBox(float, string, string); diff --git a/qcsrc/menu/xonotic/dialog_settings_audio.qc b/qcsrc/menu/xonotic/dialog_settings_audio.qc index 4a25682e0..7af8c5500 100644 --- a/qcsrc/menu/xonotic/dialog_settings_audio.qc +++ b/qcsrc/menu/xonotic/dialog_settings_audio.qc @@ -17,7 +17,7 @@ entity makeXonoticAudioSettingsTab() void XonoticAudioSettingsTab_fill(entity me) { - entity e, s; + entity e, e2, s; entity audioApplyButton = makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "snd_restart;" "snd_attenuation_method_${menu_snd_attenuation_method};" @@ -146,13 +146,11 @@ void XonoticAudioSettingsTab_fill(entity me) me.TR(me); me.TD(me, 1, 3, makeXonoticCheckBox(0, "con_chatsound", _("Chat message sound"))); me.TR(me); - me.hiddenMenuSoundsSlider = makeXonoticSlider_T(1, 1, 1, "menu_sounds", - _("Play sounds when clicking or hovering over menu items")); - me.TD(me, 1, 1.2, e = makeXonoticSliderCheckBox(0, 1, me.hiddenMenuSoundsSlider, _("Menu sounds"))); - e.tooltip = me.hiddenMenuSoundsSlider.tooltip; - me.TD(me, 1, 1.8, e = makeXonoticSliderCheckBox(2, 0, me.hiddenMenuSoundsSlider, _("Focus sounds"))); - e.tooltip = me.hiddenMenuSoundsSlider.tooltip; - setDependent(e, "menu_sounds", 1, 2); + me.TD(me, 1, 1.2, e = makeXonoticCheckBox_T(0, "menu_sounds", _("Menu sounds"), + _("Play sounds when clicking menu items"))); + me.TD(me, 1, 1.2, e.linkedCheckBox = e2 = makeXonoticCheckBoxEx_T(2, 1, "menu_sounds", _("Focus sounds"), + _("Play sounds when hovering over menu items too"))); + setDependent(e2, "menu_sounds", 1, 2); me.TR(me); me.TR(me); me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Time announcer:"))); -- 2.39.2