Changeset View
Changeset View
Standalone View
Standalone View
klipper/clipboardjob.cpp
Show First 20 Lines • Show All 44 Lines • ▼ Show 20 Line(s) | |||||
45 | 45 | | |||
46 | void ClipboardJob::start() | 46 | void ClipboardJob::start() | ||
47 | { | 47 | { | ||
48 | const QString operation = operationName(); | 48 | const QString operation = operationName(); | ||
49 | // first check for operations not needing an item | 49 | // first check for operations not needing an item | ||
50 | if (operation == QLatin1String("clearHistory")) { | 50 | if (operation == QLatin1String("clearHistory")) { | ||
51 | m_klipper->slotAskClearHistory(); | 51 | m_klipper->slotAskClearHistory(); | ||
52 | setResult(true); | 52 | setResult(true); | ||
53 | emitResult(); | | |||
54 | return; | 53 | return; | ||
55 | } else if (operation == QLatin1String("configureKlipper")) { | 54 | } else if (operation == QLatin1String("configureKlipper")) { | ||
56 | m_klipper->slotConfigure(); | 55 | m_klipper->slotConfigure(); | ||
57 | setResult(true); | 56 | setResult(true); | ||
58 | emitResult(); | | |||
59 | return; | 57 | return; | ||
60 | } | 58 | } | ||
61 | 59 | | |||
62 | // other operations need the item | 60 | // other operations need the item | ||
63 | HistoryItemConstPtr item = m_klipper->history()->find(QByteArray::fromBase64(destination().toUtf8())); | 61 | HistoryItemConstPtr item = m_klipper->history()->find(QByteArray::fromBase64(destination().toUtf8())); | ||
64 | if (item.isNull()) { | 62 | if (item.isNull()) { | ||
65 | setResult(false); | 63 | setResult(false); | ||
66 | emitResult(); | | |||
67 | return; | 64 | return; | ||
68 | } | 65 | } | ||
69 | if (operation == QLatin1String("select")) { | 66 | if (operation == QLatin1String("select")) { | ||
70 | m_klipper->history()->slotMoveToTop(item->uuid()); | 67 | m_klipper->history()->slotMoveToTop(item->uuid()); | ||
71 | setResult(true); | 68 | setResult(true); | ||
72 | } else if (operation == QLatin1String("remove")) { | 69 | } else if (operation == QLatin1String("remove")) { | ||
73 | m_klipper->history()->remove(item); | 70 | m_klipper->history()->remove(item); | ||
74 | setResult(true); | 71 | setResult(true); | ||
75 | } else if (operation == QLatin1String("edit")) { | 72 | } else if (operation == QLatin1String("edit")) { | ||
76 | connect(m_klipper, &Klipper::editFinished, this, | 73 | connect(m_klipper, &Klipper::editFinished, this, | ||
77 | [this, item](HistoryItemConstPtr editedItem, int result) { | 74 | [this, item](HistoryItemConstPtr editedItem, int result) { | ||
78 | if (item != editedItem) { | 75 | if (item != editedItem) { | ||
79 | // not our item | 76 | // not our item | ||
80 | return; | 77 | return; | ||
81 | } | 78 | } | ||
82 | setResult(result); | 79 | setResult(result); | ||
83 | emitResult(); | | |||
84 | } | 80 | } | ||
85 | ); | 81 | ); | ||
86 | m_klipper->editData(item); | 82 | m_klipper->editData(item); | ||
87 | return; | 83 | return; | ||
88 | } else if (operation == QLatin1String("barcode")) { | 84 | } else if (operation == QLatin1String("barcode")) { | ||
89 | #ifdef HAVE_PRISON | 85 | #ifdef HAVE_PRISON | ||
90 | int pixelWidth = parameters().value(QStringLiteral("width")).toInt(); | 86 | int pixelWidth = parameters().value(QStringLiteral("width")).toInt(); | ||
91 | int pixelHeight = parameters().value(QStringLiteral("height")).toInt(); | 87 | int pixelHeight = parameters().value(QStringLiteral("height")).toInt(); | ||
Show All 30 Lines | |||||
122 | if (code) { | 118 | if (code) { | ||
123 | code->setData(item->text()); | 119 | code->setData(item->text()); | ||
124 | QFutureWatcher<QImage> *watcher = new QFutureWatcher<QImage>(this); | 120 | QFutureWatcher<QImage> *watcher = new QFutureWatcher<QImage>(this); | ||
125 | connect(watcher, &QFutureWatcher<QImage>::finished, this, | 121 | connect(watcher, &QFutureWatcher<QImage>::finished, this, | ||
126 | [this, watcher, code] { | 122 | [this, watcher, code] { | ||
127 | setResult(watcher->result()); | 123 | setResult(watcher->result()); | ||
128 | watcher->deleteLater(); | 124 | watcher->deleteLater(); | ||
129 | delete code; | 125 | delete code; | ||
130 | emitResult(); | | |||
131 | } | 126 | } | ||
132 | ); | 127 | ); | ||
133 | auto future = QtConcurrent::run(code, &Prison::AbstractBarcode::toImage, QSizeF(pixelWidth, pixelHeight)); | 128 | auto future = QtConcurrent::run(code, &Prison::AbstractBarcode::toImage, QSizeF(pixelWidth, pixelHeight)); | ||
134 | watcher->setFuture(future); | 129 | watcher->setFuture(future); | ||
135 | return; | 130 | return; | ||
136 | } else { | 131 | } else { | ||
137 | setResult(false); | 132 | setResult(false); | ||
138 | } | 133 | } | ||
Show All 32 Lines | 165 | connect(job, &KIO::PreviewJob::gotPreview, this, | |||
171 | [this](const KFileItem &item, const QPixmap &preview) { | 166 | [this](const KFileItem &item, const QPixmap &preview) { | ||
172 | QVariantMap res; | 167 | QVariantMap res; | ||
173 | res.insert(s_urlKey, item.url()); | 168 | res.insert(s_urlKey, item.url()); | ||
174 | res.insert(s_previewKey, preview); | 169 | res.insert(s_previewKey, preview); | ||
175 | res.insert(s_iconKey, false); | 170 | res.insert(s_iconKey, false); | ||
176 | res.insert(s_previewWidthKey, preview.size().width()); | 171 | res.insert(s_previewWidthKey, preview.size().width()); | ||
177 | res.insert(s_previewHeightKey, preview.size().height()); | 172 | res.insert(s_previewHeightKey, preview.size().height()); | ||
178 | setResult(res); | 173 | setResult(res); | ||
179 | emitResult(); | | |||
180 | } | 174 | } | ||
181 | ); | 175 | ); | ||
182 | connect(job, &KIO::PreviewJob::failed, this, | 176 | connect(job, &KIO::PreviewJob::failed, this, | ||
183 | [this](const KFileItem &item) { | 177 | [this](const KFileItem &item) { | ||
184 | iconResult(item); | 178 | iconResult(item); | ||
185 | } | 179 | } | ||
186 | ); | 180 | ); | ||
187 | 181 | | |||
Show All 12 Lines | 192 | { | |||
200 | res.insert(s_urlKey, item.url()); | 194 | res.insert(s_urlKey, item.url()); | ||
201 | QPixmap pix = QIcon::fromTheme(item.determineMimeType().iconName()).pixmap(128, 128); | 195 | QPixmap pix = QIcon::fromTheme(item.determineMimeType().iconName()).pixmap(128, 128); | ||
202 | res.insert(s_previewKey, pix); | 196 | res.insert(s_previewKey, pix); | ||
203 | res.insert(s_iconKey, true); | 197 | res.insert(s_iconKey, true); | ||
204 | res.insert(QStringLiteral("iconName"), item.currentMimeType().iconName()); | 198 | res.insert(QStringLiteral("iconName"), item.currentMimeType().iconName()); | ||
205 | res.insert(s_previewWidthKey, pix.size().width()); | 199 | res.insert(s_previewWidthKey, pix.size().width()); | ||
206 | res.insert(s_previewHeightKey, pix.size().height()); | 200 | res.insert(s_previewHeightKey, pix.size().height()); | ||
207 | setResult(res); | 201 | setResult(res); | ||
208 | emitResult(); | | |||
209 | } | 202 | } |