From 8c66de4297f9bf2896ac4f416f014eac989f01d3 Mon Sep 17 00:00:00 2001 From: winniehell Date: Sat, 10 Aug 2019 23:52:50 +0200 Subject: [PATCH] Add leading zeros and separators to TimeDisplayWidget --- src/gui/widgets/TimeDisplayWidget.cpp | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/gui/widgets/TimeDisplayWidget.cpp b/src/gui/widgets/TimeDisplayWidget.cpp index c1450b5e2b7..8abdb7493bf 100644 --- a/src/gui/widgets/TimeDisplayWidget.cpp +++ b/src/gui/widgets/TimeDisplayWidget.cpp @@ -109,28 +109,36 @@ void TimeDisplayWidget::updateTime() { Song* s = Engine::getSong(); + int major = 0; + int minor = 0; + int milliSeconds = 0; + switch( m_displayMode ) { case MinutesSeconds: int msec; msec = s->getMilliseconds(); - m_majorValue.setNum(msec / 60000); - m_minorValue.setNum((msec / 1000 ) % 60); - m_milliSecondsValue.setNum(msec % 1000); + major = msec / 60000; + minor = (msec / 1000) % 60; + milliSeconds = msec % 1000; break; case BarsTicks: int tick; tick = s->getPlayPos().getTicks(); - m_majorValue.setNum((int)(tick / s->ticksPerTact() ) + 1); - m_minorValue.setNum( ( tick % s->ticksPerTact() ) / - ( s->ticksPerTact() / s->getTimeSigModel().getNumerator() ) +1 ); - m_milliSecondsValue.setNum((tick % s->ticksPerTact()) % - (s->ticksPerTact() / s->getTimeSigModel().getNumerator())); + major = (int)(tick / s->ticksPerTact() ) + 1; + minor = ( tick % s->ticksPerTact() ) / + ( s->ticksPerTact() / s->getTimeSigModel().getNumerator() ) +1; + milliSeconds = ( tick % s->ticksPerTact() ) % + ( s->ticksPerTact() / s->getTimeSigModel().getNumerator() ); break; default: break; } + + m_majorValue.setText( QString::number( major ).rightJustified( 4, '0' ) ); + m_minorValue.setText( QString::number( minor ).rightJustified( 2, '0' ).prepend( ':' ) ); + m_milliSecondsValue.setText( QString::number( milliSeconds ).rightJustified( 3, '0' ).prepend( '.' ) ); }