From 9de99afa926ac515254e9f8c6148b2c8b76acb30 Mon Sep 17 00:00:00 2001 From: 1hitsong <3330318+1hitsong@users.noreply.github.com> Date: Sun, 12 Nov 2023 12:30:53 -0500 Subject: [PATCH] Add leading zero to minutes in pause bar --- components/music/AudioPlayerView.bs | 2 +- components/video/PauseMenu.bs | 4 ++-- source/utils/misc.bs | 29 ++++++++++++++++++++++------- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/components/music/AudioPlayerView.bs b/components/music/AudioPlayerView.bs index 73caa78bb..4858ee402 100644 --- a/components/music/AudioPlayerView.bs +++ b/components/music/AudioPlayerView.bs @@ -165,7 +165,7 @@ sub audioPositionChanged() ' Update displayed position timestamp if isValid(m.global.audioPlayer.position) - m.positionTimestamp.text = secondsToHuman(m.global.audioPlayer.position) + m.positionTimestamp.text = secondsToHuman(m.global.audioPlayer.position, false) else m.positionTimestamp.text = "0:00" end if diff --git a/components/video/PauseMenu.bs b/components/video/PauseMenu.bs index 0de67a0cb..296d944d6 100644 --- a/components/video/PauseMenu.bs +++ b/components/video/PauseMenu.bs @@ -31,8 +31,8 @@ end sub ' onProgressPercentageChanged: Handler for changes to m.top.progressPercentage param ' sub onProgressPercentageChanged() - m.videoPositionTime.text = secondsToHuman(m.top.positionTime) - m.videoRemainingTime.text = secondsToHuman(m.top.remainingPositionTime) + m.videoPositionTime.text = secondsToHuman(m.top.positionTime, true) + m.videoRemainingTime.text = secondsToHuman(m.top.remainingPositionTime, true) m.progressBar.width = m.progressBarBackground.width * m.top.progressPercentage end sub diff --git a/source/utils/misc.bs b/source/utils/misc.bs index d2d81d31c..3aae717a2 100644 --- a/source/utils/misc.bs +++ b/source/utils/misc.bs @@ -43,16 +43,31 @@ function ticksToHuman(ticks as longinteger) as string return r end function -function secondsToHuman(totalSeconds as integer) as string +function secondsToHuman(totalSeconds as integer, addLeadingMinuteZero as boolean) as string + humanTime = "" hours = stri(int(totalSeconds / 3600)).trim() minutes = stri(int((totalSeconds - (val(hours) * 3600)) / 60)).trim() seconds = stri(totalSeconds - (val(hours) * 3600) - (val(minutes) * 60)).trim() - if val(hours) > 0 and val(minutes) < 10 then minutes = "0" + minutes - if val(seconds) < 10 then seconds = "0" + seconds - r = "" - if val(hours) > 0 then r = hours + ":" - r = r + minutes + ":" + seconds - return r + + if val(hours) > 0 or addLeadingMinuteZero + if val(minutes) < 10 + minutes = "0" + minutes + end if + end if + + if val(seconds) < 10 + seconds = "0" + seconds + end if + + if val(hours) > 0 + hours = hours + ":" + else + hours = "" + end if + + humanTime = hours + minutes + ":" + seconds + + return humanTime end function ' Format time as 12 or 24 hour format based on system clock setting