From 41e8165d3d701562af4eb78d86816fd1f88766af Mon Sep 17 00:00:00 2001 From: RblSb Date: Sat, 6 Jun 2020 10:19:18 +0300 Subject: Pause indicator --- src/client/Buttons.hx | 2 +- src/client/Main.hx | 7 +++++++ src/client/Player.hx | 9 +++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/client/Buttons.hx b/src/client/Buttons.hx index 7e9c8cb..771f827 100644 --- a/src/client/Buttons.hx +++ b/src/client/Buttons.hx @@ -111,7 +111,7 @@ class Buttons { } final fullscreenBtn = ge("#fullscreenbtn"); fullscreenBtn.onclick = e -> { - if (Utils.isTouch() && !Utils.hasFullscreen()) { + if ((Utils.isTouch() || main.isVerbose()) && !Utils.hasFullscreen()) { Utils.requestFullscreen(document.documentElement); } else { Utils.requestFullscreen(ge("#ytapiplayer")); diff --git a/src/client/Main.hx b/src/client/Main.hx index 781f5e8..0f6b31e 100644 --- a/src/client/Main.hx +++ b/src/client/Main.hx @@ -387,11 +387,13 @@ class Main { if (player.isListEmpty()) player.pause(); case Pause: + player.setPauseIndicator(false); if (isLeader()) return; player.pause(); player.setTime(data.pause.time); case Play: + player.setPauseIndicator(true); if (isLeader()) return; player.setTime(data.play.time); player.play(); @@ -418,6 +420,7 @@ class Main { if (player.getDuration() <= player.getTime() + synchThreshold) return; if (!data.getTime.paused) player.play(); else player.pause(); + player.setPauseIndicator(!data.getTime.paused); if (Math.abs(time - newTime) < synchThreshold) return; player.setTime(newTime); @@ -812,6 +815,10 @@ class Main { return config.youtubeApiKey; } + public function isVerbose():Bool { + return config.isVerbose; + } + function escapeRegExp(regex:String):String { return ~/([.*+?^${}()|[\]\\])/g.replace(regex, "\\$1"); } diff --git a/src/client/Player.hx b/src/client/Player.hx index 4de76ce..dd49ab4 100644 --- a/src/client/Player.hx +++ b/src/client/Player.hx @@ -146,6 +146,15 @@ class Player { JsApi.fireVideoRemoveEvents(items[itemPos]); player.removeVideo(); ge("#currenttitle").textContent = Lang.get("nothingPlaying"); + setPauseIndicator(true); + } + + public function setPauseIndicator(flag:Bool):Void { + if (!main.isSyncActive) return; + final state = flag ? "play" : "pause"; + final el = ge("#pause-indicator"); + if (el.getAttribute("name") == state) return; + el.setAttribute("name", state); } public function onCanBePlayed():Void { -- cgit v1.2.3