]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
check for doubleclicks for future menu communication, just print a string for now
authorFruitieX <rasse@rasse-lappy.localdomain>
Thu, 10 Jun 2010 00:19:20 +0000 (03:19 +0300)
committerFruitieX <rasse@rasse-lappy.localdomain>
Thu, 10 Jun 2010 00:19:20 +0000 (03:19 +0300)
qcsrc/client/hud.qc

index 7d87df8f7d347649848ac8db2f76e6396d424cc8..ab59b5c238ad04315d9660aa9411e453220a459d 100644 (file)
@@ -1161,6 +1161,8 @@ void HUD_Panel_SetPosSize(float id, vector resizeorigin)
 
 float mouseClicked;
 float prevMouseClicked; // previous state
+float prevMouseClickedTime; // time during previous mouse click, to check for doubleclicks
+vector prevMouseClickedPos; // pos during previous mouse click, to check for doubleclicks
 float HUD_Panel_InputEvent(float bInputType, float nPrimary, float nSecondary)
 {
        if(!hud_configure)
@@ -1218,6 +1220,13 @@ void HUD_Panel_Mouse()
 
        if(mouseClicked)
        {
+               if(time - prevMouseClickedTime < 0.4 && prevMouseClicked == 0 && prevMouseClickedPos == mousepos)
+               {
+                       mouseClicked = 0; // to prevent spam, I guess.
+                       print("Doubleclick!\n");
+                       return;
+               }
+
                float i, border;
                vector panelPos;
                vector panelSize;
@@ -1228,6 +1237,9 @@ void HUD_Panel_Mouse()
                        panelSize = HUD_Panel_GetSize(i);
                        border = HUD_Panel_GetBorder(i);
                        if(prevMouseClicked == 0) {
+                               prevMouseClickedTime = time;
+                               prevMouseClickedPos = mousepos;
+
                                // move
                                if(mousepos_x >= panelPos_x && mousepos_y >= panelPos_y && mousepos_x <= panelPos_x + panelSize_x && mousepos_y <= panelPos_y + panelSize_y)
                                {