cui/Library_cui.mk                     |    1 
 cui/UIConfig_cui.mk                    |    1 
 cui/qa/uitest/tabpages/themepage.py    |   87 -----
 cui/source/factory/dlgfact.cxx         |    5 
 cui/source/inc/themepage.hxx           |   53 ---
 cui/source/tabpages/themepage.cxx      |  176 ----------
 cui/uiconfig/ui/themetabpage.ui        |  557 ---------------------------------
 include/svx/dialogs.hrc                |    1 
 sd/inc/sdabstdlg.hxx                   |    2 
 sd/qa/unit/dialogs-test.cxx            |    2 
 sd/source/ui/dlg/dlgpage.cxx           |    9 
 sd/source/ui/dlg/sddlgfact.cxx         |    4 
 sd/source/ui/dlg/sddlgfact.hxx         |    2 
 sd/source/ui/func/fupage.cxx           |   29 -
 sd/source/ui/inc/dlgpage.hxx           |    2 
 sd/source/ui/view/drviewsf.cxx         |   18 +
 sd/uiconfig/sdraw/ui/drawpagedialog.ui |  181 +---------
 17 files changed, 54 insertions(+), 1076 deletions(-)

New commits:
commit a66c077ed90bb1a80fdc678641da64ce58045f98
Author:     Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk>
AuthorDate: Tue Aug 22 08:14:10 2023 +0200
Commit:     Tomaž Vajngerl <qui...@gmail.com>
CommitDate: Mon Aug 28 18:10:19 2023 +0200

    sd: remove theme tab page
    
    Change-Id: Iffb3d0f6d6933891333da68fa4569a3638ba18f1
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156123
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>
    (cherry picked from commit f4ed90bcad83ea24644c1cbf077b369ae05f004e)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156174
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Reviewed-by: Ashod Nakashian <a...@collabora.com>

diff --git a/cui/Library_cui.mk b/cui/Library_cui.mk
index 03a1577ee66b..43d13810d5c1 100644
--- a/cui/Library_cui.mk
+++ b/cui/Library_cui.mk
@@ -229,7 +229,6 @@ $(eval $(call gb_Library_add_exception_objects,cui,\
     cui/source/tabpages/textanim \
     cui/source/tabpages/textattr \
     cui/source/tabpages/TextColumnsPage \
-    cui/source/tabpages/themepage \
     cui/source/tabpages/tparea \
     cui/source/tabpages/tpbitmap \
     cui/source/tabpages/tpcolor \
diff --git a/cui/UIConfig_cui.mk b/cui/UIConfig_cui.mk
index 6985163f6922..a863e155dd04 100644
--- a/cui/UIConfig_cui.mk
+++ b/cui/UIConfig_cui.mk
@@ -219,7 +219,6 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\
        cui/uiconfig/ui/textcolumnstabpage \
        cui/uiconfig/ui/textdialog \
        cui/uiconfig/ui/textflowpage \
-       cui/uiconfig/ui/themetabpage \
        cui/uiconfig/ui/thesaurus \
        cui/uiconfig/ui/toolbarmodedialog \
        cui/uiconfig/ui/transparencytabpage \
diff --git a/cui/qa/uitest/tabpages/themepage.py 
b/cui/qa/uitest/tabpages/themepage.py
deleted file mode 100644
index 0145f0345492..000000000000
--- a/cui/qa/uitest/tabpages/themepage.py
+++ /dev/null
@@ -1,87 +0,0 @@
-#
-# 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/.
-#
-
-from libreoffice.uno.propertyvalue import convert_property_values_to_dict
-from libreoffice.uno.propertyvalue import mkPropertyValues
-from uitest.framework import UITestCase
-from uitest.uihelper.common import get_state_as_dict
-from uitest.uihelper.common import select_pos
-from uitest.uihelper.common import select_by_text
-
-# Test for cui/source/tabpages/themepage.cxx.
-class Test(UITestCase):
-
-    def testThemePage(self):
-        # Given an Impress document with a master page that has a theme:
-        with self.ui_test.create_doc_in_start_center("impress") as component:
-            template = self.xUITest.getTopFocusWindow()
-            
self.ui_test.close_dialog_through_button(template.getChild("close"))
-            doc = self.xUITest.getTopFocusWindow()
-            editWin = doc.getChild("impress_win")
-            drawPage = component.getDrawPages().getByIndex(0)
-            master = drawPage.MasterPage
-            theme = mkPropertyValues({
-                "Name": "nameA",
-                "ColorSchemeName": "colorSetA",
-                "ColorScheme": tuple([
-                    0x000000,  # dk1
-                    0x000000,  # lt1
-                    0x000000,  # dk2
-                    0x000000,  # lt2
-                    0x0000ff,  # accent1
-                    0x000000,  # accent2
-                    0x000000,  # accent3
-                    0x000000,  # accent4
-                    0x000000,  # accent5
-                    0x000000,  # accent6
-                    0x000000,  # hlink
-                    0x000000,  # folHlink
-                ])
-            })
-            master.ThemeUnoRepresentation = theme
-
-            # When changing the name of the theme:
-            self.xUITest.executeCommand(".uno:SlideMasterPage")
-            with self.ui_test.execute_dialog_through_command(".uno:PageSetup") 
as xDialog:
-                xTabs = xDialog.getChild("tabcontrol")
-                # Select RID_SVXPAGE_THEME.
-                select_pos(xTabs, "3")
-                themeName = xDialog.getChild("themeName")
-                themeName.executeAction("TYPE", 
mkPropertyValues({"KEYCODE":"CTRL+A"}))
-                themeName.executeAction("TYPE", 
mkPropertyValues({"KEYCODE":"BACKSPACE"}))
-                themeName.executeAction("TYPE", mkPropertyValues({"TEXT": 
"nameB"}))
-                colorSetName = xDialog.getChild("colorSetName")
-                colorSetName.executeAction("TYPE", 
mkPropertyValues({"KEYCODE":"CTRL+A"}))
-                colorSetName.executeAction("TYPE", 
mkPropertyValues({"KEYCODE":"BACKSPACE"}))
-                colorSetName.executeAction("TYPE", mkPropertyValues({"TEXT": 
"colorSetB"}))
-
-                # Select a custom accent1 color.
-                accent1 = xDialog.getChild("btnAccent1")
-                accent1.executeAction("OPENLIST", tuple())
-                floatWindow = self.xUITest.getFloatWindow()
-                paletteSelector = floatWindow.getChild("palette_listbox")
-                select_by_text(paletteSelector, "chart-palettes")
-                colorSet = floatWindow.getChild("colorset")
-                colorSet.executeAction("CHOOSE", mkPropertyValues({"POS": 
"2"}))
-
-            # Then make sure the doc model is updated accordingly:
-            # Without the accompanying fix in place, this test would have 
failed with:
-            # AssertionError: 'nameA' != 'nameB'
-            # i.e. the UI didn't update the theme name.
-            theme = 
convert_property_values_to_dict(master.ThemeUnoRepresentation)
-            self.assertEqual(theme["Name"], "nameB")
-            # Without the accompanying fix in place, this test would have 
failed with:
-            # AssertionError: 'colorSetA' != 'colorSetB'
-            # i.e. the UI didn't update the color scheme name.
-            self.assertEqual(theme["ColorSchemeName"], "colorSetB")
-            colorSet = theme["ColorScheme"]
-            # Without the accompanying fix in place, this test would have 
failed with:
-            # AssertionError: 0 != 16728590 (#ff420e)
-            # i.e. the UI didn't update the accent1 color from black to a 
custom value.
-            self.assertEqual(colorSet[4], 0xff420e)
-
-
-# vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index f0177530fa70..091caf4d2bb7 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -94,7 +94,6 @@
 #include <DiagramDialog.hxx>
 #include <fileextcheckdlg.hxx>
 #include <TextColumnsPage.hxx>
-#include <themepage.hxx>
 
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::frame;
@@ -1322,8 +1321,6 @@ CreateTabPage 
AbstractDialogFactory_Impl::GetTabPageCreatorFunc( sal_uInt16 nId
             return SfxMacroTabPage::Create;
         case RID_SVXPAGE_TEXTCOLUMNS:
             return SvxTextColumnsPage::Create;
-        case RID_SVXPAGE_THEME:
-            return SvxThemePage::Create;
         default:
             break;
     }
@@ -1389,8 +1386,6 @@ GetTabPageRanges 
AbstractDialogFactory_Impl::GetTabPageRangesFunc( sal_uInt16 nI
             return SvxAsianLayoutPage::GetRanges;
         case RID_SVXPAGE_TEXTCOLUMNS:
             return SvxTextColumnsPage::GetRanges;
-        case RID_SVXPAGE_THEME:
-            return SvxThemePage::GetRanges;
         default:
             break;
     }
diff --git a/cui/source/inc/themepage.hxx b/cui/source/inc/themepage.hxx
deleted file mode 100644
index 894a09c9385b..000000000000
--- a/cui/source/inc/themepage.hxx
+++ /dev/null
@@ -1,53 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; 
fill-column: 100 -*- */
-/*
- * 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/.
- */
-
-#pragma once
-
-#include <sal/config.h>
-
-#include <sfx2/tabdlg.hxx>
-
-#include <memory>
-
-class ColorListBox;
-
-/// Tab page for themes
-class SvxThemePage : public SfxTabPage
-{
-    static const WhichRangesContainer m_pRanges;
-
-    std::unique_ptr<weld::Entry> m_xThemeName;
-    std::unique_ptr<weld::Entry> m_xColorSetName;
-    std::unique_ptr<ColorListBox> m_xDk1;
-    std::unique_ptr<ColorListBox> m_xLt1;
-    std::unique_ptr<ColorListBox> m_xDk2;
-    std::unique_ptr<ColorListBox> m_xLt2;
-    std::unique_ptr<ColorListBox> m_xAccent1;
-    std::unique_ptr<ColorListBox> m_xAccent2;
-    std::unique_ptr<ColorListBox> m_xAccent3;
-    std::unique_ptr<ColorListBox> m_xAccent4;
-    std::unique_ptr<ColorListBox> m_xAccent5;
-    std::unique_ptr<ColorListBox> m_xAccent6;
-    std::unique_ptr<ColorListBox> m_xHlink;
-    std::unique_ptr<ColorListBox> m_xFolHlink;
-
-public:
-    SvxThemePage(weld::Container* pPage, weld::DialogController* pController,
-                 const SfxItemSet& rInAttrs);
-    virtual ~SvxThemePage() override;
-
-    static std::unique_ptr<SfxTabPage>
-    Create(weld::Container* pPage, weld::DialogController* pController, const 
SfxItemSet*);
-    static WhichRangesContainer GetRanges() { return m_pRanges; }
-
-    virtual bool FillItemSet(SfxItemSet*) override;
-    virtual void Reset(const SfxItemSet*) override;
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
diff --git a/cui/source/tabpages/themepage.cxx 
b/cui/source/tabpages/themepage.cxx
deleted file mode 100644
index a7ea42801b12..000000000000
--- a/cui/source/tabpages/themepage.cxx
+++ /dev/null
@@ -1,176 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; 
fill-column: 100 -*- */
-/*
- * 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/.
- */
-
-#include <sal/config.h>
-
-#include <themepage.hxx>
-
-#include <com/sun/star/beans/PropertyValues.hpp>
-#include <com/sun/star/util/Color.hpp>
-
-#include <comphelper/sequence.hxx>
-#include <comphelper/sequenceashashmap.hxx>
-#include <editeng/editids.hrc>
-#include <sal/log.hxx>
-#include <svl/grabbagitem.hxx>
-#include <svx/colorbox.hxx>
-
-using namespace com::sun::star;
-
-const WhichRangesContainer
-    SvxThemePage::m_pRanges(svl::Items<SID_ATTR_CHAR_GRABBAG, 
SID_ATTR_CHAR_GRABBAG>);
-
-SvxThemePage::SvxThemePage(weld::Container* pPage, weld::DialogController* 
pController,
-                           const SfxItemSet& rInAttrs)
-    : SfxTabPage(pPage, pController, "cui/ui/themetabpage.ui", "ThemePage", 
&rInAttrs)
-    , m_xThemeName(m_xBuilder->weld_entry("themeName"))
-    , m_xColorSetName(m_xBuilder->weld_entry("colorSetName"))
-    , m_xDk1(new ColorListBox(m_xBuilder->weld_menu_button("btnDk1"),
-                              [this] { return 
GetDialogController()->getDialog(); }))
-    , m_xLt1(new ColorListBox(m_xBuilder->weld_menu_button("btnLt1"),
-                              [this] { return 
GetDialogController()->getDialog(); }))
-    , m_xDk2(new ColorListBox(m_xBuilder->weld_menu_button("btnDk2"),
-                              [this] { return 
GetDialogController()->getDialog(); }))
-    , m_xLt2(new ColorListBox(m_xBuilder->weld_menu_button("btnLt2"),
-                              [this] { return 
GetDialogController()->getDialog(); }))
-    , m_xAccent1(new ColorListBox(m_xBuilder->weld_menu_button("btnAccent1"),
-                                  [this] { return 
GetDialogController()->getDialog(); }))
-    , m_xAccent2(new ColorListBox(m_xBuilder->weld_menu_button("btnAccent2"),
-                                  [this] { return 
GetDialogController()->getDialog(); }))
-    , m_xAccent3(new ColorListBox(m_xBuilder->weld_menu_button("btnAccent3"),
-                                  [this] { return 
GetDialogController()->getDialog(); }))
-    , m_xAccent4(new ColorListBox(m_xBuilder->weld_menu_button("btnAccent4"),
-                                  [this] { return 
GetDialogController()->getDialog(); }))
-    , m_xAccent5(new ColorListBox(m_xBuilder->weld_menu_button("btnAccent5"),
-                                  [this] { return 
GetDialogController()->getDialog(); }))
-    , m_xAccent6(new ColorListBox(m_xBuilder->weld_menu_button("btnAccent6"),
-                                  [this] { return 
GetDialogController()->getDialog(); }))
-    , m_xHlink(new ColorListBox(m_xBuilder->weld_menu_button("btnHlink"),
-                                [this] { return 
GetDialogController()->getDialog(); }))
-    , m_xFolHlink(new ColorListBox(m_xBuilder->weld_menu_button("btnFolHlink"),
-                                   [this] { return 
GetDialogController()->getDialog(); }))
-{
-}
-
-SvxThemePage::~SvxThemePage() = default;
-
-void SvxThemePage::Reset(const SfxItemSet* pAttrs)
-{
-    const SfxGrabBagItem* pGrabBagItem = 
pAttrs->GetItemIfSet(SID_ATTR_CHAR_GRABBAG);
-    if (!pGrabBagItem)
-    {
-        SAL_WARN("cui.tabpages", "SvxThemePage::Reset: no SfxGrabBagItem");
-        return;
-    }
-
-    auto itTheme = pGrabBagItem->GetGrabBag().find("Theme");
-    if (itTheme == pGrabBagItem->GetGrabBag().end())
-    {
-        // No theme was defined previously, allow specifying colors.
-        m_xDk1->set_sensitive(true);
-        m_xLt1->set_sensitive(true);
-        m_xDk2->set_sensitive(true);
-        m_xLt2->set_sensitive(true);
-        m_xAccent1->set_sensitive(true);
-        m_xAccent2->set_sensitive(true);
-        m_xAccent3->set_sensitive(true);
-        m_xAccent4->set_sensitive(true);
-        m_xAccent5->set_sensitive(true);
-        m_xAccent6->set_sensitive(true);
-        m_xHlink->set_sensitive(true);
-        m_xFolHlink->set_sensitive(true);
-        return;
-    }
-
-    comphelper::SequenceAsHashMap aMap(itTheme->second);
-    auto it = aMap.find("Name");
-    if (it != aMap.end())
-    {
-        OUString aName;
-        it->second >>= aName;
-        m_xThemeName->set_text(aName);
-    }
-
-    it = aMap.find("ColorSchemeName");
-    if (it != aMap.end())
-    {
-        OUString aName;
-        it->second >>= aName;
-        m_xColorSetName->set_text(aName);
-    }
-
-    it = aMap.find("ColorScheme");
-    if (it != aMap.end())
-    {
-        uno::Sequence<util::Color> aColors;
-        it->second >>= aColors;
-        m_xDk1->SelectEntry(Color(ColorTransparency, aColors[0]));
-        m_xLt1->SelectEntry(Color(ColorTransparency, aColors[1]));
-        m_xDk2->SelectEntry(Color(ColorTransparency, aColors[2]));
-        m_xLt2->SelectEntry(Color(ColorTransparency, aColors[3]));
-        m_xAccent1->SelectEntry(Color(ColorTransparency, aColors[4]));
-        m_xAccent2->SelectEntry(Color(ColorTransparency, aColors[5]));
-        m_xAccent3->SelectEntry(Color(ColorTransparency, aColors[6]));
-        m_xAccent4->SelectEntry(Color(ColorTransparency, aColors[7]));
-        m_xAccent5->SelectEntry(Color(ColorTransparency, aColors[8]));
-        m_xAccent6->SelectEntry(Color(ColorTransparency, aColors[9]));
-        m_xHlink->SelectEntry(Color(ColorTransparency, aColors[10]));
-        m_xFolHlink->SelectEntry(Color(ColorTransparency, aColors[11]));
-    }
-}
-
-bool SvxThemePage::FillItemSet(SfxItemSet* pAttrs)
-{
-    const SfxItemSet& rOldSet = GetItemSet();
-
-    if (!rOldSet.HasItem(SID_ATTR_CHAR_GRABBAG))
-        return true;
-
-    SfxGrabBagItem aGrabBagItem(rOldSet.Get(SID_ATTR_CHAR_GRABBAG));
-
-    comphelper::SequenceAsHashMap aMap;
-    auto it = aGrabBagItem.GetGrabBag().find("Theme");
-    if (it != aGrabBagItem.GetGrabBag().end())
-    {
-        aMap << it->second;
-    }
-
-    aMap["Name"] <<= m_xThemeName->get_text();
-    aMap["ColorSchemeName"] <<= m_xColorSetName->get_text();
-    std::vector<util::Color> aColorScheme = {
-        static_cast<sal_Int32>(m_xDk1->GetSelectEntryColor()),
-        static_cast<sal_Int32>(m_xLt1->GetSelectEntryColor()),
-        static_cast<sal_Int32>(m_xDk2->GetSelectEntryColor()),
-        static_cast<sal_Int32>(m_xLt2->GetSelectEntryColor()),
-        static_cast<sal_Int32>(m_xAccent1->GetSelectEntryColor()),
-        static_cast<sal_Int32>(m_xAccent2->GetSelectEntryColor()),
-        static_cast<sal_Int32>(m_xAccent3->GetSelectEntryColor()),
-        static_cast<sal_Int32>(m_xAccent4->GetSelectEntryColor()),
-        static_cast<sal_Int32>(m_xAccent5->GetSelectEntryColor()),
-        static_cast<sal_Int32>(m_xAccent6->GetSelectEntryColor()),
-        static_cast<sal_Int32>(m_xHlink->GetSelectEntryColor()),
-        static_cast<sal_Int32>(m_xFolHlink->GetSelectEntryColor()),
-    };
-    aMap["ColorScheme"] <<= comphelper::containerToSequence(aColorScheme);
-
-    beans::PropertyValues aTheme = aMap.getAsConstPropertyValueList();
-    aGrabBagItem.GetGrabBag()["Theme"] <<= aTheme;
-    pAttrs->Put(aGrabBagItem);
-
-    return true;
-}
-
-std::unique_ptr<SfxTabPage> SvxThemePage::Create(weld::Container* pPage,
-                                                 weld::DialogController* 
pController,
-                                                 const SfxItemSet* rAttrs)
-{
-    return std::make_unique<SvxThemePage>(pPage, pController, *rAttrs);
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s 
cinkeys+=0=break: */
diff --git a/cui/uiconfig/ui/themetabpage.ui b/cui/uiconfig/ui/themetabpage.ui
deleted file mode 100644
index 67888c47c6ca..000000000000
--- a/cui/uiconfig/ui/themetabpage.ui
+++ /dev/null
@@ -1,557 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.22.1 -->
-<interface domain="cui">
-  <requires lib="gtk+" version="3.20"/>
-  <object class="GtkBox" id="ThemePage">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="border_width">6</property>
-    <property name="orientation">vertical</property>
-    <property name="spacing">12</property>
-    <child>
-      <object class="GtkFrame" id="frmGeneral">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label_xalign">0</property>
-        <property name="shadow_type">none</property>
-        <child>
-          <object class="GtkGrid" id="gdGeneral">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="hexpand">True</property>
-            <property name="vexpand">True</property>
-            <property name="border_width">6</property>
-            <property name="row_spacing">6</property>
-            <property name="column_spacing">12</property>
-            <child>
-              <object class="GtkLabel" id="lbThemeName">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="themetabpage|lbThemeName">Name:</property>
-                <accessibility>
-                  <relation type="label-for" target="themeName"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkEntry" id="themeName">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="truncate-multiline">True</property>
-                <accessibility>
-                  <relation type="labelled-by" target="lbThemeName"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">0</property>
-              </packing>
-            </child>
-          </object>
-        </child>
-        <child type="label">
-          <object class="GtkLabel" id="general">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes" 
context="themetabpage|general">General</property>
-            <attributes>
-              <attribute name="weight" value="bold"/>
-            </attributes>
-          </object>
-        </child>
-      </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">0</property>
-      </packing>
-    </child>
-    <child>
-      <object class="GtkFrame" id="frmColors">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label_xalign">0</property>
-        <property name="shadow_type">none</property>
-        <child>
-          <object class="GtkGrid" id="gdColors">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="hexpand">True</property>
-            <property name="vexpand">True</property>
-            <property name="border_width">6</property>
-            <property name="row_spacing">6</property>
-            <property name="column_spacing">12</property>
-            <child>
-              <object class="GtkLabel" id="lbColorSetName">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="themetabpage|lbColorSetName">Name:</property>
-                <property name="xalign">0</property>
-                <accessibility>
-                  <relation type="label-for" target="colorSetName"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkEntry" id="colorSetName">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="truncate-multiline">True</property>
-                <accessibility>
-                  <relation type="labelled-by" target="lbColorSetName"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="lbDk1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="themetabpage|lbDk1">Background - Dark 1:</property>
-                <property name="xalign">0</property>
-                <accessibility>
-                  <relation type="label-for" target="btnDk1"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="lbLt1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="themetabpage|lbLt1">Text - Light 1:</property>
-                <property name="xalign">0</property>
-                <accessibility>
-                  <relation type="label-for" target="btnLt1"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">2</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="lbDk2">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="themetabpage|lbDk2">Background - Dark 2:</property>
-                <property name="xalign">0</property>
-                <accessibility>
-                  <relation type="label-for" target="btnDk2"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">3</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="lbLt2">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="themetabpage|lbLt2">Text - Light 2:</property>
-                <property name="xalign">0</property>
-                <accessibility>
-                  <relation type="label-for" target="btnLt2"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">4</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="lbAccent1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="themetabpage|lbAccent1">Accent 1:</property>
-                <property name="xalign">0</property>
-                <accessibility>
-                  <relation type="label-for" target="btnAccent1"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">5</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="lbAccent2">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="themetabpage|lbAccent2">Accent 2:</property>
-                <property name="xalign">0</property>
-                <accessibility>
-                  <relation type="label-for" target="btnAccent2"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">6</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="lbAccent3">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="themetabpage|lbAccent3">Accent 3:</property>
-                <property name="xalign">0</property>
-                <accessibility>
-                  <relation type="label-for" target="btnAccent3"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">7</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="lbAccent4">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="themetabpage|lbAccent4">Accent 4:</property>
-                <property name="xalign">0</property>
-                <accessibility>
-                  <relation type="label-for" target="btnAccent4"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">8</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="lbAccent5">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="themetabpage|lbAccent5">Accent 5:</property>
-                <property name="xalign">0</property>
-                <accessibility>
-                  <relation type="label-for" target="btnAccent5"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">9</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="lbAccent6">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="themetabpage|lbAccent6">Accent 6:</property>
-                <property name="xalign">0</property>
-                <accessibility>
-                  <relation type="label-for" target="btnAccent6"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">10</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="lbHlink">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="themetabpage|lbHlink">Hyperlink:</property>
-                <property name="xalign">0</property>
-                <accessibility>
-                  <relation type="label-for" target="btnHlink"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">11</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="lbFolHlink">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="themetabpage|lbFolHlink">Followed Hyperlink:</property>
-                <property name="xalign">0</property>
-                <accessibility>
-                  <relation type="label-for" target="btnFolHlink"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">0</property>
-                <property name="top_attach">12</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkMenuButton" id="btnDk1">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="draw_indicator">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="no"></property>
-                <child>
-                  <placeholder/>
-                </child>
-                <accessibility>
-                  <relation type="labelled-by" target="lbDk1"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkMenuButton" id="btnLt1">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="draw_indicator">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="no"></property>
-                <child>
-                  <placeholder/>
-                </child>
-                <accessibility>
-                  <relation type="labelled-by" target="lbLt1"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">2</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkMenuButton" id="btnDk2">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="draw_indicator">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="no"></property>
-                <child>
-                  <placeholder/>
-                </child>
-                <accessibility>
-                  <relation type="labelled-by" target="lbDk2"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">3</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkMenuButton" id="btnLt2">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="draw_indicator">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="no"></property>
-                <child>
-                  <placeholder/>
-                </child>
-                <accessibility>
-                  <relation type="labelled-by" target="lbLt2"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">4</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkMenuButton" id="btnAccent1">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="draw_indicator">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="no"></property>
-                <child>
-                  <placeholder/>
-                </child>
-                <accessibility>
-                  <relation type="labelled-by" target="lbAccent1"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">5</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkMenuButton" id="btnAccent2">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="draw_indicator">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="no"></property>
-                <child>
-                  <placeholder/>
-                </child>
-                <accessibility>
-                  <relation type="labelled-by" target="lbAccent2"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">6</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkMenuButton" id="btnAccent3">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="draw_indicator">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="no"></property>
-                <child>
-                  <placeholder/>
-                </child>
-                <accessibility>
-                  <relation type="labelled-by" target="lbAccent3"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">7</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkMenuButton" id="btnAccent4">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="draw_indicator">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="no"></property>
-                <child>
-                  <placeholder/>
-                </child>
-                <accessibility>
-                  <relation type="labelled-by" target="lbAccent4"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">8</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkMenuButton" id="btnAccent5">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="draw_indicator">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="no"></property>
-                <child>
-                  <placeholder/>
-                </child>
-                <accessibility>
-                  <relation type="labelled-by" target="lbAccent5"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">9</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkMenuButton" id="btnAccent6">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="draw_indicator">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="no"></property>
-                <child>
-                  <placeholder/>
-                </child>
-                <accessibility>
-                  <relation type="labelled-by" target="lbAccent6"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">10</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkMenuButton" id="btnHlink">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="draw_indicator">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="no"></property>
-                <child>
-                  <placeholder/>
-                </child>
-                <accessibility>
-                  <relation type="labelled-by" target="lbHlink"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">11</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkMenuButton" id="btnFolHlink">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="draw_indicator">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="no"></property>
-                <child>
-                  <placeholder/>
-                </child>
-                <accessibility>
-                  <relation type="labelled-by" target="lbFolHlink"/>
-                </accessibility>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">12</property>
-              </packing>
-            </child>
-          </object>
-        </child>
-        <child type="label">
-          <object class="GtkLabel" id="colorSet">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="label" translatable="yes" 
context="themetabpage|colorSet">Color Set</property>
-            <attributes>
-              <attribute name="weight" value="bold"/>
-            </attributes>
-          </object>
-        </child>
-      </object>
-      <packing>
-        <property name="expand">False</property>
-        <property name="fill">True</property>
-        <property name="position">1</property>
-      </packing>
-    </child>
-  </object>
-</interface>
diff --git a/include/svx/dialogs.hrc b/include/svx/dialogs.hrc
index d3d7f6d8b17d..f03600a74fe0 100644
--- a/include/svx/dialogs.hrc
+++ b/include/svx/dialogs.hrc
@@ -43,7 +43,6 @@
 #define RID_SVXPAGE_BKG                     (RID_SVX_START +  57)
 #define RID_SVXPAGE_SHADOW                  (RID_SVX_START +  61)
 #define RID_SVXPAGE_TRANSPARENCE            (RID_SVX_START +  54)
-#define RID_SVXPAGE_THEME                   (RID_SVX_START +  55)
 #define RID_SVXPAGE_TEXTATTR                (RID_SVX_START + 153)
 #define RID_SVXPAGE_TEXTANIMATION           (RID_SVX_START + 184)
 #define RID_SVXPAGE_TEXTCOLUMNS             (RID_SVX_START + 154)
diff --git a/sd/inc/sdabstdlg.hxx b/sd/inc/sdabstdlg.hxx
index 9428325cdca0..786c1121212a 100644
--- a/sd/inc/sdabstdlg.hxx
+++ b/sd/inc/sdabstdlg.hxx
@@ -171,7 +171,7 @@ public:
     virtual VclPtr<AbstractCopyDlg>            CreateCopyDlg(weld::Window* 
pWindow, const SfxItemSet& rInAttrs, ::sd::View* pView ) = 0;
     virtual VclPtr<AbstractSdCustomShowDlg>    
CreateSdCustomShowDlg(weld::Window* pWindow, SdDrawDocument& rDrawDoc) = 0;
     virtual VclPtr<SfxAbstractTabDialog>       
CreateSdTabCharDialog(weld::Window* pWindow, const SfxItemSet* pAttr, 
SfxObjectShell* pDocShell) = 0;
-    virtual VclPtr<SfxAbstractTabDialog>       
CreateSdTabPageDialog(weld::Window* pWindow, const SfxItemSet* pAttr, 
SfxObjectShell* pDocShell, bool bAreaPage, bool bIsImpressDoc, bool 
bIsImpressMaster) = 0;
+    virtual VclPtr<SfxAbstractTabDialog>       
CreateSdTabPageDialog(weld::Window* pWindow, const SfxItemSet* pAttr, 
SfxObjectShell* pDocShell, bool bAreaPage, bool bIsImpressDoc) = 0;
     virtual VclPtr<AbstractSdModifyFieldDlg>   
CreateSdModifyFieldDlg(weld::Window* pWindow, const SvxFieldData* pInField, 
const SfxItemSet& rSet) = 0;
     virtual VclPtr<AbstractSdSnapLineDlg>      
CreateSdSnapLineDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, 
::sd::View* pView) = 0;
     virtual VclPtr<AbstractSdInsertLayerDlg>   
CreateSdInsertLayerDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, bool 
bDeletable, const OUString& rStr) = 0;
diff --git a/sd/qa/unit/dialogs-test.cxx b/sd/qa/unit/dialogs-test.cxx
index c6e90419869d..37fb9837a8a8 100644
--- a/sd/qa/unit/dialogs-test.cxx
+++ b/sd/qa/unit/dialogs-test.cxx
@@ -308,7 +308,7 @@ VclPtr<VclAbstractDialog> 
SdDialogsTest::createDialogByID(sal_uInt32 nID)
                 getViewShell()->GetFrameWeld(),
                 &getEmptyFillStyleSfxItemSet(),
                 getDocShell(),
-                true, /*bIsImpressDoc=*/false, /*bIsImpressMaster=*/false);
+                true, /*bIsImpressDoc=*/false);
             break;
         }
         case 6:
diff --git a/sd/source/ui/dlg/dlgpage.cxx b/sd/source/ui/dlg/dlgpage.cxx
index e3bc5978bd8c..b6d04173d814 100644
--- a/sd/source/ui/dlg/dlgpage.cxx
+++ b/sd/source/ui/dlg/dlgpage.cxx
@@ -36,7 +36,7 @@
  * Constructor of tab dialog: appends pages to the dialog
  */
 SdPageDlg::SdPageDlg(SfxObjectShell const* pDocSh, weld::Window* pParent, 
const SfxItemSet* pAttr,
-                     bool bAreaPage, bool bIsImpressDoc, bool bIsImpressMaster)
+                     bool bAreaPage, bool bIsImpressDoc)
     : SfxTabDialogController(pParent, "modules/sdraw/ui/drawpagedialog.ui", 
"DrawPageDialog", pAttr)
     , mbIsImpressDoc(bIsImpressDoc)
 {
@@ -58,7 +58,6 @@ SdPageDlg::SdPageDlg(SfxObjectShell const* pDocSh, 
weld::Window* pParent, const
     AddTabPage("RID_SVXPAGE_AREA", 
pFact->GetTabPageCreatorFunc(RID_SVXPAGE_AREA), nullptr);
     AddTabPage("RID_SVXPAGE_TRANSPARENCE", 
pFact->GetTabPageCreatorFunc(RID_SVXPAGE_TRANSPARENCE),
                nullptr);
-    AddTabPage("RID_SVXPAGE_THEME", 
pFact->GetTabPageCreatorFunc(RID_SVXPAGE_THEME), nullptr);
 
     if (!bAreaPage) // I have to add the page before I remove it !
     {
@@ -66,12 +65,6 @@ SdPageDlg::SdPageDlg(SfxObjectShell const* pDocSh, 
weld::Window* pParent, const
         RemoveTabPage("RID_SVXPAGE_TRANSPARENCE");
     }
 
-    if (!bIsImpressMaster)
-    {
-        // Only slide masters can have a theme.
-        RemoveTabPage("RID_SVXPAGE_THEME");
-    }
-
     if (mbIsImpressDoc)
     {
         set_title(SdResId(STR_SLIDE_SETUP_TITLE));
diff --git a/sd/source/ui/dlg/sddlgfact.cxx b/sd/source/ui/dlg/sddlgfact.cxx
index c526df75d44f..da07395f1542 100644
--- a/sd/source/ui/dlg/sddlgfact.cxx
+++ b/sd/source/ui/dlg/sddlgfact.cxx
@@ -618,9 +618,9 @@ VclPtr<SfxAbstractTabDialog>  
SdAbstractDialogFactory_Impl::CreateSdTabCharDialo
     return 
VclPtr<SdAbstractTabController_Impl>::Create(std::make_shared<SdCharDlg>(pParent,
 pAttr, pDocShell));
 }
 
-VclPtr<SfxAbstractTabDialog>  
SdAbstractDialogFactory_Impl::CreateSdTabPageDialog(weld::Window* pParent, 
const SfxItemSet* pAttr, SfxObjectShell* pDocShell, bool bAreaPage, bool 
bIsImpressDoc, bool bIsImpressMaster )
+VclPtr<SfxAbstractTabDialog>  
SdAbstractDialogFactory_Impl::CreateSdTabPageDialog(weld::Window* pParent, 
const SfxItemSet* pAttr, SfxObjectShell* pDocShell, bool bAreaPage, bool 
bIsImpressDoc)
 {
-    return 
VclPtr<SdAbstractTabController_Impl>::Create(std::make_shared<SdPageDlg>(pDocShell,
 pParent, pAttr, bAreaPage, bIsImpressDoc, bIsImpressMaster));
+    return 
VclPtr<SdAbstractTabController_Impl>::Create(std::make_shared<SdPageDlg>(pDocShell,
 pParent, pAttr, bAreaPage, bIsImpressDoc));
 }
 
 VclPtr<AbstractSdModifyFieldDlg> 
SdAbstractDialogFactory_Impl::CreateSdModifyFieldDlg(weld::Window* pParent, 
const SvxFieldData* pInField, const SfxItemSet& rSet)
diff --git a/sd/source/ui/dlg/sddlgfact.hxx b/sd/source/ui/dlg/sddlgfact.hxx
index 8da5c74ddc8d..5a8637586b8e 100644
--- a/sd/source/ui/dlg/sddlgfact.hxx
+++ b/sd/source/ui/dlg/sddlgfact.hxx
@@ -410,7 +410,7 @@ public:
     virtual VclPtr<AbstractCopyDlg>            CreateCopyDlg(weld::Window* 
pParent, const SfxItemSet& rInAttrs, ::sd::View* pView) override;
     virtual VclPtr<AbstractSdCustomShowDlg>    
CreateSdCustomShowDlg(weld::Window* pParent, SdDrawDocument& rDrawDoc) override;
     virtual VclPtr<SfxAbstractTabDialog>       
CreateSdTabCharDialog(weld::Window* pWindow, const SfxItemSet* pAttr, 
SfxObjectShell* pDocShell) override;
-    virtual VclPtr<SfxAbstractTabDialog>       
CreateSdTabPageDialog(weld::Window* pWindow, const SfxItemSet* pAttr, 
SfxObjectShell* pDocShell, bool bAreaPage, bool bIsImpressDoc, bool 
bIsImpressMaster) override;
+    virtual VclPtr<SfxAbstractTabDialog>       
CreateSdTabPageDialog(weld::Window* pWindow, const SfxItemSet* pAttr, 
SfxObjectShell* pDocShell, bool bAreaPage, bool bIsImpressDoc) override;
     virtual VclPtr<AbstractSdModifyFieldDlg>   
CreateSdModifyFieldDlg(weld::Window* pWindow, const SvxFieldData* pInField, 
const SfxItemSet& rSet) override;
     virtual VclPtr<AbstractSdSnapLineDlg>      
CreateSdSnapLineDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, 
::sd::View* pView) override;
     virtual VclPtr<AbstractSdInsertLayerDlg>   
CreateSdInsertLayerDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, bool 
bDeletable, const OUString& aStr) override;
diff --git a/sd/source/ui/func/fupage.cxx b/sd/source/ui/func/fupage.cxx
index c586b8ad3ace..f0de7ee773d4 100644
--- a/sd/source/ui/func/fupage.cxx
+++ b/sd/source/ui/func/fupage.cxx
@@ -263,18 +263,6 @@ const SfxItemSet* FuPage::ExecuteDialog(weld::Window* 
pParent, const SfxRequest&
     SfxGrabBagItem grabBag(SID_ATTR_CHAR_GRABBAG);
     grabBag.GetGrabBag()["BackgroundFullSize"] <<= bFullSize;
 
-    if (mpDoc->GetDocumentType() == DocumentType::Impress && 
mpPage->IsMasterPage())
-    {
-        // A master slide may have a theme.
-        auto const& pTheme = mpPage->getSdrPageProperties().GetTheme();
-        if (pTheme)
-        {
-            uno::Any aTheme;
-            pTheme->ToAny(aTheme);
-            grabBag.GetGrabBag()["Theme"] = aTheme;
-        }
-    }
-
     aNewAttr.Put(grabBag);
 
     // Merge ItemSet for dialog
@@ -364,7 +352,7 @@ const SfxItemSet* FuPage::ExecuteDialog(weld::Window* 
pParent, const SfxRequest&
 
         // create the dialog
         SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
-        ScopedVclPtr<SfxAbstractTabDialog> pDlg( 
pFact->CreateSdTabPageDialog(mpViewShell->GetFrameWeld(), &aMergedAttr, 
mpDocSh, mbDisplayBackgroundTabPage, bIsImpressDoc, mbMasterPage) );
+        ScopedVclPtr<SfxAbstractTabDialog> pDlg( 
pFact->CreateSdTabPageDialog(mpViewShell->GetFrameWeld(), &aMergedAttr, 
mpDocSh, mbDisplayBackgroundTabPage, bIsImpressDoc) );
         if( pDlg->Execute() == RET_OK )
             pTempSet.emplace( *pDlg->GetOutputItemSet() );
     }
@@ -567,21 +555,6 @@ void FuPage::ApplyItemSet( const SfxItemSet* pArgs )
                 bSetPageSizeAndBorder = true;
             }
         }
-
-        if (mpDoc->GetDocumentType() == DocumentType::Impress && 
mpPage->IsMasterPage())
-        {
-            // The item set may have a theme.
-            auto it = pGrabBag->GetGrabBag().find("Theme");
-            if (it != pGrabBag->GetGrabBag().end())
-            {
-                std::shared_ptr<model::Theme> pTheme = 
model::Theme::FromAny(it->second);
-                pMasterPage->getSdrPageProperties().SetTheme(pTheme);
-            }
-            else
-            {
-                SAL_WARN("sd.ui", "FuPage::ApplyItemSet: got no theme");
-            }
-        }
     }
 
     // Paper Bin
diff --git a/sd/source/ui/inc/dlgpage.hxx b/sd/source/ui/inc/dlgpage.hxx
index 718ccf0c614b..c4cd90e6045a 100644
--- a/sd/source/ui/inc/dlgpage.hxx
+++ b/sd/source/ui/inc/dlgpage.hxx
@@ -40,7 +40,7 @@ private:
     XPatternListRef       mpPatternList;
 public:
 
-    SdPageDlg(SfxObjectShell const * pDocSh, weld::Window* pParent, const 
SfxItemSet* pAttr, bool bAreaPage, bool bIsImpressDoc, bool bIsImpressMaster);
+    SdPageDlg(SfxObjectShell const * pDocSh, weld::Window* pParent, const 
SfxItemSet* pAttr, bool bAreaPage, bool bIsImpressDoc);
 
     virtual void PageCreated(const OString& rId, SfxTabPage& rPage) override;
 };
diff --git a/sd/uiconfig/sdraw/ui/drawpagedialog.ui 
b/sd/uiconfig/sdraw/ui/drawpagedialog.ui
index d638e0e76081..c6895a46a8ae 100644
--- a/sd/uiconfig/sdraw/ui/drawpagedialog.ui
+++ b/sd/uiconfig/sdraw/ui/drawpagedialog.ui
@@ -1,31 +1,28 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.22.1 -->
+<!-- Generated with glade 3.40.0 -->
 <interface domain="sd">
   <requires lib="gtk+" version="3.20"/>
   <object class="GtkDialog" id="DrawPageDialog">
-    <property name="can_focus">False</property>
-    <property name="border_width">6</property>
+    <property name="can-focus">False</property>
+    <property name="border-width">6</property>
     <property name="title" translatable="yes" 
context="drawpagedialog|DrawPageDialog">Page Properties</property>
     <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
-    <child>
-      <placeholder/>
-    </child>
+    <property name="type-hint">dialog</property>
     <child internal-child="vbox">
       <object class="GtkBox" id="dialog-vbox1">
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="orientation">vertical</property>
         <property name="spacing">12</property>
         <child internal-child="action_area">
           <object class="GtkButtonBox" id="dialog-action_area1">
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
+            <property name="can-focus">False</property>
+            <property name="layout-style">end</property>
             <child>
               <object class="GtkButton" id="reset">
                 <property name="label" translatable="yes" 
context="stock">_Reset</property>
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
+                <property name="can-focus">True</property>
+                <property name="receives-default">True</property>
                 <property name="use-underline">True</property>
               </object>
               <packing>
@@ -38,10 +35,10 @@
               <object class="GtkButton" id="ok">
                 <property name="label" translatable="yes" 
context="stock">_OK</property>
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">True</property>
+                <property name="can-focus">True</property>
+                <property name="can-default">True</property>
+                <property name="has-default">True</property>
+                <property name="receives-default">True</property>
                 <property name="use-underline">True</property>
               </object>
               <packing>
@@ -54,8 +51,8 @@
               <object class="GtkButton" id="cancel">
                 <property name="label" translatable="yes" 
context="stock">_Cancel</property>
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
+                <property name="can-focus">True</property>
+                <property name="receives-default">True</property>
                 <property name="use-underline">True</property>
               </object>
               <packing>
@@ -68,8 +65,8 @@
               <object class="GtkButton" id="help">
                 <property name="label" translatable="yes" 
context="stock">_Help</property>
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
+                <property name="can-focus">True</property>
+                <property name="receives-default">True</property>
                 <property name="use-underline">True</property>
               </object>
               <packing>
@@ -83,47 +80,23 @@
           <packing>
             <property name="expand">False</property>
             <property name="fill">True</property>
-            <property name="pack_type">end</property>
+            <property name="pack-type">end</property>
             <property name="position">0</property>
           </packing>
         </child>
         <child>
           <object class="GtkNotebook" id="tabcontrol">
             <property name="visible">True</property>
-            <property name="can_focus">True</property>
+            <property name="can-focus">True</property>
             <property name="hexpand">True</property>
             <property name="vexpand">True</property>
             <property name="scrollable">True</property>
-            <property name="enable_popup">True</property>
+            <property name="enable-popup">True</property>
             <child>
               <!-- n-columns=1 n-rows=1 -->
               <object class="GtkGrid">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
+                <property name="can-focus">False</property>
                 <child>
                   <placeholder/>
                 </child>
@@ -132,42 +105,18 @@
             <child type="tab">
               <object class="GtkLabel" id="RID_SVXPAGE_PAGE">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can-focus">False</property>
                 <property name="label" translatable="yes" 
context="drawpagedialog|RID_SVXPAGE_PAGE">Page</property>
               </object>
               <packing>
-                <property name="tab_fill">False</property>
+                <property name="tab-fill">False</property>
               </packing>
             </child>
             <child>
               <!-- n-columns=1 n-rows=1 -->
               <object class="GtkGrid">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
+                <property name="can-focus">False</property>
                 <child>
                   <placeholder/>
                 </child>
@@ -179,43 +128,19 @@
             <child type="tab">
               <object class="GtkLabel" id="RID_SVXPAGE_AREA">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can-focus">False</property>
                 <property name="label" translatable="yes" 
context="drawpagedialog|RID_SVXPAGE_AREA">Background</property>
               </object>
               <packing>
                 <property name="position">1</property>
-                <property name="tab_fill">False</property>
+                <property name="tab-fill">False</property>
               </packing>
             </child>
             <child>
               <!-- n-columns=1 n-rows=1 -->
               <object class="GtkGrid">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
+                <property name="can-focus">False</property>
                 <child>
                   <placeholder/>
                 </child>
@@ -227,60 +152,12 @@
             <child type="tab">
               <object class="GtkLabel" id="RID_SVXPAGE_TRANSPARENCE">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can-focus">False</property>
                 <property name="label" translatable="yes" 
context="drawpagedialog|RID_SVXPAGE_TRANSPARENCE">Transparency</property>
               </object>
               <packing>
                 <property name="position">2</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <!-- n-columns=1 n-rows=1 -->
-              <object class="GtkGrid">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-              <packing>
-                <property name="position">3</property>
-              </packing>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="RID_SVXPAGE_THEME">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes" 
context="drawpagedialog|RID_SVXPAGE_THEME">Theme</property>
-              </object>
-              <packing>
-                <property name="position">3</property>
-                <property name="tab_fill">False</property>
+                <property name="tab-fill">False</property>
               </packing>
             </child>
           </object>
commit 3ecb8fb4c901600699f278f61dcac2408f7057a0
Author:     Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk>
AuthorDate: Sun Aug 20 12:53:31 2023 +0200
Commit:     Tomaž Vajngerl <qui...@gmail.com>
CommitDate: Mon Aug 28 18:10:07 2023 +0200

    sd: disable ThemeDialog when not in a master page
    
    Change-Id: Ic6ea74c877415f337d81d92bdef869c5fb61d239
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156122
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>
    (cherry picked from commit a535bacb2adeb491e919992a38e891945ca248f0)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156173
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Reviewed-by: Ashod Nakashian <a...@collabora.com>

diff --git a/sd/source/ui/view/drviewsf.cxx b/sd/source/ui/view/drviewsf.cxx
index e74fe71dd45e..e25ebed52dd3 100644
--- a/sd/source/ui/view/drviewsf.cxx
+++ b/sd/source/ui/view/drviewsf.cxx
@@ -37,12 +37,13 @@
 #include <svx/xdef.hxx>
 #include <svx/svdoutl.hxx>
 #include <svx/svdouno.hxx>
+#include <svx/svdpagv.hxx>
 #include <svx/fmshell.hxx>
 #include <svl/cjkoptions.hxx>
-
 #include <app.hrc>
 
 #include <sdmod.hxx>
+#include <sdpage.hxx>
 #include <stlsheet.hxx>
 #include <drawview.hxx>
 #include <drawdoc.hxx>
@@ -468,6 +469,21 @@ void DrawViewShell::GetAttrState( SfxItemSet& rSet )
             }
             break;
 
+            case SID_THEME_DIALOG:
+            {
+                bool bDisable = true;
+                SdrPageView* pPageView = mpDrawView->GetSdrPageView();
+                if (pPageView)
+                {
+                    SdPage* pPage = 
dynamic_cast<SdPage*>(pPageView->GetPage());
+                    if (pPage && pPage->IsMasterPage())
+                        bDisable = false;
+                }
+                if (bDisable)
+                    rSet.DisableItem(nWhich);
+            }
+            break;
+
             case SID_STYLE_FAMILY2:
             case SID_STYLE_FAMILY3:
             case SID_STYLE_FAMILY5:

Reply via email to