sc/source/ui/app/seltrans.cxx | 3 +++ sc/source/ui/app/transobj.cxx | 29 ++++++++++++++++++++++------- 2 files changed, 25 insertions(+), 7 deletions(-)
New commits: commit 33e53bf634b629357dd643a900d3969ad2622510 Author: Varun Dhall <varun.dh...@studentpartner.com> Date: Tue Jun 6 21:25:08 2017 +0530 EditEngine: Added ODF_TEXT_FLAT copy for sc Change-Id: I5e48a6e711f1f7bb5f22b69e2e7c364e4d6edb6b Reviewed-on: https://gerrit.libreoffice.org/38460 Reviewed-by: Michael Stahl <mst...@redhat.com> Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Eike Rathke <er...@redhat.com> diff --git a/sc/source/ui/app/seltrans.cxx b/sc/source/ui/app/seltrans.cxx index 9fcbf4aaec8a..eaa4d9388791 100644 --- a/sc/source/ui/app/seltrans.cxx +++ b/sc/source/ui/app/seltrans.cxx @@ -193,7 +193,10 @@ void ScSelectionTransferObj::AddSupportedFormats() AddFormat( SotClipboardFormatId::RTF ); AddFormat( SotClipboardFormatId::RICHTEXT ); if ( eMode == SC_SELTRANS_CELL ) + { AddFormat( SotClipboardFormatId::EDITENGINE ); + AddFormat( SotClipboardFormatId::EDITENGINE_ODF_TEXT_FLAT ); + } break; // different graphic formats as in ScDrawTransferObj::AddSupportedFormats: diff --git a/sc/source/ui/app/transobj.cxx b/sc/source/ui/app/transobj.cxx index 1ec4aa38909c..388e4bd24a03 100644 --- a/sc/source/ui/app/transobj.cxx +++ b/sc/source/ui/app/transobj.cxx @@ -69,10 +69,11 @@ using namespace com::sun::star; -#define SCTRANS_TYPE_IMPEX SotClipboardFormatId::STRING -#define SCTRANS_TYPE_EDIT_RTF SotClipboardFormatId::BITMAP -#define SCTRANS_TYPE_EDIT_BIN SotClipboardFormatId::GDIMETAFILE -#define SCTRANS_TYPE_EMBOBJ SotClipboardFormatId::PRIVATE +#define SCTRANS_TYPE_IMPEX SotClipboardFormatId::STRING +#define SCTRANS_TYPE_EDIT_RTF SotClipboardFormatId::BITMAP +#define SCTRANS_TYPE_EDIT_BIN SotClipboardFormatId::GDIMETAFILE +#define SCTRANS_TYPE_EMBOBJ SotClipboardFormatId::PRIVATE +#define SCTRANS_TYPE_EDIT_ODF_TEXT_FLAT SotClipboardFormatId::EDITENGINE_ODF_TEXT_FLAT void ScTransferObj::GetAreaSize( ScDocument* pDoc, SCTAB nTab1, SCTAB nTab2, SCROW& nRow, SCCOL& nCol ) { @@ -242,7 +243,10 @@ void ScTransferObj::AddSupportedFormats() AddFormat( SotClipboardFormatId::RTF ); AddFormat( SotClipboardFormatId::RICHTEXT ); if ( aBlock.aStart == aBlock.aEnd ) + { AddFormat( SotClipboardFormatId::EDITENGINE ); + AddFormat( SotClipboardFormatId::EDITENGINE_ODF_TEXT_FLAT ); + } } bool ScTransferObj::GetData( const datatransfer::DataFlavor& rFlavor, const OUString& /*rDestDoc*/ ) @@ -257,8 +261,8 @@ bool ScTransferObj::GetData( const datatransfer::DataFlavor& rFlavor, const OUSt bOK = SetTransferableObjectDescriptor( aObjDesc ); } else if ( ( nFormat == SotClipboardFormatId::RTF || nFormat == SotClipboardFormatId::RICHTEXT || - nFormat == SotClipboardFormatId::EDITENGINE ) && - aBlock.aStart == aBlock.aEnd ) + nFormat == SotClipboardFormatId::EDITENGINE || nFormat == SotClipboardFormatId::EDITENGINE_ODF_TEXT_FLAT ) + && aBlock.aStart == aBlock.aEnd ) { // RTF from a single cell is handled by EditEngine @@ -287,7 +291,7 @@ bool ScTransferObj::GetData( const datatransfer::DataFlavor& rFlavor, const OUSt } bOK = SetObject( &aEngine, - (nFormat == SotClipboardFormatId::RTF) ? SCTRANS_TYPE_EDIT_RTF : SCTRANS_TYPE_EDIT_BIN, + (nFormat == SotClipboardFormatId::RTF) ? SCTRANS_TYPE_EDIT_RTF : ( (nFormat == SotClipboardFormatId::EDITENGINE_ODF_TEXT_FLAT) ? SCTRANS_TYPE_EDIT_ODF_TEXT_FLAT : SCTRANS_TYPE_EDIT_BIN), rFlavor ); } else if ( ScImportExport::IsFormatSupported( nFormat ) || nFormat == SotClipboardFormatId::RTF @@ -449,6 +453,17 @@ bool ScTransferObj::WriteObject( tools::SvRef<SotStorageStream>& rxOStm, void* p } break; + case SCTRANS_TYPE_EDIT_ODF_TEXT_FLAT: + { + ScTabEditEngine* pEngine = static_cast<ScTabEditEngine*>(pUserObject); + if ( nUserObjectId == SCTRANS_TYPE_EDIT_ODF_TEXT_FLAT ) + { + pEngine->Write( *rxOStm, EE_FORMAT_XML ); + bRet = ( rxOStm->GetError() == ERRCODE_NONE ); + } + } + break; + case SCTRANS_TYPE_EMBOBJ: { // TODO/MBA: testing _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits