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 <thorsten.behrens@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201495 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202307 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
This commit is contained in:
committed by
Michael Stahl
parent
0186a604d2
commit
a3eb702383
@@ -54,9 +54,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();
|
||||
|
||||
@@ -90,6 +90,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;
|
||||
@@ -119,6 +120,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;
|
||||
@@ -139,7 +149,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
|
||||
|
||||
Reference in New Issue
Block a user