parent
c85e8b9252
commit
42d103d2f2
@ -1,34 +0,0 @@
|
||||
From 8d12e4ec8b843d59661a12a7a92bfec7e4473e0f Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Thu, 4 Sep 2014 15:26:58 +0200
|
||||
Subject: [PATCH] No -fstack-protect-strong for gcc3_linux_aarch64/cpp2uno.cxx
|
||||
vtableSlotCall
|
||||
|
||||
Change-Id: I52efda594d87c37c2d38c61b54f1eebcc76cdfce
|
||||
---
|
||||
bridges/Library_cpp_uno.mk | 9 ++++++++-
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/bridges/Library_cpp_uno.mk b/bridges/Library_cpp_uno.mk
|
||||
index 33a5c00..c2e303d 100644
|
||||
--- a/bridges/Library_cpp_uno.mk
|
||||
+++ b/bridges/Library_cpp_uno.mk
|
||||
@@ -38,7 +38,14 @@ endif
|
||||
else ifeq ($(OS)-$(CPUNAME),LINUX-AARCH64)
|
||||
|
||||
bridges_SELECTED_BRIDGE := gcc3_linux_aarch64
|
||||
-bridge_exception_objects := abi callvirtualfunction cpp2uno uno2cpp
|
||||
+bridge_exception_objects := abi callvirtualfunction uno2cpp
|
||||
+
|
||||
+$(eval $(call gb_Library_add_cxxobjects,$(gb_CPPU_ENV)_uno, \
|
||||
+ bridges/source/cpp_uno/$(bridges_SELECTED_BRIDGE)/cpp2uno, \
|
||||
+ $(subst -fstack-protector-strong,-fstack-protector, \
|
||||
+ $(gb_LinkTarget_EXCEPTIONFLAGS) \
|
||||
+ $(call gb_LinkTarget__get_cxxflags,$(gb_CPPU_ENV)_uno)) \
|
||||
+))
|
||||
|
||||
else ifeq ($(OS)-$(CPUNAME),LINUX-AXP)
|
||||
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,62 +0,0 @@
|
||||
From fdb1d62a09f7320ee5c2828aa4ce84248a6e3e4e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Thu, 17 Jul 2014 13:48:30 +0100
|
||||
Subject: [PATCH] Related: rhbz#1117853 nStartPara of EE_PARA_NOT_FOUND
|
||||
|
||||
we know that nStartPara is EE_PARA_NOT_FOUND so rOutliner.GetAbsPos must have
|
||||
returned that, but we don't know the circumstances that lead to that yet.
|
||||
|
||||
Change-Id: I53a488317d154b4a3c050248b8737da0a611ca43
|
||||
---
|
||||
editeng/source/outliner/outliner.cxx | 3 +--
|
||||
sd/source/ui/view/outlnvsh.cxx | 5 ++---
|
||||
2 files changed, 3 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/editeng/source/outliner/outliner.cxx b/editeng/source/outliner/outliner.cxx
|
||||
index 4d7214b..aaa843d 100644
|
||||
--- a/editeng/source/outliner/outliner.cxx
|
||||
+++ b/editeng/source/outliner/outliner.cxx
|
||||
@@ -384,7 +384,6 @@ sal_Int32 Outliner::GetBulletsNumberingStatus() const
|
||||
|
||||
OutlinerParaObject* Outliner::CreateParaObject( sal_Int32 nStartPara, sal_Int32 nCount ) const
|
||||
{
|
||||
-
|
||||
if ( static_cast<sal_uLong>(nStartPara) + nCount >
|
||||
static_cast<sal_uLong>(pParaList->GetParagraphCount()) )
|
||||
nCount = pParaList->GetParagraphCount() - nStartPara;
|
||||
@@ -394,7 +393,7 @@ OutlinerParaObject* Outliner::CreateParaObject( sal_Int32 nStartPara, sal_Int32
|
||||
if ( ( nStartPara + nCount ) > pEditEngine->GetParagraphCount() )
|
||||
nCount = pEditEngine->GetParagraphCount() - nStartPara;
|
||||
|
||||
- if( !nCount )
|
||||
+ if (nCount <= 0)
|
||||
return NULL;
|
||||
|
||||
EditTextObject* pText = pEditEngine->CreateTextObject( nStartPara, nCount );
|
||||
diff --git a/sd/source/ui/view/outlnvsh.cxx b/sd/source/ui/view/outlnvsh.cxx
|
||||
index 03e899d..e3b4aa7 100644
|
||||
--- a/sd/source/ui/view/outlnvsh.cxx
|
||||
+++ b/sd/source/ui/view/outlnvsh.cxx
|
||||
@@ -1658,7 +1658,6 @@ bool OutlineViewShell::UpdateTitleObject( SdPage* pPage, Paragraph* pPara )
|
||||
|
||||
::Outliner* pOutliner = pOlView->GetOutliner();
|
||||
SdrTextObj* pTO = pOlView->GetTitleTextObject( pPage );
|
||||
- OutlinerParaObject* pOPO = NULL;
|
||||
|
||||
OUString aTest = pOutliner->GetText(pPara);
|
||||
bool bText = !aTest.isEmpty();
|
||||
@@ -1675,9 +1674,9 @@ bool OutlineViewShell::UpdateTitleObject( SdPage* pPage, Paragraph* pPara )
|
||||
}
|
||||
|
||||
// if we have a title object and a text, set the text
|
||||
- if( pTO )
|
||||
+ OutlinerParaObject* pOPO = pTO ? pOutliner->CreateParaObject(pOutliner->GetAbsPos(pPara), 1) : NULL;
|
||||
+ if (pOPO)
|
||||
{
|
||||
- pOPO = pOutliner->CreateParaObject( pOutliner->GetAbsPos( pPara ), 1 );
|
||||
pOPO->SetOutlinerMode( OUTLINERMODE_TITLEOBJECT );
|
||||
pOPO->SetVertical( pTO->IsVerticalWriting() );
|
||||
if( pTO->GetOutlinerParaObject() && (pOPO->GetTextObject() == pTO->GetOutlinerParaObject()->GetTextObject()) )
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,76 +0,0 @@
|
||||
From eb21b6827e25b2c943025a662cde2049c0454a6b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Fri, 15 Aug 2014 15:59:58 +0100
|
||||
Subject: [PATCH] Related: rhbz#1130264 plausible fix for reported crash
|
||||
|
||||
Change-Id: I4ccdf19bfc7986881f7022109f22f47a0f493591
|
||||
---
|
||||
avmedia/source/gstreamer/gstplayer.cxx | 20 ++++++++++++++++----
|
||||
avmedia/source/gstreamer/gstplayer.hxx | 3 +++
|
||||
2 files changed, 19 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/avmedia/source/gstreamer/gstplayer.cxx b/avmedia/source/gstreamer/gstplayer.cxx
|
||||
index ceea8e2..836e89e 100644
|
||||
--- a/avmedia/source/gstreamer/gstplayer.cxx
|
||||
+++ b/avmedia/source/gstreamer/gstplayer.cxx
|
||||
@@ -74,7 +74,9 @@ Player::Player( const uno::Reference< lang::XMultiServiceFactory >& rxMgr ) :
|
||||
mpXOverlay( NULL ),
|
||||
mnDuration( 0 ),
|
||||
mnWidth( 0 ),
|
||||
- mnHeight( 0 )
|
||||
+ mnHeight( 0 ),
|
||||
+ mnWatchID( 0 ),
|
||||
+ mbWatchID( false )
|
||||
{
|
||||
// Initialize GStreamer library
|
||||
int argc = 1;
|
||||
@@ -127,11 +129,15 @@ void SAL_CALL Player::disposing()
|
||||
g_object_unref( G_OBJECT ( mpXOverlay ) );
|
||||
mpXOverlay = NULL;
|
||||
}
|
||||
+
|
||||
+ }
|
||||
+ if (mbWatchID)
|
||||
+ {
|
||||
+ g_source_remove(mnWatchID);
|
||||
+ mbWatchID = false;
|
||||
}
|
||||
}
|
||||
|
||||
-
|
||||
-
|
||||
static gboolean pipeline_bus_callback( GstBus *, GstMessage *message, gpointer data )
|
||||
{
|
||||
Player* pPlayer = static_cast<Player*>(data);
|
||||
@@ -357,7 +363,13 @@ void Player::preparePlaybin( const OUString& rURL, GstElement *pSink )
|
||||
g_object_set( G_OBJECT( mpPlaybin ), "uri", ascURL.getStr() , NULL );
|
||||
|
||||
pBus = gst_element_get_bus( mpPlaybin );
|
||||
- gst_bus_add_watch( pBus, pipeline_bus_callback, this );
|
||||
+ if (mbWatchID)
|
||||
+ {
|
||||
+ g_source_remove(mnWatchID);
|
||||
+ mbWatchID = false;
|
||||
+ }
|
||||
+ mnWatchID = gst_bus_add_watch( pBus, pipeline_bus_callback, this );
|
||||
+ mbWatchID = true;
|
||||
DBG( "%p set sync handler", this );
|
||||
#ifdef AVMEDIA_GST_0_10
|
||||
gst_bus_set_sync_handler( pBus, pipeline_bus_sync_handler, this );
|
||||
diff --git a/avmedia/source/gstreamer/gstplayer.hxx b/avmedia/source/gstreamer/gstplayer.hxx
|
||||
index 2426eed..33c9e4d 100644
|
||||
--- a/avmedia/source/gstreamer/gstplayer.hxx
|
||||
+++ b/avmedia/source/gstreamer/gstplayer.hxx
|
||||
@@ -97,6 +97,9 @@ protected:
|
||||
int mnWidth;
|
||||
int mnHeight;
|
||||
|
||||
+ guint mnWatchID;
|
||||
+ bool mbWatchID;
|
||||
+
|
||||
osl::Condition maSizeCondition;
|
||||
};
|
||||
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,156 +0,0 @@
|
||||
From f9f9aa9873c5851da86d33ca75e937ac022206a3 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Wed, 8 Oct 2014 09:54:55 +0200
|
||||
Subject: [PATCH] Remove smb from X-KDE-Protocols lines
|
||||
|
||||
smb was included in the set of supported protocols since those X-KDE-Protocol
|
||||
lines got introduced with 673be8e76856c6bc39f448f3374db4ae84258952 "add
|
||||
X-KDE-Protocols," but as discussed in the mail thread starting at
|
||||
<http://lists.freedesktop.org/archives/libreoffice/2014-September/063621.html>
|
||||
"X-KDE-Protocols=...,smb,...," actual support for smb URLs in LO under KDE is
|
||||
very fragile and typically requires further steps from the user (which vary
|
||||
across the various LO configure options, --enable-gio vs. --enable-gnome-vfs,
|
||||
and Linux distros) to work at all.
|
||||
|
||||
So it is probably best to not unconditionally claim smb support in those
|
||||
X-KDE_Protocols lines at least in the vanilla LO sources (esp. since the TDF
|
||||
builds with --enable-gnome-vfs need a really weird OOO_FORCE_DESKTOP=gnome
|
||||
workaround to make it work at all, cf.
|
||||
<http://lists.freedesktop.org/archives/libreoffice/2014-October/063876.html>
|
||||
"Re: X-KDE-Protocols=...,smb,..."). Any Linux distros that are confident that
|
||||
smb support in LO under KDE reliably works for them can patch those lines
|
||||
locally.
|
||||
|
||||
Change-Id: I1c247d85825c96f0d74efcce3003e327a1522fa3
|
||||
---
|
||||
sysui/desktop/menus/base.desktop | 2 +-
|
||||
sysui/desktop/menus/calc.desktop | 2 +-
|
||||
sysui/desktop/menus/draw.desktop | 2 +-
|
||||
sysui/desktop/menus/impress.desktop | 2 +-
|
||||
sysui/desktop/menus/math.desktop | 2 +-
|
||||
sysui/desktop/menus/qstart.desktop | 2 +-
|
||||
sysui/desktop/menus/startcenter.desktop | 2 +-
|
||||
sysui/desktop/menus/writer.desktop | 2 +-
|
||||
sysui/desktop/menus/xsltfilter.desktop | 2 +-
|
||||
9 files changed, 9 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/sysui/desktop/menus/base.desktop b/sysui/desktop/menus/base.desktop
|
||||
index 26f1c6a..76255fe 100644
|
||||
--- a/sysui/desktop/menus/base.desktop
|
||||
+++ b/sysui/desktop/menus/base.desktop
|
||||
@@ -31,8 +31,8 @@ X-GIO-NoFuse=true
|
||||
Keywords=Data;SQL;
|
||||
InitialPreference=5
|
||||
StartupWMClass=libreoffice-base
|
||||
-X-KDE-Protocols=file,http,smb,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,ftp,webdav
|
||||
X-TryExec=oobase
|
||||
|
||||
Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
diff --git a/sysui/desktop/menus/calc.desktop b/sysui/desktop/menus/calc.desktop
|
||||
index fca3fe3..5aa48d2 100644
|
||||
--- a/sysui/desktop/menus/calc.desktop
|
||||
+++ b/sysui/desktop/menus/calc.desktop
|
||||
@@ -31,8 +31,8 @@ X-GIO-NoFuse=true
|
||||
Keywords=Accounting;Stats;OpenDocument Spreadsheet;Chart;Microsoft Excel;Microsoft Works;OpenOffice Calc;ods;xls;xlsx;
|
||||
InitialPreference=5
|
||||
StartupWMClass=libreoffice-calc
|
||||
-X-KDE-Protocols=file,http,smb,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,ftp,webdav
|
||||
X-TryExec=oocalc
|
||||
|
||||
Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
diff --git a/sysui/desktop/menus/draw.desktop b/sysui/desktop/menus/draw.desktop
|
||||
index ae57504..3e20e8d 100644
|
||||
--- a/sysui/desktop/menus/draw.desktop
|
||||
+++ b/sysui/desktop/menus/draw.desktop
|
||||
@@ -31,8 +31,8 @@ X-GIO-NoFuse=true
|
||||
Keywords=Vector;Schema;Diagram;Layout;OpenDocument Graphics;Microsoft Publisher;Corel Draw;cdr;odg;svg;
|
||||
InitialPreference=5
|
||||
StartupWMClass=libreoffice-draw
|
||||
-X-KDE-Protocols=file,http,smb,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,ftp,webdav
|
||||
X-TryExec=oodraw
|
||||
|
||||
Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
diff --git a/sysui/desktop/menus/impress.desktop b/sysui/desktop/menus/impress.desktop
|
||||
index c1f6231..b419593 100644
|
||||
--- a/sysui/desktop/menus/impress.desktop
|
||||
+++ b/sysui/desktop/menus/impress.desktop
|
||||
@@ -31,8 +31,8 @@ X-GIO-NoFuse=true
|
||||
Keywords=Slideshow;Slides;OpenDocument Presentation;Microsoft PowerPoint;Microsoft Works;OpenOffice Impress;odp;ppt;pptx;
|
||||
InitialPreference=5
|
||||
StartupWMClass=libreoffice-impress
|
||||
-X-KDE-Protocols=file,http,smb,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,ftp,webdav
|
||||
X-TryExec=ooimpress
|
||||
|
||||
Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
diff --git a/sysui/desktop/menus/math.desktop b/sysui/desktop/menus/math.desktop
|
||||
index b6981f5..e437d26 100644
|
||||
--- a/sysui/desktop/menus/math.desktop
|
||||
+++ b/sysui/desktop/menus/math.desktop
|
||||
@@ -32,8 +32,8 @@ X-GIO-NoFuse=true
|
||||
Keywords=Equation;OpenDocument Formula;Formula;odf;MathML;
|
||||
InitialPreference=5
|
||||
StartupWMClass=libreoffice-math
|
||||
-X-KDE-Protocols=file,http,smb,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,ftp,webdav
|
||||
X-TryExec=oomath
|
||||
|
||||
Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
diff --git a/sysui/desktop/menus/qstart.desktop b/sysui/desktop/menus/qstart.desktop
|
||||
index 2669cc3..ec4e9c2 100644
|
||||
--- a/sysui/desktop/menus/qstart.desktop
|
||||
+++ b/sysui/desktop/menus/qstart.desktop
|
||||
@@ -25,4 +25,4 @@ NoDisplay=true
|
||||
Name=%PRODUCTNAME Quickstarter
|
||||
Comment=Hook for quickstarter startup
|
||||
X-GIO-NoFuse=true
|
||||
-X-KDE-Protocols=file,http,smb,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,ftp,webdav
|
||||
diff --git a/sysui/desktop/menus/startcenter.desktop b/sysui/desktop/menus/startcenter.desktop
|
||||
index 3858c89..08d4a11 100644
|
||||
--- a/sysui/desktop/menus/startcenter.desktop
|
||||
+++ b/sysui/desktop/menus/startcenter.desktop
|
||||
@@ -30,7 +30,7 @@ Comment=The office productivity suite compatible to the open and standardized OD
|
||||
StartupNotify=true
|
||||
X-GIO-NoFuse=true
|
||||
StartupWMClass=libreoffice-startcenter
|
||||
-X-KDE-Protocols=file,http,smb,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,ftp,webdav
|
||||
|
||||
##Define Actions
|
||||
Actions=Writer;Calc;Impress;Draw;Base;Math;
|
||||
diff --git a/sysui/desktop/menus/writer.desktop b/sysui/desktop/menus/writer.desktop
|
||||
index e22a7b4..44a6421 100644
|
||||
--- a/sysui/desktop/menus/writer.desktop
|
||||
+++ b/sysui/desktop/menus/writer.desktop
|
||||
@@ -31,8 +31,8 @@ X-GIO-NoFuse=true
|
||||
Keywords=Text;Letter;Fax;Document;OpenDocument Text;Microsoft Word;Microsoft Works;Lotus WordPro;OpenOffice Writer;CV;odt;doc;docx;rtf;
|
||||
InitialPreference=5
|
||||
StartupWMClass=libreoffice-writer
|
||||
-X-KDE-Protocols=file,http,smb,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,ftp,webdav
|
||||
X-TryExec=oowriter
|
||||
|
||||
Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
diff --git a/sysui/desktop/menus/xsltfilter.desktop b/sysui/desktop/menus/xsltfilter.desktop
|
||||
index 3dcad81..adea82a 100644
|
||||
--- a/sysui/desktop/menus/xsltfilter.desktop
|
||||
+++ b/sysui/desktop/menus/xsltfilter.desktop
|
||||
@@ -9,4 +9,4 @@ GenericName=XSLT based filters
|
||||
NoDisplay=true
|
||||
StartupNotify=true
|
||||
X-GIO-NoFuse=true
|
||||
-X-KDE-Protocols=file,http,smb,ftp,webdav
|
||||
+X-KDE-Protocols=file,http,ftp,webdav
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,49 +0,0 @@
|
||||
From 1fec67aab152e0c0ad6dd85082c50f1beff7d520 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Tue, 16 Sep 2014 13:22:44 +0100
|
||||
Subject: [PATCH] Resolves: fdo#68967 looping layout
|
||||
|
||||
RemoveFollowFlowLine() marks the layout invalid, but the
|
||||
next cycle through does everything exactly the same again.
|
||||
|
||||
Try the same foul horror as nUnSplitted. But at least with
|
||||
a test-case that nails down reproducing the bug if a better
|
||||
fix is needed.
|
||||
|
||||
Change-Id: Id6698bcb2364bd0253bedd4a7c313e25f705be8d
|
||||
---
|
||||
sw/qa/extras/ww8import/data/fdo68967.doc | Bin 0 -> 99328 bytes
|
||||
sw/qa/extras/ww8import/ww8import.cxx | 4 ++++
|
||||
sw/source/core/layout/tabfrm.cxx | 7 +++++++
|
||||
3 files changed, 11 insertions(+)
|
||||
create mode 100644 sw/qa/extras/ww8import/data/fdo68967.doc
|
||||
|
||||
diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx
|
||||
index 06f38c7..f7a39f5 100644
|
||||
--- a/sw/source/core/layout/tabfrm.cxx
|
||||
+++ b/sw/source/core/layout/tabfrm.cxx
|
||||
@@ -1831,6 +1831,7 @@ void SwTabFrm::MakeAll()
|
||||
}
|
||||
|
||||
int nUnSplitted = 5; // Just another loop control :-(
|
||||
+ int nThrowAwayValidLayoutLimit = 5; // And another one :-(
|
||||
SWRECTFN( this )
|
||||
while ( !mbValidPos || !mbValidSize || !mbValidPrtArea )
|
||||
{
|
||||
@@ -2301,7 +2302,13 @@ void SwTabFrm::MakeAll()
|
||||
// An existing follow flow line has to be removed.
|
||||
if ( HasFollowFlowLine() )
|
||||
{
|
||||
+ if (!nThrowAwayValidLayoutLimit)
|
||||
+ continue;
|
||||
+ bool bInitialLoopEndCondition = mbValidPos && mbValidSize && mbValidPrtArea;
|
||||
RemoveFollowFlowLine();
|
||||
+ bool bFinalLoopEndCondition = mbValidPos && mbValidSize && mbValidPrtArea;
|
||||
+ if (bInitialLoopEndCondition && !bFinalLoopEndCondition)
|
||||
+ --nThrowAwayValidLayoutLimit;
|
||||
}
|
||||
|
||||
const bool bSplitError = !Split( nDeadLine, bTryToSplit, ( bTableRowKeep && !bAllowSplitOfRow ) );
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,81 +0,0 @@
|
||||
From 9b3410961e52b4666a118158512e050462711fd0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Thu, 6 Nov 2014 09:56:49 +0000
|
||||
Subject: [PATCH] Resolves: fdo#76581 copy-and-paste -> slideshow crash in
|
||||
presenter console
|
||||
|
||||
crash started after...
|
||||
|
||||
commit 0218b0e2fa510d7acd7413dbedefd9ad50257f76
|
||||
Date: Mon Jul 15 19:45:44 2013 +0300
|
||||
fdo#65457 - Provide visual clues in presenter view.
|
||||
|
||||
Change-Id: I19d84800bd5924f2dcc9e5debcf18ef95577105c
|
||||
---
|
||||
sdext/source/presenter/PresenterController.cxx | 28 ++++++++++++++++++--------
|
||||
1 file changed, 20 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/sdext/source/presenter/PresenterController.cxx b/sdext/source/presenter/PresenterController.cxx
|
||||
index 43d60ac..6c64bd7 100644
|
||||
--- a/sdext/source/presenter/PresenterController.cxx
|
||||
+++ b/sdext/source/presenter/PresenterController.cxx
|
||||
@@ -358,7 +358,7 @@ void PresenterController::UpdatePaneTitles (void)
|
||||
sCurrentSlideName = sName;
|
||||
}
|
||||
}
|
||||
- catch (beans::UnknownPropertyException&)
|
||||
+ catch (const beans::UnknownPropertyException&)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -585,10 +585,16 @@ bool PresenterController::HasTransition (Reference<drawing::XDrawPage>& rxPage)
|
||||
if( rxPage.is() )
|
||||
{
|
||||
Reference<beans::XPropertySet> xSlidePropertySet (rxPage, UNO_QUERY);
|
||||
- xSlidePropertySet->getPropertyValue("TransitionType") >>= aTransitionType;
|
||||
- if( aTransitionType > 0 )
|
||||
+ try
|
||||
+ {
|
||||
+ xSlidePropertySet->getPropertyValue("TransitionType") >>= aTransitionType;
|
||||
+ if (aTransitionType > 0)
|
||||
+ {
|
||||
+ bTransition = true;
|
||||
+ }
|
||||
+ }
|
||||
+ catch (const beans::UnknownPropertyException&)
|
||||
{
|
||||
- bTransition = true;
|
||||
}
|
||||
}
|
||||
return bTransition;
|
||||
@@ -597,8 +603,6 @@ bool PresenterController::HasTransition (Reference<drawing::XDrawPage>& rxPage)
|
||||
bool PresenterController::HasCustomAnimation (Reference<drawing::XDrawPage>& rxPage)
|
||||
{
|
||||
bool bCustomAnimation = false;
|
||||
- presentation::AnimationEffect aEffect = presentation::AnimationEffect_NONE;
|
||||
- presentation::AnimationEffect aTextEffect = presentation::AnimationEffect_NONE;
|
||||
if( rxPage.is() )
|
||||
{
|
||||
sal_uInt32 i, nCount = rxPage->getCount();
|
||||
@@ -606,8 +610,16 @@ bool PresenterController::HasCustomAnimation (Reference<drawing::XDrawPage>& rxP
|
||||
{
|
||||
Reference<drawing::XShape> xShape(rxPage->getByIndex(i), UNO_QUERY);
|
||||
Reference<beans::XPropertySet> xShapePropertySet(xShape, UNO_QUERY);
|
||||
- xShapePropertySet->getPropertyValue("Effect") >>= aEffect;
|
||||
- xShapePropertySet->getPropertyValue("TextEffect") >>= aTextEffect;
|
||||
+ presentation::AnimationEffect aEffect = presentation::AnimationEffect_NONE;
|
||||
+ presentation::AnimationEffect aTextEffect = presentation::AnimationEffect_NONE;
|
||||
+ try
|
||||
+ {
|
||||
+ xShapePropertySet->getPropertyValue("Effect") >>= aEffect;
|
||||
+ xShapePropertySet->getPropertyValue("TextEffect") >>= aTextEffect;
|
||||
+ }
|
||||
+ catch (const beans::UnknownPropertyException&)
|
||||
+ {
|
||||
+ }
|
||||
if( aEffect != presentation::AnimationEffect_NONE ||
|
||||
aTextEffect != presentation::AnimationEffect_NONE )
|
||||
{
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,810 +0,0 @@
|
||||
From 5399853eb369457d3060190ed0f1af348004501c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Fri, 6 Jun 2014 15:13:26 +0100
|
||||
Subject: [PATCH] Resolves: fdo#78151 change style on toggling bullets on
|
||||
master page outliners
|
||||
|
||||
"do what I mean"
|
||||
|
||||
In master pages prior to this if we toggle bullets on and off the that changes
|
||||
the *level* of the paragraph. And because the paragraph is effectively a
|
||||
preview of the equivalent style level, changing the level disconnects it from
|
||||
the style which is useless for us.
|
||||
|
||||
So instead turn the numbering off at the given outline level. In order to
|
||||
toggle the numbering back split the defaults-setting into a reusable piece that
|
||||
sets the numbering indent which we can call to toggle numbering back on
|
||||
|
||||
Also split out the broadcast style change *and explicit child* broadcast code
|
||||
into a reusable method, the absence of which left me stumped for well over an
|
||||
hour as to why my changes only worked on level 1
|
||||
|
||||
Related: fdo#78151 force outliners in master view to be read-only text
|
||||
|
||||
because these contain place-holder text and it doesn't make sense
|
||||
to be able to edit them (unless some-day we support custom place-holder
|
||||
prompts)
|
||||
|
||||
because they are now read-only add a pair of "show next level" and "hide
|
||||
last level" features so on right clicking the last outline paragraph
|
||||
you can make the next one visible, or make the last one invisible
|
||||
|
||||
Change-Id: Iea24d810f298156cfe2f32aa53d0515da45e08eb
|
||||
(cherry picked from commit 7e600aca08ebbd69b0c8ef924c84af4dcf80df56)
|
||||
|
||||
Change-Id: I311c7f35f1ca7dff1d151c6141ff5faa7f15c5a2
|
||||
(cherry picked from commit 8a5b3971057237b178f7e65437deec766b56f9c4)
|
||||
---
|
||||
.../openoffice/Office/UI/DrawImpressCommands.xcu | 10 +++
|
||||
sd/inc/app.hrc | 5 +-
|
||||
sd/inc/sdcommands.h | 2 +
|
||||
sd/inc/stlpool.hxx | 2 +
|
||||
sd/inc/stlsheet.hxx | 8 +++
|
||||
sd/sdi/_drvwsh.sdi | 10 +++
|
||||
sd/sdi/sdraw.sdi | 48 ++++++++++++++
|
||||
sd/source/core/stlpool.cxx | 57 +++++++++++-----
|
||||
sd/source/core/stlsheet.cxx | 30 ++++++++-
|
||||
sd/source/ui/app/popup.src | 13 ++++
|
||||
sd/source/ui/func/futempl.cxx | 21 +-----
|
||||
sd/source/ui/inc/DrawViewShell.hxx | 6 ++
|
||||
sd/source/ui/inc/View.hxx | 19 ++++++
|
||||
sd/source/ui/view/drtxtob1.cxx | 76 ++++++++++++++++++++--
|
||||
sd/source/ui/view/drviews2.cxx | 50 ++++++++++++++
|
||||
sd/source/ui/view/drviews7.cxx | 66 +++++++++++++++++++
|
||||
sd/source/ui/view/sdview.cxx | 30 ++++++++-
|
||||
17 files changed, 408 insertions(+), 45 deletions(-)
|
||||
|
||||
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu
|
||||
index b4b6366..31aa4d7 100644
|
||||
--- a/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu
|
||||
+++ b/officecfg/registry/data/org/openoffice/Office/UI/DrawImpressCommands.xcu
|
||||
@@ -584,6 +584,16 @@
|
||||
<value xml:lang="en-US">H~yperlink...</value>
|
||||
</prop>
|
||||
</node>
|
||||
+ <node oor:name=".uno:HideLastLevel" oor:op="replace">
|
||||
+ <prop oor:name="Label" oor:type="xs:string">
|
||||
+ <value xml:lang="en-US">~Hide Last Level</value>
|
||||
+ </prop>
|
||||
+ </node>
|
||||
+ <node oor:name=".uno:ShowNextLevel" oor:op="replace">
|
||||
+ <prop oor:name="Label" oor:type="xs:string">
|
||||
+ <value xml:lang="en-US">~Show Next Level</value>
|
||||
+ </prop>
|
||||
+ </node>
|
||||
<node oor:name=".uno:PageSetup" oor:op="replace">
|
||||
<prop oor:name="Label" oor:type="xs:string">
|
||||
<value xml:lang="en-US">~Page...</value>
|
||||
diff --git a/sd/inc/app.hrc b/sd/inc/app.hrc
|
||||
index ef8631f..fae13da 100644
|
||||
--- a/sd/inc/app.hrc
|
||||
+++ b/sd/inc/app.hrc
|
||||
@@ -447,9 +447,10 @@
|
||||
|
||||
#define SID_ADD_MOTION_PATH (SID_SD_START+442)
|
||||
#define SID_TABLE_TOOLBOX (SID_SD_START+443)
|
||||
-
|
||||
// free
|
||||
-#define SID_PRESENTATION_MINIMIZER (SID_SD_START+450)
|
||||
+#define SID_HIDE_LAST_LEVEL (SID_SD_START+448)
|
||||
+#define SID_SHOW_NEXT_LEVEL (SID_SD_START+449)
|
||||
+#define SID_PRESENTATION_MINIMIZER (SID_SD_START+450)
|
||||
#endif
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
diff --git a/sd/inc/sdcommands.h b/sd/inc/sdcommands.h
|
||||
index 2041d8f..276bf6d 100644
|
||||
--- a/sd/inc/sdcommands.h
|
||||
+++ b/sd/inc/sdcommands.h
|
||||
@@ -119,6 +119,8 @@
|
||||
#define CMD_SID_INSERTPAGE_LAYOUT_MENU ".uno:TaskPaneInsertPage"
|
||||
#define CMD_SID_PHOTOALBUM ".uno:PhotoAlbumDialog"
|
||||
#define CMD_SID_PRESENTATION_MINIMIZER ".uno:PresentationMinimizer"
|
||||
+#define CMD_SID_HIDE_LAST_LEVEL ".uno:HideLastLevel"
|
||||
+#define CMD_SID_SHOW_NEXT_LEVEL ".uno:ShowNextLevel"
|
||||
|
||||
#endif
|
||||
|
||||
diff --git a/sd/inc/stlpool.hxx b/sd/inc/stlpool.hxx
|
||||
index 31cb814..7af9fe9 100644
|
||||
--- a/sd/inc/stlpool.hxx
|
||||
+++ b/sd/inc/stlpool.hxx
|
||||
@@ -42,6 +42,7 @@ class SdStyleSheet;
|
||||
class SdDrawDocument;
|
||||
class SdPage;
|
||||
class SfxStyleSheetBase;
|
||||
+class SvxNumberFormat;
|
||||
|
||||
typedef std::map< const SdPage*, SdStyleFamilyRef > SdStyleFamilyMap;
|
||||
|
||||
@@ -92,6 +93,7 @@ public:
|
||||
|
||||
static SdStyleSheetVector CreateChildList( SdStyleSheet* pSheet );
|
||||
|
||||
+ static void setDefaultOutlineNumberFormatBulletAndIndent(sal_uInt16 i, SvxNumberFormat &rNumberFormat);
|
||||
|
||||
public:
|
||||
void throwIfDisposed() throw(::com::sun::star::uno::RuntimeException);
|
||||
diff --git a/sd/inc/stlsheet.hxx b/sd/inc/stlsheet.hxx
|
||||
index a64366b..d8b1183 100644
|
||||
--- a/sd/inc/stlsheet.hxx
|
||||
+++ b/sd/inc/stlsheet.hxx
|
||||
@@ -39,6 +39,8 @@
|
||||
|
||||
#include <boost/scoped_ptr.hpp>
|
||||
|
||||
+#include "prlayout.hxx"
|
||||
+
|
||||
class ModifyListenerForewarder;
|
||||
|
||||
typedef cppu::ImplInheritanceHelper5< SfxUnoStyleSheet,
|
||||
@@ -75,6 +77,12 @@ public:
|
||||
|
||||
static SdStyleSheet* CreateEmptyUserStyle( SfxStyleSheetBasePool& rPool, SfxStyleFamily eFamily );
|
||||
|
||||
+ //Broadcast that a SdStyleSheet has changed, taking into account outline sublevels
|
||||
+ //which need to be explicitly broadcast as changing if their parent style was
|
||||
+ //the one that changed
|
||||
+ static void BroadcastSdStyleSheetChange(SfxStyleSheetBase* pStyleSheet, PresentationObjects ePO,
|
||||
+ SfxStyleSheetBasePool* pSSPool);
|
||||
+
|
||||
// XInterface
|
||||
virtual void SAL_CALL release( ) throw () SAL_OVERRIDE;
|
||||
|
||||
diff --git a/sd/sdi/_drvwsh.sdi b/sd/sdi/_drvwsh.sdi
|
||||
index d328cf4..f8119e9 100644
|
||||
--- a/sd/sdi/_drvwsh.sdi
|
||||
+++ b/sd/sdi/_drvwsh.sdi
|
||||
@@ -2309,6 +2309,16 @@ interface DrawView
|
||||
ExecMethod = FuTemporary ;
|
||||
StateMethod = GetMenuState ;
|
||||
]
|
||||
+ SID_HIDE_LAST_LEVEL // ole : no, status : ?
|
||||
+ [
|
||||
+ ExecMethod = FuTemporary ;
|
||||
+ StateMethod = GetMenuState ;
|
||||
+ ]
|
||||
+ SID_SHOW_NEXT_LEVEL // ole : no, status : ?
|
||||
+ [
|
||||
+ ExecMethod = FuTemporary ;
|
||||
+ StateMethod = GetMenuState ;
|
||||
+ ]
|
||||
SID_TRANSLITERATE_UPPER // ole : no, status : ?
|
||||
[
|
||||
ExecMethod = FuSupport ;
|
||||
diff --git a/sd/sdi/sdraw.sdi b/sd/sdi/sdraw.sdi
|
||||
index 9a03c4f..de7f1a2 100644
|
||||
--- a/sd/sdi/sdraw.sdi
|
||||
+++ b/sd/sdi/sdraw.sdi
|
||||
@@ -7025,3 +7025,51 @@ SfxVoidItem PresentationMinimizer SID_PRESENTATION_MINIMIZER
|
||||
ToolBoxConfig = TRUE,
|
||||
GroupId = GID_OPTIONS;
|
||||
]
|
||||
+
|
||||
+SfxVoidItem HideLastLevel SID_HIDE_LAST_LEVEL
|
||||
+()
|
||||
+[
|
||||
+ /* flags: */
|
||||
+ AutoUpdate = FALSE,
|
||||
+ Cachable = Cachable,
|
||||
+ FastCall = FALSE,
|
||||
+ HasCoreId = FALSE,
|
||||
+ HasDialog = TRUE,
|
||||
+ ReadOnlyDoc = FALSE,
|
||||
+ Toggle = FALSE,
|
||||
+ Container = FALSE,
|
||||
+ RecordAbsolute = FALSE,
|
||||
+ RecordPerSet;
|
||||
+ Synchron;
|
||||
+
|
||||
+ /* config: */
|
||||
+ AccelConfig = FALSE,
|
||||
+ MenuConfig = FALSE,
|
||||
+ StatusBarConfig = FALSE,
|
||||
+ ToolBoxConfig = FALSE,
|
||||
+ GroupId = GID_OPTIONS;
|
||||
+]
|
||||
+
|
||||
+SfxVoidItem ShowNextLevel SID_SHOW_NEXT_LEVEL
|
||||
+()
|
||||
+[
|
||||
+ /* flags: */
|
||||
+ AutoUpdate = FALSE,
|
||||
+ Cachable = Cachable,
|
||||
+ FastCall = FALSE,
|
||||
+ HasCoreId = FALSE,
|
||||
+ HasDialog = TRUE,
|
||||
+ ReadOnlyDoc = FALSE,
|
||||
+ Toggle = FALSE,
|
||||
+ Container = FALSE,
|
||||
+ RecordAbsolute = FALSE,
|
||||
+ RecordPerSet;
|
||||
+ Synchron;
|
||||
+
|
||||
+ /* config: */
|
||||
+ AccelConfig = FALSE,
|
||||
+ MenuConfig = FALSE,
|
||||
+ StatusBarConfig = FALSE,
|
||||
+ ToolBoxConfig = FALSE,
|
||||
+ GroupId = GID_OPTIONS;
|
||||
+]
|
||||
diff --git a/sd/source/core/stlpool.cxx b/sd/source/core/stlpool.cxx
|
||||
index 17ca4f0..2015613 100644
|
||||
--- a/sd/source/core/stlpool.cxx
|
||||
+++ b/sd/source/core/stlpool.cxx
|
||||
@@ -1052,9 +1052,49 @@ void SdStyleSheetPool::UpdateStdNames()
|
||||
}
|
||||
}
|
||||
|
||||
-// Set new SvxNumBulletItem for the respective style sheet
|
||||
+void SdStyleSheetPool::setDefaultOutlineNumberFormatBulletAndIndent(sal_uInt16 i, SvxNumberFormat &rNumberFormat)
|
||||
+{
|
||||
+ rNumberFormat.SetBulletChar( 0x25CF ); // StarBats: 0xF000 + 34
|
||||
+ rNumberFormat.SetBulletRelSize(45);
|
||||
+ const short nLSpace = (i + 1) * 1200;
|
||||
+ rNumberFormat.SetLSpace(nLSpace);
|
||||
+ rNumberFormat.SetAbsLSpace(nLSpace);
|
||||
+ short nFirstLineOffset = -600;
|
||||
+
|
||||
+ switch(i)
|
||||
+ {
|
||||
+ case 0:
|
||||
+ {
|
||||
+ nFirstLineOffset = -900;
|
||||
+ }
|
||||
+ break;
|
||||
|
||||
+ case 1:
|
||||
+ {
|
||||
+ rNumberFormat.SetBulletChar( 0x2013 ); // StarBats: 0xF000 + 150
|
||||
+ rNumberFormat.SetBulletRelSize(75);
|
||||
+ nFirstLineOffset = -900;
|
||||
+ }
|
||||
+ break;
|
||||
|
||||
+ case 2:
|
||||
+ {
|
||||
+ nFirstLineOffset = -800;
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case 3:
|
||||
+ {
|
||||
+ rNumberFormat.SetBulletChar( 0x2013 ); // StarBats: 0xF000 + 150
|
||||
+ rNumberFormat.SetBulletRelSize(75);
|
||||
+ }
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ rNumberFormat.SetFirstLineOffset(nFirstLineOffset);
|
||||
+}
|
||||
+
|
||||
+// Set new SvxNumBulletItem for the respective style sheet
|
||||
void SdStyleSheetPool::PutNumBulletItem( SfxStyleSheetBase* pSheet,
|
||||
Font& rBulletFont )
|
||||
{
|
||||
@@ -1134,12 +1174,7 @@ void SdStyleSheetPool::PutNumBulletItem( SfxStyleSheetBase* pSheet,
|
||||
SVX_MAX_NUM, false );
|
||||
for( sal_uInt16 i = 0; i < aNumRule.GetLevelCount(); i++ )
|
||||
{
|
||||
- aNumberFormat.SetBulletChar( 0x25CF ); // StarBats: 0xF000 + 34
|
||||
- aNumberFormat.SetBulletRelSize(45);
|
||||
- const short nLSpace = (i + 1) * 1200;
|
||||
- aNumberFormat.SetLSpace(nLSpace);
|
||||
- aNumberFormat.SetAbsLSpace(nLSpace);
|
||||
- short nFirstLineOffset = -600;
|
||||
+ setDefaultOutlineNumberFormatBulletAndIndent(i, aNumberFormat);
|
||||
|
||||
sal_uLong nFontSize = 20;
|
||||
switch(i)
|
||||
@@ -1147,36 +1182,28 @@ void SdStyleSheetPool::PutNumBulletItem( SfxStyleSheetBase* pSheet,
|
||||
case 0:
|
||||
{
|
||||
nFontSize = 32;
|
||||
- nFirstLineOffset = -900;
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
{
|
||||
- aNumberFormat.SetBulletChar( 0x2013 ); // StarBats: 0xF000 + 150
|
||||
- aNumberFormat.SetBulletRelSize(75);
|
||||
nFontSize = 32;
|
||||
- nFirstLineOffset = -900;
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
{
|
||||
nFontSize = 28;
|
||||
- nFirstLineOffset = -800;
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
{
|
||||
- aNumberFormat.SetBulletChar( 0x2013 ); // StarBats: 0xF000 + 150
|
||||
- aNumberFormat.SetBulletRelSize(75);
|
||||
nFontSize = 24;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
- aNumberFormat.SetFirstLineOffset(nFirstLineOffset);
|
||||
nFontSize = (sal_uInt16)((nFontSize * 2540L) / 72); // Pt --> 1/100 mm
|
||||
rBulletFont.SetSize(Size(0,846)); // 24 pt
|
||||
aNumberFormat.SetBulletFont(&rBulletFont);
|
||||
diff --git a/sd/source/core/stlsheet.cxx b/sd/source/core/stlsheet.cxx
|
||||
index 5df055f..c0f34e0 100644
|
||||
--- a/sd/source/core/stlsheet.cxx
|
||||
+++ b/sd/source/core/stlsheet.cxx
|
||||
@@ -1364,12 +1364,38 @@ Any SAL_CALL SdStyleSheet::getPropertyDefault( const OUString& aPropertyName ) t
|
||||
return aRet;
|
||||
}
|
||||
|
||||
-
|
||||
-
|
||||
/** this is used because our property map is not sorted yet */
|
||||
const SfxItemPropertySimpleEntry* SdStyleSheet::getPropertyMapEntry( const OUString& rPropertyName ) const throw()
|
||||
{
|
||||
return GetStylePropertySet().getPropertyMapEntry(rPropertyName);
|
||||
}
|
||||
|
||||
+//Broadcast that a SdStyleSheet has changed, taking into account outline sublevels
|
||||
+//which need to be explicitly broadcast as changing if their parent style was
|
||||
+//the one that changed
|
||||
+void SdStyleSheet::BroadcastSdStyleSheetChange(SfxStyleSheetBase* pStyleSheet,
|
||||
+ PresentationObjects ePO, SfxStyleSheetBasePool* pSSPool)
|
||||
+{
|
||||
+ SdStyleSheet* pRealSheet =((SdStyleSheet*)pStyleSheet)->GetRealStyleSheet();
|
||||
+ pRealSheet->Broadcast(SfxSimpleHint(SFX_HINT_DATACHANGED));
|
||||
+
|
||||
+ if( (ePO >= PO_OUTLINE_1) && (ePO <= PO_OUTLINE_8) )
|
||||
+ {
|
||||
+ OUString sStyleName(SD_RESSTR(STR_PSEUDOSHEET_OUTLINE) + " ");
|
||||
+
|
||||
+ for( sal_uInt16 n = (sal_uInt16)(ePO - PO_OUTLINE_1 + 2); n < 10; n++ )
|
||||
+ {
|
||||
+ OUString aName( sStyleName + OUString::number(n) );
|
||||
+
|
||||
+ SfxStyleSheetBase* pSheet = pSSPool->Find( aName, SD_STYLE_FAMILY_PSEUDO);
|
||||
+
|
||||
+ if(pSheet)
|
||||
+ {
|
||||
+ SdStyleSheet* pRealStyleSheet = ((SdStyleSheet*)pSheet)->GetRealStyleSheet();
|
||||
+ pRealStyleSheet->Broadcast(SfxSimpleHint(SFX_HINT_DATACHANGED));
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
diff --git a/sd/source/ui/app/popup.src b/sd/source/ui/app/popup.src
|
||||
index 7f8692f..1fd5561 100644
|
||||
--- a/sd/source/ui/app/popup.src
|
||||
+++ b/sd/source/ui/app/popup.src
|
||||
@@ -33,6 +33,19 @@ Menu RID_DRAW_TEXTOBJ_INSIDE_POPUP
|
||||
{
|
||||
ItemList =
|
||||
{
|
||||
+ MenuItem
|
||||
+ {
|
||||
+ Identifier = SID_HIDE_LAST_LEVEL;
|
||||
+ Command = CMD_SID_HIDE_LAST_LEVEL;
|
||||
+ Text [ en-US ] = "~Hide Last Level";
|
||||
+ };
|
||||
+ MenuItem
|
||||
+ {
|
||||
+ Identifier = SID_SHOW_NEXT_LEVEL;
|
||||
+ Command = CMD_SID_SHOW_NEXT_LEVEL;
|
||||
+ Text [ en-US ] = "~Show Next Level";
|
||||
+ };
|
||||
+ SEPARATOR
|
||||
MN_SET_DEFAULT
|
||||
SEPARATOR
|
||||
MN_TEXTATTR
|
||||
diff --git a/sd/source/ui/func/futempl.cxx b/sd/source/ui/func/futempl.cxx
|
||||
index 1dd0c40..42b453c 100644
|
||||
--- a/sd/source/ui/func/futempl.cxx
|
||||
+++ b/sd/source/ui/func/futempl.cxx
|
||||
@@ -428,27 +428,8 @@ void FuTemplate::DoExecute( SfxRequest& rReq )
|
||||
}
|
||||
}
|
||||
|
||||
- OUString sStyleName(SD_RESSTR(STR_PSEUDOSHEET_OUTLINE) + " ");
|
||||
-
|
||||
pStyleSheet->GetItemSet().Put(aTempSet);
|
||||
- SdStyleSheet* pRealSheet =((SdStyleSheet*)pStyleSheet)->GetRealStyleSheet();
|
||||
- pRealSheet->Broadcast(SfxSimpleHint(SFX_HINT_DATACHANGED));
|
||||
-
|
||||
- if( (ePO >= PO_OUTLINE_1) && (ePO <= PO_OUTLINE_8) )
|
||||
- {
|
||||
- for( sal_uInt16 n = (sal_uInt16)(ePO - PO_OUTLINE_1 + 2); n < 10; n++ )
|
||||
- {
|
||||
- OUString aName( sStyleName + OUString::number(n) );
|
||||
-
|
||||
- SfxStyleSheetBase* pSheet = pSSPool->Find( aName, SD_STYLE_FAMILY_PSEUDO);
|
||||
-
|
||||
- if(pSheet)
|
||||
- {
|
||||
- SdStyleSheet* pRealStyleSheet = ((SdStyleSheet*)pSheet)->GetRealStyleSheet();
|
||||
- pRealStyleSheet->Broadcast(SfxSimpleHint(SFX_HINT_DATACHANGED));
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
+ SdStyleSheet::BroadcastSdStyleSheetChange(pStyleSheet, ePO, pSSPool);
|
||||
}
|
||||
|
||||
SfxItemSet& rAttr = pStyleSheet->GetItemSet();
|
||||
diff --git a/sd/source/ui/inc/DrawViewShell.hxx b/sd/source/ui/inc/DrawViewShell.hxx
|
||||
index 96c5c9c..996b35b 100644
|
||||
--- a/sd/source/ui/inc/DrawViewShell.hxx
|
||||
+++ b/sd/source/ui/inc/DrawViewShell.hxx
|
||||
@@ -31,6 +31,7 @@
|
||||
#include <com/sun/star/scanner/XScannerManager2.hpp>
|
||||
#include <unotools/caserotate.hxx>
|
||||
|
||||
+class Outliner;
|
||||
class SdPage;
|
||||
class DrawDocShell;
|
||||
class TabBar;
|
||||
@@ -41,6 +42,7 @@ class TransferableClipboardListener;
|
||||
class AbstractSvxNameDialog;
|
||||
class SdrLayer;
|
||||
class SvxClipboardFmtItem;
|
||||
+struct ESelection;
|
||||
|
||||
namespace sd {
|
||||
|
||||
@@ -161,6 +163,10 @@ public:
|
||||
virtual OUString GetSelectionText( bool bCompleteWords = false );
|
||||
virtual bool HasSelection( bool bText = true ) const;
|
||||
|
||||
+ //If we are editing an PRESOBJ_OUTLINE return the Outliner and fill rSel
|
||||
+ //with the current selection
|
||||
+ ::Outliner* GetOutlinerForMasterPageOutlineTextObj(ESelection &rSel);
|
||||
+
|
||||
void ExecCtrl(SfxRequest& rReq);
|
||||
void GetCtrlState(SfxItemSet& rSet);
|
||||
void GetDrawAttrState(SfxItemSet& rSet);
|
||||
diff --git a/sd/source/ui/inc/View.hxx b/sd/source/ui/inc/View.hxx
|
||||
index cd80568..2c59ade 100644
|
||||
--- a/sd/source/ui/inc/View.hxx
|
||||
+++ b/sd/source/ui/inc/View.hxx
|
||||
@@ -63,6 +63,24 @@ struct SdViewRedrawRec
|
||||
Rectangle aRect;
|
||||
};
|
||||
|
||||
+//For master view we want to force that master
|
||||
+//textboxes have readonly text, because the
|
||||
+//text is the auto-generated click-here-to-edit
|
||||
+//and it doesn't help to change it
|
||||
+class OutlinerMasterViewFilter
|
||||
+{
|
||||
+private:
|
||||
+ SdrOutliner *m_pOutl;
|
||||
+ bool m_bReadOnly;
|
||||
+public:
|
||||
+ OutlinerMasterViewFilter()
|
||||
+ : m_pOutl(0)
|
||||
+ , m_bReadOnly(false)
|
||||
+ {
|
||||
+ }
|
||||
+ void Start(SdrOutliner *pOutl);
|
||||
+ void End();
|
||||
+};
|
||||
|
||||
class View : public FmFormView
|
||||
{
|
||||
@@ -275,6 +293,7 @@ protected:
|
||||
|
||||
private:
|
||||
::std::auto_ptr<ViewClipboard> mpClipboard;
|
||||
+ OutlinerMasterViewFilter maMasterViewFilter;
|
||||
};
|
||||
|
||||
|
||||
diff --git a/sd/source/ui/view/drtxtob1.cxx b/sd/source/ui/view/drtxtob1.cxx
|
||||
index 605983c..761ed63 100644
|
||||
--- a/sd/source/ui/view/drtxtob1.cxx
|
||||
+++ b/sd/source/ui/view/drtxtob1.cxx
|
||||
@@ -57,10 +57,14 @@
|
||||
#include <editeng/cmapitem.hxx>
|
||||
|
||||
#include "app.hrc"
|
||||
-
|
||||
+#include "glob.hrc"
|
||||
+#include "sdresid.hxx"
|
||||
+#include "prlayout.hxx"
|
||||
#include "ViewShell.hxx"
|
||||
#include "drawview.hxx"
|
||||
#include "drawdoc.hxx"
|
||||
+#include "stlpool.hxx"
|
||||
+#include "stlsheet.hxx"
|
||||
#include "OutlineView.hxx"
|
||||
#include "Window.hxx"
|
||||
#include "futempl.hxx"
|
||||
@@ -316,10 +320,74 @@ void TextObjectBar::Execute( SfxRequest &rReq )
|
||||
break;
|
||||
|
||||
case FN_NUM_BULLET_ON:
|
||||
- if( pOLV )
|
||||
- pOLV->ToggleBullets();
|
||||
- break;
|
||||
+ {
|
||||
+ if (pOLV)
|
||||
+ {
|
||||
+ bool bMasterPage = false;
|
||||
+ SdrPageView* pPageView = mpView->GetSdrPageView();
|
||||
+ if (pPageView)
|
||||
+ {
|
||||
+ SdPage* pPage = (SdPage*)pPageView->GetPage();
|
||||
+ bMasterPage = pPage && (pPage->GetPageKind() == PK_STANDARD) && pPage->IsMasterPage();
|
||||
+ }
|
||||
|
||||
+ if (!bMasterPage)
|
||||
+ pOLV->ToggleBullets();
|
||||
+ else
|
||||
+ {
|
||||
+ //Resolves: fdo#78151 in master pages if we toggle bullets on
|
||||
+ //and off then just disable/enable the bulleting, but do not
|
||||
+ //change the *level* of the paragraph, because the paragraph is
|
||||
+ //effectively a preview of the equivalent style level, and
|
||||
+ //changing the level disconnects it from the style
|
||||
+
|
||||
+ ::Outliner* pOL = pOLV->GetOutliner();
|
||||
+ if (pOL)
|
||||
+ {
|
||||
+ const SvxNumBulletItem *pItem = NULL;
|
||||
+ SfxStyleSheetBasePool* pSSPool = mpView->GetDocSh()->GetStyleSheetPool();
|
||||
+ OUString sStyleName(SD_RESSTR(STR_PSEUDOSHEET_OUTLINE) + " 1");
|
||||
+ SfxStyleSheetBase* pFirstStyleSheet = pSSPool->Find(sStyleName, SD_STYLE_FAMILY_PSEUDO);
|
||||
+ if( pFirstStyleSheet )
|
||||
+ pFirstStyleSheet->GetItemSet().GetItemState(EE_PARA_NUMBULLET, false, (const SfxPoolItem**)&pItem);
|
||||
+
|
||||
+ if (pItem )
|
||||
+ {
|
||||
+ SvxNumRule aNewRule(*((SvxNumBulletItem*)pItem)->GetNumRule());
|
||||
+ ESelection aSel = pOLV->GetSelection();
|
||||
+ aSel.Adjust();
|
||||
+ sal_Int32 nStartPara = aSel.nStartPara;
|
||||
+ sal_Int32 nEndPara = aSel.nEndPara;
|
||||
+ for (sal_Int32 nPara = nStartPara; nPara <= nEndPara; ++nPara)
|
||||
+ {
|
||||
+ sal_uInt16 nLevel = pOL->GetDepth(nPara);
|
||||
+ SvxNumberFormat aFmt(aNewRule.GetLevel(nLevel));
|
||||
+
|
||||
+ if (aFmt.GetNumberingType() == SVX_NUM_NUMBER_NONE)
|
||||
+ {
|
||||
+ aFmt.SetNumberingType(SVX_NUM_CHAR_SPECIAL);
|
||||
+ SdStyleSheetPool::setDefaultOutlineNumberFormatBulletAndIndent(nLevel, aFmt);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ aFmt.SetNumberingType(SVX_NUM_NUMBER_NONE);
|
||||
+ aFmt.SetLSpace(0);
|
||||
+ aFmt.SetAbsLSpace(0);
|
||||
+ aFmt.SetFirstLineOffset(0);
|
||||
+ }
|
||||
+
|
||||
+ aNewRule.SetLevel(nLevel, aFmt);
|
||||
+ }
|
||||
+
|
||||
+ pFirstStyleSheet->GetItemSet().Put(SvxNumBulletItem(aNewRule, EE_PARA_NUMBULLET));
|
||||
+
|
||||
+ SdStyleSheet::BroadcastSdStyleSheetChange(pFirstStyleSheet, PO_OUTLINE_1, pSSPool);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ break;
|
||||
+ }
|
||||
case SID_GROW_FONT_SIZE:
|
||||
case SID_SHRINK_FONT_SIZE:
|
||||
{
|
||||
diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx
|
||||
index 384a6c7..1b56692 100644
|
||||
--- a/sd/source/ui/view/drviews2.cxx
|
||||
+++ b/sd/source/ui/view/drviews2.cxx
|
||||
@@ -1824,6 +1824,56 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
|
||||
}
|
||||
break;
|
||||
|
||||
+ case SID_HIDE_LAST_LEVEL:
|
||||
+ {
|
||||
+ ESelection aSel;
|
||||
+ // fdo#78151 editing a PRESOBJ_OUTLINE in a master page ?
|
||||
+ ::Outliner* pOL = GetOutlinerForMasterPageOutlineTextObj(aSel);
|
||||
+ if (pOL)
|
||||
+ {
|
||||
+ //we are on the last paragraph
|
||||
+ aSel.Adjust();
|
||||
+ if (aSel.nEndPara == pOL->GetParagraphCount() - 1)
|
||||
+ {
|
||||
+ sal_uInt16 nDepth = pOL->GetDepth(aSel.nEndPara);
|
||||
+ //there exists a previous numbering level
|
||||
+ if (nDepth != sal_uInt16(-1) && nDepth > 0)
|
||||
+ {
|
||||
+ Paragraph* pPara = pOL->GetParagraph(aSel.nEndPara);
|
||||
+ pOL->Remove(pPara, 1);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ Cancel();
|
||||
+ rReq.Done ();
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case SID_SHOW_NEXT_LEVEL:
|
||||
+ {
|
||||
+ ESelection aSel;
|
||||
+ // fdo#78151 editing a PRESOBJ_OUTLINE in a master page ?
|
||||
+ ::Outliner* pOL = GetOutlinerForMasterPageOutlineTextObj(aSel);
|
||||
+ if (pOL)
|
||||
+ {
|
||||
+ //we are on the last paragraph
|
||||
+ aSel.Adjust();
|
||||
+ if (aSel.nEndPara == pOL->GetParagraphCount() - 1)
|
||||
+ {
|
||||
+ sal_uInt16 nDepth = pOL->GetDepth(aSel.nEndPara);
|
||||
+ //there exists a previous numbering level
|
||||
+ if (nDepth != sal_uInt16(-1) && nDepth < 8)
|
||||
+ {
|
||||
+ sal_uInt16 nNewDepth = nDepth+1;
|
||||
+ pOL->Insert(SD_RESSTR(STR_PRESOBJ_MPOUTLINE+nNewDepth), EE_PARA_APPEND, nNewDepth);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ Cancel();
|
||||
+ rReq.Done ();
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
case SID_INSERT_FLD_DATE_FIX:
|
||||
case SID_INSERT_FLD_DATE_VAR:
|
||||
case SID_INSERT_FLD_TIME_FIX:
|
||||
diff --git a/sd/source/ui/view/drviews7.cxx b/sd/source/ui/view/drviews7.cxx
|
||||
index 81e2e00..d57b4a6 100644
|
||||
--- a/sd/source/ui/view/drviews7.cxx
|
||||
+++ b/sd/source/ui/view/drviews7.cxx
|
||||
@@ -212,6 +212,37 @@ void DrawViewShell::GetDrawAttrState(SfxItemSet& rSet)
|
||||
rSet.Put(aSet,false);
|
||||
}
|
||||
|
||||
+::Outliner* DrawViewShell::GetOutlinerForMasterPageOutlineTextObj(ESelection &rSel)
|
||||
+{
|
||||
+ if( !mpDrawView )
|
||||
+ return NULL;
|
||||
+
|
||||
+ //when there is one object selected
|
||||
+ if (!mpDrawView->AreObjectsMarked() || (mpDrawView->GetMarkedObjectList().GetMarkCount() != 1))
|
||||
+ return NULL;
|
||||
+
|
||||
+ //and we are editing the outline object
|
||||
+ if (!mpDrawView->IsTextEdit())
|
||||
+ return NULL;
|
||||
+
|
||||
+ SdrPageView* pPageView = mpDrawView->GetSdrPageView();
|
||||
+ if (!pPageView)
|
||||
+ return NULL;
|
||||
+
|
||||
+ SdPage* pPage = (SdPage*)pPageView->GetPage();
|
||||
+ //only show these in a normal master page
|
||||
+ if (!pPage || (pPage->GetPageKind() != PK_STANDARD) || !pPage->IsMasterPage())
|
||||
+ return NULL;
|
||||
+
|
||||
+ OutlinerView* pOLV = mpDrawView->GetTextEditOutlinerView();
|
||||
+ ::Outliner* pOL = pOLV ? pOLV->GetOutliner() : NULL;
|
||||
+ if (!pOL)
|
||||
+ return NULL;
|
||||
+ rSel = pOLV->GetSelection();
|
||||
+
|
||||
+ return pOL;
|
||||
+}
|
||||
+
|
||||
void DrawViewShell::GetMenuState( SfxItemSet &rSet )
|
||||
{
|
||||
if (mpDrawView == NULL)
|
||||
@@ -1565,6 +1596,41 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet )
|
||||
if ( bDisableEditHyperlink )
|
||||
rSet.DisableItem( SID_OPEN_HYPERLINK );
|
||||
|
||||
+ //fdo#78151 enable show next level/hide last level if editing a master page
|
||||
+ //PRESOBJ_OUTLINE object and the current selection allow that to happen
|
||||
+ {
|
||||
+ bool bDisableShowNextLevel = true;
|
||||
+ bool bDisableHideLastLevel = true;
|
||||
+
|
||||
+ ESelection aSel;
|
||||
+ ::Outliner* pOL = GetOutlinerForMasterPageOutlineTextObj(aSel);
|
||||
+ if (pOL)
|
||||
+ {
|
||||
+ //and are on the last paragraph
|
||||
+ aSel.Adjust();
|
||||
+ if (aSel.nEndPara == pOL->GetParagraphCount() - 1)
|
||||
+ {
|
||||
+ sal_uInt16 nDepth = pOL->GetDepth(aSel.nEndPara);
|
||||
+ if (nDepth != sal_uInt16(-1))
|
||||
+ {
|
||||
+ //there exists another numbering level that
|
||||
+ //is currently hidden
|
||||
+ if (nDepth < 8)
|
||||
+ bDisableShowNextLevel = false;
|
||||
+ //there exists a previous numbering level
|
||||
+ if (nDepth > 0)
|
||||
+ bDisableHideLastLevel = false;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (bDisableShowNextLevel)
|
||||
+ rSet.DisableItem(SID_SHOW_NEXT_LEVEL);
|
||||
+
|
||||
+ if (bDisableHideLastLevel)
|
||||
+ rSet.DisableItem(SID_HIDE_LAST_LEVEL);
|
||||
+ }
|
||||
+
|
||||
#if defined WNT || defined UNX
|
||||
if( !mxScannerManager.is() )
|
||||
{
|
||||
diff --git a/sd/source/ui/view/sdview.cxx b/sd/source/ui/view/sdview.cxx
|
||||
index 53e48a5..8755f8e 100644
|
||||
--- a/sd/source/ui/view/sdview.cxx
|
||||
+++ b/sd/source/ui/view/sdview.cxx
|
||||
@@ -653,12 +653,33 @@ static void SetSpellOptions( const SdDrawDocument& rDoc, sal_uLong& rCntrl )
|
||||
rCntrl &= ~EE_CNTRL_ONLINESPELLING;
|
||||
}
|
||||
|
||||
+void OutlinerMasterViewFilter::Start(SdrOutliner *pOutl)
|
||||
+{
|
||||
+ m_pOutl = pOutl;
|
||||
+ OutlinerView* pOutlView = m_pOutl->GetView(0);
|
||||
+ m_bReadOnly = pOutlView->IsReadOnly();
|
||||
+ pOutlView->SetReadOnly(true);
|
||||
+}
|
||||
+
|
||||
+void OutlinerMasterViewFilter::End()
|
||||
+{
|
||||
+ if (m_pOutl)
|
||||
+ {
|
||||
+ OutlinerView* pOutlView = m_pOutl->GetView(0);
|
||||
+ pOutlView->SetReadOnly(m_bReadOnly);
|
||||
+ m_pOutl = NULL;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
bool View::SdrBeginTextEdit(
|
||||
SdrObject* pObj, SdrPageView* pPV, ::Window* pWin,
|
||||
bool bIsNewObj,
|
||||
SdrOutliner* pOutl, OutlinerView* pGivenOutlinerView,
|
||||
bool bDontDeleteOutliner, bool bOnlyOneView, bool bGrabFocus )
|
||||
{
|
||||
+ SdrPage* pPage = pObj->GetPage();
|
||||
+ bool bMasterPage = pPage && pPage->IsMasterPage();
|
||||
+
|
||||
GetViewShell()->GetViewShellBase().GetEventMultiplexer()->MultiplexEvent(
|
||||
sd::tools::EventMultiplexerEvent::EID_BEGIN_TEXT_EDIT, (void*)pObj );
|
||||
|
||||
@@ -731,12 +752,17 @@ bool View::SdrBeginTextEdit(
|
||||
}
|
||||
}
|
||||
|
||||
- return(bReturn);
|
||||
+ if (bMasterPage && bReturn)
|
||||
+ maMasterViewFilter.Start(pOutl);
|
||||
+
|
||||
+ return bReturn;
|
||||
}
|
||||
|
||||
/** ends current text editing */
|
||||
-SdrEndTextEditKind View::SdrEndTextEdit(bool bDontDeleteReally )
|
||||
+SdrEndTextEditKind View::SdrEndTextEdit(bool bDontDeleteReally)
|
||||
{
|
||||
+ maMasterViewFilter.End();
|
||||
+
|
||||
SdrObjectWeakRef xObj( GetTextEditObject() );
|
||||
|
||||
bool bDefaultTextRestored = RestoreDefaultText( dynamic_cast< SdrTextObj* >( GetTextEditObject() ) );
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,96 +0,0 @@
|
||||
From 8e4c1db34025dff41f4576865e49f1e9f990aa9f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Thu, 18 Sep 2014 11:40:26 +0100
|
||||
Subject: [PATCH] Resolves: fdo#80911 don't swap notes page width/height
|
||||
|
||||
IsDraw doesn't mean the app/page is Draw
|
||||
|
||||
it means a slide in impress.
|
||||
|
||||
commit 7b31e45ec7106d2cfbdbb7915d97667ba710f81c
|
||||
Date: Mon Jun 23 20:55:21 2014 +0100
|
||||
Make Draw use paper size when printing - fdo#63905
|
||||
|
||||
Previously, Draw/Impress use the default size from the printer.
|
||||
Now Draw uses the paper size (specified in page formatting).
|
||||
Impress still uses the old method - not sure if this is correct
|
||||
but printing handouts etc probably complicate print/paper size.
|
||||
|
||||
suggests the intent is for this to not affect Impress and to only
|
||||
affect Draw, so this does that
|
||||
|
||||
(cherry picked from commit f1f89f0202232635e7fbbd7ca47de51755b2bce0)
|
||||
|
||||
Conflicts:
|
||||
sd/source/ui/view/DocumentRenderer.cxx
|
||||
|
||||
Change-Id: I481a824ef244fd837992c893f6de0c051af0a26b
|
||||
|
||||
(cherry picked from commit cca120ad92ecab741ca9683f3cf76d9e4fc81729)
|
||||
|
||||
Conflicts:
|
||||
sd/source/ui/view/DocumentRenderer.cxx
|
||||
|
||||
Change-Id: I9826f69d03de85ea8d2b2c025121599877798852
|
||||
---
|
||||
sd/source/ui/view/DocumentRenderer.cxx | 31 +++++++++++++++++--------------
|
||||
1 file changed, 17 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/sd/source/ui/view/DocumentRenderer.cxx b/sd/source/ui/view/DocumentRenderer.cxx
|
||||
index 7080e9d..8e1739c 100644
|
||||
--- a/sd/source/ui/view/DocumentRenderer.cxx
|
||||
+++ b/sd/source/ui/view/DocumentRenderer.cxx
|
||||
@@ -1409,6 +1409,7 @@ private:
|
||||
SdDrawDocument* pDocument = mrBase.GetMainViewShell()->GetDoc();
|
||||
bool bIsDraw = pDocument->GetDocumentType() == DOCUMENT_TYPE_DRAW;
|
||||
rInfo.meOrientation = ORIENTATION_PORTRAIT;
|
||||
+ bool bDoDodgyHeightWidthFit = !bIsDraw && !mpOptions->IsNotes();
|
||||
|
||||
if( ! mpOptions->IsBooklet())
|
||||
{
|
||||
@@ -1418,9 +1420,9 @@ private:
|
||||
else if (rInfo.maPageSize.Width() < rInfo.maPageSize.Height())
|
||||
rInfo.meOrientation = ORIENTATION_LANDSCAPE;
|
||||
|
||||
- // Draw should abide by specified paper size
|
||||
+ // Draw and Notes should abide by their specified paper size
|
||||
Size aPaperSize;
|
||||
- if (bIsDraw)
|
||||
+ if (!bDoDodgyHeightWidthFit)
|
||||
{
|
||||
aPaperSize.setWidth(rInfo.maPageSize.Width());
|
||||
aPaperSize.setHeight(rInfo.maPageSize.Height());
|
||||
@@ -1431,18 +1433,19 @@ private:
|
||||
aPaperSize.setHeight(rInfo.mpPrinter->GetPaperSize().Height());
|
||||
}
|
||||
|
||||
- if( (rInfo.meOrientation == ORIENTATION_LANDSCAPE &&
|
||||
- (aPaperSize.Width() < aPaperSize.Height()))
|
||||
- ||
|
||||
- (rInfo.meOrientation == ORIENTATION_PORTRAIT &&
|
||||
- (aPaperSize.Width() > aPaperSize.Height()))
|
||||
- )
|
||||
- {
|
||||
- maPrintSize = awt::Size(aPaperSize.Height(), aPaperSize.Width());
|
||||
- }
|
||||
- else
|
||||
+ maPrintSize = awt::Size(aPaperSize.Width(), aPaperSize.Height());
|
||||
+
|
||||
+ if (bDoDodgyHeightWidthFit)
|
||||
{
|
||||
- maPrintSize = awt::Size(aPaperSize.Width(), aPaperSize.Height());
|
||||
+ if( (rInfo.meOrientation == ORIENTATION_LANDSCAPE &&
|
||||
+ (aPaperSize.Width() < aPaperSize.Height()))
|
||||
+ ||
|
||||
+ (rInfo.meOrientation == ORIENTATION_PORTRAIT &&
|
||||
+ (aPaperSize.Width() > aPaperSize.Height()))
|
||||
+ )
|
||||
+ {
|
||||
+ maPrintSize = awt::Size(aPaperSize.Height(), aPaperSize.Width());
|
||||
+ }
|
||||
}
|
||||
|
||||
return true;
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,48 +0,0 @@
|
||||
From a5793f5e0013b156600fd718d8f77870a9e73032 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Fri, 18 Jul 2014 09:06:44 +0100
|
||||
Subject: [PATCH] Resolves: fdo#81487 pasting into outline view crashes impress
|
||||
|
||||
CreateTitleTextObject will call indirectly ImpPageChange which
|
||||
triggers tools::EventMultiplexerEvent::EID_PAGE_ORDER and so
|
||||
in outlview.cxx without ignore page changes level in action
|
||||
the outliner is filled in from the slide contents in
|
||||
FillOutliner clearing the outliner contents and filling it
|
||||
fresh, but..
|
||||
|
||||
a) this hack tower is not prepared for all the outliner
|
||||
iterators to become invalid
|
||||
b) the contents of this title object is empty, because
|
||||
it was just created, and we didn't get a chance to fill
|
||||
in its text.
|
||||
|
||||
This all works for typing vs pasting because the KeyInput
|
||||
uses the OutlineViewPageChangesGuard guard which sets the
|
||||
ignore pages changes bit.
|
||||
|
||||
So, given that OutlineView::UpdateDocument expects
|
||||
the iterators of the outliner to be valid during
|
||||
the lifetime of the method lock the full method with
|
||||
the OutlineViewPageChangesGuard guard
|
||||
|
||||
Change-Id: Iecbf37d54f5f0c5a181be5f27832f769a3d2e389
|
||||
---
|
||||
sd/source/ui/view/outlview.cxx | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/sd/source/ui/view/outlview.cxx b/sd/source/ui/view/outlview.cxx
|
||||
index 268a32b..a76bb0b 100644
|
||||
--- a/sd/source/ui/view/outlview.cxx
|
||||
+++ b/sd/source/ui/view/outlview.cxx
|
||||
@@ -1535,6 +1535,8 @@ void OutlineView::EndModelChange()
|
||||
/** updates all changes in the outliner model to the draw model */
|
||||
void OutlineView::UpdateDocument()
|
||||
{
|
||||
+ OutlineViewPageChangesGuard aGuard(this);
|
||||
+
|
||||
const sal_uInt32 nPageCount = mrDoc.GetSdPageCount(PK_STANDARD);
|
||||
Paragraph* pPara = mrOutliner.GetParagraph( 0 );
|
||||
sal_uInt32 nPage;
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,222 +0,0 @@
|
||||
From b4840d3632e4404bee4bd192a7db916cbad3a401 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Wed, 20 Aug 2014 08:56:54 +0100
|
||||
Subject: [PATCH 1/2] Resolves: fdo#86449 backport rtf fixes
|
||||
|
||||
empty Reference
|
||||
|
||||
valgrind + bff
|
||||
|
||||
(cherry picked from commit 0a42632a74596cbc781746931bf8f2650994b80f)
|
||||
|
||||
empty m_aStates
|
||||
|
||||
valgrind + bff
|
||||
|
||||
(cherry picked from commit e3247719911f4e9b61ec43ea1c9ce04bcddc4ff8)
|
||||
|
||||
Change-Id: Id3c039a46dec5d2d4a4642dfb53d23a76972dde2
|
||||
3bd526b7ebf0f4fce5d0c7054809e0dc2908e73f
|
||||
Reviewed-on: https://gerrit.libreoffice.org/12965
|
||||
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
||||
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
||||
---
|
||||
...7381c4a46d642c79a4b1817dc0-101375-minimized.rtf | 62 ++++++++++++++++++++++
|
||||
...7381c4a46d642c79a4b1817dc0-108116-minimized.rtf | 62 ++++++++++++++++++++++
|
||||
.../source/dmapper/DomainMapperTableHandler.cxx | 8 ++-
|
||||
writerfilter/source/rtftok/rtfdocumentimpl.cxx | 13 ++---
|
||||
4 files changed, 138 insertions(+), 7 deletions(-)
|
||||
create mode 100644 writerfilter/qa/cppunittests/rtftok/data/pass/sf_2063317381c4a46d642c79a4b1817dc0-101375-minimized.rtf
|
||||
create mode 100644 writerfilter/qa/cppunittests/rtftok/data/pass/sf_2063317381c4a46d642c79a4b1817dc0-108116-minimized.rtf
|
||||
|
||||
diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/sf_2063317381c4a46d642c79a4b1817dc0-101375-minimized.rtf b/writerfilter/qa/cppunittests/rtftok/data/pass/sf_2063317381c4a46d642c79a4b1817dc0-101375-minimized.rtf
|
||||
new file mode 100644
|
||||
index 0000000..c3ffebc
|
||||
--- /dev/null
|
||||
+++ b/writerfilter/qa/cppunittests/rtftok/data/pass/sf_2063317381c4a46d642c79a4b1817dc0-101375-minimized.rtf
|
||||
@@ -0,0 +1,62 @@
|
||||
+{\rtf1\ansi\deff0\adeflang1025
|
||||
+{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\froman\fprq2\fcharset128 Times New Roman;}{\f4\froman\fprq2\fcharset128 Arial Narrow;}{\f5\froman\fprq0\fcharset128 Arial Narrow;}{\f6\froman\fprq2\fcharset128 Symbol;}{\f7\froman\fprq0\fcharset128 Symbol;}{\f8\froman\fprq2\fcharset128 Wingdings;}{\f9\froman\fprq0\fcharset128 Wingdings;}{\f10\froman\fprq0\fcharset128 Times New Roman;}{\f11\fnil\fprq2\fcharset0 Microsoft YaHei;}{\f12\fnil\fprq2\fcharset128 SimSun;}{\f13\fnil\fprq2\fcharset128 Times New Roman (Arabic);}{\f14\fnil\fprq0\fcharset128 Times New Roman (Arabic);}{\f15\fnil\fprq2\fcharset128 Times New Roman;}{\f16\fnil\fprq0\fcharset128 Times New Roman;}{\f17\fnil\fprq2\fcharset0 Mangal;}{\f18\fnil\fprq0\fcharset128 Mangal;}{\f19\fnil\fprq2\fcharset128 Mangal;}{\f20\fnil\fprq2\fcharset128 Cambria Math;}{\f21\fnil\fprq0\fcharset128 Cambria Math;}}
|
||||
+{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red128\green128\blue128;}
|
||||
+{\stylesheet{\s0\snext0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040 Predefinito;}
|
||||
+{\s15\sbasedon0\snext16\sb240\sa120\keepn\hich\af11\dbch\af17\afs28\loch\f2\fs28 Intestazione;}
|
||||
+{\s16\sbasedon0\snext16\sb0\sa120 Corpo testo;}
|
||||
+{\s17\sbasedon16\snext17\sb0\sa120\dbch\af18 Elenco;}
|
||||
+{\s18\sbasedon0\snext18\sb120\sa120\noline\i\dbch\af18\afs24\ai\fs24 Didascalia;}
|
||||
+{\s19\sbasedon0\snext19\noline\dbch\af18 Indice;}
|
||||
+}{\info{\creatim\yr2011\mo9\dy28\hr16\min28}{\revtim\yr2011\mo9\dy28\hr16\min29}{\printim\yr0\mo0\dy0\hr0\min0}{\comment LibreOffice}{\vern3500}}\deftab720
|
||||
+
|
||||
+{\*\pgdsctbl
|
||||
+{\pgdsc0\pgdscuse195\pgwsxn12240\pghsxn15840\marglsxn1134\margrsxn1134\margtsxn1417\margbsxn1134\pgdscnxt0 Predefinito;}}
|
||||
+\formshade{\*\pgdscno0}\paperh15840\paperw12240\margl1134\margr1134\margt1417\margb1134\sectd\sbknone\sectunlocked1\pgndec\pgwsxn12240\pghsxn15840\marglsxn1134\margrsxn1134\margtsxn1417\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
|
||||
+\trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx9864\pgndec\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\keepn{\scaps\b\hich\af14\langfe1040\dbch\af14\afs26\alang1025\ab\rtlch \ltrch\loch\fs26\lang1040\loch\f5
|
||||
+SSSSSSS SSSSSSS curriculum vitae}
|
||||
+\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\langfe1040\dbch\af14\afs16\alang1025\rtlch \ltrch\loch\fs16\lang1040\loch\f5
|
||||
+}\cell\row\pard\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\keepn{\scaps\b\hich\af14\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+Informazioni personali}\cell\row\pard\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2895\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40\keepn{\hich\af14\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+Nome}\cell\trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2895\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\scaps\b\hich\af14\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+SSSSSSS SSSSSSS}\cell\cell\row\pard\trowd\trql\trleft-108\ltrrow\trrh876\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvert`lt\cellx2623\clvertalt\cellx2896\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\h{phmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40\keepn{\hich\af14\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+Indirizzo}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\scaps\b\hich\af14\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+SSS S. SSSSSSSS SSSS}
|
||||
+\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40[\scaps\b\hich\af14\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+SSSSSS SSSSS SSSSSS}\cell\row\pard\trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2896\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40\keepn{\hich\af14\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+Telefono}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\b\hich\af14\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+SSSSSSSSSS}\cell\row\pard\trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2896\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40\keepn{\langfe1040\dbch\af14\afs22\alang1025\rtlch \ltrch\loch\fs22\lang1040\loch\f5
|
||||
+}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\b\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+}\cell\row\pard\trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2896\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40\keepn{\hich\af14\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+E-mail}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\b\hich\af14\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+SSSSSSSSSSSSSSSSSSSSSS}\cell\row\pard\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb120\sa0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2895\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb20\sa20\keepn{\hich\af14\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+Nazionalit\'e0}\cell\trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2895\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb20\sa20{\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\b\hich\af14\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+SSSSSSSS}\cell\cell\row\pard\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb20\sa20{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2895\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb20\sa20\keepn{\hich\af14\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+Luogo e Data di nascita}\cell\trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2895\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb20\sa20{\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\b\hich\af14\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+SSSSSS SSSSSSSSSS }\cell\cell\row\pard\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par }
|
||||
\ No newline at end of file
|
||||
diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/sf_2063317381c4a46d642c79a4b1817dc0-108116-minimized.rtf b/writerfilter/qa/cppunittests/rtftok/data/pass/sf_2063317381c4a46d642c79a4b1817dc0-108116-minimized.rtf
|
||||
new file mode 100644
|
||||
index 0000000..9576906
|
||||
--- /dev/null
|
||||
+++ b/writerfilter/qa/cppunittests/rtftok/data/pass/sf_2063317381c4a46d642c79a4b1817dc0-108116-minimized.rtf
|
||||
@@ -0,0 +1,62 @@
|
||||
+{\rtf1\ansi\deff0\adeflang1025
|
||||
+{\fonttbl{\f0\froman\fprq2\fcharset0 Times New Roman;}{\f1\froman\fprq2\fcharset2 Symbol;}{\f2\fswiss\fprq2\fcharset0 Arial;}{\f3\froman\fprq2\fcharset128 Times New Roman;}{\f4\froman\fprq2\fcharset128 Arial Narrow;}{\f5\froman\fprq0\fcharset128 Arial Narrow;}{\f6\froman\fprq2\fcharset128 Symbol;}{\f7\froman\fprq0\fcharset128 Symbol;}{\f8\froman\fprq2\fcharset128 Wingdings;}{\f9\froman\fprq0\fcharset128 Wingdings;}{\f10\froman\fprq0\fcharset128 Times New Roman;}{\f11\fnil\fprq2\fcharset0 Microsoft YaHei;}{\f12\fnil\fprq2\fcharset128 SimSun;}{\f13\fnil\fprq2\fcharset128 Times New Roman (Arabic);}{\f14\fnil\fprq0\fcharset128 Times New Roman (Arabic);}{\f15\fnil\fprq2\fcharset128 Times New Roman;}{\f16\fnil\fprq0\fcharset128 Times New Roman;}{\f17\fnil\fprq2\fcharset0 Mangal;}{\f18\fnil\fprq0\fcharset128 Mangal;}{\f19\fnil\fprq2\fcharset128 Mangal;}{\f20\fnil\fprq2\fcharset128 Cambria Math;}{\f21\fnil\fprq0\fcharset128 Cambria Math;}}
|
||||
+{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red128\green128\blue128;}
|
||||
+{\stylesheet{\s0\snext0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040 Predefinito;}
|
||||
+{\s15\sbasedon0\snext16\sb240\sa120\keepn\hich\af11\dbch\af17\afs28\loch\f2\fs28 Intestazione;}
|
||||
+{\s16\sbasedon0\snext16\sb0\sa120 Corpo testo;}
|
||||
+{\s17\sbasedon16\snext17\sb0\sa120\dbch\af18 Elenco;}
|
||||
+{\s18\sbasedon0\snext18\sb120\sa120\noline\i\dbch\af18\afs24\ai\fs24 Didascalia;}
|
||||
+{\s19\sbasedon0\snext19\noline\dbch\af18 Indice;}
|
||||
+}{\info{\creatim\yr2011\mo9\dy28\hr16\min28}{\revtim\yr2011\mo9\dy28\hr16\min29}{\printim\yr0\mo0\dy0\hr0\min0}{\comment LibreOffice}{\vern3500}}\deftab720
|
||||
+
|
||||
+{\*\pgdsctbl
|
||||
+{\pgdsc0\pgdscuse195\pgwsxn12240\pghsxn15840\marglsxn1134\margrsxn1134\margtsxn1417\margbsxn1134\pgdscnxt0 Predefinito;}}
|
||||
+\formshade{\*\pgdscno0}\paperh15840\paperw12240\margl1134\margr1134\margt1417\margb1134\sectd\sbknone\sectunlocked1\pgndec\pgwsxn12240\pghsxn15840\marglsxn1134\margrsxn1134\margtsxn1417\margbsxn1134\ftnbj\ftnstart1\ftnrstcont\ftnnar\aenddoc\aftnrstcont\aftnstart1\aftnnrlc
|
||||
+\trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx9864\pgndec\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\keepn{\scaps\b\hich\af14\langfe1040\dbch\af14\afs26\alang1025\ab\rtlch \ltrch\loch\fs26\lang1040\loch\f5
|
||||
+SSSSSSS SSSSSSS curriculum vitae}
|
||||
+\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\langfe1040\dbch\af14\afs16\alang1025\rtlch \ltrch\loch\fs16\lang1040\loch\f5
|
||||
+}\cell\row\pard\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\keepn{\scaps\b\hich\af14\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+Informazioni personali}\cell\row\pard\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2895\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40\keepn{\hich\af14\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+Nome}\cell\trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2895\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\scaps\b\hich\af14\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+SSSSSSS SSSSSSS}\cell\cell\row\pard\trowd\trql\trleft-108\ltrrow\trrh876\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2896\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40\keepn{\hich\af14\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+Indirizzo}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\scaps\b\hich\af14\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+SSS S. SSSSSSSS SSSS}
|
||||
+\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\scaps\b\hich\af14\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+SSSSSS SSSSS SSSSSS}\cell\row\pard\trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2896\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40\keepn{\hich\af14\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+Telefono}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\b\hich\af14\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+SSSSSSSSSS}\cell\row\pard\trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2896\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40\keepn{\langfe1040\dbch\af14\afs22\alang1025\rtlch \ltrch\loch\fs22\lang1040\loch\f5
|
||||
+}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\b\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+}\cell\row\pard\trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2896\clvertalt\cellx9864\pard\plain \sp\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40\keepn{\hich\af14\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+E-mail}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\b\hich\af14\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+SSSSSSSSSSSSSSSSSSSSSS}\cell\row\pard\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb120\sa0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2895\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb20\sa20\keepn{\hich\af14\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+Nazionalit\'e0}\cell\trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2895\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb20\sa20{\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\b\hich\af14\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+SSSSSSSS}\cell\cell\row\pard\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb20\sa20{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2895\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\qr\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb20\sa20\keepn{\hich\af14\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+Luogo e Data di nascita}\cell\trowd\trql\trleft-108\ltrrow\trpaddft3\trpaddt0\trpaddfl3\trpaddl0\trpaddfb3\trpaddb0\trpaddfr3\trpaddr0\clvertalt\cellx2623\clvertalt\cellx2895\clvertalt\cellx9864\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb20\sa20{\langfe1040\dbch\af14\afs20\alang1025\rtlch \ltrch\loch\fs20\lang1040\loch\f5
|
||||
+}\cell\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\intbl\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0\sb40\sa40{\b\hich\af14\langfe1040\dbch\af14\afs24\alang1025\ab\rtlch \ltrch\loch\fs24\lang1040\loch\f5
|
||||
+SSSSSS SSSSSSSSSS }\cell\cell\row\pard\pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af22\langfe2052\dbch\af17\afs24\alang1081\loch\f0\fs24\lang1040\ql\nowidctlpar\faauto\li0\ri0\lin0\rin0\fi0{\rtlch \ltrch\loch
|
||||
+}
|
||||
+\par }
|
||||
\ No newline at end of file
|
||||
diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
|
||||
index b8193c7..fdf292d 100644
|
||||
--- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
|
||||
+++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
|
||||
@@ -921,6 +921,12 @@ bool lcl_emptyRow(TableSequence_t& rTableSeq, sal_Int32 nRow)
|
||||
}
|
||||
|
||||
RowSequence_t rRowSeq = rTableSeq[nRow];
|
||||
+ if (rRowSeq.getLength() == 0)
|
||||
+ {
|
||||
+ SAL_WARN("writerfilter", "m_aCellProperties not in sync with m_pTableSeq?");
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
uno::Reference<text::XTextRangeCompare> xTextRangeCompare(rRowSeq[0][0]->getText(), uno::UNO_QUERY);
|
||||
try
|
||||
{
|
||||
@@ -931,7 +937,7 @@ bool lcl_emptyRow(TableSequence_t& rTableSeq, sal_Int32 nRow)
|
||||
if (xTextRangeCompare->compareRegionStarts(rRowSeq[nCell][0], rRowSeq[nCell][1]) != 0)
|
||||
return false;
|
||||
}
|
||||
- catch (lang::IllegalArgumentException& e)
|
||||
+ catch (const lang::IllegalArgumentException& e)
|
||||
{
|
||||
SAL_WARN("writerfilter", "compareRegionStarts() failed: " << e.Message);
|
||||
return false;
|
||||
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
|
||||
index 31ff8b8..be56161 100644
|
||||
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
|
||||
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
|
||||
@@ -5789,12 +5789,13 @@ int RTFDocumentImpl::popState()
|
||||
case DESTINATION_SHAPEPROPERTYNAME:
|
||||
case DESTINATION_SHAPEPROPERTYVALUE:
|
||||
case DESTINATION_SHAPEPROPERTY:
|
||||
- {
|
||||
- m_aStates.top().aShape = aState.aShape;
|
||||
- m_aStates.top().aPicture = aState.aPicture;
|
||||
- m_aStates.top().aCharacterAttributes = aState.aCharacterAttributes;
|
||||
- }
|
||||
- break;
|
||||
+ if (!m_aStates.empty())
|
||||
+ {
|
||||
+ m_aStates.top().aShape = aState.aShape;
|
||||
+ m_aStates.top().aPicture = aState.aPicture;
|
||||
+ m_aStates.top().aCharacterAttributes = aState.aCharacterAttributes;
|
||||
+ }
|
||||
+ break;
|
||||
case DESTINATION_FLYMAINCONTENT:
|
||||
case DESTINATION_SHPPICT:
|
||||
case DESTINATION_SHAPE:
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,95 +0,0 @@
|
||||
From a6ddf90a2c4070d9c2355b7349db9f02b2119dc4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Fri, 7 Nov 2014 14:16:58 +0000
|
||||
Subject: [PATCH] Resolves: rhbz#1161238 sync PRESOBJ_OUTLINE para depths to
|
||||
outline numbering
|
||||
|
||||
same problem as fdo#78151, except that pre-existing documents created
|
||||
before the bullet/numbering toggling UI change have PRESOBJ_OUTLINEs with
|
||||
paras in them with "numbering off" but the outline level they are a
|
||||
preview of still have numbering enabled.
|
||||
|
||||
Leave the actual numbering styles alone in this case and toggle the
|
||||
PRESOBJ_OUTLINEs paras back to the level they "really" are
|
||||
|
||||
Change-Id: I76508f88b5003afd1740feee3ec328326117f896
|
||||
---
|
||||
sd/source/filter/xml/sdxmlwrp.cxx | 48 +++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 48 insertions(+)
|
||||
|
||||
diff --git a/sd/source/filter/xml/sdxmlwrp.cxx b/sd/source/filter/xml/sdxmlwrp.cxx
|
||||
index 411e7b1..65a52ac 100644
|
||||
--- a/sd/source/filter/xml/sdxmlwrp.cxx
|
||||
+++ b/sd/source/filter/xml/sdxmlwrp.cxx
|
||||
@@ -26,6 +26,7 @@
|
||||
#include <sfx2/docfile.hxx>
|
||||
#include <sfx2/docfilt.hxx>
|
||||
#include "drawdoc.hxx"
|
||||
+#include "Outliner.hxx"
|
||||
#include <unotools/streamwrap.hxx>
|
||||
#include <svx/xmlgrhlp.hxx>
|
||||
|
||||
@@ -415,6 +416,51 @@ sal_Int32 ReadThroughComponent(
|
||||
|
||||
|
||||
|
||||
+//PRESOBJ_OUTLINEs in master pages are the preview of the outline styles
|
||||
+//numbering format. Since fdo#78151 toggling bullets on and off changes
|
||||
+//the style they are a preview of, previously toggling bullets on and off
|
||||
+//would only affect the preview paragraph itself without an effect on the
|
||||
+//style. i.e. previews of numbering which don't match the real numbering
|
||||
+//they are supposed to be a preview of.
|
||||
+//
|
||||
+//But there exist documents which were saved previous to that modification
|
||||
+//so here we detect such cases and fix them up to ensure the previews
|
||||
+//numbering level matches that of the outline level it previews
|
||||
+void fixupOutlinePlaceholderNumberingDepths(SdDrawDocument* pDoc)
|
||||
+{
|
||||
+ for (sal_uInt16 i = 0; i < pDoc->GetMasterSdPageCount(PK_STANDARD); ++i)
|
||||
+ {
|
||||
+ SdPage *pMasterPage = pDoc->GetMasterSdPage(i, PK_STANDARD);
|
||||
+ SdrObject* pMasterOutline = pMasterPage->GetPresObj(PRESOBJ_OUTLINE);
|
||||
+ if (!pMasterOutline)
|
||||
+ continue;
|
||||
+ OutlinerParaObject* pOutlParaObj = pMasterOutline->GetOutlinerParaObject();
|
||||
+ if (!pOutlParaObj)
|
||||
+ continue;
|
||||
+ ::sd::Outliner* pOutliner = pDoc->GetInternalOutliner();
|
||||
+ pOutliner->Clear();
|
||||
+ pOutliner->SetText(*pOutlParaObj);
|
||||
+ bool bInconsistent = false;
|
||||
+ const sal_Int32 nParaCount = pOutliner->GetParagraphCount();
|
||||
+ for (sal_Int32 j = 0; j < nParaCount; ++j)
|
||||
+ {
|
||||
+ const sal_Int16 nExpectedDepth = j;
|
||||
+ if (nExpectedDepth != pOutliner->GetDepth(j))
|
||||
+ {
|
||||
+ Paragraph* p = pOutliner->GetParagraph(j);
|
||||
+ pOutliner->SetDepth(p, nExpectedDepth);
|
||||
+ bInconsistent = true;
|
||||
+ }
|
||||
+ }
|
||||
+ if (bInconsistent)
|
||||
+ {
|
||||
+ SAL_WARN("sd.filter", "Fixing inconsistent outline numbering placeholder preview depth");
|
||||
+ pMasterOutline->SetOutlinerParaObject(pOutliner->CreateParaObject(0, nParaCount));
|
||||
+ }
|
||||
+ pOutliner->Clear();
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
bool SdXMLFilter::Import( ErrCode& nError )
|
||||
{
|
||||
sal_uInt32 nRet = 0;
|
||||
@@ -779,6 +825,8 @@ bool SdXMLFilter::Import( ErrCode& nError )
|
||||
}
|
||||
}
|
||||
|
||||
+ fixupOutlinePlaceholderNumberingDepths(pDoc);
|
||||
+
|
||||
pDoc->EnableUndo(true);
|
||||
mrDocShell.ClearUndoBuffer();
|
||||
return nRet == 0;
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,154 +0,0 @@
|
||||
From f24c60870531689d95c056037e48cd29ad1d17bb Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Mon, 20 Oct 2014 14:21:22 +0200
|
||||
Subject: [PATCH] allow to build with system opencollada
|
||||
|
||||
Change-Id: I6101099c57d429987e06bca0652c843f4a94f8cc
|
||||
---
|
||||
Makefile.fetch | 2 +-
|
||||
RepositoryExternal.mk | 16 ++++++++++++++++
|
||||
config_host.mk.in | 4 +++-
|
||||
configure.ac | 35 +++++++++++++++++++++++++++++++++++
|
||||
external/Module_external.mk | 2 +-
|
||||
5 files changed, 56 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/Makefile.fetch b/Makefile.fetch
|
||||
index e8ccf5b..18b12be 100644
|
||||
--- a/Makefile.fetch
|
||||
+++ b/Makefile.fetch
|
||||
@@ -184,7 +184,7 @@ $(WORKDIR)/download: $(BUILDDIR)/config_host.mk $(SRCDIR)/download.lst $(SRCDIR)
|
||||
$(call fetch_Optional,NSS,NSS_TARBALL) \
|
||||
$(call fetch_Optional_pack,NUMBERTEXT_EXTENSION_PACK) \
|
||||
$(call fetch_Optional,ODFGEN,ODFGEN_TARBALL) \
|
||||
- $(call fetch_Optional,COLLADA2GLTF,OPENCOLLADA_TARBALL) \
|
||||
+ $(call fetch_Optional,OPENCOLLADA,OPENCOLLADA_TARBALL) \
|
||||
$(call fetch_Optional,OPENLDAP,OPENLDAP_TARBALL) \
|
||||
$(call fetch_Optional,OPENSSL,OPENSSL_TARBALL) \
|
||||
$(call fetch_Optional,ORCUS,ORCUS_TARBALL) \
|
||||
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
|
||||
index 5277aea..911dab1 100644
|
||||
--- a/RepositoryExternal.mk
|
||||
+++ b/RepositoryExternal.mk
|
||||
@@ -3371,6 +3371,20 @@ endif # SYSTEN_LIBGLTF
|
||||
|
||||
ifeq ($(ENABLE_COLLADA),TRUE)
|
||||
|
||||
+ifeq ($(SYSTEM_OPENCOLLADA),TRUE)
|
||||
+
|
||||
+define gb_LinkTarget__use_opencollada_parser
|
||||
+$(call gb_LinkTarget_set_include,$(1),\
|
||||
+ $$(INCLUDE) \
|
||||
+ $(OPENCOLLADA_CFLAGS) \
|
||||
+)
|
||||
+
|
||||
+$(call gb_LinkTarget_add_libs,$(1),$(OPENCOLLADA_LIBS))
|
||||
+
|
||||
+endef
|
||||
+
|
||||
+else # !SYSTEM_OPENCOLLADA
|
||||
+
|
||||
define gb_LinkTarget__use_opencollada_parser
|
||||
$(call gb_LinkTarget_set_include,$(1),\
|
||||
-I$(call gb_UnpackedTarball_get_dir,opencollada)/COLLADABaseUtils/include \
|
||||
@@ -3385,6 +3399,8 @@ $(call gb_LinkTarget_use_static_libraries,$(1),\
|
||||
)
|
||||
endef
|
||||
|
||||
+endif # SYSTEM_OPENCOLLADA
|
||||
+
|
||||
define gb_LinkTarget__use_collada2gltf
|
||||
$(call gb_LinkTarget_set_include,$(1),\
|
||||
-I$(call gb_UnpackedTarball_get_dir,collada2gltf) \
|
||||
diff --git a/config_host.mk.in b/config_host.mk.in
|
||||
index 0fefbb0..738c80c 100644
|
||||
--- a/config_host.mk.in
|
||||
+++ b/config_host.mk.in
|
||||
@@ -431,6 +431,8 @@ export OOOP_SAMPLES_PACK=@OOOP_SAMPLES_PACK@
|
||||
export OOO_JUNIT_JAR=@OOO_JUNIT_JAR@
|
||||
export OOO_VENDOR=@OOO_VENDOR@
|
||||
+export OPENCOLLADA_CFLAGS=$(gb_SPACE)@OPENCOLLADA_CFLAGS@
|
||||
+export OPENCOLLADA_LIBS=$(gb_SPACE)@OPENCOLLADA_LIBS@
|
||||
export OPENSSL_CFLAGS=$(gb_SPACE)@OPENSSL_CFLAGS@
|
||||
export OPENSSL_LIBS=$(gb_SPACE)@OPENSSL_LIBS@
|
||||
export ORCUS_CFLAGS=$(gb_SPACE)@ORCUS_CFLAGS@
|
||||
export ORCUS_LIBS=$(gb_SPACE)@ORCUS_LIBS@
|
||||
@@ -558,4 +559,5 @@ export SYSTEM_NPAPI_HEADERS=@SYSTEM_NPAPI_HEADERS@
|
||||
export SYSTEM_ODBC_HEADERS=@SYSTEM_ODBC_HEADERS@
|
||||
export SYSTEM_ODFGEN=@SYSTEM_ODFGEN@
|
||||
+export SYSTEM_OPENCOLLADA=@SYSTEM_OPENCOLLADA@
|
||||
export SYSTEM_OPENLDAP=@SYSTEM_OPENLDAP@
|
||||
export SYSTEM_OPENSSL=@SYSTEM_OPENSSL@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 17feb1a..5d2198b 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1641,6 +1641,11 @@ AC_ARG_WITH(system-ucpp,
|
||||
[Use ucpp already on system.]),,
|
||||
[])
|
||||
|
||||
+AC_ARG_WITH(system-opencollada,
|
||||
+ AS_HELP_STRING([--with-system-opencollada],
|
||||
+ [Use openCOLLADA already on system.]),,
|
||||
+ [with_system_opencollada=no])
|
||||
+
|
||||
AC_ARG_WITH(system-openldap,
|
||||
AS_HELP_STRING([--with-system-openldap],
|
||||
[Use the OpenLDAP LDAP SDK already on system.]),,
|
||||
@@ -10342,11 +10347,41 @@ if test "$enable_collada" != "no" -a "$ENABLE_GLTF" = "TRUE"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
ENABLE_COLLADA=TRUE
|
||||
AC_DEFINE(HAVE_FEATURE_COLLADA,1)
|
||||
+ AC_MSG_CHECKING([which OPENCOLLADA to use])
|
||||
+ if test "$with_system_opencollada" = "yes"; then
|
||||
+ AC_MSG_RESULT([external])
|
||||
+ SYSTEM_OPENCOLLADA=TRUE
|
||||
+ AS_IF([test -n "$OPENCOLLADA_CFLAGS"],[],[AC_MSG_ERROR([export OPENCOLLADA_CFLAGS])])
|
||||
+ AS_IF([test -n "$OPENCOLLADA_LIBS"],[],[AC_MSG_ERROR([export OPENCOLLADA_LIBS])])
|
||||
+ AC_LANG_PUSH([C++])
|
||||
+ save_CXXFLAGS=$CXXFLAGS
|
||||
+ save_CPPFLAGS=$CPPFLAGS
|
||||
+ CXXFLAGS="$CXXFLAGS $OPENCOLLADA_CFLAGS"
|
||||
+ CPPFLAGS="$CPPFLAGS $OPENCOLLADA_CFLAGS"
|
||||
+ AC_CHECK_HEADERS(
|
||||
+ COLLADABU.h \
|
||||
+ COLLADAFW.h \
|
||||
+ COLLADASaxFWLLoader.h \
|
||||
+ GeneratedSaxParser.h,
|
||||
+ [],
|
||||
+ [AC_MSG_ERROR([openCOLLADA headers not found. Install openCOLLADA])],
|
||||
+ [])
|
||||
+ CXXFLAGS=$save_CXXFLAGS
|
||||
+ CPPFLAGS=$save_CPPFLAGS
|
||||
+ AC_LANG_POP([C++])
|
||||
+ OPENCOLLADA_CFLAGS=$(printf '%s' "$OPENCOLLADA_CFLAGS" | sed -e "s/-I/${ISYSTEM?}/g")
|
||||
+ else
|
||||
+ AC_MSG_RESULT([internal])
|
||||
+ BUILD_TYPE="$BUILD_TYPE OPENCOLLADA"
|
||||
+ fi
|
||||
BUILD_TYPE="$BUILD_TYPE COLLADA2GLTF"
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
AC_SUBST(ENABLE_COLLADA)
|
||||
+AC_SUBST([OPENCOLLADA_CFLAGS])
|
||||
+AC_SUBST([OPENCOLLADA_LIBS])
|
||||
+AC_SUBST([SYSTEM_OPENCOLLADA])
|
||||
|
||||
# pdf import?
|
||||
AC_MSG_CHECKING([whether to build the PDF import feature])
|
||||
diff --git a/external/Module_external.mk b/external/Module_external.mk
|
||||
index c95ea20..688e335 100644
|
||||
--- a/external/Module_external.mk
|
||||
+++ b/external/Module_external.mk
|
||||
@@ -75,7 +75,7 @@ $(eval $(call gb_Module_add_moduledirs,external,\
|
||||
$(call gb_Helper_optional,NEON,neon) \
|
||||
$(call gb_Helper_optional,NSS,nss) \
|
||||
$(call gb_Helper_optional,ODFGEN,libodfgen) \
|
||||
- $(call gb_Helper_optional,COLLADA2GLTF,opencollada) \
|
||||
+ $(call gb_Helper_optional,OPENCOLLADA,opencollada) \
|
||||
$(call gb_Helper_optional,OPENLDAP,openldap) \
|
||||
$(call gb_Helper_optional,OPENSSL,openssl) \
|
||||
$(call gb_Helper_optional,ORCUS,liborcus) \
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,96 +0,0 @@
|
||||
From 86c6f18c2766aad43d6e3bfcf3530e40440ebca7 Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Tue, 8 Jul 2014 17:01:27 +0200
|
||||
Subject: [PATCH] avoid problems detecting HTML files with .xls ext.
|
||||
|
||||
Change-Id: I9955223aac20f3f640fde51bb7231666c269ca70
|
||||
---
|
||||
filter/Configuration_filter.mk | 1 +
|
||||
filter/source/config/fragments/types/calc_HTML.xcu | 35 ++++++++++++++++++++++
|
||||
filter/source/textfilterdetect/filterdetect.cxx | 6 ++--
|
||||
3 files changed, 38 insertions(+), 4 deletions(-)
|
||||
create mode 100644 filter/source/config/fragments/types/calc_HTML.xcu
|
||||
|
||||
diff --git a/filter/Configuration_filter.mk b/filter/Configuration_filter.mk
|
||||
index e035464..0465f17 100644
|
||||
--- a/filter/Configuration_filter.mk
|
||||
+++ b/filter/Configuration_filter.mk
|
||||
@@ -512,6 +512,7 @@ $(call filter_Configuration_add_ui_filters,fcfg_langpack,filter/source/config/fr
|
||||
$(call filter_Configuration_add_types,fcfg_langpack,fcfg_calc_types.xcu,filter/source/config/fragments/types,\
|
||||
calc_DIF \
|
||||
calc_ODS_FlatXML \
|
||||
+ calc_HTML \
|
||||
generic_HTML \
|
||||
generic_Text \
|
||||
calc_Lotus \
|
||||
diff --git a/filter/source/config/fragments/types/calc_HTML.xcu b/filter/source/config/fragments/types/calc_HTML.xcu
|
||||
new file mode 100644
|
||||
index 0000000..51bf8f1
|
||||
--- /dev/null
|
||||
+++ b/filter/source/config/fragments/types/calc_HTML.xcu
|
||||
@@ -0,0 +1,35 @@
|
||||
+<!--
|
||||
+ * This file is part of the LibreOffice project.
|
||||
+ *
|
||||
+ * This Source Code Form is subject to the terms of the Mozilla Public
|
||||
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
+ *
|
||||
+ * This file incorporates work covered by the following license notice:
|
||||
+ *
|
||||
+ * Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
+ * contributor license agreements. See the NOTICE file distributed
|
||||
+ * with this work for additional information regarding copyright
|
||||
+ * ownership. The ASF licenses this file to you under the Apache
|
||||
+ * License, Version 2.0 (the "License"); you may not use this file
|
||||
+ * except in compliance with the License. You may obtain a copy of
|
||||
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
||||
+-->
|
||||
+ <!-- A special case: There are tools that export HTML with .xls
|
||||
+ extension. Allow to detect these early to avoid going through the
|
||||
+ whole list of detectors. This also avoids the risk of misdetection
|
||||
+ as something else, as there are some formats that are text files and
|
||||
+ the detection is just a heuristic (e.g., wp1 or wp42 supported by
|
||||
+ libwpd). -->
|
||||
+ <node oor:name="calc_HTML" oor:op="replace" >
|
||||
+ <prop oor:name="DetectService"><value>com.sun.star.comp.filters.PlainTextFilterDetect</value></prop>
|
||||
+ <prop oor:name="URLPattern"/>
|
||||
+ <prop oor:name="Extensions"><value>xls</value></prop>
|
||||
+ <prop oor:name="MediaType"><value>text/html</value></prop>
|
||||
+ <prop oor:name="Preferred"><value>false</value></prop>
|
||||
+ <prop oor:name="PreferredFilter"/>
|
||||
+ <prop oor:name="UIName">
|
||||
+ <value>HTML Table</value>
|
||||
+ </prop>
|
||||
+ <prop oor:name="ClipboardFormat"/>
|
||||
+ </node>
|
||||
diff --git a/filter/source/textfilterdetect/filterdetect.cxx b/filter/source/textfilterdetect/filterdetect.cxx
|
||||
index ffad7fa..1d29dd4 100644
|
||||
--- a/filter/source/textfilterdetect/filterdetect.cxx
|
||||
+++ b/filter/source/textfilterdetect/filterdetect.cxx
|
||||
@@ -132,7 +132,7 @@ OUString SAL_CALL PlainTextFilterDetect::detect(uno::Sequence<beans::PropertyVal
|
||||
OUString aExt = aParser.getExtension(INetURLObject::LAST_SEGMENT, true, INetURLObject::DECODE_WITH_CHARSET);
|
||||
aExt = aExt.toAsciiLowerCase();
|
||||
|
||||
- if (aType == "generic_HTML")
|
||||
+ if ((aType == "generic_HTML") || (aType == "calc_HTML"))
|
||||
{
|
||||
uno::Reference<io::XInputStream> xInStream(aMediaDesc[MediaDescriptor::PROP_INPUTSTREAM()], uno::UNO_QUERY);
|
||||
if (!xInStream.is() || !IsHTMLStream(xInStream))
|
||||
@@ -141,12 +141,10 @@ OUString SAL_CALL PlainTextFilterDetect::detect(uno::Sequence<beans::PropertyVal
|
||||
// Decide which filter to use based on the document service first,
|
||||
// then on extension if that's not available.
|
||||
|
||||
- if (aDocService == CALC_DOCSERVICE)
|
||||
+ if ((aDocService == CALC_DOCSERVICE) || (aType == "calc_HTML"))
|
||||
aMediaDesc[MediaDescriptor::PROP_FILTERNAME()] <<= OUString(CALC_HTML_FILTER);
|
||||
else if (aDocService == WRITER_DOCSERVICE)
|
||||
aMediaDesc[MediaDescriptor::PROP_FILTERNAME()] <<= OUString(WRITER_HTML_FILTER);
|
||||
- else if (aExt == "xls")
|
||||
- aMediaDesc[MediaDescriptor::PROP_FILTERNAME()] <<= OUString(CALC_HTML_FILTER);
|
||||
else
|
||||
aMediaDesc[MediaDescriptor::PROP_FILTERNAME()] <<= OUString(WEB_HTML_FILTER);
|
||||
}
|
||||
--
|
||||
1.9.3
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,41 +0,0 @@
|
||||
From 93c47f3f0310135c5d6216de9b4d25fd7c06e7dd Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Thu, 18 Sep 2014 11:32:39 +0100
|
||||
Subject: [PATCH] default n-up printing of notes to sensible 2 x 1 not 1 x 2
|
||||
|
||||
i.e. throw away the maFirstPageSize cache based on the initial slide view which
|
||||
is typically in landscape mode
|
||||
|
||||
So that if we change to notes which are usually in portrait mode, and then
|
||||
visit n-up print, we get a default layout based on the notes orientation and
|
||||
not the slides orientation.
|
||||
|
||||
I hate printing
|
||||
|
||||
Change-Id: I8b7b81ce1eec0f9c5ecd7509b311cf4026958c2c
|
||||
---
|
||||
vcl/source/window/printdlg.cxx | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/vcl/source/window/printdlg.cxx b/vcl/source/window/printdlg.cxx
|
||||
index cf9642e..d9ebf7c 100644
|
||||
--- a/vcl/source/window/printdlg.cxx
|
||||
+++ b/vcl/source/window/printdlg.cxx
|
||||
@@ -1787,6 +1787,14 @@ IMPL_LINK( PrintDialog, UIOption_SelectHdl, ListBox*, i_pBox )
|
||||
sal_Int32 nVal( i_pBox->GetSelectEntryPos() );
|
||||
pVal->Value <<= nVal;
|
||||
|
||||
+ //If we are in impress we start in print slides mode and get a
|
||||
+ //maFirstPageSize for slides which are usually landscape mode, if we
|
||||
+ //change to notes which are usually in portrait mode, and then visit
|
||||
+ //n-up print, we will assume notes are in landscape unless we throw
|
||||
+ //away maFirstPageSize when we change page content type
|
||||
+ if (pVal->Name == "PageContentType")
|
||||
+ maFirstPageSize = Size();
|
||||
+
|
||||
checkOptionalControlDependencies();
|
||||
|
||||
// update preview and page settings
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,71 +0,0 @@
|
||||
From cb6511354b500d1b1bd8ff140fdf0ea106b174d4 Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Wed, 3 Sep 2014 16:20:40 +0200
|
||||
Subject: [PATCH] drop useless test for ant-apache-regexp
|
||||
|
||||
It has not been needed since commit
|
||||
1de48c417404464ca1e34e5c5d1c82a9342349bb 4 years ago.
|
||||
|
||||
Change-Id: I53ceb5d8d6c02c7a13c86cdd884e4fc378a2c492
|
||||
---
|
||||
configure.ac | 44 --------------------------------------------
|
||||
1 file changed, 44 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index f65ab66..897cb1e 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -12311,50 +12311,6 @@ EOF
|
||||
AC_MSG_ERROR([no, you need at least Ant >= $ant_minver])
|
||||
fi
|
||||
|
||||
- if test "$ENABLE_MEDIAWIKI" = "TRUE"; then
|
||||
- AC_MSG_CHECKING([whether Ant supports mapper type="regexp"])
|
||||
- rm -rf confdir
|
||||
- mkdir confdir
|
||||
- cat > conftest.java << EOF
|
||||
- public class conftest {
|
||||
- int testmethod(int a, int b) {
|
||||
- return a + b;
|
||||
- }
|
||||
- }
|
||||
-EOF
|
||||
-
|
||||
- cat > conftest.xml << EOF
|
||||
- <project name="conftest" default="conftest">
|
||||
- <target name="conftest" depends="copytest">
|
||||
- <javac srcdir="." includes="conftest.java">
|
||||
- </javac>
|
||||
- </target>
|
||||
- <target name="copytest">
|
||||
- <copy todir="confdir">
|
||||
- <fileset dir="confdir" includes="**/*.abc" casesensitive="yes"/>
|
||||
- <filterset/>
|
||||
- <mapper type="regexp" from="^(.*[/\\])foo([/\\].*)" to="\1baa\2"/>
|
||||
- </copy>
|
||||
- </target>
|
||||
- </project>
|
||||
-EOF
|
||||
-
|
||||
- if test "$JAVACISGCJ" = "yes"; then
|
||||
- JAVA_HOME=; export JAVA_HOME
|
||||
- ant_gcj="-Dbuild.compiler=gcj"
|
||||
- fi
|
||||
- AC_TRY_COMMAND("$ANT" $ant_gcj -buildfile conftest.xml 1>&2)
|
||||
- if test $? = 0 -a -f ./conftest.class; then
|
||||
- AC_MSG_RESULT([yes])
|
||||
- rm -rf confdir
|
||||
- else
|
||||
- echo "configure: Ant test failed" >&5
|
||||
- cat conftest.java >&5
|
||||
- cat conftest.xml >&5
|
||||
- rm -rf confdir
|
||||
- AC_MSG_ERROR([no. Did you install ant-apache-regexp?])
|
||||
- fi
|
||||
- fi
|
||||
rm -f conftest* core core.* *.core
|
||||
fi
|
||||
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,225 +0,0 @@
|
||||
From 9bfd1aced3da2aab9df3fc6f93543a5b6b1075b6 Mon Sep 17 00:00:00 2001
|
||||
From: Hideki Ikeda <hideki.ikeda@gmail.com>
|
||||
Date: Thu, 17 Jul 2014 16:46:16 -0400
|
||||
Subject: [PATCH] fdo#60712 - Inherits cell styles in inserting rows/columns
|
||||
|
||||
Add the code to copy cell styles from the caret row/column
|
||||
to new rows/columns. The span is also copiedl.
|
||||
|
||||
Change-Id: I39596a33141ed2159ea2d09e422892cbd68cd81a
|
||||
Reviewed-on: https://gerrit.libreoffice.org/10373
|
||||
Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
|
||||
Tested-by: Kohei Yoshida <libreoffice@kohei.us>
|
||||
---
|
||||
svx/source/table/cell.cxx | 20 +++++
|
||||
svx/source/table/cell.hxx | 2 +
|
||||
svx/source/table/tablecontroller.cxx | 142 +++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 164 insertions(+)
|
||||
|
||||
diff --git a/svx/source/table/cell.cxx b/svx/source/table/cell.cxx
|
||||
index ce7a6a9..5fd38f9 100644
|
||||
--- a/svx/source/table/cell.cxx
|
||||
+++ b/svx/source/table/cell.cxx
|
||||
@@ -525,6 +525,26 @@ void Cell::setMerged()
|
||||
|
||||
|
||||
|
||||
+void Cell::copyFormatFrom( const CellRef& xSourceCell )
|
||||
+{
|
||||
+ if( xSourceCell.is() && mpProperties )
|
||||
+ {
|
||||
+ mpProperties->SetMergedItemSet( xSourceCell->GetObjectItemSet() );
|
||||
+
|
||||
+ SdrTableObj& rTableObj = dynamic_cast< SdrTableObj& >( GetObject() );
|
||||
+ SdrTableObj& rSourceTableObj = dynamic_cast< SdrTableObj& >( xSourceCell->GetObject() );
|
||||
+
|
||||
+ if(rSourceTableObj.GetModel() != rTableObj.GetModel())
|
||||
+ {
|
||||
+ SetStyleSheet( 0, true );
|
||||
+ }
|
||||
+
|
||||
+ notifyModified();
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
void Cell::notifyModified()
|
||||
{
|
||||
if( mxTable.is() )
|
||||
diff --git a/svx/source/table/cell.hxx b/svx/source/table/cell.hxx
|
||||
index 65fdcd0..66cc5a7 100644
|
||||
--- a/svx/source/table/cell.hxx
|
||||
+++ b/svx/source/table/cell.hxx
|
||||
@@ -102,6 +102,8 @@ public:
|
||||
|
||||
SVX_DLLPRIVATE void setMerged();
|
||||
|
||||
+ SVX_DLLPRIVATE void copyFormatFrom( const CellRef& xSourceCell );
|
||||
+
|
||||
// XInterface
|
||||
SVX_DLLPRIVATE virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& Type ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
|
||||
SVX_DLLPRIVATE virtual void SAL_CALL acquire() throw () SAL_OVERRIDE;
|
||||
diff --git a/svx/source/table/tablecontroller.cxx b/svx/source/table/tablecontroller.cxx
|
||||
index 514505c..c310cb2 100644
|
||||
--- a/svx/source/table/tablecontroller.cxx
|
||||
+++ b/svx/source/table/tablecontroller.cxx
|
||||
@@ -564,6 +564,77 @@ void SvxTableController::onInsert( sal_uInt16 nSId, const SfxItemSet* pArgs )
|
||||
getPropertyValue( sSize ) );
|
||||
}
|
||||
|
||||
+ // Copy cell properties
|
||||
+ sal_Int32 nPropSrcCol = (bInsertAfter ? aEnd.mnCol : aStart.mnCol + nNewColumns);
|
||||
+ sal_Int32 nRowSpan = 0;
|
||||
+ bool bNewSpan = false;
|
||||
+
|
||||
+ for( sal_Int32 nRow = 0; nRow < mxTable->getRowCount(); ++nRow )
|
||||
+ {
|
||||
+ CellRef xSourceCell( dynamic_cast< Cell* >( mxTable->getCellByPosition( nPropSrcCol, nRow ).get() ) );
|
||||
+
|
||||
+ // When we insert new COLUMNs, we want to copy ROW spans.
|
||||
+ if( nRowSpan == 0 )
|
||||
+ {
|
||||
+ // we are not in a span yet. Let's find out if the current cell is in a span.
|
||||
+ sal_Int32 nColSpan;
|
||||
+ sal_Int32 nSpanInfoCol;
|
||||
+
|
||||
+ if( xSourceCell->getRowSpan() > 1 )
|
||||
+ {
|
||||
+ // The current cell is the top-left cell in a span.
|
||||
+ // Get the span info and propagate it to the target.
|
||||
+ nRowSpan = xSourceCell->getRowSpan();
|
||||
+ nColSpan = xSourceCell->getColumnSpan();
|
||||
+ nSpanInfoCol = nPropSrcCol;
|
||||
+ }
|
||||
+ else if( xSourceCell->isMerged() )
|
||||
+ {
|
||||
+ // The current cell is a middle cell in a 2D span.
|
||||
+ // Look for the top-left cell in the span.
|
||||
+ for( nSpanInfoCol = nPropSrcCol - 1; nSpanInfoCol >= 0; --nSpanInfoCol )
|
||||
+ {
|
||||
+ CellRef xMergeInfoCell( dynamic_cast< Cell* >( mxTable->getCellByPosition( nSpanInfoCol, nRow ).get() ) );
|
||||
+ if( !xMergeInfoCell->isMerged() )
|
||||
+ {
|
||||
+ nRowSpan = xMergeInfoCell->getRowSpan();
|
||||
+ nColSpan = xMergeInfoCell->getColumnSpan();
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ if( nRowSpan == 1 )
|
||||
+ nRowSpan = 0;
|
||||
+ }
|
||||
+
|
||||
+ // The target colomns are outside the span; Start a new span.
|
||||
+ if( nRowSpan > 0 && ( nNewStartColumn < nSpanInfoCol || nSpanInfoCol + nColSpan <= nNewStartColumn ) )
|
||||
+ bNewSpan = true;
|
||||
+ }
|
||||
+
|
||||
+ // Now copy the properties from the source to the targets
|
||||
+ for( sal_Int32 nOffset = 0; nOffset < nNewColumns; nOffset++ )
|
||||
+ {
|
||||
+ CellRef xTargetCell( dynamic_cast< Cell* >( mxTable->getCellByPosition( nNewStartColumn + nOffset, nRow ).get() ) );
|
||||
+ if( xTargetCell.is() )
|
||||
+ {
|
||||
+ if( nRowSpan > 0 )
|
||||
+ {
|
||||
+ if( bNewSpan )
|
||||
+ xTargetCell->merge( 1, nRowSpan );
|
||||
+ else
|
||||
+ xTargetCell->setMerged();
|
||||
+ }
|
||||
+ xTargetCell->copyFormatFrom( xSourceCell );
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if( nRowSpan > 0 )
|
||||
+ {
|
||||
+ --nRowSpan;
|
||||
+ bNewSpan = false;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if( bUndo )
|
||||
mpModel->EndUndo();
|
||||
|
||||
@@ -597,6 +668,77 @@ void SvxTableController::onInsert( sal_uInt16 nSId, const SfxItemSet* pArgs )
|
||||
getPropertyValue( sSize ) );
|
||||
}
|
||||
|
||||
+ // Copy the cell properties
|
||||
+ sal_Int32 nPropSrcRow = (bInsertAfter ? aEnd.mnRow : aStart.mnRow + nNewRows);
|
||||
+ sal_Int32 nColSpan = 0;
|
||||
+ bool bNewSpan = false;
|
||||
+
|
||||
+ for( sal_Int32 nCol = 0; nCol < mxTable->getColumnCount(); ++nCol )
|
||||
+ {
|
||||
+ CellRef xSourceCell( dynamic_cast< Cell* >( mxTable->getCellByPosition( nCol, nPropSrcRow ).get() ) );
|
||||
+
|
||||
+ // When we insert new ROWs, we want to copy COLUMN spans.
|
||||
+ if( nColSpan == 0 )
|
||||
+ {
|
||||
+ // we are not in a span yet. Let's find out if the current cell is in a span.
|
||||
+ sal_Int32 nRowSpan;
|
||||
+ sal_Int32 nSpanInfoRow;
|
||||
+
|
||||
+ if( xSourceCell->getColumnSpan() > 1 )
|
||||
+ {
|
||||
+ // The current cell is the top-left cell in a span.
|
||||
+ // Get the span info and propagate it to the target.
|
||||
+ nColSpan = xSourceCell->getColumnSpan();
|
||||
+ nRowSpan = xSourceCell->getRowSpan();
|
||||
+ nSpanInfoRow = nPropSrcRow;
|
||||
+ }
|
||||
+ else if( xSourceCell->isMerged() )
|
||||
+ {
|
||||
+ // The current cell is a middle cell in a 2D span.
|
||||
+ // Look for the top-left cell in the span.
|
||||
+ for( nSpanInfoRow = nPropSrcRow - 1; nSpanInfoRow >= 0; --nSpanInfoRow )
|
||||
+ {
|
||||
+ CellRef xMergeInfoCell( dynamic_cast< Cell* >( mxTable->getCellByPosition( nCol, nSpanInfoRow ).get() ) );
|
||||
+ if( !xMergeInfoCell->isMerged() )
|
||||
+ {
|
||||
+ nColSpan = xMergeInfoCell->getColumnSpan();
|
||||
+ nRowSpan = xMergeInfoCell->getRowSpan();
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ if( nColSpan == 1 )
|
||||
+ nColSpan = 0;
|
||||
+ }
|
||||
+
|
||||
+ // Inserted rows are outside the span; Start a new span.
|
||||
+ if( nColSpan > 0 && ( nNewRowStart < nSpanInfoRow || nSpanInfoRow + nRowSpan <= nNewRowStart ) )
|
||||
+ bNewSpan = true;
|
||||
+ }
|
||||
+
|
||||
+ // Now copy the properties from the source to the targets
|
||||
+ for( sal_Int32 nOffset = 0; nOffset < nNewRows; ++nOffset )
|
||||
+ {
|
||||
+ CellRef xTargetCell( dynamic_cast< Cell* >( mxTable->getCellByPosition( nCol, nNewRowStart + nOffset ).get() ) );
|
||||
+ if( xTargetCell.is() )
|
||||
+ {
|
||||
+ if( nColSpan > 0 )
|
||||
+ {
|
||||
+ if( bNewSpan )
|
||||
+ xTargetCell->merge( nColSpan, 1 );
|
||||
+ else
|
||||
+ xTargetCell->setMerged();
|
||||
+ }
|
||||
+ xTargetCell->copyFormatFrom( xSourceCell );
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if( nColSpan > 0 )
|
||||
+ {
|
||||
+ --nColSpan;
|
||||
+ bNewSpan = false;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if( bUndo )
|
||||
mpModel->EndUndo();
|
||||
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,78 +0,0 @@
|
||||
From caa08b214542fdf1bed3912b9c4fac36e5d87eb2 Mon Sep 17 00:00:00 2001
|
||||
From: Jennifer Liebel <jliebel94@gmail.com>
|
||||
Date: Tue, 2 Sep 2014 12:40:20 +0000
|
||||
Subject: [PATCH] fdo#82496: Change picture option by rightclicking
|
||||
|
||||
Change-Id: I31fb1a1f89030610a9d11b9236e8cde22dbc0ca5
|
||||
---
|
||||
sw/sdi/_grfsh.sdi | 12 ++++++++++++
|
||||
sw/source/ui/app/mn.src | 1 +
|
||||
sw/source/uibase/shells/grfsh.cxx | 3 +--
|
||||
3 files changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sw/sdi/_grfsh.sdi b/sw/sdi/_grfsh.sdi
|
||||
index 15c00cc..2eb2ab2 100644
|
||||
--- a/sw/sdi/_grfsh.sdi
|
||||
+++ b/sw/sdi/_grfsh.sdi
|
||||
@@ -62,6 +62,13 @@ interface BaseTextGraphic
|
||||
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
|
||||
]
|
||||
|
||||
+ SID_CHANGE_PICTURE
|
||||
+ [
|
||||
+ ExecMethod = Execute ;
|
||||
+ StateMethod = GetAttrState ;
|
||||
+ DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
|
||||
+ ]
|
||||
+
|
||||
SID_EXTERNAL_EDIT
|
||||
[
|
||||
ExecMethod = Execute ;
|
||||
@@ -224,6 +231,11 @@ interface BaseTextGraphic
|
||||
StateMethod = GetAttrState ;
|
||||
DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
|
||||
]
|
||||
+ SID_CHANGE_PICTURE
|
||||
+ [
|
||||
+ ExecMethod = FuTemporary ;
|
||||
+ StateMethod = GetMenuState ;
|
||||
+ ]
|
||||
SID_GRFFILTER_SOLARIZE // status(final|play|rec)
|
||||
[
|
||||
ExecMethod = ExecAttr ;
|
||||
diff --git a/sw/source/ui/app/mn.src b/sw/source/ui/app/mn.src
|
||||
index f62c8da..79b797d 100644
|
||||
--- a/sw/source/ui/app/mn.src
|
||||
+++ b/sw/source/ui/app/mn.src
|
||||
@@ -1239,6 +1239,7 @@ Menu MN_GRF_POPUPMENU
|
||||
MN_FRM_CAPTION_ITEM
|
||||
SEPARATOR;
|
||||
MenuItem { ITEM_SAVE_GRAPHIC };
|
||||
+ MenuItem { ITEM_CHANGE_PICTURE };
|
||||
MenuItem { ITEM_COMPRESS_GRAPHIC };
|
||||
MenuItem { ITEM_EXTERNAL_EDIT };
|
||||
|
||||
diff --git a/sw/source/uibase/shells/grfsh.cxx b/sw/source/uibase/shells/grfsh.cxx
|
||||
index d5ecec5..0e13b38 100644
|
||||
--- a/sw/source/core/uibase/shells/grfsh.cxx
|
||||
+++ b/sw/source/core/uibase/shells/grfsh.cxx
|
||||
@@ -178,7 +178,6 @@ void SwGrfShell::Execute(SfxRequest &rReq)
|
||||
}
|
||||
}
|
||||
break;
|
||||
-
|
||||
case SID_EXTERNAL_EDIT:
|
||||
{
|
||||
// When the graphic is selected to be opened via some external tool
|
||||
@@ -191,7 +190,7 @@ void SwGrfShell::Execute(SfxRequest &rReq)
|
||||
}
|
||||
}
|
||||
break;
|
||||
-
|
||||
+ case SID_CHANGE_PICTURE:
|
||||
case SID_INSERT_GRAPHIC:
|
||||
{
|
||||
// #i123922# implement slot independent from the two below to
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,36 +0,0 @@
|
||||
From 0bab8aee77cfc2ffdbc6d3ef6a869284bc12dff4 Mon Sep 17 00:00:00 2001
|
||||
From: Muthu Subramanian <muthu.subramanian.karunanidhi@ericsson.com>
|
||||
Date: Thu, 23 Oct 2014 20:30:26 +0530
|
||||
Subject: [PATCH] fdo#85247: copy and paste of a slide results in a blue slide
|
||||
in presentation mode.
|
||||
|
||||
Seems like "Default" is handled specially or probably
|
||||
the copy-buffer is broken
|
||||
This now checks for slide 'type' as well, before cosidering it a duplicate
|
||||
|
||||
Change-Id: If8c472bcefb54cee72e7411f92a76b4e2db2b6ce
|
||||
---
|
||||
sd/source/core/drawdoc3.cxx | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sd/source/core/drawdoc3.cxx b/sd/source/core/drawdoc3.cxx
|
||||
index e379ed0..d3e92f9 100644
|
||||
--- a/sd/source/core/drawdoc3.cxx
|
||||
+++ b/sd/source/core/drawdoc3.cxx
|
||||
@@ -106,9 +106,11 @@ void InsertBookmarkAsPage_FindDuplicateLayouts::operator()( SdDrawDocument& rDoc
|
||||
|
||||
OUString aTest(aFullTest);
|
||||
|
||||
- if (aTest == aLayout)
|
||||
+ if (aTest == aLayout && pBMMPage->GetPageKind() == pTestPage->GetPageKind())
|
||||
{
|
||||
- if( bRenameDuplicates && pTestPage->getHash() != pBMMPage->getHash() )
|
||||
+ // Ignore Layouts with "Default" these seem to be special - in the sense that there are lot of assumption all over Impress
|
||||
+ // about this
|
||||
+ if( bRenameDuplicates && aTest != OUString( SdResId( STR_LAYOUT_DEFAULT_NAME ) ) && pTestPage->getHash() != pBMMPage->getHash() )
|
||||
{
|
||||
pBookmarkDoc->RenameLayoutTemplate( pBMMPage->GetLayoutName(), OUString(pBMMPage->GetName())+=OUString("_") );
|
||||
aLayout = pBMMPage->GetName();
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,31 +0,0 @@
|
||||
From fdb81f1a2012e558eaeb7fcf762736f1afcdeee9 Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Wed, 3 Sep 2014 09:36:22 +0200
|
||||
Subject: [PATCH] fix KDE4 detection on aarch64
|
||||
|
||||
Change-Id: Iafe65564e8c2534cb03497d82d7dd3498abdf7c8
|
||||
---
|
||||
configure.ac | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index c0b5658..f65ab66 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -11045,9 +11045,12 @@ AC_SUBST(ENABLE_SCRIPTING_JAVASCRIPT)
|
||||
AC_SUBST(SYSTEM_RHINO)
|
||||
AC_SUBST(RHINO_JAR)
|
||||
|
||||
+# This is only used in KDE3/KDE4/TDE checks to determine if /usr/lib64
|
||||
+# paths should be added to library search path. So lets put all 64-bit
|
||||
+# platforms there.
|
||||
supports_multilib=
|
||||
case "$host_cpu" in
|
||||
-x86_64 | powerpc64 | s390x)
|
||||
+x86_64 | powerpc64 | powerpc64le | s390x | aarch64)
|
||||
if test "$SAL_TYPES_SIZEOFLONG" = "8"; then
|
||||
supports_multilib="yes"
|
||||
fi
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,28 +0,0 @@
|
||||
From 204dc59286857174306615dad4b4a0bd8d0cfe82 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Tue, 11 Nov 2014 14:10:04 +0000
|
||||
Subject: [PATCH] have a stab at improving impossible question
|
||||
|
||||
as to whether you want to "adapt" objects or not
|
||||
|
||||
Change-Id: Ic4c00be480d1be632d84dfac71fe911d48eacc51
|
||||
---
|
||||
sd/source/ui/app/strings.src | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sd/source/ui/app/strings.src b/sd/source/ui/app/strings.src
|
||||
index 2b363f6..06b0fcf 100644
|
||||
--- a/sd/source/ui/app/strings.src
|
||||
+++ b/sd/source/ui/app/strings.src
|
||||
@@ -397,7 +397,7 @@ String STR_READ_DATA_ERROR
|
||||
};
|
||||
String STR_SCALE_OBJECTS
|
||||
{
|
||||
- Text [ en-US ] = "The format of the new pages will be adapted.\nDo you want to adapt the objects, too?" ;
|
||||
+ Text [ en-US ] = "The page size of the target document is different than the source document.\n\nDo you want to scale the copied objects to fit the new page size?" ;
|
||||
};
|
||||
String STR_CREATE_PAGES
|
||||
{
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,103 +0,0 @@
|
||||
From af73a28e8538f5b2df6bbfd592d8987511520d4d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Fri, 22 Aug 2014 21:08:47 +0100
|
||||
Subject: [PATCH] if _CALL_ELF -> if defined(_CALL_ELF) && _CALL_ELF == 2
|
||||
|
||||
Change-Id: I34e9a98586b795a3fa31ae775aee7898b36e65d4
|
||||
---
|
||||
bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx | 10 +++++-----
|
||||
bridges/source/cpp_uno/gcc3_linux_powerpc64/uno2cpp.cxx | 8 ++++----
|
||||
2 files changed, 9 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx
|
||||
index 35cc16f..430999f 100644
|
||||
--- a/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx
|
||||
+++ b/bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx
|
||||
@@ -326,7 +326,7 @@ static typelib_TypeClass cpp2uno_call(
|
||||
}
|
||||
}
|
||||
|
||||
-#if _CALL_ELF == 2
|
||||
+#if defined(_CALL_ELF) && _CALL_ELF == 2
|
||||
# define PARAMSAVE 32
|
||||
#else
|
||||
# define PARAMSAVE 48
|
||||
@@ -545,7 +545,7 @@ extern "C" void privateSnippetExecutor( ... )
|
||||
"mr %0, 1\n\t"
|
||||
: "=r" (sp) : );
|
||||
|
||||
-#if _CALL_ELF == 2
|
||||
+#if defined(_CALL_ELF) && _CALL_ELF == 2
|
||||
volatile long nRegReturn[2];
|
||||
#else
|
||||
volatile long nRegReturn[1];
|
||||
@@ -592,7 +592,7 @@ extern "C" void privateSnippetExecutor( ... )
|
||||
default:
|
||||
__asm__( "ld 3,%0\n\t"
|
||||
: : "m" (nRegReturn[0]) );
|
||||
-#if _CALL_ELF == 2
|
||||
+#if defined(_CALL_ELF) && _CALL_ELF == 2
|
||||
__asm__( "ld 4,%0\n\t"
|
||||
: : "m" (nRegReturn[1]) );
|
||||
#endif
|
||||
@@ -600,7 +600,7 @@ extern "C" void privateSnippetExecutor( ... )
|
||||
}
|
||||
}
|
||||
|
||||
-#if _CALL_ELF == 2
|
||||
+#if defined(_CALL_ELF) && _CALL_ELF == 2
|
||||
const int codeSnippetSize = 32;
|
||||
#else
|
||||
const int codeSnippetSize = 24;
|
||||
@@ -618,7 +618,7 @@ unsigned char * codeSnippet( unsigned char * code, sal_Int32 nFunctionIndex, sa
|
||||
|
||||
if ( bHasHiddenParam )
|
||||
nOffsetAndIndex |= 0x80000000;
|
||||
-#if _CALL_ELF == 2
|
||||
+#if defined(_CALL_ELF) && _CALL_ELF == 2
|
||||
unsigned int *raw = (unsigned int *)&code[0];
|
||||
|
||||
raw[0] = 0xe96c0018; /* 0: ld 11,2f-0b(12) */
|
||||
diff --git a/bridges/source/cpp_uno/gcc3_linux_powerpc64/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_linux_powerpc64/uno2cpp.cxx
|
||||
index 391ef219..cfe720d 100644
|
||||
--- a/bridges/source/cpp_uno/gcc3_linux_powerpc64/uno2cpp.cxx
|
||||
+++ b/bridges/source/cpp_uno/gcc3_linux_powerpc64/uno2cpp.cxx
|
||||
@@ -39,7 +39,7 @@ using namespace ::com::sun::star::uno;
|
||||
|
||||
namespace ppc64
|
||||
{
|
||||
-#if _CALL_ELF == 2
|
||||
+#if defined(_CALL_ELF) && _CALL_ELF == 2
|
||||
bool is_complex_struct(const typelib_TypeDescription * type)
|
||||
{
|
||||
const typelib_CompoundTypeDescription * p
|
||||
@@ -70,7 +70,7 @@ namespace ppc64
|
||||
{
|
||||
if (bridges::cpp_uno::shared::isSimpleType(pTypeRef))
|
||||
return false;
|
||||
-#if _CALL_ELF == 2
|
||||
+#if defined(_CALL_ELF) && _CALL_ELF == 2
|
||||
else if (pTypeRef->eTypeClass == typelib_TypeClass_STRUCT || pTypeRef->eTypeClass == typelib_TypeClass_EXCEPTION)
|
||||
{
|
||||
typelib_TypeDescription * pTypeDescr = 0;
|
||||
@@ -115,7 +115,7 @@ void MapReturn(long r3, long r4, double dret, typelib_TypeDescriptionReference*
|
||||
case typelib_TypeClass_DOUBLE:
|
||||
*reinterpret_cast<double *>( pRegisterReturn ) = dret;
|
||||
break;
|
||||
-#if _CALL_ELF == 2
|
||||
+#if defined(_CALL_ELF) && _CALL_ELF == 2
|
||||
case typelib_TypeClass_STRUCT:
|
||||
case typelib_TypeClass_EXCEPTION:
|
||||
if (!ppc64::return_in_hidden_param(pReturnType))
|
||||
@@ -175,7 +175,7 @@ static void callVirtualMethod(void * pThis, sal_uInt32 nVtableIndex,
|
||||
pMethod += 8 * nVtableIndex;
|
||||
pMethod = *((sal_uInt64 *)pMethod);
|
||||
|
||||
-#if _CALL_ELF == 2
|
||||
+#if defined(_CALL_ELF) && _CALL_ELF == 2
|
||||
typedef void (* FunctionCall )(...);
|
||||
#else
|
||||
typedef void (* FunctionCall )( sal_uInt64, sal_uInt64, sal_uInt64, sal_uInt64, sal_uInt64, sal_uInt64, sal_uInt64, sal_uInt64 );
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,205 +0,0 @@
|
||||
From ff0eba6c1cbf4a5816c5b9b48d4e29778f0e0869 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Thu, 6 Nov 2014 14:59:49 +0000
|
||||
Subject: [PATCH] implement toggling off removeable master elements with direct
|
||||
delete
|
||||
|
||||
i.e. selecting footers/headers/slidenumber/datetime previes placeholders in
|
||||
master page view and pressing delete will toggle those master elements off.
|
||||
|
||||
Change-Id: I91f745703e43cbb4fdd037da4eab7c8f6bf9fbf5
|
||||
(cherry picked from commit e36dae401fc8963c9a92cb2c11d9b650b943c6d3)
|
||||
---
|
||||
sd/inc/sdpage.hxx | 1 +
|
||||
sd/source/core/sdpage.cxx | 19 +++++++++
|
||||
sd/source/ui/dlg/masterlayoutdlg.cxx | 19 ++-------
|
||||
sd/source/ui/inc/DrawViewShell.hxx | 1 +
|
||||
sd/source/ui/view/drviewse.cxx | 74 ++++++++++++++++++++++++++++--------
|
||||
5 files changed, 83 insertions(+), 31 deletions(-)
|
||||
|
||||
diff --git a/sd/inc/sdpage.hxx b/sd/inc/sdpage.hxx
|
||||
index 4cce906..0d3b138 100644
|
||||
--- a/sd/inc/sdpage.hxx
|
||||
+++ b/sd/inc/sdpage.hxx
|
||||
@@ -176,6 +176,7 @@ public:
|
||||
void EnsureMasterPageDefaultBackground();
|
||||
SdrObject* CreatePresObj(PresObjKind eObjKind, bool bVertical, const Rectangle& rRect, bool bInsert=false);
|
||||
SdrObject* CreateDefaultPresObj(PresObjKind eObjKind, bool bInsert);
|
||||
+ void DestroyDefaultPresObj(PresObjKind eObjKind);
|
||||
SdrObject* GetPresObj(PresObjKind eObjKind, int nIndex = 1, bool bFuzzySearch = false );
|
||||
PresObjKind GetPresObjKind(SdrObject* pObj) const;
|
||||
OUString GetPresObjText(PresObjKind eObjKind) const;
|
||||
diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx
|
||||
index 477ea48..fccd7cf 100644
|
||||
--- a/sd/source/core/sdpage.cxx
|
||||
+++ b/sd/source/core/sdpage.cxx
|
||||
@@ -1018,6 +1018,25 @@ SdrObject* SdPage::CreateDefaultPresObj(PresObjKind eObjKind, bool bInsert)
|
||||
}
|
||||
}
|
||||
|
||||
+void SdPage::DestroyDefaultPresObj(PresObjKind eObjKind)
|
||||
+{
|
||||
+ SdrObject* pObject = GetPresObj( eObjKind );
|
||||
+
|
||||
+ if( pObject )
|
||||
+ {
|
||||
+ SdDrawDocument *pDoc = static_cast<SdDrawDocument*>(pModel);
|
||||
+
|
||||
+ const bool bUndo = pDoc->IsUndoEnabled();
|
||||
+ if( bUndo )
|
||||
+ pDoc->AddUndo(pDoc->GetSdrUndoFactory().CreateUndoDeleteObject(*pObject));
|
||||
+ SdrObjList* pOL = pObject->GetObjList();
|
||||
+ pOL->RemoveObject(pObject->GetOrdNumDirect());
|
||||
+
|
||||
+ if( !bUndo )
|
||||
+ SdrObject::Free(pObject);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
/*************************************************************************
|
||||
|*
|
||||
|* return title area
|
||||
diff --git a/sd/source/ui/dlg/masterlayoutdlg.cxx b/sd/source/ui/dlg/masterlayoutdlg.cxx
|
||||
index 21aa64b..acfd28a 100644
|
||||
--- a/sd/source/ui/dlg/masterlayoutdlg.cxx
|
||||
+++ b/sd/source/ui/dlg/masterlayoutdlg.cxx
|
||||
@@ -121,27 +121,14 @@ void MasterLayoutDialog::applyChanges()
|
||||
mpDoc->EndUndo();
|
||||
}
|
||||
|
||||
-void MasterLayoutDialog::create( PresObjKind eKind )
|
||||
+void MasterLayoutDialog::create(PresObjKind eKind)
|
||||
{
|
||||
- mpCurrentPage->CreateDefaultPresObj( eKind, true );
|
||||
+ mpCurrentPage->CreateDefaultPresObj(eKind, true);
|
||||
}
|
||||
|
||||
void MasterLayoutDialog::remove( PresObjKind eKind )
|
||||
{
|
||||
- SdrObject* pObject = mpCurrentPage->GetPresObj( eKind );
|
||||
-
|
||||
- if( pObject )
|
||||
- {
|
||||
- const bool bUndo = mpDoc->IsUndoEnabled();
|
||||
- if( bUndo )
|
||||
- mpDoc->AddUndo(mpDoc->GetSdrUndoFactory().CreateUndoDeleteObject(*pObject));
|
||||
- SdrObjList* pOL =pObject->GetObjList();
|
||||
- sal_uInt32 nOrdNum=pObject->GetOrdNumDirect();
|
||||
- pOL->RemoveObject(nOrdNum);
|
||||
-
|
||||
- if( !bUndo )
|
||||
- SdrObject::Free(pObject);
|
||||
- }
|
||||
+ mpCurrentPage->DestroyDefaultPresObj(eKind);
|
||||
}
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
diff --git a/sd/source/ui/inc/DrawViewShell.hxx b/sd/source/ui/inc/DrawViewShell.hxx
|
||||
index 96c5c9c..a6f5a13 100644
|
||||
--- a/sd/source/ui/inc/DrawViewShell.hxx
|
||||
+++ b/sd/source/ui/inc/DrawViewShell.hxx
|
||||
@@ -216,6 +216,7 @@ public:
|
||||
void FuTemporary(SfxRequest& rReq);
|
||||
void FuPermanent(SfxRequest& rReq);
|
||||
void FuSupport(SfxRequest& rReq);
|
||||
+ void FuDeleteSelectedObjects();
|
||||
void FuSupportRotate(SfxRequest& rReq);
|
||||
void FuTable(SfxRequest& rReq);
|
||||
|
||||
diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx
|
||||
index cd643b0..6e7cb8d 100644
|
||||
--- a/sd/source/ui/view/drviewse.cxx
|
||||
+++ b/sd/source/ui/view/drviewse.cxx
|
||||
@@ -625,6 +625,64 @@ void DrawViewShell::FuPermanent(SfxRequest& rReq)
|
||||
}
|
||||
}
|
||||
|
||||
+void DrawViewShell::FuDeleteSelectedObjects()
|
||||
+{
|
||||
+ bool bConsumed = false;
|
||||
+
|
||||
+ //if any placeholders are selected
|
||||
+ if (mpDrawView->IsPresObjSelected(false, true, false, false))
|
||||
+ {
|
||||
+ //If there are placeholders in the list which can be toggled
|
||||
+ //off in edit->master->master elements then do that here,
|
||||
+ std::vector<SdrObject*> aPresMarksToRemove;
|
||||
+ const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
|
||||
+ for (size_t i=0; i < rMarkList.GetMarkCount(); ++i)
|
||||
+ {
|
||||
+ SdrObject* pObj = rMarkList.GetMark(i)->GetMarkedSdrObj();
|
||||
+ SdPage* pPage = (SdPage*)pObj->GetPage();
|
||||
+ PresObjKind eKind = pPage->GetPresObjKind(pObj);
|
||||
+ if (eKind == PRESOBJ_FOOTER || eKind == PRESOBJ_HEADER ||
|
||||
+ eKind == PRESOBJ_DATETIME || eKind == PRESOBJ_SLIDENUMBER)
|
||||
+ {
|
||||
+ aPresMarksToRemove.push_back(pObj);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ for (std::vector<SdrObject*>::iterator aI = aPresMarksToRemove.begin(); aI < aPresMarksToRemove.end(); ++aI)
|
||||
+ {
|
||||
+ //Unmark object
|
||||
+ mpDrawView->MarkObj((*aI), mpDrawView->GetSdrPageView(), true);
|
||||
+ SdPage* pPage = (SdPage*)(*aI)->GetPage();
|
||||
+ //remove placeholder from master page
|
||||
+ pPage->DestroyDefaultPresObj(pPage->GetPresObjKind((*aI)));
|
||||
+ }
|
||||
+
|
||||
+ bConsumed = true;
|
||||
+ }
|
||||
+
|
||||
+ // placeholders which cannot be deleted selected
|
||||
+ if (mpDrawView->IsPresObjSelected(false, true, false, true))
|
||||
+ {
|
||||
+ ::sd::Window* pWindow = GetActiveWindow();
|
||||
+ InfoBox(pWindow, SD_RESSTR(STR_ACTION_NOTPOSSIBLE) ).Execute();
|
||||
+ bConsumed = true;
|
||||
+ }
|
||||
+
|
||||
+ if (!bConsumed)
|
||||
+ {
|
||||
+ KeyCode aKCode(KEY_DELETE);
|
||||
+ KeyEvent aKEvt( 0, aKCode);
|
||||
+
|
||||
+ bConsumed = mpDrawView && mpDrawView->getSmartTags().KeyInput( aKEvt );
|
||||
+
|
||||
+ if( !bConsumed && HasCurrentFunction() )
|
||||
+ bConsumed = GetCurrentFunction()->KeyInput(aKEvt);
|
||||
+
|
||||
+ if( !bConsumed && mpDrawView )
|
||||
+ mpDrawView->DeleteMarked();
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void DrawViewShell::FuSupport(SfxRequest& rReq)
|
||||
{
|
||||
if( rReq.GetSlot() == SID_STYLE_FAMILY && rReq.GetArgs())
|
||||
@@ -873,23 +931,9 @@ void DrawViewShell::FuSupport(SfxRequest& rReq)
|
||||
pOLV->PostKeyEvent(aKEvt);
|
||||
}
|
||||
}
|
||||
- else if ( mpDrawView->IsPresObjSelected(false, true, false, true) )
|
||||
- {
|
||||
- ::sd::Window* pWindow = GetActiveWindow();
|
||||
- InfoBox(pWindow, SD_RESSTR(STR_ACTION_NOTPOSSIBLE) ).Execute();
|
||||
- }
|
||||
else
|
||||
{
|
||||
- KeyCode aKCode(KEY_DELETE);
|
||||
- KeyEvent aKEvt( 0, aKCode);
|
||||
-
|
||||
- bool bConsumed = mpDrawView && mpDrawView->getSmartTags().KeyInput( aKEvt );
|
||||
-
|
||||
- if( !bConsumed && HasCurrentFunction() )
|
||||
- bConsumed = GetCurrentFunction()->KeyInput(aKEvt);
|
||||
-
|
||||
- if( !bConsumed && mpDrawView )
|
||||
- mpDrawView->DeleteMarked();
|
||||
+ FuDeleteSelectedObjects();
|
||||
}
|
||||
rReq.Ignore ();
|
||||
}
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,55 +0,0 @@
|
||||
From 5a958aa9d95f0c14e4980f6909550e657d87a3a9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Thu, 13 Nov 2014 14:31:09 +0000
|
||||
Subject: [PATCH] impress tables are not interactively growing
|
||||
|
||||
the optimization here stops tables growing as their text
|
||||
contents change in editing mode
|
||||
|
||||
So, just recalculate if the table could grow and its
|
||||
being interactively edited, which leaves the original
|
||||
(dubious ?) load-time optimization in place
|
||||
|
||||
Change-Id: I894acf47d34ec8b68aaf9076b5a0cb7e29c38a17
|
||||
(cherry picked from commit 22ef69b25fa60f4543dc72cb7a8d2f88b789ce43)
|
||||
---
|
||||
svx/source/table/svdotable.cxx | 9 ++++-----
|
||||
1 file changed, 4 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/svx/source/table/svdotable.cxx b/svx/source/table/svdotable.cxx
|
||||
index fbd532a..856a9e5 100644
|
||||
--- a/svx/source/table/svdotable.cxx
|
||||
+++ b/svx/source/table/svdotable.cxx
|
||||
@@ -689,16 +689,17 @@ sal_Int32 SdrTableObjImpl::getRowCount() const
|
||||
return mxTable.is() ? mxTable->getRowCount() : 0;
|
||||
}
|
||||
|
||||
-
|
||||
-
|
||||
void SdrTableObjImpl::LayoutTable( Rectangle& rArea, bool bFitWidth, bool bFitHeight )
|
||||
{
|
||||
if( mpLayouter && mpTableObj->GetModel() )
|
||||
{
|
||||
// Optimization: SdrTableObj::SetChanged() can call this very often, repeatedly
|
||||
// with the same settings, noticeably increasing load time. Skip if already done.
|
||||
+ bool bInteractiveMightGrowBecauseTextChanged =
|
||||
+ mpTableObj->IsRealyEdited() && (mpTableObj->IsAutoGrowHeight() || mpTableObj->IsAutoGrowWidth());
|
||||
WritingMode writingMode = mpTableObj->GetWritingMode();
|
||||
- if( lastLayoutTable != this || lastLayoutInputRectangle != rArea
|
||||
+ if( bInteractiveMightGrowBecauseTextChanged
|
||||
+ || lastLayoutTable != this || lastLayoutInputRectangle != rArea
|
||||
|| lastLayoutFitWidth != bFitWidth || lastLayoutFitHeight != bFitHeight
|
||||
|| lastLayoutMode != writingMode
|
||||
|| lastRowCount != getRowCount()
|
||||
@@ -722,8 +723,6 @@ void SdrTableObjImpl::LayoutTable( Rectangle& rArea, bool bFitWidth, bool bFitHe
|
||||
}
|
||||
}
|
||||
|
||||
-
|
||||
-
|
||||
void SdrTableObjImpl::UpdateCells( Rectangle& rArea )
|
||||
{
|
||||
if( mpLayouter && mxTable.is() )
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,65 +0,0 @@
|
||||
From 4d687aec3c5ea0f18ab3f01f827cc544e677bae3 Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Thu, 6 Nov 2014 10:20:00 +0100
|
||||
Subject: [PATCH] just use ANSI C declarations
|
||||
|
||||
Change-Id: Iec50f3474b97497c50522eabb4435795b3ba3b56
|
||||
---
|
||||
vcl/source/filter/jpeg/transupp.h | 22 +++++++++++-----------
|
||||
1 file changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/vcl/source/filter/jpeg/transupp.h b/vcl/source/filter/jpeg/transupp.h
|
||||
index 4448c9f..4dbbc2a 100644
|
||||
--- a/vcl/source/filter/jpeg/transupp.h
|
||||
+++ b/vcl/source/filter/jpeg/transupp.h
|
||||
@@ -164,27 +164,27 @@ typedef struct {
|
||||
|
||||
/* Parse a crop specification (written in X11 geometry style) */
|
||||
EXTERN(boolean) jtransform_parse_crop_spec
|
||||
- JPP((jpeg_transform_info *info, const char *spec));
|
||||
+ (jpeg_transform_info *info, const char *spec);
|
||||
/* Request any required workspace */
|
||||
EXTERN(boolean) jtransform_request_workspace
|
||||
- JPP((j_decompress_ptr srcinfo, jpeg_transform_info *info));
|
||||
+ (j_decompress_ptr srcinfo, jpeg_transform_info *info);
|
||||
/* Adjust output image parameters */
|
||||
EXTERN(jvirt_barray_ptr *) jtransform_adjust_parameters
|
||||
- JPP((j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
|
||||
+ (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
|
||||
jvirt_barray_ptr *src_coef_arrays,
|
||||
- jpeg_transform_info *info));
|
||||
+ jpeg_transform_info *info);
|
||||
/* Execute the actual transformation, if any */
|
||||
EXTERN(void) jtransform_execute_transform
|
||||
- JPP((j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
|
||||
+ (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
|
||||
jvirt_barray_ptr *src_coef_arrays,
|
||||
- jpeg_transform_info *info));
|
||||
+ jpeg_transform_info *info);
|
||||
/* Determine whether lossless transformation is perfectly
|
||||
* possible for a specified image and transformation.
|
||||
*/
|
||||
EXTERN(boolean) jtransform_perfect_transform
|
||||
- JPP((JDIMENSION image_width, JDIMENSION image_height,
|
||||
+ (JDIMENSION image_width, JDIMENSION image_height,
|
||||
int MCU_width, int MCU_height,
|
||||
- JXFORM_CODE transform));
|
||||
+ JXFORM_CODE transform);
|
||||
|
||||
/* jtransform_execute_transform used to be called
|
||||
* jtransform_execute_transformation, but some compilers complain about
|
||||
@@ -209,8 +209,8 @@ typedef enum {
|
||||
|
||||
/* Setup decompression object to save desired markers in memory */
|
||||
EXTERN(void) jcopy_markers_setup
|
||||
- JPP((j_decompress_ptr srcinfo, JCOPY_OPTION option));
|
||||
+ (j_decompress_ptr srcinfo, JCOPY_OPTION option);
|
||||
/* Copy markers saved in the given source object to the destination object */
|
||||
EXTERN(void) jcopy_markers_execute
|
||||
- JPP((j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
|
||||
- JCOPY_OPTION option));
|
||||
+ (j_decompress_ptr srcinfo, j_compress_ptr dstinfo,
|
||||
+ JCOPY_OPTION option);
|
||||
--
|
||||
2.1.0
|
||||
|
@ -1,30 +0,0 @@
|
||||
From 3cfc0933c38a9f5383042347ef659c3d982090a3 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Wed, 8 Oct 2014 13:22:44 +0200
|
||||
Subject: [PATCH] libgcrypt and gnutls are only used by our internal
|
||||
external/neon
|
||||
|
||||
...so must not be checked for if --without-system-neon
|
||||
|
||||
Change-Id: If598108f98d6f94f32650feba7044224a78a4c12
|
||||
(cherry picked from commit c592e7dea2e5ac326041b78b9512600c984ccced)
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 363eb2f..ed3da6c 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -9463,7 +9463,7 @@ dnl ===================================================================
|
||||
dnl Check for building gnutls
|
||||
dnl ===================================================================
|
||||
AC_MSG_CHECKING([whether to use gnutls])
|
||||
-if test "$WITH_WEBDAV" = "neon" && test "$enable_openssl" = "no"; then
|
||||
+if test "$WITH_WEBDAV" = "neon" -a "$with_system_neon" = no -a "$enable_openssl" = "no"; then
|
||||
AC_MSG_RESULT([yes])
|
||||
AM_PATH_LIBGCRYPT()
|
||||
PKG_CHECK_MODULES(GNUTLS, [gnutls],,
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,47 +0,0 @@
|
||||
From 2c37487470c7ea76d493eb0554cf2f9458ed5075 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Tue, 23 Sep 2014 10:20:06 +0100
|
||||
Subject: [PATCH] n-up printing done by vcl, brochures by draw/impress
|
||||
|
||||
Change-Id: If38365d949ad91d50138798a0a386f9543eb4f22
|
||||
---
|
||||
sd/source/ui/view/DocumentRenderer.cxx | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/sd/source/ui/view/DocumentRenderer.cxx b/sd/source/ui/view/DocumentRenderer.cxx
|
||||
index 723aa02e..1a903f7 100644
|
||||
--- a/sd/source/ui/view/DocumentRenderer.cxx
|
||||
+++ b/sd/source/ui/view/DocumentRenderer.cxx
|
||||
@@ -1362,7 +1362,7 @@ private:
|
||||
SdDrawDocument* pDocument = mrBase.GetMainViewShell()->GetDoc();
|
||||
bool bIsDraw = pDocument->GetDocumentType() == DOCUMENT_TYPE_DRAW;
|
||||
rInfo.meOrientation = ORIENTATION_PORTRAIT;
|
||||
- bool bDoDodgyHeightWidthFit = !bIsDraw && !mpOptions->IsNotes();
|
||||
+ bool bDoDodgyHeightWidthFit = mpOptions->IsBooklet() || (!bIsDraw && !mpOptions->IsNotes());
|
||||
|
||||
if( ! mpOptions->IsBooklet())
|
||||
{
|
||||
@@ -1371,7 +1371,8 @@ private:
|
||||
else if (rInfo.maPageSize.Width() < rInfo.maPageSize.Height())
|
||||
rInfo.meOrientation = ORIENTATION_LANDSCAPE;
|
||||
|
||||
- // Draw and Notes should abide by their specified paper size
|
||||
+ // Draw and Notes should abide by their specified paper size, except
|
||||
+ // for booklets
|
||||
Size aPaperSize;
|
||||
if (!bDoDodgyHeightWidthFit)
|
||||
{
|
||||
@@ -1448,8 +1449,8 @@ private:
|
||||
if (mpOptions->IsTime())
|
||||
aInfo.msTimeDate += GetSdrGlobalData().GetLocaleData()->getTime( Time( Time::SYSTEM ), false, false );
|
||||
|
||||
- // Draw should use specified paper size when printing
|
||||
- if (mrBase.GetDocShell()->GetDocumentType() == DOCUMENT_TYPE_DRAW)
|
||||
+ // Draw should use specified paper size when printing, except for booklets
|
||||
+ if (!mpOptions->IsBooklet() && mrBase.GetDocShell()->GetDocumentType() == DOCUMENT_TYPE_DRAW)
|
||||
{
|
||||
aInfo.maPrintSize = mrBase.GetDocument()->GetSdPage(0, PK_STANDARD)->GetSize();
|
||||
maPrintSize = awt::Size(aInfo.maPrintSize.Width(),
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,31 +0,0 @@
|
||||
From 81fb045eca1e3bb8760f8b8c437d01a3e56c8ce9 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Stahl <mstahl@redhat.com>
|
||||
Date: Mon, 17 Nov 2014 15:46:23 +0100
|
||||
Subject: [PATCH] officecfg: set VCL.WM.ShouldSwitchWorkspace to false
|
||||
|
||||
It's quite obnoxious of applications to switch virtual desktops, and
|
||||
i#45160 / i#96684 indicate the main reason for this was to avoid crashes
|
||||
9 years ago; let's see if we get any crash reports with it disabled.
|
||||
|
||||
Change-Id: Ib020380c9ad3b386c7cf00fb2144cb766d1f6c83
|
||||
(cherry picked from commit d93c89ddf564d0445f28e0ba552ba94975d40f2a)
|
||||
---
|
||||
officecfg/registry/data/org/openoffice/VCL.xcu | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/officecfg/registry/data/org/openoffice/VCL.xcu b/officecfg/registry/data/org/openoffice/VCL.xcu
|
||||
index ec48498..e5b56e8 100644
|
||||
--- a/officecfg/registry/data/org/openoffice/VCL.xcu
|
||||
+++ b/officecfg/registry/data/org/openoffice/VCL.xcu
|
||||
@@ -51,7 +51,7 @@
|
||||
</node>
|
||||
<node oor:name="WM" oor:op="replace">
|
||||
<prop oor:name="ShouldSwitchWorkspace" oor:op="replace" oor:type="xs:string">
|
||||
- <value/>
|
||||
+ <value>false</value>
|
||||
</prop>
|
||||
</node>
|
||||
</node>
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,29 +0,0 @@
|
||||
From 0b793116deaf35ce67245c1106e5ed5a722c7560 Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Thu, 19 Jun 2014 16:57:03 +0200
|
||||
Subject: [PATCH] rhbz#1111216 allow to export an empty sheet to PDF
|
||||
|
||||
This is to consolidate Calc's behaviour with the other applications,
|
||||
which always present at least one page for printing / PDF export.
|
||||
|
||||
Change-Id: Iedf438618020c1e6d8ded5ac950c8ca2b12ad439
|
||||
---
|
||||
sc/source/ui/unoobj/docuno.cxx | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx
|
||||
index 9aeceb7..75cabca 100644
|
||||
--- a/sc/source/ui/unoobj/docuno.cxx
|
||||
+++ b/sc/source/ui/unoobj/docuno.cxx
|
||||
@@ -958,7 +958,7 @@ sal_Int32 SAL_CALL ScModelObj::getRendererCount(const uno::Any& aSelection,
|
||||
StringRangeEnumerator aRangeEnum( aPagesStr, 0, nPages-1 );
|
||||
nSelectCount = aRangeEnum.size();
|
||||
}
|
||||
- return nSelectCount;
|
||||
+ return (nSelectCount > 0) ? nSelectCount : 1;
|
||||
}
|
||||
|
||||
static sal_Int32 lcl_GetRendererNum( sal_Int32 nSelRenderer, const OUString& rPagesStr, sal_Int32 nTotalPages )
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,139 +0,0 @@
|
||||
From 52ac64848e41c6c3bba86c98361757aaf89ef3c6 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Tue, 15 Jul 2014 16:42:42 +0100
|
||||
Subject: [PATCH] scrolling very slow in calc
|
||||
|
||||
even on a short spreadsheet scrolling up and down leaves
|
||||
the first/last row (depending on the direction of scroll)
|
||||
unchanged until the scrolling stops.
|
||||
|
||||
http://people.freedesktop.org/~mst/calc_4.2_scrolling.webm
|
||||
|
||||
On larger document there are rendering artifacts during scrolling which go away
|
||||
after scrolling for me and mstahl, but a bunch of people can show us piles of
|
||||
horribly broken spreadsheets after scrolling, esp wheel scrolling
|
||||
|
||||
Revert "fdo#75026: Sometimes we need to update grid view...
|
||||
|
||||
while not being active."
|
||||
|
||||
This reverts commit 52cc88d6191ba0c4b6477e5c4b9c5d0f0228030d.
|
||||
|
||||
Revert "fdo#68961: Check visible range during scrolling, and re-paint if necessary."
|
||||
|
||||
This reverts commit e36c8a674845ab19577fc06d44b780549757e1e7.
|
||||
|
||||
Revert "Repaint grid view when the visible area changes."
|
||||
|
||||
This reverts commit b54c1a53b4d400b1c2d282c186af1fa8f151894e.
|
||||
|
||||
Conflicts:
|
||||
sc/source/ui/app/scmod.cxx
|
||||
|
||||
Revert "Update visible ranges when updating the scroll bars."
|
||||
|
||||
This reverts commit 391a57ef65687f2e373bac8d410e551aafa780ec.
|
||||
|
||||
Change-Id: Ie170308cba18a9a74c7c72daf07dfa0a4ef7bd13
|
||||
---
|
||||
sc/source/ui/inc/tabview.hxx | 6 ------
|
||||
sc/source/ui/view/gridwin4.cxx | 2 ++
|
||||
sc/source/ui/view/tabview.cxx | 4 ----
|
||||
sc/source/ui/view/tabview3.cxx | 10 ----------
|
||||
sc/source/ui/view/tabview4.cxx | 7 ++++++-
|
||||
5 files changed, 8 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/sc/source/ui/inc/tabview.hxx b/sc/source/ui/inc/tabview.hxx
|
||||
index a5d7392..891af9e 100644
|
||||
--- a/sc/source/ui/inc/tabview.hxx
|
||||
+++ b/sc/source/ui/inc/tabview.hxx
|
||||
@@ -204,12 +204,6 @@ private:
|
||||
|
||||
void PaintRangeFinderEntry (ScRangeFindData* pData, SCTAB nTab);
|
||||
|
||||
- /**
|
||||
- * Check the visible grid area to see if the visible range has changed. If
|
||||
- * so, update the stored visible range, and re-paint the grid area.
|
||||
- */
|
||||
- void UpdateGrid();
|
||||
-
|
||||
protected:
|
||||
void UpdateHeaderWidth( const ScVSplitPos* pWhich = NULL,
|
||||
const SCROW* pPosY = NULL );
|
||||
diff --git a/sc/source/ui/view/gridwin4.cxx b/sc/source/ui/view/gridwin4.cxx
|
||||
index fa697ee5..a60fb82 100644
|
||||
--- a/sc/source/ui/view/gridwin4.cxx
|
||||
+++ b/sc/source/ui/view/gridwin4.cxx
|
||||
@@ -390,6 +390,8 @@ void ScGridWindow::Draw( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2, ScUpdateMod
|
||||
|
||||
OSL_ENSURE( ValidCol(nX2) && ValidRow(nY2), "GridWin Draw Bereich zu gross" );
|
||||
|
||||
+ UpdateVisibleRange();
|
||||
+
|
||||
if (nX2 < maVisibleRange.mnCol1 || nY2 < maVisibleRange.mnRow1)
|
||||
return;
|
||||
// unsichtbar
|
||||
diff --git a/sc/source/ui/view/tabview.cxx b/sc/source/ui/view/tabview.cxx
|
||||
index aafd114..02b99b9 100644
|
||||
--- a/sc/source/ui/view/tabview.cxx
|
||||
+++ b/sc/source/ui/view/tabview.cxx
|
||||
@@ -1198,8 +1198,6 @@ void ScTabView::ScrollX( long nDeltaX, ScHSplitPos eWhich, bool bUpdBars )
|
||||
if (pColOutline[eWhich]) pColOutline[eWhich]->ScrollPixel( nDiff );
|
||||
if (bUpdBars)
|
||||
UpdateScrollBars();
|
||||
- else
|
||||
- UpdateGrid();
|
||||
}
|
||||
|
||||
if (nDeltaX==1 || nDeltaX==-1)
|
||||
@@ -1285,8 +1283,6 @@ void ScTabView::ScrollY( long nDeltaY, ScVSplitPos eWhich, bool bUpdBars )
|
||||
if (pRowOutline[eWhich]) pRowOutline[eWhich]->ScrollPixel( nDiff );
|
||||
if (bUpdBars)
|
||||
UpdateScrollBars();
|
||||
- else
|
||||
- UpdateGrid();
|
||||
}
|
||||
|
||||
if (nDeltaY==1 || nDeltaY==-1)
|
||||
diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx
|
||||
index 7053037..50066ba 100644
|
||||
--- a/sc/source/ui/view/tabview3.cxx
|
||||
+++ b/sc/source/ui/view/tabview3.cxx
|
||||
@@ -2089,16 +2089,6 @@ void ScTabView::PaintRangeFinderEntry (ScRangeFindData* pData, const SCTAB nTab)
|
||||
}
|
||||
}
|
||||
|
||||
-void ScTabView::UpdateGrid()
|
||||
-{
|
||||
- if (!UpdateVisibleRange())
|
||||
- // Visible range hasn't changed. No need to re-paint.
|
||||
- return;
|
||||
-
|
||||
- SC_MOD()->AnythingChanged(); // if visible area has changed
|
||||
- PaintGrid();
|
||||
-}
|
||||
-
|
||||
void ScTabView::PaintRangeFinder( long nNumber )
|
||||
{
|
||||
ScInputHandler* pHdl = SC_MOD()->GetInputHdl( aViewData.GetViewShell() );
|
||||
diff --git a/sc/source/ui/view/tabview4.cxx b/sc/source/ui/view/tabview4.cxx
|
||||
index 2f72a20..8528431 100644
|
||||
--- a/sc/source/ui/view/tabview4.cxx
|
||||
+++ b/sc/source/ui/view/tabview4.cxx
|
||||
@@ -421,7 +421,12 @@ void ScTabView::UpdateScrollBars()
|
||||
}
|
||||
|
||||
// set visible area for online spelling
|
||||
- UpdateGrid();
|
||||
+
|
||||
+ if ( aViewData.IsActive() )
|
||||
+ {
|
||||
+ if (UpdateVisibleRange())
|
||||
+ SC_MOD()->AnythingChanged(); // if visible area has changed
|
||||
+ }
|
||||
}
|
||||
|
||||
#ifndef HDR_SLIDERSIZE
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,67 +0,0 @@
|
||||
From 0f1fc84029475565fda1bad43d99a114391afdc7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Tue, 11 Nov 2014 13:33:53 +0000
|
||||
Subject: [PATCH] strip off hard-coded numbering from outliner preview on load
|
||||
|
||||
how to reproduce an outline which won't update wrt the numbering style
|
||||
|
||||
file->new->presentation
|
||||
view->master->slide master
|
||||
select first entry of outliner, i.e. "Click to edit the outline text format"
|
||||
make it underlined, save, reload
|
||||
view->master->slide master
|
||||
now use bullet and numbering
|
||||
set level 1 to e.g. none, ok
|
||||
nothing happens to the outliner. It remains "stuck" with its default numbering
|
||||
|
||||
Change-Id: I95708b1f1c9cc74ae5129dbfad8ca0d37b00fa13
|
||||
---
|
||||
sd/source/filter/xml/sdxmlwrp.cxx | 15 ++++++++++++++-
|
||||
1 file changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sd/source/filter/xml/sdxmlwrp.cxx b/sd/source/filter/xml/sdxmlwrp.cxx
|
||||
index fd8cacc..ad1cd23 100644
|
||||
--- a/sd/source/filter/xml/sdxmlwrp.cxx
|
||||
+++ b/sd/source/filter/xml/sdxmlwrp.cxx
|
||||
@@ -55,6 +55,7 @@
|
||||
#include <com/sun/star/io/XActiveDataControl.hpp>
|
||||
#include <comphelper/genericpropertyset.hxx>
|
||||
#include <comphelper/propertysetinfo.hxx>
|
||||
+#include <editeng/eeitem.hxx>
|
||||
#include <unotools/saveopt.hxx>
|
||||
|
||||
// include necessary for XML progress bar at load time
|
||||
@@ -444,6 +445,7 @@ void fixupOutlinePlaceholderNumberingDepths(SdDrawDocument* pDoc)
|
||||
const sal_Int32 nParaCount = pOutliner->GetParagraphCount();
|
||||
for (sal_Int32 j = 0; j < nParaCount; ++j)
|
||||
{
|
||||
+ //Make sure the depth of the paragraph matches that of the outline style it previews
|
||||
const sal_Int16 nExpectedDepth = j;
|
||||
if (nExpectedDepth != pOutliner->GetDepth(j))
|
||||
{
|
||||
@@ -451,10 +453,21 @@ void fixupOutlinePlaceholderNumberingDepths(SdDrawDocument* pDoc)
|
||||
pOutliner->SetDepth(p, nExpectedDepth);
|
||||
bInconsistent = true;
|
||||
}
|
||||
+
|
||||
+ //If the preview has hard-coded bullets/numbering then they must
|
||||
+ //be stripped to reveal the true underlying styles attributes
|
||||
+ SfxItemSet aAttrs(pOutliner->GetParaAttribs(j));
|
||||
+ if (aAttrs.GetItemState(EE_PARA_NUMBULLET) == SFX_ITEM_SET)
|
||||
+ {
|
||||
+ aAttrs.ClearItem(EE_PARA_NUMBULLET);
|
||||
+ pOutliner->SetParaAttribs(j, aAttrs);
|
||||
+ bInconsistent = true;
|
||||
+ }
|
||||
+
|
||||
}
|
||||
if (bInconsistent)
|
||||
{
|
||||
- SAL_WARN("sd.filter", "Fixing inconsistent outline numbering placeholder preview depth");
|
||||
+ SAL_WARN("sd.filter", "Fixing inconsistent outline numbering placeholder preview");
|
||||
pMasterOutline->SetOutlinerParaObject(pOutliner->CreateParaObject(0, nParaCount));
|
||||
}
|
||||
pOutliner->Clear();
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,79 +0,0 @@
|
||||
From f79f3d1322b396f5f45ccd7742015749e93ac57b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Thu, 13 Nov 2014 13:32:35 +0000
|
||||
Subject: [PATCH] table layout cache returns wrong rectangle
|
||||
|
||||
the layouter can modify its input rectangle to grow
|
||||
it to the necessary size to contain the layout
|
||||
|
||||
but we're returning the input rectangle when the inputs are the same as the
|
||||
last call, not returning the output rectangle.
|
||||
|
||||
cache the output rect for a given input and return that
|
||||
|
||||
so now insert->table in impress and tab so extra cells are added and
|
||||
then select the table and the blue border contains the whole
|
||||
table, not just the first two rows
|
||||
|
||||
Change-Id: I4f09594d82c1597204afbd059e175af9bf8e2527
|
||||
(cherry picked from commit 98cd2671f0a215ced6203372ac673e2380031ac0)
|
||||
---
|
||||
svx/source/table/svdotable.cxx | 15 +++++++++++----
|
||||
1 file changed, 11 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/svx/source/table/svdotable.cxx b/svx/source/table/svdotable.cxx
|
||||
index d49cfb3..fbd532a 100644
|
||||
--- a/svx/source/table/svdotable.cxx
|
||||
+++ b/svx/source/table/svdotable.cxx
|
||||
@@ -244,7 +244,8 @@ public:
|
||||
virtual bool isInUse() SAL_OVERRIDE;
|
||||
private:
|
||||
static SdrTableObjImpl* lastLayoutTable;
|
||||
- static Rectangle lastLayoutRectangle;
|
||||
+ static Rectangle lastLayoutInputRectangle;
|
||||
+ static Rectangle lastLayoutResultRectangle;
|
||||
static bool lastLayoutFitWidth;
|
||||
static bool lastLayoutFitHeight;
|
||||
static WritingMode lastLayoutMode;
|
||||
@@ -253,7 +254,8 @@ private:
|
||||
};
|
||||
|
||||
SdrTableObjImpl* SdrTableObjImpl::lastLayoutTable = NULL;
|
||||
-Rectangle SdrTableObjImpl::lastLayoutRectangle;
|
||||
+Rectangle SdrTableObjImpl::lastLayoutInputRectangle;
|
||||
+Rectangle SdrTableObjImpl::lastLayoutResultRectangle;
|
||||
bool SdrTableObjImpl::lastLayoutFitWidth;
|
||||
bool SdrTableObjImpl::lastLayoutFitHeight;
|
||||
WritingMode SdrTableObjImpl::lastLayoutMode;
|
||||
@@ -696,14 +698,14 @@ void SdrTableObjImpl::LayoutTable( Rectangle& rArea, bool bFitWidth, bool bFitHe
|
||||
// Optimization: SdrTableObj::SetChanged() can call this very often, repeatedly
|
||||
// with the same settings, noticeably increasing load time. Skip if already done.
|
||||
WritingMode writingMode = mpTableObj->GetWritingMode();
|
||||
- if( lastLayoutTable != this || lastLayoutRectangle != rArea
|
||||
+ if( lastLayoutTable != this || lastLayoutInputRectangle != rArea
|
||||
|| lastLayoutFitWidth != bFitWidth || lastLayoutFitHeight != bFitHeight
|
||||
|| lastLayoutMode != writingMode
|
||||
|| lastRowCount != getRowCount()
|
||||
|| lastColCount != getColumnCount() )
|
||||
{
|
||||
lastLayoutTable = this;
|
||||
- lastLayoutRectangle = rArea;
|
||||
+ lastLayoutInputRectangle = rArea;
|
||||
lastLayoutFitWidth = bFitWidth;
|
||||
lastLayoutFitHeight = bFitHeight;
|
||||
lastLayoutMode = writingMode;
|
||||
@@ -711,6 +713,11 @@ void SdrTableObjImpl::LayoutTable( Rectangle& rArea, bool bFitWidth, bool bFitHe
|
||||
lastColCount = getColumnCount();
|
||||
TableModelNotifyGuard aGuard( mxTable.get() );
|
||||
mpLayouter->LayoutTable( rArea, bFitWidth, bFitHeight );
|
||||
+ lastLayoutResultRectangle = rArea;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ rArea = lastLayoutResultRectangle;
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,42 +0,0 @@
|
||||
From 4224a7656915b20819d9eb712160565172567a04 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Thu, 13 Nov 2014 10:22:08 +0000
|
||||
Subject: [PATCH] valgrind: check return of convertDateTime before using fDate
|
||||
|
||||
Change-Id: I8b95e95218beefe19e881c9d055323d0abec49c7
|
||||
---
|
||||
sc/source/filter/xml/xmlcelli.cxx | 18 ++++++++++--------
|
||||
1 file changed, 10 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/sc/source/filter/xml/xmlcelli.cxx b/sc/source/filter/xml/xmlcelli.cxx
|
||||
index 7c2c190..68fb1fe 100644
|
||||
--- a/sc/source/filter/xml/xmlcelli.cxx
|
||||
+++ b/sc/source/filter/xml/xmlcelli.cxx
|
||||
@@ -935,14 +935,16 @@ void ScXMLTableRowCellContext::SetAnnotation(const ScAddress& rPos)
|
||||
if( pNote )
|
||||
{
|
||||
double fDate;
|
||||
- rXMLImport.GetMM100UnitConverter().convertDateTime( fDate, mxAnnotationData->maCreateDate );
|
||||
- SvNumberFormatter* pNumForm = pDoc->GetFormatTable();
|
||||
- sal_uInt32 nfIndex = pNumForm->GetFormatIndex( NF_DATE_SYS_DDMMYYYY, LANGUAGE_SYSTEM );
|
||||
- OUString aDate;
|
||||
- Color* pColor = 0;
|
||||
- Color** ppColor = &pColor;
|
||||
- pNumForm->GetOutputString( fDate, nfIndex, aDate, ppColor );
|
||||
- pNote->SetDate( aDate );
|
||||
+ if (rXMLImport.GetMM100UnitConverter().convertDateTime(fDate, mxAnnotationData->maCreateDate))
|
||||
+ {
|
||||
+ SvNumberFormatter* pNumForm = pDoc->GetFormatTable();
|
||||
+ sal_uInt32 nfIndex = pNumForm->GetFormatIndex( NF_DATE_SYS_DDMMYYYY, LANGUAGE_SYSTEM );
|
||||
+ OUString aDate;
|
||||
+ Color* pColor = 0;
|
||||
+ Color** ppColor = &pColor;
|
||||
+ pNumForm->GetOutputString( fDate, nfIndex, aDate, ppColor );
|
||||
+ pNote->SetDate( aDate );
|
||||
+ }
|
||||
pNote->SetAuthor( mxAnnotationData->maAuthor );
|
||||
}
|
||||
|
||||
--
|
||||
1.9.3
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,252 +0,0 @@
|
||||
From 566300ebd57e6ff07fdb014321e23a92c9bcf5ee Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Wed, 19 Nov 2014 12:14:08 +0000
|
||||
Subject: [PATCH 2/2] Resolves: fdo#86451 guard all the tops post pop
|
||||
|
||||
Change-Id: I98be6f014893dfc7cee770c44cd9d0be32b39f5c
|
||||
Reviewed-on: https://gerrit.libreoffice.org/12966
|
||||
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
||||
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
||||
---
|
||||
writerfilter/source/rtftok/rtfdocumentimpl.cxx | 177 ++++++++++++++-----------
|
||||
1 file changed, 97 insertions(+), 80 deletions(-)
|
||||
|
||||
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
|
||||
index be56161..7c5cbf1 100644
|
||||
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
|
||||
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
|
||||
@@ -5637,7 +5637,7 @@ int RTFDocumentImpl::popState()
|
||||
case DESTINATION_PARAGRAPHNUMBERING:
|
||||
{
|
||||
RTFValue::Pointer_t pIdValue = aState.aTableAttributes.find(NS_ooxml::LN_CT_AbstractNum_nsid);
|
||||
- if (pIdValue.get())
|
||||
+ if (pIdValue.get() && !m_aStates.empty())
|
||||
{
|
||||
// Abstract numbering
|
||||
RTFSprms aLeveltextAttributes;
|
||||
@@ -5706,85 +5706,96 @@ int RTFDocumentImpl::popState()
|
||||
}
|
||||
break;
|
||||
case DESTINATION_PARAGRAPHNUMBERING_TEXTAFTER:
|
||||
- {
|
||||
- // FIXME: don't use pDestinationText, points to popped state
|
||||
- RTFValue::Pointer_t pValue(new RTFValue(aState.aDestinationText.makeStringAndClear(), true));
|
||||
- m_aStates.top().aTableAttributes.set(NS_ooxml::LN_CT_LevelSuffix_val, pValue);
|
||||
- }
|
||||
+ if (!m_aStates.empty())
|
||||
+ {
|
||||
+ // FIXME: don't use pDestinationText, points to popped state
|
||||
+ RTFValue::Pointer_t pValue(new RTFValue(aState.aDestinationText.makeStringAndClear(), true));
|
||||
+ m_aStates.top().aTableAttributes.set(NS_ooxml::LN_CT_LevelSuffix_val, pValue);
|
||||
+ }
|
||||
break;
|
||||
case DESTINATION_PARAGRAPHNUMBERING_TEXTBEFORE:
|
||||
- {
|
||||
- // FIXME: don't use pDestinationText, points to popped state
|
||||
- RTFValue::Pointer_t pValue(new RTFValue(aState.aDestinationText.makeStringAndClear(), true));
|
||||
- m_aStates.top().aTableAttributes.set(NS_ooxml::LN_CT_LevelText_val, pValue);
|
||||
- }
|
||||
+ if (!m_aStates.empty())
|
||||
+ {
|
||||
+ // FIXME: don't use pDestinationText, points to popped state
|
||||
+ RTFValue::Pointer_t pValue(new RTFValue(aState.aDestinationText.makeStringAndClear(), true));
|
||||
+ m_aStates.top().aTableAttributes.set(NS_ooxml::LN_CT_LevelText_val, pValue);
|
||||
+ }
|
||||
break;
|
||||
case DESTINATION_LISTLEVEL:
|
||||
- {
|
||||
- RTFValue::Pointer_t pInnerValue(new RTFValue(m_aStates.top().nListLevelNum++));
|
||||
- aState.aTableAttributes.set(NS_ooxml::LN_CT_Lvl_ilvl, pInnerValue);
|
||||
+ if (!m_aStates.empty())
|
||||
+ {
|
||||
+ RTFValue::Pointer_t pInnerValue(new RTFValue(m_aStates.top().nListLevelNum++));
|
||||
+ aState.aTableAttributes.set(NS_ooxml::LN_CT_Lvl_ilvl, pInnerValue);
|
||||
|
||||
- RTFValue::Pointer_t pValue(new RTFValue(aState.aTableAttributes, aState.aTableSprms));
|
||||
- if (m_aStates.top().nDestinationState != DESTINATION_LFOLEVEL)
|
||||
- m_aStates.top().aListLevelEntries.set(NS_ooxml::LN_CT_AbstractNum_lvl, pValue, OVERWRITE_NO_APPEND);
|
||||
- else
|
||||
- m_aStates.top().aTableSprms.set(NS_ooxml::LN_CT_NumLvl_lvl, pValue);
|
||||
- }
|
||||
+ RTFValue::Pointer_t pValue(new RTFValue(aState.aTableAttributes, aState.aTableSprms));
|
||||
+ if (m_aStates.top().nDestinationState != DESTINATION_LFOLEVEL)
|
||||
+ m_aStates.top().aListLevelEntries.set(NS_ooxml::LN_CT_AbstractNum_lvl, pValue, OVERWRITE_NO_APPEND);
|
||||
+ else
|
||||
+ m_aStates.top().aTableSprms.set(NS_ooxml::LN_CT_NumLvl_lvl, pValue);
|
||||
+ }
|
||||
break;
|
||||
case DESTINATION_LFOLEVEL:
|
||||
- {
|
||||
- RTFValue::Pointer_t pInnerValue(new RTFValue(m_aStates.top().nListLevelNum++));
|
||||
- aState.aTableAttributes.set(NS_ooxml::LN_CT_NumLvl_ilvl, pInnerValue);
|
||||
+ if (!m_aStates.empty())
|
||||
+ {
|
||||
+ RTFValue::Pointer_t pInnerValue(new RTFValue(m_aStates.top().nListLevelNum++));
|
||||
+ aState.aTableAttributes.set(NS_ooxml::LN_CT_NumLvl_ilvl, pInnerValue);
|
||||
|
||||
- RTFValue::Pointer_t pValue(new RTFValue(aState.aTableAttributes, aState.aTableSprms));
|
||||
- m_aStates.top().aTableSprms.set(NS_ooxml::LN_CT_Num_lvlOverride, pValue);
|
||||
- }
|
||||
+ RTFValue::Pointer_t pValue(new RTFValue(aState.aTableAttributes, aState.aTableSprms));
|
||||
+ m_aStates.top().aTableSprms.set(NS_ooxml::LN_CT_Num_lvlOverride, pValue);
|
||||
+ }
|
||||
break;
|
||||
// list override table
|
||||
case DESTINATION_LISTOVERRIDEENTRY:
|
||||
- {
|
||||
- if (m_aStates.top().nDestinationState == DESTINATION_LISTOVERRIDEENTRY)
|
||||
- {
|
||||
- // copy properties upwards so upper popState inserts it
|
||||
- m_aStates.top().aTableAttributes = aState.aTableAttributes;
|
||||
- m_aStates.top().aTableSprms = aState.aTableSprms;
|
||||
- }
|
||||
- else
|
||||
+ if (!m_aStates.empty())
|
||||
{
|
||||
- RTFValue::Pointer_t pValue(new RTFValue(
|
||||
- aState.aTableAttributes, aState.aTableSprms));
|
||||
- m_aListTableSprms.set(NS_ooxml::LN_CT_Numbering_num, pValue, OVERWRITE_NO_APPEND);
|
||||
+ if (m_aStates.top().nDestinationState == DESTINATION_LISTOVERRIDEENTRY)
|
||||
+ {
|
||||
+ // copy properties upwards so upper popState inserts it
|
||||
+ m_aStates.top().aTableAttributes = aState.aTableAttributes;
|
||||
+ m_aStates.top().aTableSprms = aState.aTableSprms;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ RTFValue::Pointer_t pValue(new RTFValue(
|
||||
+ aState.aTableAttributes, aState.aTableSprms));
|
||||
+ m_aListTableSprms.set(NS_ooxml::LN_CT_Numbering_num, pValue, OVERWRITE_NO_APPEND);
|
||||
+ }
|
||||
}
|
||||
- }
|
||||
break;
|
||||
case DESTINATION_LEVELTEXT:
|
||||
- {
|
||||
- RTFValue::Pointer_t pValue(new RTFValue(aState.aTableAttributes));
|
||||
- m_aStates.top().aTableSprms.set(NS_ooxml::LN_CT_Lvl_lvlText, pValue);
|
||||
- }
|
||||
+ if (!m_aStates.empty())
|
||||
+ {
|
||||
+ RTFValue::Pointer_t pValue(new RTFValue(aState.aTableAttributes));
|
||||
+ m_aStates.top().aTableSprms.set(NS_ooxml::LN_CT_Lvl_lvlText, pValue);
|
||||
+ }
|
||||
break;
|
||||
case DESTINATION_LEVELNUMBERS:
|
||||
- m_aStates.top().aTableSprms = aState.aTableSprms;
|
||||
+ if (!m_aStates.empty())
|
||||
+ m_aStates.top().aTableSprms = aState.aTableSprms;
|
||||
break;
|
||||
case DESTINATION_FIELDINSTRUCTION:
|
||||
- m_aStates.top().nFieldStatus = FIELD_INSTRUCTION;
|
||||
+ if (!m_aStates.empty())
|
||||
+ m_aStates.top().nFieldStatus = FIELD_INSTRUCTION;
|
||||
break;
|
||||
case DESTINATION_FIELDRESULT:
|
||||
- m_aStates.top().nFieldStatus = FIELD_RESULT;
|
||||
+ if (!m_aStates.empty())
|
||||
+ m_aStates.top().nFieldStatus = FIELD_RESULT;
|
||||
break;
|
||||
case DESTINATION_FIELD:
|
||||
if (aState.nFieldStatus == FIELD_INSTRUCTION)
|
||||
singleChar(0x15);
|
||||
break;
|
||||
case DESTINATION_SHAPEPROPERTYVALUEPICT:
|
||||
- {
|
||||
- m_aStates.top().aPicture = aState.aPicture;
|
||||
- // both \sp and \sv are destinations, copy the text up-ward for later
|
||||
- m_aStates.top().aDestinationText = aState.aDestinationText;
|
||||
- }
|
||||
+ if (!m_aStates.empty())
|
||||
+ {
|
||||
+ m_aStates.top().aPicture = aState.aPicture;
|
||||
+ // both \sp and \sv are destinations, copy the text up-ward for later
|
||||
+ m_aStates.top().aDestinationText = aState.aDestinationText;
|
||||
+ }
|
||||
break;
|
||||
case DESTINATION_FALT:
|
||||
- m_aStates.top().aTableSprms = aState.aTableSprms;
|
||||
+ if (!m_aStates.empty())
|
||||
+ m_aStates.top().aTableSprms = aState.aTableSprms;
|
||||
break;
|
||||
case DESTINATION_SHAPEPROPERTYNAME:
|
||||
case DESTINATION_SHAPEPROPERTYVALUE:
|
||||
@@ -5799,40 +5810,46 @@ int RTFDocumentImpl::popState()
|
||||
case DESTINATION_FLYMAINCONTENT:
|
||||
case DESTINATION_SHPPICT:
|
||||
case DESTINATION_SHAPE:
|
||||
- m_aStates.top().aFrame = aState.aFrame;
|
||||
- if (aState.nDestinationState == DESTINATION_SHPPICT && !m_aStates.empty() && m_aStates.top().nDestinationState == DESTINATION_LISTPICTURE)
|
||||
+ if (!m_aStates.empty())
|
||||
{
|
||||
- RTFSprms aAttributes;
|
||||
- aAttributes.set(NS_ooxml::LN_CT_NumPicBullet_numPicBulletId, RTFValue::Pointer_t(new RTFValue(m_nListPictureId++)));
|
||||
- RTFSprms aSprms;
|
||||
- // Dummy value, real picture is already sent to dmapper.
|
||||
- aSprms.set(NS_ooxml::LN_CT_NumPicBullet_pict, RTFValue::Pointer_t(new RTFValue(0)));
|
||||
- RTFValue::Pointer_t pValue(new RTFValue(aAttributes, aSprms));
|
||||
- m_aListTableSprms.set(NS_ooxml::LN_CT_Numbering_numPicBullet, pValue, OVERWRITE_NO_APPEND);
|
||||
+ m_aStates.top().aFrame = aState.aFrame;
|
||||
+ if (aState.nDestinationState == DESTINATION_SHPPICT && m_aStates.top().nDestinationState == DESTINATION_LISTPICTURE)
|
||||
+ {
|
||||
+ RTFSprms aAttributes;
|
||||
+ aAttributes.set(NS_ooxml::LN_CT_NumPicBullet_numPicBulletId, RTFValue::Pointer_t(new RTFValue(m_nListPictureId++)));
|
||||
+ RTFSprms aSprms;
|
||||
+ // Dummy value, real picture is already sent to dmapper.
|
||||
+ aSprms.set(NS_ooxml::LN_CT_NumPicBullet_pict, RTFValue::Pointer_t(new RTFValue(0)));
|
||||
+ RTFValue::Pointer_t pValue(new RTFValue(aAttributes, aSprms));
|
||||
+ m_aListTableSprms.set(NS_ooxml::LN_CT_Numbering_numPicBullet, pValue, OVERWRITE_NO_APPEND);
|
||||
+ }
|
||||
}
|
||||
break;
|
||||
case DESTINATION_SHAPETEXT:
|
||||
- // If we're leaving the shapetext group (it may have nested ones) and this is a shape, not an old drawingobject.
|
||||
- if (m_aStates.top().nDestinationState != DESTINATION_SHAPETEXT && !m_aStates.top().aDrawingObject.bHadShapeText)
|
||||
+ if (!m_aStates.empty())
|
||||
{
|
||||
- m_aStates.top().bHadShapeText = true;
|
||||
- if (!m_aStates.top().pCurrentBuffer)
|
||||
- m_pSdrImport->close();
|
||||
- else
|
||||
- m_aStates.top().pCurrentBuffer->push_back(
|
||||
- Buf_t(BUFFER_ENDSHAPE));
|
||||
- }
|
||||
-
|
||||
- // It's allowed to declare these inside the the shape text, and they
|
||||
- // are expected to have an effect for the whole shape.
|
||||
- if (aState.aDrawingObject.nLeft)
|
||||
- m_aStates.top().aDrawingObject.nLeft = aState.aDrawingObject.nLeft;
|
||||
- if (aState.aDrawingObject.nTop)
|
||||
- m_aStates.top().aDrawingObject.nTop = aState.aDrawingObject.nTop;
|
||||
- if (aState.aDrawingObject.nRight)
|
||||
- m_aStates.top().aDrawingObject.nRight = aState.aDrawingObject.nRight;
|
||||
- if (aState.aDrawingObject.nBottom)
|
||||
- m_aStates.top().aDrawingObject.nBottom = aState.aDrawingObject.nBottom;
|
||||
+ // If we're leaving the shapetext group (it may have nested ones) and this is a shape, not an old drawingobject.
|
||||
+ if (m_aStates.top().nDestinationState != DESTINATION_SHAPETEXT && !m_aStates.top().aDrawingObject.bHadShapeText)
|
||||
+ {
|
||||
+ m_aStates.top().bHadShapeText = true;
|
||||
+ if (!m_aStates.top().pCurrentBuffer)
|
||||
+ m_pSdrImport->close();
|
||||
+ else
|
||||
+ m_aStates.top().pCurrentBuffer->push_back(
|
||||
+ Buf_t(BUFFER_ENDSHAPE));
|
||||
+ }
|
||||
+
|
||||
+ // It's allowed to declare these inside the the shape text, and they
|
||||
+ // are expected to have an effect for the whole shape.
|
||||
+ if (aState.aDrawingObject.nLeft)
|
||||
+ m_aStates.top().aDrawingObject.nLeft = aState.aDrawingObject.nLeft;
|
||||
+ if (aState.aDrawingObject.nTop)
|
||||
+ m_aStates.top().aDrawingObject.nTop = aState.aDrawingObject.nTop;
|
||||
+ if (aState.aDrawingObject.nRight)
|
||||
+ m_aStates.top().aDrawingObject.nRight = aState.aDrawingObject.nRight;
|
||||
+ if (aState.aDrawingObject.nBottom)
|
||||
+ m_aStates.top().aDrawingObject.nBottom = aState.aDrawingObject.nBottom;
|
||||
+ }
|
||||
break;
|
||||
default:
|
||||
{
|
||||
--
|
||||
1.9.3
|
||||
|
Loading…
Reference in new issue