summaryrefslogtreecommitdiff
path: root/include/svx/dialog/ThemeDialog.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'include/svx/dialog/ThemeDialog.hxx')
-rw-r--r--include/svx/dialog/ThemeDialog.hxx23
1 files changed, 18 insertions, 5 deletions
diff --git a/include/svx/dialog/ThemeDialog.hxx b/include/svx/dialog/ThemeDialog.hxx
index aa068f9528c1..d715894f027a 100644
--- a/include/svx/dialog/ThemeDialog.hxx
+++ b/include/svx/dialog/ThemeDialog.hxx
@@ -14,32 +14,45 @@
#include <svx/svdpage.hxx>
#include <svx/theme/IThemeColorChanger.hxx>
#include <svx/dialog/ThemeColorValueSet.hxx>
+#include <functional>
namespace model
{
class Theme;
}
+class ColorListBox;
+
namespace svx
{
class SVX_DLLPUBLIC ThemeDialog final : public weld::GenericDialogController
{
private:
+ weld::Window* mpWindow;
model::Theme* mpTheme;
std::vector<model::ColorSet> maColorSets;
- std::shared_ptr<IThemeColorChanger> mpChanger;
-
std::unique_ptr<svx::ThemeColorValueSet> mxValueSetThemeColors;
std::unique_ptr<weld::CustomWeld> mxValueSetThemeColorsWindow;
+ std::unique_ptr<weld::Button> mxAdd;
+
+ std::optional<std::reference_wrapper<model::ColorSet>> moCurrentColorSet;
+
+ void runThemeColorEditDialog();
+ void initColorSets();
public:
- ThemeDialog(weld::Window* pParent, model::Theme* pTheme,
- std::shared_ptr<IThemeColorChanger> const& pChanger);
+ ThemeDialog(weld::Window* pParent, model::Theme* pTheme);
virtual ~ThemeDialog() override;
DECL_LINK(DoubleClickValueSetHdl, ValueSet*, void);
- void DoubleClickHdl();
+ DECL_LINK(SelectItem, ValueSet*, void);
+ DECL_LINK(ButtonClicked, weld::Button&, void);
+
+ std::optional<std::reference_wrapper<model::ColorSet>> const& getCurrentColorSet()
+ {
+ return moCurrentColorSet;
+ }
};
} // end svx namespace