From: Steinar H. Gunderson Date: Sun, 30 Apr 2023 11:20:37 +0000 (+0200) Subject: Factor out timestamp formatting. X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=bc3fe60835076f8c329c00485d30efe2f52722cd;p=pkanalytics Factor out timestamp formatting. --- 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();