summaryrefslogtreecommitdiff
path: root/sd/source/ui/view/sdview3.cxx
diff options
context:
space:
mode:
authorOliver Specht <oliver.specht@cib.de>2016-12-30 16:47:17 +0100
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2017-01-09 00:34:30 +0000
commit048e30c1f8231e6cd144a9251061f6fa127b353e (patch)
tree712f9d5cf96f28e01eb980f6314df855b619a7eb /sd/source/ui/view/sdview3.cxx
parent6f0993f2365cd8b6ce53f7a6e705c7fc9bd07ab6 (diff)
tdf#101828 handle rtf/richtext correctly
Change-Id: Id894f62a918bd6e6fa59f8d546307343bf2bd4b0 Reviewed-on: https://gerrit.libreoffice.org/32682 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'sd/source/ui/view/sdview3.cxx')
-rw-r--r--sd/source/ui/view/sdview3.cxx15
1 files changed, 9 insertions, 6 deletions
diff --git a/sd/source/ui/view/sdview3.cxx b/sd/source/ui/view/sdview3.cxx
index c095f87f28f8..b39c47547a99 100644
--- a/sd/source/ui/view/sdview3.cxx
+++ b/sd/source/ui/view/sdview3.cxx
@@ -327,14 +327,16 @@ bool View::InsertData( const TransferableDataHelper& rDataHelper,
bool bTable = false;
// check special cases for pasting table formats as RTL
- if( !bLink && (nFormat == SotClipboardFormatId::NONE || (nFormat == SotClipboardFormatId::RTF)) )
+ if( !bLink && (nFormat == SotClipboardFormatId::NONE || (nFormat == SotClipboardFormatId::RTF) || (nFormat == SotClipboardFormatId::RICHTEXT)) )
{
// if the objekt supports rtf and there is a table involved, default is to create a table
- if( aDataHelper.HasFormat( SotClipboardFormatId::RTF ) && ! aDataHelper.HasFormat( SotClipboardFormatId::DRAWING ) )
+ bool bIsRTF = aDataHelper.HasFormat( SotClipboardFormatId::RTF );
+ if( ( bIsRTF || aDataHelper.HasFormat( SotClipboardFormatId::RICHTEXT ) )
+ && ! aDataHelper.HasFormat( SotClipboardFormatId::DRAWING ) )
{
::tools::SvRef<SotStorageStream> xStm;
- if( aDataHelper.GetSotStorageStream( SotClipboardFormatId::RTF, xStm ) )
+ if( aDataHelper.GetSotStorageStream( bIsRTF ? SotClipboardFormatId::RTF : SotClipboardFormatId::RICHTEXT, xStm ) )
{
xStm->Seek( 0 );
@@ -345,7 +347,7 @@ bool View::InsertData( const TransferableDataHelper& rDataHelper,
if (x != -1)
{
bTable = true;
- nFormat = SotClipboardFormatId::RTF;
+ nFormat = bIsRTF ? SotClipboardFormatId::RTF : SotClipboardFormatId::RICHTEXT;
break;
}
}
@@ -1419,11 +1421,12 @@ bool View::InsertData( const TransferableDataHelper& rDataHelper,
}
}
- if(!bReturn && !bLink && CHECK_FORMAT_TRANS(SotClipboardFormatId::RTF))
+ bool bIsRTF = false;
+ if(!bReturn && !bLink && (( bIsRTF = CHECK_FORMAT_TRANS(SotClipboardFormatId::RTF) ) || CHECK_FORMAT_TRANS(SotClipboardFormatId::RICHTEXT) ))
{
::tools::SvRef<SotStorageStream> xStm;
- if( aDataHelper.GetSotStorageStream( SotClipboardFormatId::RTF, xStm ) )
+ if( aDataHelper.GetSotStorageStream( bIsRTF ? SotClipboardFormatId::RTF : SotClipboardFormatId::RICHTEXT, xStm ) )
{
xStm->Seek( 0 );