X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmarkerdialog.cpp;h=a99d93fff108b81ae5e150f336d8c87cf35725a2;hb=a4609c2ef7c72cc692f1a43b305bafe354e3137e;hp=3402fb2b5fe3140a2a536295431297bf75036345;hpb=3c98191107f87acbb743c4d17d4db51836ff3317;p=kdenlive diff --git a/src/markerdialog.cpp b/src/markerdialog.cpp index 3402fb2b..a99d93ff 100644 --- a/src/markerdialog.cpp +++ b/src/markerdialog.cpp @@ -27,10 +27,11 @@ MarkerDialog::MarkerDialog(DocClipBase *clip, CommentedTime t, Timecode tc, const QString &caption, QWidget * parent) : - QDialog(parent), - m_producer(NULL), - m_profile(NULL), - m_clip(clip) + QDialog(parent) + , m_producer(NULL) + , m_profile(NULL) + , m_clip(clip) + , m_dar(4.0 / 3.0) { setFont(KGlobalSettings::toolBarFont()); setupUi(this); @@ -64,11 +65,11 @@ MarkerDialog::MarkerDialog(DocClipBase *clip, CommentedTime t, Timecode tc, cons //char *tmp = doc.toString().toUtf8().data(); m_producer = new Mlt::Producer(*m_profile, "xml-string", doc.toString().toUtf8().data()); //delete[] tmp; - int width = 100.0 * m_dar; + int width = Kdenlive::DefaultThumbHeight * m_dar; if (width % 2 == 1) width++; QPixmap p(width, 100); QString colour = clip->getProperty("colour"); - int swidth = (int) (100.0 * m_profile->width() / m_profile->height() + 0.5); + int swidth = (int) (Kdenlive::DefaultThumbHeight * m_profile->width() / m_profile->height() + 0.5); switch (m_clip->clipType()) { case VIDEO: @@ -78,7 +79,8 @@ MarkerDialog::MarkerDialog(DocClipBase *clip, CommentedTime t, Timecode tc, cons connect(this, SIGNAL(updateThumb()), m_previewTimer, SLOT(start())); case IMAGE: case TEXT: - p = QPixmap::fromImage(KThumb::getFrame(m_producer, m_in->getValue(), swidth, width, 100)); + m_image = KThumb::getFrame(m_producer, m_in->getValue(), swidth, width, Kdenlive::DefaultThumbHeight); + p = QPixmap::fromImage(m_image); break; case COLOR: colour = colour.replace(0, 2, "#"); @@ -96,6 +98,8 @@ MarkerDialog::MarkerDialog(DocClipBase *clip, CommentedTime t, Timecode tc, cons connect(m_in, SIGNAL(timeCodeEditingFinished()), this, SIGNAL(updateThumb())); } else { clip_thumb->setHidden(true); + label_category->setHidden(true); + marker_type->setHidden(true); } marker_comment->setText(t.comment()); @@ -119,13 +123,19 @@ void MarkerDialog::slotUpdateThumb() int width = 100.0 * m_dar; int swidth = (int) (100.0 * m_profile->width() / m_profile->height() + 0.5); if (width % 2 == 1) width++; - QPixmap p = QPixmap::fromImage(KThumb::getFrame(m_producer, pos, swidth, width, 100)); + m_image = KThumb::getFrame(m_producer, pos, swidth, width, 100); + QPixmap p = QPixmap::fromImage(m_image); if (!p.isNull()) clip_thumb->setPixmap(p); else kDebug() << "!!!!!!!!!!! ERROR CREATING THUMB"; } +QImage MarkerDialog::markerImage() const +{ + return m_image; +} + CommentedTime MarkerDialog::newMarker() { KdenliveSettings::setDefault_marker_type(marker_type->currentIndex());