X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Ftimecodedisplay.cpp;h=a98659ed9b832de832a8cd74608cd9db9e42ea22;hb=56aee6aedeeed3efd10ada8fe3c229eddc01ef05;hp=93cf6d84ea2cdbe779957dcf5d8dc3c611872217;hpb=a1f0a54b93ab364a37fd8242c1881c61d066ada7;p=kdenlive diff --git a/src/timecodedisplay.cpp b/src/timecodedisplay.cpp index 93cf6d84..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), @@ -72,7 +72,6 @@ void TimecodeDisplay::stepBy(int steps) { int val = m_value + steps; setValue(val); - emit editingFinished(); } void TimecodeDisplay::setTimeCodeFormat(bool frametimecode, bool init) @@ -97,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()); @@ -121,14 +120,12 @@ void TimecodeDisplay::mouseReleaseEvent(QMouseEvent *e) } } -/* + void TimecodeDisplay::wheelEvent(QWheelEvent *e) { - if (e->delta() > 0) - slotValueUp(); - else - slotValueDown(); -}*/ + QAbstractSpinBox::wheelEvent(e); + clearFocus(); +} int TimecodeDisplay::maximum() const @@ -173,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())); } @@ -195,7 +195,7 @@ void TimecodeDisplay::slotEditingFinished() lineEdit()->deselect(); if (m_frametimecode) setValue(lineEdit()->text().toInt()); else setValue(lineEdit()->text()); - emit editingFinished(); + emit timeCodeEditingFinished(); } #include