X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fpositionedit.cpp;h=f03b8da3c8135a7dde1b4a4bbb7380b9de7e0fa3;hb=11a4d09164d3e0d7dcbe5891cb5ccc8c50c89e17;hp=44d800f05f60711702a8e94439793c2f3c0da37a;hpb=405ebfa31dec2209eca7031b7ee781f5ca7be10d;p=kdenlive diff --git a/src/positionedit.cpp b/src/positionedit.cpp index 44d800f0..f03b8da3 100644 --- a/src/positionedit.cpp +++ b/src/positionedit.cpp @@ -16,35 +16,38 @@ ***************************************************************************/ #include "positionedit.h" +#include "timecodedisplay.h" #include "kdenlivesettings.h" #include #include #include +#include PositionEdit::PositionEdit(const QString name, int pos, int min, int max, const Timecode tc, QWidget* parent) : QWidget(parent) { - QVBoxLayout *l = new QVBoxLayout; - QLabel *lab = new QLabel(name); - l->addWidget(lab); + QHBoxLayout *layout = new QHBoxLayout(this); + + QLabel *label = new QLabel(name, this); - QHBoxLayout *l2 = new QHBoxLayout; - m_display = new TimecodeDisplay(tc); m_slider = new QSlider(Qt::Horizontal); m_slider->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred)); + m_slider->setRange(min, max); + + m_display = new TimecodeDisplay(tc, this); m_display->setSizePolicy(QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Preferred)); - l2->addWidget(m_display); - l2->addWidget(m_slider); m_display->setRange(min, max); - m_slider->setRange(min, max); + + layout->addWidget(label); + layout->addWidget(m_slider); + layout->addWidget(m_display); + connect(m_slider, SIGNAL(valueChanged(int)), m_display, SLOT(setValue(int))); - connect(m_slider, SIGNAL(valueChanged(int)), this, SIGNAL(parameterChanged())); + connect(m_slider, SIGNAL(valueChanged(int)), this, SIGNAL(parameterChanged(int))); connect(m_display, SIGNAL(editingFinished()), this, SLOT(slotUpdatePosition())); m_slider->setValue(pos); - l->addLayout(l2); - setLayout(l); } PositionEdit::~PositionEdit() @@ -68,15 +71,20 @@ int PositionEdit::getPosition() const void PositionEdit::setPosition(int pos) { m_slider->setValue(pos); - m_display->setValue(pos); } - void PositionEdit::slotUpdatePosition() { m_slider->blockSignals(true); m_slider->setValue(m_display->getValue()); m_slider->blockSignals(false); - emit parameterChanged(); + emit parameterChanged(m_display->getValue()); +} + +void PositionEdit::setRange(int min, int max) +{ + m_slider->setRange(min, max); + m_display->setRange(min, max); } +#include "positionedit.moc"