diff --git a/src/bin/mediabrowser.cpp b/src/bin/mediabrowser.cpp index 7566b877b6..4a299ea234 100644 --- a/src/bin/mediabrowser.cpp +++ b/src/bin/mediabrowser.cpp @@ -69,7 +69,10 @@ MediaBrowser::MediaBrowser(QWidget *parent) QAction *up = m_op->action(KDirOperator::Up); QAction *back = m_op->action(KDirOperator::Back); QAction *forward = m_op->action(KDirOperator::Forward); - QAction *inlinePreview = m_op->action(KDirOperator::ShowPreview); + m_inlinePreview = m_op->action(KDirOperator::ShowPreview); + m_inlinePreview->setShortcut({}); + m_inlinePreview->setChecked(KdenliveSettings::mediaBrowserInlinePreview()); + connect(m_inlinePreview, &QAction::triggered, this, [this](bool enable) { KdenliveSettings::setMediaBrowserInlinePreview(enable); }); QAction *previewPanel = m_op->action(KDirOperator::ShowPreviewPanel); previewPanel->setEnabled(false); previewPanel->setShortcut({}); @@ -85,7 +88,7 @@ MediaBrowser::MediaBrowser(QWidget *parent) tb->addAction(forward); tb->addAction(zoomOut); tb->addAction(zoomIn); - tb->addAction(inlinePreview); + tb->addAction(m_inlinePreview); tb->addAction(preview); tb->addSeparator(); tb->addAction(importAction); @@ -140,7 +143,6 @@ MediaBrowser::MediaBrowser(QWidget *parent) m_filenameEdit->clear(); } else { const QString fileName = item.url().fileName(); - qDebug() << ":::::: HIGHLIGHTD FILE: " << item.url(); if (!fileName.isEmpty()) { QUrl url = QUrl::fromLocalFile(fileName); m_filenameEdit->setUrl(QUrl(fileName)); @@ -293,8 +295,16 @@ void MediaBrowser::connectView() // always enable thumbnails if (m_op->previewGenerator()) { QStringList enabledPlugs = m_op->previewGenerator()->enabledPlugins(); + bool modified = false; if (!enabledPlugs.contains(QStringLiteral("ffmpegthumbs"))) { enabledPlugs << QStringLiteral("ffmpegthumbs"); + modified = true; + } + if (!enabledPlugs.contains(QStringLiteral("mltpreview"))) { + enabledPlugs << QStringLiteral("mltpreview"); + modified = true; + } + if (modified) { m_op->previewGenerator()->setEnabledPlugins(enabledPlugs); } } @@ -393,16 +403,20 @@ bool MediaBrowser::eventFilter(QObject *watched, QEvent *event) { // To avoid shortcut conflicts between the media browser and main app, we dis/enable actions when we gain/lose focus if (event->type() == QEvent::FocusIn) { - qDebug() << ":::::: \n\nFOCUS IN\n\n:::::::::::::::::"; disableAppShortcuts(); } else if (event->type() == QEvent::FocusOut) { - qDebug() << ":::::: \n\nFOCUS OUT\n\n:::::::::::::::::"; enableAppShortcuts(); } else if (event->type() == QEvent::Hide) { + if (KdenliveSettings::mediaBrowserInlinePreview()) { + m_inlinePreview->setChecked(false); + } if (m_op->dirLister()->autoUpdate()) { m_op->dirLister()->setAutoUpdate(false); } } else if (event->type() == QEvent::Show) { + if (KdenliveSettings::mediaBrowserInlinePreview()) { + m_inlinePreview->setChecked(true); + } if (!m_op->dirLister()->autoUpdate()) { m_op->dirLister()->setAutoUpdate(true); } diff --git a/src/bin/mediabrowser.h b/src/bin/mediabrowser.h index b70b801eca..dbf5a448c1 100644 --- a/src/bin/mediabrowser.h +++ b/src/bin/mediabrowser.h @@ -56,6 +56,7 @@ private: QList m_browserActions; QList m_conflictingAppActions; PreviewPanel *m_previewPanel; + QAction *m_inlinePreview{nullptr}; KFileItem m_item; QLabel *m_fileLabel; bool m_isVideo{false}; diff --git a/src/kdenlivesettings.kcfg b/src/kdenlivesettings.kcfg index afa1a96a27..364ed3193a 100644 --- a/src/kdenlivesettings.kcfg +++ b/src/kdenlivesettings.kcfg @@ -1566,6 +1566,10 @@ true + + true + + true diff --git a/thumbnailer/mltpreview.cpp b/thumbnailer/mltpreview.cpp index 883fa3a04f..9a6ce18e1a 100644 --- a/thumbnailer/mltpreview.cpp +++ b/thumbnailer/mltpreview.cpp @@ -39,7 +39,7 @@ KIO::ThumbnailResult MltPreview::create(const KIO::ThumbnailRequest &request) int width = request.targetSize().width(); int height = request.targetSize().height(); std::unique_ptr profile(new Mlt::Profile()); - std::shared_ptr producer(new Mlt::Producer(*profile.get(), request.url().toLocalFile().toUtf8().data())); + std::shared_ptr producer(new Mlt::Producer(*profile.get(), "xml-nogl", request.url().toLocalFile().toUtf8().data())); if (producer == nullptr || !producer->is_valid() || producer->is_blank()) { return KIO::ThumbnailResult::fail(); @@ -129,7 +129,7 @@ int MltPreview::imageVariance(const QImage &image) return 0; } QVarLengthArray pivot(STEPS); - qDebug() << "Using " << STEPS << " steps\n"; + // qDebug() << "Using " << STEPS << " steps\n"; const uchar *bits = image.bits(); // First pass: get pivots and taking average for (int i = 0; i < STEPS; i++) {