summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2023-05-08 11:51:44 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2023-05-09 07:51:25 +0200
commit47378fcb3ca35bbe9fc27e9c062479dc5812138b (patch)
tree8b13678be170d31ac655efc1d887505fcef9479e /svx
parente4f5c7e3bf9a791ce777d1027aa17c93ad8f28a3 (diff)
move some gallery header files inside svx
They are not used outside svx. Change-Id: Ib9ef73ec19a12401ea808922aba49e0ce1625378 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151501 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svx')
-rw-r--r--svx/inc/gallerybinaryengine.hxx111
-rw-r--r--svx/inc/gallerybinaryengineentry.hxx67
-rw-r--r--svx/inc/gallerybinarystoragelocations.hxx52
-rw-r--r--svx/inc/galleryfilestorage.hxx28
-rw-r--r--svx/inc/galleryfilestorageentry.hxx28
-rw-r--r--svx/inc/gallerystoragelocations.hxx33
-rw-r--r--svx/qa/unit/gallery/test_gallery.cxx4
-rw-r--r--svx/source/gallery2/galini.cxx2
-rw-r--r--svx/source/gallery2/gallery1.cxx10
-rw-r--r--svx/source/gallery2/gallerybinaryengine.cxx3
-rw-r--r--svx/source/gallery2/gallerybinaryengineentry.cxx2
-rw-r--r--svx/source/gallery2/gallerybinarystoragelocations.cxx2
-rw-r--r--svx/source/gallery2/galleryfilestorage.cxx2
-rw-r--r--svx/source/gallery2/galleryfilestorageentry.cxx2
-rw-r--r--svx/source/gallery2/gallerystoragelocations.cxx2
-rw-r--r--svx/source/gallery2/galtheme.cxx2
-rw-r--r--svx/source/unogallery/unogalitem.cxx1
17 files changed, 341 insertions, 10 deletions
diff --git a/svx/inc/gallerybinaryengine.hxx b/svx/inc/gallerybinaryengine.hxx
new file mode 100644
index 000000000000..2863e8dc9d69
--- /dev/null
+++ b/svx/inc/gallerybinaryengine.hxx
@@ -0,0 +1,111 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#pragma once
+
+#include <svx/galmisc.hxx>
+#include <svx/svxdllapi.h>
+#include <svx/fmmodel.hxx>
+#include "gallerybinarystoragelocations.hxx"
+#include "galleryfilestorage.hxx"
+#include <tools/urlobj.hxx>
+#include <sot/storage.hxx>
+#include <vcl/salctype.hxx>
+
+#include <tools/datetime.hxx>
+
+#include <memory>
+
+class GalleryStorageLocations;
+class GalleryBinaryStorageLocations;
+class GalleryObjectCollection;
+class SgaObjectSvDraw;
+class SgaObjectBmp;
+class SgaObject;
+class SotStorage;
+struct GalleryObject;
+class FmFormModel;
+class GalleryTheme;
+class GalleryThemeEntry;
+
+class SVXCORE_DLLPUBLIC GalleryBinaryEngine final : public GalleryFileStorage
+{
+private:
+ tools::SvRef<SotStorage> m_aSvDrawStorageRef;
+ const GalleryBinaryStorageLocations& maGalleryStorageLocations;
+ GalleryObjectCollection& mrGalleryObjectCollection;
+ bool mbReadOnly;
+ OUString m_aDestDir;
+ bool m_bDestDirRelative;
+
+ const INetURLObject& GetSdgURL() const { return maGalleryStorageLocations.GetSdgURL(); }
+ const INetURLObject& GetSdvURL() const { return maGalleryStorageLocations.GetSdvURL(); }
+ const INetURLObject& GetStrURL() const { return maGalleryStorageLocations.GetStrURL(); }
+ const INetURLObject& GetThmURL() const { return maGalleryStorageLocations.GetThmURL(); }
+
+public:
+ GalleryBinaryEngine(const GalleryBinaryStorageLocations& rGalleryStorageLocations,
+ GalleryObjectCollection& rGalleryObjectCollection, bool bReadOnly);
+ SAL_DLLPRIVATE ~GalleryBinaryEngine();
+
+ void clearSotStorage();
+
+ void setDestDir(const OUString& rDestDir, bool bRelative);
+
+ SAL_DLLPRIVATE void ImplCreateSvDrawStorage();
+ SAL_DLLPRIVATE const tools::SvRef<SotStorage>& GetSvDrawStorage() const;
+
+ const INetURLObject& getThemeURL() const { return maGalleryStorageLocations.getThemeURL(); }
+
+ SAL_DLLPRIVATE bool implWrite(const GalleryTheme& rTheme, const GalleryThemeEntry* pThm);
+
+ void insertObject(const SgaObject& rObj, GalleryObject* pFoundEntry, sal_uInt32 nInsertPos);
+ void removeObject(const std::unique_ptr<GalleryObject>& pEntry);
+
+ std::unique_ptr<SgaObject> implReadSgaObject(GalleryObject const* pEntry);
+ bool implWriteSgaObject(const SgaObject& rObj, sal_uInt32 nPos, GalleryObject* pExistentEntry);
+
+ bool readModel(const GalleryObject* pObject, SdrModel& rModel);
+ SgaObjectSvDraw insertModel(const FmFormModel& rModel, const INetURLObject& rUserURL);
+
+ bool readModelStream(const GalleryObject* pObject,
+ tools::SvRef<SotTempStream> const& rxModelStream);
+ SgaObjectSvDraw insertModelStream(const tools::SvRef<SotTempStream>& rxModelStream,
+ const INetURLObject& rUserURL);
+
+ INetURLObject implCreateUniqueURL(SgaObjKind eObjKind, const INetURLObject& rUserURL,
+ ConvertDataFormat nFormat = ConvertDataFormat::Unknown);
+
+ SgaObjectBmp insertGraphic(const Graphic& rGraphic, const GfxLink& aGfxLink,
+ const ConvertDataFormat& nExportFormat,
+ const INetURLObject& rUserURL);
+
+ SgaObjectSvDraw updateSvDrawObject(const GalleryObject* pEntry);
+
+ void updateTheme();
+ static void insertFileOrDirURL(const INetURLObject& rFileOrDirURL,
+ std::vector<INetURLObject>& rURLVector);
+
+ SvStream& writeGalleryTheme(SvStream& rOStm, const GalleryTheme& rTheme,
+ const GalleryThemeEntry* pThm);
+
+ DateTime getModificationDate() const;
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/gallerybinaryengineentry.hxx b/svx/inc/gallerybinaryengineentry.hxx
new file mode 100644
index 000000000000..8b5b3d3f607b
--- /dev/null
+++ b/svx/inc/gallerybinaryengineentry.hxx
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#pragma once
+
+#include <tools/urlobj.hxx>
+#include <svx/galtheme.hxx>
+#include "gallerybinaryengine.hxx"
+#include "gallerybinarystoragelocations.hxx"
+#include "galleryfilestorageentry.hxx"
+
+class GalleryBinaryStorageLocations;
+class GalleryObjectCollection;
+class GalleryBinaryEngine;
+
+class GalleryBinaryEngineEntry final : public GalleryFileStorageEntry
+{
+private:
+ std::unique_ptr<GalleryBinaryStorageLocations> mpGalleryStorageLocations;
+
+public:
+ GalleryBinaryEngineEntry();
+ static void CreateUniqueURL(const INetURLObject& rBaseURL, INetURLObject& aURL);
+
+ OUString ReadStrFromIni(std::u16string_view aKeyName) const;
+
+ const INetURLObject& GetThmURL() const { return mpGalleryStorageLocations->GetThmURL(); }
+ const INetURLObject& GetSdgURL() const { return mpGalleryStorageLocations->GetSdgURL(); }
+ const INetURLObject& GetSdvURL() const { return mpGalleryStorageLocations->GetSdvURL(); }
+ const INetURLObject& GetStrURL() const { return mpGalleryStorageLocations->GetStrURL(); }
+
+ const std::unique_ptr<GalleryBinaryStorageLocations>& getGalleryStorageLocations() const
+ {
+ return mpGalleryStorageLocations;
+ }
+
+ static GalleryThemeEntry* CreateThemeEntry(const INetURLObject& rURL, bool bReadOnly);
+
+ void removeTheme();
+
+ std::unique_ptr<GalleryTheme>& getCachedTheme(std::unique_ptr<GalleryTheme>& pNewTheme);
+
+ void setStorageLocations(INetURLObject& rURL);
+
+ std::unique_ptr<GalleryBinaryEngine>
+ createGalleryStorageEngine(GalleryObjectCollection& mrGalleryObjectCollection, bool& bReadOnly);
+};
+
+SvStream& ReadGalleryTheme(SvStream& rIn, GalleryTheme& rTheme);
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/gallerybinarystoragelocations.hxx b/svx/inc/gallerybinarystoragelocations.hxx
new file mode 100644
index 000000000000..7d14299e5430
--- /dev/null
+++ b/svx/inc/gallerybinarystoragelocations.hxx
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#pragma once
+
+#include <tools/urlobj.hxx>
+#include <svx/svxdllapi.h>
+#include "gallerystoragelocations.hxx"
+
+class SVXCORE_DLLPUBLIC GalleryBinaryStorageLocations final : public GalleryStorageLocations
+{
+private:
+ INetURLObject maThmURL;
+ INetURLObject maSdgURL;
+ INetURLObject maSdvURL;
+ INetURLObject maStrURL;
+
+ void SetThmExtension(INetURLObject& aURL);
+ void SetSdgExtension(INetURLObject& aURL);
+ void SetSdvExtension(INetURLObject& aURL);
+ void SetStrExtension(INetURLObject& aURL);
+
+public:
+ static INetURLObject ImplGetURLIgnoreCase(const INetURLObject& rURL);
+
+ const INetURLObject& GetThmURL() const { return maThmURL; }
+ const INetURLObject& GetSdgURL() const { return maSdgURL; }
+ const INetURLObject& GetSdvURL() const { return maSdvURL; }
+ const INetURLObject& GetStrURL() const { return maStrURL; }
+
+ void SetStorageLocations(INetURLObject& aURL);
+
+ const INetURLObject& getThemeURL() const { return maSdgURL; }
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/galleryfilestorage.hxx b/svx/inc/galleryfilestorage.hxx
new file mode 100644
index 000000000000..fee632e9b397
--- /dev/null
+++ b/svx/inc/galleryfilestorage.hxx
@@ -0,0 +1,28 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#pragma once
+
+class GalleryFileStorage
+{
+public:
+ virtual ~GalleryFileStorage() = 0;
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/galleryfilestorageentry.hxx b/svx/inc/galleryfilestorageentry.hxx
new file mode 100644
index 000000000000..0f00cfb5a6ee
--- /dev/null
+++ b/svx/inc/galleryfilestorageentry.hxx
@@ -0,0 +1,28 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#pragma once
+
+class GalleryFileStorageEntry
+{
+public:
+ virtual ~GalleryFileStorageEntry() = 0;
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/inc/gallerystoragelocations.hxx b/svx/inc/gallerystoragelocations.hxx
new file mode 100644
index 000000000000..343ed0b7e77b
--- /dev/null
+++ b/svx/inc/gallerystoragelocations.hxx
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#pragma once
+
+#include <svx/svxdllapi.h>
+#include <tools/urlobj.hxx>
+
+class SVXCORE_DLLPUBLIC GalleryStorageLocations
+{
+public:
+ virtual ~GalleryStorageLocations() = 0;
+ virtual void SetStorageLocations(INetURLObject& aURL) = 0;
+ virtual const INetURLObject& getThemeURL() const = 0;
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/qa/unit/gallery/test_gallery.cxx b/svx/qa/unit/gallery/test_gallery.cxx
index 6a4c4965bbf3..cf868bd219fd 100644
--- a/svx/qa/unit/gallery/test_gallery.cxx
+++ b/svx/qa/unit/gallery/test_gallery.cxx
@@ -15,9 +15,9 @@
#include <svx/gallery1.hxx>
#include <svx/galtheme.hxx>
-#include <svx/gallerybinarystoragelocations.hxx>
-#include <svx/gallerystoragelocations.hxx>
+#include <gallerystoragelocations.hxx>
#include <galobj.hxx>
+#include <gallerybinarystoragelocations.hxx>
#include <cppunit/TestAssert.h>
#include <cppunit/extensions/HelperMacros.h>
diff --git a/svx/source/gallery2/galini.cxx b/svx/source/gallery2/galini.cxx
index 8cdfb23ae1a2..4eaf301d8edc 100644
--- a/svx/source/gallery2/galini.cxx
+++ b/svx/source/gallery2/galini.cxx
@@ -17,7 +17,7 @@
#include <sal/log.hxx>
#include <unotools/ucbstreamhelper.hxx>
-#include <svx/gallerybinaryengineentry.hxx>
+#include <gallerybinaryengineentry.hxx>
#include <i18nlangtag/languagetag.hxx>
#include <vcl/svapp.hxx>
#include <vcl/settings.hxx>
diff --git a/svx/source/gallery2/gallery1.cxx b/svx/source/gallery2/gallery1.cxx
index 1aef1cc73f9c..52fd3dd9b8bd 100644
--- a/svx/source/gallery2/gallery1.cxx
+++ b/svx/source/gallery2/gallery1.cxx
@@ -43,7 +43,7 @@
#include <svx/galmisc.hxx>
#include <svx/galtheme.hxx>
#include <svx/gallery1.hxx>
-#include <svx/gallerybinaryengineentry.hxx>
+#include <gallerybinaryengineentry.hxx>
#include <vcl/weld.hxx>
#include <com/sun/star/sdbc/XResultSet.hpp>
#include <com/sun/star/ucb/XContentAccess.hpp>
@@ -163,6 +163,9 @@ GalleryThemeEntry::GalleryThemeEntry( bool bCreateUniqueURL,
aName = rName;
}
+GalleryThemeEntry::~GalleryThemeEntry()
+{}
+
void GalleryThemeEntry::setStorageLocations(INetURLObject & rURL)
{
mpGalleryStorageEngineEntry->setStorageLocations(rURL);
@@ -721,4 +724,9 @@ bool GalleryThemeEntry::IsDefault() const
return nId > 0 && nId != GALLERY_THEME_MYTHEME;
}
+GalleryStorageLocations& GalleryThemeEntry::getGalleryStorageLocations() const
+{
+ return *mpGalleryStorageEngineEntry->getGalleryStorageLocations();
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/gallery2/gallerybinaryengine.cxx b/svx/source/gallery2/gallerybinaryengine.cxx
index 46b618d90b61..b1c0e317cfb9 100644
--- a/svx/source/gallery2/gallerybinaryengine.cxx
+++ b/svx/source/gallery2/gallerybinaryengine.cxx
@@ -19,8 +19,9 @@
#include <svx/unomodel.hxx>
#include <svx/fmmodel.hxx>
+#include <svx/galtheme.hxx>
#include <galobj.hxx>
-#include <svx/gallerybinaryengine.hxx>
+#include <gallerybinaryengine.hxx>
#include <svx/galleryobjectcollection.hxx>
#include <svx/gallery1.hxx>
#include <osl/thread.hxx>
diff --git a/svx/source/gallery2/gallerybinaryengineentry.cxx b/svx/source/gallery2/gallerybinaryengineentry.cxx
index 98df8a5c0a29..75f7cdda83c8 100644
--- a/svx/source/gallery2/gallerybinaryengineentry.cxx
+++ b/svx/source/gallery2/gallerybinaryengineentry.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include <svx/gallerybinaryengineentry.hxx>
+#include <gallerybinaryengineentry.hxx>
#include <svx/galmisc.hxx>
#include <svx/gallery1.hxx>
diff --git a/svx/source/gallery2/gallerybinarystoragelocations.cxx b/svx/source/gallery2/gallerybinarystoragelocations.cxx
index dc896f6c3811..1fec54d10d9a 100644
--- a/svx/source/gallery2/gallerybinarystoragelocations.cxx
+++ b/svx/source/gallery2/gallerybinarystoragelocations.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include <svx/gallerybinarystoragelocations.hxx>
+#include <gallerybinarystoragelocations.hxx>
#include <svx/galmisc.hxx>
INetURLObject GalleryBinaryStorageLocations::ImplGetURLIgnoreCase(const INetURLObject& rURL)
diff --git a/svx/source/gallery2/galleryfilestorage.cxx b/svx/source/gallery2/galleryfilestorage.cxx
index dd8e74cd3af4..e8ce87ac3ecc 100644
--- a/svx/source/gallery2/galleryfilestorage.cxx
+++ b/svx/source/gallery2/galleryfilestorage.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include <svx/galleryfilestorage.hxx>
+#include <galleryfilestorage.hxx>
GalleryFileStorage::~GalleryFileStorage(){};
diff --git a/svx/source/gallery2/galleryfilestorageentry.cxx b/svx/source/gallery2/galleryfilestorageentry.cxx
index d04f49bf805f..c0642145b2d8 100644
--- a/svx/source/gallery2/galleryfilestorageentry.cxx
+++ b/svx/source/gallery2/galleryfilestorageentry.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include <svx/galleryfilestorageentry.hxx>
+#include <galleryfilestorageentry.hxx>
GalleryFileStorageEntry::~GalleryFileStorageEntry(){};
diff --git a/svx/source/gallery2/gallerystoragelocations.cxx b/svx/source/gallery2/gallerystoragelocations.cxx
index d71ae452fd71..a723a681b7b5 100644
--- a/svx/source/gallery2/gallerystoragelocations.cxx
+++ b/svx/source/gallery2/gallerystoragelocations.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include <svx/gallerystoragelocations.hxx>
+#include <gallerystoragelocations.hxx>
GalleryStorageLocations::~GalleryStorageLocations(){};
diff --git a/svx/source/gallery2/galtheme.cxx b/svx/source/gallery2/galtheme.cxx
index 72e0f0dcecb6..1c034b2a769b 100644
--- a/svx/source/gallery2/galtheme.cxx
+++ b/svx/source/gallery2/galtheme.cxx
@@ -41,6 +41,7 @@
#include <svx/galtheme.hxx>
#include <svx/svdpage.hxx>
#include <svx/galleryobjectcollection.hxx>
+#include <gallerybinaryengine.hxx>
#include <galobj.hxx>
#include <svx/gallery1.hxx>
#include "gallerydrawmodel.hxx"
@@ -774,5 +775,6 @@ bool GalleryTheme::IsReadOnly() const { return pThm->IsReadOnly(); }
bool GalleryTheme::IsDefault() const { return pThm->IsDefault(); }
const OUString& GalleryTheme::GetName() const { return pThm->GetThemeName(); }
+const INetURLObject& GalleryTheme::getThemeURL() const { return mpGalleryStorageEngine->getThemeURL(); }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/unogallery/unogalitem.cxx b/svx/source/unogallery/unogalitem.cxx
index c6ac0505e197..c3725b5fba1e 100644
--- a/svx/source/unogallery/unogalitem.cxx
+++ b/svx/source/unogallery/unogalitem.cxx
@@ -20,6 +20,7 @@
#include "unogalitem.hxx"
#include "unogaltheme.hxx"
+#include <gallerybinaryengine.hxx>
#include <svx/galtheme.hxx>
#include <svx/galmisc.hxx>
#include <svx/fmmodel.hxx>