diff --git a/klipper/clipboardjob.cpp b/klipper/clipboardjob.cpp
index 0344bebda..c27555b45 100644
--- a/klipper/clipboardjob.cpp
+++ b/klipper/clipboardjob.cpp
@@ -25,6 +25,12 @@ along with this program. If not, see .
#include
#include
+const static QString s_iconKey = QStringLiteral("icon");
+const static QString s_previewKey = QStringLiteral("preview");
+const static QString s_previewWidthKey = QStringLiteral("previewWidth");
+const static QString s_previewHeightKey = QStringLiteral("previewHeight");
+const static QString s_urlKey = QStringLiteral("url");
+
ClipboardJob::ClipboardJob(Klipper *klipper, const QString &destination, const QString &operation, const QVariantMap ¶meters, QObject *parent)
: Plasma::ServiceJob(destination, operation, parameters, parent)
, m_klipper(klipper)
@@ -34,7 +40,6 @@ ClipboardJob::ClipboardJob(Klipper *klipper, const QString &destination, const Q
void ClipboardJob::start()
{
const QString operation = operationName();
- //qDebug()<< "OP: " << operation << parameters();
// first check for operations not needing an item
if (operation == QLatin1String("clearHistory")) {
m_klipper->slotAskClearHistory();
@@ -85,11 +90,10 @@ void ClipboardJob::start()
m_klipper->urlGrabber()->invokeAction(item);
setResult(true);
- } else if (operation == QStringLiteral("preview")) {
-
- const int pixelWidth = parameters().value("previewWidth").toInt();
- const int pixelHeight = parameters().value("previewHeight").toInt();
- QUrl url = parameters().value("url").toUrl();
+ } else if (operation == s_previewKey) {
+ const int pixelWidth = parameters().value(s_previewWidthKey).toInt();
+ const int pixelHeight = parameters().value(s_previewHeightKey).toInt();
+ QUrl url = parameters().value(s_urlKey).toUrl();
qDebug() << "URL: " << url;
KFileItem item(url);
@@ -100,7 +104,7 @@ void ClipboardJob::start()
}
if (!url.isValid() || !url.isLocalFile()) { // no remote files
- qWarning() << "invalid or non-local: " << url << pixelWidth << "x" << pixelHeight;
+ qWarning() << "Invalid or non-local url for preview: " << url;
iconResult(item);
return;
}
@@ -108,25 +112,22 @@ void ClipboardJob::start()
KFileItemList urls;
urls << item;
- KIO::PreviewJob* job = KIO::filePreview(urls,
- QSize(pixelWidth, pixelHeight));
+ KIO::PreviewJob* job = KIO::filePreview(urls, QSize(pixelWidth, pixelHeight));
job->setIgnoreMaximumSize(true);
connect(job, &KIO::PreviewJob::gotPreview, this,
- [this](KFileItem item, QPixmap preview) {
- qDebug() << "============== Preview arrived: " << item.url() << preview.size();
+ [this](const KFileItem &item, const QPixmap &preview) {
QVariantMap res;
- res.insert("url", item.url());
- res.insert("preview", preview);
- res.insert("icon", false);
- res.insert("previewWidth", preview.size().width());
- res.insert("previewHeight", preview.size().height());
+ res.insert(s_urlKey, item.url());
+ res.insert(s_previewKey, preview);
+ res.insert(s_iconKey, false);
+ res.insert(s_previewWidthKey, preview.size().width());
+ res.insert(s_previewHeightKey, preview.size().height());
setResult(res);
emitResult();
}
);
connect(job, &KIO::PreviewJob::failed, this,
- [&](KFileItem item) {
- qWarning() << "PreviewJob failed for" << item.url() << qobject_cast(sender())->errorString();
+ [this](const KFileItem &item) {
iconResult(item);
}
);
@@ -143,14 +144,13 @@ void ClipboardJob::start()
void ClipboardJob::iconResult(const KFileItem& item)
{
QVariantMap res;
- res.insert("url", item.url());
+ res.insert(s_urlKey, item.url());
QPixmap pix = QIcon::fromTheme(item.currentMimeType().iconName()).pixmap(128, 128);
- qDebug() << "Setting icon" << pix.size();
- res.insert("preview", pix);
- res.insert("icon", true);
+ res.insert(s_previewKey, pix);
+ res.insert(s_iconKey, true);
res.insert("iconName", item.currentMimeType().iconName());
- res.insert("previewWidth", pix.size().width());
- res.insert("previewHeight", pix.size().height());
+ res.insert(s_previewWidthKey, pix.size().width());
+ res.insert(s_previewHeightKey, pix.size().height());
setResult(res);
emitResult();
}
diff --git a/klipper/clipboardjob.h b/klipper/clipboardjob.h
index 8ce9cb558..376913800 100644
--- a/klipper/clipboardjob.h
+++ b/klipper/clipboardjob.h
@@ -20,8 +20,8 @@ along with this program. If not, see .
#define KLIPPER_CLIPBOARDJOB_H
#include
-#include
+class KFileItem;
class Klipper;
class ClipboardJob : public Plasma::ServiceJob