diff --git a/plugins/itemsync/filewatcher.cpp b/plugins/itemsync/filewatcher.cpp index 66ee9ba7d..1c920b42b 100644 --- a/plugins/itemsync/filewatcher.cpp +++ b/plugins/itemsync/filewatcher.cpp @@ -25,7 +25,7 @@ const QLatin1String mimeNoSave(COPYQ_MIME_PREFIX_ITEMSYNC "no-save"); const QLatin1String mimeSyncPath(COPYQ_MIME_PREFIX_ITEMSYNC "sync-path"); const QLatin1String mimeNoFormat(COPYQ_MIME_PREFIX_ITEMSYNC "no-format"); const QLatin1String mimeUnknownFormats(COPYQ_MIME_PREFIX_ITEMSYNC "unknown-formats"); -const QLatin1String mimePrivatePrefix(COPYQ_MIME_PREFIX_ITEMSYNC_PRIVATE); +const QLatin1String mimePrivateSyncPrefix(COPYQ_MIME_PREFIX_ITEMSYNC_PRIVATE); const QLatin1String mimeOldBaseName(COPYQ_MIME_PREFIX_ITEMSYNC_PRIVATE "old-basename"); const QLatin1String mimeHashPrefix(COPYQ_MIME_PREFIX_ITEMSYNC_PRIVATE "hash"); @@ -647,6 +647,8 @@ void FileWatcher::updateItems() const QModelIndex index = m_model->index(row, 0); if ( !oldBaseName(index).isEmpty() ) m_batchIndexData.append(index); + else + COPYQ_LOG_VERBOSE("Would create item"); } m_lastBatchIndex = -1; diff --git a/plugins/itemsync/filewatcher.h b/plugins/itemsync/filewatcher.h index 3cb19f749..9d0eff3be 100644 --- a/plugins/itemsync/filewatcher.h +++ b/plugins/itemsync/filewatcher.h @@ -18,7 +18,7 @@ struct Ext; struct BaseNameExtensions; #define COPYQ_MIME_PREFIX_ITEMSYNC COPYQ_MIME_PREFIX "itemsync-" -#define COPYQ_MIME_PREFIX_ITEMSYNC_PRIVATE COPYQ_MIME_PREFIX "itemsync-private-" +#define COPYQ_MIME_PREFIX_ITEMSYNC_PRIVATE COPYQ_MIME_PRIVATE_PREFIX "itemsync-" extern const QLatin1String mimeExtensionMap; extern const QLatin1String mimeBaseName; extern const QLatin1String mimeNoSave; @@ -26,7 +26,7 @@ extern const QLatin1String mimeSyncPath; extern const QLatin1String mimeNoFormat; extern const QLatin1String mimeUnknownFormats; -extern const QLatin1String mimePrivatePrefix; +extern const QLatin1String mimePrivateSyncPrefix; extern const QLatin1String mimeOldBaseName; extern const QLatin1String mimeHashPrefix; diff --git a/plugins/itemsync/itemsync.cpp b/plugins/itemsync/itemsync.cpp index 38ccd0489..8d3466d73 100644 --- a/plugins/itemsync/itemsync.cpp +++ b/plugins/itemsync/itemsync.cpp @@ -483,7 +483,7 @@ QVariantMap ItemSyncSaver::copyItem(const QAbstractItemModel &, const QVariantMa QVariantMap copiedItemData; for (auto it = itemData.begin(); it != itemData.constEnd(); ++it) { const auto &format = it.key(); - if ( !format.startsWith(mimePrivatePrefix) ) + if ( !format.startsWith(mimePrivateSyncPrefix) ) copiedItemData[format] = it.value(); } diff --git a/src/common/mimetypes.cpp b/src/common/mimetypes.cpp index 07c832af9..d00e8ebdc 100644 --- a/src/common/mimetypes.cpp +++ b/src/common/mimetypes.cpp @@ -4,6 +4,7 @@ #include +const QLatin1String mimePrivatePrefix(COPYQ_MIME_PRIVATE_PREFIX); const QLatin1String mimeText("text/plain"); const QLatin1String mimeTextUtf8("text/plain;charset=utf-8"); const QLatin1String mimeHtml("text/html"); diff --git a/src/common/mimetypes.h b/src/common/mimetypes.h index b1dbbe4a3..427f0339a 100644 --- a/src/common/mimetypes.h +++ b/src/common/mimetypes.h @@ -5,6 +5,9 @@ class QLatin1String; #define COPYQ_MIME_PREFIX "application/x-copyq-" +// Prefix for MIME format not visible to user for data private to plugins. +#define COPYQ_MIME_PRIVATE_PREFIX COPYQ_MIME_PREFIX "private-" +extern const QLatin1String mimePrivatePrefix; extern const QLatin1String mimeText; extern const QLatin1String mimeTextUtf8; extern const QLatin1String mimeHtml; diff --git a/src/item/clipboarditem.cpp b/src/item/clipboarditem.cpp index 214108da8..7d77378ad 100644 --- a/src/item/clipboarditem.cpp +++ b/src/item/clipboarditem.cpp @@ -63,7 +63,14 @@ bool ClipboardItem::setData(const QVariantMap &data) if (m_data == data) return false; + const auto oldData = m_data; m_data = data; + + for (auto it = oldData.constBegin(); it != oldData.constEnd(); ++it) { + if (it.key().startsWith(mimePrivatePrefix)) + m_data[it.key()] = it.value(); + } + invalidateDataHash(); return true; }