parent
a32e2cfcb4
commit
77ecb0549a
@ -1,191 +0,0 @@
|
|||||||
From 9f74d796ce16e045f659862fef1fe93e2a020518 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
|
||||||
Date: Fri, 22 Jul 2016 09:39:55 +0100
|
|
||||||
Subject: [PATCH] Related: rhbz#1065807 recover using xdg templates and
|
|
||||||
documents settings
|
|
||||||
|
|
||||||
lost since...
|
|
||||||
|
|
||||||
commit 3cf557c12d27f1b2250e69a543136da098112d80
|
|
||||||
Author: Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
|
|
||||||
Date: Fri Oct 16 12:15:55 2015 +0100
|
|
||||||
|
|
||||||
drop gconf integration as per ESC decision
|
|
||||||
|
|
||||||
Change-Id: If2c594174a6fa8c524d9664c9f197cb7c6d4641d
|
|
||||||
---
|
|
||||||
shell/source/backends/desktopbe/desktopbackend.cxx | 125 +++++++++++++++++++--
|
|
||||||
1 file changed, 118 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/shell/source/backends/desktopbe/desktopbackend.cxx b/shell/source/backends/desktopbe/desktopbackend.cxx
|
|
||||||
index 745d96d..f4a2169 100644
|
|
||||||
--- a/shell/source/backends/desktopbe/desktopbackend.cxx
|
|
||||||
+++ b/shell/source/backends/desktopbe/desktopbackend.cxx
|
|
||||||
@@ -42,9 +42,12 @@
|
|
||||||
#include "cppuhelper/implementationentry.hxx"
|
|
||||||
#include "cppuhelper/weak.hxx"
|
|
||||||
#include "osl/diagnose.h"
|
|
||||||
+#include "osl/file.hxx"
|
|
||||||
+#include "osl/security.hxx"
|
|
||||||
#include "rtl/string.h"
|
|
||||||
#include "rtl/textenc.h"
|
|
||||||
#include "rtl/ustring.h"
|
|
||||||
+#include "rtl/ustrbuf.hxx"
|
|
||||||
#include "rtl/ustring.hxx"
|
|
||||||
#include "sal/types.h"
|
|
||||||
#include "uno/current_context.hxx"
|
|
||||||
@@ -148,17 +151,128 @@ void Default::setPropertyValue(OUString const &, css::uno::Any const &)
|
|
||||||
static_cast< cppu::OWeakObject * >(this), -1);
|
|
||||||
}
|
|
||||||
|
|
||||||
+static OUString xdg_user_dir_lookup (const char *type)
|
|
||||||
+{
|
|
||||||
+ char *config_home;
|
|
||||||
+ char *p;
|
|
||||||
+ bool bError = false;
|
|
||||||
+
|
|
||||||
+ osl::Security aSecurity;
|
|
||||||
+ oslFileHandle handle;
|
|
||||||
+ OUString aHomeDirURL;
|
|
||||||
+ OUString aDocumentsDirURL;
|
|
||||||
+ OUString aConfigFileURL;
|
|
||||||
+ OUStringBuffer aUserDirBuf;
|
|
||||||
+
|
|
||||||
+ if (!aSecurity.getHomeDir( aHomeDirURL ) )
|
|
||||||
+ {
|
|
||||||
+ osl::FileBase::getFileURLFromSystemPath(OUString("/tmp"), aDocumentsDirURL);
|
|
||||||
+ return aDocumentsDirURL;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ config_home = getenv ("XDG_CONFIG_HOME");
|
|
||||||
+ if (config_home == NULL || config_home[0] == 0)
|
|
||||||
+ {
|
|
||||||
+ aConfigFileURL = aHomeDirURL + "/.config/user-dirs.dirs";
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ aConfigFileURL = OUString::createFromAscii(config_home) + "/user-dirs.dirs";
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if(osl_File_E_None == osl_openFile(aConfigFileURL.pData, &handle, osl_File_OpenFlag_Read))
|
|
||||||
+ {
|
|
||||||
+ rtl::ByteSequence seq;
|
|
||||||
+ while (osl_File_E_None == osl_readLine(handle , reinterpret_cast<sal_Sequence **>(&seq)))
|
|
||||||
+ {
|
|
||||||
+ /* Remove newline at end */
|
|
||||||
+ int relative = 0;
|
|
||||||
+ int len = seq.getLength();
|
|
||||||
+ if(len>0 && seq[len-1] == '\n')
|
|
||||||
+ seq[len-1] = 0;
|
|
||||||
+
|
|
||||||
+ p = reinterpret_cast<char *>(seq.getArray());
|
|
||||||
+ while (*p == ' ' || *p == '\t')
|
|
||||||
+ p++;
|
|
||||||
+ if (strncmp (p, "XDG_", 4) != 0)
|
|
||||||
+ continue;
|
|
||||||
+ p += 4;
|
|
||||||
+ if (strncmp (p, type, strlen (type)) != 0)
|
|
||||||
+ continue;
|
|
||||||
+ p += strlen (type);
|
|
||||||
+ if (strncmp (p, "_DIR", 4) != 0)
|
|
||||||
+ continue;
|
|
||||||
+ p += 4;
|
|
||||||
+ while (*p == ' ' || *p == '\t')
|
|
||||||
+ p++;
|
|
||||||
+ if (*p != '=')
|
|
||||||
+ continue;
|
|
||||||
+ p++;
|
|
||||||
+ while (*p == ' ' || *p == '\t')
|
|
||||||
+ p++;
|
|
||||||
+ if (*p != '"')
|
|
||||||
+ continue;
|
|
||||||
+ p++;
|
|
||||||
+ if (strncmp (p, "$HOME/", 6) == 0)
|
|
||||||
+ {
|
|
||||||
+ p += 6;
|
|
||||||
+ relative = 1;
|
|
||||||
+ }
|
|
||||||
+ else if (*p != '/')
|
|
||||||
+ continue;
|
|
||||||
+ if (relative)
|
|
||||||
+ {
|
|
||||||
+ aUserDirBuf = OUStringBuffer(aHomeDirURL + "/");
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ aUserDirBuf = OUStringBuffer();
|
|
||||||
+ }
|
|
||||||
+ while (*p && *p != '"')
|
|
||||||
+ {
|
|
||||||
+ if ((*p == '\\') && (*(p+1) != 0))
|
|
||||||
+ p++;
|
|
||||||
+ aUserDirBuf.append((sal_Unicode)*p++);
|
|
||||||
+ }
|
|
||||||
+ }//end of while
|
|
||||||
+ osl_closeFile(handle);
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ bError = true;
|
|
||||||
+ if (aUserDirBuf.getLength()>0 && !bError)
|
|
||||||
+ {
|
|
||||||
+ aDocumentsDirURL = aUserDirBuf.makeStringAndClear();
|
|
||||||
+ osl::Directory aDocumentsDir( aDocumentsDirURL );
|
|
||||||
+ if( osl::FileBase::E_None == aDocumentsDir.open() )
|
|
||||||
+ return aDocumentsDirURL;
|
|
||||||
+ }
|
|
||||||
+ /* Use fallbacks historical compatibility if nothing else exists */
|
|
||||||
+ return aHomeDirURL + "/" + OUString::createFromAscii(type);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
css::uno::Any Default::getPropertyValue(OUString const & PropertyName)
|
|
||||||
throw (
|
|
||||||
css::beans::UnknownPropertyException, css::lang::WrappedTargetException,
|
|
||||||
css::uno::RuntimeException, std::exception)
|
|
||||||
{
|
|
||||||
+ if (PropertyName == "TemplatePathVariable")
|
|
||||||
+ {
|
|
||||||
+ OUString aDirURL = xdg_user_dir_lookup("Templates");
|
|
||||||
+ css::uno::Any aValue(aDirURL);
|
|
||||||
+ return css::uno::makeAny(css::beans::Optional<css::uno::Any>(true, aValue));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (PropertyName == "WorkPathVariable")
|
|
||||||
+ {
|
|
||||||
+ OUString aDirURL = xdg_user_dir_lookup("Documents");
|
|
||||||
+ css::uno::Any aValue(aDirURL);
|
|
||||||
+ return css::uno::makeAny(css::beans::Optional<css::uno::Any>(true, aValue));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
if ( PropertyName == "EnableATToolSupport" ||
|
|
||||||
PropertyName == "ExternalMailer" ||
|
|
||||||
PropertyName == "SourceViewFontHeight" ||
|
|
||||||
PropertyName == "SourceViewFontName" ||
|
|
||||||
- PropertyName == "TemplatePathVariable" ||
|
|
||||||
- PropertyName == "WorkPathVariable" ||
|
|
||||||
PropertyName == "ooInetFTPProxyName" ||
|
|
||||||
PropertyName == "ooInetFTPProxyPort" ||
|
|
||||||
PropertyName == "ooInetHTTPProxyName" ||
|
|
||||||
@@ -172,6 +286,7 @@ css::uno::Any Default::getPropertyValue(OUString const & PropertyName)
|
|
||||||
{
|
|
||||||
return css::uno::makeAny(css::beans::Optional< css::uno::Any >());
|
|
||||||
}
|
|
||||||
+
|
|
||||||
throw css::beans::UnknownPropertyException(
|
|
||||||
PropertyName, static_cast< cppu::OWeakObject * >(this));
|
|
||||||
}
|
|
||||||
@@ -209,11 +324,7 @@ css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance(
|
|
||||||
|
|
||||||
// Fall back to the default if the specific backend is not available:
|
|
||||||
css::uno::Reference< css::uno::XInterface > backend;
|
|
||||||
- if ( desktop == "GNOME" ) {
|
|
||||||
- backend = createBackend(
|
|
||||||
- context,
|
|
||||||
- "com.sun.star.configuration.backend.GconfBackend");
|
|
||||||
- } else if ( desktop == "KDE" ) {
|
|
||||||
+ if ( desktop == "KDE" ) {
|
|
||||||
backend = createBackend(
|
|
||||||
context,
|
|
||||||
"com.sun.star.configuration.backend.KDEBackend");
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
@ -1,75 +0,0 @@
|
|||||||
From 2a944f0b26c6f9732da8981962034aa0f2b9ecf7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
|
||||||
Date: Wed, 6 Jul 2016 12:29:25 +0100
|
|
||||||
Subject: [PATCH] Resolves: rhbz#1352881 turn off undo generation during undo
|
|
||||||
|
|
||||||
Change-Id: I6aa4ceb09b252ad0b04d8e0a89d8c3327f565b49
|
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/26980
|
|
||||||
Tested-by: Jenkins <ci@libreoffice.org>
|
|
||||||
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
||||||
Tested-by: Eike Rathke <erack@redhat.com>
|
|
||||||
(cherry picked from commit 06287b9c348281612854d67c4eb2e7a38dc722ca)
|
|
||||||
Reviewed-on: https://gerrit.libreoffice.org/27065
|
|
||||||
---
|
|
||||||
sc/source/ui/undo/undobase.cxx | 36 ++++++++++++++++++++++++++++++++++--
|
|
||||||
1 file changed, 34 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/sc/source/ui/undo/undobase.cxx b/sc/source/ui/undo/undobase.cxx
|
|
||||||
index 792cde5..0133f9a 100644
|
|
||||||
--- a/sc/source/ui/undo/undobase.cxx
|
|
||||||
+++ b/sc/source/ui/undo/undobase.cxx
|
|
||||||
@@ -96,9 +96,36 @@ void ScSimpleUndo::BeginUndo()
|
|
||||||
pDetectiveUndo->Undo();
|
|
||||||
}
|
|
||||||
|
|
||||||
+namespace
|
|
||||||
+{
|
|
||||||
+ class DisableUndoGuard
|
|
||||||
+ {
|
|
||||||
+ private:
|
|
||||||
+ ScDocument& m_rDoc;
|
|
||||||
+ bool m_bUndoEnabled;
|
|
||||||
+ public:
|
|
||||||
+ DisableUndoGuard(ScDocShell *pDocShell)
|
|
||||||
+ : m_rDoc(pDocShell->GetDocument())
|
|
||||||
+ , m_bUndoEnabled(m_rDoc.IsUndoEnabled())
|
|
||||||
+ {
|
|
||||||
+ m_rDoc.EnableUndo(false);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ ~DisableUndoGuard()
|
|
||||||
+ {
|
|
||||||
+ m_rDoc.EnableUndo(m_bUndoEnabled);
|
|
||||||
+ }
|
|
||||||
+ };
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void ScSimpleUndo::EndUndo()
|
|
||||||
{
|
|
||||||
- pDocShell->SetDocumentModified();
|
|
||||||
+ {
|
|
||||||
+ // rhbz#1352881 Temporarily turn off undo generation during
|
|
||||||
+ // SetDocumentModified
|
|
||||||
+ DisableUndoGuard aGuard(pDocShell);
|
|
||||||
+ pDocShell->SetDocumentModified();
|
|
||||||
+ }
|
|
||||||
|
|
||||||
ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell();
|
|
||||||
if (pViewShell)
|
|
||||||
@@ -125,7 +152,12 @@ void ScSimpleUndo::EndRedo()
|
|
||||||
if (pDetectiveUndo)
|
|
||||||
pDetectiveUndo->Redo();
|
|
||||||
|
|
||||||
- pDocShell->SetDocumentModified();
|
|
||||||
+ {
|
|
||||||
+ // rhbz#1352881 Temporarily turn off undo generation during
|
|
||||||
+ // SetDocumentModified
|
|
||||||
+ DisableUndoGuard aGuard(pDocShell);
|
|
||||||
+ pDocShell->SetDocumentModified();
|
|
||||||
+ }
|
|
||||||
|
|
||||||
ScTabViewShell* pViewShell = ScTabViewShell::GetActiveViewShell();
|
|
||||||
if (pViewShell)
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
@ -1,197 +0,0 @@
|
|||||||
From de4908eb4d2f1f2ce38a37eea18a9efc4a0073b1 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
|
||||||
Date: Wed, 6 Jul 2016 10:10:27 +0100
|
|
||||||
Subject: [PATCH] Resolves: rhbz#1353069 don't clear XATTR_FILL* from
|
|
||||||
stylesheet if...
|
|
||||||
|
|
||||||
the master page is not the sole owner. Which happens when copying
|
|
||||||
and pasting slides which bring along a duplicate master page to
|
|
||||||
an already existing one, and the attempt to remove the duplicate
|
|
||||||
strips the fill properties from the shared stylesheet in use by
|
|
||||||
the other
|
|
||||||
|
|
||||||
regression from...
|
|
||||||
|
|
||||||
commit b876bbe2cacce8af379b10d82da6c7e7d229b361
|
|
||||||
Author: David Tardon <dtardon@redhat.com>
|
|
||||||
Date: Tue Apr 26 09:17:11 2016 +0200
|
|
||||||
|
|
||||||
rbhz#1326602 avoid exp. bg bitmaps from deleted slides
|
|
||||||
|
|
||||||
Change-Id: I91fb8f622a0e35741ecc37cef14fc93199bb730b
|
|
||||||
---
|
|
||||||
include/svx/svdundo.hxx | 5 +--
|
|
||||||
reportdesign/source/core/inc/ReportUndoFactory.hxx | 2 +-
|
|
||||||
reportdesign/source/core/sdr/ReportUndoFactory.cxx | 4 +--
|
|
||||||
sc/source/core/data/drwlayer.cxx | 2 +-
|
|
||||||
sd/source/core/drawdoc3.cxx | 13 ++++++--
|
|
||||||
svx/source/svdraw/svdundo.cxx | 37 +++++++++++++---------
|
|
||||||
6 files changed, 40 insertions(+), 23 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/include/svx/svdundo.hxx b/include/svx/svdundo.hxx
|
|
||||||
index dc09f22..9d63557 100644
|
|
||||||
--- a/include/svx/svdundo.hxx
|
|
||||||
+++ b/include/svx/svdundo.hxx
|
|
||||||
@@ -588,9 +588,10 @@ class SVX_DLLPUBLIC SdrUndoDelPage : public SdrUndoPageList
|
|
||||||
SdrUndoGroup* pUndoGroup;
|
|
||||||
std::unique_ptr<SfxPoolItem> mpFillBitmapItem;
|
|
||||||
bool mbHasFillBitmap;
|
|
||||||
+ bool mbSoleOwnerOfFillBitmapProps;
|
|
||||||
|
|
||||||
public:
|
|
||||||
- SdrUndoDelPage(SdrPage& rNewPg);
|
|
||||||
+ SdrUndoDelPage(SdrPage& rNewPg, bool bSoleOwnerOfFillBitmapProps);
|
|
||||||
virtual ~SdrUndoDelPage();
|
|
||||||
|
|
||||||
virtual void Undo() override;
|
|
||||||
@@ -762,7 +763,7 @@ public:
|
|
||||||
virtual SdrUndoAction* CreateUndoMoveLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel, sal_uInt16 nNeuPos1);
|
|
||||||
|
|
||||||
// Page
|
|
||||||
- virtual SdrUndoAction* CreateUndoDeletePage(SdrPage& rPage);
|
|
||||||
+ virtual SdrUndoAction* CreateUndoDeletePage(SdrPage& rPage, bool bSoleOwnerOfFillBitmapProps = true);
|
|
||||||
virtual SdrUndoAction* CreateUndoNewPage(SdrPage& rPage);
|
|
||||||
virtual SdrUndoAction* CreateUndoCopyPage(SdrPage& rPage);
|
|
||||||
virtual SdrUndoAction* CreateUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1);
|
|
||||||
diff --git a/reportdesign/source/core/inc/ReportUndoFactory.hxx b/reportdesign/source/core/inc/ReportUndoFactory.hxx
|
|
||||||
index 88d0024..1839f1f 100644
|
|
||||||
--- a/reportdesign/source/core/inc/ReportUndoFactory.hxx
|
|
||||||
+++ b/reportdesign/source/core/inc/ReportUndoFactory.hxx
|
|
||||||
@@ -59,7 +59,7 @@ namespace rptui
|
|
||||||
virtual SdrUndoAction* CreateUndoMoveLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel, sal_uInt16 nNeuPos1) override;
|
|
||||||
|
|
||||||
// page
|
|
||||||
- virtual SdrUndoAction* CreateUndoDeletePage(SdrPage& rPage) override;
|
|
||||||
+ virtual SdrUndoAction* CreateUndoDeletePage(SdrPage& rPage, bool bSoleOwnerOfFillBitmapProps = true) override;
|
|
||||||
virtual SdrUndoAction* CreateUndoNewPage(SdrPage& rPage) override;
|
|
||||||
virtual SdrUndoAction* CreateUndoCopyPage(SdrPage& rPage) override;
|
|
||||||
virtual SdrUndoAction* CreateUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1) override;
|
|
||||||
diff --git a/reportdesign/source/core/sdr/ReportUndoFactory.cxx b/reportdesign/source/core/sdr/ReportUndoFactory.cxx
|
|
||||||
index cbb5a8a..566400c 100644
|
|
||||||
--- a/reportdesign/source/core/sdr/ReportUndoFactory.cxx
|
|
||||||
+++ b/reportdesign/source/core/sdr/ReportUndoFactory.cxx
|
|
||||||
@@ -133,9 +133,9 @@ SdrUndoAction* OReportUndoFactory::CreateUndoMoveLayer(sal_uInt16 nLayerNum, Sdr
|
|
||||||
}
|
|
||||||
|
|
||||||
// page
|
|
||||||
-SdrUndoAction* OReportUndoFactory::CreateUndoDeletePage(SdrPage& rPage)
|
|
||||||
+SdrUndoAction* OReportUndoFactory::CreateUndoDeletePage(SdrPage& rPage, bool bSoleOwnerOfFillBitmapProps)
|
|
||||||
{
|
|
||||||
- return m_pUndoFactory->CreateUndoDeletePage( rPage );
|
|
||||||
+ return m_pUndoFactory->CreateUndoDeletePage(rPage, bSoleOwnerOfFillBitmapProps);
|
|
||||||
}
|
|
||||||
|
|
||||||
SdrUndoAction* OReportUndoFactory::CreateUndoNewPage(SdrPage& rPage)
|
|
||||||
diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx
|
|
||||||
index 7ea6758..b2c7ab9 100644
|
|
||||||
--- a/sc/source/core/data/drwlayer.cxx
|
|
||||||
+++ b/sc/source/core/data/drwlayer.cxx
|
|
||||||
@@ -412,7 +412,7 @@ void ScDrawLayer::ScRemovePage( SCTAB nTab )
|
|
||||||
if (bRecording)
|
|
||||||
{
|
|
||||||
SdrPage* pPage = GetPage(static_cast<sal_uInt16>(nTab));
|
|
||||||
- AddCalcUndo(new SdrUndoDelPage(*pPage)); // Undo-Action becomes the page owner
|
|
||||||
+ AddCalcUndo(new SdrUndoDelPage(*pPage, true)); // Undo-Action becomes the page owner
|
|
||||||
RemovePage( static_cast<sal_uInt16>(nTab) ); // just deliver, not deleting
|
|
||||||
}
|
|
||||||
else
|
|
||||||
diff --git a/sd/source/core/drawdoc3.cxx b/sd/source/core/drawdoc3.cxx
|
|
||||||
index cf01895..d857b38 100644
|
|
||||||
--- a/sd/source/core/drawdoc3.cxx
|
|
||||||
+++ b/sd/source/core/drawdoc3.cxx
|
|
||||||
@@ -792,8 +792,17 @@ bool SdDrawDocument::InsertBookmarkAsPage(
|
|
||||||
aTest == aMPLayout &&
|
|
||||||
eKind == pTest->GetPageKind() )
|
|
||||||
{
|
|
||||||
- if( bUndo )
|
|
||||||
- AddUndo(GetSdrUndoFactory().CreateUndoDeletePage(*pRefPage));
|
|
||||||
+ if (bUndo)
|
|
||||||
+ {
|
|
||||||
+ bool bSoleOwnerOfStyleSheet = true;
|
|
||||||
+ if (pRefPage->IsMasterPage())
|
|
||||||
+ {
|
|
||||||
+ const SfxStyleSheet* pRefSheet = pRefPage->getSdrPageProperties().GetStyleSheet();
|
|
||||||
+ const SfxStyleSheet* pTestSheet = pTest->getSdrPageProperties().GetStyleSheet();
|
|
||||||
+ bSoleOwnerOfStyleSheet = pRefSheet != pTestSheet;
|
|
||||||
+ }
|
|
||||||
+ AddUndo(GetSdrUndoFactory().CreateUndoDeletePage(*pRefPage, bSoleOwnerOfStyleSheet));
|
|
||||||
+ }
|
|
||||||
|
|
||||||
RemoveMasterPage(nPage);
|
|
||||||
|
|
||||||
diff --git a/svx/source/svdraw/svdundo.cxx b/svx/source/svdraw/svdundo.cxx
|
|
||||||
index abc459f..ec5f2fe 100644
|
|
||||||
--- a/svx/source/svdraw/svdundo.cxx
|
|
||||||
+++ b/svx/source/svdraw/svdundo.cxx
|
|
||||||
@@ -1444,10 +1444,11 @@ SdrUndoPageList::~SdrUndoPageList()
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
-SdrUndoDelPage::SdrUndoDelPage(SdrPage& rNewPg)
|
|
||||||
+SdrUndoDelPage::SdrUndoDelPage(SdrPage& rNewPg, bool bSoleOwnerOfFillBitmapProps)
|
|
||||||
: SdrUndoPageList(rNewPg)
|
|
||||||
, pUndoGroup(nullptr)
|
|
||||||
, mbHasFillBitmap(false)
|
|
||||||
+ , mbSoleOwnerOfFillBitmapProps(bSoleOwnerOfFillBitmapProps)
|
|
||||||
{
|
|
||||||
bItsMine = true;
|
|
||||||
|
|
||||||
@@ -1557,12 +1558,15 @@ void SdrUndoDelPage::clearFillBitmap()
|
|
||||||
{
|
|
||||||
if (mrPage.IsMasterPage())
|
|
||||||
{
|
|
||||||
- SfxStyleSheet* const pStyleSheet = mrPage.getSdrPageProperties().GetStyleSheet();
|
|
||||||
- assert(bool(pStyleSheet)); // who took away my stylesheet?
|
|
||||||
- SfxItemSet& rItemSet = pStyleSheet->GetItemSet();
|
|
||||||
- rItemSet.ClearItem(XATTR_FILLBITMAP);
|
|
||||||
- if (mbHasFillBitmap)
|
|
||||||
- rItemSet.ClearItem(XATTR_FILLSTYLE);
|
|
||||||
+ if (mbSoleOwnerOfFillBitmapProps)
|
|
||||||
+ {
|
|
||||||
+ SfxStyleSheet* const pStyleSheet = mrPage.getSdrPageProperties().GetStyleSheet();
|
|
||||||
+ assert(bool(pStyleSheet)); // who took away my stylesheet?
|
|
||||||
+ SfxItemSet& rItemSet = pStyleSheet->GetItemSet();
|
|
||||||
+ rItemSet.ClearItem(XATTR_FILLBITMAP);
|
|
||||||
+ if (mbHasFillBitmap)
|
|
||||||
+ rItemSet.ClearItem(XATTR_FILLSTYLE);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
@@ -1577,12 +1581,15 @@ void SdrUndoDelPage::restoreFillBitmap()
|
|
||||||
{
|
|
||||||
if (mrPage.IsMasterPage())
|
|
||||||
{
|
|
||||||
- SfxStyleSheet* const pStyleSheet = mrPage.getSdrPageProperties().GetStyleSheet();
|
|
||||||
- assert(bool(pStyleSheet)); // who took away my stylesheet?
|
|
||||||
- SfxItemSet& rItemSet = pStyleSheet->GetItemSet();
|
|
||||||
- rItemSet.Put(*mpFillBitmapItem);
|
|
||||||
- if (mbHasFillBitmap)
|
|
||||||
- rItemSet.Put(XFillStyleItem(css::drawing::FillStyle_BITMAP));
|
|
||||||
+ if (mbSoleOwnerOfFillBitmapProps)
|
|
||||||
+ {
|
|
||||||
+ SfxStyleSheet* const pStyleSheet = mrPage.getSdrPageProperties().GetStyleSheet();
|
|
||||||
+ assert(bool(pStyleSheet)); // who took away my stylesheet?
|
|
||||||
+ SfxItemSet& rItemSet = pStyleSheet->GetItemSet();
|
|
||||||
+ rItemSet.Put(*mpFillBitmapItem);
|
|
||||||
+ if (mbHasFillBitmap)
|
|
||||||
+ rItemSet.Put(XFillStyleItem(css::drawing::FillStyle_BITMAP));
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
@@ -1839,9 +1846,9 @@ SdrUndoAction* SdrUndoFactory::CreateUndoMoveLayer(sal_uInt16 nLayerNum, SdrLaye
|
|
||||||
}
|
|
||||||
|
|
||||||
// page
|
|
||||||
-SdrUndoAction* SdrUndoFactory::CreateUndoDeletePage(SdrPage& rPage)
|
|
||||||
+SdrUndoAction* SdrUndoFactory::CreateUndoDeletePage(SdrPage& rPage, bool bSoleOwnerOfFillBitmapProps)
|
|
||||||
{
|
|
||||||
- return new SdrUndoDelPage( rPage );
|
|
||||||
+ return new SdrUndoDelPage(rPage, bSoleOwnerOfFillBitmapProps);
|
|
||||||
}
|
|
||||||
|
|
||||||
SdrUndoAction* SdrUndoFactory::CreateUndoNewPage(SdrPage& rPage)
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
|||||||
From 90cdadc9497e12d2e0376a368c5bcf50e275bc57 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
|
||||||
Date: Mon, 25 Jul 2016 12:08:35 +0100
|
|
||||||
Subject: [PATCH] curl 7.50.0 has CURL as typedef struct Curl_easy
|
|
||||||
|
|
||||||
Change-Id: I22e5e2cdf78c38087579071c1b1570a8adc7d3c4
|
|
||||||
(cherry picked from commit 0b8e589875ffd84150470832de18ebd79989efc0)
|
|
||||||
---
|
|
||||||
ucb/source/ucp/ftp/ftploaderthread.cxx | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/ucb/source/ucp/ftp/ftploaderthread.cxx b/ucb/source/ucp/ftp/ftploaderthread.cxx
|
|
||||||
index 25bc26d..5d1cfb5 100644
|
|
||||||
--- a/ucb/source/ucp/ftp/ftploaderthread.cxx
|
|
||||||
+++ b/ucb/source/ucp/ftp/ftploaderthread.cxx
|
|
||||||
@@ -77,7 +77,7 @@ FTPLoaderThread::~FTPLoaderThread() {
|
|
||||||
|
|
||||||
|
|
||||||
CURL* FTPLoaderThread::handle() {
|
|
||||||
- CURL* ret = osl_getThreadKeyData(m_threadKey);
|
|
||||||
+ CURL* ret = static_cast<CURL*>(osl_getThreadKeyData(m_threadKey));
|
|
||||||
if(!ret) {
|
|
||||||
ret = curl_easy_init();
|
|
||||||
if (ret != nullptr) {
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
@ -1,102 +0,0 @@
|
|||||||
From b0535f3944975c1f6cdadc149d70502843331f86 Mon Sep 17 00:00:00 2001
|
|
||||||
From: David Tardon <dtardon@redhat.com>
|
|
||||||
Date: Mon, 11 Jul 2016 11:59:41 +0200
|
|
||||||
Subject: [PATCH] rhbz#1351292 correctly set edit mode
|
|
||||||
|
|
||||||
... when switching between different shells, e.g., from Outline to Slide
|
|
||||||
master.
|
|
||||||
|
|
||||||
Change-Id: I22ef6f6cac73c52fb1bedd97e653b4b57c5a7a24
|
|
||||||
---
|
|
||||||
sd/source/ui/framework/tools/FrameworkHelper.cxx | 57 +++++++++++++++++-------
|
|
||||||
1 file changed, 40 insertions(+), 17 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/sd/source/ui/framework/tools/FrameworkHelper.cxx b/sd/source/ui/framework/tools/FrameworkHelper.cxx
|
|
||||||
index 6b08f37..15740f0 100644
|
|
||||||
--- a/sd/source/ui/framework/tools/FrameworkHelper.cxx
|
|
||||||
+++ b/sd/source/ui/framework/tools/FrameworkHelper.cxx
|
|
||||||
@@ -518,6 +518,41 @@ OUString FrameworkHelper::GetViewURL (ViewShell::ShellType eType)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+namespace
|
|
||||||
+{
|
|
||||||
+
|
|
||||||
+void updateEditMode(const Reference<XView> &xView, FrameworkHelper* const pHelper, const EditMode eEMode, bool updateFrameView)
|
|
||||||
+{
|
|
||||||
+ // Ensure we have the expected edit mode
|
|
||||||
+ // The check is only for DrawViewShell as OutlineViewShell
|
|
||||||
+ // and SlideSorterViewShell have no master mode
|
|
||||||
+ const ::std::shared_ptr<ViewShell> pCenterViewShell (pHelper->GetViewShell(xView));
|
|
||||||
+ DrawViewShell* pDrawViewShell
|
|
||||||
+ = dynamic_cast<DrawViewShell*>(pCenterViewShell.get());
|
|
||||||
+ if (pDrawViewShell != nullptr)
|
|
||||||
+ {
|
|
||||||
+ pCenterViewShell->Broadcast (
|
|
||||||
+ ViewShellHint(ViewShellHint::HINT_CHANGE_EDIT_MODE_START));
|
|
||||||
+
|
|
||||||
+ pDrawViewShell->ChangeEditMode(eEMode, pDrawViewShell->IsLayerModeActive());
|
|
||||||
+ if (updateFrameView)
|
|
||||||
+ pDrawViewShell->WriteFrameViewData();
|
|
||||||
+
|
|
||||||
+ pCenterViewShell->Broadcast (
|
|
||||||
+ ViewShellHint(ViewShellHint::HINT_CHANGE_EDIT_MODE_END));
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void asyncUpdateEditMode(FrameworkHelper* const pHelper, const EditMode eEMode)
|
|
||||||
+{
|
|
||||||
+ Reference<XResourceId> xPaneId (
|
|
||||||
+ FrameworkHelper::CreateResourceId(framework::FrameworkHelper::msCenterPaneURL));
|
|
||||||
+ Reference<XView> xView (pHelper->GetView(xPaneId));
|
|
||||||
+ updateEditMode(xView, pHelper, eEMode, true);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void FrameworkHelper::HandleModeChangeSlot (
|
|
||||||
sal_uLong nSlotId,
|
|
||||||
SfxRequest& rRequest)
|
|
||||||
@@ -552,7 +587,6 @@ void FrameworkHelper::HandleModeChangeSlot (
|
|
||||||
Reference<XResourceId> xPaneId (
|
|
||||||
CreateResourceId(framework::FrameworkHelper::msCenterPaneURL));
|
|
||||||
Reference<XView> xView (GetView(xPaneId));
|
|
||||||
- ::std::shared_ptr<ViewShell> pCenterViewShell (GetViewShell(xView));
|
|
||||||
|
|
||||||
// Compute requested view
|
|
||||||
OUString sRequestedView;
|
|
||||||
@@ -595,26 +629,15 @@ void FrameworkHelper::HandleModeChangeSlot (
|
|
||||||
if (!(xView.is() && xView->getResourceId()->getResourceURL().equals(sRequestedView)))
|
|
||||||
|
|
||||||
{
|
|
||||||
+ const auto xId = CreateResourceId(sRequestedView, msCenterPaneURL);
|
|
||||||
mxConfigurationController->requestResourceActivation(
|
|
||||||
- CreateResourceId(sRequestedView, msCenterPaneURL),
|
|
||||||
+ xId,
|
|
||||||
ResourceActivationMode_REPLACE);
|
|
||||||
+ RunOnResourceActivation(xId, std::bind(&asyncUpdateEditMode, this, eEMode));
|
|
||||||
}
|
|
||||||
-
|
|
||||||
- // Ensure we have the expected edit mode
|
|
||||||
- // The check is only for DrawViewShell as OutlineViewShell
|
|
||||||
- // and SlideSorterViewShell have no master mode
|
|
||||||
- DrawViewShell* pDrawViewShell
|
|
||||||
- = dynamic_cast<DrawViewShell*>(pCenterViewShell.get());
|
|
||||||
- if (pDrawViewShell != nullptr)
|
|
||||||
+ else
|
|
||||||
{
|
|
||||||
- pCenterViewShell->Broadcast (
|
|
||||||
- ViewShellHint(ViewShellHint::HINT_CHANGE_EDIT_MODE_START));
|
|
||||||
-
|
|
||||||
- pDrawViewShell->ChangeEditMode (
|
|
||||||
- eEMode, pDrawViewShell->IsLayerModeActive());
|
|
||||||
-
|
|
||||||
- pCenterViewShell->Broadcast (
|
|
||||||
- ViewShellHint(ViewShellHint::HINT_CHANGE_EDIT_MODE_END));
|
|
||||||
+ updateEditMode(xView, this, eEMode, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (RuntimeException&)
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
Loading…
Reference in new issue