From 2e0afbae4d9ca1cea54d8da423506716acfcabc2 Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Sat, 10 Aug 2019 22:20:50 +0200 Subject: [PATCH] PICARD-1488: Display player position 0 as 0:00 instead of ?:?? --- picard/ui/playertoolbar.py | 2 +- picard/util/__init__.py | 4 ++-- test/test_utils.py | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/picard/ui/playertoolbar.py b/picard/ui/playertoolbar.py index d4e71759c..644cebe6e 100644 --- a/picard/ui/playertoolbar.py +++ b/picard/ui/playertoolbar.py @@ -218,7 +218,7 @@ class PlayerToolbar(QtWidgets.QToolBar): def on_position_changed(self, position): self.progress_slider.setValue(position) - self.position_label.setText(format_time(position)) + self.position_label.setText(format_time(position, display_zero=True)) def on_media_changed(self, media): if media.isNull(): diff --git a/picard/util/__init__.py b/picard/util/__init__.py index 3de4200fd..dcd24c110 100644 --- a/picard/util/__init__.py +++ b/picard/util/__init__.py @@ -112,10 +112,10 @@ def pathcmp(a, b): return os.path.normcase(a) == os.path.normcase(b) -def format_time(ms): +def format_time(ms, display_zero=False): """Formats time in milliseconds to a string representation.""" ms = float(ms) - if ms == 0: + if ms == 0 and not display_zero: return "?:??" duration_seconds = round(ms / 1000) if duration_seconds < 3600: diff --git a/test/test_utils.py b/test/test_utils.py index dda87545e..a5ef8a6a4 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -89,6 +89,7 @@ class FormatTimeTest(PicardTestCase): def test(self): self.assertEqual("?:??", util.format_time(0)) + self.assertEqual("0:00", util.format_time(0, display_zero=True)) self.assertEqual("3:00", util.format_time(179750)) self.assertEqual("3:00", util.format_time(179500)) self.assertEqual("2:59", util.format_time(179499))