From bc3fe60835076f8c329c00485d30efe2f52722cd Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Sun, 30 Apr 2023 13:20:37 +0200 Subject: [PATCH] Factor out timestamp formatting. --- stats.cpp | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/stats.cpp b/stats.cpp index 7bce2a2..1edee11 100644 --- a/stats.cpp +++ b/stats.cpp @@ -4,10 +4,25 @@ #include #include #include -#include +#include +#include #include "mainwindow.h" #include "ui_mainwindow.h" +std::string format_timestamp(uint64_t pos) +{ + int ms = pos % 1000; + pos /= 1000; + int sec = pos % 60; + pos /= 60; + int min = pos % 60; + int hour = pos / 60; + + char buf[256]; + snprintf(buf, sizeof(buf), "%d:%02d:%02d.%03d", hour, min, sec, ms); + return buf; +} + MainWindow::MainWindow() { player = new QMediaPlayer; @@ -19,16 +34,7 @@ MainWindow::MainWindow() ui->setupUi(this); connect(player, &QMediaPlayer::positionChanged, [ui, this](uint64_t pos) { - int ms = pos % 1000; - pos /= 1000; - int sec = pos % 60; - pos /= 60; - int min = pos % 60; - int hour = pos / 60; - - char buf[256]; - snprintf(buf, sizeof(buf), "%d:%02d:%02d.%03d", hour, min, sec, ms); - ui->timestamp->setText(buf); + ui->timestamp->setText(QString::fromUtf8(format_timestamp(pos))); if (buffered_seek) { player->setPosition(*buffered_seek); buffered_seek.reset(); -- 2.39.2