Files
oak-editor/app/widget/slider/timeslider.cpp
T
itsmattkc f2013a6f3d created time slider UI widget
Based on the integer slider, this can be used to interactively control time.
2019-12-08 00:11:47 +11:00

32 lines
788 B
C++

#include "timeslider.h"
#include "common/timecodefunctions.h"
TimeSlider::TimeSlider(QWidget *parent) :
IntegerSlider(parent)
{
SetMinimum(0);
}
void TimeSlider::SetTimebase(const rational &timebase)
{
timebase_ = timebase;
}
QString TimeSlider::ValueToString(const QVariant &v)
{
if (timebase_.isNull()) {
// We can't generate a timecode without a timebase, so we just return the number
return IntegerSlider::ValueToString(v);
}
return olive::timestamp_to_timecode(v.toLongLong(),
timebase_,
olive::CurrentTimecodeDisplay());
}
QVariant TimeSlider::StringToValue(const QString &s, bool *ok)
{
return olive::timecode_to_timestamp(s, timebase_, olive::CurrentTimecodeDisplay(), ok);
}