X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmarkerdialog.cpp;h=2f9ff112928e55f7f144f3fbc9c7d60a9e39ec3b;hb=a28dc9532fb0fe6f9dd07cfdb1029ce17bd98e4b;hp=90969a47ca8a467263d60d2cafba21d1886287ce;hpb=4f2ff860ac2157cbc10dec34eafac61a41ffc0ce;p=kdenlive diff --git a/src/markerdialog.cpp b/src/markerdialog.cpp index 90969a47..2f9ff112 100644 --- a/src/markerdialog.cpp +++ b/src/markerdialog.cpp @@ -31,11 +31,12 @@ MarkerDialog::MarkerDialog(DocClipBase *clip, CommentedTime t, Timecode tc, cons m_producer(NULL), m_profile(NULL), m_clip(clip), - m_tc(tc) + m_tc(tc), + m_frameDisplay(KdenliveSettings::frametimecode()) { setFont(KGlobalSettings::toolBarFont()); m_fps = m_tc.fps(); - m_view.setupUi(this); + setupUi(this); setWindowTitle(caption); m_previewTimer = new QTimer(this); @@ -65,7 +66,7 @@ MarkerDialog::MarkerDialog(DocClipBase *clip, CommentedTime t, Timecode tc, cons connect(this, SIGNAL(updateThumb()), m_previewTimer, SLOT(start())); case IMAGE: case TEXT: - p = KThumb::getFrame(m_producer, t.time().frames(m_fps), width, 100); + p = QPixmap::fromImage(KThumb::getFrame(m_producer, t.time().frames(m_fps), width, 100)); break; case COLOR: colour = colour.replace(0, 2, "#"); @@ -75,21 +76,26 @@ MarkerDialog::MarkerDialog(DocClipBase *clip, CommentedTime t, Timecode tc, cons p.fill(Qt::black); } if (!p.isNull()) { - m_view.clip_thumb->setFixedWidth(p.width()); - m_view.clip_thumb->setFixedHeight(p.height()); - m_view.clip_thumb->setPixmap(p); + clip_thumb->setFixedWidth(p.width()); + clip_thumb->setFixedHeight(p.height()); + clip_thumb->setPixmap(p); } - connect(m_view.marker_position, SIGNAL(textChanged(const QString &)), this, SIGNAL(updateThumb())); - } else m_view.clip_thumb->setHidden(true); + connect(marker_position, SIGNAL(textChanged(const QString &)), this, SIGNAL(updateThumb())); + } else clip_thumb->setHidden(true); - m_view.marker_position->setText(tc.getTimecode(t.time())); + if (m_frameDisplay) { + QValidator *valid = new QIntValidator(this); + marker_position->setInputMask(""); + marker_position->setValidator(valid); + } else marker_position->setInputMask(tc.inputMask()); + marker_position->setText(tc.getDisplayTimecode(t.time(), m_frameDisplay)); - m_view.marker_comment->setText(t.comment()); - m_view.marker_comment->selectAll(); - m_view.marker_comment->setFocus(); + marker_comment->setText(t.comment()); + marker_comment->selectAll(); + marker_comment->setFocus(); - connect(m_view.position_up, SIGNAL(clicked()), this, SLOT(slotTimeUp())); - connect(m_view.position_down, SIGNAL(clicked()), this, SLOT(slotTimeDown())); + connect(position_up, SIGNAL(clicked()), this, SLOT(slotTimeUp())); + connect(position_down, SIGNAL(clicked()), this, SLOT(slotTimeDown())); adjustSize(); } @@ -104,38 +110,38 @@ MarkerDialog::~MarkerDialog() void MarkerDialog::slotUpdateThumb() { m_previewTimer->stop(); - int pos = m_tc.getFrameCount(m_view.marker_position->text()); + int pos = m_tc.getDisplayFrameCount(marker_position->text(), m_frameDisplay); int width = 100.0 * m_dar; if (width % 2 == 1) width++; - QPixmap p = KThumb::getFrame(m_producer, pos, width, 100); - if (!p.isNull()) m_view.clip_thumb->setPixmap(p); + QPixmap p = QPixmap::fromImage(KThumb::getFrame(m_producer, pos, width, 100)); + if (!p.isNull()) clip_thumb->setPixmap(p); else kDebug() << "!!!!!!!!!!! ERROR CREATING THUMB"; } void MarkerDialog::slotTimeUp() { - int duration = m_tc.getFrameCount(m_view.marker_position->text()); + int duration = m_tc.getDisplayFrameCount(marker_position->text(), m_frameDisplay); if (m_clip && duration >= m_clip->duration().frames(m_fps)) return; duration ++; - m_view.marker_position->setText(m_tc.getTimecode(GenTime(duration, m_fps))); + marker_position->setText(m_tc.getDisplayTimecode(GenTime(duration, m_fps), m_frameDisplay)); } void MarkerDialog::slotTimeDown() { - int duration = m_tc.getFrameCount(m_view.marker_position->text()); + int duration = m_tc.getDisplayFrameCount(marker_position->text(), m_frameDisplay); if (duration <= 0) return; duration --; - m_view.marker_position->setText(m_tc.getTimecode(GenTime(duration, m_fps))); + marker_position->setText(m_tc.getDisplayTimecode(GenTime(duration, m_fps), m_frameDisplay)); } CommentedTime MarkerDialog::newMarker() { - return CommentedTime(GenTime(m_tc.getFrameCount(m_view.marker_position->text()), m_fps), m_view.marker_comment->text()); + return CommentedTime(GenTime(m_tc.getDisplayFrameCount(marker_position->text(), m_frameDisplay), m_fps), marker_comment->text()); } void MarkerDialog::wheelEvent(QWheelEvent * event) { - if (m_view.marker_position->underMouse() || m_view.clip_thumb->underMouse()) { + if (marker_position->underMouse() || clip_thumb->underMouse()) { if (event->delta() > 0) slotTimeUp(); else