parent
bb34c7aec8
commit
ca8f0c16f9
@ -1,209 +0,0 @@
|
||||
From a59e5ecd611ddd41cec6d9c78773f55887df67e6 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Tue, 25 Feb 2014 15:44:16 +0100
|
||||
Subject: [PATCH] Change SDK javaodc from static Package to dynamic
|
||||
GeneratedPackage
|
||||
|
||||
...as e.g. the list of resrouces/*.gif apparently varies per javadoc version.
|
||||
|
||||
Change-Id: Idcf95229295c1c5cd16e565bcd168c1a0e7d4f0c
|
||||
---
|
||||
odk/GeneratedPackage_odk_javadoc.mk | 16 ++++
|
||||
odk/Module_odk.mk | 2 +-
|
||||
odk/Package_javadoc.mk | 146 ------------------------------------
|
||||
3 files changed, 17 insertions(+), 147 deletions(-)
|
||||
create mode 100644 odk/GeneratedPackage_odk_javadoc.mk
|
||||
delete mode 100644 odk/Package_javadoc.mk
|
||||
|
||||
diff --git a/odk/GeneratedPackage_odk_javadoc.mk b/odk/GeneratedPackage_odk_javadoc.mk
|
||||
new file mode 100644
|
||||
index 0000000..569377b
|
||||
--- /dev/null
|
||||
+++ b/odk/GeneratedPackage_odk_javadoc.mk
|
||||
@@ -0,0 +1,16 @@
|
||||
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
||||
+#
|
||||
+# 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/.
|
||||
+#
|
||||
+
|
||||
+$(eval $(call gb_GeneratedPackage_GeneratedPackage,odk_javadoc,$(call gb_CustomTarget_get_workdir,odk/docs/java/ref)))
|
||||
+
|
||||
+$(eval $(call gb_GeneratedPackage_add_dir,odk_javadoc,$(INSTDIR)/$(SDKDIRNAME)/docs/java/ref,.))
|
||||
+
|
||||
+$(eval $(call gb_GeneratedPackage_use_customtarget,odk_javadoc,odk/docs/java/ref))
|
||||
+
|
||||
+# vim: set noet sw=4 ts=4:
|
||||
diff --git a/odk/Module_odk.mk b/odk/Module_odk.mk
|
||||
index 9ddc400..32bdfc1 100644
|
||||
--- a/odk/Module_odk.mk
|
||||
+++ b/odk/Module_odk.mk
|
||||
@@ -44,9 +44,9 @@ $(eval $(call gb_Module_add_targets,odk,\
|
||||
$(if $(filter YESGCC,$(BUILD_UNOWINREG)$(COM)),CustomTarget_unowinreg) \
|
||||
CustomTarget_classes \
|
||||
CustomTarget_javadoc \
|
||||
+ GeneratedPackage_odk_javadoc \
|
||||
GeneratedPackage_uno_loader_classes \
|
||||
$(if $(filter WNT,$(OS)),Library_unowinreg) \
|
||||
- Package_javadoc \
|
||||
Package_unowinreg \
|
||||
))
|
||||
endif
|
||||
diff --git a/odk/Package_javadoc.mk b/odk/Package_javadoc.mk
|
||||
deleted file mode 100644
|
||||
index 5f0ea44..0000000
|
||||
--- a/odk/Package_javadoc.mk
|
||||
+++ /dev/null
|
||||
@@ -1,146 +0,0 @@
|
||||
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
||||
-#
|
||||
-# 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/.
|
||||
-#
|
||||
-
|
||||
-$(eval $(call gb_Package_Package,odk_javadoc,$(call gb_CustomTarget_get_workdir,odk/docs/java/ref)))
|
||||
-
|
||||
-$(eval $(call gb_Package_set_outdir,odk_javadoc,$(INSTDIR)))
|
||||
-
|
||||
-$(eval $(call gb_Package_add_files_with_dir,odk_javadoc,$(SDKDIRNAME)/docs/java/ref,\
|
||||
- allclasses-frame.html \
|
||||
- allclasses-noframe.html \
|
||||
- com/sun/star/comp/helper/Bootstrap.html \
|
||||
- com/sun/star/comp/helper/BootstrapException.html \
|
||||
- com/sun/star/comp/helper/ComponentContext.html \
|
||||
- com/sun/star/comp/helper/ComponentContextEntry.html \
|
||||
- com/sun/star/comp/helper/SharedLibraryLoader.html \
|
||||
- com/sun/star/comp/helper/class-use/Bootstrap.html \
|
||||
- com/sun/star/comp/helper/class-use/BootstrapException.html \
|
||||
- com/sun/star/comp/helper/class-use/ComponentContext.html \
|
||||
- com/sun/star/comp/helper/class-use/ComponentContextEntry.html \
|
||||
- com/sun/star/comp/helper/class-use/SharedLibraryLoader.html \
|
||||
- com/sun/star/comp/helper/package-frame.html \
|
||||
- com/sun/star/comp/helper/package-summary.html \
|
||||
- com/sun/star/comp/helper/package-tree.html \
|
||||
- com/sun/star/comp/helper/package-use.html \
|
||||
- com/sun/star/lib/uno/helper/ComponentBase.html \
|
||||
- com/sun/star/lib/uno/helper/Factory.html \
|
||||
- com/sun/star/lib/uno/helper/InterfaceContainer.html \
|
||||
- com/sun/star/lib/uno/helper/MultiTypeInterfaceContainer.html \
|
||||
- com/sun/star/lib/uno/helper/PropertySet.html \
|
||||
- com/sun/star/lib/uno/helper/PropertySetMixin.BoundListeners.html \
|
||||
- com/sun/star/lib/uno/helper/PropertySetMixin.html \
|
||||
- com/sun/star/lib/uno/helper/UnoUrl.html \
|
||||
- com/sun/star/lib/uno/helper/WeakAdapter.html \
|
||||
- com/sun/star/lib/uno/helper/WeakBase.html \
|
||||
- com/sun/star/lib/uno/helper/class-use/ComponentBase.html \
|
||||
- com/sun/star/lib/uno/helper/class-use/Factory.html \
|
||||
- com/sun/star/lib/uno/helper/class-use/InterfaceContainer.html \
|
||||
- com/sun/star/lib/uno/helper/class-use/MultiTypeInterfaceContainer.html \
|
||||
- com/sun/star/lib/uno/helper/class-use/PropertySet.html \
|
||||
- com/sun/star/lib/uno/helper/class-use/PropertySetMixin.BoundListeners.html \
|
||||
- com/sun/star/lib/uno/helper/class-use/PropertySetMixin.html \
|
||||
- com/sun/star/lib/uno/helper/class-use/UnoUrl.html \
|
||||
- com/sun/star/lib/uno/helper/class-use/WeakAdapter.html \
|
||||
- com/sun/star/lib/uno/helper/class-use/WeakBase.html \
|
||||
- com/sun/star/lib/uno/helper/package-frame.html \
|
||||
- com/sun/star/lib/uno/helper/package-summary.html \
|
||||
- com/sun/star/lib/uno/helper/package-tree.html \
|
||||
- com/sun/star/lib/uno/helper/package-use.html \
|
||||
- com/sun/star/lib/unoloader/UnoClassLoader.html \
|
||||
- com/sun/star/lib/unoloader/UnoLoader.html \
|
||||
- com/sun/star/lib/unoloader/class-use/UnoClassLoader.html \
|
||||
- com/sun/star/lib/unoloader/class-use/UnoLoader.html \
|
||||
- com/sun/star/lib/unoloader/package-frame.html \
|
||||
- com/sun/star/lib/unoloader/package-summary.html \
|
||||
- com/sun/star/lib/unoloader/package-tree.html \
|
||||
- com/sun/star/lib/unoloader/package-use.html \
|
||||
- com/sun/star/lib/util/UrlToFileMapper.html \
|
||||
- com/sun/star/lib/util/class-use/UrlToFileMapper.html \
|
||||
- com/sun/star/lib/util/package-frame.html \
|
||||
- com/sun/star/lib/util/package-summary.html \
|
||||
- com/sun/star/lib/util/package-tree.html \
|
||||
- com/sun/star/lib/util/package-use.html \
|
||||
- com/sun/star/uno/Any.html \
|
||||
- com/sun/star/uno/AnyConverter.html \
|
||||
- com/sun/star/uno/Ascii.html \
|
||||
- com/sun/star/uno/AsciiString.html \
|
||||
- com/sun/star/uno/Enum.html \
|
||||
- com/sun/star/uno/IBridge.html \
|
||||
- com/sun/star/uno/IEnvironment.html \
|
||||
- com/sun/star/uno/IFieldDescription.html \
|
||||
- com/sun/star/uno/IMapping.html \
|
||||
- com/sun/star/uno/IMemberDescription.html \
|
||||
- com/sun/star/uno/IMethodDescription.html \
|
||||
- com/sun/star/uno/IQueryInterface.html \
|
||||
- com/sun/star/uno/ITypeDescription.html \
|
||||
- com/sun/star/uno/MappingException.html \
|
||||
- com/sun/star/uno/Type.html \
|
||||
- com/sun/star/uno/Union.html \
|
||||
- com/sun/star/uno/UnoRuntime.html \
|
||||
- com/sun/star/uno/WeakReference.html \
|
||||
- com/sun/star/uno/class-use/Any.html \
|
||||
- com/sun/star/uno/class-use/AnyConverter.html \
|
||||
- com/sun/star/uno/class-use/Ascii.html \
|
||||
- com/sun/star/uno/class-use/AsciiString.html \
|
||||
- com/sun/star/uno/class-use/Enum.html \
|
||||
- com/sun/star/uno/class-use/IBridge.html \
|
||||
- com/sun/star/uno/class-use/IEnvironment.html \
|
||||
- com/sun/star/uno/class-use/IFieldDescription.html \
|
||||
- com/sun/star/uno/class-use/IMapping.html \
|
||||
- com/sun/star/uno/class-use/IMemberDescription.html \
|
||||
- com/sun/star/uno/class-use/IMethodDescription.html \
|
||||
- com/sun/star/uno/class-use/IQueryInterface.html \
|
||||
- com/sun/star/uno/class-use/ITypeDescription.html \
|
||||
- com/sun/star/uno/class-use/MappingException.html \
|
||||
- com/sun/star/uno/class-use/Type.html \
|
||||
- com/sun/star/uno/class-use/Union.html \
|
||||
- com/sun/star/uno/class-use/UnoRuntime.html \
|
||||
- com/sun/star/uno/class-use/WeakReference.html \
|
||||
- com/sun/star/uno/package-frame.html \
|
||||
- com/sun/star/uno/package-summary.html \
|
||||
- com/sun/star/uno/package-tree.html \
|
||||
- com/sun/star/uno/package-use.html \
|
||||
- constant-values.html \
|
||||
- deprecated-list.html \
|
||||
- help-doc.html \
|
||||
- index-files/index-1.html \
|
||||
- index-files/index-10.html \
|
||||
- index-files/index-11.html \
|
||||
- index-files/index-12.html \
|
||||
- index-files/index-13.html \
|
||||
- index-files/index-14.html \
|
||||
- index-files/index-15.html \
|
||||
- index-files/index-16.html \
|
||||
- index-files/index-17.html \
|
||||
- index-files/index-18.html \
|
||||
- index-files/index-19.html \
|
||||
- index-files/index-2.html \
|
||||
- index-files/index-20.html \
|
||||
- index-files/index-21.html \
|
||||
- index-files/index-3.html \
|
||||
- index-files/index-4.html \
|
||||
- index-files/index-5.html \
|
||||
- index-files/index-6.html \
|
||||
- index-files/index-7.html \
|
||||
- index-files/index-8.html \
|
||||
- index-files/index-9.html \
|
||||
- index.html \
|
||||
- overview-frame.html \
|
||||
- overview-summary.html \
|
||||
- overview-tree.html \
|
||||
- package-list \
|
||||
- resources/background.gif \
|
||||
- resources/tab.gif \
|
||||
- resources/titlebar.gif \
|
||||
- resources/titlebar_end.gif \
|
||||
- serialized-form.html \
|
||||
- stylesheet.css \
|
||||
-))
|
||||
-
|
||||
-# vim: set noet sw=4 ts=4:
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,51 +0,0 @@
|
||||
From e44a7eefb7f632977b4c8c91ad14244372c6e04d Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Monastirsky <momonasmon@gmail.com>
|
||||
Date: Wed, 26 Feb 2014 17:02:38 +0200
|
||||
Subject: [PATCH] KDE: don't throw on TemplatePathVariable
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This is required after commit
|
||||
838b77f5f3d6d8fd98891e99a23ff78a6a357cb2.
|
||||
|
||||
Actual functionality is still missing.
|
||||
|
||||
Change-Id: Ib94d8a982609de730d9c61bf7bf9886093c51f5b
|
||||
Reviewed-on: https://gerrit.libreoffice.org/8367
|
||||
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
||||
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
||||
---
|
||||
shell/source/backends/kde4be/kde4backend.cxx | 2 +-
|
||||
shell/source/backends/kdebe/kdebackend.cxx | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/shell/source/backends/kde4be/kde4backend.cxx b/shell/source/backends/kde4be/kde4backend.cxx
|
||||
index bf12683..1d486e4 100644
|
||||
--- a/shell/source/backends/kde4be/kde4backend.cxx
|
||||
+++ b/shell/source/backends/kde4be/kde4backend.cxx
|
||||
@@ -172,7 +172,7 @@ css::uno::Any Service::getPropertyValue(OUString const & PropertyName)
|
||||
|| PropertyName == "SourceViewFontName" || PropertyName == "WorkPathVariable" || PropertyName == "ooInetFTPProxyName"
|
||||
|| PropertyName == "ooInetFTPProxyPort" || PropertyName == "ooInetHTTPProxyName" || PropertyName == "ooInetHTTPProxyPort"
|
||||
|| PropertyName == "ooInetHTTPSProxyName" || PropertyName == "ooInetHTTPSProxyPort" || PropertyName == "ooInetNoProxy"
|
||||
- || PropertyName == "ooInetProxyType" )
|
||||
+ || PropertyName == "ooInetProxyType" || PropertyName == "TemplatePathVariable" )
|
||||
{
|
||||
return css::uno::makeAny(
|
||||
enabled_
|
||||
diff --git a/shell/source/backends/kdebe/kdebackend.cxx b/shell/source/backends/kdebe/kdebackend.cxx
|
||||
index 8089632..08915e8 100644
|
||||
--- a/shell/source/backends/kdebe/kdebackend.cxx
|
||||
+++ b/shell/source/backends/kdebe/kdebackend.cxx
|
||||
@@ -172,7 +172,7 @@ css::uno::Any Service::getPropertyValue(OUString const & PropertyName)
|
||||
|| PropertyName == "SourceViewFontName" || PropertyName == "WorkPathVariable" || PropertyName == "ooInetFTPProxyName"
|
||||
|| PropertyName == "ooInetFTPProxyPort" || PropertyName == "ooInetHTTPProxyName" || PropertyName == "ooInetHTTPProxyPort"
|
||||
|| PropertyName == "ooInetHTTPSProxyName" || PropertyName == "ooInetHTTPSProxyPort" || PropertyName == "ooInetNoProxy"
|
||||
- || PropertyName == "ooInetProxyType" )
|
||||
+ || PropertyName == "ooInetProxyType" || PropertyName == "TemplatePathVariable" )
|
||||
{
|
||||
return css::uno::makeAny(
|
||||
enabled_
|
||||
--
|
||||
1.8.5.3
|
||||
|
@ -1,26 +0,0 @@
|
||||
From c17e40a9b712142c268e0f57fe2e092350d2f2c0 Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Tue, 25 Feb 2014 16:03:21 +0100
|
||||
Subject: [PATCH] Package -> GeneratedPackage fixup
|
||||
|
||||
Change-Id: Ib6e7a456b2f39c47da44552184669005d18d4fa4
|
||||
---
|
||||
odk/CustomTarget_check.mk | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/odk/CustomTarget_check.mk b/odk/CustomTarget_check.mk
|
||||
index 88af63a..175d44d 100644
|
||||
--- a/odk/CustomTarget_check.mk
|
||||
+++ b/odk/CustomTarget_check.mk
|
||||
@@ -38,7 +38,7 @@ $(call gb_CustomTarget_get_workdir,odk/check)/checkbin : \
|
||||
) \
|
||||
$(call gb_Package_get_target,odk_docs) \
|
||||
$(call gb_Package_get_target,odk_html) \
|
||||
- $(if $(ENABLE_JAVA),$(call gb_Package_get_target,odk_javadoc)) \
|
||||
+ $(if $(ENABLE_JAVA),$(call gb_GeneratedPackage_get_target,odk_javadoc)) \
|
||||
$(call gb_Package_get_target,odk_lib) \
|
||||
$(call gb_Package_get_target,odk_settings) \
|
||||
$(call gb_Package_get_target,odk_settings_generated) \
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,104 +0,0 @@
|
||||
From 9fd97266ce7dbeac33c93b6dace69d64c02d222c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Wed, 23 Apr 2014 15:22:13 +0100
|
||||
Subject: [PATCH] Related: fdo#36815 center scaled comment page vertically
|
||||
|
||||
so comments at the top of the page don't get clipped
|
||||
off the true printable area
|
||||
|
||||
Change-Id: Icb796c901372437b276e7ce4e31c08e0bf2ec250
|
||||
---
|
||||
sw/source/core/view/vprint.cxx | 56 +++++++++++++++---------------------------
|
||||
1 file changed, 20 insertions(+), 36 deletions(-)
|
||||
|
||||
diff --git a/sw/source/core/view/vprint.cxx b/sw/source/core/view/vprint.cxx
|
||||
index b680e52..0022fff 100644
|
||||
--- a/sw/source/core/view/vprint.cxx
|
||||
+++ b/sw/source/core/view/vprint.cxx
|
||||
@@ -455,26 +455,6 @@ sal_Bool SwViewShell::PrintOrPDFExport(
|
||||
// output device is now provided by a call from outside the Writer)
|
||||
pOutDev->Push();
|
||||
|
||||
- // fdo#36815 for comments in margins print to a metafile
|
||||
- // and then scale that metafile down so that the comments
|
||||
- // will fit on the real page, and replay that scaled
|
||||
- // output to the real outputdevice
|
||||
- GDIMetaFile *pOrigRecorder(NULL);
|
||||
- GDIMetaFile *pMetaFile(NULL);
|
||||
- sal_Int16 nPostItMode = rPrintData.GetPrintPostIts();
|
||||
- if (nPostItMode == POSTITS_INMARGINS)
|
||||
- {
|
||||
- //get and disable the existing recorder
|
||||
- pOrigRecorder = pOutDev->GetConnectMetaFile();
|
||||
- pOutDev->SetConnectMetaFile(NULL);
|
||||
- // turn off output to the device
|
||||
- pOutDev->EnableOutput(false);
|
||||
- // just record the rendering commands to the metafile
|
||||
- // instead
|
||||
- pMetaFile = new GDIMetaFile;
|
||||
- pMetaFile->Record(pOutDev);
|
||||
- }
|
||||
-
|
||||
// Print/PDF export for (multi-)selection has already generated a
|
||||
// temporary document with the selected text.
|
||||
// (see XRenderable implementation in unotxdoc.cxx)
|
||||
@@ -490,6 +470,8 @@ sal_Bool SwViewShell::PrintOrPDFExport(
|
||||
pDrawView->SetBufferedOverlayAllowed( false );
|
||||
}
|
||||
|
||||
+ sal_Int16 nPostItMode = rPrintData.GetPrintPostIts();
|
||||
+
|
||||
{ // additional scope so that the CurrShell is reset before destroying the shell
|
||||
|
||||
SET_CURR_SHELL( pShell );
|
||||
@@ -537,22 +519,6 @@ sal_Bool SwViewShell::PrintOrPDFExport(
|
||||
pPostItManager->CalcRects();
|
||||
pPostItManager->LayoutPostIts();
|
||||
pPostItManager->DrawNotesForPage(pOutDev, nPage-1);
|
||||
-
|
||||
- //Now scale the recorded page down so the notes
|
||||
- //will fit in the final page
|
||||
- pMetaFile->Stop();
|
||||
- pMetaFile->WindStart();
|
||||
- double fScale = 0.75;
|
||||
- pMetaFile->Scale( fScale, fScale );
|
||||
- pMetaFile->WindStart();
|
||||
-
|
||||
- //Enable output the the device again
|
||||
- pOutDev->EnableOutput(true);
|
||||
- //Restore the original recorder
|
||||
- pOutDev->SetConnectMetaFile(pOrigRecorder);
|
||||
- //play back the scaled page
|
||||
- pMetaFile->Play(pOutDev);
|
||||
- delete pMetaFile;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -562,6 +528,24 @@ sal_Bool SwViewShell::PrintOrPDFExport(
|
||||
// output device is now provided by a call from outside the Writer)
|
||||
pOutDev->Pop();
|
||||
|
||||
+ // fdo#36815 for comments in margins get the metafile we are printing to
|
||||
+ // and then scale and vertically center that metafile down so that the
|
||||
+ // comments will fit on the real page
|
||||
+ GDIMetaFile *pRecorder = pOutDev->GetConnectMetaFile();
|
||||
+ if (nPostItMode == POSTITS_INMARGINS && pRecorder)
|
||||
+ {
|
||||
+ pRecorder->Stop();
|
||||
+ pRecorder->WindStart();
|
||||
+ double fScale = 0.75;
|
||||
+ long nOrigHeight = pOutDev->GetOutputSize().Height();
|
||||
+ long nNewHeight = nOrigHeight*fScale;
|
||||
+ long nShiftY = (nOrigHeight-nNewHeight)/2;
|
||||
+ pRecorder->Scale(fScale, fScale);
|
||||
+ pRecorder->WindStart();
|
||||
+ pRecorder->Move(0, nShiftY, pOutDev->ImplGetDPIX(), pOutDev->ImplGetDPIY());
|
||||
+ pRecorder->WindStart();
|
||||
+ }
|
||||
+
|
||||
return sal_True;
|
||||
}
|
||||
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,102 +0,0 @@
|
||||
From 0709713ad7ee0fa26b2a4f12720834e47e5dd681 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Tue, 6 May 2014 15:56:23 +0100
|
||||
Subject: [PATCH] Related: fdo#36815 clip overlarge comment contents
|
||||
|
||||
and add an indicator that the comment won't fit in the space available
|
||||
|
||||
Change-Id: I8dce7dfa678a606e8c4532addc4ba70c2a43644e
|
||||
---
|
||||
sw/source/ui/docvw/SidebarTxtControl.cxx | 23 ++++-------------------
|
||||
sw/source/ui/docvw/SidebarWin.cxx | 31 ++++++++++++++++++++++---------
|
||||
2 files changed, 26 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/sw/source/ui/docvw/SidebarTxtControl.cxx b/sw/source/ui/docvw/SidebarTxtControl.cxx
|
||||
index 15af740..889c3bb 100644
|
||||
--- a/sw/source/ui/docvw/SidebarTxtControl.cxx
|
||||
+++ b/sw/source/ui/docvw/SidebarTxtControl.cxx
|
||||
@@ -120,28 +120,13 @@ void SidebarTxtControl::RequestHelp(const HelpEvent &rEvt)
|
||||
|
||||
void SidebarTxtControl::Draw(OutputDevice* pDev, const Point& rPt, const Size& rSz, sal_uLong)
|
||||
{
|
||||
- if ( !Application::GetSettings().GetStyleSettings().GetHighContrastMode() )
|
||||
- {
|
||||
- if ( mrSidebarWin.IsMouseOverSidebarWin() ||
|
||||
- HasFocus() )
|
||||
- {
|
||||
- pDev->DrawGradient( Rectangle( Point(0,0) + rPt, PixelToLogic(GetSizePixel()) ),
|
||||
- Gradient( GradientStyle_LINEAR,
|
||||
- mrSidebarWin.ColorDark(),
|
||||
- mrSidebarWin.ColorDark() ) );
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- pDev->DrawGradient( Rectangle( Point(0,0) + rPt, PixelToLogic(GetSizePixel()) ),
|
||||
- Gradient( GradientStyle_LINEAR,
|
||||
- mrSidebarWin.ColorLight(),
|
||||
- mrSidebarWin.ColorDark()));
|
||||
- }
|
||||
- }
|
||||
+ //Take the control's height, but overwrite the scrollbar area if there was one
|
||||
+ Size aSize(PixelToLogic(GetSizePixel()));
|
||||
+ aSize.Width() = rSz.Width();
|
||||
|
||||
if ( GetTextView() )
|
||||
{
|
||||
- GetTextView()->GetOutliner()->Draw(pDev, Rectangle(rPt, rSz));
|
||||
+ GetTextView()->GetOutliner()->Draw(pDev, Rectangle(rPt, aSize));
|
||||
}
|
||||
|
||||
if ( mrSidebarWin.GetLayoutStatus()==SwPostItHelper::DELETED )
|
||||
diff --git a/sw/source/ui/docvw/SidebarWin.cxx b/sw/source/ui/docvw/SidebarWin.cxx
|
||||
index c3aa5b0..ebc4d4c 100644
|
||||
--- a/sw/source/ui/docvw/SidebarWin.cxx
|
||||
+++ b/sw/source/ui/docvw/SidebarWin.cxx
|
||||
@@ -218,15 +218,7 @@ void SwSidebarWin::Draw(OutputDevice* pDev, const Point& rPt, const Size& rSz, s
|
||||
{
|
||||
if (mpMetadataAuthor->IsVisible() )
|
||||
{
|
||||
- //draw left over space
|
||||
- if ( Application::GetSettings().GetStyleSettings().GetHighContrastMode() )
|
||||
- {
|
||||
- pDev->SetFillColor(COL_BLACK);
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- pDev->SetFillColor(mColorDark);
|
||||
- }
|
||||
+ pDev->SetFillColor(mColorDark);
|
||||
pDev->SetLineColor();
|
||||
pDev->DrawRect( Rectangle( rPt, rSz ) );
|
||||
}
|
||||
@@ -265,6 +257,27 @@ void SwSidebarWin::Draw(OutputDevice* pDev, const Point& rPt, const Size& rSz, s
|
||||
|
||||
pProcessor->process(rSequence);
|
||||
delete pProcessor;
|
||||
+
|
||||
+ if (mpVScrollbar->IsVisible())
|
||||
+ {
|
||||
+ Font aOrigFont(mpMetadataDate->GetControlFont());
|
||||
+ Color aOrigBg( mpMetadataDate->GetControlBackground() );
|
||||
+ OUString sOrigText(mpMetadataDate->GetText());
|
||||
+
|
||||
+ Size aSize(PixelToLogic(mpMenuButton->GetSizePixel()));
|
||||
+ Point aPos(PixelToLogic(mpMenuButton->GetPosPixel()));
|
||||
+ aPos += rPt;
|
||||
+
|
||||
+ Font aFont( mpMetadataDate->GetSettings().GetStyleSettings().GetFieldFont() );
|
||||
+ mpMetadataDate->SetControlFont( aFont );
|
||||
+ mpMetadataDate->SetControlBackground( 0xFFFFFF );
|
||||
+ mpMetadataDate->SetText("...");
|
||||
+ mpMetadataDate->Draw(pDev, aPos, aSize, nInFlags);
|
||||
+
|
||||
+ mpMetadataDate->SetText(sOrigText);
|
||||
+ mpMetadataDate->SetControlFont( aOrigFont );
|
||||
+ mpMetadataDate->SetControlBackground( aOrigBg );
|
||||
+ }
|
||||
}
|
||||
|
||||
void SwSidebarWin::SetPosSizePixelRect( long nX,
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,24 +0,0 @@
|
||||
From fede08ac7d8b9d6c0abd2ba1b09fd3beb1c1b7e7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Thu, 17 Apr 2014 08:41:07 +0100
|
||||
Subject: [PATCH] Related: fdo#36815 print the text highlight range as well
|
||||
|
||||
Change-Id: Ic332b1968b5dc72d26bd704cce70a496ec81e0b8
|
||||
---
|
||||
sw/source/core/layout/paintfrm.cxx | 2 +-
|
||||
sw/source/core/uibase/docvw/SidebarWin.cxx | 4 ++--
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx
|
||||
index a5cbf3b..eb3133a 100644
|
||||
--- a/sw/source/core/layout/paintfrm.cxx
|
||||
+++ b/sw/source/core/layout/paintfrm.cxx
|
||||
@@ -6172,7 +6172,7 @@ static void lcl_paintBitmapExToRect(OutputDevice *pOut, const Point& aPoint, con
|
||||
SwAlignRect( aPageRect, _pViewShell );
|
||||
|
||||
const SwPostItMgr *pMgr = _pViewShell->GetPostItMgr();
|
||||
- if (pMgr /*&& pMgr->ShowNotes()*/ && pMgr->HasNotes()) // do not show anything in print preview
|
||||
+ if (pMgr && pMgr->ShowNotes() && pMgr->HasNotes()) // do not show anything in print preview
|
||||
{
|
||||
sal_Int32 nScrollerHeight = pMgr->GetSidebarScrollerHeight();
|
||||
const Rectangle &aVisRect = _pViewShell->VisArea().SVRect();
|
@ -1,63 +0,0 @@
|
||||
From 62b0eaf37c08dd27244e77b8bc90c691b000ebd6 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Tue, 29 Apr 2014 14:17:11 +0100
|
||||
Subject: [PATCH] Related: fdo#50697 reset the cache timeout on GetGraphic
|
||||
|
||||
so the graphic gets swapped out Xms after the last use and not Xms after
|
||||
initial creation regardless of if it got used a moment earlier.
|
||||
|
||||
Change-Id: I1458f307d090ecd8d8d031b545f23e78bf1bcb67
|
||||
---
|
||||
include/svtools/grfmgr.hxx | 2 ++
|
||||
svtools/source/graphic/grfmgr.cxx | 20 ++++++++++++++++++--
|
||||
2 files changed, 20 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/svtools/grfmgr.hxx b/include/svtools/grfmgr.hxx
|
||||
index 3e1423a..251ee6d 100644
|
||||
--- a/include/svtools/grfmgr.hxx
|
||||
+++ b/include/svtools/grfmgr.hxx
|
||||
@@ -299,6 +299,8 @@ private:
|
||||
|
||||
DECL_LINK( ImplAutoSwapOutHdl, void* );
|
||||
|
||||
+ void SVT_DLLPRIVATE ResetCacheTimeOut();
|
||||
+
|
||||
protected:
|
||||
|
||||
virtual void GraphicManagerDestroyed();
|
||||
diff --git a/svtools/source/graphic/grfmgr.cxx b/svtools/source/graphic/grfmgr.cxx
|
||||
index 087d27b..a405ea7 100644
|
||||
--- a/svtools/source/graphic/grfmgr.cxx
|
||||
+++ b/svtools/source/graphic/grfmgr.cxx
|
||||
@@ -744,10 +744,26 @@ void GraphicObject::StopAnimation( OutputDevice* pOut, long nExtraData )
|
||||
mpSimpleCache->maGraphic.StopAnimation( pOut, nExtraData );
|
||||
}
|
||||
|
||||
+void GraphicObject::ResetCacheTimeOut()
|
||||
+{
|
||||
+ if (mpSwapOutTimer)
|
||||
+ {
|
||||
+ mpSwapOutTimer->Stop();
|
||||
+ mpSwapOutTimer->Start();
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
const Graphic& GraphicObject::GetGraphic() const
|
||||
{
|
||||
- if( mbAutoSwapped )
|
||||
- ( (GraphicObject*) this )->ImplAutoSwapIn();
|
||||
+ GraphicObject *pThis = const_cast<GraphicObject*>(this);
|
||||
+
|
||||
+ if (mbAutoSwapped)
|
||||
+ pThis->ImplAutoSwapIn();
|
||||
+
|
||||
+ //fdo#50697 If we've been asked to provide the graphic, then reset
|
||||
+ //the cache timeout to start from now and not remain at the
|
||||
+ //time of creation
|
||||
+ pThis->ResetCacheTimeOut();
|
||||
|
||||
return maGraphic;
|
||||
}
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,36 +0,0 @@
|
||||
From 5620f5ba2fa123f029ac449f69a89ffc5703c71e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Thu, 21 Nov 2013 15:27:59 +0000
|
||||
Subject: [PATCH] Related: rhbz#1032774 bodge-around reported NULL value here
|
||||
|
||||
Change-Id: I9c4791b8f82cdd6e4823f88f592ad9ce233b6966
|
||||
---
|
||||
sd/source/ui/slideshow/slideshow.cxx | 11 ++++++++---
|
||||
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/sd/source/ui/slideshow/slideshow.cxx b/sd/source/ui/slideshow/slideshow.cxx
|
||||
index 2bab38d..b71cad6 100644
|
||||
--- a/sd/source/ui/slideshow/slideshow.cxx
|
||||
+++ b/sd/source/ui/slideshow/slideshow.cxx
|
||||
@@ -1235,10 +1235,15 @@ void SlideShow::StartFullscreenPresentation( )
|
||||
// frame view of the current view shell. This avoids that
|
||||
// changes made by the presentation have an effect on the other
|
||||
// view shells.
|
||||
- FrameView* pOriginalFrameView = mpCurrentViewShellBase ? mpCurrentViewShellBase->GetMainViewShell()->GetFrameView() : 0;
|
||||
+ FrameView* pOriginalFrameView = 0;
|
||||
+ if (mpCurrentViewShellBase)
|
||||
+ {
|
||||
+ ::boost::shared_ptr<ViewShell> xShell(mpCurrentViewShellBase->GetMainViewShell());
|
||||
+ if (xShell.get())
|
||||
+ pOriginalFrameView = xShell->GetFrameView();
|
||||
+ }
|
||||
|
||||
- if( mpFullScreenFrameView )
|
||||
- delete mpFullScreenFrameView;
|
||||
+ delete mpFullScreenFrameView;
|
||||
mpFullScreenFrameView = new FrameView(mpDoc, pOriginalFrameView);
|
||||
|
||||
// The new frame is created hidden. To make it visible and activate the
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -1,108 +0,0 @@
|
||||
From c7d2d4953e4d9825157f09345ed45b8730522f36 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Fri, 25 Apr 2014 19:27:57 +0100
|
||||
Subject: [PATCH] Related: rhbz#1032774 slide restarter should disable
|
||||
auto-exit
|
||||
|
||||
The scenario is a pps that exits the app when the presentation
|
||||
is complete. But using "switch screens" in the presenter
|
||||
console will stop and restart the presentation. So protect
|
||||
that "stop" against existing by disabling the autoexit
|
||||
and restoring it afterwards
|
||||
|
||||
(cherry picked from commit b7197cfe5d207b171412760c6d72353f31947e93)
|
||||
|
||||
Conflicts:
|
||||
sd/source/ui/slideshow/slideshow.cxx
|
||||
|
||||
Change-Id: Id986ad7e3cfafb8068540fb90d05443f329b554c
|
||||
---
|
||||
sd/source/ui/inc/slideshow.hxx | 5 ++++-
|
||||
sd/source/ui/slideshow/SlideShowRestarter.cxx | 3 +++
|
||||
sd/source/ui/slideshow/slideshow.cxx | 20 +++++++++++++++-----
|
||||
3 files changed, 22 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/sd/source/ui/inc/slideshow.hxx b/sd/source/ui/inc/slideshow.hxx
|
||||
index 6573b2b..f6567e1 100644
|
||||
--- a/sd/source/ui/inc/slideshow.hxx
|
||||
+++ b/sd/source/ui/inc/slideshow.hxx
|
||||
@@ -178,6 +178,9 @@ public:
|
||||
|
||||
static sal_Int32 GetDisplay();
|
||||
|
||||
+ bool IsExitAfterPresenting() const;
|
||||
+ void SetExitAfterPresenting(bool bExit);
|
||||
+
|
||||
private:
|
||||
SlideShow( SdDrawDocument* pDoc );
|
||||
|
||||
@@ -187,7 +190,7 @@ private:
|
||||
void StartInPlacePresentation();
|
||||
void StartFullscreenPresentation();
|
||||
|
||||
- void ThrowIfDisposed() throw (::com::sun::star::uno::RuntimeException);
|
||||
+ void ThrowIfDisposed() const throw (css::uno::RuntimeException);
|
||||
|
||||
void CreateController( ViewShell* pViewSh, ::sd::View* pView, ::Window* pParentWindow );
|
||||
WorkWindow *GetWorkWindow();
|
||||
diff --git a/sd/source/ui/slideshow/SlideShowRestarter.cxx b/sd/source/ui/slideshow/SlideShowRestarter.cxx
|
||||
index 822e8be..63fae11 100644
|
||||
--- a/sd/source/ui/slideshow/SlideShowRestarter.cxx
|
||||
+++ b/sd/source/ui/slideshow/SlideShowRestarter.cxx
|
||||
@@ -83,7 +83,10 @@ IMPL_LINK_NOARG(SlideShowRestarter, EndPresentation)
|
||||
{
|
||||
if (mnDisplayCount != (sal_Int32)Application::GetScreenCount())
|
||||
{
|
||||
+ bool bIsExitAfterPresenting = mpSlideShow->IsExitAfterPresenting();
|
||||
+ mpSlideShow->SetExitAfterPresenting(false);
|
||||
mpSlideShow->end();
|
||||
+ mpSlideShow->SetExitAfterPresenting(bIsExitAfterPresenting);
|
||||
|
||||
// The following piece of code should not be here because the
|
||||
// slide show should be aware of the existence of the presenter
|
||||
diff --git a/sd/source/ui/slideshow/slideshow.cxx b/sd/source/ui/slideshow/slideshow.cxx
|
||||
index 2bab38d..20a210b 100644
|
||||
--- a/sd/source/ui/slideshow/slideshow.cxx
|
||||
+++ b/sd/source/ui/slideshow/slideshow.cxx
|
||||
@@ -146,16 +146,12 @@ SlideShow::SlideShow( SdDrawDocument* pDoc )
|
||||
{
|
||||
}
|
||||
|
||||
-// --------------------------------------------------------------------
|
||||
-
|
||||
-void SlideShow::ThrowIfDisposed() throw (RuntimeException)
|
||||
+void SlideShow::ThrowIfDisposed() const throw (RuntimeException)
|
||||
{
|
||||
if( mpDoc == 0 )
|
||||
throw DisposedException();
|
||||
}
|
||||
|
||||
-// --------------------------------------------------------------------
|
||||
-
|
||||
/// used by the model to create a slideshow for it
|
||||
rtl::Reference< SlideShow > SlideShow::Create( SdDrawDocument* pDoc )
|
||||
{
|
||||
@@ -678,6 +674,20 @@ WorkWindow *SlideShow::GetWorkWindow()
|
||||
return dynamic_cast<WorkWindow*>(pShell->GetViewFrame()->GetTopFrame().GetWindow().GetParent());
|
||||
}
|
||||
|
||||
+bool SlideShow::IsExitAfterPresenting() const
|
||||
+{
|
||||
+ SolarMutexGuard aGuard;
|
||||
+ ThrowIfDisposed();
|
||||
+ return mpDoc->IsExitAfterPresenting();
|
||||
+}
|
||||
+
|
||||
+void SlideShow::SetExitAfterPresenting(bool bExit)
|
||||
+{
|
||||
+ SolarMutexGuard aGuard;
|
||||
+ ThrowIfDisposed();
|
||||
+ mpDoc->SetExitAfterPresenting(bExit);
|
||||
+}
|
||||
+
|
||||
void SAL_CALL SlideShow::end() throw(RuntimeException)
|
||||
{
|
||||
SolarMutexGuard aGuard;
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,204 +0,0 @@
|
||||
From 2fc88c27a7c329753f2c58ec5ee1caa3678200ae Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Mon, 24 Feb 2014 15:27:36 +0000
|
||||
Subject: [PATCH] Related: rhbz#1065807 rework #i66157# for multiple writable
|
||||
template dirs
|
||||
|
||||
if there are multiple user-level template dirs then we should be able to
|
||||
remove/rename content in all of them, not just the default writable target.
|
||||
|
||||
The target scenario here is to default to ~/Templates when it exists as the
|
||||
template dir, but to retain ~/.config/libreoffice/user/template in the dir for
|
||||
any pre-existing templates and to treat both as equivalent in terms of removing
|
||||
their content etc.
|
||||
|
||||
i#66157# wanted to avoid remove extensions templates and other internal
|
||||
ones, so rework that logic to instead just be hands off internal templates
|
||||
and allow modification of the remainder
|
||||
|
||||
Change-Id: I56afe991d4297ba692e914ae95ea02d68553f60a
|
||||
---
|
||||
sfx2/source/doc/doctemplates.cxx | 82 ++++++++++++++++++++++++++++++++--------
|
||||
1 file changed, 67 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/sfx2/source/doc/doctemplates.cxx b/sfx2/source/doc/doctemplates.cxx
|
||||
index ff07ef3..fe43a40 100644
|
||||
--- a/sfx2/source/doc/doctemplates.cxx
|
||||
+++ b/sfx2/source/doc/doctemplates.cxx
|
||||
@@ -54,6 +54,7 @@
|
||||
#include <com/sun/star/ucb/XContentAccess.hpp>
|
||||
#include <com/sun/star/frame/ModuleManager.hpp>
|
||||
#include <com/sun/star/uno/Exception.hpp>
|
||||
+#include <com/sun/star/util/PathSettings.hpp>
|
||||
|
||||
#include <svtools/templatefoldercache.hxx>
|
||||
#include <unotools/configmgr.hxx>
|
||||
@@ -180,6 +181,7 @@ class SfxDocTplService_Impl
|
||||
|
||||
::osl::Mutex maMutex;
|
||||
Sequence< OUString > maTemplateDirs;
|
||||
+ Sequence< OUString > maInternalTemplateDirs;
|
||||
OUString maRootURL;
|
||||
NameList_Impl maNames;
|
||||
Locale maLocale;
|
||||
@@ -264,8 +266,16 @@ class SfxDocTplService_Impl
|
||||
|
||||
void updateData( DocTemplates_EntryData_Impl *pData );
|
||||
|
||||
+ //See: #i66157# and rhbz#1065807
|
||||
+ //return which template dir the rURL is a subpath of
|
||||
+ OUString findParentTemplateDir(const OUString& rURL) const;
|
||||
+
|
||||
+ //See: #i66157# and rhbz#1065807
|
||||
+ //return true if rURL is a path (or subpath of) a dir which is not a user path
|
||||
+ //which implies neither it or its contents can be removed
|
||||
+ bool isInternalTemplateDir(const OUString& rURL) const;
|
||||
public:
|
||||
- SfxDocTplService_Impl( const uno::Reference< XComponentContext > & xContext );
|
||||
+ SfxDocTplService_Impl( const uno::Reference< XComponentContext > & xContext );
|
||||
~SfxDocTplService_Impl();
|
||||
|
||||
sal_Bool init() { if ( !mbIsInitialized ) init_Impl(); return mbIsInitialized; }
|
||||
@@ -545,7 +555,7 @@ void SfxDocTplService_Impl::getDirList()
|
||||
// TODO/LATER: let use service, register listener
|
||||
INetURLObject aURL;
|
||||
OUString aDirs = SvtPathOptions().GetTemplatePath();
|
||||
- sal_uInt16 nCount = comphelper::string::getTokenCount(aDirs, C_DELIM);
|
||||
+ sal_Int32 nCount = comphelper::string::getTokenCount(aDirs, C_DELIM);
|
||||
|
||||
maTemplateDirs = Sequence< OUString >( nCount );
|
||||
|
||||
@@ -553,7 +563,7 @@ void SfxDocTplService_Impl::getDirList()
|
||||
const OUString aPrefix(
|
||||
"vnd.sun.star.expand:" );
|
||||
|
||||
- for ( sal_uInt16 i=0; i<nCount; i++ )
|
||||
+ for (sal_Int32 i = 0; i < nCount; ++i)
|
||||
{
|
||||
aURL.SetSmartProtocol( INET_PROT_FILE );
|
||||
aURL.SetURL( aDirs.getToken( i, C_DELIM ) );
|
||||
@@ -571,6 +581,23 @@ void SfxDocTplService_Impl::getDirList()
|
||||
|
||||
aValue <<= maTemplateDirs;
|
||||
|
||||
+ css::uno::Reference< css::util::XPathSettings > xPathSettings =
|
||||
+ css::util::PathSettings::create( mxContext );
|
||||
+
|
||||
+ // load internal paths
|
||||
+ OUString sProp( "Template_internal" );
|
||||
+ Any aAny = xPathSettings->getPropertyValue( sProp );
|
||||
+ aAny >>= maInternalTemplateDirs;
|
||||
+
|
||||
+ nCount = maInternalTemplateDirs.getLength();
|
||||
+ for (sal_Int32 i = 0; i < nCount; ++i)
|
||||
+ {
|
||||
+ //expand vnd.sun.star.expand: and remove "..." from them
|
||||
+ //to normalize into the expected url patterns
|
||||
+ maRelocator.makeRelocatableURL(maInternalTemplateDirs[i]);
|
||||
+ maRelocator.makeAbsoluteURL(maInternalTemplateDirs[i]);
|
||||
+ }
|
||||
+
|
||||
// Store the template dir list
|
||||
setProperty( maRootContent, aPropName, aValue );
|
||||
}
|
||||
@@ -1547,13 +1574,16 @@ sal_Bool SfxDocTplService_Impl::removeGroup( const OUString& rGroupName )
|
||||
|
||||
if ( !maTemplateDirs.getLength() )
|
||||
return sal_False;
|
||||
- OUString aGeneralTempPath = maTemplateDirs[ maTemplateDirs.getLength() - 1 ];
|
||||
|
||||
// check that the fs location is in writeble folder and this is not a "My templates" folder
|
||||
INetURLObject aGroupParentFolder( aGroupTargetURL );
|
||||
- if ( !aGroupParentFolder.removeSegment()
|
||||
- || !::utl::UCBContentHelper::IsSubPath( aGeneralTempPath,
|
||||
- aGroupParentFolder.GetMainURL( INetURLObject::NO_DECODE ) ) )
|
||||
+ if (!aGroupParentFolder.removeSegment())
|
||||
+ return sal_False;
|
||||
+
|
||||
+ OUString aGeneralTempPath = findParentTemplateDir(
|
||||
+ aGroupParentFolder.GetMainURL(INetURLObject::NO_DECODE));
|
||||
+
|
||||
+ if (aGeneralTempPath.isEmpty())
|
||||
return sal_False;
|
||||
|
||||
// now get the content of the Group
|
||||
@@ -1661,14 +1691,14 @@ sal_Bool SfxDocTplService_Impl::renameGroup( const OUString& rOldName,
|
||||
|
||||
if ( !maTemplateDirs.getLength() )
|
||||
return sal_False;
|
||||
- OUString aGeneralTempPath = maTemplateDirs[ maTemplateDirs.getLength() - 1 ];
|
||||
|
||||
// check that the fs location is in writeble folder and this is not a "My templates" folder
|
||||
INetURLObject aGroupParentFolder( aGroupTargetURL );
|
||||
- if ( !aGroupParentFolder.removeSegment()
|
||||
- || !::utl::UCBContentHelper::IsSubPath( aGeneralTempPath,
|
||||
- aGroupParentFolder.GetMainURL( INetURLObject::NO_DECODE ) ) )
|
||||
+ if (!aGroupParentFolder.removeSegment() ||
|
||||
+ isInternalTemplateDir(aGroupParentFolder.GetMainURL(INetURLObject::NO_DECODE)))
|
||||
+ {
|
||||
return sal_False;
|
||||
+ }
|
||||
|
||||
// check that the group can be renamed ( all the contents must be in target location )
|
||||
sal_Bool bCanBeRenamed = sal_False;
|
||||
@@ -1770,7 +1800,7 @@ sal_Bool SfxDocTplService_Impl::storeTemplate( const OUString& rGroupName,
|
||||
aValue >>= aTemplateToRemoveTargetURL;
|
||||
|
||||
if ( aGroupTargetURL.isEmpty() || !maTemplateDirs.getLength()
|
||||
- || (!aTemplateToRemoveTargetURL.isEmpty() && !::utl::UCBContentHelper::IsSubPath( maTemplateDirs[ maTemplateDirs.getLength() - 1 ], aTemplateToRemoveTargetURL )) )
|
||||
+ || (!aTemplateToRemoveTargetURL.isEmpty() && isInternalTemplateDir(aTemplateToRemoveTargetURL)) )
|
||||
return sal_False; // it is not allowed to remove the template
|
||||
}
|
||||
|
||||
@@ -1909,6 +1939,30 @@ sal_Bool SfxDocTplService_Impl::storeTemplate( const OUString& rGroupName,
|
||||
}
|
||||
}
|
||||
|
||||
+bool SfxDocTplService_Impl::isInternalTemplateDir(const OUString& rURL) const
|
||||
+{
|
||||
+ const sal_Int32 nDirs = maInternalTemplateDirs.getLength();
|
||||
+ const OUString* pDirs = maInternalTemplateDirs.getConstArray();
|
||||
+ for (sal_Int32 i = 0; i < nDirs; ++i, ++pDirs)
|
||||
+ {
|
||||
+ if (::utl::UCBContentHelper::IsSubPath(*pDirs, rURL))
|
||||
+ return true;
|
||||
+ }
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
+OUString SfxDocTplService_Impl::findParentTemplateDir(const OUString& rURL) const
|
||||
+{
|
||||
+ const sal_Int32 nDirs = maTemplateDirs.getLength();
|
||||
+ const OUString* pDirs = maTemplateDirs.getConstArray();
|
||||
+ for (sal_Int32 i = 0; i < nDirs; ++i, ++pDirs)
|
||||
+ {
|
||||
+ if (::utl::UCBContentHelper::IsSubPath(*pDirs, rURL))
|
||||
+ return *pDirs;
|
||||
+ }
|
||||
+ return OUString();
|
||||
+}
|
||||
+
|
||||
//-----------------------------------------------------------------------------
|
||||
sal_Bool SfxDocTplService_Impl::addTemplate( const OUString& rGroupName,
|
||||
const OUString& rTemplateName,
|
||||
@@ -2032,7 +2086,6 @@ sal_Bool SfxDocTplService_Impl::addTemplate( const OUString& rGroupName,
|
||||
catch ( Exception& )
|
||||
{ return sal_False; }
|
||||
|
||||
-
|
||||
// either the document has title and it is the same as requested, or we have to set it
|
||||
sal_Bool bCorrectTitle = ( bDocHasTitle && aTitle.equals( rTemplateName ) );
|
||||
if ( !bCorrectTitle )
|
||||
@@ -2101,8 +2154,7 @@ sal_Bool SfxDocTplService_Impl::removeTemplate( const OUString& rGroupName,
|
||||
// delete the target template
|
||||
if ( !aTargetURL.isEmpty() )
|
||||
{
|
||||
- if ( !maTemplateDirs.getLength()
|
||||
- || !::utl::UCBContentHelper::IsSubPath( maTemplateDirs[ maTemplateDirs.getLength() - 1 ], aTargetURL ) )
|
||||
+ if (isInternalTemplateDir(aTargetURL))
|
||||
return sal_False;
|
||||
|
||||
removeContent( aTargetURL );
|
||||
--
|
||||
1.8.5.3
|
||||
|
@ -1,31 +0,0 @@
|
||||
From 90af0348216a5a3c2eecd660e012500d2917b279 Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Sat, 10 May 2014 10:13:44 +0200
|
||||
Subject: [PATCH] Related: rhbz#1071604 don't paint anim. effect icon
|
||||
|
||||
... unless the slide does have custom animations. This drops dep of Draw
|
||||
on libanimcore, which is in module impress, so it might not be present.
|
||||
If it is not present, the Pages panel is not drawn.
|
||||
|
||||
Change-Id: I9d7377a4fb3289e230887752bc4a105ca1c9f812
|
||||
---
|
||||
sd/source/ui/slidesorter/view/SlsPageObjectPainter.cxx | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sd/source/ui/slidesorter/view/SlsPageObjectPainter.cxx b/sd/source/ui/slidesorter/view/SlsPageObjectPainter.cxx
|
||||
index 0eafa0b..60c51fa 100644
|
||||
--- a/sd/source/ui/slidesorter/view/SlsPageObjectPainter.cxx
|
||||
+++ b/sd/source/ui/slidesorter/view/SlsPageObjectPainter.cxx
|
||||
@@ -94,7 +94,8 @@ void PageObjectPainter::PaintPageObject (
|
||||
PaintPreview(rDevice, rpDescriptor);
|
||||
PaintPageNumber(rDevice, rpDescriptor);
|
||||
PaintTransitionEffect(rDevice, rpDescriptor);
|
||||
- PaintCustomAnimationEffect(rDevice, rpDescriptor);
|
||||
+ if (rpDescriptor->GetPage()->hasAnimationNode())
|
||||
+ PaintCustomAnimationEffect(rDevice, rpDescriptor);
|
||||
rDevice.SetAntialiasing(nSavedAntialiasingMode);
|
||||
}
|
||||
}
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,34 +0,0 @@
|
||||
From 7d53f81f0a88afcff0f60bbd066a5645ac2e6a8b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Fri, 14 Mar 2014 15:30:31 +0000
|
||||
Subject: [PATCH] Related: rhbz#1075951 abrt crash in
|
||||
MSWordExportBase::OutputFormat
|
||||
|
||||
Change-Id: I681fa40196eb04f4824e49458cba0acc15b26193
|
||||
---
|
||||
sw/source/filter/ww8/ww8atr.cxx | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx
|
||||
index 7eb3134..da25acc 100644
|
||||
--- a/sw/source/filter/ww8/ww8atr.cxx
|
||||
+++ b/sw/source/filter/ww8/ww8atr.cxx
|
||||
@@ -745,10 +745,13 @@ void MSWordExportBase::OutputFormat( const SwFmt& rFmt, bool bPapFmt, bool bChpF
|
||||
case RES_TXTFMTCOLL:
|
||||
if( bPapFmt )
|
||||
{
|
||||
+ int nLvl = MAXLEVEL;
|
||||
+
|
||||
if (((const SwTxtFmtColl&)rFmt).IsAssignedToListLevelOfOutlineStyle())
|
||||
- {
|
||||
- int nLvl = ((const SwTxtFmtColl&)rFmt).GetAssignedOutlineStyleLevel();
|
||||
+ nLvl = ((const SwTxtFmtColl&)rFmt).GetAssignedOutlineStyleLevel();
|
||||
|
||||
+ if (nLvl >= 0 && nLvl < MAXLEVEL)
|
||||
+ {
|
||||
//if outline numbered
|
||||
// if Write StyleDefinition then write the OutlineRule
|
||||
const SwNumFmt& rNFmt = pDoc->GetOutlineNumRule()->Get( static_cast<sal_uInt16>( nLvl ) );
|
||||
--
|
||||
1.8.5.3
|
||||
|
@ -1,496 +0,0 @@
|
||||
From fd3cf8a32c58ee1b0f9d676cfb393478cf9b1ba2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Tue, 15 Apr 2014 09:42:32 +0100
|
||||
Subject: [PATCH] Resolves: fdo#36815 enable printing WYSIWYG sidewindow
|
||||
comments
|
||||
|
||||
in order for that to happen the document has to be scaled down
|
||||
so that the comments outside the border of the sheet of paper
|
||||
can be brought inside the printable area
|
||||
|
||||
Change-Id: Ifafb8eec10a4ea3ea0014097728888603e61e5a4
|
||||
---
|
||||
sw/inc/PostItMgr.hxx | 3 ++
|
||||
sw/inc/SidebarWin.hxx | 1 +
|
||||
sw/inc/printdata.hxx | 1 +
|
||||
sw/source/core/layout/paintfrm.cxx | 2 +-
|
||||
sw/source/core/view/printdata.cxx | 7 ++--
|
||||
sw/source/core/view/vprint.cxx | 49 ++++++++++++++++++++++++--
|
||||
sw/source/ui/config/optdlg.src | 1 +
|
||||
sw/source/ui/config/optpage.cxx | 7 ++++
|
||||
sw/source/ui/docvw/PostItMgr.cxx | 16 +++++++++
|
||||
sw/source/ui/docvw/SidebarTxtControl.cxx | 40 ++++++++++++++++++++++
|
||||
sw/source/ui/docvw/SidebarTxtControl.hxx | 2 ++
|
||||
sw/source/ui/docvw/SidebarWin.cxx | 55 ++++++++++++++++++++++++++++++
|
||||
sw/source/ui/inc/optpage.hxx | 1 +
|
||||
sw/uiconfig/swriter/ui/printoptionspage.ui | 23 +++++++++++--
|
||||
14 files changed, 200 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/sw/inc/PostItMgr.hxx b/sw/inc/PostItMgr.hxx
|
||||
index 4c38d40..0ac0273 100644
|
||||
--- a/sw/inc/PostItMgr.hxx
|
||||
+++ b/sw/inc/PostItMgr.hxx
|
||||
@@ -33,6 +33,7 @@
|
||||
#include <SidebarWindowsTypes.hxx>
|
||||
#include <svl/lstner.hxx>
|
||||
|
||||
+class OutputDevice;
|
||||
class SwWrtShell;
|
||||
class SwDoc;
|
||||
class SwView;
|
||||
@@ -279,6 +280,8 @@ class SwPostItMgr: public SfxListener
|
||||
const sal_Int32 nIndex );
|
||||
void GetAllSidebarWinForFrm( const SwFrm& rFrm,
|
||||
std::vector< Window* >* pChildren );
|
||||
+
|
||||
+ void DrawNotesForPage(OutputDevice *pOutDev, sal_uInt32 nPage);
|
||||
};
|
||||
|
||||
#endif
|
||||
diff --git a/sw/inc/SidebarWin.hxx b/sw/inc/SidebarWin.hxx
|
||||
index b3c4c82..5c8c527 100644
|
||||
--- a/sw/inc/SidebarWin.hxx
|
||||
+++ b/sw/inc/SidebarWin.hxx
|
||||
@@ -163,6 +163,7 @@ class SwSidebarWin : public Window
|
||||
|
||||
void ChangeSidebarItem( SwSidebarItem& rSidebarItem );
|
||||
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > CreateAccessible();
|
||||
+ virtual void Draw(OutputDevice* pDev, const Point&, const Size&, sal_uLong);
|
||||
|
||||
protected:
|
||||
virtual void DataChanged( const DataChangedEvent& aEvent);
|
||||
diff --git a/sw/inc/printdata.hxx b/sw/inc/printdata.hxx
|
||||
index b688608..b2f49b7 100644
|
||||
--- a/sw/inc/printdata.hxx
|
||||
+++ b/sw/inc/printdata.hxx
|
||||
@@ -307,6 +307,7 @@ public:
|
||||
#define POSTITS_ONLY 1
|
||||
#define POSTITS_ENDDOC 2
|
||||
#define POSTITS_ENDPAGE 3
|
||||
+#define POSTITS_INMARGINS 4
|
||||
|
||||
namespace sw {
|
||||
|
||||
diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx
|
||||
index 3e4ed87..2e88ef7 100644
|
||||
--- a/sw/source/core/layout/paintfrm.cxx
|
||||
+++ b/sw/source/core/layout/paintfrm.cxx
|
||||
@@ -6213,7 +6213,7 @@ static void lcl_paintBitmapExToRect(OutputDevice *pOut, Point aPoint, BitmapEx&
|
||||
SwAlignRect( aPageRect, _pViewShell );
|
||||
|
||||
const SwPostItMgr *pMgr = _pViewShell->GetPostItMgr();
|
||||
- if (pMgr && pMgr->ShowNotes() && pMgr->HasNotes()) // do not show anything in print preview
|
||||
+ if (pMgr /*&& pMgr->ShowNotes()*/ && pMgr->HasNotes()) // do not show anything in print preview
|
||||
{
|
||||
sal_Int32 nScrollerHeight = pMgr->GetSidebarScrollerHeight();
|
||||
const Rectangle &aVisRect = _pViewShell->VisArea().SVRect();
|
||||
diff --git a/sw/source/core/view/printdata.cxx b/sw/source/core/view/printdata.cxx
|
||||
index 192ae5a..b2e2ef5 100644
|
||||
--- a/sw/source/core/view/printdata.cxx
|
||||
+++ b/sw/source/core/view/printdata.cxx
|
||||
@@ -172,8 +172,8 @@ SwPrintUIOptions::SwPrintUIOptions(
|
||||
{
|
||||
ResStringArray aLocalizedStrings( SW_RES( STR_PRINTOPTUI ) );
|
||||
|
||||
- OSL_ENSURE( aLocalizedStrings.Count() >= 30, "resource incomplete" );
|
||||
- if( aLocalizedStrings.Count() < 30 ) // bad resource ?
|
||||
+ OSL_ENSURE( aLocalizedStrings.Count() >= 31, "resource incomplete" );
|
||||
+ if( aLocalizedStrings.Count() < 31 ) // bad resource ?
|
||||
return;
|
||||
|
||||
// printing HTML sources does not have any valid UI options.
|
||||
@@ -322,11 +322,12 @@ SwPrintUIOptions::SwPrintUIOptions(
|
||||
OUString(), aContentsOpt);
|
||||
// create a list box for notes content
|
||||
const sal_Int16 nPrintPostIts = rDefaultPrintData.GetPrintPostIts();
|
||||
- aChoices.realloc( 4 );
|
||||
+ aChoices.realloc( 5 );
|
||||
aChoices[0] = aLocalizedStrings.GetString( 13 );
|
||||
aChoices[1] = aLocalizedStrings.GetString( 14 );
|
||||
aChoices[2] = aLocalizedStrings.GetString( 15 );
|
||||
aChoices[3] = aLocalizedStrings.GetString( 16 );
|
||||
+ aChoices[4] = aLocalizedStrings.GetString( 30 );
|
||||
aHelpIds.realloc( 2 );
|
||||
aHelpIds[0] = ".HelpID:vcl:PrintDialog:PrintAnnotationMode:FixedText";
|
||||
aHelpIds[1] = ".HelpID:vcl:PrintDialog:PrintAnnotationMode:ListBox";
|
||||
diff --git a/sw/source/core/view/vprint.cxx b/sw/source/core/view/vprint.cxx
|
||||
index ff5ffb2..13c829b 100644
|
||||
--- a/sw/source/core/view/vprint.cxx
|
||||
+++ b/sw/source/core/view/vprint.cxx
|
||||
@@ -69,6 +69,7 @@
|
||||
#include <viscrs.hxx>
|
||||
#include <fmtpdsc.hxx>
|
||||
#include <globals.hrc>
|
||||
+#include "PostItMgr.hxx"
|
||||
|
||||
using namespace ::com::sun::star;
|
||||
|
||||
@@ -454,13 +455,33 @@ sal_Bool SwViewShell::PrintOrPDFExport(
|
||||
// output device is now provided by a call from outside the Writer)
|
||||
pOutDev->Push();
|
||||
|
||||
+ // fdo#36815 for comments in margins print to a metafile
|
||||
+ // and then scale that metafile down so that the comments
|
||||
+ // will fit on the real page, and replay that scaled
|
||||
+ // output to the real outputdevice
|
||||
+ GDIMetaFile *pOrigRecorder(NULL);
|
||||
+ GDIMetaFile *pMetaFile(NULL);
|
||||
+ sal_Int16 nPostItMode = rPrintData.GetPrintPostIts();
|
||||
+ if (nPostItMode == POSTITS_INMARGINS)
|
||||
+ {
|
||||
+ //get and disable the existing recorder
|
||||
+ pOrigRecorder = pOutDev->GetConnectMetaFile();
|
||||
+ pOutDev->SetConnectMetaFile(NULL);
|
||||
+ // turn off output to the device
|
||||
+ pOutDev->EnableOutput(false);
|
||||
+ // just record the rendering commands to the metafile
|
||||
+ // instead
|
||||
+ pMetaFile = new GDIMetaFile;
|
||||
+ pMetaFile->Record(pOutDev);
|
||||
+ }
|
||||
+
|
||||
// Print/PDF export for (multi-)selection has already generated a
|
||||
// temporary document with the selected text.
|
||||
// (see XRenderable implementation in unotxdoc.cxx)
|
||||
// It is implemented this way because PDF export calls this Prt function
|
||||
// once per page and we do not like to always have the temporary document
|
||||
// to be created that often here.
|
||||
- SwViewShell *pShell = new SwViewShell( *this, 0, pOutDev );
|
||||
+ SwViewShell *pShell = new SwViewShell(*this, 0, pOutDev);
|
||||
|
||||
SdrView *pDrawView = pShell->GetDrawView();
|
||||
if (pDrawView)
|
||||
@@ -502,13 +523,37 @@ sal_Bool SwViewShell::PrintOrPDFExport(
|
||||
|
||||
::SetSwVisArea( pViewSh2, pStPage->Frm() );
|
||||
|
||||
- pShell->InitPrt( pOutDev );
|
||||
+ pShell->InitPrt(pOutDev);
|
||||
|
||||
::SetSwVisArea( pViewSh2, pStPage->Frm() );
|
||||
|
||||
pStPage->GetUpper()->Paint( pStPage->Frm(), &rPrintData );
|
||||
|
||||
SwPaintQueue::Repaint();
|
||||
+
|
||||
+ if (nPostItMode == POSTITS_INMARGINS)
|
||||
+ {
|
||||
+ SwPostItMgr *pPostItManager = pShell->GetPostItMgr();
|
||||
+ pPostItManager->CalcRects();
|
||||
+ pPostItManager->LayoutPostIts();
|
||||
+ pPostItManager->DrawNotesForPage(pOutDev, nPage-1);
|
||||
+
|
||||
+ //Now scale the recorded page down so the notes
|
||||
+ //will fit in the final page
|
||||
+ pMetaFile->Stop();
|
||||
+ pMetaFile->WindStart();
|
||||
+ double fScale = 0.75;
|
||||
+ pMetaFile->Scale( fScale, fScale );
|
||||
+ pMetaFile->WindStart();
|
||||
+
|
||||
+ //Enable output the the device again
|
||||
+ pOutDev->EnableOutput(true);
|
||||
+ //Restore the original recorder
|
||||
+ pOutDev->SetConnectMetaFile(pOrigRecorder);
|
||||
+ //play back the scaled page
|
||||
+ pMetaFile->Play(pOutDev);
|
||||
+ delete pMetaFile;
|
||||
+ }
|
||||
}
|
||||
|
||||
delete pShell;
|
||||
diff --git a/sw/source/ui/config/optdlg.src b/sw/source/ui/config/optdlg.src
|
||||
index 748560a..b5ae69c 100644
|
||||
--- a/sw/source/ui/config/optdlg.src
|
||||
+++ b/sw/source/ui/config/optdlg.src
|
||||
@@ -71,6 +71,7 @@ StringArray STR_PRINTOPTUI
|
||||
< "~All pages"; >;
|
||||
< "Pa~ges"; >;
|
||||
< "~Selection"; >;
|
||||
+ < "Place in margins"; >;
|
||||
};
|
||||
};
|
||||
|
||||
diff --git a/sw/source/ui/config/optpage.cxx b/sw/source/ui/config/optpage.cxx
|
||||
index d7efd53..4549402 100644
|
||||
--- a/sw/source/ui/config/optpage.cxx
|
||||
+++ b/sw/source/ui/config/optpage.cxx
|
||||
@@ -312,6 +312,7 @@ SwAddPrinterTabPage::SwAddPrinterTabPage(Window* pParent,
|
||||
get(m_pOnlyRB, "only");
|
||||
get(m_pEndRB, "end");
|
||||
get(m_pEndPageRB, "endpage");
|
||||
+ get(m_pInMarginsRB, "inmargins");
|
||||
get(m_pPrintEmptyPagesCB, "blankpages");
|
||||
get(m_pPaperFromSetupCB, "papertray");
|
||||
get(m_pFaxLB, "fax");
|
||||
@@ -332,6 +333,7 @@ SwAddPrinterTabPage::SwAddPrinterTabPage(Window* pParent,
|
||||
m_pPaperFromSetupCB->SetClickHdl( aLk );
|
||||
m_pPrintEmptyPagesCB->SetClickHdl( aLk );
|
||||
m_pEndPageRB->SetClickHdl( aLk );
|
||||
+ m_pInMarginsRB->SetClickHdl( aLk );
|
||||
m_pEndRB->SetClickHdl( aLk );
|
||||
m_pOnlyRB->SetClickHdl( aLk );
|
||||
m_pNoRB->SetClickHdl( aLk );
|
||||
@@ -398,6 +400,8 @@ sal_Bool SwAddPrinterTabPage::FillItemSet( SfxItemSet& rCoreSet )
|
||||
POSTITS_ENDDOC;
|
||||
if (m_pEndPageRB->IsChecked()) aAddPrinterAttr.nPrintPostIts =
|
||||
POSTITS_ENDPAGE;
|
||||
+ if (m_pInMarginsRB->IsChecked()) aAddPrinterAttr.nPrintPostIts =
|
||||
+ POSTITS_INMARGINS;
|
||||
|
||||
OUString sFax = m_pFaxLB->GetSelectEntry();
|
||||
aAddPrinterAttr.sFaxName = sNone == sFax ? aEmptyOUStr : sFax;
|
||||
@@ -431,6 +435,7 @@ void SwAddPrinterTabPage::Reset( const SfxItemSet& )
|
||||
m_pOnlyRB->Check (pAddPrinterAttr->nPrintPostIts== POSTITS_ONLY ) ;
|
||||
m_pEndRB->Check (pAddPrinterAttr->nPrintPostIts== POSTITS_ENDDOC ) ;
|
||||
m_pEndPageRB->Check (pAddPrinterAttr->nPrintPostIts== POSTITS_ENDPAGE ) ;
|
||||
+ m_pInMarginsRB->Check (pAddPrinterAttr->nPrintPostIts== POSTITS_INMARGINS ) ;
|
||||
m_pFaxLB->SelectEntry( pAddPrinterAttr->sFaxName );
|
||||
}
|
||||
if (m_pProspectCB->IsChecked())
|
||||
@@ -440,6 +445,7 @@ void SwAddPrinterTabPage::Reset( const SfxItemSet& )
|
||||
m_pOnlyRB->Enable( sal_False );
|
||||
m_pEndRB->Enable( sal_False );
|
||||
m_pEndPageRB->Enable( sal_False );
|
||||
+ m_pInMarginsRB->Enable( sal_False );
|
||||
}
|
||||
else
|
||||
m_pProspectCB_RTL->Enable( sal_False );
|
||||
@@ -461,6 +467,7 @@ IMPL_LINK_NOARG_INLINE_START(SwAddPrinterTabPage, AutoClickHdl)
|
||||
m_pOnlyRB->Enable( !bIsProspect );
|
||||
m_pEndRB->Enable( !bIsProspect );
|
||||
m_pEndPageRB->Enable( !bIsProspect );
|
||||
+ m_pInMarginsRB->Enable( !bIsProspect );
|
||||
return 0;
|
||||
}
|
||||
IMPL_LINK_NOARG_INLINE_END(SwAddPrinterTabPage, AutoClickHdl)
|
||||
diff --git a/sw/source/ui/docvw/PostItMgr.cxx b/sw/source/ui/docvw/PostItMgr.cxx
|
||||
index 8ca06e7..e6b7cb6 100644
|
||||
--- a/sw/source/ui/docvw/PostItMgr.cxx
|
||||
+++ b/sw/source/ui/docvw/PostItMgr.cxx
|
||||
@@ -807,6 +807,22 @@ bool SwPostItMgr::BorderOverPageBorder(unsigned long aPage) const
|
||||
return false;
|
||||
}
|
||||
|
||||
+void SwPostItMgr::DrawNotesForPage(OutputDevice *pOutDev, sal_uInt32 nPage)
|
||||
+{
|
||||
+ assert(nPage < mPages.size());
|
||||
+ if (nPage >= mPages.size())
|
||||
+ return;
|
||||
+ for(SwSidebarItem_iterator i = mPages[nPage]->mList->begin(); i != mPages[nPage]->mList->end(); ++i)
|
||||
+ {
|
||||
+ SwSidebarWin* pPostIt = (*i)->pPostIt;
|
||||
+ if (!pPostIt)
|
||||
+ continue;
|
||||
+ Point aPoint(mpEditWin->PixelToLogic(pPostIt->GetPosPixel()));
|
||||
+ Size aSize(pPostIt->PixelToLogic(pPostIt->GetSizePixel()));
|
||||
+ pPostIt->Draw(pOutDev, aPoint, aSize, 0);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void SwPostItMgr::Scroll(const long lScroll,const unsigned long aPage)
|
||||
{
|
||||
OSL_ENSURE((lScroll % GetScrollSize() )==0,"SwPostItMgr::Scroll: scrolling by wrong value");
|
||||
diff --git a/sw/source/ui/docvw/SidebarTxtControl.cxx b/sw/source/ui/docvw/SidebarTxtControl.cxx
|
||||
index b1d3767..15af740 100644
|
||||
--- a/sw/source/ui/docvw/SidebarTxtControl.cxx
|
||||
+++ b/sw/source/ui/docvw/SidebarTxtControl.cxx
|
||||
@@ -118,6 +118,46 @@ void SidebarTxtControl::RequestHelp(const HelpEvent &rEvt)
|
||||
}
|
||||
}
|
||||
|
||||
+void SidebarTxtControl::Draw(OutputDevice* pDev, const Point& rPt, const Size& rSz, sal_uLong)
|
||||
+{
|
||||
+ if ( !Application::GetSettings().GetStyleSettings().GetHighContrastMode() )
|
||||
+ {
|
||||
+ if ( mrSidebarWin.IsMouseOverSidebarWin() ||
|
||||
+ HasFocus() )
|
||||
+ {
|
||||
+ pDev->DrawGradient( Rectangle( Point(0,0) + rPt, PixelToLogic(GetSizePixel()) ),
|
||||
+ Gradient( GradientStyle_LINEAR,
|
||||
+ mrSidebarWin.ColorDark(),
|
||||
+ mrSidebarWin.ColorDark() ) );
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ pDev->DrawGradient( Rectangle( Point(0,0) + rPt, PixelToLogic(GetSizePixel()) ),
|
||||
+ Gradient( GradientStyle_LINEAR,
|
||||
+ mrSidebarWin.ColorLight(),
|
||||
+ mrSidebarWin.ColorDark()));
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if ( GetTextView() )
|
||||
+ {
|
||||
+ GetTextView()->GetOutliner()->Draw(pDev, Rectangle(rPt, rSz));
|
||||
+ }
|
||||
+
|
||||
+ if ( mrSidebarWin.GetLayoutStatus()==SwPostItHelper::DELETED )
|
||||
+ {
|
||||
+ SetLineColor(mrSidebarWin.GetChangeColor());
|
||||
+ pDev->DrawLine( PixelToLogic( GetPosPixel(), pDev->GetMapMode() ),
|
||||
+ PixelToLogic( GetPosPixel() +
|
||||
+ Point( GetSizePixel().Width(),
|
||||
+ GetSizePixel().Height() ), pDev->GetMapMode() ) );
|
||||
+ pDev->DrawLine( PixelToLogic( GetPosPixel() +
|
||||
+ Point( GetSizePixel().Width(),0), pDev->GetMapMode() ),
|
||||
+ PixelToLogic( GetPosPixel() +
|
||||
+ Point( 0, GetSizePixel().Height() ), pDev->GetMapMode() ) );
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void SidebarTxtControl::Paint( const Rectangle& rRect)
|
||||
{
|
||||
if ( !Application::GetSettings().GetStyleSettings().GetHighContrastMode() )
|
||||
diff --git a/sw/source/ui/docvw/SidebarTxtControl.hxx b/sw/source/ui/docvw/SidebarTxtControl.hxx
|
||||
index 37829b2..66e282f 100644
|
||||
--- a/sw/source/ui/docvw/SidebarTxtControl.hxx
|
||||
+++ b/sw/source/ui/docvw/SidebarTxtControl.hxx
|
||||
@@ -66,6 +66,8 @@ class SidebarTxtControl : public Control
|
||||
DECL_LINK( OnlineSpellCallback, SpellCallbackInfo*);
|
||||
|
||||
virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > CreateAccessible();
|
||||
+ virtual void Draw(OutputDevice* pDev, const Point&, const Size&, sal_uLong);
|
||||
+
|
||||
};
|
||||
|
||||
} } // end of namespace sw::sidebarwindows
|
||||
diff --git a/sw/source/ui/docvw/SidebarWin.cxx b/sw/source/ui/docvw/SidebarWin.cxx
|
||||
index 4cf128a..275b72e 100644
|
||||
--- a/sw/source/ui/docvw/SidebarWin.cxx
|
||||
+++ b/sw/source/ui/docvw/SidebarWin.cxx
|
||||
@@ -64,10 +64,12 @@
|
||||
#include <langhelper.hxx>
|
||||
|
||||
#include <sw_primitivetypes2d.hxx>
|
||||
+#include <drawinglayer/processor2d/baseprocessor2d.hxx>
|
||||
#include <drawinglayer/primitive2d/primitivetools2d.hxx>
|
||||
#include <drawinglayer/primitive2d/fillgradientprimitive2d.hxx>
|
||||
#include <drawinglayer/primitive2d/polypolygonprimitive2d.hxx>
|
||||
#include <drawinglayer/primitive2d/polygonprimitive2d.hxx>
|
||||
+#include <drawinglayer/processor2d/processorfromoutputdevice.hxx>
|
||||
#include <drawinglayer/primitive2d/shadowprimitive2d.hxx>
|
||||
|
||||
namespace sw { namespace sidebarwindows {
|
||||
@@ -212,6 +214,59 @@ void SwSidebarWin::Paint( const Rectangle& rRect)
|
||||
}
|
||||
}
|
||||
|
||||
+void SwSidebarWin::Draw(OutputDevice* pDev, const Point& rPt, const Size& rSz, sal_uLong nInFlags)
|
||||
+{
|
||||
+ if (mpMetadataAuthor->IsVisible() )
|
||||
+ {
|
||||
+ //draw left over space
|
||||
+ if ( Application::GetSettings().GetStyleSettings().GetHighContrastMode() )
|
||||
+ {
|
||||
+ pDev->SetFillColor(COL_BLACK);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ pDev->SetFillColor(mColorDark);
|
||||
+ }
|
||||
+ pDev->SetLineColor();
|
||||
+ pDev->DrawRect( Rectangle( rPt, rSz ) );
|
||||
+ }
|
||||
+
|
||||
+ if (mpMetadataAuthor->IsVisible())
|
||||
+ {
|
||||
+ Font aOrigFont(mpMetadataAuthor->GetControlFont());
|
||||
+ Size aSize(PixelToLogic(mpMetadataAuthor->GetSizePixel()));
|
||||
+ Point aPos(PixelToLogic(mpMetadataAuthor->GetPosPixel()));
|
||||
+ aPos += rPt;
|
||||
+ Font aFont( mpMetadataAuthor->GetSettings().GetStyleSettings().GetFieldFont() );
|
||||
+ mpMetadataAuthor->SetControlFont( aFont );
|
||||
+ mpMetadataAuthor->Draw(pDev, aPos, aSize, nInFlags);
|
||||
+ mpMetadataAuthor->SetControlFont( aOrigFont );
|
||||
+ }
|
||||
+
|
||||
+ if (mpMetadataDate->IsVisible())
|
||||
+ {
|
||||
+ Font aOrigFont(mpMetadataDate->GetControlFont());
|
||||
+ Size aSize(PixelToLogic(mpMetadataDate->GetSizePixel()));
|
||||
+ Point aPos(PixelToLogic(mpMetadataDate->GetPosPixel()));
|
||||
+ aPos += rPt;
|
||||
+ Font aFont( mpMetadataDate->GetSettings().GetStyleSettings().GetFieldFont() );
|
||||
+ mpMetadataDate->SetControlFont( aFont );
|
||||
+ mpMetadataDate->Draw(pDev, aPos, aSize, nInFlags);
|
||||
+ mpMetadataDate->SetControlFont( aOrigFont );
|
||||
+ }
|
||||
+
|
||||
+ mpSidebarTxtControl->Draw(pDev, rPt, rSz, nInFlags);
|
||||
+
|
||||
+ const drawinglayer::primitive2d::Primitive2DSequence& rSequence = mpAnchor->getOverlayObjectPrimitive2DSequence();
|
||||
+ const drawinglayer::geometry::ViewInformation2D aNewViewInfos;
|
||||
+ drawinglayer::processor2d::BaseProcessor2D * pProcessor =
|
||||
+ drawinglayer::processor2d::createBaseProcessor2DFromOutputDevice(
|
||||
+ *pDev, aNewViewInfos );
|
||||
+
|
||||
+ pProcessor->process(rSequence);
|
||||
+ delete pProcessor;
|
||||
+}
|
||||
+
|
||||
void SwSidebarWin::SetPosSizePixelRect( long nX,
|
||||
long nY,
|
||||
long nWidth,
|
||||
diff --git a/sw/source/ui/inc/optpage.hxx b/sw/source/ui/inc/optpage.hxx
|
||||
index 3e196e2..fa8f6b7 100644
|
||||
--- a/sw/source/ui/inc/optpage.hxx
|
||||
+++ b/sw/source/ui/inc/optpage.hxx
|
||||
@@ -104,6 +104,7 @@ class SwAddPrinterTabPage : public SfxTabPage
|
||||
RadioButton* m_pOnlyRB;
|
||||
RadioButton* m_pEndRB;
|
||||
RadioButton* m_pEndPageRB;
|
||||
+ RadioButton* m_pInMarginsRB;
|
||||
|
||||
CheckBox* m_pPrintEmptyPagesCB;
|
||||
CheckBox* m_pPaperFromSetupCB;
|
||||
diff --git a/sw/uiconfig/swriter/ui/printoptionspage.ui b/sw/uiconfig/swriter/ui/printoptionspage.ui
|
||||
index 0bf9afe..95e5ae2 100644
|
||||
--- a/sw/uiconfig/swriter/ui/printoptionspage.ui
|
||||
+++ b/sw/uiconfig/swriter/ui/printoptionspage.ui
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
+<!-- Generated with glade 3.16.1 -->
|
||||
<interface>
|
||||
- <!-- interface-requires gtk+ 3.0 -->
|
||||
+ <requires lib="gtk+" version="3.0"/>
|
||||
<object class="GtkBox" id="PrintOptionsPage">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
@@ -344,7 +345,7 @@
|
||||
<property name="use_underline">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
- <property name="group">none</property>
|
||||
+ <property name="group">inmargins</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
@@ -353,6 +354,24 @@
|
||||
<property name="height">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
+ <child>
|
||||
+ <object class="GtkRadioButton" id="inmargins">
|
||||
+ <property name="label" translatable="yes">In margins</property>
|
||||
+ <property name="visible">True</property>
|
||||
+ <property name="can_focus">True</property>
|
||||
+ <property name="receives_default">False</property>
|
||||
+ <property name="use_underline">True</property>
|
||||
+ <property name="xalign">0</property>
|
||||
+ <property name="draw_indicator">True</property>
|
||||
+ <property name="group">none</property>
|
||||
+ </object>
|
||||
+ <packing>
|
||||
+ <property name="left_attach">0</property>
|
||||
+ <property name="top_attach">4</property>
|
||||
+ <property name="width">1</property>
|
||||
+ <property name="height">1</property>
|
||||
+ </packing>
|
||||
+ </child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
--
|
||||
1.8.5.3
|
||||
|
@ -1,32 +0,0 @@
|
||||
From a7228e0bdbb06de56145d1edeacfe4ede1a7a7d4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Sat, 12 Apr 2014 13:35:20 +0100
|
||||
Subject: [PATCH] Resolves: fdo#37130 use 10pt Default style font for comments
|
||||
|
||||
instead of 10pt UI font
|
||||
|
||||
Change-Id: I92e2b415ff37f8baae67a00cc077e431b12b924c
|
||||
---
|
||||
sw/source/core/uibase/docvw/SidebarWin.cxx | 6 ------
|
||||
1 file changed, 6 deletions(-)
|
||||
|
||||
diff --git a/sw/source/core/uibase/docvw/SidebarWin.cxx b/sw/source/core/uibase/docvw/SidebarWin.cxx
|
||||
index fb78b3b..930b95b 100644
|
||||
--- a/sw/source/ui/docvw/SidebarWin.cxx
|
||||
+++ b/sw/source/ui/docvw/SidebarWin.cxx
|
||||
@@ -270,12 +270,6 @@ SfxItemSet SwSidebarWin::DefaultItem()
|
||||
{
|
||||
SfxItemSet aItem( mrView.GetDocShell()->GetPool() );
|
||||
aItem.Put(SvxFontHeightItem(200,100,EE_CHAR_FONTHEIGHT));
|
||||
- aItem.Put(SvxFontItem(FAMILY_SWISS,
|
||||
- GetSettings().GetStyleSettings().GetFieldFont().GetName(),
|
||||
- OUString(),
|
||||
- PITCH_DONTKNOW,
|
||||
- RTL_TEXTENCODING_DONTKNOW,
|
||||
- EE_CHAR_FONTINFO));
|
||||
return aItem;
|
||||
}
|
||||
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,119 +0,0 @@
|
||||
From 834c9363f67198e33880c2ee7bdd136b5558599d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Thu, 1 May 2014 17:10:21 +0100
|
||||
Subject: [PATCH] Resolves: fdo#78128 go back to using an interim metafile
|
||||
|
||||
this time we know that the other varient of "Move" doesn't
|
||||
handle pixel drawing stuff like the dpi-using one does.
|
||||
|
||||
and the move values have to be in 100TH_MM_MAP and
|
||||
with the true numbers of the write page size
|
||||
|
||||
Change-Id: I15fdb78797d8744702bec649024fedbf3e39b342
|
||||
---
|
||||
sw/source/core/view/vprint.cxx | 68 +++++++++++++++++++++++++++++-------------
|
||||
1 file changed, 48 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/sw/source/core/view/vprint.cxx b/sw/source/core/view/vprint.cxx
|
||||
index c9c7e42..6bc53e8 100644
|
||||
--- a/sw/source/core/view/vprint.cxx
|
||||
+++ b/sw/source/core/view/vprint.cxx
|
||||
@@ -455,6 +455,28 @@ sal_Bool SwViewShell::PrintOrPDFExport(
|
||||
// output device is now provided by a call from outside the Writer)
|
||||
pOutDev->Push();
|
||||
|
||||
+ // fdo#36815 for comments in margins print to a metafile
|
||||
+ // and then scale that metafile down so that the comments
|
||||
+ // will fit on the real page, and replay that scaled
|
||||
+ // output to the real outputdevice
|
||||
+ GDIMetaFile *pOrigRecorder(NULL);
|
||||
+ GDIMetaFile *pMetaFile(NULL);
|
||||
+ sal_Int16 nPostItMode = rPrintData.GetPrintPostIts();
|
||||
+ if (nPostItMode == POSTITS_INMARGINS)
|
||||
+ {
|
||||
+ //get and disable the existing recorder
|
||||
+ pOrigRecorder = pOutDev->GetConnectMetaFile();
|
||||
+ pOutDev->SetConnectMetaFile(NULL);
|
||||
+ // turn off output to the device
|
||||
+ pOutDev->EnableOutput(false);
|
||||
+ // just record the rendering commands to the metafile
|
||||
+ // instead
|
||||
+ pMetaFile = new GDIMetaFile;
|
||||
+ pMetaFile->SetPrefSize(pOutDev->GetOutputSize());
|
||||
+ pMetaFile->SetPrefMapMode(pOutDev->GetMapMode());
|
||||
+ pMetaFile->Record(pOutDev);
|
||||
+ }
|
||||
+
|
||||
// Print/PDF export for (multi-)selection has already generated a
|
||||
// temporary document with the selected text.
|
||||
// (see XRenderable implementation in unotxdoc.cxx)
|
||||
@@ -470,8 +492,6 @@ sal_Bool SwViewShell::PrintOrPDFExport(
|
||||
pDrawView->SetBufferedOverlayAllowed( false );
|
||||
}
|
||||
|
||||
- sal_Int16 nPostItMode = rPrintData.GetPrintPostIts();
|
||||
-
|
||||
{ // additional scope so that the CurrShell is reset before destroying the shell
|
||||
|
||||
SET_CURR_SHELL( pShell );
|
||||
@@ -519,6 +539,32 @@ sal_Bool SwViewShell::PrintOrPDFExport(
|
||||
pPostItManager->CalcRects();
|
||||
pPostItManager->LayoutPostIts();
|
||||
pPostItManager->DrawNotesForPage(pOutDev, nPage-1);
|
||||
+
|
||||
+ //Stop recording now
|
||||
+ pMetaFile->Stop();
|
||||
+ pMetaFile->WindStart();
|
||||
+ //Enable output to the device again
|
||||
+ pOutDev->EnableOutput(true);
|
||||
+ //Restore the original recorder
|
||||
+ pOutDev->SetConnectMetaFile(pOrigRecorder);
|
||||
+
|
||||
+ //Now scale the recorded page down so the notes
|
||||
+ //will fit in the final page
|
||||
+ double fScale = 0.75;
|
||||
+ long nOrigHeight = pStPage->Frm().Height();
|
||||
+ long nNewHeight = nOrigHeight*fScale;
|
||||
+ long nShiftY = (nOrigHeight-nNewHeight)/2;
|
||||
+ pMetaFile->Scale( fScale, fScale );
|
||||
+ pMetaFile->WindStart();
|
||||
+ //Move the scaled page down to center it
|
||||
+ //the other variant of Move does not map pixels
|
||||
+ //back to the logical units correctly
|
||||
+ pMetaFile->Move(0, TWIP_TO_MM100(nShiftY), pOutDev->ImplGetDPIX(), pOutDev->ImplGetDPIY());
|
||||
+ pMetaFile->WindStart();
|
||||
+
|
||||
+ //play back the scaled page
|
||||
+ pMetaFile->Play(pOutDev);
|
||||
+ delete pMetaFile;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -528,24 +574,6 @@ sal_Bool SwViewShell::PrintOrPDFExport(
|
||||
// output device is now provided by a call from outside the Writer)
|
||||
pOutDev->Pop();
|
||||
|
||||
- // fdo#36815 for comments in margins get the metafile we are printing to
|
||||
- // and then scale and vertically center that metafile down so that the
|
||||
- // comments will fit on the real page
|
||||
- GDIMetaFile *pRecorder = pOutDev->GetConnectMetaFile();
|
||||
- if (nPostItMode == POSTITS_INMARGINS && pRecorder)
|
||||
- {
|
||||
- pRecorder->Stop();
|
||||
- pRecorder->WindStart();
|
||||
- double fScale = 0.75;
|
||||
- long nOrigHeight = pOutDev->GetOutputSize().Height();
|
||||
- long nNewHeight = nOrigHeight*fScale;
|
||||
- long nShiftY = (nOrigHeight-nNewHeight)/2;
|
||||
- pRecorder->Scale(fScale, fScale);
|
||||
- pRecorder->WindStart();
|
||||
- pRecorder->Move(0, nShiftY, pOutDev->ImplGetDPIX(), pOutDev->ImplGetDPIY());
|
||||
- pRecorder->WindStart();
|
||||
- }
|
||||
-
|
||||
return sal_True;
|
||||
}
|
||||
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,198 +0,0 @@
|
||||
From cc9493e690c6dbe40a1da47a06acf7172a33ffa7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Mon, 24 Feb 2014 11:38:13 +0000
|
||||
Subject: [PATCH 1/2] Resolves: rhbz#1065807 use xdg ~/Templates for default
|
||||
Template location
|
||||
|
||||
(if it exists)
|
||||
|
||||
Change-Id: I98fc9fd54d1f56c8bed24ce4d2ebf53756ded2cc
|
||||
---
|
||||
framework/source/services/pathsettings.cxx | 6 ++++
|
||||
.../registry/data/org/openoffice/Office/Paths.xcu | 13 +++++++
|
||||
shell/source/backends/desktopbe/desktopbackend.cxx | 21 ++++++++---
|
||||
shell/source/backends/gconfbe/gconfaccess.cxx | 41 ++++++++++++++++------
|
||||
shell/source/backends/gconfbe/gconfaccess.hxx | 1 +
|
||||
5 files changed, 66 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/framework/source/services/pathsettings.cxx b/framework/source/services/pathsettings.cxx
|
||||
index 15fb3c0..bdb2949 100644
|
||||
--- a/framework/source/services/pathsettings.cxx
|
||||
+++ b/framework/source/services/pathsettings.cxx
|
||||
@@ -280,6 +280,12 @@ PathSettings::PathInfo PathSettings::impl_readNewFormat(const OUString& sPath)
|
||||
// read the writeable path
|
||||
xPath->getByName(CFGPROP_WRITEPATH) >>= aPathVal.sWritePath;
|
||||
|
||||
+ // avoid duplicates, by removing the writeable path from
|
||||
+ // the user defined path list if it happens to be there too
|
||||
+ OUStringList::iterator aI = aPathVal.lUserPaths.find(aPathVal.sWritePath);
|
||||
+ if (aI != aPathVal.lUserPaths.end())
|
||||
+ aPathVal.lUserPaths.erase(aI);
|
||||
+
|
||||
// read state props
|
||||
xPath->getByName(CFGPROP_ISSINGLEPATH) >>= aPathVal.bIsSinglePath;
|
||||
|
||||
diff --git a/officecfg/registry/data/org/openoffice/Office/Paths.xcu b/officecfg/registry/data/org/openoffice/Office/Paths.xcu
|
||||
index 05f8e0b..2a9eb5c 100644
|
||||
--- a/officecfg/registry/data/org/openoffice/Office/Paths.xcu
|
||||
+++ b/officecfg/registry/data/org/openoffice/Office/Paths.xcu
|
||||
@@ -161,8 +161,21 @@
|
||||
<node oor:name="$(insturl)/@LIBO_SHARE_FOLDER@/template/common" oor:op="fuse"/>
|
||||
<node oor:name="$(insturl)/@LIBO_SHARE_FOLDER@/template/$(vlang)" oor:op="fuse"/>
|
||||
</node>
|
||||
+ <!--
|
||||
+ On unix check of we have a ~/Templates and use that as the write path.
|
||||
+ On other platforms, or if ~/Templates doesn't exist, use the traditional
|
||||
+ $(userurl)/template path.
|
||||
+
|
||||
+ If we end up using the new ~/Templates as the write path, we then want
|
||||
+ to have $(userurl)/template in our userpath for any templates left behind
|
||||
+ in that dir.
|
||||
+ -->
|
||||
<prop oor:name="WritePath">
|
||||
<value>$(userurl)/template</value>
|
||||
+ <value install:module="unixdesktop" oor:external="com.sun.star.configuration.backend.DesktopBackend TemplatePathVariable"/>
|
||||
+ </prop>
|
||||
+ <prop oor:name="UserPaths">
|
||||
+ <value install:module="unixdesktop">$(userurl)/template</value>
|
||||
</prop>
|
||||
</node>
|
||||
<node oor:name="UIConfig" oor:op="fuse" oor:mandatory="true">
|
||||
diff --git a/shell/source/backends/desktopbe/desktopbackend.cxx b/shell/source/backends/desktopbe/desktopbackend.cxx
|
||||
index 3e8e8c1..52d8358 100644
|
||||
--- a/shell/source/backends/desktopbe/desktopbackend.cxx
|
||||
+++ b/shell/source/backends/desktopbe/desktopbackend.cxx
|
||||
@@ -154,11 +154,22 @@ css::uno::Any Default::getPropertyValue(OUString const & PropertyName)
|
||||
css::beans::UnknownPropertyException, css::lang::WrappedTargetException,
|
||||
css::uno::RuntimeException)
|
||||
{
|
||||
- if ( PropertyName == "EnableATToolSupport" || PropertyName == "ExternalMailer" || PropertyName == "SourceViewFontHeight"
|
||||
- || PropertyName == "SourceViewFontName" || PropertyName == "WorkPathVariable" || PropertyName == "ooInetFTPProxyName"
|
||||
- || PropertyName == "ooInetFTPProxyPort" || PropertyName == "ooInetHTTPProxyName" || PropertyName == "ooInetHTTPProxyPort"
|
||||
- || PropertyName == "ooInetHTTPSProxyName" || PropertyName == "ooInetHTTPSProxyPort" || PropertyName == "ooInetNoProxy"
|
||||
- || PropertyName == "ooInetProxyType" || PropertyName == "givenname" || PropertyName == "sn" )
|
||||
+ if ( PropertyName == "EnableATToolSupport" ||
|
||||
+ PropertyName == "ExternalMailer" ||
|
||||
+ PropertyName == "SourceViewFontHeight" ||
|
||||
+ PropertyName == "SourceViewFontName" ||
|
||||
+ PropertyName == "TemplatePathVariable" ||
|
||||
+ PropertyName == "WorkPathVariable" ||
|
||||
+ PropertyName == "ooInetFTPProxyName" ||
|
||||
+ PropertyName == "ooInetFTPProxyPort" ||
|
||||
+ PropertyName == "ooInetHTTPProxyName" ||
|
||||
+ PropertyName == "ooInetHTTPProxyPort" ||
|
||||
+ PropertyName == "ooInetHTTPSProxyName" ||
|
||||
+ PropertyName == "ooInetHTTPSProxyPort" ||
|
||||
+ PropertyName == "ooInetNoProxy" ||
|
||||
+ PropertyName == "ooInetProxyType" ||
|
||||
+ PropertyName == "givenname" ||
|
||||
+ PropertyName == "sn" )
|
||||
{
|
||||
return css::uno::makeAny(css::beans::Optional< css::uno::Any >());
|
||||
}
|
||||
diff --git a/shell/source/backends/gconfbe/gconfaccess.cxx b/shell/source/backends/gconfbe/gconfaccess.cxx
|
||||
index de8eb29..0d407d6 100644
|
||||
--- a/shell/source/backends/gconfbe/gconfaccess.cxx
|
||||
+++ b/shell/source/backends/gconfbe/gconfaccess.cxx
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <string.h>
|
||||
|
||||
#include "com/sun/star/uno/RuntimeException.hpp"
|
||||
+#include "com/sun/star/uno/Sequence.hxx"
|
||||
#include "osl/file.hxx"
|
||||
#include "osl/security.hxx"
|
||||
#include "osl/thread.h"
|
||||
@@ -189,15 +190,8 @@ static OUString xdg_user_dir_lookup (const char *type)
|
||||
if( osl::FileBase::E_None == aDocumentsDir.open() )
|
||||
return aDocumentsDirURL;
|
||||
}
|
||||
- /* Special case desktop for historical compatibility */
|
||||
- if (strcmp (type, "DESKTOP") == 0)
|
||||
- {
|
||||
- return aHomeDirURL + "/Desktop";
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- return aHomeDirURL + "/Documents";
|
||||
- }
|
||||
+ /* Use fallbacks historical compatibility if nothing else exists */
|
||||
+ return aHomeDirURL + "/" + OUString::createFromAscii(type);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@@ -317,11 +311,18 @@ uno::Any translateToOOo( const ConfigurationValue &rValue, GConfValue *pGconfVal
|
||||
|
||||
case SETTING_WORK_DIRECTORY:
|
||||
{
|
||||
- OUString aDocumentsDirURL = xdg_user_dir_lookup("DOCUMENTS");
|
||||
+ OUString aDocumentsDirURL = xdg_user_dir_lookup("Documents");
|
||||
|
||||
return uno::makeAny( aDocumentsDirURL );
|
||||
}
|
||||
|
||||
+ case SETTING_TEMPLATE_DIRECTORY:
|
||||
+ {
|
||||
+ OUString aTemplatesDirURL = xdg_user_dir_lookup("Templates");
|
||||
+
|
||||
+ return uno::makeAny( aTemplatesDirURL );
|
||||
+ }
|
||||
+
|
||||
case SETTING_USER_GIVENNAME:
|
||||
{
|
||||
OUString aCompleteName( OStringToOUString(
|
||||
@@ -392,7 +393,7 @@ sal_Bool SAL_CALL isDependencySatisfied( GConfClient* pClient, const Configurati
|
||||
|
||||
case SETTING_WORK_DIRECTORY:
|
||||
{
|
||||
- OUString aDocumentsDirURL = xdg_user_dir_lookup("DOCUMENTS");
|
||||
+ OUString aDocumentsDirURL = xdg_user_dir_lookup("Documents");
|
||||
osl::Directory aDocumentsDir( aDocumentsDirURL );
|
||||
|
||||
if( osl::FileBase::E_None == aDocumentsDir.open() )
|
||||
@@ -400,6 +401,16 @@ sal_Bool SAL_CALL isDependencySatisfied( GConfClient* pClient, const Configurati
|
||||
}
|
||||
break;
|
||||
|
||||
+ case SETTING_TEMPLATE_DIRECTORY:
|
||||
+ {
|
||||
+ OUString aTemplatesDirURL = xdg_user_dir_lookup("Templates");
|
||||
+ osl::Directory aTemplatesDir( aTemplatesDirURL );
|
||||
+
|
||||
+ if( osl::FileBase::E_None == aTemplatesDir.open() )
|
||||
+ return sal_True;
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
case SETTING_USER_GIVENNAME:
|
||||
{
|
||||
OUString aCompleteName( OStringToOUString(
|
||||
@@ -563,6 +574,14 @@ ConfigurationValue const ConfigurationValues[] =
|
||||
},
|
||||
|
||||
{
|
||||
+ SETTING_TEMPLATE_DIRECTORY,
|
||||
+ "/desktop/gnome/url-handlers/mailto/command", // dummy
|
||||
+ RTL_CONSTASCII_STRINGPARAM("TemplatePathVariable"),
|
||||
+ sal_True,
|
||||
+ SETTING_TEMPLATE_DIRECTORY, // so that the existence of the dir can be checked
|
||||
+ },
|
||||
+
|
||||
+ {
|
||||
SETTING_USER_GIVENNAME,
|
||||
"/desktop/gnome/url-handlers/mailto/command", // dummy
|
||||
RTL_CONSTASCII_STRINGPARAM("givenname"),
|
||||
diff --git a/shell/source/backends/gconfbe/gconfaccess.hxx b/shell/source/backends/gconfbe/gconfaccess.hxx
|
||||
index 7f0a52a..3fcd217 100644
|
||||
--- a/shell/source/backends/gconfbe/gconfaccess.hxx
|
||||
+++ b/shell/source/backends/gconfbe/gconfaccess.hxx
|
||||
@@ -47,6 +47,7 @@ enum ConfigurationSetting
|
||||
SETTING_ENABLE_ACCESSIBILITY,
|
||||
SETTING_MAILER_PROGRAM,
|
||||
SETTING_WORK_DIRECTORY,
|
||||
+ SETTING_TEMPLATE_DIRECTORY,
|
||||
SETTING_SOURCEVIEWFONT_NAME,
|
||||
SETTING_SOURCEVIEWFONT_HEIGHT,
|
||||
SETTING_USER_GIVENNAME,
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,83 +0,0 @@
|
||||
From 903652fafacf5268aeac4a702d52de44a8388652 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Fri, 11 Apr 2014 14:45:39 +0100
|
||||
Subject: [PATCH] Resolves: rhbz#1081176: don't jump to cursor pos when...
|
||||
|
||||
launching a new window view of a document. This was happening because of
|
||||
(temporary) activation of the modified flag (from updating the document stats
|
||||
in the bottom bar) triggering a scrolll to the current cursor position of the
|
||||
old document
|
||||
|
||||
Change-Id: I6e1a3c07b66ff6373345850d1449f17c1f0baa17
|
||||
(cherry picked from commit e12184393f0591b5c5d9218062cc0a4bced6d4e6)
|
||||
---
|
||||
sw/source/core/doc/doc.cxx | 39 ++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 38 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sw/source/core/doc/doc.cxx b/sw/source/core/doc/doc.cxx
|
||||
index 6382d74..047b8b3 100644
|
||||
--- a/sw/source/core/doc/doc.cxx
|
||||
+++ b/sw/source/core/doc/doc.cxx
|
||||
@@ -1650,6 +1650,40 @@ void SwDoc::CalculatePagePairsForProspectPrinting(
|
||||
// thus we are done here.
|
||||
}
|
||||
|
||||
+namespace
|
||||
+{
|
||||
+ class LockAllViews
|
||||
+ {
|
||||
+ std::vector<SwViewShell*> m_aViewWasUnLocked;
|
||||
+ SwViewShell* m_pViewShell;
|
||||
+ public:
|
||||
+ LockAllViews(SwViewShell *pViewShell)
|
||||
+ : m_pViewShell(pViewShell)
|
||||
+ {
|
||||
+ if (!m_pViewShell)
|
||||
+ return;
|
||||
+ SwViewShell *pSh = m_pViewShell;
|
||||
+ do
|
||||
+ {
|
||||
+ if (!pSh->IsViewLocked())
|
||||
+ {
|
||||
+ m_aViewWasUnLocked.push_back(pSh);
|
||||
+ pSh->LockView(true);
|
||||
+ }
|
||||
+ pSh = (SwViewShell*)pSh->GetNext();
|
||||
+ } while (pSh != m_pViewShell);
|
||||
+ }
|
||||
+ ~LockAllViews()
|
||||
+ {
|
||||
+ for (std::vector<SwViewShell*>::iterator aI = m_aViewWasUnLocked.begin(); aI != m_aViewWasUnLocked.end(); ++aI)
|
||||
+ {
|
||||
+ SwViewShell *pSh = *aI;
|
||||
+ pSh->LockView(false);
|
||||
+ }
|
||||
+ }
|
||||
+ };
|
||||
+}
|
||||
+
|
||||
// returns true while there is more to do
|
||||
bool SwDoc::IncrementalDocStatCalculate(long nChars, bool bFields)
|
||||
{
|
||||
@@ -1720,7 +1754,7 @@ bool SwDoc::IncrementalDocStatCalculate(long nChars, bool bFields)
|
||||
aStat[n++].Value <<= (sal_Int32)mpDocStat->nCharExcludingSpaces;
|
||||
|
||||
// For e.g. autotext documents there is no pSwgInfo (#i79945)
|
||||
- SfxObjectShell * const pObjShell( GetDocShell() );
|
||||
+ SwDocShell* pObjShell(GetDocShell());
|
||||
if (pObjShell)
|
||||
{
|
||||
const uno::Reference<document::XDocumentPropertiesSupplier> xDPS(
|
||||
@@ -1730,6 +1764,9 @@ bool SwDoc::IncrementalDocStatCalculate(long nChars, bool bFields)
|
||||
// #i96786#: do not set modified flag when updating statistics
|
||||
const bool bDocWasModified( IsModified() );
|
||||
const ModifyBlocker_Impl b(pObjShell);
|
||||
+ // rhbz#1081176: don't jump to cursor pos because of (temporary)
|
||||
+ // activation of modified flag triggering move to input position
|
||||
+ LockAllViews aViewGuard((SwViewShell*)pObjShell->GetWrtShell());
|
||||
xDocProps->setDocumentStatistics(aStat);
|
||||
if (!bDocWasModified)
|
||||
{
|
||||
--
|
||||
1.8.5.3
|
||||
|
@ -1,79 +0,0 @@
|
||||
From 3ea40dc0c3be272fc700a439a99d802ed4542795 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Thu, 17 Apr 2014 11:56:17 +0100
|
||||
Subject: [PATCH] Resolves: rhbz#1086714 overlarge pixmap
|
||||
|
||||
(cherry picked from commit f31ac2405bbd0755fb14daa6cb84d7bb7d84c492)
|
||||
|
||||
Conflicts:
|
||||
canvas/source/cairo/cairo_xlib_cairo.cxx
|
||||
vcl/unx/x11/xlimits.cxx
|
||||
|
||||
Change-Id: I015308406a43e6b039059a5e35316d59745d0a48
|
||||
---
|
||||
canvas/source/cairo/cairo_canvasbitmap.cxx | 2 +-
|
||||
canvas/source/cairo/cairo_xlib_cairo.cxx | 9 +++++----
|
||||
vcl/unx/x11/xlimits.cxx | 13 ++++++-------
|
||||
3 files changed, 12 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/canvas/source/cairo/cairo_canvasbitmap.cxx b/canvas/source/cairo/cairo_canvasbitmap.cxx
|
||||
index 277c133..d243596 100644
|
||||
--- a/canvas/source/cairo/cairo_canvasbitmap.cxx
|
||||
+++ b/canvas/source/cairo/cairo_canvasbitmap.cxx
|
||||
@@ -158,7 +158,7 @@ namespace cairocanvas
|
||||
pPixels = cairo_image_surface_create( CAIRO_FORMAT_ARGB32,
|
||||
aSize.Width(), aSize.Height() );
|
||||
cairo_t *pCairo = cairo_create( pPixels );
|
||||
- if( !pPixels || !pCairo )
|
||||
+ if( !pPixels || !pCairo || cairo_status(pCairo) != CAIRO_STATUS_SUCCESS )
|
||||
break;
|
||||
|
||||
// suck ourselves from the X server to this buffer so then we can fiddle with
|
||||
diff --git a/canvas/source/cairo/cairo_xlib_cairo.cxx b/canvas/source/cairo/cairo_xlib_cairo.cxx
|
||||
index bae6943..e5bb189 100644
|
||||
--- a/canvas/source/cairo/cairo_xlib_cairo.cxx
|
||||
+++ b/canvas/source/cairo/cairo_xlib_cairo.cxx
|
||||
@@ -36,11 +36,12 @@ namespace
|
||||
Pixmap limitXCreatePixmap(Display *display, Drawable d, unsigned int width, unsigned int height, unsigned int depth)
|
||||
{
|
||||
// The X protocol request CreatePixmap puts an upper bound
|
||||
- // of 16 bit to the size.
|
||||
- //
|
||||
- // see, e.g. moz#424333, fdo#48961
|
||||
+ // of 16 bit to the size. And in practice some drivers
|
||||
+ // fall over with values close to the max.
|
||||
+
|
||||
+ // see, e.g. moz#424333, fdo#48961, rhbz#1086714
|
||||
// we've a duplicate of this in vcl :-(
|
||||
- if (width > SAL_MAX_INT16 || height > SAL_MAX_INT16)
|
||||
+ if (width > SAL_MAX_INT16-10 || height > SAL_MAX_INT16-10)
|
||||
{
|
||||
SAL_WARN("canvas", "overlarge pixmap: " << width << " x " << height);
|
||||
return None;
|
||||
diff --git a/vcl/unx/x11/xlimits.cxx b/vcl/unx/x11/xlimits.cxx
|
||||
index 71b9983..b8509cb 100644
|
||||
--- a/vcl/unx/x11/xlimits.cxx
|
||||
+++ b/vcl/unx/x11/xlimits.cxx
|
||||
@@ -13,13 +13,12 @@
|
||||
Pixmap limitXCreatePixmap(Display *display, Drawable d, unsigned int width, unsigned int height, unsigned int depth)
|
||||
{
|
||||
// The X protocol request CreatePixmap puts an upper bound
|
||||
- // of 16 bit to the size. Beyond that there may be implementation
|
||||
- // limits of the Xserver; which we should catch by a failed XCreatePixmap
|
||||
- // call. However extra large values should be caught here since we'd run into
|
||||
- // 16 bit truncation here without noticing.
|
||||
- //
|
||||
- // see, e.g. moz#424333
|
||||
- if (width > SAL_MAX_INT16 || height > SAL_MAX_INT16)
|
||||
+ // of 16 bit to the size. And in practice some drivers
|
||||
+ // fall over with values close to the max.
|
||||
+
|
||||
+ // see, e.g. moz#424333, fdo#48961, rhbz#1086714
|
||||
+ // we've a duplicate of this in canvas :-(
|
||||
+ if (width > SAL_MAX_INT16-10 || height > SAL_MAX_INT16-10)
|
||||
{
|
||||
SAL_WARN("vcl", "overlarge pixmap: " << width << " x " << height);
|
||||
return None;
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,118 +0,0 @@
|
||||
From 195e3a757e98c58ee9e0dd428cd3dbce58ed99b7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Tue, 22 Apr 2014 17:23:26 +0100
|
||||
Subject: [PATCH] Resolves: rhbz#1089377 crash on loading a specific rtf
|
||||
|
||||
(cherry picked from commit 5aeaba2e6592dab0404301dcef644144f82ffcbf)
|
||||
|
||||
Change-Id: I26864f3a2247f5d7184f395cfed91eaf92e36295
|
||||
---
|
||||
writerfilter/source/dmapper/NumberingManager.cxx | 5 ++-
|
||||
writerfilter/source/rtftok/rtfsdrimport.cxx | 48 ++++++++++++++++++------
|
||||
2 files changed, 40 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/writerfilter/source/dmapper/NumberingManager.cxx b/writerfilter/source/dmapper/NumberingManager.cxx
|
||||
index 7a1787c..6038df6 100644
|
||||
--- a/writerfilter/source/dmapper/NumberingManager.cxx
|
||||
+++ b/writerfilter/source/dmapper/NumberingManager.cxx
|
||||
@@ -531,6 +531,9 @@ OUString ListDef::GetStyleName( sal_Int32 nId )
|
||||
|
||||
uno::Sequence< uno::Sequence< beans::PropertyValue > > ListDef::GetPropertyValues( )
|
||||
{
|
||||
+ if (!m_pAbstractDef)
|
||||
+ return uno::Sequence< uno::Sequence< beans::PropertyValue > >();
|
||||
+
|
||||
// [1] Call the same method on the abstract list
|
||||
uno::Sequence< uno::Sequence< beans::PropertyValue > > aAbstract = m_pAbstractDef->GetPropertyValues( );
|
||||
|
||||
@@ -603,7 +606,7 @@ void ListDef::CreateNumberingRules( DomainMapper& rDMapper,
|
||||
|
||||
uno::Sequence< uno::Sequence< beans::PropertyValue > > aProps = GetPropertyValues( );
|
||||
|
||||
- sal_Int32 nAbstLevels = m_pAbstractDef->Size( );
|
||||
+ sal_Int32 nAbstLevels = m_pAbstractDef ? m_pAbstractDef->Size() : 0;
|
||||
sal_Int16 nLevel = 0;
|
||||
while ( nLevel < nAbstLevels )
|
||||
{
|
||||
diff --git a/writerfilter/source/rtftok/rtfsdrimport.cxx b/writerfilter/source/rtftok/rtfsdrimport.cxx
|
||||
index fa147d7..7788414 100644
|
||||
--- a/writerfilter/source/rtftok/rtfsdrimport.cxx
|
||||
+++ b/writerfilter/source/rtftok/rtfsdrimport.cxx
|
||||
@@ -194,16 +194,16 @@ void RTFSdrImport::applyProperty(uno::Reference<drawing::XShape> xShape, OUStrin
|
||||
xPropertySet->setPropertyValue("RotateAngle", uno::makeAny(sal_Int32(NormAngle360(nRotation * -1))));
|
||||
}
|
||||
|
||||
- if (nHoriOrient != 0)
|
||||
+ if (nHoriOrient != 0 && xPropertySet.is())
|
||||
xPropertySet->setPropertyValue("HoriOrient", uno::makeAny(nHoriOrient));
|
||||
- if (nVertOrient != 0)
|
||||
+ if (nVertOrient != 0 && xPropertySet.is())
|
||||
xPropertySet->setPropertyValue("VertOrient", uno::makeAny(nVertOrient));
|
||||
- if (obFitShapeToText)
|
||||
+ if (obFitShapeToText && xPropertySet.is())
|
||||
{
|
||||
xPropertySet->setPropertyValue("SizeType", uno::makeAny(*obFitShapeToText ? text::SizeType::MIN : text::SizeType::FIX));
|
||||
xPropertySet->setPropertyValue("FrameIsAutomaticHeight", uno::makeAny(*obFitShapeToText));
|
||||
}
|
||||
- if (!bFilled)
|
||||
+ if (!bFilled && xPropertySet.is())
|
||||
{
|
||||
if (m_bTextFrame)
|
||||
xPropertySet->setPropertyValue("BackColorTransparency", uno::makeAny(sal_Int32(100)));
|
||||
@@ -459,21 +459,45 @@ void RTFSdrImport::resolve(RTFShape& rShape, bool bClose)
|
||||
}
|
||||
// These are in EMU, convert to mm100.
|
||||
else if (i->first == "dxTextLeft")
|
||||
- xPropertySet->setPropertyValue("LeftBorderDistance", uno::makeAny(i->second.toInt32() / 360));
|
||||
+ {
|
||||
+ if (xPropertySet.is())
|
||||
+ xPropertySet->setPropertyValue("LeftBorderDistance", uno::makeAny(i->second.toInt32() / 360));
|
||||
+ }
|
||||
else if (i->first == "dyTextTop")
|
||||
- xPropertySet->setPropertyValue("TopBorderDistance", uno::makeAny(i->second.toInt32() / 360));
|
||||
+ {
|
||||
+ if (xPropertySet.is())
|
||||
+ xPropertySet->setPropertyValue("TopBorderDistance", uno::makeAny(i->second.toInt32() / 360));
|
||||
+ }
|
||||
else if (i->first == "dxTextRight")
|
||||
- xPropertySet->setPropertyValue("RightBorderDistance", uno::makeAny(i->second.toInt32() / 360));
|
||||
+ {
|
||||
+ if (xPropertySet.is())
|
||||
+ xPropertySet->setPropertyValue("RightBorderDistance", uno::makeAny(i->second.toInt32() / 360));
|
||||
+ }
|
||||
else if (i->first == "dyTextBottom")
|
||||
- xPropertySet->setPropertyValue("BottomBorderDistance", uno::makeAny(i->second.toInt32() / 360));
|
||||
+ {
|
||||
+ if (xPropertySet.is())
|
||||
+ xPropertySet->setPropertyValue("BottomBorderDistance", uno::makeAny(i->second.toInt32() / 360));
|
||||
+ }
|
||||
else if (i->first == "dxWrapDistLeft")
|
||||
- xPropertySet->setPropertyValue("LeftMargin", uno::makeAny(i->second.toInt32() / 360));
|
||||
+ {
|
||||
+ if (xPropertySet.is())
|
||||
+ xPropertySet->setPropertyValue("LeftMargin", uno::makeAny(i->second.toInt32() / 360));
|
||||
+ }
|
||||
else if (i->first == "dyWrapDistTop")
|
||||
- xPropertySet->setPropertyValue("TopMargin", uno::makeAny(i->second.toInt32() / 360));
|
||||
+ {
|
||||
+ if (xPropertySet.is())
|
||||
+ xPropertySet->setPropertyValue("TopMargin", uno::makeAny(i->second.toInt32() / 360));
|
||||
+ }
|
||||
else if (i->first == "dxWrapDistRight")
|
||||
- xPropertySet->setPropertyValue("RightMargin", uno::makeAny(i->second.toInt32() / 360));
|
||||
+ {
|
||||
+ if (xPropertySet.is())
|
||||
+ xPropertySet->setPropertyValue("RightMargin", uno::makeAny(i->second.toInt32() / 360));
|
||||
+ }
|
||||
else if (i->first == "dyWrapDistBottom")
|
||||
- xPropertySet->setPropertyValue("BottomMargin", uno::makeAny(i->second.toInt32() / 360));
|
||||
+ {
|
||||
+ if (xPropertySet.is())
|
||||
+ xPropertySet->setPropertyValue("BottomMargin", uno::makeAny(i->second.toInt32() / 360));
|
||||
+ }
|
||||
else if (i->first == "fillType")
|
||||
{
|
||||
switch (i->second.toInt32())
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,45 +0,0 @@
|
||||
From e419b05d3ec7a4758c14e5653f11a23be4d162ff Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Thu, 8 May 2014 13:10:46 +0200
|
||||
Subject: [PATCH] Resolves: rhbz#1092589 Thoroughly check whether JRE is still
|
||||
present
|
||||
|
||||
...not only on Mac OS X. Was able to reproduce this on Fedora 20 where current
|
||||
JRE was /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.5.x86_64 but for whatever reason
|
||||
there was also a left-behind /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.0.x86_64 tree
|
||||
(containing just a handful of sub-dirs, but no real content) that was still
|
||||
recorded in my ~/.config/libreoffice/4/user/config/javasettings_Linux_X86_64.xml
|
||||
|
||||
Change-Id: Ie477c5a506a430f6c29525f6c558dbc18bbf1c48
|
||||
(cherry picked from commit f5ed2f4e926016d23617355c94dd2292b40e6986)
|
||||
---
|
||||
jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
|
||||
index a3449c3..d3650f9 100644
|
||||
--- a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
|
||||
+++ b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
|
||||
@@ -765,10 +765,10 @@ javaPluginError jfw_plugin_existJRE(const JavaInfo *pInfo, sal_Bool *exist)
|
||||
{
|
||||
ret = JFW_PLUGIN_E_ERROR;
|
||||
}
|
||||
-#ifdef MACOSX
|
||||
//We can have the situation that the JavaVM runtime library is not
|
||||
//contained within JAVA_HOME. Then the check for JAVA_HOME would return
|
||||
//true although the runtime library may not be loadable.
|
||||
+ //Or the JAVA_HOME directory of a deinstalled JRE left behind.
|
||||
if (ret == JFW_PLUGIN_E_NONE && *exist == sal_True)
|
||||
{
|
||||
OUString sRuntimeLib = getRuntimeLib(pInfo->arVendorData);
|
||||
@@ -796,7 +796,6 @@ javaPluginError jfw_plugin_existJRE(const JavaInfo *pInfo, sal_Bool *exist)
|
||||
+ sRuntimeLib + " \n");
|
||||
}
|
||||
}
|
||||
-#endif
|
||||
return ret;
|
||||
}
|
||||
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,102 +0,0 @@
|
||||
From fd4b20efbb734f5a82c636ded2ec65dcb46c5129 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Mon, 12 May 2014 14:06:37 +0100
|
||||
Subject: [PATCH] Resolves: rhbz#1096295 hard to distinguish selected from
|
||||
mouseover
|
||||
|
||||
Change-Id: Id6c11afd161bea15266a54a595bf7ee305e954f0
|
||||
---
|
||||
.../ui/slidesorter/inc/view/SlsPageObjectPainter.hxx | 1 +
|
||||
sd/source/ui/slidesorter/inc/view/SlsTheme.hxx | 1 +
|
||||
sd/source/ui/slidesorter/view/SlsPageObjectPainter.cxx | 15 ++++++++-------
|
||||
sd/source/ui/slidesorter/view/SlsTheme.cxx | 9 +++++----
|
||||
4 files changed, 15 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/sd/source/ui/slidesorter/inc/view/SlsPageObjectPainter.hxx b/sd/source/ui/slidesorter/inc/view/SlsPageObjectPainter.hxx
|
||||
index ec698d0..7d417da 100644
|
||||
--- a/sd/source/ui/slidesorter/inc/view/SlsPageObjectPainter.hxx
|
||||
+++ b/sd/source/ui/slidesorter/inc/view/SlsPageObjectPainter.hxx
|
||||
@@ -85,6 +85,7 @@ private:
|
||||
Bitmap maFocusedBackground;
|
||||
Bitmap maMouseOverBackground;
|
||||
Bitmap maMouseOverFocusedBackground;
|
||||
+ Bitmap maMouseOverSelectedBackground;
|
||||
Bitmap maMouseOverSelectedAndFocusedBackground;
|
||||
Size maSize;
|
||||
|
||||
diff --git a/sd/source/ui/slidesorter/inc/view/SlsTheme.hxx b/sd/source/ui/slidesorter/inc/view/SlsTheme.hxx
|
||||
index 5a69142..55188af 100644
|
||||
--- a/sd/source/ui/slidesorter/inc/view/SlsTheme.hxx
|
||||
+++ b/sd/source/ui/slidesorter/inc/view/SlsTheme.hxx
|
||||
@@ -82,6 +82,7 @@ public:
|
||||
Gradient_SelectedPage,
|
||||
Gradient_SelectedAndFocusedPage,
|
||||
Gradient_MouseOverPage,
|
||||
+ Gradient_MouseOverSelected,
|
||||
Gradient_MouseOverSelectedAndFocusedPage,
|
||||
Gradient_FocusedPage,
|
||||
_GradientColorType_Size_
|
||||
diff --git a/sd/source/ui/slidesorter/view/SlsPageObjectPainter.cxx b/sd/source/ui/slidesorter/view/SlsPageObjectPainter.cxx
|
||||
index 60c51fa..736c6dc 100644
|
||||
--- a/sd/source/ui/slidesorter/view/SlsPageObjectPainter.cxx
|
||||
+++ b/sd/source/ui/slidesorter/view/SlsPageObjectPainter.cxx
|
||||
@@ -53,13 +53,7 @@ PageObjectPainter::PageObjectPainter (
|
||||
mpTheme(rSlideSorter.GetTheme()),
|
||||
mpPageNumberFont(Theme::GetFont(Theme::Font_PageNumber, *rSlideSorter.GetContentWindow())),
|
||||
mpShadowPainter(new FramePainter(mpTheme->GetIcon(Theme::Icon_RawShadow))),
|
||||
- mpFocusBorderPainter(new FramePainter(mpTheme->GetIcon(Theme::Icon_FocusBorder))),
|
||||
- maNormalBackground(),
|
||||
- maSelectionBackground(),
|
||||
- maFocusedSelectionBackground(),
|
||||
- maMouseOverBackground(),
|
||||
- maMouseOverFocusedBackground(),
|
||||
- maSize()
|
||||
+ mpFocusBorderPainter(new FramePainter(mpTheme->GetIcon(Theme::Icon_FocusBorder)))
|
||||
{
|
||||
// Replace the color (not the alpha values) in the focus border with a
|
||||
// color derived from the current selection color.
|
||||
@@ -148,6 +142,7 @@ void PageObjectPainter::InvalidateBitmaps (void)
|
||||
maFocusedSelectionBackground.SetEmpty();
|
||||
maFocusedBackground.SetEmpty();
|
||||
maMouseOverBackground.SetEmpty();
|
||||
+ maMouseOverSelectedBackground.SetEmpty();
|
||||
maMouseOverFocusedBackground.SetEmpty();
|
||||
maMouseOverSelectedAndFocusedBackground.SetEmpty();
|
||||
}
|
||||
@@ -399,6 +394,12 @@ Bitmap& PageObjectPainter::GetBackgroundForState (
|
||||
true);
|
||||
|
||||
case MouseOver | Selected:
|
||||
+ return GetBackground(
|
||||
+ maMouseOverSelectedBackground,
|
||||
+ Theme::Gradient_MouseOverSelected,
|
||||
+ rReferenceDevice,
|
||||
+ false);
|
||||
+
|
||||
case MouseOver:
|
||||
return GetBackground(
|
||||
maMouseOverBackground,
|
||||
diff --git a/sd/source/ui/slidesorter/view/SlsTheme.cxx b/sd/source/ui/slidesorter/view/SlsTheme.cxx
|
||||
index c38951c..3ac38cc 100644
|
||||
--- a/sd/source/ui/slidesorter/view/SlsTheme.cxx
|
||||
+++ b/sd/source/ui/slidesorter/view/SlsTheme.cxx
|
||||
@@ -110,11 +110,12 @@ void Theme::Update (const ::boost::shared_ptr<controller::Properties>& rpPropert
|
||||
maColor[Color_PageCountFontColor] = White;
|
||||
|
||||
// Set up gradients.
|
||||
- SetGradient(Gradient_SelectedPage, aSelectionColor, 50, 50, +100,+100, +50,+25);
|
||||
- SetGradient(Gradient_MouseOverPage, aSelectionColor, 75, 75, +100,+100, +50,+25);
|
||||
- SetGradient(Gradient_SelectedAndFocusedPage, aSelectionColor, 50, 50, +100,+100, -50,-75);
|
||||
- SetGradient(Gradient_MouseOverSelectedAndFocusedPage, aSelectionColor, 75, 75, +100,+100, -50,-75);
|
||||
+ SetGradient(Gradient_MouseOverPage, aSelectionColor, 0, 60, +80,+100, +50,+25);
|
||||
+ SetGradient(Gradient_SelectedPage, aSelectionColor, 50, 50, +80,+100, +50,+25);
|
||||
SetGradient(Gradient_FocusedPage, aSelectionColor, -1,-1, 0,0, -50,-75);
|
||||
+ SetGradient(Gradient_MouseOverSelected, aSelectionColor, 55, 60, +80,+100, +50,+25);
|
||||
+ SetGradient(Gradient_SelectedAndFocusedPage, aSelectionColor, 50, 50, +80,+100, -50,-75);
|
||||
+ SetGradient(Gradient_MouseOverSelectedAndFocusedPage, aSelectionColor, 55, 60, +80,+100, -50,-75);
|
||||
|
||||
SetGradient(Gradient_NormalPage, maBackgroundColor, -1,-1, 0,0, 0,0);
|
||||
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,74 +0,0 @@
|
||||
From caa42a739923aa35734b6a840de7c1b8f039e9a0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Wed, 8 Jan 2014 11:22:25 +0000
|
||||
Subject: [PATCH] Resolves: rhbz#1096486 avoid access to nonexisting parent
|
||||
dialog
|
||||
|
||||
was Related: rhbz#1047174
|
||||
|
||||
(cherry picked from commit 794f5af121906668870a58700aed25b660381240)
|
||||
|
||||
Change-Id: I0bf9116d088adde838993ac5e909a6f3481f883e
|
||||
---
|
||||
svx/source/dialog/graphctl.cxx | 19 +++++++++----------
|
||||
1 file changed, 9 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/svx/source/dialog/graphctl.cxx b/svx/source/dialog/graphctl.cxx
|
||||
index 4fc18b7..d70bb3d 100644
|
||||
--- a/svx/source/dialog/graphctl.cxx
|
||||
+++ b/svx/source/dialog/graphctl.cxx
|
||||
@@ -309,6 +309,8 @@ void GraphCtrl::KeyInput( const KeyEvent& rKEvt )
|
||||
KeyCode aCode( rKEvt.GetKeyCode() );
|
||||
bool bProc = false;
|
||||
|
||||
+ Dialog* pDialog = GetParentDialog();
|
||||
+
|
||||
switch ( aCode.GetCode() )
|
||||
{
|
||||
case KEY_DELETE:
|
||||
@@ -318,8 +320,8 @@ void GraphCtrl::KeyInput( const KeyEvent& rKEvt )
|
||||
{
|
||||
pView->DeleteMarked();
|
||||
bProc = true;
|
||||
- if( !pView->AreObjectsMarked() )
|
||||
- GetParentDialog()->GrabFocusToFirstControl();
|
||||
+ if (!pView->AreObjectsMarked() && pDialog)
|
||||
+ pDialog->GrabFocusToFirstControl();
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -328,9 +330,11 @@ void GraphCtrl::KeyInput( const KeyEvent& rKEvt )
|
||||
{
|
||||
if ( bSdrMode )
|
||||
{
|
||||
+ bool bGrabFocusToFirstControl = true;
|
||||
if ( pView->IsAction() )
|
||||
{
|
||||
pView->BrkAction();
|
||||
+ bGrabFocusToFirstControl = false;
|
||||
}
|
||||
else if ( pView->AreObjectsMarked() )
|
||||
{
|
||||
@@ -340,16 +344,11 @@ void GraphCtrl::KeyInput( const KeyEvent& rKEvt )
|
||||
if(pHdl)
|
||||
{
|
||||
((SdrHdlList&)rHdlList).ResetFocusHdl();
|
||||
+ bGrabFocusToFirstControl = false;
|
||||
}
|
||||
- else
|
||||
- {
|
||||
- GetParentDialog()->GrabFocusToFirstControl();
|
||||
- }
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- GetParentDialog()->GrabFocusToFirstControl();
|
||||
}
|
||||
+ if (bGrabFocusToFirstControl && pDialog)
|
||||
+ pDialog->GrabFocusToFirstControl();
|
||||
bProc = true;
|
||||
}
|
||||
}
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,47 +0,0 @@
|
||||
From 1ded21bfb99951ca947bd11a7442398668202ca6 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Wed, 4 Dec 2013 15:04:04 +0000
|
||||
Subject: [PATCH] Resolves: rhbz#912529 Kerkis SmallCaps shown instead of
|
||||
Kerkis Regular
|
||||
|
||||
we encounter both fonts, but all their properties that we compare
|
||||
are the same, so we think they are two versions of the same font
|
||||
and throw away the "Regular" version.
|
||||
|
||||
Change-Id: I24369f10c7a0edba1faa02621bb78616e880966e
|
||||
---
|
||||
vcl/source/gdi/outdev3.cxx | 11 +++++++++--
|
||||
1 file changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx
|
||||
index c27cd93..f3f5a77 100644
|
||||
--- a/vcl/source/gdi/outdev3.cxx
|
||||
+++ b/vcl/source/gdi/outdev3.cxx
|
||||
@@ -665,7 +665,7 @@ PhysicalFontFace::PhysicalFontFace( const ImplDevFontAttributes& rDFA, int nMagi
|
||||
|
||||
sal_Int32 PhysicalFontFace::CompareIgnoreSize( const PhysicalFontFace& rOther ) const
|
||||
{
|
||||
- // compare their width, weight, italic and style name
|
||||
+ // compare their width, weight, italic, style name and family name
|
||||
if( GetWidthType() < rOther.GetWidthType() )
|
||||
return -1;
|
||||
else if( GetWidthType() > rOther.GetWidthType() )
|
||||
@@ -681,7 +681,14 @@ sal_Int32 PhysicalFontFace::CompareIgnoreSize( const PhysicalFontFace& rOther )
|
||||
else if( GetSlant() > rOther.GetSlant() )
|
||||
return 1;
|
||||
|
||||
- return GetFamilyName().compareTo( rOther.GetFamilyName() );
|
||||
+ sal_Int32 nRet = GetFamilyName().compareTo( rOther.GetFamilyName() );
|
||||
+
|
||||
+ if (nRet == 0)
|
||||
+ {
|
||||
+ nRet = GetStyleName().compareTo( rOther.GetStyleName() );
|
||||
+ }
|
||||
+
|
||||
+ return nRet;
|
||||
}
|
||||
|
||||
sal_Int32 PhysicalFontFace::CompareWithSize( const PhysicalFontFace& rOther ) const
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -1,73 +0,0 @@
|
||||
From 633003965a4be0c535b43cc3072c5c4a95109d34 Mon Sep 17 00:00:00 2001
|
||||
From: Tor Lillqvist <tml@collabora.com>
|
||||
Date: Fri, 16 May 2014 16:43:25 +0300
|
||||
Subject: [PATCH] Use SVM (metafile) instead of PNG for diagrams (SmartArt)
|
||||
|
||||
It seemed a bit pointless to waste CPU cycles on PNG-compressing a
|
||||
bitmap image only to later then uncompress it anyway. vcl's PNG
|
||||
writing code showed up as 13% on the time profile of TiledLibreOffice
|
||||
when displaying a document full of SmartArts.
|
||||
|
||||
Miklos suggested I try using SVM (which I guess means "StarView
|
||||
Metafile") instead. When using SVM, no rendering of diagrams to
|
||||
bitmaps during loading is done, but the diagram stays stored in a
|
||||
resolution-independent (vector-ish) form. Which means it will be
|
||||
rendered nicely and crisply regardless of the zoom level.
|
||||
|
||||
At least, that is my understanding, and experimentation (on OS X and Linux)
|
||||
seems to confirm.
|
||||
|
||||
ce8c0ff07559ddcc729bffd7a68f4c6f281882e3
|
||||
|
||||
Change-Id: Ice8c0ff07559ddcc729bffd7a68f4c6f281882e3
|
||||
---
|
||||
oox/source/drawingml/shape.cxx | 26 ++++++++++----------------
|
||||
1 file changed, 10 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
|
||||
index b319c38..33c846c 100644
|
||||
--- a/oox/source/drawingml/shape.cxx
|
||||
+++ b/oox/source/drawingml/shape.cxx
|
||||
@@ -1088,7 +1088,7 @@ Reference < XShape > Shape::renderDiagramToGraphic( XmlFilterBase& rFilterBase )
|
||||
Reference < io::XOutputStream > xOutputStream( xStream->getOutputStream() );
|
||||
|
||||
// Rendering format
|
||||
- OUString sFormat( "PNG" );
|
||||
+ OUString sFormat( "SVM" );
|
||||
|
||||
// Size of the rendering
|
||||
awt::Size aActualSize = mxShape->getSize();
|
||||
@@ -1097,21 +1097,15 @@ Reference < XShape > Shape::renderDiagramToGraphic( XmlFilterBase& rFilterBase )
|
||||
awt::Size aSize = awt::Size( static_cast < sal_Int32 > ( ( fPixelsPer100thmm * aActualSize.Width ) + 0.5 ),
|
||||
static_cast < sal_Int32 > ( ( fPixelsPer100thmm * aActualSize.Height ) + 0.5 ) );
|
||||
|
||||
- Sequence< PropertyValue > aFilterData( 7 );
|
||||
- aFilterData[ 0 ].Name = "Compression";
|
||||
- aFilterData[ 0 ].Value <<= static_cast < sal_Int32 > ( 9 );
|
||||
- aFilterData[ 1 ].Name = "Interlaced";
|
||||
- aFilterData[ 1 ].Value <<= static_cast < sal_Int32 > ( 1 );
|
||||
- aFilterData[ 2 ].Name = "Translucent";
|
||||
- aFilterData[ 2 ].Value <<= static_cast < sal_Int32 > ( 1 );
|
||||
- aFilterData[ 3 ].Name = "PixelWidth";
|
||||
- aFilterData[ 3 ].Value <<= aSize.Width;
|
||||
- aFilterData[ 4 ].Name = "PixelHeight";
|
||||
- aFilterData[ 4 ].Value <<= aSize.Height;
|
||||
- aFilterData[ 5 ].Name = "LogicalWidth";
|
||||
- aFilterData[ 5 ].Value <<= aActualSize.Width;
|
||||
- aFilterData[ 6 ].Name = "LogicalHeight";
|
||||
- aFilterData[ 6 ].Value <<= aActualSize.Height;
|
||||
+ Sequence< PropertyValue > aFilterData( 4 );
|
||||
+ aFilterData[ 0 ].Name = "PixelWidth";
|
||||
+ aFilterData[ 0 ].Value <<= aSize.Width;
|
||||
+ aFilterData[ 1 ].Name = "PixelHeight";
|
||||
+ aFilterData[ 1 ].Value <<= aSize.Height;
|
||||
+ aFilterData[ 2 ].Name = "LogicalWidth";
|
||||
+ aFilterData[ 2 ].Value <<= aActualSize.Width;
|
||||
+ aFilterData[ 3 ].Name = "LogicalHeight";
|
||||
+ aFilterData[ 3 ].Value <<= aActualSize.Height;
|
||||
|
||||
Sequence < PropertyValue > aDescriptor( 3 );
|
||||
aDescriptor[ 0 ].Name = "OutputStream";
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,33 +0,0 @@
|
||||
From 97822e3cbc63d3bd110bc3c654b3fbb4d4d1904c Mon Sep 17 00:00:00 2001
|
||||
From: Stephan Bergmann <sbergman@redhat.com>
|
||||
Date: Mon, 3 Mar 2014 11:57:34 +0100
|
||||
Subject: [PATCH] Wizards should look for templates in Template_internal, not
|
||||
Template_user
|
||||
|
||||
...as only the former reliably denotes the share/template tree where the
|
||||
wizard templates are stored. (Presumably the latter defaulted to the former as
|
||||
long as it wasn't explicitly set in the past, but is now always explicitly set
|
||||
since 838b77f5f3d6d8fd98891e99a23ff78a6a357cb2 "Resolves: rhbz#1065807 use xdg
|
||||
~/Templates for default Template location.")
|
||||
|
||||
Change-Id: I7d1ac47d821c778fe342865465d0505a94b824bf
|
||||
---
|
||||
wizards/com/sun/star/wizards/ui/WizardDialog.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/wizards/com/sun/star/wizards/ui/WizardDialog.py b/wizards/com/sun/star/wizards/ui/WizardDialog.py
|
||||
index 6cf9bc5..4e41fdf 100644
|
||||
--- a/wizards/com/sun/star/wizards/ui/WizardDialog.py
|
||||
+++ b/wizards/com/sun/star/wizards/ui/WizardDialog.py
|
||||
@@ -126,7 +126,7 @@ class WizardDialog(UnoDialog2):
|
||||
xPropertySet = \
|
||||
self.xMSF.createInstance("com.sun.star.util.PathSettings")
|
||||
self.sTemplatePath = \
|
||||
- xPropertySet.getPropertyValue("Template_user")[0]
|
||||
+ xPropertySet.getPropertyValue("Template_internal")[0]
|
||||
self.sUserTemplatePath = \
|
||||
xPropertySet.getPropertyValue("Template_writable")
|
||||
|
||||
--
|
||||
1.8.5.3
|
||||
|
@ -1,45 +0,0 @@
|
||||
From 63c568821277e16db6b972b58b57c50d809df416 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Tue, 4 Mar 2014 13:31:41 +0000
|
||||
Subject: [PATCH] actively search for wizards dir in all internal templates
|
||||
|
||||
Change-Id: I4ef6da4d9d1931917e0aaa6e110fd273bd917b26
|
||||
---
|
||||
wizards/com/sun/star/wizards/ui/WizardDialog.py | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/wizards/com/sun/star/wizards/ui/WizardDialog.py b/wizards/com/sun/star/wizards/ui/WizardDialog.py
|
||||
index 239644b..08a8c2d 100644
|
||||
--- a/wizards/com/sun/star/wizards/ui/WizardDialog.py
|
||||
+++ b/wizards/com/sun/star/wizards/ui/WizardDialog.py
|
||||
@@ -23,6 +23,7 @@ from .UnoDialog2 import UnoDialog2, Desktop, PropertyNames, UIConsts, \
|
||||
from .event.CommonListener import TerminateListenerProcAdapter
|
||||
from ..common.Resource import Resource
|
||||
from ..common.HelpIds import HelpIds
|
||||
+from ..common.FileAccess import FileAccess
|
||||
from ..document.OfficeDocument import OfficeDocument
|
||||
from ..text.TextDocument import TextDocument
|
||||
|
||||
@@ -114,10 +115,17 @@ class WizardDialog(UnoDialog2):
|
||||
def initializePaths(self):
|
||||
xPropertySet = \
|
||||
self.xMSF.createInstance("com.sun.star.util.PathSettings")
|
||||
- self.sTemplatePath = \
|
||||
- xPropertySet.getPropertyValue("Template_internal")[0]
|
||||
self.sUserTemplatePath = \
|
||||
xPropertySet.getPropertyValue("Template_writable")
|
||||
+ myFA = FileAccess(self.xMSF)
|
||||
+ aInternalPaths = xPropertySet.getPropertyValue("Template_internal")
|
||||
+ self.sTemplatePath = ""
|
||||
+ for path in aInternalPaths:
|
||||
+ if myFA.exists(path + "/wizard", False):
|
||||
+ self.sTemplatePath = path
|
||||
+ break
|
||||
+ if self.sTemplatePath == "":
|
||||
+ raise Exception("could not find wizard templates")
|
||||
|
||||
def addRoadmap(self):
|
||||
try:
|
||||
--
|
||||
1.8.5.3
|
||||
|
@ -1,441 +0,0 @@
|
||||
From ebb728c9c01b5e86926381fa816cf69cb3eb1e37 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Tue, 22 Apr 2014 17:06:26 +0100
|
||||
Subject: [PATCH] add a 'format all comments' feature
|
||||
|
||||
Change-Id: Ie9530f0f58b38d014beda60b9efba3ce93fe5c0e
|
||||
---
|
||||
.../org/openoffice/Office/UI/GenericCommands.xcu | 5 ++
|
||||
sw/inc/PostItMgr.hxx | 5 ++
|
||||
sw/inc/cmdid.h | 2 +-
|
||||
sw/inc/swcommands.h | 1 +
|
||||
sw/sdi/_annotsh.sdi | 6 ++
|
||||
sw/sdi/_textsh.sdi | 5 ++
|
||||
sw/sdi/swriter.sdi | 24 +++++++
|
||||
.../core/uibase/docvw/AnnotationMenuButton.cxx | 2 +
|
||||
sw/source/core/uibase/docvw/PostItMgr.cxx | 77 +++++++++++++++++++++-
|
||||
sw/source/core/uibase/docvw/SidebarWin.cxx | 1 +
|
||||
sw/source/core/uibase/docvw/annotation.hrc | 1 +
|
||||
sw/source/core/uibase/inc/annotsh.hxx | 2 +
|
||||
sw/source/core/uibase/shells/annotsh.cxx | 17 +++--
|
||||
sw/source/core/uibase/shells/textfld.cxx | 14 +++-
|
||||
sw/source/ui/app/mn.src | 6 ++
|
||||
sw/source/ui/docvw/annotation.src | 5 ++
|
||||
16 files changed, 166 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
|
||||
index a16b900..a2d997c 100644
|
||||
--- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
|
||||
+++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
|
||||
@@ -5298,6 +5298,11 @@
|
||||
<value xml:lang="en-US">Delete All Comments</value>
|
||||
</prop>
|
||||
</node>
|
||||
+ <node oor:name=".uno:FormatAllNotes" oor:op="replace">
|
||||
+ <prop oor:name="Label" oor:type="xs:string">
|
||||
+ <value xml:lang="en-US">Format All Comments</value>
|
||||
+ </prop>
|
||||
+ </node>
|
||||
<node oor:name=".uno:DeleteAuthor" oor:op="replace">
|
||||
<prop oor:name="Label" oor:type="xs:string">
|
||||
<value xml:lang="en-US">Delete All Comments by This Author</value>
|
||||
diff --git a/sw/inc/PostItMgr.hxx b/sw/inc/PostItMgr.hxx
|
||||
index 0ac0273..56760fd 100644
|
||||
--- a/sw/inc/PostItMgr.hxx
|
||||
+++ b/sw/inc/PostItMgr.hxx
|
||||
@@ -44,6 +44,8 @@ class SfxBroadcaster;
|
||||
class SfxHint;
|
||||
class SwEditWin;
|
||||
class Color;
|
||||
+class SfxItemPool;
|
||||
+class SfxItemSet;
|
||||
class SvxSearchItem;
|
||||
class SvxLanguageItem;
|
||||
namespace sw { namespace annotation {
|
||||
@@ -219,6 +221,9 @@ class SwPostItMgr: public SfxListener
|
||||
void Delete(OUString aAuthor);
|
||||
void Delete();
|
||||
|
||||
+ void ExecuteFormatAllDialog(SwView& rView);
|
||||
+ void FormatAll(const SfxItemSet &rNewAttr);
|
||||
+
|
||||
void Hide( const OUString& rAuthor );
|
||||
void Hide();
|
||||
void Show();
|
||||
diff --git a/sw/inc/cmdid.h b/sw/inc/cmdid.h
|
||||
index 7d506a3..b10359a 100644
|
||||
--- a/sw/inc/cmdid.h
|
||||
+++ b/sw/inc/cmdid.h
|
||||
@@ -780,7 +780,7 @@ included in c-context files, so c++ style stuff will cause problems.
|
||||
|
||||
#define FN_DELETE_COMMENT (FN_NOTES+6)
|
||||
#define FN_REPLY (FN_NOTES+7)
|
||||
-
|
||||
+#define FN_FORMAT_ALL_NOTES (FN_NOTES+8)
|
||||
|
||||
#define FN_HEADERFOOTER_EDIT (FN_HEADERFOOTER+1)
|
||||
#define FN_HEADERFOOTER_DELETE (FN_HEADERFOOTER+2)
|
||||
diff --git a/sw/inc/swcommands.h b/sw/inc/swcommands.h
|
||||
index 0f5cd54..cc9bc07 100644
|
||||
--- a/sw/inc/swcommands.h
|
||||
+++ b/sw/inc/swcommands.h
|
||||
@@ -116,6 +116,7 @@
|
||||
#define CMD_FN_DELETE_COMMENT ".uno:DeleteComment"
|
||||
#define CMD_FN_DELETE_NOTE_AUTHOR ".uno:DeleteAuthor"
|
||||
#define CMD_FN_DELETE_ALL_NOTES ".uno:DeleteAllNotes"
|
||||
+#define CMD_FN_FORMAT_ALL_NOTES ".uno:FormatAllNotes"
|
||||
#define CMD_FN_HIDE_NOTE ".uno:HideNote"
|
||||
#define CMD_FN_HIDE_NOTE_AUTHOR ".uno:HideAuthor"
|
||||
#define CMD_FN_HIDE_ALL_NOTES ".uno:HideAllNotes"
|
||||
diff --git a/sw/sdi/_annotsh.sdi b/sw/sdi/_annotsh.sdi
|
||||
index 142d5e7..15f03ad 100644
|
||||
--- a/sw/sdi/_annotsh.sdi
|
||||
+++ b/sw/sdi/_annotsh.sdi
|
||||
@@ -37,6 +37,12 @@ interface _Annotation
|
||||
StateMethod = GetNoteState ;
|
||||
]
|
||||
|
||||
+ FN_FORMAT_ALL_NOTES
|
||||
+ [
|
||||
+ ExecMethod = NoteExec ;
|
||||
+ StateMethod = GetNoteState ;
|
||||
+ ]
|
||||
+
|
||||
FN_HIDE_NOTE
|
||||
[
|
||||
ExecMethod = NoteExec ;
|
||||
diff --git a/sw/sdi/_textsh.sdi b/sw/sdi/_textsh.sdi
|
||||
index 0fb5cdb..c90bfcd 100644
|
||||
--- a/sw/sdi/_textsh.sdi
|
||||
+++ b/sw/sdi/_textsh.sdi
|
||||
@@ -941,6 +941,11 @@ interface BaseText
|
||||
ExecMethod = ExecField ;
|
||||
StateMethod = StateField;
|
||||
]
|
||||
+ FN_FORMAT_ALL_NOTES
|
||||
+ [
|
||||
+ ExecMethod = ExecField ;
|
||||
+ StateMethod = StateField;
|
||||
+ ]
|
||||
FN_HIDE_NOTE
|
||||
[
|
||||
ExecMethod = ExecField ;
|
||||
diff --git a/sw/sdi/swriter.sdi b/sw/sdi/swriter.sdi
|
||||
index f8218fe..9312844 100644
|
||||
--- a/sw/sdi/swriter.sdi
|
||||
+++ b/sw/sdi/swriter.sdi
|
||||
@@ -9920,6 +9920,30 @@ SfxVoidItem DeleteAllNotes FN_DELETE_ALL_NOTES
|
||||
GroupId = GID_EDIT;
|
||||
]
|
||||
|
||||
+SfxVoidItem FormatAllNotes FN_FORMAT_ALL_NOTES
|
||||
+()
|
||||
+[
|
||||
+ /* flags: */
|
||||
+ AutoUpdate = FALSE,
|
||||
+ Cachable = Cachable,
|
||||
+ FastCall = FALSE,
|
||||
+ HasCoreId = FALSE,
|
||||
+ HasDialog = FALSE,
|
||||
+ ReadOnlyDoc = FALSE,
|
||||
+ Toggle = FALSE,
|
||||
+ Container = FALSE,
|
||||
+ RecordAbsolute = FALSE,
|
||||
+ RecordPerSet;
|
||||
+ Synchron;
|
||||
+
|
||||
+ /* config: */
|
||||
+ AccelConfig = TRUE,
|
||||
+ MenuConfig = TRUE,
|
||||
+ StatusBarConfig = FALSE,
|
||||
+ ToolBoxConfig = TRUE,
|
||||
+ GroupId = GID_EDIT;
|
||||
+]
|
||||
+
|
||||
//--------------------------------------------------------------------------
|
||||
SfxVoidItem HideNote FN_HIDE_NOTE
|
||||
()
|
||||
diff --git a/sw/source/ui/app/mn.src b/sw/source/ui/app/mn.src
|
||||
index eb5ee0e..94ddb2f 100644
|
||||
--- a/sw/source/ui/app/mn.src
|
||||
+++ b/sw/source/ui/app/mn.src
|
||||
@@ -761,6 +761,12 @@ location: <project>/uiconfig/[swriter|sweb|sglobal]/menubar/menubar.xml
|
||||
HelpId = CMD_FN_DELETE_ALL_NOTES ;\
|
||||
Text [ en-US ] = "~Delete All Comments" ;\
|
||||
};\
|
||||
+ MenuItem\
|
||||
+ {\
|
||||
+ Identifier = FN_FORMAT_ALL_NOTES ;\
|
||||
+ HelpId = CMD_FN_FORMAT_ALL_NOTES ;\
|
||||
+ Text [ en-US ] = "~Format All Comments" ;\
|
||||
+ };\
|
||||
/*
|
||||
MenuItem\
|
||||
{\
|
||||
diff --git a/sw/source/ui/docvw/AnnotationMenuButton.cxx b/sw/source/ui/docvw/AnnotationMenuButton.cxx
|
||||
index 0bd4bf2..218daee 100644
|
||||
--- a/sw/source/ui/docvw/AnnotationMenuButton.cxx
|
||||
+++ b/sw/source/ui/docvw/AnnotationMenuButton.cxx
|
||||
@@ -74,12 +74,14 @@ void AnnotationMenuButton::MouseButtonDown( const MouseEvent& rMEvt )
|
||||
pButtonPopup->EnableItem( FN_DELETE_COMMENT, false );
|
||||
pButtonPopup->EnableItem( FN_DELETE_NOTE_AUTHOR, false );
|
||||
pButtonPopup->EnableItem( FN_DELETE_ALL_NOTES, false );
|
||||
+ pButtonPopup->EnableItem( FN_FORMAT_ALL_NOTES, false );
|
||||
}
|
||||
else
|
||||
{
|
||||
pButtonPopup->EnableItem( FN_DELETE_COMMENT, !mrSidebarWin.IsProtected() );
|
||||
pButtonPopup->EnableItem( FN_DELETE_NOTE_AUTHOR, true );
|
||||
pButtonPopup->EnableItem( FN_DELETE_ALL_NOTES, true );
|
||||
+ pButtonPopup->EnableItem( FN_FORMAT_ALL_NOTES, true );
|
||||
}
|
||||
|
||||
if ( mrSidebarWin.IsProtected() )
|
||||
diff --git a/sw/source/ui/docvw/PostItMgr.cxx b/sw/source/ui/docvw/PostItMgr.cxx
|
||||
index e6b7cb6..c2b1225 100644
|
||||
--- a/sw/source/ui/docvw/PostItMgr.cxx
|
||||
+++ b/sw/source/ui/docvw/PostItMgr.cxx
|
||||
@@ -34,8 +34,8 @@
|
||||
#include <vcl/scrbar.hxx>
|
||||
#include <vcl/outdev.hxx>
|
||||
|
||||
+#include <chrdlgmodes.hxx>
|
||||
#include <viewopt.hxx>
|
||||
-
|
||||
#include <view.hxx>
|
||||
#include <docsh.hxx>
|
||||
#include <wrtsh.hxx>
|
||||
@@ -67,11 +67,14 @@
|
||||
#include <svx/svdview.hxx>
|
||||
#include <editeng/eeitem.hxx>
|
||||
#include <editeng/langitem.hxx>
|
||||
+#include <editeng/kernitem.hxx>
|
||||
#include <editeng/outliner.hxx>
|
||||
|
||||
#include <i18nlangtag/mslangid.hxx>
|
||||
#include <i18nlangtag/lang.h>
|
||||
|
||||
+#include "annotsh.hxx"
|
||||
+#include "swabstdlg.hxx"
|
||||
#include "swevent.hxx"
|
||||
#include "switerator.hxx"
|
||||
|
||||
@@ -1227,6 +1230,78 @@ void SwPostItMgr::Delete()
|
||||
CalcRects();
|
||||
LayoutPostIts();
|
||||
}
|
||||
+
|
||||
+void SwPostItMgr::ExecuteFormatAllDialog(SwView& rView)
|
||||
+{
|
||||
+ if (mvPostItFlds.empty())
|
||||
+ return;
|
||||
+ sw::sidebarwindows::SwSidebarWin *pOrigActiveWin = GetActiveSidebarWin();
|
||||
+ sw::sidebarwindows::SwSidebarWin *pWin = pOrigActiveWin;
|
||||
+ if (!pWin)
|
||||
+ {
|
||||
+ for (SwSidebarItem_iterator i = mvPostItFlds.begin(); i != mvPostItFlds.end(); ++i)
|
||||
+ {
|
||||
+ pWin = (*i)->pPostIt;
|
||||
+ if (pWin)
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ if (!pWin)
|
||||
+ return;
|
||||
+ SetActiveSidebarWin(pWin);
|
||||
+ OutlinerView* pOLV = pWin->GetOutlinerView();
|
||||
+ SfxItemSet aEditAttr(pOLV->GetAttribs());
|
||||
+ SfxItemPool* pPool(SwAnnotationShell::GetAnnotationPool(rView));
|
||||
+ SfxItemSet aDlgAttr(*pPool, EE_ITEMS_START, EE_ITEMS_END);
|
||||
+ aDlgAttr.Put(aEditAttr);
|
||||
+ SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
|
||||
+ SfxAbstractTabDialog* pDlg = pFact->CreateSwCharDlg(rView.GetWindow(), rView, aDlgAttr, DLG_CHAR_ANN);
|
||||
+ sal_uInt16 nRet = pDlg->Execute();
|
||||
+ if (RET_OK == nRet)
|
||||
+ {
|
||||
+ aDlgAttr.Put(*pDlg->GetOutputItemSet());
|
||||
+ FormatAll(aDlgAttr);
|
||||
+ }
|
||||
+ delete pDlg;
|
||||
+ SetActiveSidebarWin(pOrigActiveWin);
|
||||
+}
|
||||
+
|
||||
+void SwPostItMgr::FormatAll(const SfxItemSet &rNewAttr)
|
||||
+{
|
||||
+ mpWrtShell->StartAllAction();
|
||||
+ SwRewriter aRewriter;
|
||||
+ aRewriter.AddRule(UndoArg1, SW_RES(STR_FORMAT_ALL_NOTES) );
|
||||
+ mpWrtShell->StartUndo( UNDO_INSATTR, &aRewriter );
|
||||
+
|
||||
+ for(SwSidebarItem_iterator i = mvPostItFlds.begin(); i != mvPostItFlds.end() ; ++i)
|
||||
+ {
|
||||
+ if (!(*i)->pPostIt)
|
||||
+ continue;
|
||||
+ OutlinerView* pOLV = (*i)->pPostIt->GetOutlinerView();
|
||||
+ //save old selection
|
||||
+ ESelection aOrigSel(pOLV->GetSelection());
|
||||
+ //select all
|
||||
+ Outliner *pOutliner = pOLV->GetOutliner();
|
||||
+ if (pOutliner)
|
||||
+ {
|
||||
+ sal_Int32 nParaCount = pOutliner->GetParagraphCount();
|
||||
+ if (nParaCount > 0)
|
||||
+ pOLV->SelectRange(0, nParaCount);
|
||||
+ }
|
||||
+ //set new char properties
|
||||
+ pOLV->SetAttribs(rNewAttr);
|
||||
+ //restore old selection
|
||||
+ pOLV->SetSelection(aOrigSel);
|
||||
+ }
|
||||
+
|
||||
+ mpWrtShell->EndUndo();
|
||||
+ PrepareView();
|
||||
+ mpWrtShell->EndAllAction();
|
||||
+ mbLayout = true;
|
||||
+ CalcRects();
|
||||
+ LayoutPostIts();
|
||||
+}
|
||||
+
|
||||
void SwPostItMgr::Hide( const OUString& rAuthor )
|
||||
{
|
||||
for(SwSidebarItem_iterator i = mvPostItFlds.begin(); i != mvPostItFlds.end() ; ++i)
|
||||
diff --git a/sw/source/ui/docvw/SidebarWin.cxx b/sw/source/ui/docvw/SidebarWin.cxx
|
||||
index 275b72e..4a0d4a7 100644
|
||||
--- a/sw/source/ui/docvw/SidebarWin.cxx
|
||||
+++ b/sw/source/ui/docvw/SidebarWin.cxx
|
||||
@@ -971,6 +971,7 @@ void SwSidebarWin::ExecuteCommand(sal_uInt16 nSlot)
|
||||
//Delete(); // do not kill the parent of our open popup menu
|
||||
mnEventId = Application::PostUserEvent( LINK( this, SwSidebarWin, DeleteHdl), 0 );
|
||||
break;
|
||||
+ case FN_FORMAT_ALL_NOTES:
|
||||
case FN_DELETE_ALL_NOTES:
|
||||
case FN_HIDE_ALL_NOTES:
|
||||
// not possible as slot as this would require that "this" is the active postit
|
||||
diff --git a/sw/source/ui/docvw/annotation.hrc b/sw/source/ui/docvw/annotation.hrc
|
||||
index 7daf555..5fe3e49 100644
|
||||
--- a/sw/source/ui/docvw/annotation.hrc
|
||||
+++ b/sw/source/ui/docvw/annotation.hrc
|
||||
@@ -32,6 +32,7 @@
|
||||
#define STR_NOAUTHOR (RC_ANNOTATION_BEGIN + 6)
|
||||
|
||||
#define STR_REPLY (RC_ANNOTATION_BEGIN + 7)
|
||||
+#define STR_FORMAT_ALL_NOTES (RC_ANNOTATION_BEGIN + 8)
|
||||
|
||||
|
||||
#define ANNOTATION_ACT_END STR_REPLY
|
||||
diff --git a/sw/source/ui/docvw/annotation.src b/sw/source/ui/docvw/annotation.src
|
||||
index 46afad9..a45c3ca 100644
|
||||
--- a/sw/source/ui/docvw/annotation.src
|
||||
+++ b/sw/source/ui/docvw/annotation.src
|
||||
@@ -35,6 +35,11 @@ String STR_DELETE_ALL_NOTES
|
||||
Text [ en-US ] = "All Comments" ;
|
||||
};
|
||||
|
||||
+String STR_FORMAT_ALL_NOTES
|
||||
+{
|
||||
+ Text [ en-US ] = "All Comments" ;
|
||||
+};
|
||||
+
|
||||
String STR_DELETE_AUTHOR_NOTES
|
||||
{
|
||||
Text [ en-US ] = "Comments by " ;
|
||||
diff --git a/sw/source/ui/inc/annotsh.hxx b/sw/source/ui/inc/annotsh.hxx
|
||||
index 5872c95..09961a7 100644
|
||||
--- a/sw/source/ui/inc/annotsh.hxx
|
||||
+++ b/sw/source/ui/inc/annotsh.hxx
|
||||
@@ -68,6 +68,8 @@ public:
|
||||
|
||||
virtual ::svl::IUndoManager*
|
||||
GetUndoManager();
|
||||
+
|
||||
+ static SfxItemPool* GetAnnotationPool(SwView& rV);
|
||||
};
|
||||
|
||||
#endif
|
||||
diff --git a/sw/source/ui/shells/annotsh.cxx b/sw/source/ui/shells/annotsh.cxx
|
||||
index 1106013..c83a99d 100644
|
||||
--- a/sw/source/ui/shells/annotsh.cxx
|
||||
+++ b/sw/source/ui/shells/annotsh.cxx
|
||||
@@ -145,11 +145,16 @@ SFX_IMPL_INTERFACE(SwAnnotationShell, SfxShell, SW_RES(STR_SHELLNAME_DRAW_TEXT))
|
||||
|
||||
TYPEINIT1(SwAnnotationShell,SfxShell)
|
||||
|
||||
+SfxItemPool* SwAnnotationShell::GetAnnotationPool(SwView& rV)
|
||||
+{
|
||||
+ SwWrtShell &rSh = rV.GetWrtShell();
|
||||
+ return rSh.GetAttrPool().GetSecondaryPool();
|
||||
+}
|
||||
+
|
||||
SwAnnotationShell::SwAnnotationShell( SwView& r )
|
||||
-: rView(r)
|
||||
+ : rView(r)
|
||||
{
|
||||
- SwWrtShell &rSh = rView.GetWrtShell();
|
||||
- SetPool(rSh.GetAttrPool().GetSecondaryPool());
|
||||
+ SetPool(SwAnnotationShell::GetAnnotationPool(rView));
|
||||
SfxShell::SetContextName(sfx2::sidebar::EnumContext::GetContextName(sfx2::sidebar::EnumContext::Context_Annotation));
|
||||
}
|
||||
|
||||
@@ -1087,9 +1092,12 @@ void SwAnnotationShell::NoteExec(SfxRequest &rReq)
|
||||
pPostItMgr->GetActiveSidebarWin()->ExecuteCommand(nSlot);
|
||||
break;
|
||||
|
||||
- case FN_DELETE_ALL_NOTES:
|
||||
+ case FN_DELETE_ALL_NOTES:
|
||||
pPostItMgr->Delete();
|
||||
break;
|
||||
+ case FN_FORMAT_ALL_NOTES:
|
||||
+ pPostItMgr->ExecuteFormatAllDialog(rView);
|
||||
+ break;
|
||||
case FN_DELETE_NOTE_AUTHOR:
|
||||
{
|
||||
SFX_REQUEST_ARG( rReq, pItem, SfxStringItem, nSlot, sal_False);
|
||||
@@ -1124,6 +1132,7 @@ void SwAnnotationShell::GetNoteState(SfxItemSet &rSet)
|
||||
case FN_POSTIT:
|
||||
case FN_DELETE_NOTE_AUTHOR:
|
||||
case FN_DELETE_ALL_NOTES:
|
||||
+ case FN_FORMAT_ALL_NOTES:
|
||||
case FN_HIDE_NOTE:
|
||||
case FN_HIDE_NOTE_AUTHOR:
|
||||
case FN_HIDE_ALL_NOTES:
|
||||
diff --git a/sw/source/ui/shells/textfld.cxx b/sw/source/ui/shells/textfld.cxx
|
||||
index a7050c4..7289f37 100644
|
||||
--- a/sw/source/ui/shells/textfld.cxx
|
||||
+++ b/sw/source/ui/shells/textfld.cxx
|
||||
@@ -18,9 +18,13 @@
|
||||
*/
|
||||
|
||||
|
||||
+#include <chrdlgmodes.hxx>
|
||||
#include <crsskip.hxx>
|
||||
#include <hintids.hxx>
|
||||
-
|
||||
+#include <SidebarWin.hxx>
|
||||
+#include <editeng/eeitem.hxx>
|
||||
+#include <editeng/kernitem.hxx>
|
||||
+#include <editeng/outliner.hxx>
|
||||
#include <sfx2/lnkbase.hxx>
|
||||
#include <fmtfld.hxx>
|
||||
#include <vcl/msgbox.hxx>
|
||||
@@ -321,6 +325,13 @@ void SwTextShell::ExecField(SfxRequest &rReq)
|
||||
if ( GetView().GetPostItMgr() )
|
||||
GetView().GetPostItMgr()->Delete();
|
||||
break;
|
||||
+ case FN_FORMAT_ALL_NOTES:
|
||||
+ {
|
||||
+ SwPostItMgr* pPostItMgr = GetView().GetPostItMgr();
|
||||
+ if (pPostItMgr)
|
||||
+ pPostItMgr->ExecuteFormatAllDialog(GetView());
|
||||
+ }
|
||||
+ break;
|
||||
case FN_DELETE_NOTE_AUTHOR:
|
||||
{
|
||||
SFX_REQUEST_ARG( rReq, pNoteItem, SfxStringItem, nSlot, sal_False);
|
||||
@@ -629,6 +640,7 @@ void SwTextShell::StateField( SfxItemSet &rSet )
|
||||
case FN_DELETE_COMMENT:
|
||||
case FN_DELETE_NOTE_AUTHOR:
|
||||
case FN_DELETE_ALL_NOTES:
|
||||
+ case FN_FORMAT_ALL_NOTES:
|
||||
case FN_HIDE_NOTE:
|
||||
case FN_HIDE_NOTE_AUTHOR:
|
||||
case FN_HIDE_ALL_NOTES:
|
@ -1,232 +0,0 @@
|
||||
From d6f5d4ee2cd0654497f1af37421d788411db762c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Thu, 8 May 2014 14:27:53 +0100
|
||||
Subject: [PATCH] add a status bar icon to fit slide to window
|
||||
|
||||
Change-Id: I2c1d1fc7425b0aaad2a2445e0ac71ddc38410fdb
|
||||
---
|
||||
icon-themes/galaxy/svx/res/zoom_page_statusbar.png | Bin 0 -> 418 bytes
|
||||
include/svx/dialogs.hrc | 6 ++-
|
||||
include/svx/zoomctrl.hxx | 15 ++++++-
|
||||
sd/source/ui/app/sddll.cxx | 1 +
|
||||
sd/uiconfig/simpress/statusbar/statusbar.xml | 1 +
|
||||
svx/source/stbctrls/modctrl.cxx | 7 ----
|
||||
svx/source/stbctrls/stbctrls.src | 13 ++++++
|
||||
svx/source/stbctrls/zoomctrl.cxx | 46 +++++++++++++++++----
|
||||
8 files changed, 70 insertions(+), 19 deletions(-)
|
||||
create mode 100644 icon-themes/galaxy/svx/res/zoom_page_statusbar.png
|
||||
|
||||
diff --git a/icon-themes/galaxy/svx/res/zoom_page_statusbar.png b/icon-themes/galaxy/svx/res/zoom_page_statusbar.png
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..5fb2d59cf7549dbb665e9efc81f7a94c0f4e4980
|
||||
GIT binary patch
|
||||
literal 418
|
||||
zcmeAS@N?(olHy`uVBq!ia0vp^d>}Rl8<3oNC%zs?aTa()76ZkPfH31!Z9ZwBAbW|Y
|
||||
zuPggKRt_Em37r=8g+L+M%#er@=ltB<)VvZPmw~~#C^fMpHASI3vm`^o-P1Q9MK6_|
|
||||
zfq_xN)5S4F<9zQVMQ;~Jf#dbYn_qus^<|gZlVlLhn=WYb!{o$M=H~ea)HIsH)+Pzs
|
||||
zA7O3wT<!RQnWHN9NYYN((@OU~+wN#=ygT#n`E&LEns;A*lE%|;bX!fb0n4?}O5<dX
|
||||
zBP$yYG;y3?)w5~73FFjRqO6}+&3XR1*2|{TW5xd8YXhd0oV`(6ZYBHdQ~vRt-H{3P
|
||||
zO?(bLo2Cj)Kj7T+iE+x#cR@XuxEqyJ&pA!l`f-MH`F|l}t@3pYiCo3ckIt24FnsJV
|
||||
zH9R!$%!)HFo`>b1UD040>XycHdeXZiA&sHNY`QYup??3pE~^|b;>byRP|ES8VP<`l
|
||||
z`Gp^To!vF}*zE59-5A<;>sii<PkM)B1AO)tz3bC*Kj0PpkDZ@gvQdmDelaNUJYD@<
|
||||
J);T3K0RSRFrP=@h
|
||||
|
||||
literal 0
|
||||
HcmV?d00001
|
||||
|
||||
diff --git a/include/svx/dialogs.hrc b/include/svx/dialogs.hrc
|
||||
index 4c3d681..797acfa 100644
|
||||
--- a/include/svx/dialogs.hrc
|
||||
+++ b/include/svx/dialogs.hrc
|
||||
@@ -996,12 +996,14 @@
|
||||
#define RID_SVXSTR_DOC_LOAD (SVX_OOO_BUILD_START + 6) // 1236
|
||||
#define RID_SVXSTR_ERR_OLD_PASSWD (SVX_OOO_BUILD_START + 7) // 1237
|
||||
#define RID_SVXSTR_ERR_REPEAT_PASSWD (SVX_OOO_BUILD_START + 8) // 1238
|
||||
+#define RID_SVXBMP_ZOOM_PAGE (SVX_OOO_BUILD_START + 9) // 1239
|
||||
+#define RID_SVXSTR_FIT_SLIDE (SVX_OOO_BUILD_START + 10) // 1240
|
||||
|
||||
// sidebar-related resources (defined in the appropriate .hrc's)
|
||||
-#define RID_SVX_SIDEBAR_BEGIN (RID_SVX_START + 1240)
|
||||
+#define RID_SVX_SIDEBAR_BEGIN (RID_SVX_START + 1241)
|
||||
|
||||
// !!! IMPORTANT: consider and update RID_SVXSTR_NEXTFREE when introducing new RIDs for Strings !!!
|
||||
-#define RID_SVXSTR_NEXTFREE (RID_SVX_START + 1270)
|
||||
+#define RID_SVXSTR_NEXTFREE (RID_SVX_START + 1271)
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// if we have _a_lot_ time, we should group the resource ids by type, instead
|
||||
diff --git a/include/svx/zoomctrl.hxx b/include/svx/zoomctrl.hxx
|
||||
index 429ee9c..5d7950f 100644
|
||||
--- a/include/svx/zoomctrl.hxx
|
||||
+++ b/include/svx/zoomctrl.hxx
|
||||
@@ -21,8 +21,7 @@
|
||||
|
||||
#include <sfx2/stbitem.hxx>
|
||||
#include <svx/svxdllapi.h>
|
||||
-
|
||||
-// class SvxZoomToolBoxControl -------------------------------------------
|
||||
+#include <vcl/image.hxx>
|
||||
|
||||
class SVX_DLLPUBLIC SvxZoomStatusBarControl : public SfxStatusBarControl
|
||||
{
|
||||
@@ -42,6 +41,18 @@ public:
|
||||
|
||||
};
|
||||
|
||||
+class SVX_DLLPUBLIC SvxZoomPageStatusBarControl : public SfxStatusBarControl
|
||||
+{
|
||||
+private:
|
||||
+ Image maImage;
|
||||
+public:
|
||||
+ virtual void Paint( const UserDrawEvent& rEvt ) SAL_OVERRIDE;
|
||||
+ virtual sal_Bool MouseButtonDown( const MouseEvent & rEvt ) SAL_OVERRIDE;
|
||||
+
|
||||
+ SFX_DECL_STATUSBAR_CONTROL();
|
||||
+
|
||||
+ SvxZoomPageStatusBarControl(sal_uInt16 nSlotId, sal_uInt16 nId, StatusBar& rStb);
|
||||
+};
|
||||
|
||||
#endif
|
||||
|
||||
diff --git a/sd/source/ui/app/sddll.cxx b/sd/source/ui/app/sddll.cxx
|
||||
index f7a27c0..b37d934 100644
|
||||
--- a/sd/source/ui/app/sddll.cxx
|
||||
+++ b/sd/source/ui/app/sddll.cxx
|
||||
@@ -242,6 +242,7 @@ void SdDLL::RegisterControllers()
|
||||
SvxCTLTextTbxCtrl::RegisterControl(SID_ATTR_PARA_RIGHT_TO_LEFT, pMod);
|
||||
|
||||
// register StatusBarControls
|
||||
+ SvxZoomPageStatusBarControl::RegisterControl( SID_ZOOM_ENTIRE_PAGE, pMod );
|
||||
SvxZoomStatusBarControl::RegisterControl( SID_ATTR_ZOOM, pMod );
|
||||
SvxPosSizeStatusBarControl::RegisterControl( SID_ATTR_SIZE, pMod );
|
||||
SvxModifyControl::RegisterControl( SID_DOC_MODIFIED, pMod );
|
||||
diff --git a/sd/uiconfig/simpress/statusbar/statusbar.xml b/sd/uiconfig/simpress/statusbar/statusbar.xml
|
||||
index 24224fe..78042ef 100644
|
||||
--- a/sd/uiconfig/simpress/statusbar/statusbar.xml
|
||||
+++ b/sd/uiconfig/simpress/statusbar/statusbar.xml
|
||||
@@ -24,6 +24,7 @@
|
||||
<statusbar:statusbaritem xlink:href=".uno:Signature" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="16"/>
|
||||
<statusbar:statusbaritem xlink:href=".uno:PageStatus" statusbar:align="left" statusbar:width="124"/>
|
||||
<statusbar:statusbaritem xlink:href=".uno:LayoutStatus" statusbar:align="left" statusbar:autosize="true" statusbar:width="54"/>
|
||||
+ <statusbar:statusbaritem xlink:href=".uno:ZoomPage" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="9"/>
|
||||
<statusbar:statusbaritem xlink:href=".uno:ZoomSlider" statusbar:align="center" statusbar:ownerdraw="true" statusbar:width="130"/>
|
||||
<statusbar:statusbaritem xlink:href=".uno:Zoom" statusbar:align="center" statusbar:width="36"/>
|
||||
</statusbar:statusbar>
|
||||
diff --git a/svx/source/stbctrls/modctrl.cxx b/svx/source/stbctrls/modctrl.cxx
|
||||
index db94f49..aff7e75 100644
|
||||
--- a/svx/source/stbctrls/modctrl.cxx
|
||||
+++ b/svx/source/stbctrls/modctrl.cxx
|
||||
@@ -137,8 +137,6 @@ void SvxModifyControl::_repaint()
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
-namespace {
|
||||
-
|
||||
/**
|
||||
* Given a bounding rectangle and an image, determine the top-left position
|
||||
* of the image so that the image would look centered both horizontally and
|
||||
@@ -160,9 +158,6 @@ Point centerImage(const Rectangle& rBoundingRect, const Image& rImg)
|
||||
return aPt;
|
||||
}
|
||||
|
||||
-}
|
||||
-
|
||||
-
|
||||
void SvxModifyControl::Paint( const UserDrawEvent& rUsrEvt )
|
||||
{
|
||||
OutputDevice* pDev = rUsrEvt.GetDevice();
|
||||
diff --git a/svx/source/stbctrls/stbctrls.src b/svx/source/stbctrls/stbctrls.src
|
||||
index 8d5beeb..5987d7a 100644
|
||||
--- a/svx/source/stbctrls/stbctrls.src
|
||||
+++ b/svx/source/stbctrls/stbctrls.src
|
||||
@@ -120,6 +120,11 @@ String RID_SVXSTR_DOC_LOAD
|
||||
Text [ en-US ] = "Loading document...";
|
||||
};
|
||||
|
||||
+String RID_SVXSTR_FIT_SLIDE
|
||||
+{
|
||||
+ Text [ en-US ] = "Fit slide to current window.";
|
||||
+};
|
||||
+
|
||||
// PopupMenu -------------------------------------------------------------
|
||||
Menu RID_SVXMNU_ZOOM
|
||||
{
|
||||
@@ -337,5 +342,13 @@ Image RID_SVXBMP_DOC_MODIFIED_FEEDBACK
|
||||
};
|
||||
MaskColor = STD_MASKCOLOR;
|
||||
};
|
||||
+Image RID_SVXBMP_ZOOM_PAGE
|
||||
+{
|
||||
+ ImageBitmap = Bitmap
|
||||
+ {
|
||||
+ File = "zoom_page_statusbar.png" ;
|
||||
+ };
|
||||
+ MaskColor = STD_MASKCOLOR;
|
||||
+};
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
diff --git a/svx/source/stbctrls/zoomctrl.cxx b/svx/source/stbctrls/zoomctrl.cxx
|
||||
index b5be076..229f98d 100644
|
||||
--- a/svx/source/stbctrls/zoomctrl.cxx
|
||||
+++ b/svx/source/stbctrls/zoomctrl.cxx
|
||||
@@ -25,7 +25,8 @@
|
||||
|
||||
#include <svx/dialogs.hrc>
|
||||
|
||||
-#include "svx/zoomctrl.hxx"
|
||||
+#include <svx/zoomctrl.hxx>
|
||||
+#include <svx/zoomslideritem.hxx>
|
||||
#include <sfx2/zoomitem.hxx>
|
||||
#include "stbctrls.h"
|
||||
#include <svx/dialmgr.hxx>
|
||||
@@ -95,7 +96,6 @@ void ZoomPopup_Impl::Select()
|
||||
}
|
||||
|
||||
// class SvxZoomStatusBarControl ------------------------------------------
|
||||
-
|
||||
SvxZoomStatusBarControl::SvxZoomStatusBarControl( sal_uInt16 _nSlotId,
|
||||
sal_uInt16 _nId,
|
||||
StatusBar& rStb ) :
|
||||
@@ -183,5 +183,41 @@ void SvxZoomStatusBarControl::Command( const CommandEvent& rCEvt )
|
||||
SfxStatusBarControl::Command( rCEvt );
|
||||
}
|
||||
|
||||
+SFX_IMPL_STATUSBAR_CONTROL(SvxZoomPageStatusBarControl,SfxVoidItem);
|
||||
+
|
||||
+SvxZoomPageStatusBarControl::SvxZoomPageStatusBarControl(sal_uInt16 _nSlotId,
|
||||
+ sal_uInt16 _nId, StatusBar& rStb)
|
||||
+ : SfxStatusBarControl(_nSlotId, _nId, rStb)
|
||||
+ , maImage(SVX_RES(RID_SVXBMP_ZOOM_PAGE))
|
||||
+{
|
||||
+ GetStatusBar().SetQuickHelpText(GetId(), SVX_RESSTR(RID_SVXSTR_FIT_SLIDE));
|
||||
+}
|
||||
+
|
||||
+extern Point centerImage(const Rectangle& rBoundingRect, const Image& rImg);
|
||||
+
|
||||
+void SvxZoomPageStatusBarControl::Paint(const UserDrawEvent& rUsrEvt)
|
||||
+{
|
||||
+ OutputDevice* pDev = rUsrEvt.GetDevice();
|
||||
+ Rectangle aRect = rUsrEvt.GetRect();
|
||||
+ Point aPt = centerImage(aRect, maImage);
|
||||
+ pDev->DrawImage(aPt, maImage);
|
||||
+}
|
||||
+
|
||||
+sal_Bool SvxZoomPageStatusBarControl::MouseButtonDown(const MouseEvent&)
|
||||
+{
|
||||
+ SvxZoomItem aZoom( SVX_ZOOM_WHOLEPAGE, 0, GetId() );
|
||||
+
|
||||
+ ::com::sun::star::uno::Any a;
|
||||
+ INetURLObject aObj( m_aCommandURL );
|
||||
+
|
||||
+ ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > aArgs( 1 );
|
||||
+ aArgs[0].Name = aObj.GetURLPath();
|
||||
+ aZoom.QueryValue( a );
|
||||
+ aArgs[0].Value = a;
|
||||
+
|
||||
+ execute( aArgs );
|
||||
+
|
||||
+ return true;
|
||||
+}
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
|
@ -1,77 +0,0 @@
|
||||
From b179235f702e474b115ca479b603052f422346fd Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Wed, 7 May 2014 16:16:17 +0100
|
||||
Subject: [PATCH] center slide after changing zoom
|
||||
|
||||
Change-Id: I08698b06d0485d2cd3573af665e0621b42d37349
|
||||
---
|
||||
sd/source/ui/inc/ViewShell.hxx | 1 +
|
||||
sd/source/ui/view/viewshe2.cxx | 27 +++++++++++++++++++++++++++
|
||||
sd/source/ui/view/viewshel.cxx | 1 +
|
||||
3 files changed, 29 insertions(+)
|
||||
|
||||
diff --git a/sd/source/ui/inc/ViewShell.hxx b/sd/source/ui/inc/ViewShell.hxx
|
||||
index ce5ea31..87edbc5 100644
|
||||
--- a/sd/source/ui/inc/ViewShell.hxx
|
||||
+++ b/sd/source/ui/inc/ViewShell.hxx
|
||||
@@ -206,6 +206,7 @@ public:
|
||||
virtual void UpdateScrollBars (void);
|
||||
void Scroll(long nX, long nY);
|
||||
void ScrollLines(long nX, long nY);
|
||||
+ void ScrollCenter();
|
||||
virtual void SetZoom(long nZoom);
|
||||
virtual void SetZoomRect(const Rectangle& rZoomRect);
|
||||
void InitWindows(const Point& rViewOrigin, const Size& rViewSize,
|
||||
diff --git a/sd/source/ui/view/viewshe2.cxx b/sd/source/ui/view/viewshe2.cxx
|
||||
index 5f98d68..8f91d6c 100644
|
||||
--- a/sd/source/ui/view/viewshe2.cxx
|
||||
+++ b/sd/source/ui/view/viewshe2.cxx
|
||||
@@ -365,6 +365,33 @@ void ViewShell::SetZoom(long nZoom)
|
||||
UpdateScrollBars();
|
||||
}
|
||||
|
||||
+namespace
|
||||
+{
|
||||
+ void CenterScrollBar(ScrollBar *pBar)
|
||||
+ {
|
||||
+ long nVisSize = pBar->GetVisibleSize();
|
||||
+ long nMin = pBar->GetRangeMin();
|
||||
+ long nMax = pBar->GetRangeMax();
|
||||
+ long nLen = nMax - nMin - nVisSize;
|
||||
+ long nPos = nMin + nLen/2;
|
||||
+ pBar->DoScroll(nPos);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+void ViewShell::ScrollCenter()
|
||||
+{
|
||||
+ if (mpHorizontalScrollBar.get() != NULL)
|
||||
+ CenterScrollBar(mpHorizontalScrollBar.get());
|
||||
+
|
||||
+ //zoom mode with no panning of the current slide, i.e. the
|
||||
+ //scrollbar is in change slide mode not pan slide mode
|
||||
+ if (IsPageFlipMode())
|
||||
+ return;
|
||||
+
|
||||
+ if (mpVerticalScrollBar.get() != NULL)
|
||||
+ CenterScrollBar(mpVerticalScrollBar.get());
|
||||
+}
|
||||
+
|
||||
/**
|
||||
* Set zoom rectangle for active window. Sets all split windows to the same zoom
|
||||
* factor.
|
||||
diff --git a/sd/source/ui/view/viewshel.cxx b/sd/source/ui/view/viewshel.cxx
|
||||
index 28e272e..17bcf5f 100644
|
||||
--- a/sd/source/ui/view/viewshel.cxx
|
||||
+++ b/sd/source/ui/view/viewshel.cxx
|
||||
@@ -683,6 +683,7 @@ bool ViewShell::HandleScrollCommand(const CommandEvent& rCEvt, ::sd::Window* pWi
|
||||
nNewZoom = std::min( (long) pWin->GetMaxZoom(), basegfx::zoomtools::zoomIn( nOldZoom ));
|
||||
|
||||
SetZoom( nNewZoom );
|
||||
+ ScrollCenter(); //center slide after changing zoom
|
||||
Invalidate( SID_ATTR_ZOOM );
|
||||
Invalidate( SID_ATTR_ZOOMSLIDER );
|
||||
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,114 +0,0 @@
|
||||
From 84770f1fbfd456f70c5c48e158b268a773ca9c45 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Fri, 4 Apr 2014 13:52:01 +0100
|
||||
Subject: [PATCH] drop OnlyShowIn from .desktop files
|
||||
|
||||
<mclasen> I see libreoffice installs desktop actions with OnlyShowIn=Unity
|
||||
<mclasen> I believe OnlyShowIn for actions was kicked out when they got merged in the spec
|
||||
<caolan> mclasen: so drop the "OnlyShowIn" lines ?
|
||||
<mclasen> would be my recommendation
|
||||
|
||||
Change-Id: I5d119d361be197bac3fc20c08b4e43f11f4b0c0c
|
||||
---
|
||||
sysui/desktop/menus/base.desktop | 1 -
|
||||
sysui/desktop/menus/calc.desktop | 1 -
|
||||
sysui/desktop/menus/draw.desktop | 1 -
|
||||
sysui/desktop/menus/impress.desktop | 1 -
|
||||
sysui/desktop/menus/math.desktop | 1 -
|
||||
sysui/desktop/menus/startcenter.desktop | 6 ------
|
||||
sysui/desktop/menus/writer.desktop | 1 -
|
||||
7 files changed, 12 deletions(-)
|
||||
|
||||
diff --git a/sysui/desktop/menus/base.desktop b/sysui/desktop/menus/base.desktop
|
||||
index 62626d4..26f1c6a 100755
|
||||
--- a/sysui/desktop/menus/base.desktop
|
||||
+++ b/sysui/desktop/menus/base.desktop
|
||||
@@ -37,4 +37,3 @@ Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
Name=New Database
|
||||
Exec=${UNIXBASISROOTNAME} --base
|
||||
-OnlyShowIn=Unity;
|
||||
diff --git a/sysui/desktop/menus/calc.desktop b/sysui/desktop/menus/calc.desktop
|
||||
index e50de65..fc5e241 100755
|
||||
--- a/sysui/desktop/menus/calc.desktop
|
||||
+++ b/sysui/desktop/menus/calc.desktop
|
||||
@@ -37,4 +37,3 @@ Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
Name=New Spreadsheet
|
||||
Exec=${UNIXBASISROOTNAME} --calc
|
||||
-OnlyShowIn=Unity;
|
||||
diff --git a/sysui/desktop/menus/draw.desktop b/sysui/desktop/menus/draw.desktop
|
||||
index a807fe0..b5d58ce 100755
|
||||
--- a/sysui/desktop/menus/draw.desktop
|
||||
+++ b/sysui/desktop/menus/draw.desktop
|
||||
@@ -37,4 +37,3 @@ Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
Name=New Drawing
|
||||
Exec=${UNIXBASISROOTNAME} --draw
|
||||
-OnlyShowIn=Unity;
|
||||
diff --git a/sysui/desktop/menus/impress.desktop b/sysui/desktop/menus/impress.desktop
|
||||
index fda44e4..c1f6231 100755
|
||||
--- a/sysui/desktop/menus/impress.desktop
|
||||
+++ b/sysui/desktop/menus/impress.desktop
|
||||
@@ -37,4 +37,3 @@ Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
Name=New Presentation
|
||||
Exec=${UNIXBASISROOTNAME} --impress
|
||||
-OnlyShowIn=Unity;
|
||||
diff --git a/sysui/desktop/menus/math.desktop b/sysui/desktop/menus/math.desktop
|
||||
index 57b1734..b6981f5 100755
|
||||
--- a/sysui/desktop/menus/math.desktop
|
||||
+++ b/sysui/desktop/menus/math.desktop
|
||||
@@ -38,4 +38,3 @@ Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
Name=New Formula
|
||||
Exec=${UNIXBASISROOTNAME} --math
|
||||
-OnlyShowIn=Unity;
|
||||
diff --git a/sysui/desktop/menus/startcenter.desktop b/sysui/desktop/menus/startcenter.desktop
|
||||
index dabe887..3858c89 100755
|
||||
--- a/sysui/desktop/menus/startcenter.desktop
|
||||
+++ b/sysui/desktop/menus/startcenter.desktop
|
||||
@@ -38,31 +38,25 @@ Actions=Writer;Calc;Impress;Draw;Base;Math;
|
||||
[Desktop Action Writer]
|
||||
Name=Text Document
|
||||
Exec=${UNIXBASISROOTNAME} --writer
|
||||
-OnlyShowIn=Unity;
|
||||
|
||||
[Desktop Action Calc]
|
||||
Name=Spreadsheet
|
||||
Exec=${UNIXBASISROOTNAME} --calc
|
||||
-OnlyShowIn=Unity;
|
||||
|
||||
[Desktop Action Impress]
|
||||
Name=Presentation
|
||||
Exec=${UNIXBASISROOTNAME} --impress
|
||||
-OnlyShowIn=Unity;
|
||||
|
||||
[Desktop Action Draw]
|
||||
Name=Drawing
|
||||
Exec=${UNIXBASISROOTNAME} --draw
|
||||
-OnlyShowIn=Unity;
|
||||
|
||||
[Desktop Action Base]
|
||||
Name=Database
|
||||
Exec=${UNIXBASISROOTNAME} --base
|
||||
-OnlyShowIn=Unity;
|
||||
|
||||
[Desktop Action Math]
|
||||
Name=Formula
|
||||
Exec=${UNIXBASISROOTNAME} --math
|
||||
-OnlyShowIn=Unity;
|
||||
|
||||
##End of actions menu
|
||||
diff --git a/sysui/desktop/menus/writer.desktop b/sysui/desktop/menus/writer.desktop
|
||||
index e59187e..c4cea12 100755
|
||||
--- a/sysui/desktop/menus/writer.desktop
|
||||
+++ b/sysui/desktop/menus/writer.desktop
|
||||
@@ -37,4 +37,3 @@ Actions=NewDocument;
|
||||
[Desktop Action NewDocument]
|
||||
Name=New Document
|
||||
Exec=${UNIXBASISROOTNAME} --writer
|
||||
-OnlyShowIn=Unity;
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,46 +0,0 @@
|
||||
From d1d25c8cbc2962ce2501b4ed6034d2e4e4ccba9a Mon Sep 17 00:00:00 2001
|
||||
From: Andras Timar <andras.timar@collabora.com>
|
||||
Date: Thu, 24 Apr 2014 21:50:26 +0200
|
||||
Subject: [PATCH] fdo#77242 fix crash
|
||||
|
||||
Change-Id: Ic28b2dccc02627446a794929fe970495b15eb0e1
|
||||
Reviewed-on: https://gerrit.libreoffice.org/9154
|
||||
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
||||
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
||||
---
|
||||
sfx2/source/dialog/tabdlg.cxx | 12 +++++++++++-
|
||||
1 file changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sfx2/source/dialog/tabdlg.cxx b/sfx2/source/dialog/tabdlg.cxx
|
||||
index 95bdbad..065a23c 100644
|
||||
--- a/sfx2/source/dialog/tabdlg.cxx
|
||||
+++ b/sfx2/source/dialog/tabdlg.cxx
|
||||
@@ -1270,7 +1270,7 @@ IMPL_LINK( SfxTabDialog, ActivatePageHdl, TabControl *, pTabCtrl )
|
||||
*/
|
||||
|
||||
{
|
||||
- sal_uInt16 const nId = pTabCtrl->GetCurPageId();
|
||||
+ sal_uInt16 nId = pTabCtrl->GetCurPageId();
|
||||
|
||||
DBG_ASSERT( pImpl->aData.size(), "no Pages registered" );
|
||||
SFX_APP();
|
||||
@@ -1278,6 +1278,16 @@ IMPL_LINK( SfxTabDialog, ActivatePageHdl, TabControl *, pTabCtrl )
|
||||
// Tab Page schon da?
|
||||
SfxTabPage* pTabPage = dynamic_cast<SfxTabPage*> (pTabCtrl->GetTabPage( nId ));
|
||||
Data_Impl* pDataObject = Find( pImpl->aData, nId );
|
||||
+
|
||||
+ //UUUU fallback to 1st page when requested one does not exist
|
||||
+ if(!pDataObject && pTabCtrl->GetPageCount())
|
||||
+ {
|
||||
+ pTabCtrl->SetCurPageId(pTabCtrl->GetPageId(0));
|
||||
+ nId = pTabCtrl->GetCurPageId();
|
||||
+ pTabPage = dynamic_cast< SfxTabPage* >(pTabCtrl->GetTabPage(nId));
|
||||
+ pDataObject = Find(pImpl->aData, nId);
|
||||
+ }
|
||||
+
|
||||
DBG_ASSERT( pDataObject, "Id not known" );
|
||||
|
||||
// Create TabPage if possible:
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,125 +0,0 @@
|
||||
From 624e5c34ce815af6f65ce6699ad6b3f2aa1bf0da Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Mon, 12 May 2014 14:02:13 +0200
|
||||
Subject: [PATCH] fdo#78119 find the longest match for month name
|
||||
|
||||
Change-Id: Idad7b083ce5528f5c735f3a8bd091819bf043fc8
|
||||
---
|
||||
svl/source/numbers/zforfind.cxx | 69 ++++++++++++++++++++++++++++-------------
|
||||
1 file changed, 48 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/svl/source/numbers/zforfind.cxx b/svl/source/numbers/zforfind.cxx
|
||||
index a022d2d..c77bb0a 100644
|
||||
--- a/svl/source/numbers/zforfind.cxx
|
||||
+++ b/svl/source/numbers/zforfind.cxx
|
||||
@@ -563,6 +563,7 @@ short ImpSvNumberInputScan::GetMonth( const OUString& rString, sal_Int32& nPos )
|
||||
static const OUString aSepShortened("SEP");
|
||||
|
||||
short res = 0; // no month found
|
||||
+ int nMatchLen = 0;
|
||||
|
||||
if (rString.getLength() > nPos) // only if needed
|
||||
{
|
||||
@@ -571,52 +572,78 @@ short ImpSvNumberInputScan::GetMonth( const OUString& rString, sal_Int32& nPos )
|
||||
InitText();
|
||||
}
|
||||
sal_Int16 nMonths = pFormatter->GetCalendar()->getNumberOfMonthsInYear();
|
||||
+ // Find the longest match. This is needed for, e.g., Czech, as Červen (June)
|
||||
+ // is fully contained in Červenec (July), so the latter could never be found
|
||||
+ // if we stopped at the first match.
|
||||
for ( sal_Int16 i = 0; i < nMonths; i++ )
|
||||
{
|
||||
if ( bScanGenitiveMonths && StringContains( pUpperGenitiveMonthText[i], rString, nPos ) )
|
||||
{ // genitive full names first
|
||||
- nPos = nPos + pUpperGenitiveMonthText[i].getLength();
|
||||
- res = i + 1;
|
||||
- break; // for
|
||||
+ const int nMonthLen = pUpperGenitiveMonthText[i].getLength();
|
||||
+ if (nMonthLen > nMatchLen)
|
||||
+ {
|
||||
+ nMatchLen = nMonthLen;
|
||||
+ res = i + 1;
|
||||
+ }
|
||||
}
|
||||
else if ( bScanGenitiveMonths && StringContains( pUpperGenitiveAbbrevMonthText[i], rString, nPos ) )
|
||||
{ // genitive abbreviated
|
||||
- nPos = nPos + pUpperGenitiveAbbrevMonthText[i].getLength();
|
||||
- res = sal::static_int_cast< short >(-(i+1)); // negative
|
||||
- break; // for
|
||||
+ const int nMonthLen = pUpperGenitiveAbbrevMonthText[i].getLength();
|
||||
+ if (nMonthLen > nMatchLen)
|
||||
+ {
|
||||
+ nMatchLen = nMonthLen;
|
||||
+ res = sal::static_int_cast< short >(-(i+1)); // negative
|
||||
+ }
|
||||
}
|
||||
else if ( bScanPartitiveMonths && StringContains( pUpperPartitiveMonthText[i], rString, nPos ) )
|
||||
{ // partitive full names
|
||||
- nPos = nPos + pUpperPartitiveMonthText[i].getLength();
|
||||
- res = i+1;
|
||||
- break; // for
|
||||
+ const int nMonthLen = pUpperPartitiveMonthText[i].getLength();
|
||||
+ if (nMonthLen > nMatchLen)
|
||||
+ {
|
||||
+ nMatchLen = nMonthLen;
|
||||
+ res = i+1;
|
||||
+ }
|
||||
}
|
||||
else if ( bScanPartitiveMonths && StringContains( pUpperPartitiveAbbrevMonthText[i], rString, nPos ) )
|
||||
{ // partitive abbreviated
|
||||
- nPos = nPos + pUpperPartitiveAbbrevMonthText[i].getLength();
|
||||
- res = sal::static_int_cast< short >(-(i+1)); // negative
|
||||
- break; // for
|
||||
+ const int nMonthLen = pUpperPartitiveAbbrevMonthText[i].getLength();
|
||||
+ if (nMonthLen > nMatchLen)
|
||||
+ {
|
||||
+ nMatchLen = nMonthLen;
|
||||
+ res = sal::static_int_cast< short >(-(i+1)); // negative
|
||||
+ }
|
||||
}
|
||||
else if ( StringContains( pUpperMonthText[i], rString, nPos ) )
|
||||
{ // noun full names
|
||||
- nPos = nPos + pUpperMonthText[i].getLength();
|
||||
- res = i+1;
|
||||
- break; // for
|
||||
+ const int nMonthLen = pUpperMonthText[i].getLength();
|
||||
+ if (nMonthLen > nMatchLen)
|
||||
+ {
|
||||
+ nMatchLen = nMonthLen;
|
||||
+ res = i+1;
|
||||
+ }
|
||||
}
|
||||
else if ( StringContains( pUpperAbbrevMonthText[i], rString, nPos ) )
|
||||
{ // noun abbreviated
|
||||
- nPos = nPos + pUpperAbbrevMonthText[i].getLength();
|
||||
- res = sal::static_int_cast< short >(-(i+1)); // negative
|
||||
- break; // for
|
||||
+ const int nMonthLen = pUpperAbbrevMonthText[i].getLength();
|
||||
+ if (nMonthLen > nMatchLen)
|
||||
+ {
|
||||
+ nMatchLen = nMonthLen;
|
||||
+ res = sal::static_int_cast< short >(-(i+1)); // negative
|
||||
+ }
|
||||
}
|
||||
else if ( i == 8 && pUpperAbbrevMonthText[i] == aSeptCorrect &&
|
||||
StringContains( aSepShortened, rString, nPos ) )
|
||||
{ // #102136# SEPT/SEP
|
||||
- nPos = nPos + aSepShortened.getLength();
|
||||
- res = sal::static_int_cast< short >(-(i+1)); // negative
|
||||
- break; // for
|
||||
+ const int nMonthLen = aSepShortened.getLength();
|
||||
+ if (nMonthLen > nMatchLen)
|
||||
+ {
|
||||
+ nMatchLen = nMonthLen;
|
||||
+ res = sal::static_int_cast< short >(-(i+1)); // negative
|
||||
+ }
|
||||
}
|
||||
}
|
||||
+
|
||||
+ nPos += nMatchLen;
|
||||
}
|
||||
|
||||
return res;
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,41 +0,0 @@
|
||||
From 2e9a77aa2d8e83f6296cd9204759d18b0ec5f0b5 Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Thu, 15 May 2014 13:41:16 +0200
|
||||
Subject: [PATCH] fix for doxygen 1.8.7
|
||||
|
||||
Earlier versions apparently used HTML as default if no output format was
|
||||
specified. 1.8.7 no longer does that.
|
||||
|
||||
Change-Id: Ia8f908f54b344530e1b50e8800c032f782fb36e9
|
||||
---
|
||||
odk/docs/cpp/Doxyfile | 1 +
|
||||
odk/docs/idl/Doxyfile | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/odk/docs/cpp/Doxyfile b/odk/docs/cpp/Doxyfile
|
||||
index 30346e0..2519f1b 100644
|
||||
--- a/odk/docs/cpp/Doxyfile
|
||||
+++ b/odk/docs/cpp/Doxyfile
|
||||
@@ -24,6 +24,7 @@ WARN_FORMAT = "$file:$line: $text"
|
||||
INPUT = %
|
||||
RECURSIVE = YES
|
||||
|
||||
+GENERATE_HTML = YES
|
||||
HTML_OUTPUT = .
|
||||
|
||||
GENERATE_LATEX = NO
|
||||
diff --git a/odk/docs/idl/Doxyfile b/odk/docs/idl/Doxyfile
|
||||
index 6eead54..c065b33 100644
|
||||
--- a/odk/docs/idl/Doxyfile
|
||||
+++ b/odk/docs/idl/Doxyfile
|
||||
@@ -13,6 +13,7 @@ STRIP_FROM_PATH = %
|
||||
INPUT = %
|
||||
RECURSIVE = YES
|
||||
|
||||
+GENERATE_HTML = YES
|
||||
HTML_OUTPUT = .
|
||||
GENERATE_LATEX = NO
|
||||
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,31 +0,0 @@
|
||||
From 3617ee56f8540f225f664650882b2158e0ccdb41 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Fri, 16 May 2014 16:06:10 +0100
|
||||
Subject: [PATCH 1/2] fix memory leak on pasting metafiles into writer
|
||||
|
||||
copying from mspaint to writer and then deleting the image in a loop will
|
||||
eventually exhaust all memory.
|
||||
|
||||
regression since 004a29b9ac66f68af5ea12a2303a4b2be77d8145
|
||||
|
||||
Change-Id: I381285cda3823de7df0c1725a339943caf9536fe
|
||||
---
|
||||
svtools/source/graphic/grfcache.cxx | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/svtools/source/graphic/grfcache.cxx b/svtools/source/graphic/grfcache.cxx
|
||||
index 26d766a..72fdc3a 100644
|
||||
--- a/svtools/source/graphic/grfcache.cxx
|
||||
+++ b/svtools/source/graphic/grfcache.cxx
|
||||
@@ -367,7 +367,7 @@ void GraphicCacheEntry::GraphicObjectWasSwappedOut( const GraphicObject& /*rObj*
|
||||
if( mbSwappedAll )
|
||||
{
|
||||
delete mpBmpEx, mpBmpEx = NULL;
|
||||
- mpMtf = NULL; // No need to delete it as it has already been dereferenced
|
||||
+ delete mpMtf, mpMtf = NULL;
|
||||
delete mpAnimation, mpAnimation = NULL;
|
||||
|
||||
// #119176# also reset SvgData
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,76 +0,0 @@
|
||||
From 2d3aabf379d546684f3229e14752a86d784feaa5 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= <l.lunak@collabora.com>
|
||||
Date: Tue, 25 Mar 2014 12:20:16 +0100
|
||||
Subject: [PATCH 2/2] prevent KDE/Qt from interfering with the session manager
|
||||
|
||||
I occassionally get lockups in IceProcessMessages() called from QtCore,
|
||||
I'm actually not exactly sure why, as theoretically two connections
|
||||
from one app shouldn't be a problem, but since LO does its own
|
||||
session handling, there's no need to the KDE/Qt code to be involved,
|
||||
so prevent it from connecting to the session manager altogether.
|
||||
|
||||
Change-Id: Iebe20d4cb5403e5fea8bd5d8c1f69b62d1c2907b
|
||||
---
|
||||
vcl/unx/kde4/KDEXLib.cxx | 17 ++++++++++++++++-
|
||||
vcl/unx/kde4/VCLKDEApplication.hxx | 8 --------
|
||||
2 files changed, 16 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/vcl/unx/kde4/KDEXLib.cxx b/vcl/unx/kde4/KDEXLib.cxx
|
||||
index 820d39a..e4900a7 100644
|
||||
--- a/vcl/unx/kde4/KDEXLib.cxx
|
||||
+++ b/vcl/unx/kde4/KDEXLib.cxx
|
||||
@@ -166,8 +166,23 @@ void KDEXLib::Init()
|
||||
|
||||
KCmdLineArgs::init( m_nFakeCmdLineArgs, m_pAppCmdLineArgs, kAboutData );
|
||||
|
||||
+ // LO does its own session management, so prevent KDE/Qt from interfering
|
||||
+ // (QApplication::disableSessionManagement(false) wouldn't quite do,
|
||||
+ // since that still actually connects to the session manager, it just
|
||||
+ // won't save the application data on session shutdown).
|
||||
+ char* session_manager = NULL;
|
||||
+ if( getenv( "SESSION_MANAGER" ) != NULL )
|
||||
+ {
|
||||
+ session_manager = strdup( getenv( "SESSION_MANAGER" ));
|
||||
+ unsetenv( "SESSION_MANAGER" );
|
||||
+ }
|
||||
m_pApplication = new VCLKDEApplication();
|
||||
- kapp->disableSessionManagement();
|
||||
+ if( session_manager != NULL )
|
||||
+ {
|
||||
+ setenv( "SESSION_MANAGER", session_manager, 1 );
|
||||
+ free( session_manager );
|
||||
+ }
|
||||
+
|
||||
KApplication::setQuitOnLastWindowClosed(false);
|
||||
|
||||
#if KDE_HAVE_GLIB
|
||||
diff --git a/vcl/unx/kde4/VCLKDEApplication.hxx b/vcl/unx/kde4/VCLKDEApplication.hxx
|
||||
index 412ee34..4ce0b2c 100644
|
||||
--- a/vcl/unx/kde4/VCLKDEApplication.hxx
|
||||
+++ b/vcl/unx/kde4/VCLKDEApplication.hxx
|
||||
@@ -21,22 +21,14 @@
|
||||
|
||||
#define Region QtXRegion
|
||||
|
||||
-#include <QSessionManager>
|
||||
-
|
||||
#include <kapplication.h>
|
||||
|
||||
#undef Region
|
||||
|
||||
-/* #i59042# override KApplications method for session management
|
||||
- * since it will interfere badly with our own.
|
||||
- */
|
||||
class VCLKDEApplication : public KApplication
|
||||
{
|
||||
public:
|
||||
VCLKDEApplication();
|
||||
-
|
||||
- virtual void commitData(QSessionManager&) {};
|
||||
-
|
||||
virtual bool x11EventFilter(XEvent* event);
|
||||
};
|
||||
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,197 +0,0 @@
|
||||
From 9bcdcd06781ea8a291510c42075ab08154a6d666 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <9bcdcd06781ea8a291510c42075ab08154a6d666.1399592425.git.erack@redhat.com>
|
||||
From: Eike Rathke <erack@redhat.com>
|
||||
Date: Fri, 9 May 2014 00:11:06 +0200
|
||||
Subject: [PATCH] resolve fdo#77509 memory corruption / crash in Consolidate
|
||||
MIME-Version: 1.0
|
||||
Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
|
||||
|
||||
This is a multi-part message in MIME format.
|
||||
--------------erAck-patch-parts
|
||||
Content-Type: text/plain; charset=UTF-8; format=fixed
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
|
||||
Regression introduced with c81dec478ab0618f2acd2580654a93d3a7185444
|
||||
memcpy some sizeof(OUString) is doomed to fail.
|
||||
|
||||
Change-Id: I81dc9cc7eaf02607ed05b4d284a7e5e462eeeb0a
|
||||
(cherry picked from commit e891afeccba8f20f8bdaeacb20f2215cfcb1abfd)
|
||||
---
|
||||
sc/inc/consoli.hxx | 7 +++---
|
||||
sc/source/core/tool/consoli.cxx | 52 +++++++++++++++--------------------------
|
||||
2 files changed, 22 insertions(+), 37 deletions(-)
|
||||
|
||||
|
||||
--------------erAck-patch-parts
|
||||
Content-Type: text/x-patch; name="0001-resolve-fdo-77509-memory-corruption-crash-in-Consoli.patch"
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Content-Disposition: attachment; filename="0001-resolve-fdo-77509-memory-corruption-crash-in-Consoli.patch"
|
||||
|
||||
diff --git a/sc/inc/consoli.hxx b/sc/inc/consoli.hxx
|
||||
index 9ae5060..e93ea8a 100644
|
||||
--- a/sc/inc/consoli.hxx
|
||||
+++ b/sc/inc/consoli.hxx
|
||||
@@ -80,11 +80,10 @@ private:
|
||||
double** ppCount;
|
||||
double** ppSumSqr;
|
||||
ScReferenceList** ppRefs;
|
||||
- OUString* mpColHeaders;
|
||||
- OUString* mpRowHeaders;
|
||||
+ ::std::vector<OUString> maColHeaders;
|
||||
+ ::std::vector<OUString> maRowHeaders;
|
||||
+ ::std::vector<OUString> maTitles;
|
||||
SCSIZE nDataCount;
|
||||
- SCSIZE nTitleCount;
|
||||
- OUString* mpTitles;
|
||||
SCSIZE** ppTitlePos;
|
||||
sal_Bool bCornerUsed;
|
||||
OUString aCornerText; // only for bColByName && bRowByName
|
||||
diff --git a/sc/source/core/tool/consoli.cxx b/sc/source/core/tool/consoli.cxx
|
||||
index 3dbe8f9..c2a5121 100644
|
||||
--- a/sc/source/core/tool/consoli.cxx
|
||||
+++ b/sc/source/core/tool/consoli.cxx
|
||||
@@ -70,16 +70,9 @@ void ScReferenceList::AddEntry( SCCOL nCol, SCROW nRow, SCTAB nTab )
|
||||
}
|
||||
|
||||
template< typename T >
|
||||
-static void lcl_AddString( OUString*& pData, T& nCount, const OUString& rInsert )
|
||||
+static void lcl_AddString( ::std::vector<OUString>& rData, T& nCount, const OUString& rInsert )
|
||||
{
|
||||
- OUString* pOldData = pData;
|
||||
- pData = new OUString[ nCount+1 ];
|
||||
- if (pOldData)
|
||||
- {
|
||||
- memcpy( pData, pOldData, nCount * sizeof(OUString) );
|
||||
- delete[] pOldData;
|
||||
- }
|
||||
- pData[nCount] = rInsert;
|
||||
+ rData.push_back( rInsert);
|
||||
++nCount;
|
||||
}
|
||||
|
||||
@@ -95,11 +88,7 @@ ScConsData::ScConsData() :
|
||||
ppCount(NULL),
|
||||
ppSumSqr(NULL),
|
||||
ppRefs(NULL),
|
||||
- mpColHeaders(NULL),
|
||||
- mpRowHeaders(NULL),
|
||||
nDataCount(0),
|
||||
- nTitleCount(0),
|
||||
- mpTitles(NULL),
|
||||
ppTitlePos(NULL),
|
||||
bCornerUsed(false)
|
||||
{
|
||||
@@ -140,16 +129,12 @@ void ScConsData::DeleteData()
|
||||
DELETEARR( ppSumSqr,nColCount );
|
||||
DELETEARR( ppUsed, nColCount ); // erst nach ppRefs !!!
|
||||
DELETEARR( ppTitlePos, nRowCount );
|
||||
- delete[] mpColHeaders;
|
||||
- mpColHeaders = NULL;
|
||||
- delete[] mpRowHeaders;
|
||||
- mpRowHeaders = NULL;
|
||||
- delete[] mpTitles;
|
||||
- mpTitles = NULL;
|
||||
- nTitleCount = 0;
|
||||
+ ::std::vector<OUString>().swap( maColHeaders);
|
||||
+ ::std::vector<OUString>().swap( maRowHeaders);
|
||||
+ ::std::vector<OUString>().swap( maTitles);
|
||||
nDataCount = 0;
|
||||
|
||||
- if (bColByName) nColCount = 0; // sonst stimmt mpColHeaders nicht
|
||||
+ if (bColByName) nColCount = 0; // sonst stimmt maColHeaders nicht
|
||||
if (bRowByName) nRowCount = 0;
|
||||
|
||||
bCornerUsed = false;
|
||||
@@ -256,10 +241,10 @@ void ScConsData::AddFields( ScDocument* pSrcDoc, SCTAB nTab,
|
||||
{
|
||||
bool bFound = false;
|
||||
for (SCSIZE i=0; i<nColCount && !bFound; i++)
|
||||
- if ( mpColHeaders[i] == aTitle )
|
||||
+ if ( maColHeaders[i] == aTitle )
|
||||
bFound = true;
|
||||
if (!bFound)
|
||||
- lcl_AddString( mpColHeaders, nColCount, aTitle );
|
||||
+ lcl_AddString( maColHeaders, nColCount, aTitle );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -273,10 +258,10 @@ void ScConsData::AddFields( ScDocument* pSrcDoc, SCTAB nTab,
|
||||
{
|
||||
bool bFound = false;
|
||||
for (SCSIZE i=0; i<nRowCount && !bFound; i++)
|
||||
- if ( mpRowHeaders[i] == aTitle )
|
||||
+ if ( maRowHeaders[i] == aTitle )
|
||||
bFound = true;
|
||||
if (!bFound)
|
||||
- lcl_AddString( mpRowHeaders, nRowCount, aTitle );
|
||||
+ lcl_AddString( maRowHeaders, nRowCount, aTitle );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -289,7 +274,8 @@ void ScConsData::AddName( const OUString& rName )
|
||||
|
||||
if (bReference)
|
||||
{
|
||||
- lcl_AddString( mpTitles, nTitleCount, rName );
|
||||
+ maTitles.push_back( rName);
|
||||
+ size_t nTitleCount = maTitles.size();
|
||||
|
||||
for (nArrY=0; nArrY<nRowCount; nArrY++)
|
||||
{
|
||||
@@ -528,7 +514,7 @@ void ScConsData::AddData( ScDocument* pSrcDoc, SCTAB nTab,
|
||||
{
|
||||
bool bFound = false;
|
||||
for (SCSIZE i=0; i<nColCount && !bFound; i++)
|
||||
- if ( mpColHeaders[i] == aTitle )
|
||||
+ if ( maColHeaders[i] == aTitle )
|
||||
{
|
||||
nPos = static_cast<SCCOL>(i);
|
||||
bFound = true;
|
||||
@@ -549,7 +535,7 @@ void ScConsData::AddData( ScDocument* pSrcDoc, SCTAB nTab,
|
||||
{
|
||||
bool bFound = false;
|
||||
for (SCSIZE i=0; i<nRowCount && !bFound; i++)
|
||||
- if ( mpRowHeaders[i] == aTitle )
|
||||
+ if ( maRowHeaders[i] == aTitle )
|
||||
{
|
||||
nPos = static_cast<SCROW>(i);
|
||||
bFound = true;
|
||||
@@ -661,10 +647,10 @@ void ScConsData::OutputToDocument( ScDocument* pDestDoc, SCCOL nCol, SCROW nRow,
|
||||
|
||||
if (bColByName)
|
||||
for (SCSIZE i=0; i<nColCount; i++)
|
||||
- pDestDoc->SetString( sal::static_int_cast<SCCOL>(nStartCol+i), nRow, nTab, mpColHeaders[i] );
|
||||
+ pDestDoc->SetString( sal::static_int_cast<SCCOL>(nStartCol+i), nRow, nTab, maColHeaders[i] );
|
||||
if (bRowByName)
|
||||
for (SCSIZE j=0; j<nRowCount; j++)
|
||||
- pDestDoc->SetString( nCol, sal::static_int_cast<SCROW>(nStartRow+j), nTab, mpRowHeaders[j] );
|
||||
+ pDestDoc->SetString( nCol, sal::static_int_cast<SCROW>(nStartRow+j), nTab, maRowHeaders[j] );
|
||||
|
||||
nCol = nStartCol;
|
||||
nRow = nStartRow;
|
||||
@@ -774,7 +760,7 @@ void ScConsData::OutputToDocument( ScDocument* pDestDoc, SCCOL nCol, SCROW nRow,
|
||||
|
||||
// Zwischentitel
|
||||
|
||||
- if (ppTitlePos && mpTitles && mpRowHeaders)
|
||||
+ if (ppTitlePos && !maTitles.empty() && !maRowHeaders.empty())
|
||||
{
|
||||
OUString aDelim( " / " );
|
||||
for (SCSIZE nPos=0; nPos<nDataCount; nPos++)
|
||||
@@ -786,9 +772,9 @@ void ScConsData::OutputToDocument( ScDocument* pDestDoc, SCCOL nCol, SCROW nRow,
|
||||
bDo = false; // leer
|
||||
if ( bDo && nTPos < nNeeded )
|
||||
{
|
||||
- aString = mpRowHeaders[nArrY];
|
||||
+ aString = maRowHeaders[nArrY];
|
||||
aString += aDelim;
|
||||
- aString += mpTitles[nPos];
|
||||
+ aString += maTitles[nPos];
|
||||
pDestDoc->SetString( nCol-1, nRow+nArrY+nTPos, nTab, aString );
|
||||
}
|
||||
}
|
||||
|
||||
--------------erAck-patch-parts--
|
||||
|
||||
|
@ -1,51 +0,0 @@
|
||||
From 3efb6e5c35bb1129a78726b163f8fbf9bd94734a Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <3efb6e5c35bb1129a78726b163f8fbf9bd94734a.1399366556.git.erack@redhat.com>
|
||||
From: Eike Rathke <erack@redhat.com>
|
||||
Date: Mon, 5 May 2014 18:18:57 +0100
|
||||
Subject: [PATCH] resolved fdo#78294 default null-date for document import is
|
||||
1899-12-30
|
||||
MIME-Version: 1.0
|
||||
Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
|
||||
|
||||
This is a multi-part message in MIME format.
|
||||
--------------erAck-patch-parts
|
||||
Content-Type: text/plain; charset=UTF-8; format=fixed
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
|
||||
Change-Id: I9dfe76d422ad732a081442b95a995d8d395a098e
|
||||
(cherry picked from commit 571cefca474e6b77d68f9fa31f805dcf692927fd)
|
||||
Reviewed-on: https://gerrit.libreoffice.org/9253
|
||||
Reviewed-by: Kohei Yoshida <libreoffice@kohei.us>
|
||||
Tested-by: Kohei Yoshida <libreoffice@kohei.us>
|
||||
---
|
||||
sc/source/ui/docshell/docsh3.cxx | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
|
||||
--------------erAck-patch-parts
|
||||
Content-Type: text/x-patch; name="0001-resolved-fdo-78294-default-null-date-for-document-im.patch"
|
||||
Content-Transfer-Encoding: 8bit
|
||||
Content-Disposition: attachment; filename="0001-resolved-fdo-78294-default-null-date-for-document-im.patch"
|
||||
|
||||
diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx
|
||||
index fcb2760f..42817ee 100644
|
||||
--- a/sc/source/ui/docshell/docsh3.cxx
|
||||
+++ b/sc/source/ui/docshell/docsh3.cxx
|
||||
@@ -428,6 +428,12 @@ void ScDocShell::InitOptions(bool bForLoading) // called from InitNew and L
|
||||
// so it must not be taken from the global options.
|
||||
// Calculation settings are handled separately in ScXMLBodyContext::EndElement.
|
||||
aDocOpt.SetStdPrecision( SvNumberFormatter::UNLIMITED_PRECISION );
|
||||
+
|
||||
+ // fdo#78294 The default null-date if
|
||||
+ // <table:null-date table:date-value='...' />
|
||||
+ // is absent is 1899-12-30 regardless what the configuration is set to.
|
||||
+ // Import filters may override this value.
|
||||
+ aDocOpt.SetDate( 30, 12, 1899);
|
||||
}
|
||||
|
||||
aDocument.SetDocOptions( aDocOpt );
|
||||
|
||||
--------------erAck-patch-parts--
|
||||
|
||||
|
@ -1,156 +0,0 @@
|
||||
From 35f78e48582caa691a855101a0d661985ba067bb Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Wed, 5 Feb 2014 10:55:25 +0100
|
||||
Subject: [PATCH] rhbz#1057977 avoid use of invalidated pointers
|
||||
|
||||
Change-Id: Ib81f79da696b5e8002f5a2ddcf160903231dc3f1
|
||||
---
|
||||
include/vcl/outdev.hxx | 6 +++++
|
||||
vcl/source/gdi/outdev3.cxx | 59 +++++++++++++++++++++++++++++++++++++++++-----
|
||||
2 files changed, 59 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx
|
||||
index 047a79d..4f157b7 100644
|
||||
--- a/include/vcl/outdev.hxx
|
||||
+++ b/include/vcl/outdev.hxx
|
||||
@@ -547,9 +547,15 @@ protected:
|
||||
OutputDevice();
|
||||
|
||||
private:
|
||||
+ typedef void ( OutputDevice::* FontUpdateHandler_t )( bool );
|
||||
+
|
||||
SAL_DLLPRIVATE OutputDevice( const OutputDevice& rOutDev );
|
||||
SAL_DLLPRIVATE OutputDevice& operator =( const OutputDevice& rOutDev );
|
||||
|
||||
+ SAL_DLLPRIVATE void ImplClearFontData( bool bNewFontLists );
|
||||
+ SAL_DLLPRIVATE void ImplRefreshFontData( bool bNewFontLists );
|
||||
+ SAL_DLLPRIVATE static void ImplUpdateFontDataForAllFrames( FontUpdateHandler_t pHdl, bool bNewFontLists );
|
||||
+
|
||||
public:
|
||||
virtual ~OutputDevice();
|
||||
|
||||
diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx
|
||||
index afe06f7..d789eb9 100644
|
||||
--- a/vcl/source/gdi/outdev3.cxx
|
||||
+++ b/vcl/source/gdi/outdev3.cxx
|
||||
@@ -156,7 +156,7 @@ static void ImplRotatePos( long nOriginX, long nOriginY, long& rX, long& rY,
|
||||
}
|
||||
}
|
||||
|
||||
-void OutputDevice::ImplUpdateFontData( bool bNewFontLists )
|
||||
+void OutputDevice::ImplClearFontData( const bool bNewFontLists )
|
||||
{
|
||||
// the currently selected logical font is no longer needed
|
||||
if ( mpFontEntry )
|
||||
@@ -207,6 +207,38 @@ void OutputDevice::ImplUpdateFontData( bool bNewFontLists )
|
||||
delete mpFontList;
|
||||
if( mpFontCache && mpFontCache != pSVData->maGDIData.mpScreenFontCache )
|
||||
delete mpFontCache;
|
||||
+ mpFontList = 0;
|
||||
+ mpFontCache = 0;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // also update child windows if needed
|
||||
+ if ( GetOutDevType() == OUTDEV_WINDOW )
|
||||
+ {
|
||||
+ Window* pChild = ((Window*)this)->mpWindowImpl->mpFirstChild;
|
||||
+ while ( pChild )
|
||||
+ {
|
||||
+ pChild->ImplClearFontData( true );
|
||||
+ pChild = pChild->mpWindowImpl->mpNext;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+void OutputDevice::ImplRefreshFontData( const bool bNewFontLists )
|
||||
+{
|
||||
+// if ( GetOutDevType() == OUTDEV_PRINTER || mpPDFWriter )
|
||||
+ {
|
||||
+ ImplSVData* pSVData = ImplGetSVData();
|
||||
+
|
||||
+ if ( bNewFontLists )
|
||||
+ {
|
||||
+ // we need a graphics
|
||||
+ if ( ImplGetGraphics() )
|
||||
+ {
|
||||
+ if( mpPDFWriter )
|
||||
+ {
|
||||
mpFontList = pSVData->maGDIData.mpScreenFontList->Clone( true, true );
|
||||
mpFontCache = new ImplFontCache( sal_False );
|
||||
}
|
||||
@@ -227,16 +259,24 @@ void OutputDevice::ImplUpdateFontData( bool bNewFontLists )
|
||||
Window* pChild = ((Window*)this)->mpWindowImpl->mpFirstChild;
|
||||
while ( pChild )
|
||||
{
|
||||
- pChild->ImplUpdateFontData( true );
|
||||
+ pChild->ImplRefreshFontData( true );
|
||||
pChild = pChild->mpWindowImpl->mpNext;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+void OutputDevice::ImplUpdateFontData( bool bNewFontLists )
|
||||
+{
|
||||
+ ImplClearFontData( bNewFontLists );
|
||||
+ ImplRefreshFontData( bNewFontLists );
|
||||
+}
|
||||
+
|
||||
void OutputDevice::ImplUpdateAllFontData( bool bNewFontLists )
|
||||
{
|
||||
ImplSVData* pSVData = ImplGetSVData();
|
||||
|
||||
+ ImplUpdateFontDataForAllFrames( &OutputDevice::ImplClearFontData, bNewFontLists );
|
||||
+
|
||||
// clear global font lists to have them updated
|
||||
pSVData->maGDIData.mpScreenFontCache->Invalidate();
|
||||
if ( bNewFontLists )
|
||||
@@ -255,16 +295,23 @@ void OutputDevice::ImplUpdateAllFontData( bool bNewFontLists )
|
||||
}
|
||||
}
|
||||
|
||||
+ ImplUpdateFontDataForAllFrames( &OutputDevice::ImplRefreshFontData, bNewFontLists );
|
||||
+}
|
||||
+
|
||||
+void OutputDevice::ImplUpdateFontDataForAllFrames( const FontUpdateHandler_t pHdl, const bool bNewFontLists )
|
||||
+{
|
||||
+ ImplSVData* const pSVData = ImplGetSVData();
|
||||
+
|
||||
// update all windows
|
||||
Window* pFrame = pSVData->maWinData.mpFirstFrame;
|
||||
while ( pFrame )
|
||||
{
|
||||
- pFrame->ImplUpdateFontData( bNewFontLists );
|
||||
+ ( pFrame->*pHdl )( bNewFontLists );
|
||||
|
||||
Window* pSysWin = pFrame->mpWindowImpl->mpFrameData->mpFirstOverlap;
|
||||
while ( pSysWin )
|
||||
{
|
||||
- pSysWin->ImplUpdateFontData( bNewFontLists );
|
||||
+ ( pSysWin->*pHdl )( bNewFontLists );
|
||||
pSysWin = pSysWin->mpWindowImpl->mpNextOverlap;
|
||||
}
|
||||
|
||||
@@ -275,7 +322,7 @@ void OutputDevice::ImplUpdateAllFontData( bool bNewFontLists )
|
||||
VirtualDevice* pVirDev = pSVData->maGDIData.mpFirstVirDev;
|
||||
while ( pVirDev )
|
||||
{
|
||||
- pVirDev->ImplUpdateFontData( bNewFontLists );
|
||||
+ ( pVirDev->*pHdl )( bNewFontLists );
|
||||
pVirDev = pVirDev->mpNext;
|
||||
}
|
||||
|
||||
@@ -283,7 +330,7 @@ void OutputDevice::ImplUpdateAllFontData( bool bNewFontLists )
|
||||
Printer* pPrinter = pSVData->maGDIData.mpFirstPrinter;
|
||||
while ( pPrinter )
|
||||
{
|
||||
- pPrinter->ImplUpdateFontData( bNewFontLists );
|
||||
+ ( pPrinter->*pHdl )( bNewFontLists );
|
||||
pPrinter = pPrinter->mpNext;
|
||||
}
|
||||
}
|
||||
--
|
||||
1.8.5.3
|
||||
|
@ -1,69 +0,0 @@
|
||||
From df71f13b80c30cb98e310baf8f6aee11f8cbe81d Mon Sep 17 00:00:00 2001
|
||||
From: David Tardon <dtardon@redhat.com>
|
||||
Date: Fri, 9 May 2014 13:07:33 +0200
|
||||
Subject: [PATCH] rhbz#1071604 don't crash if slide layout configs are missing
|
||||
|
||||
Change-Id: I5cbf4ed0683cc5736a45fb980827b1b56bd0c74c
|
||||
---
|
||||
sd/source/core/drawdoc.cxx | 38 ++++++++++++++++++++++++++------------
|
||||
1 file changed, 26 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/sd/source/core/drawdoc.cxx b/sd/source/core/drawdoc.cxx
|
||||
index 1de1f33..5904a64 100644
|
||||
--- a/sd/source/core/drawdoc.cxx
|
||||
+++ b/sd/source/core/drawdoc.cxx
|
||||
@@ -1008,12 +1008,19 @@ void SdDrawDocument::InitLayoutVector()
|
||||
const Reference<XDocumentBuilder> xDocBuilder(
|
||||
DocumentBuilder::create( comphelper::getComponentContext (xServiceFactory) ));
|
||||
|
||||
- // loop over every layout entry in current file
|
||||
- const Reference<XDocument> xDoc = xDocBuilder->parseURI( sFilename );
|
||||
- const Reference<XNodeList> layoutlist = xDoc->getElementsByTagName("layout");
|
||||
- const int nElements = layoutlist->getLength();
|
||||
- for(int index=0; index < nElements; index++)
|
||||
- maLayoutInfo.push_back( layoutlist->item(index) );
|
||||
+ try
|
||||
+ {
|
||||
+ // loop over every layout entry in current file
|
||||
+ const Reference<XDocument> xDoc = xDocBuilder->parseURI( sFilename );
|
||||
+ const Reference<XNodeList> layoutlist = xDoc->getElementsByTagName("layout");
|
||||
+ const int nElements = layoutlist->getLength();
|
||||
+ for(int index=0; index < nElements; index++)
|
||||
+ maLayoutInfo.push_back( layoutlist->item(index) );
|
||||
+ }
|
||||
+ catch (const uno::Exception &)
|
||||
+ {
|
||||
+ // skip missing config. files
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1037,12 +1044,19 @@ void SdDrawDocument::InitObjectVector()
|
||||
const Reference<XDocumentBuilder> xDocBuilder(
|
||||
DocumentBuilder::create( comphelper::getComponentContext (xServiceFactory) ));
|
||||
|
||||
- // loop over every object entry in current file
|
||||
- const Reference<XDocument> xDoc = xDocBuilder->parseURI( sFilename );
|
||||
- const Reference<XNodeList> objectlist = xDoc->getElementsByTagName("object");
|
||||
- const int nElements = objectlist->getLength();
|
||||
- for(int index=0; index < nElements; index++)
|
||||
- maPresObjectInfo.push_back( objectlist->item(index) );
|
||||
+ try
|
||||
+ {
|
||||
+ // loop over every object entry in current file
|
||||
+ const Reference<XDocument> xDoc = xDocBuilder->parseURI( sFilename );
|
||||
+ const Reference<XNodeList> objectlist = xDoc->getElementsByTagName("object");
|
||||
+ const int nElements = objectlist->getLength();
|
||||
+ for(int index=0; index < nElements; index++)
|
||||
+ maPresObjectInfo.push_back( objectlist->item(index) );
|
||||
+ }
|
||||
+ catch (const uno::Exception &)
|
||||
+ {
|
||||
+ // skip missing config. files
|
||||
+ }
|
||||
}
|
||||
}
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,25 +0,0 @@
|
||||
From 5dc66e7a9a86b40f4209eba08aad6cc9294e8845 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Fri, 16 May 2014 20:50:24 +0100
|
||||
Subject: [PATCH] strangely obvious leaky code
|
||||
|
||||
Change-Id: I968cbb784d53e0cff0649061c58f752939226a09
|
||||
---
|
||||
svx/source/sdr/properties/itemsettools.cxx | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/svx/source/sdr/properties/itemsettools.cxx b/svx/source/sdr/properties/itemsettools.cxx
|
||||
index ce937b3..2879b48 100644
|
||||
--- a/svx/source/sdr/properties/itemsettools.cxx
|
||||
+++ b/svx/source/sdr/properties/itemsettools.cxx
|
||||
@@ -120,6 +120,7 @@ namespace sdr
|
||||
SfxPoolItem* pNewItem = pItem->Clone();
|
||||
pNewItem->ScaleMetrics(nMul, nDiv);
|
||||
rSet.Put(*pNewItem);
|
||||
+ delete pNewItem;
|
||||
}
|
||||
}
|
||||
nWhich = aIter.NextWhich();
|
||||
--
|
||||
1.9.0
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,52 +0,0 @@
|
||||
From cbb4637768e36bb53c9cdfb096398d027ff5ec91 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
||||
Date: Fri, 16 May 2014 16:36:13 +0100
|
||||
Subject: [PATCH] coverity: SfxBaseModel's pImpl of fallback TargetDocument for
|
||||
paste leaks
|
||||
|
||||
e.g. repeatedly pasting a metafile into writer and deleting it.
|
||||
|
||||
==13369== 342 (232 direct, 110 indirect) bytes in 1 blocks are definitely lost in loss record 19,396 of 22,170
|
||||
==13369== at 0x4A06965: operator new(unsigned long) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
|
||||
==13369== by 0x686D72E: SfxBaseModel::SfxBaseModel(SfxObjectShell*) (sfxbasemodel.cxx:518)
|
||||
==13369== by 0x288CA9C1: SvxUnoDrawingModel::SvxUnoDrawingModel(SdrModel*) (unomod.cxx:255)
|
||||
==13369== by 0x28961055: SvxDrawingLayerImport(SdrModel*, com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, com::sun::star::uno::Reference<com::sun::star::lang::XComponent> const&, char const*) (xmlexport.cxx:164)
|
||||
==13369== by 0x28960FA2: SvxDrawingLayerImport(SdrModel*, com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&, com::sun::star::uno::Reference<com::sun::star::lang::XComponent> const&) (xmlexport.cxx:148)
|
||||
==13369== by 0x2896175E: SvxDrawingLayerImport(SdrModel*, com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&) (xmlexport.cxx:254)
|
||||
==13369== by 0x240B1002: SwFEShell::Paste(SvStream&, unsigned short, Point const*) (fecopy.cxx:1333)
|
||||
==13369== by 0x247B981A: SwTransferable::_PasteSdrFormat(TransferableDataHelper&, SwWrtShell&, unsigned short, Point const*, unsigned char, bool) (swdtflvr.cxx:2207)
|
||||
==13369== by 0x247B678E: SwTransferable::PasteData(TransferableDataHelper&, SwWrtShell&, unsigned short, unsigned long, unsigned short, bool, bool, Point const*, signed char, bool) (swdtflvr.cxx:1481)
|
||||
==13369== by 0x247B5AE4: SwTransferable::Paste(SwWrtShell&, TransferableDataHelper&) (swdtflvr.cxx:1150)
|
||||
==13369== by 0x2488FCCE: SwBaseShell::ExecClpbrd(SfxRequest&) (basesh.cxx:277)
|
||||
|
||||
Reference< lang::XComponent > xTargetDocument( xComponent );
|
||||
if( !xTargetDocument.is() )
|
||||
{
|
||||
> xTargetDocument = new SvxUnoDrawingModel( pModel );
|
||||
pModel->setUnoModel( Reference< XInterface >::query( xTargetDocument ) );
|
||||
}
|
||||
|
||||
Change-Id: I3bd0fc983d9b6bdcdc91071a4ec3d2c584397ebf
|
||||
---
|
||||
sfx2/source/doc/sfxbasemodel.cxx | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/sfx2/source/doc/sfxbasemodel.cxx b/sfx2/source/doc/sfxbasemodel.cxx
|
||||
index 1de92d6..67096db 100644
|
||||
--- a/sfx2/source/doc/sfxbasemodel.cxx
|
||||
+++ b/sfx2/source/doc/sfxbasemodel.cxx
|
||||
@@ -537,6 +537,11 @@ SfxBaseModel::SfxBaseModel( SfxObjectShell *pObjectShell )
|
||||
SfxBaseModel::~SfxBaseModel()
|
||||
{
|
||||
DBG_DTOR(sfx2_SfxBaseModel,NULL);
|
||||
+ //In SvxDrawingLayerImport when !xTargetDocument the fallback SvxUnoDrawingModel created there
|
||||
+ //never gets disposed called on it, so m_pData leaks.
|
||||
+ IMPL_SfxBaseModel_DataContainer* pData = m_pData;
|
||||
+ m_pData = 0;
|
||||
+ delete pData;
|
||||
}
|
||||
|
||||
//________________________________________________________________________________________________________
|
||||
--
|
||||
1.9.0
|
||||
|
Loading…
Reference in new issue