X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftimecodedisplay.cpp;h=a98659ed9b832de832a8cd74608cd9db9e42ea22;hb=56aee6aedeeed3efd10ada8fe3c229eddc01ef05;hp=fe4ed4cb6a55a9b0090730d060bd434b03ee0ffe;hpb=3c98191107f87acbb743c4d17d4db51836ff3317;p=kdenlive diff --git a/src/timecodedisplay.cpp b/src/timecodedisplay.cpp index fe4ed4cb..a98659ed 100644 --- a/src/timecodedisplay.cpp +++ b/src/timecodedisplay.cpp @@ -31,7 +31,7 @@ #include #include -TimecodeDisplay::TimecodeDisplay(Timecode t, QWidget *parent) +TimecodeDisplay::TimecodeDisplay(const Timecode& t, QWidget *parent) : QAbstractSpinBox(parent), m_timecode(t), m_frametimecode(false), @@ -96,7 +96,7 @@ void TimecodeDisplay::slotUpdateTimeCodeFormat() setTimeCodeFormat(KdenliveSettings::frametimecode()); } -void TimecodeDisplay::updateTimeCode(Timecode t) +void TimecodeDisplay::updateTimeCode(const Timecode &t) { m_timecode = t; setTimeCodeFormat(KdenliveSettings::frametimecode()); @@ -170,18 +170,21 @@ void TimecodeDisplay::setValue(int value) value = m_minimum; if (m_maximum > m_minimum && value > m_maximum) value = m_maximum; - if (value == m_value && !lineEdit()->text().isEmpty()) return; - m_value = value; - if (m_frametimecode) + if (m_frametimecode) { + if (value == m_value && !lineEdit()->text().isEmpty()) return; + m_value = value; lineEdit()->setText(QString::number(value)); + } else { + if (value == m_value && lineEdit()->text() != ":::") return; + m_value = value; QString v = m_timecode.getTimecodeFromFrames(value); lineEdit()->setText(v); } } -void TimecodeDisplay::setValue(GenTime value) +void TimecodeDisplay::setValue(const GenTime &value) { setValue((int) value.frames(m_timecode.fps())); }