diff --git a/tests/previewtest.cpp b/tests/previewtest.cpp index 1eae767d..85aa2d57 100644 --- a/tests/previewtest.cpp +++ b/tests/previewtest.cpp @@ -1,70 +1,87 @@ #include "previewtest.h" #include #include #include #include #include #include +#include #include +#include #include PreviewTest::PreviewTest() : QWidget() { QGridLayout *layout = new QGridLayout(this); m_url = new QLineEdit(this); QString path; KIconLoader().loadMimeTypeIcon(QStringLiteral("video-x-generic"), KIconLoader::Desktop, 256, KIconLoader::DefaultState, QStringList(), &path); m_url->setText(path); layout->addWidget(m_url, 0, 0); QPushButton *btn = new QPushButton(QStringLiteral("Generate"), this); connect(btn, SIGNAL(clicked()), SLOT(slotGenerate())); layout->addWidget(btn, 0, 1); + + const KConfigGroup globalConfig(KSharedConfig::openConfig(), "PreviewSettings"); + const QStringList enabledPlugins = globalConfig.readEntry("Plugins", QStringList() + << QStringLiteral("directorythumbnail") + << QStringLiteral("imagethumbnail") + << QStringLiteral("jpegthumbnail")); + + m_plugins = new QLineEdit(this); + layout->addWidget(m_plugins, 1, 0, 1, 2); + m_plugins->setText(enabledPlugins.join("; ")); + m_preview = new QLabel(this); m_preview->setMinimumSize(400, 300); - layout->addWidget(m_preview, 1, 0, 1, 2); + layout->addWidget(m_preview, 2, 0, 1, 2); } void PreviewTest::slotGenerate() { KFileItemList items; items.append(KFileItem(QUrl::fromUserInput(m_url->text()))); - KIO::PreviewJob *job = KIO::filePreview(items, QSize(m_preview->width(), m_preview->height())); + QStringList enabledPlugins; + for (auto plugin : m_plugins->text().split(";")) + enabledPlugins << plugin.trimmed(); + + KIO::PreviewJob *job = KIO::filePreview(items, QSize(m_preview->width(), m_preview->height()), &enabledPlugins); connect(job, SIGNAL(result(KJob*)), SLOT(slotResult(KJob*))); connect(job, SIGNAL(gotPreview(KFileItem,QPixmap)), SLOT(slotPreview(KFileItem,QPixmap))); connect(job, SIGNAL(failed(KFileItem)), SLOT(slotFailed())); } void PreviewTest::slotResult(KJob *) { qDebug() << "PreviewTest::slotResult(...)"; } void PreviewTest::slotPreview(const KFileItem &, const QPixmap &pix) { qDebug() << "PreviewTest::slotPreview()"; m_preview->setPixmap(pix); } void PreviewTest::slotFailed() { qDebug() << "PreviewTest::slotFailed()"; m_preview->setText(QStringLiteral("failed")); } int main(int argc, char **argv) { QApplication app(argc, argv); PreviewTest *w = new PreviewTest; w->show(); return app.exec(); } diff --git a/tests/previewtest.h b/tests/previewtest.h index ec875d2c..e6ac7355 100644 --- a/tests/previewtest.h +++ b/tests/previewtest.h @@ -1,29 +1,30 @@ #ifndef PREVIEWTEST_H #define PREVIEWTEST_H #include #include class QLineEdit; class QLabel; class KFileItem; class PreviewTest : public QWidget { Q_OBJECT public: PreviewTest(); private Q_SLOTS: void slotGenerate(); void slotResult(KJob *); void slotPreview(const KFileItem &, const QPixmap &); void slotFailed(); private: QLineEdit *m_url; + QLineEdit *m_plugins; QLabel *m_preview; }; #endif