]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Play SLIDE sound when using slider or colorpicker
authorSeverin Meyer <sev.ch@web.de>
Fri, 23 Jan 2015 19:27:47 +0000 (20:27 +0100)
committerSeverin Meyer <sev.ch@web.de>
Fri, 23 Jan 2015 19:27:47 +0000 (20:27 +0100)
qcsrc/menu/item/slider.c
qcsrc/menu/menu.qh
qcsrc/menu/xonotic/colorpicker.c
qcsrc/menu/xonotic/colorpicker_string.c

index 1f7c287c740e3542fe02bd8a65058cd747267bff..fb8cda906764b31effeafd48893ccc948d084188 100644 (file)
@@ -7,6 +7,7 @@ CLASS(Slider) EXTENDS(Label)
        METHOD(Slider, configureSliderValues, void(entity, float, float, float, float, float, float))
        METHOD(Slider, draw, void(entity))
        METHOD(Slider, keyDown, float(entity, float, float, float))
+       METHOD(Slider, keyUp, float(entity, float, float, float))
        METHOD(Slider, mousePress, float(entity, vector))
        METHOD(Slider, mouseDrag, float(entity, vector))
        METHOD(Slider, mouseRelease, float(entity, vector))
@@ -146,7 +147,29 @@ float Slider_keyDown(entity me, float key, float ascii, float shift)
                me.setValue(me, me.valueMax);
                return 1;
        }
-       // TODO more keys
+       // TODO more keys (NOTE also add them to Slider_keyUp)
+       return 0;
+}
+float Slider_keyUp(entity me, float key, float ascii, float shift)
+{
+       if(me.disabled)
+               return 0;
+       switch(key)
+       {
+               case K_LEFTARROW:
+               case K_KP_LEFTARROW:
+               case K_RIGHTARROW:
+               case K_KP_RIGHTARROW:
+               case K_PGUP:
+               case K_KP_PGUP:
+               case K_PGDN:
+               case K_KP_PGDN:
+               case K_HOME:
+               case K_KP_HOME:
+               case K_END:
+               case K_KP_END:
+                       m_play_click_sound(MENU_SOUND_SLIDE);
+       }
        return 0;
 }
 float Slider_mouseDrag(entity me, vector pos)
@@ -242,8 +265,7 @@ float Slider_mouseRelease(entity me, vector pos)
        me.pressed = 0;
        if(me.disabled)
                return 0;
-       if(cvar("menu_sounds"))
-               localsound("sound/misc/menu2.wav");
+       m_play_click_sound(MENU_SOUND_SLIDE);
        return 1;
 }
 void Slider_showNotify(entity me)
index c78dc938ab16daed24ee375fde7d46e70e815e9d..4f6ba4f0e3eeb357cfdd883be01f661e353b8055 100644 (file)
@@ -43,6 +43,7 @@ void m_sync();
 
 const string MENU_SOUND_EXECUTE = "sound/menu/execute.wav";
 const string MENU_SOUND_SELECT  = "sound/menu/select.wav";
+const string MENU_SOUND_SLIDE   = "sound/menu/slide.wav";
 
 void m_play_focus_sound();
 void m_play_click_sound(string soundfile);
index e0727373c14b3a4795db1cde2f3caadaec45bfbc..a6be0a4d0476f4e2e7268b8265f4adee79d1fd53 100644 (file)
@@ -139,6 +139,7 @@ float XonoticColorpicker_mouseDrag(entity me, vector coords)
 
 float XonoticColorpicker_mouseRelease(entity me, vector coords)
 {
+       m_play_click_sound(MENU_SOUND_SLIDE);
        me.mouseDrag(me, coords);
        return 1;
 }
index 5d53135e9cca1967c7e3f0d68b8a4b631b7e1ef3..56b8100aaa3a5c816cb9e00e43f276be5240d519 100644 (file)
@@ -97,6 +97,7 @@ float XonoticColorpickerString_mouseDrag(entity me, vector coords)
 
 float XonoticColorpickerString_mouseRelease(entity me, vector coords)
 {
+       m_play_click_sound(MENU_SOUND_SLIDE);
        me.mouseDrag(me, coords);
        return 1;
 }