diff options
Diffstat (limited to '')
-rw-r--r-- | cui/source/options/optgdlg.hxx | 226 |
1 files changed, 226 insertions, 0 deletions
diff --git a/cui/source/options/optgdlg.hxx b/cui/source/options/optgdlg.hxx new file mode 100644 index 0000000000..2c62e569ea --- /dev/null +++ b/cui/source/options/optgdlg.hxx @@ -0,0 +1,226 @@ +/* -*- 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 <memory> +#include <config_features.h> +#include <sfx2/tabdlg.hxx> +#include <svx/langbox.hxx> + +class CanvasSettings; + +namespace vcl { + class IconThemeInfo; +} + +class OfaMiscTabPage : public SfxTabPage +{ +private: + OUString m_aStrDateInfo; + + std::unique_ptr<weld::CheckButton> m_xExtHelpCB; + std::unique_ptr<weld::Widget> m_xExtHelpImg; + std::unique_ptr<weld::CheckButton> m_xPopUpNoHelpCB; + std::unique_ptr<weld::Widget> m_xPopUpNoHelpImg; + std::unique_ptr<weld::CheckButton> m_xShowTipOfTheDay; + std::unique_ptr<weld::Widget> m_xShowTipOfTheDayImg; + std::unique_ptr<weld::Widget> m_xFileDlgFrame; + std::unique_ptr<weld::Widget> m_xFileDlgROImage; + std::unique_ptr<weld::CheckButton> m_xFileDlgCB; + std::unique_ptr<weld::CheckButton> m_xDocStatusCB; + std::unique_ptr<weld::Widget> m_xDocStatusImg; + std::unique_ptr<weld::Widget> m_xYearFrame; + std::unique_ptr<weld::Label> m_xYearLabel; + std::unique_ptr<weld::SpinButton> m_xYearValueField; + std::unique_ptr<weld::Label> m_xToYearFT; + std::unique_ptr<weld::Widget> m_xYearFrameImg; +#if HAVE_FEATURE_BREAKPAD + std::unique_ptr<weld::Widget> m_xPrivacyFrame; + std::unique_ptr<weld::CheckButton> m_xCrashReport; + std::unique_ptr<weld::Widget> m_xCrashReportImg; +#endif +#if defined(_WIN32) + std::unique_ptr<weld::Widget> m_xQuickStarterFrame; + std::unique_ptr<weld::CheckButton> m_xQuickLaunchCB; + std::unique_ptr<weld::Widget> m_xQuickLaunchImg; + std::unique_ptr<weld::Widget> m_xFileAssocFrame; + std::unique_ptr<weld::Button> m_xFileAssocBtn; + std::unique_ptr<weld::CheckButton> m_xPerformFileExtCheck; + std::unique_ptr<weld::Widget> m_xPerformFileExtImg; +#endif + + DECL_LINK(TwoFigureHdl, weld::SpinButton&, void); +#if defined(_WIN32) + DECL_DLLPRIVATE_STATIC_LINK(OfaMiscTabPage, FileAssocClick, weld::Button&, void); +#endif +protected: + virtual DeactivateRC DeactivatePage( SfxItemSet* pSet ) override; + +public: + OfaMiscTabPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet); + virtual ~OfaMiscTabPage() override; + + static std::unique_ptr<SfxTabPage> Create( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rAttrSet ); + + virtual OUString GetAllStrings() override; + + virtual bool FillItemSet( SfxItemSet* rSet ) override; + virtual void Reset( const SfxItemSet* rSet ) override; +}; + +class OfaViewTabPage : public SfxTabPage +{ +private: + sal_Int32 nSizeLB_InitialSelection; + sal_Int32 nSidebarSizeLB_InitialSelection; + sal_Int32 nNotebookbarSizeLB_InitialSelection; + sal_Int32 nStyleLB_InitialSelection; + + std::unique_ptr<CanvasSettings> pCanvasSettings; + + std::vector<vcl::IconThemeInfo> mInstalledIconThemes; + + std::unique_ptr<weld::Label> m_xIconSizeLabel; + std::unique_ptr<weld::ComboBox> m_xIconSizeLB; + std::unique_ptr<weld::Widget> m_xIconSizeImg; + std::unique_ptr<weld::Label> m_xSidebarIconSizeLabel; + std::unique_ptr<weld::ComboBox> m_xSidebarIconSizeLB; + std::unique_ptr<weld::Widget> m_xSidebarIconSizeImg; + std::unique_ptr<weld::Label> m_xNotebookbarIconSizeLabel; + std::unique_ptr<weld::ComboBox> m_xNotebookbarIconSizeLB; + std::unique_ptr<weld::Widget> m_xNotebookbarIconSizeImg; + std::unique_ptr<weld::Widget> m_xDarkModeFrame; + std::unique_ptr<weld::Label> m_xAppearanceStyleLabel; + std::unique_ptr<weld::ComboBox> m_xAppearanceStyleLB; + std::unique_ptr<weld::Widget> m_xAppearanceStyleImg; + std::unique_ptr<weld::Label> m_xIconStyleLabel; + std::unique_ptr<weld::ComboBox> m_xIconStyleLB; + std::unique_ptr<weld::Widget> m_xIconStyleImg; + + std::unique_ptr<weld::CheckButton> m_xFontAntiAliasing; + std::unique_ptr<weld::Widget> m_xFontAntiAliasingImg; + std::unique_ptr<weld::Label> m_xAAPointLimitLabel; + std::unique_ptr<weld::Widget> m_xAAPointLimitLabelImg; + std::unique_ptr<weld::MetricSpinButton> m_xAAPointLimit; + + std::unique_ptr<weld::CheckButton> m_xFontShowCB; + std::unique_ptr<weld::Widget> m_xFontShowImg; + + std::unique_ptr<weld::CheckButton> m_xUseHardwareAccell; + std::unique_ptr<weld::Widget> m_xUseHardwareAccellImg; + std::unique_ptr<weld::CheckButton> m_xUseAntiAliase; + std::unique_ptr<weld::Widget> m_xUseAntiAliaseImg; + std::unique_ptr<weld::CheckButton> m_xUseSkia; + std::unique_ptr<weld::Widget> m_xUseSkiaImg; + std::unique_ptr<weld::CheckButton> m_xForceSkiaRaster; + std::unique_ptr<weld::Widget> m_xForceSkiaRasterImg; + + std::unique_ptr<weld::Label> m_xSkiaStatusEnabled; + std::unique_ptr<weld::Label> m_xSkiaStatusDisabled; + std::unique_ptr<weld::Button> m_xSkiaLog; + + std::unique_ptr<weld::Label> m_xMouseMiddleLabel; + std::unique_ptr<weld::ComboBox> m_xMouseMiddleLB; + std::unique_ptr<weld::Widget> m_xMouseMiddleImg; + std::unique_ptr<weld::Button> m_xMoreIcons; + std::unique_ptr<weld::Button> m_xRunGPTests; + + OUString m_sAutoStr; + + DECL_LINK(OnAntialiasingToggled, weld::Toggleable&, void); + DECL_LINK(OnUseSkiaToggled, weld::Toggleable&, void); + DECL_LINK(OnCopySkiaLog, weld::Button&, void); + DECL_STATIC_LINK(OfaViewTabPage, OnMoreIconsClick, weld::Button&, void); + DECL_LINK(OnRunGPTestClick, weld::Button&, void); + void UpdateSkiaStatus(); + void HideSkiaWidgets(); + void UpdateHardwareAccelStatus(); + void UpdateIconThemes(); + +public: + OfaViewTabPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet); + virtual ~OfaViewTabPage() override; + + static std::unique_ptr<SfxTabPage> Create( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rAttrSet ); + + virtual OUString GetAllStrings() override; + + virtual bool FillItemSet( SfxItemSet* rSet ) override; + virtual void Reset( const SfxItemSet* rSet ) override; +}; + +struct LanguageConfig_Impl; + +class OfaLanguagesTabPage : public SfxTabPage +{ + bool m_bOldAsian; + bool m_bOldCtl; + std::unique_ptr<LanguageConfig_Impl> pLangConfig; + + OUString m_sUserLocaleValue; + OUString m_sSystemDefaultString; + OUString m_sDecimalSeparatorLabel; + + bool m_bDatePatternsValid; + + std::unique_ptr<weld::ComboBox> m_xUserInterfaceLB; + std::unique_ptr<weld::Label> m_xLocaleSettingFT; + std::unique_ptr<SvxLanguageBox> m_xLocaleSettingLB; + std::unique_ptr<weld::Widget> m_xLocaleSettingImg; + std::unique_ptr<weld::Label> m_xDecimalSeparatorFT; + std::unique_ptr<weld::CheckButton> m_xDecimalSeparatorCB; + std::unique_ptr<weld::Widget> m_xDecimalSeparatorImg; + std::unique_ptr<weld::Label> m_xCurrencyFT; + std::unique_ptr<weld::ComboBox> m_xCurrencyLB; + std::unique_ptr<weld::Widget> m_xCurrencyImg; + std::unique_ptr<weld::Label> m_xDatePatternsFT; + std::unique_ptr<weld::Entry> m_xDatePatternsED; + std::unique_ptr<weld::Widget> m_xDatePatternsImg; + + std::unique_ptr<SvxLanguageBox> m_xWesternLanguageLB; + std::unique_ptr<weld::Label> m_xWesternLanguageFT; + std::unique_ptr<weld::Widget> m_xWesternLanguageImg; + std::unique_ptr<SvxLanguageBox> m_xAsianLanguageLB; + std::unique_ptr<SvxLanguageBox> m_xComplexLanguageLB; + std::unique_ptr<weld::CheckButton> m_xCurrentDocCB; + std::unique_ptr<weld::CheckButton> m_xAsianSupportCB; + std::unique_ptr<weld::Widget> m_xAsianSupportImg; + std::unique_ptr<weld::CheckButton> m_xCTLSupportCB; + std::unique_ptr<weld::Widget> m_xCTLSupportImg; + std::unique_ptr<weld::CheckButton> m_xIgnoreLanguageChangeCB; + std::unique_ptr<weld::Widget> m_xIgnoreLanguageChangeImg; + + DECL_LINK(SupportHdl, weld::Toggleable&, void); + DECL_LINK(LocaleSettingHdl, weld::ComboBox&, void); + DECL_LINK(DatePatternsHdl, weld::Entry&, void); + + bool validateDatePatterns( bool& rbModified, OUString& rPatterns ); + +public: + OfaLanguagesTabPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet); + virtual ~OfaLanguagesTabPage() override; + + static std::unique_ptr<SfxTabPage> Create( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rAttrSet ); + + virtual OUString GetAllStrings() override; + + virtual bool FillItemSet( SfxItemSet* rSet ) override; + virtual void Reset( const SfxItemSet* rSet ) override; +}; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |