From 3dcdba0f4b47641bdb8a47c14a8cff3f86cc1d07 Mon Sep 17 00:00:00 2001 From: RblSb Date: Thu, 24 Nov 2022 22:56:30 +0300 Subject: Right click on leader btn for pause Or long tap on touch devices --- res/client.js | 29 +++++++++++++++++++---------- res/css/des.css | 5 +++++ res/index.html | 2 +- src/client/Buttons.hx | 8 +------- src/client/Main.hx | 18 +++++++++++++++++- 5 files changed, 43 insertions(+), 19 deletions(-) diff --git a/res/client.js b/res/client.js index 90e026c..95ce777 100644 --- a/res/client.js +++ b/res/client.js @@ -827,14 +827,7 @@ client_Buttons.initHotkeys = function(main,player) { main.toggleLeader(); break; case 80: - if((main.personal.group & 4) == 0) { - client_JsApi.once("SetLeader",function(event) { - if(event.setLeader.clientName == main.personal.name) { - player.pause(); - } - }); - } - main.toggleLeader(); + main.toggleLeaderAndPause(); break; case 82: window.document.querySelector("#mediarefresh").onclick(); @@ -1277,7 +1270,12 @@ client_Main.prototype = { ,initListeners: function() { var _gthis = this; client_Buttons.init(this); - window.document.querySelector("#leader_btn").onclick = $bind(this,this.toggleLeader); + var leaderBtn = window.document.querySelector("#leader_btn"); + leaderBtn.onclick = $bind(this,this.toggleLeader); + leaderBtn.oncontextmenu = function(e) { + _gthis.toggleLeaderAndPause(); + e.preventDefault(); + }; window.document.querySelector("#voteskip").onclick = function(e) { if(client_Utils.isTouch() && !window.confirm(Lang.get("skipItemConfirm"))) { return; @@ -1494,7 +1492,7 @@ client_Main.prototype = { var data = JSON.parse(e.data); if(this.config != null && this.config.isVerbose) { var t = data.type; - haxe_Log.trace("Event: " + data.type,{ fileName : "src/client/Main.hx", lineNumber : 384, className : "client.Main", methodName : "onMessage", customParams : [Reflect.field(data,t.charAt(0).toLowerCase() + HxOverrides.substr(t,1,null))]}); + haxe_Log.trace("Event: " + data.type,{ fileName : "src/client/Main.hx", lineNumber : 390, className : "client.Main", methodName : "onMessage", customParams : [Reflect.field(data,t.charAt(0).toLowerCase() + HxOverrides.substr(t,1,null))]}); } client_JsApi.fireOnceEvent(data); switch(data.type) { @@ -2106,6 +2104,17 @@ client_Main.prototype = { this.setLeaderButton((this.personal.group & 4) == 0); this.send({ type : "SetLeader", setLeader : { clientName : (this.personal.group & 4) != 0 ? "" : this.personal.name}}); } + ,toggleLeaderAndPause: function() { + var _gthis = this; + if((this.personal.group & 4) == 0) { + client_JsApi.once("SetLeader",function(event) { + if(event.setLeader.clientName == _gthis.personal.name) { + _gthis.player.pause(); + } + }); + } + this.toggleLeader(); + } ,hasLeader: function() { return ClientTools.hasLeader(this.clients); } diff --git a/res/css/des.css b/res/css/des.css index a7c71e6..aa02177 100644 --- a/res/css/des.css +++ b/res/css/des.css @@ -241,6 +241,11 @@ button.danger-bg:focus { display: flex; } +.unselectable { + -webkit-user-select: none; + user-select: none; +} + /* Info */ .info { diff --git a/res/index.html b/res/index.html index 92b4f69..3892a41 100644 --- a/res/index.html +++ b/res/index.html @@ -140,7 +140,7 @@ ${connection}... - +