summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVarun Dhall <varun.dhall@studentpartner.com>2017-05-30 23:35:57 +0530
committerEike Rathke <erack@redhat.com>2017-06-07 14:40:08 +0200
commit223a04e77fe9702eb167e69165ec57c46512a845 (patch)
tree790b86a2ce788cd008dd03a09eafe801cf319769
parent33e53bf634b629357dd643a900d3969ad2622510 (diff)
EditEngine Exporting flat XML from actual clipboard
Allowing export of EditEngine document into flat XML from actual clipboard by modifying SotClipboardFormatId Change-Id: I9c7dfd3ca428d0fa355bd3dfb7bfa0f0e30dada6 Reviewed-on: https://gerrit.libreoffice.org/38226 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Eike Rathke <erack@redhat.com>
-rw-r--r--editeng/source/editeng/eeobj.cxx9
-rw-r--r--include/sot/formats.hxx3
-rw-r--r--sot/source/base/exchange.cxx3
3 files changed, 9 insertions, 6 deletions
diff --git a/editeng/source/editeng/eeobj.cxx b/editeng/source/editeng/eeobj.cxx
index 0c6bd1246c7c..1daac5eb10ed 100644
--- a/editeng/source/editeng/eeobj.cxx
+++ b/editeng/source/editeng/eeobj.cxx
@@ -53,13 +53,13 @@ uno::Any EditDataObject::getTransferData( const datatransfer::DataFlavor& rFlavo
{
aAny <<= GetString();
}
- else if ( ( nT == SotClipboardFormatId::EDITENGINE ) || ( nT == SotClipboardFormatId::RTF ) || ( nT == SotClipboardFormatId::RICHTEXT ) )
+ else if ( ( nT == SotClipboardFormatId::EDITENGINE ) || ( nT == SotClipboardFormatId::RTF ) || ( nT == SotClipboardFormatId::RICHTEXT ) || ( nT == SotClipboardFormatId::EDITENGINE_ODF_TEXT_FLAT ) )
{
// No RTF on demand any more:
// 1) Was not working, because I had to flush() the clipboard immediately anyway
// 2) Don't have the old pool defaults and the StyleSheetPool here.
- SvMemoryStream* pStream = ( nT == SotClipboardFormatId::EDITENGINE ) ? &GetStream() : &GetRTFStream();
+ SvMemoryStream* pStream = ( nT == SotClipboardFormatId::EDITENGINE ) ? &GetStream() : ( (nT == SotClipboardFormatId::EDITENGINE_ODF_TEXT_FLAT ) ? &GetODFStream() : &GetRTFStream() );
pStream->Seek( STREAM_SEEK_TO_END );
sal_Int32 nLen = pStream->Tell();
if (nLen < 0) { abort(); }
@@ -80,11 +80,12 @@ uno::Any EditDataObject::getTransferData( const datatransfer::DataFlavor& rFlavo
uno::Sequence< datatransfer::DataFlavor > EditDataObject::getTransferDataFlavors( )
{
- uno::Sequence< datatransfer::DataFlavor > aDataFlavors(4);
+ uno::Sequence< datatransfer::DataFlavor > aDataFlavors(5);
SotExchange::GetFormatDataFlavor( SotClipboardFormatId::EDITENGINE, aDataFlavors.getArray()[0] );
SotExchange::GetFormatDataFlavor( SotClipboardFormatId::STRING, aDataFlavors.getArray()[1] );
SotExchange::GetFormatDataFlavor( SotClipboardFormatId::RTF, aDataFlavors.getArray()[2] );
SotExchange::GetFormatDataFlavor( SotClipboardFormatId::RICHTEXT, aDataFlavors.getArray()[3] );
+ SotExchange::GetFormatDataFlavor( SotClipboardFormatId::EDITENGINE_ODF_TEXT_FLAT, aDataFlavors.getArray()[4] );
return aDataFlavors;
}
@@ -95,7 +96,7 @@ sal_Bool EditDataObject::isDataFlavorSupported( const datatransfer::DataFlavor&
SotClipboardFormatId nT = SotExchange::GetFormat( rFlavor );
if ( ( nT == SotClipboardFormatId::STRING ) || ( nT == SotClipboardFormatId::RTF ) || ( nT == SotClipboardFormatId::RICHTEXT )
- || ( nT == SotClipboardFormatId::EDITENGINE ) )
+ || ( nT == SotClipboardFormatId::EDITENGINE ) || ( nT == SotClipboardFormatId::EDITENGINE_ODF_TEXT_FLAT ) )
bSupported = true;
return bSupported;
diff --git a/include/sot/formats.hxx b/include/sot/formats.hxx
index 482f65bad44f..17a9adb5d11a 100644
--- a/include/sot/formats.hxx
+++ b/include/sot/formats.hxx
@@ -173,8 +173,9 @@ enum class SotClipboardFormatId : sal_uLong
MATHML = 143,
JPEG = 144,
RICHTEXT = 145,
+ EDITENGINE_ODF_TEXT_FLAT = 146,
// the point at which we start allocating "runtime" format IDs
- USER_END = RICHTEXT
+ USER_END = EDITENGINE_ODF_TEXT_FLAT
};
/** Make it easier to iterate over format IDs */
diff --git a/sot/source/base/exchange.cxx b/sot/source/base/exchange.cxx
index 943fbbe7c303..286f4c7e49e2 100644
--- a/sot/source/base/exchange.cxx
+++ b/sot/source/base/exchange.cxx
@@ -203,7 +203,8 @@ namespace
/*142 SotClipboardFormatId::STARWRITERGLOB_8_TEMPLATE*/ { MIMETYPE_OASIS_OPENDOCUMENT_TEXT_GLOBAL_TEMPLATE_ASCII, "Writer/Global 8 Template", &cppu::UnoType<Sequence<sal_Int8>>::get() },
/*143 SotClipboardFormatId::MATHML*/ { "application/mathml+xml", "MathML", &::cppu::UnoType<const Sequence< sal_Int8 >>::get() },
/*144 SotClipboardFormatId::JPEG*/ { "image/jpeg", "JPEG Bitmap", &cppu::UnoType<Sequence<sal_Int8>>::get() },
- /*145 SotClipboardFormatId::RICHTEXT*/ { "text/richtext", "Richtext Format", &cppu::UnoType<Sequence<sal_Int8>>::get() }
+ /*145 SotClipboardFormatId::RICHTEXT*/ { "text/richtext", "Richtext Format", &cppu::UnoType<Sequence<sal_Int8>>::get() },
+ /*146 SotClipboardFormatId::EDITENGINE_ODF_TEXT_FLAT*/ { "application/vnd.oasis.opendocument.text-flat-xml", "EditEngine ODF", &cppu::UnoType<Sequence<sal_Int8>>::get() }
};
return &aInstance[0];
}