vcl/qt5/QtTransferable.cxx | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-)
New commits: commit 3ea5be4d93746e893e4963e5ddc2d028ce18c4e8 Author: Ujjawal Kumar <[email protected]> AuthorDate: Thu Feb 19 23:29:16 2026 +0530 Commit: Thorsten Behrens <[email protected]> CommitDate: Sun Feb 22 22:04:58 2026 +0100 Add markdown under paste special for backends requiring qt Change-Id: Ib03e95e32337b86f3c565d098d2efe7b6ed517ab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199880 Reviewed-by: Thorsten Behrens <[email protected]> Tested-by: Jenkins CollaboraOffice <[email protected]> diff --git a/vcl/qt5/QtTransferable.cxx b/vcl/qt5/QtTransferable.cxx index 6d4f002ec2d0..0c43ef9c1413 100644 --- a/vcl/qt5/QtTransferable.cxx +++ b/vcl/qt5/QtTransferable.cxx @@ -56,9 +56,9 @@ css::uno::Sequence<css::datatransfer::DataFlavor> SAL_CALL QtTransferable::getTr return css::uno::Sequence<css::datatransfer::DataFlavor>(); QStringList aFormatList(m_pMimeData->formats()); - // we might add the UTF-16 mime text variant later - const int nMimeTypeSeqSize = aFormatList.size() + 1; - bool bHaveNoCharset = false, bHaveUTF16 = false, bHaveUTF8 = false; + // we might add the UTF-16 mime text variant later and if plaintext is available then add markdown as well + const int nMimeTypeSeqSize = aFormatList.size() + 2; + bool bHaveNoCharset = false, bHaveUTF16 = false, bHaveUTF8 = false, bHavePlainText = false; css::uno::Sequence<css::datatransfer::DataFlavor> aMimeTypeSeq(nMimeTypeSeqSize); auto pMimeTypeSeq = aMimeTypeSeq.getArray(); @@ -79,6 +79,7 @@ css::uno::Sequence<css::datatransfer::DataFlavor> SAL_CALL QtTransferable::getTr bool bIsNoCharset = false, bIsUTF16 = false, bIsUTF8 = false; if (lcl_textMimeInfo(toOUString(rMimeType), bIsNoCharset, bIsUTF16, bIsUTF8)) { + bHavePlainText = true; bHaveNoCharset |= bIsNoCharset; bHaveUTF16 |= bIsUTF16; bHaveUTF8 |= bIsUTF8; @@ -108,6 +109,15 @@ css::uno::Sequence<css::datatransfer::DataFlavor> SAL_CALL QtTransferable::getTr nMimeTypeCount++; } + if (bHavePlainText) + { + aFlavor.MimeType = "text/markdown"; + aFlavor.DataType = cppu::UnoType<OUString>::get(); + assert(nMimeTypeCount < nMimeTypeSeqSize); + pMimeTypeSeq[nMimeTypeCount] = aFlavor; + nMimeTypeCount++; + } + aMimeTypeSeq.realloc(nMimeTypeCount); return aMimeTypeSeq; @@ -128,7 +138,7 @@ css::uno::Any SAL_CALL QtTransferable::getTransferData(const css::datatransfer:: if (!isDataFlavorSupported(rFlavor)) return aAny; - if (rFlavor.MimeType == "text/plain;charset=utf-16") + if (rFlavor.MimeType == "text/plain;charset=utf-16" || rFlavor.MimeType == "text/markdown") { OUString aString; // use existing UTF-16 encoded MIME data if present
