diff options
author | Sahil Gautam <sahil.gautam.extern@allotropia.de> | 2024-11-20 16:43:43 +0530 |
---|---|---|
committer | Sahil Gautam <sahil.gautam.extern@allotropia.de> | 2024-12-18 18:16:14 +0100 |
commit | 06640b94586c454ffc1fe1605e8f4c5356d73171 (patch) | |
tree | 384ebb15e2998f7f63ccf63944759e0e799b8eef | |
parent | 80d84af4aa34af1cea6c8be75e1c2616ca77f37a (diff) |
tdf#163620 [API CHANGE] remove persona/appearance-toggle related code
- remove ui and source files related to app colors and personalization tabs
- remove persona entries from registry
- remove functions related to persona settings from StyleSettings, vcl..
- remove ui and code related to tools - options - view - appearance combo box
Change-Id: I98f0c38dc1facddd0e8dd03197c61a92287fdbc4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176836
Tested-by: Jenkins
Reviewed-by: Sahil Gautam <sahil.gautam.extern@allotropia.de>
(cherry picked from commit c4962247e40b5e6750c522d43359d9436dcfec68)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178728
43 files changed, 28 insertions, 5105 deletions
diff --git a/cui/Library_cui.mk b/cui/Library_cui.mk index 5745cf821341..ef64e0fea5f6 100644 --- a/cui/Library_cui.mk +++ b/cui/Library_cui.mk @@ -182,7 +182,6 @@ $(eval $(call gb_Library_add_exception_objects,cui,\ $(call gb_Helper_optional,SCRIPTING, \ cui/source/options/optbasic) \ cui/source/options/optchart \ - cui/source/options/optcolor \ cui/source/options/optctl \ cui/source/options/optdict \ cui/source/options/optfltr \ @@ -200,8 +199,6 @@ $(eval $(call gb_Library_add_exception_objects,cui,\ cui/source/options/optpath \ cui/source/options/optsave \ cui/source/options/optupdt \ - $(call gb_Helper_optional,DESKTOP,\ - cui/source/options/personalization) \ cui/source/options/sdbcdriverenum \ cui/source/options/securityoptions \ cui/source/options/treeopt \ diff --git a/cui/UIConfig_cui.mk b/cui/UIConfig_cui.mk index 601e58d2c9c4..953227c874c0 100644 --- a/cui/UIConfig_cui.mk +++ b/cui/UIConfig_cui.mk @@ -51,7 +51,6 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\ cui/uiconfig/ui/certdialog \ cui/uiconfig/ui/chapterfragment \ cui/uiconfig/ui/charnamepage \ - cui/uiconfig/ui/colorconfigwin \ cui/uiconfig/ui/colorfragment \ cui/uiconfig/ui/colorpage \ cui/uiconfig/ui/colorpickerdialog \ @@ -134,7 +133,6 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\ cui/uiconfig/ui/objecttitledescdialog \ cui/uiconfig/ui/optaccessibilitypage \ cui/uiconfig/ui/optadvancedpage \ - cui/uiconfig/ui/optappearancepage \ cui/uiconfig/ui/optasianpage \ cui/uiconfig/ui/optbasicidepage \ cui/uiconfig/ui/optctlpage \ @@ -170,7 +168,6 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\ cui/uiconfig/ui/pastespecial \ cui/uiconfig/ui/patterntabpage \ cui/uiconfig/ui/percentdialog \ - cui/uiconfig/ui/personalization_tab \ cui/uiconfig/ui/pickbulletpage \ cui/uiconfig/ui/pickgraphicpage \ cui/uiconfig/ui/picknumberingpage \ diff --git a/cui/inc/treeopt.hrc b/cui/inc/treeopt.hrc index 602eb5b6b47a..e79a65eabb89 100644 --- a/cui/inc/treeopt.hrc +++ b/cui/inc/treeopt.hrc @@ -39,8 +39,6 @@ const std::pair<TranslateId, sal_uInt16> SID_GENERAL_OPTIONS_RES[] = { NC_("SID_GENERAL_OPTIONS_RES", "Paths"), RID_SFXPAGE_PATH }, { NC_("SID_GENERAL_OPTIONS_RES", "Fonts"), RID_SVX_FONT_SUBSTITUTION }, { NC_("SID_GENERAL_OPTIONS_RES", "Security"), RID_SVXPAGE_INET_SECURITY }, - { NC_("SID_GENERAL_OPTIONS_RES", "Personalization"), RID_SVXPAGE_PERSONALIZATION }, - { NC_("SID_GENERAL_OPTIONS_RES", "Application Colors"), RID_SVXPAGE_COLORCONFIG }, { NC_("SID_GENERAL_OPTIONS_RES", "Accessibility"), RID_SVXPAGE_ACCESSIBILITYCONFIG }, { NC_("SID_GENERAL_OPTIONS_RES", "Advanced"), RID_SVXPAGE_OPTIONS_JAVA }, { NC_("SID_GENERAL_OPTIONS_RES", "Basic IDE"), RID_SVXPAGE_BASICIDE_OPTIONS }, diff --git a/cui/qa/unit/data/cui-dialogs-test.txt b/cui/qa/unit/data/cui-dialogs-test.txt index 7a8e55240c93..ea3e74cc3fab 100644 --- a/cui/qa/unit/data/cui-dialogs-test.txt +++ b/cui/qa/unit/data/cui-dialogs-test.txt @@ -76,7 +76,6 @@ cui/ui/calloutpage.ui cui/ui/cellalignment.ui cui/ui/certdialog.ui cui/ui/charnamepage.ui -cui/ui/colorconfigwin.ui cui/ui/colorpage.ui cui/ui/colorpickerdialog.ui cui/ui/comment.ui diff --git a/cui/qa/unit/data/cui-dialogs-test_3.txt b/cui/qa/unit/data/cui-dialogs-test_3.txt index f2f0491ff58c..6fd7fb0ff21d 100644 --- a/cui/qa/unit/data/cui-dialogs-test_3.txt +++ b/cui/qa/unit/data/cui-dialogs-test_3.txt @@ -15,7 +15,6 @@ cui/ui/objectnamedialog.ui cui/ui/objecttitledescdialog.ui cui/ui/optaccessibilitypage.ui cui/ui/optadvancedpage.ui -cui/ui/optappearancepage.ui cui/ui/optasianpage.ui cui/ui/optbasicidepage.ui cui/ui/optchartcolorspage.ui diff --git a/cui/qa/unit/data/cui-dialogs-test_4.txt b/cui/qa/unit/data/cui-dialogs-test_4.txt index a537b2b09d1e..8d751be0c26b 100644 --- a/cui/qa/unit/data/cui-dialogs-test_4.txt +++ b/cui/qa/unit/data/cui-dialogs-test_4.txt @@ -18,7 +18,6 @@ cui/ui/paratabspage.ui cui/ui/password.ui cui/ui/pastespecial.ui cui/ui/percentdialog.ui -cui/ui/personalization_tab.ui cui/ui/pickbulletpage.ui cui/ui/pickgraphicpage.ui cui/ui/picknumberingpage.ui diff --git a/cui/source/options/optcolor.cxx b/cui/source/options/optcolor.cxx deleted file mode 100644 index 1f2d455a1cf0..000000000000 --- a/cui/source/options/optcolor.cxx +++ /dev/null @@ -1,1075 +0,0 @@ -/* -*- 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 . - */ - -#include <sal/config.h> - -#include <bitset> - -#include <com/sun/star/configuration/ReadWriteAccess.hpp> -#include <com/sun/star/beans/PropertyAttribute.hpp> -#include <tools/debug.hxx> -#include <editeng/editids.hrc> -#include <svtools/colorcfg.hxx> -#include <svtools/extcolorcfg.hxx> -#include <svx/colorbox.hxx> -#include <unotools/moduleoptions.hxx> -#include <vcl/svapp.hxx> -#include <vcl/weld.hxx> -#include <svx/svxdlg.hxx> -#include <helpids.h> -#include <dialmgr.hxx> -#include "optcolor.hxx" -#include <svtools/restartdialog.hxx> -#include <strings.hrc> -#include <svtools/miscopt.hxx> -#include <officecfg/Office/Common.hxx> -#include <officecfg/Office/ExtendedColorScheme.hxx> -#include <officecfg/Office/UI.hxx> -using namespace ::com::sun::star; -using namespace ::svtools; - -namespace -{ - -// list of default groups -enum Group -{ - Group_General, - Group_Writer, - Group_Html, - Group_Calc, - Group_Draw, - Group_Comment, - Group_Basic, - Group_Sql, - - nGroupCount -}; - -// group data -struct -{ - // group - Group eGroup; - // .ui group name - OUString pGroup; -} -const vGroupInfo[] = -{ - // the groups are in the same order as in enum Group above - { Group_General, u"general"_ustr }, - { Group_Writer, u"writer"_ustr }, - { Group_Html, u"html"_ustr }, - { Group_Calc, u"calc"_ustr }, - { Group_Draw, u"draw"_ustr }, - { Group_Comment, u"comment"_ustr }, - { Group_Basic, u"basic"_ustr }, - { Group_Sql, u"sql"_ustr }, -}; - -// color config entry data (see ColorConfigWindow_Impl::Entry below) -struct -{ - // group - Group eGroup; - //checkbox (or simple text) - OUString pText; - //color listbox - OUString pColor; - // has checkbox? - bool bCheckBox; - //prop name - std::u16string_view sPropName; -} -const vEntryInfo[] = -{ - #define IDS(Name) \ - u"" SAL_STRINGIFY(Name) ""_ustr, u"" SAL_STRINGIFY(Name##_lb) ""_ustr, false - - #define IDS_CB(Name) \ - u"" SAL_STRINGIFY(Name) ""_ustr, u"" SAL_STRINGIFY(Name##_lb) ""_ustr, true - - // The list of these entries (enum ColorConfigEntry) are in colorcfg.hxx. - - { Group_General, IDS(doccolor), std::u16string_view(u"/DocColor") }, - { Group_General, IDS(docboundaries), std::u16string_view(u"/DocBoundaries") }, - { Group_General, IDS(appback), std::u16string_view(u"/AppBackground") }, - { Group_General, IDS(tblboundaries), std::u16string_view(u"/TableBoundaries") }, - { Group_General, IDS(font), std::u16string_view(u"/FontColor") }, - { Group_General, IDS_CB(unvisitedlinks), std::u16string_view(u"/Links") }, - { Group_General, IDS_CB(visitedlinks), std::u16string_view(u"/LinksVisited") }, - { Group_General, IDS(autospellcheck), std::u16string_view(u"/Spell") }, - { Group_General, IDS(grammarcheck), std::u16string_view(u"/Grammar") }, - { Group_General, IDS(smarttags), std::u16string_view(u"/SmartTags") }, - { Group_General, IDS_CB(shadows), std::u16string_view(u"/Shadow") }, - - { Group_Writer, IDS(writergrid), std::u16string_view(u"/WriterTextGrid") }, - { Group_Writer, IDS_CB(field), std::u16string_view(u"/WriterFieldShadings") }, - { Group_Writer, IDS_CB(index), std::u16string_view(u"/WriterIdxShadings") }, - { Group_Writer, IDS(direct), std::u16string_view(u"/WriterDirectCursor") }, - { Group_Writer, IDS(script), std::u16string_view(u"/WriterScriptIndicator") }, - { Group_Writer, IDS(section), std::u16string_view(u"/WriterSectionBoundaries") }, - { Group_Writer, IDS(hdft), std::u16string_view(u"/WriterHeaderFooterMark") }, - { Group_Writer, IDS(pagebreak), std::u16string_view(u"/WriterPageBreaks") }, - { Group_Writer, IDS(nonprintchars), std::u16string_view(u"/WriterNonPrintChars") }, - - { Group_Html, IDS(sgml), std::u16string_view(u"/HTMLSGML") }, - { Group_Html, IDS(htmlcomment), std::u16string_view(u"/HTMLComment") }, - { Group_Html, IDS(htmlkeyword), std::u16string_view(u"/HTMLKeyword") }, - { Group_Html, IDS(unknown), std::u16string_view(u"/HTMLUnknown") }, - - { Group_Calc, IDS(calcgrid), std::u16string_view(u"/CalcGrid") }, - { Group_Calc, IDS(calccellfocus), std::u16string_view(u"/CalcCellFocus") }, - { Group_Calc, IDS(brk), std::u16string_view(u"/CalcPageBreak") }, - { Group_Calc, IDS(brkmanual), std::u16string_view(u"/CalcPageBreakManual") }, - { Group_Calc, IDS(brkauto), std::u16string_view(u"/CalcPageBreakAutomatic") }, - { Group_Calc, IDS_CB(hiddencolrow), std::u16string_view(u"/CalcHiddenColRow") }, - { Group_Calc, IDS_CB(textoverflow), std::u16string_view(u"/CalcTextOverflow") }, - { Group_Calc, IDS(comments), std::u16string_view(u"/CalcComments") }, - { Group_Calc, IDS(det), std::u16string_view(u"/CalcDetective") }, - { Group_Calc, IDS(deterror), std::u16string_view(u"/CalcDetectiveError") }, - { Group_Calc, IDS(ref), std::u16string_view(u"/CalcReference") }, - { Group_Calc, IDS(notes), std::u16string_view(u"/CalcNotesBackground") }, - { Group_Calc, IDS(values), std::u16string_view(u"/CalcValue") }, - { Group_Calc, IDS(formulas), std::u16string_view(u"/CalcFormula") }, - { Group_Calc, IDS(text), std::u16string_view(u"/CalcText") }, - { Group_Calc, IDS(protectedcells), std::u16string_view(u"/CalcProtectedBackground") }, - - { Group_Draw, IDS(drawgrid), std::u16string_view(u"/DrawGrid") }, - - { Group_Comment, IDS(author1), std::u16string_view(u"/Author1") }, - { Group_Comment, IDS(author2), std::u16string_view(u"/Author2") }, - { Group_Comment, IDS(author3), std::u16string_view(u"/Author3") }, - { Group_Comment, IDS(author4), std::u16string_view(u"/Author4") }, - { Group_Comment, IDS(author5), std::u16string_view(u"/Author5") }, - { Group_Comment, IDS(author6), std::u16string_view(u"/Author6") }, - { Group_Comment, IDS(author7), std::u16string_view(u"/Author7") }, - { Group_Comment, IDS(author8), std::u16string_view(u"/Author8") }, - { Group_Comment, IDS(author9), std::u16string_view(u"/Author9") }, - - { Group_Basic, IDS(basiceditor), std::u16string_view(u"/BASICEditor") }, - { Group_Basic, IDS(basicid), std::u16string_view(u"/BASICIdentifier") }, - { Group_Basic, IDS(basiccomment), std::u16string_view(u"/BASICComment") }, - { Group_Basic, IDS(basicnumber), std::u16string_view(u"/BASICNumber") }, - { Group_Basic, IDS(basicstring), std::u16string_view(u"/BASICString") }, - { Group_Basic, IDS(basicop), std::u16string_view(u"/BASICOperator") }, - { Group_Basic, IDS(basickeyword), std::u16string_view(u"/BASICKeyword") }, - { Group_Basic, IDS(error), std::u16string_view(u"/BASICError") }, - - { Group_Sql, IDS(sqlid), std::u16string_view(u"/SQLIdentifier") }, - { Group_Sql, IDS(sqlnumber), std::u16string_view(u"/SQLNumber") }, - { Group_Sql, IDS(sqlstring), std::u16string_view(u"/SQLString") }, - { Group_Sql, IDS(sqlop), std::u16string_view(u"/SQLOperator") }, - { Group_Sql, IDS(sqlkeyword), std::u16string_view(u"/SQLKeyword") }, - { Group_Sql, IDS(sqlparam), std::u16string_view(u"/SQLParameter") }, - { Group_Sql, IDS(sqlcomment), std::u16string_view(u"/SQLComment") } - - #undef IDS -}; - -// Maps the names of default color schemes to the corresponding TranslateId -const std::map<OUString, OUString> &getColorSchemes() -{ - static std::map<OUString, OUString> const vColorSchemes = { - {"COLOR_SCHEME_LIBREOFFICE_AUTOMATIC", CuiResId(RID_COLOR_SCHEME_LIBREOFFICE_AUTOMATIC)}, - }; - return vColorSchemes; -}; - -// If the color scheme name has a translated string, then return the translation -// Or else simply return the input string -// For non-translatable color schemes, the ID and the name are the same -OUString lcl_SchemeIdToTranslatedName(const OUString& sSchemeId) -{ - auto it = getColorSchemes().find(sSchemeId); - if (it != getColorSchemes().end()) - return it->second; - return sSchemeId; -} - -// Given a translated color scheme name, return the scheme ID used in the UI.xcu file -// For non-translatable color schemes, the ID and the name are the same -OUString lcl_TranslatedNameToSchemeId(const OUString& sName) -{ - for (auto it = getColorSchemes().begin(); it != getColorSchemes().end(); ++it) - if (it->second == sName) - return it->first; - return sName; -} - -// ColorConfigWindow_Impl - -class ColorConfigWindow_Impl -{ -public: - explicit ColorConfigWindow_Impl(weld::Window* pTopLevel, weld::Container* pParent); - -public: - void SetLinks(Link<weld::Toggleable&,void> const&, - Link<ColorListBox&,void> const&, - Link<weld::Widget&,void> const&, - weld::ScrolledWindow& rScroll); - void Update(EditableColorConfig const*, EditableExtendedColorConfig const*); - void UpdateEntries(); - void ClickHdl(EditableColorConfig*, const weld::Toggleable&); - void ColorHdl(EditableColorConfig*, EditableExtendedColorConfig*, const ColorListBox*); - - weld::Widget& GetWidget1() - { - return *m_xWidget1; - } - - weld::Widget& GetWidget2() - { - return *m_xWidget2; - } - - weld::Widget& GetBody() - { - return *m_xBox; - } - - int GetLabelIndent() const - { - return m_nCheckBoxLabelOffset; - } - -private: - // Chapter -- horizontal group separator stripe with text - class Chapter - { - // text - std::unique_ptr<weld::Label> m_xText; - public: - Chapter(weld::Builder& rBuilder, const OUString& pLabelWidget, bool bShow); - void SetText(const OUString& rLabel) { m_xText->set_label(rLabel); } - }; - - // Entry -- a color config entry: - // text (checkbox) + color list box - struct Entry - { - Entry(weld::Window* pTopLevel, weld::Builder& rBuilder, const OUString& pTextWidget, const OUString& pColorWidget, - const Color& rColor, int nCheckBoxLabelOffset, const ColorListBox* pCache, bool bCheckBox, bool bShow); - void SetText(const OUString& rLabel) { dynamic_cast<weld::Label&>(*m_xText).set_label(rLabel); } - int get_height_request() const - { - return std::max(m_xText->get_preferred_size().Height(), - m_xColorList->get_widget().get_preferred_size().Height()); - } - void Hide(); - - void SetLinks(Link<weld::Toggleable&,void> const&, - Link<ColorListBox&,void> const&, - Link<weld::Widget&,void> const&); - void Update (ColorConfigValue const&, std::u16string_view, - css::uno::Reference<css::configuration::XReadWriteAccess> const&); - void Update (ExtendedColorConfigValue const&, std::u16string_view, - css::uno::Reference<css::configuration::XReadWriteAccess> const&); - void ColorChanged (ColorConfigValue&); - void ColorChanged (ExtendedColorConfigValue&); - - bool Is(const weld::Toggleable* pBox) const { return m_xText.get() == pBox; } - bool Is(const ColorListBox* pBox) const { return m_xColorList.get() == pBox; } - - // checkbox (CheckBox) or simple text (FixedText) - std::unique_ptr<weld::Widget> m_xText; - // color list box - std::unique_ptr<ColorListBox> m_xColorList; - // default color - Color m_aDefaultColor; - }; - - css::uno::Reference<css::configuration::XReadWriteAccess> m_xReadWriteAccess; - -private: - weld::Window* m_pTopLevel; - int m_nCheckBoxLabelOffset; - std::unique_ptr<weld::Builder> m_xBuilder; - std::unique_ptr<weld::Box> m_xBox; - std::unique_ptr<weld::Widget> m_xWidget1; - std::unique_ptr<weld::Widget> m_xWidget2; - - std::vector<std::unique_ptr<weld::Builder>> vExtBuilders; - std::vector<std::unique_ptr<weld::Container>> vExtContainers; - // vChapters -- groups (group headers) - std::vector<std::shared_ptr<Chapter> > vChapters; - // vEntries -- color options - std::vector<std::shared_ptr<Entry> > vEntries; - - // module options - SvtModuleOptions aModuleOptions; - - // initialization - void CreateEntries(); - -private: - - bool IsGroupVisible (Group) const; -}; - -} // namespace - -// ColorConfigWindow_Impl::Chapter - -// ctor for default groups -// rParent: parent window (ColorConfigWindow_Impl) -// eGroup: which group is this? -ColorConfigWindow_Impl::Chapter::Chapter(weld::Builder& rBuilder, const OUString& pLabelWidget, bool bShow) - : m_xText(rBuilder.weld_label(pLabelWidget)) -{ - if (!bShow) - m_xText->hide(); -} - -// ColorConfigWindow_Impl::Entry -ColorConfigWindow_Impl::Entry::Entry(weld::Window* pTopLevel, weld::Builder& rBuilder, - const OUString& pTextWidget, const OUString& pColorWidget, - const Color& rColor, int nCheckBoxLabelOffset, - const ColorListBox* pCache, bool bCheckBox, bool bShow) - : m_xColorList(new ColorListBox(rBuilder.weld_menu_button(pColorWidget), - [pTopLevel]{ return pTopLevel; }, pCache)) - , m_aDefaultColor(rColor) -{ - if (bCheckBox) - m_xText = rBuilder.weld_check_button(pTextWidget); - else - m_xText = rBuilder.weld_label(pTextWidget); - - // color list - m_xColorList->SetSlotId(SID_ATTR_CHAR_COLOR); - m_xColorList->SetAutoDisplayColor(m_aDefaultColor); - - if (!bCheckBox) - { - m_xText->set_margin_start(m_xText->get_margin_start() + - nCheckBoxLabelOffset); - } - - if (!bShow) - Hide(); -} - -void ColorConfigWindow_Impl::Entry::Hide() -{ - m_xText->hide(); - m_xColorList->hide(); -} - -// SetLinks() -void ColorConfigWindow_Impl::Entry::SetLinks(Link<weld::Toggleable&,void> const& rCheckLink, - Link<ColorListBox&,void> const& rColorLink, - Link<weld::Widget&,void> const& rGetFocusLink) -{ - m_xColorList->SetSelectHdl(rColorLink); - m_xColorList->connect_focus_in(rGetFocusLink); - if (weld::Toggleable* pCheckBox = dynamic_cast<weld::Toggleable*>(m_xText.get())) - { - pCheckBox->connect_toggled(rCheckLink); - pCheckBox->connect_focus_in(rGetFocusLink); - } -} - -// updates a default color config entry -void ColorConfigWindow_Impl::Entry::Update(ColorConfigValue const& rValue, std::u16string_view rConfigPath, - css::uno::Reference<css::configuration::XReadWriteAccess> const& xReadWriteAccess) -{ - Color aColor(rValue.nColor); - m_xColorList->SelectEntry(aColor); - - bool bReadOnly = false; - OUString aConfigPath = OUString::Concat(rConfigPath) + "/Color"; - if (xReadWriteAccess->hasPropertyByHierarchicalName(aConfigPath)) - { - css::beans::Property aProperty = xReadWriteAccess->getPropertyByHierarchicalName(aConfigPath); - bReadOnly = (aProperty.Attributes & css::beans::PropertyAttribute::READONLY) != 0; - } - m_xColorList->set_sensitive(!bReadOnly); - - if (weld::Toggleable* pCheckBox = dynamic_cast<weld::Toggleable*>(m_xText.get())) - { - bReadOnly = false; - pCheckBox->set_active(rValue.bIsVisible); - - aConfigPath = OUString::Concat(rConfigPath) + "/IsVisible"; - if (xReadWriteAccess->hasPropertyByHierarchicalName(aConfigPath)) - { - css::beans::Property aProperty = xReadWriteAccess->getPropertyByHierarchicalName(aConfigPath); - bReadOnly = (aProperty.Attributes & css::beans::PropertyAttribute::READONLY) != 0; - } - pCheckBox->set_sensitive(!bReadOnly); - } -} - -// updates an extended color config entry -void ColorConfigWindow_Impl::Entry::Update(ExtendedColorConfigValue const& rValue, std::u16string_view rConfigPath, - css::uno::Reference<css::configuration::XReadWriteAccess> const& xReadWriteAccess) -{ - Color aColor(rValue.getColor()); - if (rValue.getColor() == rValue.getDefaultColor()) - m_xColorList->SelectEntry(COL_AUTO); - else - m_xColorList->SelectEntry(aColor); - - bool bReadOnly = false; - OUString aConfigPath = OUString::Concat(rConfigPath) + rValue.getName() + "/Color"; - if (xReadWriteAccess->hasPropertyByHierarchicalName(aConfigPath)) - { - css::beans::Property aProperty = xReadWriteAccess->getPropertyByHierarchicalName(aConfigPath); - bReadOnly = (aProperty.Attributes & css::beans::PropertyAttribute::READONLY) != 0; - } - m_xColorList->set_sensitive(!bReadOnly); -} - -// color of a default entry has changed -void ColorConfigWindow_Impl::Entry::ColorChanged(ColorConfigValue& rValue) -{ - Color aColor = m_xColorList->GetSelectEntryColor(); - rValue.nColor = aColor; -} - -// color of an extended entry has changed -void ColorConfigWindow_Impl::Entry::ColorChanged(ExtendedColorConfigValue& rValue) -{ - Color aColor = m_xColorList->GetSelectEntryColor(); - rValue.setColor(aColor); - if (aColor == COL_AUTO) - { - rValue.setColor(rValue.getDefaultColor()); - } -} - -// ColorConfigWindow_Impl -ColorConfigWindow_Impl::ColorConfigWindow_Impl(weld::Window* pTopLevel, weld::Container* pParent) - : m_pTopLevel(pTopLevel) - , m_xBuilder(Application::CreateBuilder(pParent, u"cui/ui/colorconfigwin.ui"_ustr)) - , m_xBox(m_xBuilder->weld_box(u"ColorConfigWindow"_ustr)) - , m_xWidget1(m_xBuilder->weld_widget(u"docboundaries"_ustr)) - , m_xWidget2(m_xBuilder->weld_widget(u"docboundaries_lb"_ustr)) -{ - const css::uno::Reference < css::uno::XComponentContext >& xContext(::comphelper::getProcessComponentContext()); - m_xReadWriteAccess = css::configuration::ReadWriteAccess::create(xContext, u"*"_ustr); - - CreateEntries(); -} - -void ColorConfigWindow_Impl::CreateEntries() -{ - std::bitset<nGroupCount> aModulesInstalled; - // creating group headers - vChapters.reserve(nGroupCount); - for (unsigned i = 0; i != nGroupCount; ++i) - { - aModulesInstalled[i] = IsGroupVisible(vGroupInfo[i].eGroup); - vChapters.push_back(std::make_shared<Chapter>(*m_xBuilder, vGroupInfo[i].pGroup, aModulesInstalled[i])); - } - - // Here we want to get the amount to add to the position of a FixedText to - // get it to align its contents with that of a CheckBox - { - OUString sSampleText(u"XXXXXX"_ustr); - std::unique_ptr<weld::CheckButton> xCheckBox(m_xBuilder->weld_check_button(u"unvisitedlinks"_ustr)); - std::unique_ptr<weld::Label> xFixedText(m_xBuilder->weld_label(u"doccolor"_ustr)); - OUString sOrigCheck(xCheckBox->get_label()); - OUString sOrigFixed(xFixedText->get_label()); - xCheckBox->set_label(sSampleText); - xFixedText->set_label(sSampleText); - Size aCheckSize(xCheckBox->get_preferred_size()); - Size aFixedSize(xFixedText->get_preferred_size()); - xCheckBox->set_label(sOrigCheck); - xFixedText->set_label(sOrigFixed); - m_nCheckBoxLabelOffset = aCheckSize.Width() - aFixedSize.Width(); - } - - const ColorListBox* pCache = nullptr; - - // creating entries - vEntries.reserve(ColorConfigEntryCount - THEME_APPLICATION_COLORS_COUNT); - for (size_t i = 0; i < std::size(vEntryInfo); ++i) - { - vEntries.push_back(std::make_shared<Entry>(m_pTopLevel, *m_xBuilder, - vEntryInfo[i].pText, vEntryInfo[i].pColor, - ColorConfig::GetDefaultColor(static_cast<ColorConfigEntry>(i)), - m_nCheckBoxLabelOffset, pCache, - vEntryInfo[i].bCheckBox, - aModulesInstalled[vEntryInfo[i].eGroup])); - if (!pCache) - pCache = vEntries.back()->m_xColorList.get(); - } - - // extended entries - ExtendedColorConfig aExtConfig; - unsigned const nExtGroupCount = aExtConfig.GetComponentCount(); - if (!nExtGroupCount) - return; - - for (unsigned j = 0; j != nExtGroupCount; ++j) - { - vExtBuilders.emplace_back(Application::CreateBuilder(m_xBox.get(), u"cui/ui/chapterfragment.ui"_ustr)); - vExtContainers.emplace_back(vExtBuilders.back()->weld_frame(u"ChapterFragment"_ustr)); - - OUString const sComponentName = aExtConfig.GetComponentName(j); - vChapters.push_back(std::make_shared<Chapter>( - *vExtBuilders.back(), "chapter", true)); - vChapters.back()->SetText(aExtConfig.GetComponentDisplayName(sComponentName)); - - vExtContainers.emplace_back(vExtBuilders.back()->weld_box(u"contents"_ustr)); - weld::Container* pChapterBox = vExtContainers.back().get(); - - unsigned nColorCount = aExtConfig.GetComponentColorCount(sComponentName); - for (unsigned i = 0; i != nColorCount; ++i) - { - vExtBuilders.emplace_back(Application::CreateBuilder(pChapterBox, u"cui/ui/colorfragment.ui"_ustr)); - vExtContainers.emplace_back(vExtBuilders.back()->weld_container(u"ColorFragment"_ustr)); - - ExtendedColorConfigValue const aColorEntry = - aExtConfig.GetComponentColorConfigValue(sComponentName, i); - vEntries.push_back(std::make_shared<Entry>(m_pTopLevel, *vExtBuilders.back(), - "label", "button", aColorEntry.getDefaultColor(), - m_nCheckBoxLabelOffset, pCache, false, true)); - vEntries.back()->SetText(aColorEntry.getDisplayName()); - } - } -} - -// SetLinks() -void ColorConfigWindow_Impl::SetLinks(Link<weld::Toggleable&,void> const& aCheckLink, - Link<ColorListBox&,void> const& aColorLink, - Link<weld::Widget&,void> const& rGetFocusLink, - weld::ScrolledWindow& rScroll) -{ - if (vEntries.empty()) - return; - for (auto const & i: vEntries) - i->SetLinks(aCheckLink, aColorLink, rGetFocusLink); - // 6 is the spacing set on ColorConfigWindow - rScroll.vadjustment_set_step_increment(vEntries[0]->get_height_request() + 6); -} - -// Update() -void ColorConfigWindow_Impl::Update ( - EditableColorConfig const* pConfig, - EditableExtendedColorConfig const* pExtConfig) -{ - // updating default entries - std::optional<OUString> aUIColorSchemeName = officecfg::Office::UI::ColorScheme::CurrentColorScheme::get(); - OUString aUIColorSchemePath = officecfg::Office::UI::ColorScheme::ColorSchemes::path() + u"/" + aUIColorSchemeName.value(); - - for (unsigned i = 0; i != ColorConfigEntryCount - THEME_APPLICATION_COLORS_COUNT; ++i) - { - OUString sPath = aUIColorSchemePath + vEntryInfo[i].sPropName; - ColorConfigEntry const aColorEntry = static_cast<ColorConfigEntry>(i); - vEntries[i]->Update( - pConfig->GetColorValue(aColorEntry), - sPath, - m_xReadWriteAccess - ); - } - - // updating extended entries - decltype(vEntries)::size_type i = ColorConfigEntryCount - THEME_APPLICATION_COLORS_COUNT; - unsigned const nExtCount = pExtConfig->GetComponentCount(); - for (unsigned j = 0; j != nExtCount; ++j) - { - OUString sComponentName = pExtConfig->GetComponentName(j); - aUIColorSchemePath = officecfg::Office::ExtendedColorScheme::ExtendedColorScheme::ColorSchemes::path() + u"/" + - aUIColorSchemeName.value() + u"/" + sComponentName + u"/Entries/"; - unsigned const nColorCount = pExtConfig->GetComponentColorCount(sComponentName); - for (unsigned k = 0; i != vEntries.size() && k != nColorCount; ++i, ++k) - vEntries[i]->Update( - pExtConfig->GetComponentColorConfigValue(sComponentName, k), - aUIColorSchemePath, - m_xReadWriteAccess - ); - } -} - -void ColorConfigWindow_Impl::UpdateEntries() -{ - for (unsigned i = 0; i != ColorConfigEntryCount - THEME_APPLICATION_COLORS_COUNT; ++i) - { - ColorConfigEntry const aEntry = static_cast<ColorConfigEntry>(i); - Color aColor = ColorConfig::GetDefaultColor(aEntry); - vEntries[i]->m_xColorList->SetAutoDisplayColor(aColor); - } -} - -// ClickHdl() -void ColorConfigWindow_Impl::ClickHdl(EditableColorConfig* pConfig, const weld::Toggleable& rBox) -{ - for (unsigned i = 0; i != ColorConfigEntryCount - THEME_APPLICATION_COLORS_COUNT; ++i) - { - if (vEntries[i]->Is(&rBox)) - { - ColorConfigEntry const aEntry = static_cast<ColorConfigEntry>(i); - ColorConfigValue aValue = pConfig->GetColorValue(aEntry); - aValue.bIsVisible = rBox.get_active(); - pConfig->SetColorValue(aEntry, aValue); - break; - } - } -} - -// ColorHdl() -void ColorConfigWindow_Impl::ColorHdl( - EditableColorConfig* pConfig, EditableExtendedColorConfig* pExtConfig, - const ColorListBox* pBox) -{ - unsigned i = 0; - - // default entries - for ( ; i != ColorConfigEntryCount - THEME_APPLICATION_COLORS_COUNT; ++i) - { - if (pBox && vEntries[i]->Is(pBox)) - { - ColorConfigEntry const aColorEntry = static_cast<ColorConfigEntry>(i); - ColorConfigValue aValue = pConfig->GetColorValue(aColorEntry); - vEntries[i]->ColorChanged(aValue); - pConfig->SetColorValue(aColorEntry, aValue); - break; - } - } - - // extended entries - unsigned const nExtCount = pExtConfig->GetComponentCount(); - i = ColorConfigEntryCount - THEME_APPLICATION_COLORS_COUNT; - for (unsigned j = 0; j != nExtCount; ++j) - { - OUString sComponentName = pExtConfig->GetComponentName(j); - unsigned const nColorCount = pExtConfig->GetComponentColorCount(sComponentName); - unsigned const nCount = vEntries.size(); - for (unsigned k = 0; i != nCount && k != nColorCount; ++i, ++k) - { - if (pBox && vEntries[i]->Is(pBox)) - { - ExtendedColorConfigValue aValue = - pExtConfig->GetComponentColorConfigValue(sComponentName, k); - vEntries[i]->ColorChanged(aValue); - pExtConfig->SetColorValue(sComponentName, aValue); - break; - } - } - } -} - - -// IsGroupVisible() -bool ColorConfigWindow_Impl::IsGroupVisible (Group eGroup) const -{ - switch (eGroup) - { - case Group_Writer: - case Group_Html: - return aModuleOptions.IsWriterInstalled(); - case Group_Calc: - return aModuleOptions.IsCalcInstalled(); - case Group_Draw: - return - aModuleOptions.IsDrawInstalled() || - aModuleOptions.IsImpressInstalled(); - case Group_Sql: - return aModuleOptions.IsDataBaseInstalled(); - default: - return true; - } -} - -class ColorConfigCtrl_Impl -{ - std::unique_ptr<weld::ScrolledWindow> m_xVScroll; - std::unique_ptr<weld::Container> m_xBody; - std::unique_ptr<ColorConfigWindow_Impl> m_xScrollWindow; - - EditableColorConfig* pColorConfig; - EditableExtendedColorConfig* pExtColorConfig; - - DECL_LINK(ClickHdl, weld::Toggleable&, void); - DECL_LINK(ColorHdl, ColorListBox&, void); - DECL_LINK(ControlFocusHdl, weld::Widget&, void); - -public: - explicit ColorConfigCtrl_Impl(weld::Window* pTopLevel, weld::Builder& rbuilder); - - void SetConfig (EditableColorConfig& rConfig) { pColorConfig = &rConfig; } - void SetExtendedConfig (EditableExtendedColorConfig& rConfig) { pExtColorConfig = &rConfig; } - void Update(); - void UpdateEntries(); - tools::Long GetScrollPosition() const - { - return m_xVScroll->vadjustment_get_value(); - } - void SetScrollPosition(tools::Long nSet) - { - m_xVScroll->vadjustment_set_value(nSet); - } - weld::Widget& GetWidget1() - { - return m_xScrollWindow->GetWidget1(); - } - weld::Widget& GetWidget2() - { - return m_xScrollWindow->GetWidget2(); - } - int GetLabelIndent() const - { - return m_xScrollWindow->GetLabelIndent(); - } -}; - -ColorConfigCtrl_Impl::ColorConfigCtrl_Impl(weld::Window* pTopLevel, weld::Builder& rBuilder) - : m_xVScroll(rBuilder.weld_scrolled_window(u"scroll"_ustr)) - , m_xBody(rBuilder.weld_container(u"colorconfig"_ustr)) - , m_xScrollWindow(std::make_unique<ColorConfigWindow_Impl>(pTopLevel, m_xBody.get())) - , pColorConfig(nullptr) - , pExtColorConfig(nullptr) -{ - m_xBody->set_stack_background(); - - Link<weld::Toggleable&,void> aCheckLink = LINK(this, ColorConfigCtrl_Impl, ClickHdl); - Link<ColorListBox&,void> aColorLink = LINK(this, ColorConfigCtrl_Impl, ColorHdl); - Link<weld::Widget&,void> const aGetFocusLink = LINK(this, ColorConfigCtrl_Impl, ControlFocusHdl); - m_xScrollWindow->SetLinks(aCheckLink, aColorLink, aGetFocusLink, *m_xVScroll); -} - -void ColorConfigCtrl_Impl::Update () -{ - DBG_ASSERT(pColorConfig, "Configuration not set"); - m_xScrollWindow->Update(pColorConfig, pExtColorConfig); -} - -void ColorConfigCtrl_Impl::UpdateEntries() -{ - m_xScrollWindow->UpdateEntries(); -} - -IMPL_LINK(ColorConfigCtrl_Impl, ClickHdl, weld::Toggleable&, rBox, void) -{ - DBG_ASSERT(pColorConfig, "Configuration not set"); - m_xScrollWindow->ClickHdl(pColorConfig, rBox); -} - -// a color list has changed -IMPL_LINK(ColorConfigCtrl_Impl, ColorHdl, ColorListBox&, rBox, void) -{ - DBG_ASSERT(pColorConfig, "Configuration not set" ); - m_xScrollWindow->ColorHdl(pColorConfig, pExtColorConfig, &rBox); -} - -IMPL_LINK(ColorConfigCtrl_Impl, ControlFocusHdl, weld::Widget&, rCtrl, void) -{ - // determine whether a control is completely visible - // and make it visible - unsigned const nWinHeight = m_xVScroll->vadjustment_get_page_size(); - - // calc visible area - auto nThumbPos = m_xVScroll->vadjustment_get_value(); - int const nWinTop = nThumbPos; - int const nWinBottom = nWinTop + nWinHeight; - - int x, nCtrlPosY, width, nHeight; - rCtrl.get_extents_relative_to(m_xScrollWindow->GetBody(), x, nCtrlPosY, width, nHeight); - - int const nSelectedItemTop = nCtrlPosY; - int const nSelectedItemBottom = nCtrlPosY + nHeight; - bool const shouldScrollDown = nSelectedItemBottom >= nWinBottom; - bool const shouldScrollUp = nSelectedItemTop <= nWinTop; - bool const isNeedToScroll = shouldScrollDown || shouldScrollUp || nCtrlPosY < 0; - - if (!isNeedToScroll) - return; - - if (shouldScrollDown) - { - int nOffset = nSelectedItemBottom - nWinBottom; - nThumbPos += nOffset + 2; - } - else - { - int nOffset = nWinTop - nSelectedItemTop; - nThumbPos -= nOffset + 2; - if(nThumbPos < 0) - nThumbPos = 0; - } - m_xVScroll->vadjustment_set_value(nThumbPos); -} - -// SvxColorOptionsTabPage -SvxColorOptionsTabPage::SvxColorOptionsTabPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreSet) - : SfxTabPage(pPage, pController, u"cui/ui/optappearancepage.ui"_ustr, u"OptAppearancePage"_ustr, &rCoreSet) - , bFillItemSetCalled(false) - , m_bShowRestartDialog(false) - , m_nSizeAllocEventId(nullptr) - , m_xAutoColorLB(m_xBuilder->weld_combo_box(u"autocolorlb"_ustr)) - , m_xAutoColorImg(m_xBuilder->weld_widget(u"lockautocolorlb"_ustr)) - , m_xColorSchemeLB(m_xBuilder->weld_combo_box(u"colorschemelb"_ustr)) - , m_xColorSchemeImg(m_xBuilder->weld_widget(u"lockcolorschemelb"_ustr)) - , m_xSaveSchemePB(m_xBuilder->weld_button(u"save"_ustr)) - , m_xDeleteSchemePB(m_xBuilder->weld_button(u"delete"_ustr)) - , m_xColorConfigCT(new ColorConfigCtrl_Impl(pController->getDialog(), *m_xBuilder)) - , m_xTable(m_xBuilder->weld_widget(u"table"_ustr)) - , m_xOnFT(m_xBuilder->weld_label(u"on"_ustr)) - , m_xColorFT(m_xBuilder->weld_label(u"colorsetting"_ustr)) - , m_rWidget1(m_xColorConfigCT->GetWidget1()) - , m_rWidget2(m_xColorConfigCT->GetWidget2()) -{ - m_xColorSchemeLB->make_sorted(); - m_xColorSchemeLB->connect_changed(LINK(this, SvxColorOptionsTabPage, SchemeChangedHdl_Impl)); - m_xAutoColorLB->connect_changed(LINK(this, SvxColorOptionsTabPage, onAutoColorChanged)); - Link<weld::Button&,void> aLk = LINK(this, SvxColorOptionsTabPage, SaveDeleteHdl_Impl ); - m_xSaveSchemePB->connect_clicked(aLk); - m_xDeleteSchemePB->connect_clicked(aLk); - - m_rWidget1.connect_size_allocate(LINK(this, SvxColorOptionsTabPage, AdjustHeaderBar)); - m_rWidget2.connect_size_allocate(LINK(this, SvxColorOptionsTabPage, AdjustHeaderBar)); -} - -SvxColorOptionsTabPage::~SvxColorOptionsTabPage() -{ - if (pColorConfig) - { - //when the dialog is cancelled but the color scheme ListBox has been changed these - //changes need to be undone - if (!bFillItemSetCalled && m_xColorSchemeLB->get_value_changed_from_saved()) - { - OUString sOldScheme = m_xColorSchemeLB->get_saved_value(); - if(!sOldScheme.isEmpty()) - { - pColorConfig->SetCurrentSchemeName(sOldScheme); - pExtColorConfig->SetCurrentSchemeName(sOldScheme); - } - } - pColorConfig->ClearModified(); - pColorConfig->EnableBroadcast(); - pColorConfig.reset(); - - pExtColorConfig->ClearModified(); - pExtColorConfig->EnableBroadcast(); - pExtColorConfig.reset(); - } - m_xColorConfigCT.reset(); - if (m_nSizeAllocEventId) - Application::RemoveUserEvent(m_nSizeAllocEventId); - - if (m_bShowRestartDialog) - { - ::svtools::executeRestartDialog(comphelper::getProcessComponentContext(), GetFrameWeld(), - svtools::RESTART_REASON_THEME_CHANGE); - } -} - -std::unique_ptr<SfxTabPage> SvxColorOptionsTabPage::Create(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rAttrSet) -{ - return std::make_unique<SvxColorOptionsTabPage>(pPage, pController, *rAttrSet); -} - -OUString SvxColorOptionsTabPage::GetAllStrings() -{ - // buttons are excluded - OUString sAllStrings; - OUString labels[] = { u"label2"_ustr, u"label3"_ustr, u"autocolor"_ustr, u"uielements"_ustr, u"colorsetting"_ustr }; - - for (const auto& label : labels) - { - if (const auto pString = m_xBuilder->weld_label(label)) - sAllStrings += pString->get_label() + " "; - } - - return sAllStrings.replaceAll("_", ""); -} - -bool SvxColorOptionsTabPage::FillItemSet( SfxItemSet* ) -{ - bFillItemSetCalled = true; - if (m_xColorSchemeLB->get_value_changed_from_saved()) - { - pColorConfig->SetModified(); - pExtColorConfig->SetModified(); - } - if (pColorConfig->IsModified()) - pColorConfig->Commit(); - if (pExtColorConfig->IsModified()) - pExtColorConfig->Commit(); - return true; -} - -void SvxColorOptionsTabPage::Reset( const SfxItemSet* ) -{ - if(pColorConfig) - { - pColorConfig->ClearModified(); - pColorConfig->DisableBroadcast(); - } - pColorConfig.reset(new EditableColorConfig); - m_xColorConfigCT->SetConfig(*pColorConfig); - - if(pExtColorConfig) - { - pExtColorConfig->ClearModified(); - pExtColorConfig->DisableBroadcast(); - } - pExtColorConfig.reset(new EditableExtendedColorConfig); - m_xColorConfigCT->SetExtendedConfig(*pExtColorConfig); - - m_xAutoColorLB->set_active( MiscSettings::GetAppColorMode() ); - - bool bReadOnly = officecfg::Office::ExtendedColorScheme::ExtendedColorScheme::CurrentColorScheme::isReadOnly() || - officecfg::Office::UI::ColorScheme::CurrentColorScheme::isReadOnly(); - m_xAutoColorLB->set_sensitive(!bReadOnly); - m_xSaveSchemePB->set_sensitive(!bReadOnly); - m_xDeleteSchemePB->set_sensitive(!bReadOnly); - m_xAutoColorImg->set_visible(bReadOnly); - - OUString sUser = GetUserData(); - //has to be called always to speed up accessibility tools - m_xColorConfigCT->SetScrollPosition(sUser.toInt32()); - m_xColorSchemeLB->clear(); - const uno::Sequence< OUString > aSchemes = pColorConfig->GetSchemeNames(); - for(const OUString& s : aSchemes) - m_xColorSchemeLB->append_text(lcl_SchemeIdToTranslatedName(s)); - - m_xColorSchemeLB->set_active_text(lcl_SchemeIdToTranslatedName(pColorConfig->GetCurrentSchemeName())); - m_xColorSchemeLB->set_sensitive(!officecfg::Office::Common::Misc::ApplicationAppearance::isReadOnly()); - m_xColorSchemeImg->set_visible(officecfg::Office::Common::Misc::ApplicationAppearance::isReadOnly()); - m_xColorSchemeLB->save_value(); - - m_xDeleteSchemePB->set_sensitive( aSchemes.getLength() > 1 && - !officecfg::Office::ExtendedColorScheme::ExtendedColorScheme::CurrentColorScheme::isReadOnly() ); - UpdateColorConfig(); -} - -DeactivateRC SvxColorOptionsTabPage::DeactivatePage( SfxItemSet* pSet_ ) -{ - if ( pSet_ ) - FillItemSet( pSet_ ); - return DeactivateRC::LeavePage; -} - -void SvxColorOptionsTabPage::UpdateColorConfig() -{ - //update the color config control - m_xColorConfigCT->Update(); -} - -IMPL_LINK_NOARG(SvxColorOptionsTabPage, onAutoColorChanged, weld::ComboBox&, void) -{ - MiscSettings::SetAppColorMode( m_xAutoColorLB->get_active() ); - - m_xColorConfigCT->UpdateEntries(); - - pColorConfig->LoadScheme(lcl_TranslatedNameToSchemeId(m_xColorSchemeLB->get_active_text())); - pExtColorConfig->LoadScheme(lcl_TranslatedNameToSchemeId(m_xColorSchemeLB->get_active_text())); - UpdateColorConfig(); -} - -IMPL_LINK(SvxColorOptionsTabPage, SchemeChangedHdl_Impl, weld::ComboBox&, rBox, void) -{ - pColorConfig->LoadScheme(lcl_TranslatedNameToSchemeId(rBox.get_active_text())); - pExtColorConfig->LoadScheme(lcl_TranslatedNameToSchemeId(rBox.get_active_text())); - UpdateColorConfig(); - - // show restart dialog only when LibreOffice Theme is enabled and - // the theme was changed. - if (officecfg::Office::Common::Misc::LibreOfficeTheme::get() - && rBox.get_value_changed_from_saved()) - m_bShowRestartDialog = true; -} - -IMPL_LINK(SvxColorOptionsTabPage, SaveDeleteHdl_Impl, weld::Button&, rButton, void) -{ - if (m_xSaveSchemePB.get() == &rButton) - { - OUString sName; - - SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); - ScopedVclPtr<AbstractSvxNameDialog> aNameDlg(pFact->CreateSvxNameDialog(GetFrameWeld(), - sName, CuiResId(RID_CUISTR_COLOR_CONFIG_SAVE2) )); - aNameDlg->SetCheckNameHdl( LINK(this, SvxColorOptionsTabPage, CheckNameHdl_Impl)); - aNameDlg->SetText(CuiResId(RID_CUISTR_COLOR_CONFIG_SAVE1)); - aNameDlg->SetHelpId(HID_OPTIONS_COLORCONFIG_SAVE_SCHEME); - aNameDlg->SetCheckNameHdl( LINK(this, SvxColorOptionsTabPage, CheckNameHdl_Impl)); - if(RET_OK == aNameDlg->Execute()) - { - sName = aNameDlg->GetName(); - pColorConfig->AddScheme(sName); - pExtColorConfig->AddScheme(sName); - m_xColorSchemeLB->append_text(sName); - m_xColorSchemeLB->set_active_text(sName); - SchemeChangedHdl_Impl(*m_xColorSchemeLB); - } - } - else - { - DBG_ASSERT(m_xColorSchemeLB->get_count() > 1, "don't delete the last scheme"); - std::unique_ptr<weld::MessageDialog> xQuery(Application::CreateMessageDialog(GetFrameWeld(), - VclMessageType::Question, VclButtonsType::YesNo, - CuiResId(RID_CUISTR_COLOR_CONFIG_DELETE))); - xQuery->set_title(CuiResId(RID_CUISTR_COLOR_CONFIG_DELETE_TITLE)); - if (RET_YES == xQuery->run()) - { - OUString sDeleteScheme(m_xColorSchemeLB->get_active_text()); - m_xColorSchemeLB->remove(m_xColorSchemeLB->get_active()); - m_xColorSchemeLB->set_active(0); - SchemeChangedHdl_Impl(*m_xColorSchemeLB); - //first select the new scheme and then delete the old one - pColorConfig->DeleteScheme(sDeleteScheme); - pExtColorConfig->DeleteScheme(sDeleteScheme); - } - } - m_xDeleteSchemePB->set_sensitive(m_xColorSchemeLB->get_count() > 1); -} - -IMPL_LINK(SvxColorOptionsTabPage, CheckNameHdl_Impl, AbstractSvxNameDialog&, rDialog, bool ) -{ - OUString sName = rDialog.GetName(); - return !sName.isEmpty() && m_xColorSchemeLB->find_text(sName) == -1; -} - -void SvxColorOptionsTabPage::FillUserData() -{ - SetUserData(OUString::number(m_xColorConfigCT->GetScrollPosition())); -} - -IMPL_LINK_NOARG(SvxColorOptionsTabPage, AdjustHeaderBar, const Size&, void) -{ - if (m_nSizeAllocEventId) - return; - m_nSizeAllocEventId = Application::PostUserEvent(LINK(this, SvxColorOptionsTabPage, PostAdjustHeaderBar)); -} - -IMPL_LINK_NOARG(SvxColorOptionsTabPage, PostAdjustHeaderBar, void*, void) -{ - m_nSizeAllocEventId = nullptr; - - // horizontal positions - int nX1, nX2, nX3, y, width, height; - if (!m_rWidget1.get_extents_relative_to(*m_xTable, nX1, y, width, height)) - return; - if (!m_rWidget2.get_extents_relative_to(*m_xTable, nX2, y, width, height)) - return; - if (!m_xTable->get_extents_relative_to(*m_xTable, nX3, y, width, height)) - return; - - // 6 is the column-spacing of the parent grid of these labels - auto nTextWidth1 = nX1 + m_xColorConfigCT->GetLabelIndent() - 6; - m_xOnFT->set_size_request(nTextWidth1, -1); - auto nTextWidth3 = width - nX2; - m_xColorFT->set_size_request(nTextWidth3, -1); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/options/optcolor.hxx b/cui/source/options/optcolor.hxx deleted file mode 100644 index d2d487bdc2fc..000000000000 --- a/cui/source/options/optcolor.hxx +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- 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 <sfx2/tabdlg.hxx> - -namespace svtools {class EditableColorConfig;class EditableExtendedColorConfig;} -class ColorConfigCtrl_Impl; -class AbstractSvxNameDialog; -struct ImplSVEvent; - -class SvxColorOptionsTabPage : public SfxTabPage -{ - bool bFillItemSetCalled; - bool m_bShowRestartDialog; - - ImplSVEvent* m_nSizeAllocEventId; - - std::unique_ptr<weld::ComboBox> m_xAutoColorLB; - std::unique_ptr<weld::Widget> m_xAutoColorImg; - std::unique_ptr<weld::ComboBox> m_xColorSchemeLB; - std::unique_ptr<weld::Widget> m_xColorSchemeImg; - std::unique_ptr<weld::Button> m_xSaveSchemePB; - std::unique_ptr<weld::Button> m_xDeleteSchemePB; - std::unique_ptr<ColorConfigCtrl_Impl> m_xColorConfigCT; - std::unique_ptr<weld::Widget> m_xTable; - std::unique_ptr<weld::Label> m_xOnFT; - std::unique_ptr<weld::Label> m_xColorFT; - - weld::Widget& m_rWidget1; - weld::Widget& m_rWidget2; - - std::unique_ptr<svtools::EditableColorConfig> pColorConfig; - std::unique_ptr<svtools::EditableExtendedColorConfig> pExtColorConfig; - - DECL_LINK(SchemeChangedHdl_Impl, weld::ComboBox&, void); - DECL_LINK(onAutoColorChanged, weld::ComboBox&, void); - DECL_LINK(SaveDeleteHdl_Impl, weld::Button&, void); - DECL_LINK(CheckNameHdl_Impl, AbstractSvxNameDialog&, bool); - DECL_LINK(AdjustHeaderBar, const Size&, void); - DECL_LINK(PostAdjustHeaderBar, void *, void); - void UpdateColorConfig(); - -public: - SvxColorOptionsTabPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rSet); - virtual ~SvxColorOptionsTabPage() 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; - - virtual DeactivateRC DeactivatePage( SfxItemSet* pSet ) override; - virtual void FillUserData() override; -}; - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx index 65717c944956..94f87bcc3dcd 100644 --- a/cui/source/options/optgdlg.cxx +++ b/cui/source/options/optgdlg.cxx @@ -225,7 +225,7 @@ OUString OfaMiscTabPage::GetAllStrings() { OUString sAllStrings; OUString labels[] = { u"label1"_ustr, u"label2"_ustr, u"label4"_ustr, u"label5"_ustr, u"yearslabel"_ustr, - u"toyear"_ustr, u"label7"_ustr, u"label8"_ustr, u"label9"_ustr }; + u"toyear"_ustr, u"label8"_ustr, u"label9"_ustr }; for (const auto& label : labels) { @@ -587,10 +587,6 @@ OfaViewTabPage::OfaViewTabPage(weld::Container* pPage, weld::DialogController* p , m_xNotebookbarIconSizeLabel(m_xBuilder->weld_label(u"label8"_ustr)) , m_xNotebookbarIconSizeLB(m_xBuilder->weld_combo_box(u"notebookbariconsize"_ustr)) , m_xNotebookbarIconSizeImg(m_xBuilder->weld_widget(u"locknotebookbariconsize"_ustr)) - , m_xDarkModeFrame(m_xBuilder->weld_widget(u"darkmode"_ustr)) - , m_xAppearanceStyleLabel(m_xBuilder->weld_label(u"label7"_ustr)) - , m_xAppearanceStyleLB(m_xBuilder->weld_combo_box(u"appearance"_ustr)) - , m_xAppearanceStyleImg(m_xBuilder->weld_widget(u"lockappearance"_ustr)) , m_xIconStyleLabel(m_xBuilder->weld_label(u"label6"_ustr)) , m_xIconStyleLB(m_xBuilder->weld_combo_box(u"iconstyle"_ustr)) , m_xIconStyleImg(m_xBuilder->weld_widget(u"lockiconstyle"_ustr)) @@ -619,11 +615,6 @@ OfaViewTabPage::OfaViewTabPage(weld::Container* pPage, weld::DialogController* p , m_xRunGPTests(m_xBuilder->weld_button(u"btn_rungptest"_ustr)) , m_sAutoStr(m_xIconStyleLB->get_text(0)) { - OUString sToolKitName(Application::GetToolkitName()); - const bool bHasDarkMode = sToolKitName.startsWith("gtk") || sToolKitName == "osx" || sToolKitName == "win"; - if (!bHasDarkMode) - m_xDarkModeFrame->hide(); - m_xFontAntiAliasing->connect_toggled( LINK( this, OfaViewTabPage, OnAntialiasingToggled ) ); m_xUseSkia->connect_toggled(LINK(this, OfaViewTabPage, OnUseSkiaToggled)); @@ -762,7 +753,7 @@ std::unique_ptr<SfxTabPage> OfaViewTabPage::Create( weld::Container* pPage, weld OUString OfaViewTabPage::GetAllStrings() { OUString sAllStrings; - OUString labels[] = { u"label16"_ustr, u"label7"_ustr, u"label1"_ustr, u"label6"_ustr, u"label15"_ustr, + OUString labels[] = { u"label16"_ustr, u"label1"_ustr, u"label6"_ustr, u"label15"_ustr, u"label14"_ustr, u"label8"_ustr, u"label9"_ustr, u"label4"_ustr, u"label12"_ustr, u"label2"_ustr, u"skiaenabled"_ustr, u"skiadisabled"_ustr, u"label5"_ustr, u"aafrom"_ustr }; @@ -789,7 +780,6 @@ OUString OfaViewTabPage::GetAllStrings() bool OfaViewTabPage::FillItemSet( SfxItemSet* ) { bool bModified = false; - bool bDarkModeOptModified = false; bool bRepaintWindows(false); std::shared_ptr<comphelper::ConfigurationChanges> xChanges(comphelper::ConfigurationChanges::create()); @@ -885,12 +875,6 @@ bool OfaViewTabPage::FillItemSet( SfxItemSet* ) bModified = true; } - if (m_xAppearanceStyleLB->get_value_changed_from_saved()) - { - bDarkModeOptModified = true; - bModified = true; - } - // #i95644# if disabled, do not use value, see in ::Reset() if (m_xUseHardwareAccell->get_sensitive()) { @@ -922,9 +906,6 @@ bool OfaViewTabPage::FillItemSet( SfxItemSet* ) xChanges->commit(); - if (bDarkModeOptModified) - MiscSettings::SetDarkMode(m_xAppearanceStyleLB->get_active()); - if ( bAppearanceChanged ) { batch->commit(); @@ -1027,13 +1008,6 @@ void OfaViewTabPage::Reset( const SfxItemSet* ) m_xIconStyleImg->set_visible(!bEnable); m_xIconStyleLB->save_value(); - bEnable = !officecfg::Office::Common::Misc::Appearance::isReadOnly(); - m_xAppearanceStyleLB->set_active(officecfg::Office::Common::Misc::Appearance::get()); - m_xAppearanceStyleLabel->set_sensitive(bEnable); - m_xAppearanceStyleLB->set_sensitive(bEnable); - m_xAppearanceStyleImg->set_visible(!bEnable); - m_xAppearanceStyleLB->save_value(); - // Middle Mouse Button bEnable = !officecfg::Office::Common::View::Dialog::MiddleMouseButton::isReadOnly(); sal_Int16 nMiddleMouseButton = officecfg::Office::Common::View::Dialog::MiddleMouseButton::get(); diff --git a/cui/source/options/optgdlg.hxx b/cui/source/options/optgdlg.hxx index 2c62e569ea75..572e273f4c83 100644 --- a/cui/source/options/optgdlg.hxx +++ b/cui/source/options/optgdlg.hxx @@ -104,10 +104,6 @@ private: 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; diff --git a/cui/source/options/personalization.cxx b/cui/source/options/personalization.cxx deleted file mode 100644 index 51af4ec8e39c..000000000000 --- a/cui/source/options/personalization.cxx +++ /dev/null @@ -1,199 +0,0 @@ -/* -*- 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/. - */ - -#include <config_folders.h> - -#include "personalization.hxx" - -#include <dialmgr.hxx> - -#include <comphelper/processfactory.hxx> -#include <officecfg/Office/Common.hxx> -#include <rtl/bootstrap.hxx> -#include <tools/urlobj.hxx> -#include <tools/stream.hxx> -#include <vcl/event.hxx> -#include <vcl/svapp.hxx> -#include <vcl/settings.hxx> -#include <vcl/graphicfilter.hxx> -#include <vcl/virdev.hxx> -#include <personas.hrc> - -using namespace com::sun::star; -using namespace ::com::sun::star::beans; - -// persona -SvxPersonalizationTabPage::SvxPersonalizationTabPage(weld::Container* pPage, - weld::DialogController* pController, - const SfxItemSet& rSet) - : SfxTabPage(pPage, pController, u"cui/ui/personalization_tab.ui"_ustr, - u"PersonalizationTabPage"_ustr, &rSet) - , m_xNoPersona(m_xBuilder->weld_radio_button(u"no_persona"_ustr)) - , m_xPersonaImg(m_xBuilder->weld_widget(u"lockpersona"_ustr)) - , m_xDefaultPersona(m_xBuilder->weld_radio_button(u"default_persona"_ustr)) - , m_xContentGrid(m_xBuilder->weld_container(u"gridpersonasetting"_ustr)) -{ - for (sal_uInt32 i = 0; i < MAX_DEFAULT_PERSONAS; ++i) - { - OUString sDefaultId("default" + OUString::number(i)); - m_vDefaultPersonaImages[i] = m_xBuilder->weld_toggle_button(sDefaultId); - m_vDefaultPersonaImages[i]->connect_clicked( - LINK(this, SvxPersonalizationTabPage, DefaultPersona)); - } - - LoadDefaultImages(); -} - -SvxPersonalizationTabPage::~SvxPersonalizationTabPage() {} - -std::unique_ptr<SfxTabPage> SvxPersonalizationTabPage::Create(weld::Container* pPage, - weld::DialogController* pController, - const SfxItemSet* rSet) -{ - return std::make_unique<SvxPersonalizationTabPage>(pPage, pController, *rSet); -} - -OUString SvxPersonalizationTabPage::GetAllStrings() -{ - OUString sAllStrings; - OUString radioButton[] = { u"no_persona"_ustr, u"default_persona"_ustr }; - - for (const auto& radio : radioButton) - { - if (const auto pString = m_xBuilder->weld_radio_button(radio)) - sAllStrings += pString->get_label() + " "; - } - - if (const auto pString = m_xBuilder->weld_label(u"personas_label"_ustr)) - sAllStrings += pString->get_label() + " "; - - return sAllStrings.replaceAll("_", ""); -} - -bool SvxPersonalizationTabPage::FillItemSet(SfxItemSet*) -{ - // persona - OUString aPersona(u"default"_ustr); - if (m_xNoPersona->get_active()) - aPersona = "no"; - - bool bModified = false; - if (aPersona != officecfg::Office::Common::Misc::Persona::get() - || m_aPersonaSettings != officecfg::Office::Common::Misc::PersonaSettings::get()) - { - bModified = true; - } - - // write - std::shared_ptr<comphelper::ConfigurationChanges> batch( - comphelper::ConfigurationChanges::create()); - if (aPersona == "no") - m_aPersonaSettings.clear(); - officecfg::Office::Common::Misc::Persona::set(aPersona, batch); - officecfg::Office::Common::Misc::PersonaSettings::set(m_aPersonaSettings, batch); - batch->commit(); - - if (bModified) - { - // broadcast the change - DataChangedEvent aDataChanged(DataChangedEventType::SETTINGS, nullptr, - AllSettingsFlags::STYLE); - Application::NotifyAllWindows(aDataChanged); - } - - return bModified; -} - -void SvxPersonalizationTabPage::Reset(const SfxItemSet*) -{ - // persona - OUString aPersona = officecfg::Office::Common::Misc::Persona::get(); - m_aPersonaSettings = officecfg::Office::Common::Misc::PersonaSettings::get(); - - if (aPersona == "no") - m_xNoPersona->set_active(true); - else - m_xDefaultPersona->set_active(true); - - if (officecfg::Office::Common::Misc::Persona::isReadOnly()) - { - m_xNoPersona->set_sensitive(false); - m_xDefaultPersona->set_sensitive(false); - m_xPersonaImg->set_visible(true); - } - - if (officecfg::Office::Common::Misc::PersonaSettings::isReadOnly()) - m_xContentGrid->set_sensitive(false); -} - -void SvxPersonalizationTabPage::LoadDefaultImages() -{ - // Load the pre saved personas - - OUString gallery = u"$BRAND_BASE_DIR/" LIBO_SHARE_FOLDER "/gallery/personas/"_ustr; - rtl::Bootstrap::expandMacros(gallery); - OUString aPersonasList = gallery + "personas_list.txt"; - SvFileStream aStream(aPersonasList, StreamMode::READ); - GraphicFilter aFilter; - Graphic aGraphic; - sal_Int32 nIndex = 0; - bool foundOne = false; - - OStringBuffer aLine; - int nLineNumberFilePersona = 0; - while (aStream.IsOpen() && !aStream.eof() && nIndex < MAX_DEFAULT_PERSONAS) - { - OUString aPersonaSetting, aPreviewFile, aName; - sal_Int32 nParseIndex = 0; - - aStream.ReadLine(aLine); - aPersonaSetting = OStringToOUString(aLine, RTL_TEXTENCODING_UTF8); - aName = CuiResId(RID_PERSONAS_COLOR[nLineNumberFilePersona].first); - aPreviewFile = aPersonaSetting.getToken(2, ';', nParseIndex); - - if (aPreviewFile.isEmpty()) - break; - - m_vDefaultPersonaSettings.push_back(aPersonaSetting); - - INetURLObject aURLObj(rtl::Concat2View(gallery + aPreviewFile)); - aFilter.ImportGraphic(aGraphic, aURLObj); - - Size aSize(aGraphic.GetSizePixel()); - aSize.setWidth(aSize.Width() / 4); - aSize.setHeight(aSize.Height() / 1.5); - ScopedVclPtr<VirtualDevice> xVirDev - = m_vDefaultPersonaImages[nIndex]->create_virtual_device(); - xVirDev->SetOutputSizePixel(aSize); - aGraphic.Draw(*xVirDev, Point(0, 0)); - m_vDefaultPersonaImages[nIndex]->set_image(xVirDev.get()); - xVirDev.disposeAndClear(); - - m_vDefaultPersonaImages[nIndex]->set_tooltip_text(aName); - m_vDefaultPersonaImages[nIndex++]->show(); - foundOne = true; - ++nLineNumberFilePersona; - } - - m_xDefaultPersona->set_sensitive(foundOne); -} - -IMPL_LINK(SvxPersonalizationTabPage, DefaultPersona, weld::Button&, rButton, void) -{ - m_xDefaultPersona->set_active(true); - for (sal_Int32 nIndex = 0; nIndex < MAX_DEFAULT_PERSONAS; ++nIndex) - { - if (&rButton == m_vDefaultPersonaImages[nIndex].get()) - m_aPersonaSettings = m_vDefaultPersonaSettings[nIndex]; - else - m_vDefaultPersonaImages[nIndex]->set_active(false); - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/options/personalization.hxx b/cui/source/options/personalization.hxx deleted file mode 100644 index 786b22c7d7b3..000000000000 --- a/cui/source/options/personalization.hxx +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- 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/. - */ - -#pragma once - -#include <sfx2/tabdlg.hxx> -#include <vector> - -#define MAX_DEFAULT_PERSONAS 6 // Maximum number of default personas - -class SvxPersonalizationTabPage : public SfxTabPage -{ -private: - std::unique_ptr<weld::RadioButton> m_xNoPersona; ///< Just the default look, without any bitmap - std::unique_ptr<weld::Widget> m_xPersonaImg; - std::unique_ptr<weld::RadioButton> m_xDefaultPersona; ///< Use the built-in bitmap - std::unique_ptr<weld::Container> m_xContentGrid; - std::unique_ptr<weld::ToggleButton> m_vDefaultPersonaImages - [MAX_DEFAULT_PERSONAS]; ///< Buttons to show the default persona images - OUString m_aPersonaSettings; ///< Header and footer images + color to be set in the settings. - - std::vector<OUString> m_vDefaultPersonaSettings; - -public: - SvxPersonalizationTabPage(weld::Container* pPage, weld::DialogController* pController, - const SfxItemSet& rSet); - virtual ~SvxPersonalizationTabPage() override; - - static std::unique_ptr<SfxTabPage> - Create(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rSet); - - virtual OUString GetAllStrings() override; - - /// Apply the settings ([OK] button). - virtual bool FillItemSet(SfxItemSet* rSet) override; - - /// Reset to default settings ([Revert] button). - virtual void Reset(const SfxItemSet* rSet) override; - - /* - * Loads the default personas from the shared personas directory - * which resides in the shared gallery. - * There needs to be a separate subdirectory for each default persona, - * which includes the preview, header, and footer images. - * And there needs to be a personas_list.txt file in the personas directory - * which keeps the index/info of the default personas, one persona per line. - * A line should look like this: - * persona_slug;Persona Name;subdir/preview.jpg;subdir/header.jpg;subdir/footer.jpg;#textcolor - * (It is recommended to keep the subdir name the same as the slug) - * Example line: - * abstract;Abstract;abstract/preview.jpg;abstract/Header2.jpg;abstract/Footer2.jpg;#ffffff - */ - void LoadDefaultImages(); - -private: - /// Handle the default Persona selection - DECL_LINK(DefaultPersona, weld::Button&, void); -}; - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cui/source/options/treeopt.cxx b/cui/source/options/treeopt.cxx index f5d6a9eaf040..70342ce490b3 100644 --- a/cui/source/options/treeopt.cxx +++ b/cui/source/options/treeopt.cxx @@ -45,7 +45,6 @@ #include "optaccessibility.hxx" #include <optasian.hxx> #include "optchart.hxx" -#include "optcolor.hxx" #include "optctl.hxx" #include "optfltr.hxx" #include "optgdlg.hxx" @@ -60,7 +59,6 @@ #include <optpath.hxx> #include "optsave.hxx" #include "optupdt.hxx" -#include "personalization.hxx" #include <treeopt.hxx> #include "optbasic.hxx" #include "optlanguagetool.hxx" @@ -261,10 +259,6 @@ static std::unique_ptr<SfxTabPage> CreateGeneralTabPage(sal_uInt16 nId, weld::Co case RID_SVXPAGE_INET_PROXY: fnCreate = &SvxProxyTabPage::Create; break; case RID_SVXPAGE_INET_SECURITY: fnCreate = &SvxSecurityTabPage::Create; break; case RID_SVXPAGE_INET_MAIL: fnCreate = &SvxEMailTabPage::Create; break; -#if HAVE_FEATURE_DESKTOP - case RID_SVXPAGE_PERSONALIZATION: fnCreate = &SvxPersonalizationTabPage::Create; break; -#endif - case RID_SVXPAGE_COLORCONFIG: fnCreate = &SvxColorOptionsTabPage::Create; break; case RID_OFAPAGE_HTMLOPT: fnCreate = &OfaHtmlTabPage::Create; break; case SID_OPTFILTER_MSOFFICE: fnCreate = &OfaMSFilterTabPage::Create; break; case RID_OFAPAGE_MSFILTEROPT2: fnCreate = &OfaMSFilterTabPage2::Create; break; @@ -311,8 +305,6 @@ constexpr OptionsMapping_Impl OptionsMap_Impl[] { u"ProductName"_ustr, u"Paths"_ustr, RID_SFXPAGE_PATH }, { u"ProductName"_ustr, u"Fonts"_ustr, RID_SVX_FONT_SUBSTITUTION }, { u"ProductName"_ustr, u"Security"_ustr, RID_SVXPAGE_INET_SECURITY }, - { u"ProductName"_ustr, u"Personalization"_ustr, RID_SVXPAGE_PERSONALIZATION }, - { u"ProductName"_ustr, u"Appearance"_ustr, RID_SVXPAGE_COLORCONFIG }, { u"ProductName"_ustr, u"Accessibility"_ustr, RID_SVXPAGE_ACCESSIBILITYCONFIG }, { u"ProductName"_ustr, u"Java"_ustr, RID_SVXPAGE_OPTIONS_JAVA }, { u"ProductName"_ustr, u"BasicIDEOptions"_ustr, RID_SVXPAGE_BASICIDE_OPTIONS }, diff --git a/cui/source/options/treeopthelper.cxx b/cui/source/options/treeopthelper.cxx index b644a96da14c..294364cafe37 100644 --- a/cui/source/options/treeopthelper.cxx +++ b/cui/source/options/treeopthelper.cxx @@ -53,8 +53,6 @@ static PageIdToFileNameMap_Impl FileMap_Impl[] = { { RID_SVXPAGE_INET_SECURITY, u""_ustr }, // Security - { RID_SVXPAGE_PERSONALIZATION, u""_ustr }, // Personalization - { RID_SVXPAGE_COLORCONFIG, u""_ustr }, // ApplicationColors { RID_SVXPAGE_ACCESSIBILITYCONFIG, u""_ustr }, // Accessibility { RID_SVXPAGE_OPTIONS_JAVA, u""_ustr }, // Java { RID_SVXPAGE_BASICIDE_OPTIONS, u""_ustr }, // BasicIDEOptions diff --git a/cui/uiconfig/ui/colorconfigwin.ui b/cui/uiconfig/ui/colorconfigwin.ui deleted file mode 100644 index 8196a72668e2..000000000000 --- a/cui/uiconfig/ui/colorconfigwin.ui +++ /dev/null @@ -1,2563 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.40.0 --> -<interface domain="cui"> - <requires lib="gtk+" version="3.20"/> - <object class="GtkBox" id="ColorConfigWindow"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="margin-start">6</property> - <property name="margin-end">6</property> - <property name="margin-top">6</property> - <property name="hexpand">True</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> - <!-- n-columns=2 n-rows=10 --> - <object class="GtkGrid" id="gdGeneral"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="margin-start">6</property> - <property name="margin-end">12</property> - <property name="row-spacing">3</property> - <property name="column-spacing">6</property> - <child> - <object class="GtkLabel" id="doccolor"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|doccolor">Document background</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">doccolor_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="doccolor_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="hexpand">True</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="docboundaries"> - <property name="label" translatable="yes" context="colorconfigwin|docboundaries">Text boundaries</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="halign">start</property> - <property name="valign">center</property> - <accessibility> - <relation type="label-for" target="docboundaries_lb"/> - </accessibility> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="docboundaries_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - <accessibility> - <relation type="labelled-by" target="docboundaries"/> - </accessibility> - <child internal-child="accessible"> - <object class="AtkObject" id="docboundaries_lb-atkobject"> - <property name="AtkObject::accessible-name" translatable="yes" context="colorconfigwin|docboundaries_lb">Text boundaries color</property> - </object> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="appback"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|appback">Application background</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">appback_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="appback_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="tblboundaries"> - <property name="label" translatable="yes" context="colorconfigwin|tblboundaries">Table boundaries</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="halign">start</property> - <property name="valign">center</property> - <accessibility> - <relation type="label-for" target="tblboundaries_lb"/> - </accessibility> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">3</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="tblboundaries_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - <accessibility> - <relation type="labelled-by" target="tblboundaries"/> - </accessibility> - <child internal-child="accessible"> - <object class="AtkObject" id="tblboundaries_lb-atkobject"> - <property name="AtkObject::accessible-name" translatable="yes" context="colorconfigwin|tblboundaries_lb">Table boundaries color</property> - </object> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">3</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="font"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|font">Font color</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">font_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">4</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="font_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">4</property> - </packing> - </child> - <child> - <object class="GtkCheckButton" id="unvisitedlinks"> - <property name="label" translatable="yes" context="colorconfigwin|unvisitedlinks">Unvisited links</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="draw-indicator">True</property> - <accessibility> - <relation type="label-for" target="unvisitedlinks_lb"/> - </accessibility> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">5</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="unvisitedlinks_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - <accessibility> - <relation type="labelled-by" target="unvisitedlinks"/> - </accessibility> - <child internal-child="accessible"> - <object class="AtkObject" id="unvisitedlinks_lb-atkobject"> - <property name="AtkObject::accessible-name" translatable="yes" context="colorconfigwin|unvisitedlinks_lb">Unvisited links color</property> - </object> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">5</property> - </packing> - </child> - <child> - <object class="GtkCheckButton" id="visitedlinks"> - <property name="label" translatable="yes" context="colorconfigwin|visitedlinks">Visited links</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="draw-indicator">True</property> - <accessibility> - <relation type="label-for" target="visitedlinks_lb"/> - </accessibility> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">6</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="visitedlinks_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - <accessibility> - <relation type="labelled-by" target="visitedlinks"/> - </accessibility> - <child internal-child="accessible"> - <object class="AtkObject" id="visitedlinks_lb-atkobject"> - <property name="AtkObject::accessible-name" translatable="yes" context="colorconfigwin|visitedlinks_lb">Visited links color</property> - </object> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">6</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="autospellcheck"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|autospellcheck">Spelling mistakes</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">autospellcheck_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">7</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="autospellcheck_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">7</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="smarttags"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|smarttags">Smart Tags</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">smarttags_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">8</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="smarttags_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">8</property> - </packing> - </child> - <child> - <object class="GtkCheckButton" id="shadows"> - <property name="label" translatable="yes" context="colorconfigwin|shadows">Shadows</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="draw-indicator">True</property> - <accessibility> - <relation type="label-for" target="shadows_lb"/> - </accessibility> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">9</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="shadows_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - <accessibility> - <relation type="labelled-by" target="shadows"/> - </accessibility> - <child internal-child="accessible"> - <object class="AtkObject" id="shadows_lb-atkobject"> - <property name="AtkObject::accessible-name" translatable="yes" context="colorconfigwin|shadows_lb">Shadows color</property> - </object> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">9</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="colorconfigwin|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="frmWriter"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label-xalign">0</property> - <property name="shadow-type">none</property> - <child> - <!-- n-columns=2 n-rows=10 --> - <object class="GtkGrid"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="margin-start">6</property> - <property name="margin-end">12</property> - <property name="row-spacing">3</property> - <property name="column-spacing">6</property> - <child> - <object class="GtkLabel" id="writergrid"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|writergrid">Grid</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">writergrid_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="writergrid_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="hexpand">True</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkCheckButton" id="field"> - <property name="label" translatable="yes" context="colorconfigwin|field">Field shadings</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="draw-indicator">True</property> - <accessibility> - <relation type="label-for" target="field_lb"/> - </accessibility> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="field_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - <accessibility> - <relation type="labelled-by" target="field"/> - </accessibility> - <child internal-child="accessible"> - <object class="AtkObject" id="field_lb-atkobject"> - <property name="AtkObject::accessible-name" translatable="yes" context="colorconfigwin|field_lb">Field shadings color</property> - </object> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkCheckButton" id="index"> - <property name="label" translatable="yes" context="colorconfigwin|index">Index and table shadings</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="draw-indicator">True</property> - <accessibility> - <relation type="label-for" target="index_lb"/> - </accessibility> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="index_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - <accessibility> - <relation type="labelled-by" target="index"/> - </accessibility> - <child internal-child="accessible"> - <object class="AtkObject" id="index_lb-atkobject"> - <property name="AtkObject::accessible-name" translatable="yes" context="colorconfigwin|index_lb">Index and table shadings color</property> - </object> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="script"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|script">Script Indicator</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">script_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">4</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="script_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">4</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="section"> - <property name="label" translatable="yes" context="colorconfigwin|section">Section boundaries</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="halign">start</property> - <property name="valign">center</property> - <accessibility> - <relation type="label-for" target="section_lb"/> - </accessibility> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">5</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="section_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - <accessibility> - <relation type="labelled-by" target="section"/> - </accessibility> - <child internal-child="accessible"> - <object class="AtkObject" id="section_lb-atkobject"> - <property name="AtkObject::accessible-name" translatable="yes" context="colorconfigwin|section_lb">Section boundaries color</property> - </object> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">5</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="hdft"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|hdft">Headers and Footer delimiter</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">hdft_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">6</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="hdft_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">6</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="pagebreak"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|pagebreak">Page and column breaks</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">pagebreak_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">7</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="pagebreak_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">7</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="direct"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|direct">Direct Cursor</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">direct_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">8</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="direct_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">8</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="grammarcheck"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|autospellcheck">Grammar mistakes</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">grammarcheck_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">3</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="grammarcheck_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">3</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="nonprintchars"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|nonprintchars">Non-printable characters</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">nonprintchars_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">9</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="nonprintchars_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">9</property> - </packing> - </child> - </object> - </child> - <child type="label"> - <object class="GtkLabel" id="writer"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes" context="colorconfigwin|writer">Text Document</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> - <child> - <object class="GtkFrame" id="frmCalc"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label-xalign">0</property> - <property name="shadow-type">none</property> - <child> - <!-- n-columns=2 n-rows=16 --> - <object class="GtkGrid" id="gdCalc"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="margin-start">6</property> - <property name="margin-end">12</property> - <property name="row-spacing">3</property> - <property name="column-spacing">6</property> - <child> - <object class="GtkLabel" id="calcgrid"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|calcgrid">Grid lines</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">calcgrid_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="calcgrid_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="hexpand">True</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="brk"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|brk">Page breaks</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">brk_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="brk_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="brkmanual"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|brkmanual">Manual page breaks</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">brkmanual_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">3</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="brkmanual_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">3</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="brkauto"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|brkauto">Automatic page breaks</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">brkauto_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">4</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="brkauto_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">4</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="det"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|det">Detective</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">det_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">8</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="det_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">8</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="deterror_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">9</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="deterror"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|deterror">Detective error</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">deterror_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">9</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="ref_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">10</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="ref"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|ref">References</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">ref_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">10</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="notes_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">11</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="notes"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|notes">Notes background</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">notes_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">11</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="values_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">12</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="values"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|values">Values</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">values_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">12</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="formulas_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">13</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="formulas"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|formulas">Formulas</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">formulas_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">13</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="text_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">14</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="text"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|text">Text</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">text_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">14</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="protectedcells_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">15</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="protectedcells"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|protectedcells">Protected cells background</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">protectedcells_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">15</property> - </packing> - </child> - <child> - <object class="GtkCheckButton" id="hiddencolrow"> - <property name="label" translatable="yes" context="colorconfigwin|hiddencolrow">Hidden columns/rows</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="draw-indicator">True</property> - <accessibility> - <relation type="label-for" target="hiddencolrow_lb"/> - </accessibility> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">5</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="hiddencolrow_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - <accessibility> - <relation type="labelled-by" target="hiddencolrow"/> - </accessibility> - <child internal-child="accessible"> - <object class="AtkObject" id="hiddencolrow_lb-atkobject"> - <property name="AtkObject::accessible-name" translatable="yes" context="colorconfigwin|hiddencolrow_lb">Hidden row/column color</property> - </object> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">5</property> - </packing> - </child> - <child> - <object class="GtkCheckButton" id="textoverflow"> - <property name="label" translatable="yes" context="colorconfigwin|textoverflow">Text overflow</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="draw-indicator">True</property> - <accessibility> - <relation type="label-for" target="textoverflow_lb"/> - </accessibility> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">6</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="textoverflow_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - <accessibility> - <relation type="labelled-by" target="textoverflow"/> - </accessibility> - <child internal-child="accessible"> - <object class="AtkObject" id="textoverflow_lb-atkobject"> - <property name="AtkObject::accessible-name" translatable="yes" context="colorconfigwin|textoverflow_lb">Text overflow color</property> - </object> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">6</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="comments_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - <child internal-child="accessible"> - <object class="AtkObject" id="comments_lb-atkobject"> - <property name="AtkObject::accessible-name" translatable="yes" context="colorconfigwin|comments_lb">Comments color</property> - </object> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">7</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="comments"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|comments">Comments</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">comments_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">7</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="calccellfocus"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|calccellfocus">Cell Focus</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">calccellfocus_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="calccellfocus_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="hexpand">True</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - <child internal-child="accessible"> - <object class="AtkObject" id="calccellfocus_lb-atkobject"> - <property name="AtkObject::accessible-name" translatable="yes" context="colorconfigwin|calccellfocus_lb">Cell Focus color</property> - </object> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">1</property> - </packing> - </child> - </object> - </child> - <child type="label"> - <object class="GtkLabel" id="calc"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes" context="colorconfigwin|calc">Spreadsheet</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">2</property> - </packing> - </child> - <child> - <object class="GtkFrame" id="frmDrawImpress"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label-xalign">0</property> - <property name="shadow-type">none</property> - <child> - <!-- n-columns=2 n-rows=1 --> - <object class="GtkGrid" id="gdDraw"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="margin-start">6</property> - <property name="margin-end">12</property> - <property name="row-spacing">3</property> - <property name="column-spacing">6</property> - <child> - <object class="GtkMenuButton" id="drawgrid_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="hexpand">True</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="drawgrid"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|drawgrid">Grid</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">drawgrid_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - </object> - </child> - <child type="label"> - <object class="GtkLabel" id="draw"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes" context="colorconfigwin|draw">Drawing / Presentation</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">3</property> - </packing> - </child> - <child> - <object class="GtkFrame" id="frmComments"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label-xalign">0</property> - <property name="shadow-type">none</property> - <child> - <!-- n-columns=2 n-rows=9 --> - <object class="GtkGrid"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="margin-start">6</property> - <property name="margin-end">12</property> - <property name="row-spacing">3</property> - <property name="column-spacing">6</property> - <child> - <object class="GtkLabel" id="author1"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|author1">Author 1</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">author1_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="author1_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="hexpand">True</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="author2"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|author2">Author 2</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">author2_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="author2_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="hexpand">True</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="author3"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|author3">Author 3</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">author3_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="author3_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="hexpand">True</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="author4"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|author4">Author 4</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">author4_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">3</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="author4_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="hexpand">True</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">3</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="author5"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|author5">Author 5</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">author5_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">4</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="author5_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="hexpand">True</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">4</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="author6"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|author6">Author 6</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">author6_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">5</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="author6_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="hexpand">True</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">5</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="author7"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|author7">Author 7</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">author7_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">6</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="author7_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="hexpand">True</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">6</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="author8"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|author8">Author 8</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">author8_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">7</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="author8_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="hexpand">True</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">7</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="author9"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|author9">Author 9</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">author9_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">8</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="author9_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="hexpand">True</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">8</property> - </packing> - </child> - </object> - </child> - <child type="label"> - <object class="GtkLabel" id="lbComment"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes" context="colorconfigwin|comments">Comments</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">4</property> - </packing> - </child> - <child> - <object class="GtkFrame" id="frmBasic"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label-xalign">0</property> - <property name="shadow-type">none</property> - <child> - <!-- n-columns=2 n-rows=8 --> - <object class="GtkGrid" id="gdBasic"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="margin-start">6</property> - <property name="margin-end">12</property> - <property name="row-spacing">3</property> - <property name="column-spacing">6</property> - <child> - <object class="GtkMenuButton" id="basicid_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="hexpand">True</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="basicid"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|basicid">Identifier</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">basicid_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="basiccomment_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="basiccomment"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|basiccomment">Comment</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">basiccomment_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="basicnumber_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">3</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="basicnumber"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|basicnumber">Number</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">basicnumber_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">3</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="basicstring_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">4</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="basicstring"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|basicstring">String</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">basicstring_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">4</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="basicop_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">5</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="basicop"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|basicop">Operator</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">basicop_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">5</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="basickeyword_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">6</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="basickeyword"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|basickeyword">Reserved expression</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">basickeyword_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">6</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="error_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">7</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="error"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|error">Error</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">error_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">7</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="basiceditor_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="basiceditor"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|basiceditor">Editor background</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">basiceditor_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - </object> - </child> - <child type="label"> - <object class="GtkLabel" id="basic"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes" context="colorconfigwin|basic">Basic Syntax Highlighting</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">5</property> - </packing> - </child> - <child> - <object class="GtkFrame" id="frmSQL"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label-xalign">0</property> - <property name="shadow-type">none</property> - <child> - <!-- n-columns=2 n-rows=7 --> - <object class="GtkGrid" id="gdSQL"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="margin-start">6</property> - <property name="margin-end">12</property> - <property name="row-spacing">3</property> - <property name="column-spacing">6</property> - <child> - <object class="GtkMenuButton" id="sqlid_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="hexpand">True</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="sqlid"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|sqlid">Identifier</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">sqlid_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="sqlnumber_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="sqlnumber"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|sqlnumber">Number</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">sqlnumber_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="sqlstring_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="sqlstring"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|sqlstring">String</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">sqlstring_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="sqlop_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">3</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="sqlop"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|sqlop">Operator</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">sqlop_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">3</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="sqlkeyword_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">4</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="sqlkeyword"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|sqlkeyword">Keyword</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">sqlkeyword_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">4</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="sqlparam_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">5</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="sqlparam"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|sqlparam">Parameter</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">sqlparam_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">5</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="sqlcomment_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">6</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="sqlcomment"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|sqlcomment">Comment</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">sqlcomment_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">6</property> - </packing> - </child> - </object> - </child> - <child type="label"> - <object class="GtkLabel" id="sql"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes" context="colorconfigwin|sql">SQL Syntax Highlighting</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">6</property> - </packing> - </child> - <child> - <object class="GtkFrame" id="frmHTML"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label-xalign">0</property> - <property name="shadow-type">none</property> - <child> - <!-- n-columns=2 n-rows=4 --> - <object class="GtkGrid" id="gdHTML"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="margin-start">6</property> - <property name="margin-end">12</property> - <property name="row-spacing">3</property> - <property name="column-spacing">6</property> - <child> - <object class="GtkMenuButton" id="sgml_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="hexpand">True</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="sgml"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|sgml">SGML syntax highlighting</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">sgml_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="htmlcomment"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|htmlcomment">Comment highlighting</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">htmlcomment_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="htmlcomment_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="htmlkeyword"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|htmlkeyword">Keyword highlighting</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">htmlkeyword_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="htmlkeyword_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="unknown"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="colorconfigwin|unknown">Text</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">unknown_lb</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">3</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="unknown_lb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="halign">end</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">3</property> - </packing> - </child> - </object> - </child> - <child type="label"> - <object class="GtkLabel" id="html"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes" context="colorconfigwin|html">HTML Document</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">7</property> - </packing> - </child> - </object> -</interface> diff --git a/cui/uiconfig/ui/optappearancepage.ui b/cui/uiconfig/ui/optappearancepage.ui deleted file mode 100644 index 0d8792b12244..000000000000 --- a/cui/uiconfig/ui/optappearancepage.ui +++ /dev/null @@ -1,298 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.40.0 --> -<interface domain="cui"> - <requires lib="gtk+" version="3.20"/> - <object class="GtkBox" id="OptAppearancePage"> - <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="orientation">vertical</property> - <property name="spacing">12</property> - <child> - <object class="GtkFrame" id="frame2"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hexpand">True</property> - <property name="vexpand">True</property> - <property name="label-xalign">0</property> - <property name="shadow-type">none</property> - <child> - <!-- n-columns=1 n-rows=3 --> - <object class="GtkGrid" id="table"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="margin-start">12</property> - <property name="margin-top">6</property> - <property name="hexpand">True</property> - <property name="vexpand">True</property> - <child> - <object class="GtkBox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hexpand">True</property> - <property name="vexpand">True</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkScrolledWindow" id="scroll"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="hexpand">True</property> - <property name="vexpand">True</property> - <property name="hscrollbar-policy">never</property> - <property name="vscrollbar-policy">always</property> - <property name="shadow-type">in</property> - <child> - <object class="GtkViewport"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hexpand">True</property> - <property name="vexpand">True</property> - <child> - <!-- n-columns=1 n-rows=1 --> - <object class="GtkGrid" id="colorconfig"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hexpand">True</property> - <property name="vexpand">True</property> - <property name="orientation">vertical</property> - <child> - <placeholder/> - </child> - <child internal-child="accessible"> - <object class="AtkObject" id="colorconfig-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|colorconfig">Select the colors for the user interface elements.</property> - </object> - </child> - </object> - </child> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <!-- n-columns=3 n-rows=1 --> - <object class="GtkGrid" id="grid3"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="margin-top">6</property> - <property name="hexpand">True</property> - <property name="column-spacing">6</property> - <child> - <object class="GtkLabel" id="uielements"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="no-show-all">True</property> - <property name="hexpand">True</property> - <property name="label" translatable="yes" context="optappearancepage|uielements">User interface elements</property> - <property name="xalign">0</property> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="colorsetting"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="no-show-all">True</property> - <property name="label" translatable="yes" context="optappearancepage|colorsetting">Color setting</property> - <property name="xalign">0</property> - </object> - <packing> - <property name="left-attach">2</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="on"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="no-show-all">True</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <!-- n-columns=8 n-rows=1 --> - <object class="GtkGrid" id="grid1"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="margin-start">12</property> - <property name="margin-top">6</property> - <property name="hexpand">True</property> - <property name="column-spacing">6</property> - <child> - <object class="GtkButton" id="save"> - <property name="label" translatable="yes" context="optappearancepage|save">_Save</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="use-underline">True</property> - <child internal-child="accessible"> - <object class="AtkObject" id="save-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|save">Saves the current settings as a color scheme that you can reload later.</property> - </object> - </child> - </object> - <packing> - <property name="left-attach">3</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkButton" id="delete"> - <property name="label" translatable="yes" context="stock">_Delete</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="use-underline">True</property> - <child internal-child="accessible"> - <object class="AtkObject" id="delete-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|delete">Deletes the color scheme shown in the Scheme box. You cannot delete the Default scheme.</property> - </object> - </child> - </object> - <packing> - <property name="left-attach">4</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkComboBoxText" id="colorschemelb"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hexpand">True</property> - <child internal-child="accessible"> - <object class="AtkObject" id="colorschemelb-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|colorschemelb">Selects the color scheme you want to use.</property> - </object> - </child> - </object> - <packing> - <property name="left-attach">2</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="autocolor"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="margin-start">12</property> - <property name="label" translatable="yes" context="optappearancepage|autocolor">_Automatic:</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">autocolorlb</property> - </object> - <packing> - <property name="left-attach">6</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkComboBoxText" id="autocolorlb"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="active">1</property> - <items> - <item id="0" translatable="yes" context="optappearancepage|cbSchemeEntry1">System Theme</item> - <item id="1" translatable="yes" context="optappearancepage|cbSchemeEntry2">Light</item> - <item id="2" translatable="yes" context="optappearancepage|cbSchemeEntry3">Dark</item> - </items> - </object> - <packing> - <property name="left-attach">7</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkImage" id="lockautocolorlb"> - <property name="can-focus">False</property> - <property name="no-show-all">True</property> - <property name="halign">center</property> - <property name="valign">center</property> - <property name="icon-name">res/lock.png</property> - </object> - <packing> - <property name="left-attach">5</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="label3"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes" context="optappearancepage|label3">_Scheme:</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">colorschemelb</property> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkImage" id="lockcolorschemelb"> - <property name="can-focus">False</property> - <property name="no-show-all">True</property> - <property name="halign">center</property> - <property name="valign">center</property> - <property name="icon-name">res/lock.png</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - </object> - </child> - <child type="label"> - <object class="GtkLabel" id="label2"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes" context="optappearancepage|label2">Custom Colors</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 internal-child="accessible"> - <object class="AtkObject" id="OptAppearancePage-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|OptAppearancePage">Sets the colors for the user interface.</property> - </object> - </child> - </object> -</interface> diff --git a/cui/uiconfig/ui/optviewpage.ui b/cui/uiconfig/ui/optviewpage.ui index 7bbce0bc6526..d17e21947a5b 100644 --- a/cui/uiconfig/ui/optviewpage.ui +++ b/cui/uiconfig/ui/optviewpage.ui @@ -23,7 +23,7 @@ <property name="border-width">6</property> <property name="column-spacing">24</property> <child> - <!-- n-columns=1 n-rows=4 --> + <!-- n-columns=1 n-rows=3 --> <object class="GtkGrid" id="grid2"> <property name="visible">True</property> <property name="can-focus">False</property> @@ -108,7 +108,7 @@ </object> <packing> <property name="left-attach">0</property> - <property name="top-attach">3</property> + <property name="top-attach">2</property> </packing> </child> <child> @@ -288,7 +288,7 @@ </object> <packing> <property name="left-attach">0</property> - <property name="top-attach">2</property> + <property name="top-attach">1</property> </packing> </child> <child> @@ -384,89 +384,6 @@ </object> <packing> <property name="left-attach">0</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkFrame" id="darkmode"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hexpand">True</property> - <property name="label-xalign">0</property> - <property name="shadow-type">none</property> - <child> - <!-- n-columns=3 n-rows=1 --> - <object class="GtkGrid" id="refgrid2"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="margin-start">12</property> - <property name="margin-top">6</property> - <property name="hexpand">True</property> - <property name="column-spacing">6</property> - <child> - <object class="GtkComboBoxText" id="appearance"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hexpand">True</property> - <property name="active">0</property> - <items> - <item translatable="yes" context="optviewpage|appearance">System</item> - <item translatable="yes" context="optviewpage|appearance">Light</item> - <item translatable="yes" context="optviewpage|appearance">Dark</item> - </items> - <child internal-child="accessible"> - <object class="AtkObject" id="appearance-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip | appearance">Specifies whether to follow the system appearance mode or override Dark or Light.</property> - </object> - </child> - </object> - <packing> - <property name="left-attach">2</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="label7"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes" context="optviewpage|label7">Mode:</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">appearance</property> - <property name="xalign">0</property> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkImage" id="lockappearance"> - <property name="can-focus">False</property> - <property name="no-show-all">True</property> - <property name="halign">center</property> - <property name="valign">center</property> - <property name="icon-name">res/lock.png</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - </object> - </child> - <child type="label"> - <object class="GtkLabel" id="label16"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes" context="optviewpage|label16">Appearance</property> - <attributes> - <attribute name="weight" value="bold"/> - </attributes> - </object> - </child> - </object> - <packing> - <property name="left-attach">0</property> <property name="top-attach">0</property> </packing> </child> @@ -878,24 +795,4 @@ </packing> </child> </object> - <object class="GtkSizeGroup" id="sizegroupLabel"> - <widgets> - <widget name="label12"/> - <widget name="label8"/> - <widget name="label9"/> - <widget name="label14"/> - <widget name="label6"/> - <widget name="label7"/> - </widgets> - </object> - <object class="GtkSizeGroup" id="sizegroupWidget"> - <widgets> - <widget name="mousemiddle"/> - <widget name="notebookbariconsize"/> - <widget name="sidebariconsize"/> - <widget name="iconsize"/> - <widget name="iconstyle"/> - <widget name="appearance"/> - </widgets> - </object> </interface> diff --git a/cui/uiconfig/ui/personalization_tab.ui b/cui/uiconfig/ui/personalization_tab.ui deleted file mode 100644 index fc89951f2cb4..000000000000 --- a/cui/uiconfig/ui/personalization_tab.ui +++ /dev/null @@ -1,237 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.38.2 --> -<interface domain="cui"> - <requires lib="gtk+" version="3.20"/> - <object class="GtkBox" id="PersonalizationTabPage"> - <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="frame2"> - <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="GtkBox" id="vbox2"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="margin-start">12</property> - <property name="margin-end">6</property> - <property name="margin-top">6</property> - <property name="margin-bottom">6</property> - <property name="orientation">vertical</property> - <property name="spacing">12</property> - <child> - <!-- n-columns=2 n-rows=1 --> - <object class="GtkGrid"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hexpand">True</property> - <child> - <!-- n-columns=1 n-rows=2 --> - <object class="GtkGrid"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="hexpand">True</property> - <property name="row-spacing">12</property> - <child> - <object class="GtkRadioButton" id="no_persona"> - <property name="label" translatable="yes" context="personalization_tab|no_persona">Default look, do not use Themes</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="use-underline">True</property> - <property name="active">True</property> - <property name="draw-indicator">True</property> - <property name="group">default_persona</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkRadioButton" id="default_persona"> - <property name="label" translatable="yes" context="personalization_tab|default_persona">Preinstalled Theme</property> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="use-underline">True</property> - <property name="active">True</property> - <property name="draw-indicator">True</property> - <property name="group">no_persona</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">1</property> - </packing> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkImage" id="lockpersona"> - <property name="can-focus">False</property> - <property name="no-show-all">True</property> - <property name="halign">center</property> - <property name="valign">center</property> - <property name="icon-name">res/lock.png</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <placeholder/> - </child> - <child> - <!-- n-columns=3 n-rows=3 --> - <object class="GtkGrid" id="gridpersonasetting"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">center</property> - <property name="margin-start">24</property> - <property name="margin-end">6</property> - <property name="row-spacing">6</property> - <property name="column-spacing">6</property> - <child> - <object class="GtkToggleButton" id="default1"> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="always-show-image">True</property> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkToggleButton" id="default0"> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="always-show-image">True</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkToggleButton" id="default2"> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="always-show-image">True</property> - </object> - <packing> - <property name="left-attach">2</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkToggleButton" id="default3"> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="always-show-image">True</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkToggleButton" id="default4"> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="always-show-image">True</property> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkToggleButton" id="default5"> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="always-show-image">True</property> - </object> - <packing> - <property name="left-attach">2</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkToggleButton" id="default6"> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="always-show-image">True</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <object class="GtkToggleButton" id="default7"> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="always-show-image">True</property> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">2</property> - </packing> - </child> - <child> - <object class="GtkToggleButton" id="default8"> - <property name="can-focus">True</property> - <property name="receives-default">True</property> - <property name="always-show-image">True</property> - </object> - <packing> - <property name="left-attach">2</property> - <property name="top-attach">2</property> - </packing> - </child> - </object> - <packing> - <property name="expand">True</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> - </object> - </child> - <child type="label"> - <object class="GtkLabel" id="personas_label"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes" context="personalization_tab|personas_label">LibreOffice Themes</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/sfx2/pageids.hxx b/include/sfx2/pageids.hxx index 1464ec40c55a..bd85bbf6bb2e 100644 --- a/include/sfx2/pageids.hxx +++ b/include/sfx2/pageids.hxx @@ -53,8 +53,6 @@ #define RID_SVXPAGE_ACCESSIBILITYCONFIG (RID_SVX_START + 250) #define RID_SVXPAGE_ASIAN_LAYOUT (RID_SVX_START + 246) #define RID_OPTPAGE_CHART_DEFCOLORS (RID_SVX_START + 299) -#define RID_SVXPAGE_PERSONALIZATION (RID_SVX_START + 247) -#define RID_SVXPAGE_COLORCONFIG (RID_SVX_START + 249) #define RID_SVXPAGE_BASICIDE_OPTIONS (RID_SVX_START + 209) #define RID_SVXPAGE_LANGTOOL_OPTIONS (RID_SVX_START + 210) #define RID_SVXPAGE_DEEPL_OPTIONS (RID_SVX_START + 211) diff --git a/include/vcl/notebookbar/notebookbar.hxx b/include/vcl/notebookbar/notebookbar.hxx index 5d94bdb0b7da..057315952941 100644 --- a/include/vcl/notebookbar/notebookbar.hxx +++ b/include/vcl/notebookbar/notebookbar.hxx @@ -68,7 +68,6 @@ private: void UpdateBackground(); void UpdateDefaultSettings(); - void UpdatePersonaSettings(); }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/vcl/settings.hxx b/include/vcl/settings.hxx index 401da27abf7d..272c7ae83247 100644 --- a/include/vcl/settings.hxx +++ b/include/vcl/settings.hxx @@ -609,12 +609,6 @@ public: const DialogStyle& GetDialogStyle() const; - BitmapEx const & GetPersonaHeader() const; - - SAL_DLLPRIVATE BitmapEx const & GetPersonaFooter() const; - - const std::optional<Color>& GetPersonaMenuBarTextColor() const; - // global switch to allow EdgeBlenging; currently possible for ValueSet and ListBox // when activated there using Get/SetEdgeBlending; default is true void SetEdgeBlending(sal_uInt16 nCount); diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs index 67e62985321c..15b592beb095 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs @@ -5528,40 +5528,6 @@ </info> <value>auto</value> </prop> - <prop oor:name="Persona" oor:type="xs:string" oor:nillable="false"> - <!-- UIHints: Tools Options General Personalization --> - <info> - <desc>Specifies whether we should use a Firefox Persona, ie. a - picture under the menu, toolbar, and status bar.</desc> - </info> - <constraints> - <enumeration oor:value="no"> - <info> - <desc>No - the user wants just the themed look, no Persona.</desc> - </info> - </enumeration> - <enumeration oor:value="default"> - <info> - <desc>Default - the LibreOffice default Persona.</desc> - </info> - </enumeration> - <enumeration oor:value="own"> - <info> - <desc>The user installed an own Persona, and wants to use that.</desc> - </info> - </enumeration> - </constraints> - <value>default</value> - </prop> - <prop oor:name="PersonaSettings" oor:type="xs:string" oor:nillable="false"> - <!-- UIHints: Tools Options General Personalization --> - <info> - <desc>Names of the header and footer images, and colors for text and - accent. When set, the value has form - "header.jpg;footer.jpg;#RGBTXT;#RGBACC".</desc> - </info> - <value/> - </prop> <prop oor:name="FormControlPilotsEnabled" oor:type="xs:boolean" oor:nillable="false"> <info> <desc>Enables/Disables the usage of AutoPilots for form diff --git a/sc/qa/uitest/calc_tests6/tdf116996.py b/sc/qa/uitest/calc_tests6/tdf116996.py index d6b21115c5ac..98d44ae03d06 100644 --- a/sc/qa/uitest/calc_tests6/tdf116996.py +++ b/sc/qa/uitest/calc_tests6/tdf116996.py @@ -18,7 +18,7 @@ class tdf116996(UITestCase): xPages = xDialogOpt.getChild("pages") xLOEntry = xPages.getChild('0') # Libreoffice xLOEntry.executeAction("EXPAND", tuple()) - xAdvancedEntry = xLOEntry.getChild('10') + xAdvancedEntry = xLOEntry.getChild('8') xAdvancedEntry.executeAction("SELECT", tuple()) #Libreoffice / Advanced xexperimental = xDialogOpt.getChild("experimental") if get_state_as_dict(xexperimental)['Selected'] != enabled: diff --git a/solenv/sanitizers/ui/cui.suppr b/solenv/sanitizers/ui/cui.suppr index a7e12f93e5bc..4254c0c013ac 100644 --- a/solenv/sanitizers/ui/cui.suppr +++ b/solenv/sanitizers/ui/cui.suppr @@ -94,9 +94,6 @@ cui/uiconfig/ui/numberingformatpage.ui://GtkLabel[@id='commentft'] orphan-label cui/uiconfig/ui/numberingoptionspage.ui://GtkLabel[@id='separator'] orphan-label cui/uiconfig/ui/optadvancedpage.ui://GtkLabel[@id='selectruntime'] orphan-label cui/uiconfig/ui/optadvancedpage.ui://GtkLabel[@id='javapath'] orphan-label -cui/uiconfig/ui/optappearancepage.ui://GtkLabel[@id='uielements'] orphan-label -cui/uiconfig/ui/optappearancepage.ui://GtkLabel[@id='colorsetting'] orphan-label -cui/uiconfig/ui/optappearancepage.ui://GtkLabel[@id='on'] orphan-label cui/uiconfig/ui/optasianpage.ui://GtkLabel[@id='hintft'] orphan-label cui/uiconfig/ui/optctlpage.ui://GtkLabel[@id='label3'] orphan-label cui/uiconfig/ui/optemailpage.ui://GtkImage[@id='lockemail'] no-labelled-by @@ -148,15 +145,6 @@ cui/uiconfig/ui/paratabspage.ui://GtkSpinButton[@id='SP_TABPOS'] no-labelled-by cui/uiconfig/ui/paratabspage.ui://GtkEntry[@id='ED_TABPOS'] no-labelled-by cui/uiconfig/ui/patterntabpage.ui://GtkLabel[@id='label4'] orphan-label cui/uiconfig/ui/percentdialog.ui://GtkSpinButton[@id='margin'] no-labelled-by -cui/uiconfig/ui/personalization_tab.ui://GtkToggleButton[@id='default0'] button-no-label -cui/uiconfig/ui/personalization_tab.ui://GtkToggleButton[@id='default1'] button-no-label -cui/uiconfig/ui/personalization_tab.ui://GtkToggleButton[@id='default2'] button-no-label -cui/uiconfig/ui/personalization_tab.ui://GtkToggleButton[@id='default3'] button-no-label -cui/uiconfig/ui/personalization_tab.ui://GtkToggleButton[@id='default4'] button-no-label -cui/uiconfig/ui/personalization_tab.ui://GtkToggleButton[@id='default5'] button-no-label -cui/uiconfig/ui/personalization_tab.ui://GtkToggleButton[@id='default6'] button-no-label -cui/uiconfig/ui/personalization_tab.ui://GtkToggleButton[@id='default7'] button-no-label -cui/uiconfig/ui/personalization_tab.ui://GtkToggleButton[@id='default8'] button-no-label cui/uiconfig/ui/pickgraphicpage.ui://GtkLabel[@id='errorft'] orphan-label cui/uiconfig/ui/positionpage.ui://GtkLabel[@id='rotateandscale'] orphan-label cui/uiconfig/ui/positionpage.ui://GtkLabel[@id='scale'] orphan-label diff --git a/static/CustomTarget_emscripten_fs_image.mk b/static/CustomTarget_emscripten_fs_image.mk index 7e40f7eb1aae..f7c2d58e41a9 100644 --- a/static/CustomTarget_emscripten_fs_image.mk +++ b/static/CustomTarget_emscripten_fs_image.mk @@ -70,7 +70,6 @@ gb_emscripten_fs_image_files := \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/certdialog.ui \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/chapterfragment.ui \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/charnamepage.ui \ - $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/colorconfigwin.ui \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/colorfragment.ui \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/colorpage.ui \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/colorpickerdialog.ui \ @@ -152,7 +151,6 @@ gb_emscripten_fs_image_files := \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/objecttitledescdialog.ui \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/optaccessibilitypage.ui \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/optadvancedpage.ui \ - $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/optappearancepage.ui \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/optasianpage.ui \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/optbasicidepage.ui \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/optchartcolorspage.ui \ @@ -183,7 +181,6 @@ gb_emscripten_fs_image_files := \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/pastespecial.ui \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/patterntabpage.ui \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/percentdialog.ui \ - $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/personalization_tab.ui \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/pickbulletpage.ui \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/pickgraphicpage.ui \ $(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/cui/ui/picknumberingpage.ui \ diff --git a/sw/qa/uitest/options/tdf131581.py b/sw/qa/uitest/options/tdf131581.py index 5a4f83443005..97d2bba9ec7e 100644 --- a/sw/qa/uitest/options/tdf131581.py +++ b/sw/qa/uitest/options/tdf131581.py @@ -21,7 +21,7 @@ class tdf131581(UITestCase): xPages = xDialogOpt.getChild("pages") xLOEntry = xPages.getChild('0') xLOEntry.executeAction("EXPAND", tuple()) - xAdvancedEntry = xLOEntry.getChild('10') + xAdvancedEntry = xLOEntry.getChild('8') xAdvancedEntry.executeAction("SELECT", tuple()) xExpertBtn = xDialogOpt.getChild("expertconfig") diff --git a/sw/qa/uitest/options/tdf78133.py b/sw/qa/uitest/options/tdf78133.py deleted file mode 100644 index 3c650cad8401..000000000000 --- a/sw/qa/uitest/options/tdf78133.py +++ /dev/null @@ -1,44 +0,0 @@ -# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-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/. -# - -from uitest.framework import UITestCase -from uitest.uihelper.common import get_state_as_dict - -#Bug 78133 - LibO crashes when in options dialog -#when i was going through the options dialog, if i click on the 'Colors' entry, LibO will crash. -class tdf78133(UITestCase): - - def test_tdf78133_options_app_colors(self): - - with self.ui_test.create_doc_in_start_center("writer"): - #New text document - #open option, go to App colors - with self.ui_test.execute_dialog_through_command(".uno:OptionsTreeDialog") as xDialog: - - xPages = xDialog.getChild("pages") - xLOEntry = xPages.getChild('0') # Lo Dev - xLOEntry.executeAction("EXPAND", tuple()) - xLoAppColorsEntry = xLOEntry.getChild('8') - xLoAppColorsEntry.executeAction("SELECT", tuple()) #Applications Colors - #change text boundaries checkbox, save - shadows = xDialog.getChild("shadows") - shadows.executeAction("CLICK", tuple()) - #verify - reopen dialog and check if "text boundaries" is still unchecked - with self.ui_test.execute_dialog_through_command(".uno:OptionsTreeDialog") as xDialog: - - xPages = xDialog.getChild("pages") - xLOEntry = xPages.getChild('0') # Lo Dev - xLOEntry.executeAction("EXPAND", tuple()) - xLoAppColorsEntry = xLOEntry.getChild('8') - xLoAppColorsEntry.executeAction("SELECT", tuple()) #Applications Colors - #change text boundaries checkbox, save - shadows = xDialog.getChild("shadows") - self.assertEqual(get_state_as_dict(shadows)["Selected"], "false") - -# vim: set shiftwidth=4 softtabstop=4 expandtab: diff --git a/vcl/inc/salmenu.hxx b/vcl/inc/salmenu.hxx index 469c4e3b4945..84939574d447 100644 --- a/vcl/inc/salmenu.hxx +++ b/vcl/inc/salmenu.hxx @@ -92,8 +92,6 @@ public: virtual tools::Rectangle GetMenuBarButtonRectPixel( sal_uInt16 i_nItemId, SalFrame* i_pReferenceFrame ); virtual int GetMenuBarHeight() const; - - virtual void ApplyPersona(); }; #endif // INCLUDED_VCL_INC_SALMENU_HXX diff --git a/vcl/inc/unx/gtk/gtksalmenu.hxx b/vcl/inc/unx/gtk/gtksalmenu.hxx index 3172c37656bd..8c8f464153a4 100644 --- a/vcl/inc/unx/gtk/gtksalmenu.hxx +++ b/vcl/inc/unx/gtk/gtksalmenu.hxx @@ -43,13 +43,9 @@ private: /// Even setting null icon on a menuitem can be expensive, so cache state to avoid that call bool mbHasNullItemIcon = true; GtkWidget* mpMenuBarContainerWidget; - std::unique_ptr<utl::TempFileNamed> mxPersonaImage; - BitmapEx maPersonaBitmap; GtkWidget* mpMenuAllowShrinkWidget; GtkWidget* mpMenuBarWidget; GtkWidget* mpMenuWidget; - GtkCssProvider* mpMenuBarContainerProvider; - GtkCssProvider* mpMenuBarProvider; GtkWidget* mpCloseButton; VclPtr<Menu> mpVCLMenu; GtkSalMenu* mpParentSalMenu; @@ -138,7 +134,6 @@ public: virtual bool CanGetFocus() const override; virtual bool TakeFocus() override; virtual int GetMenuBarHeight() const override; - virtual void ApplyPersona() override; }; class GtkSalMenuItem final : public SalMenuItem diff --git a/vcl/qt5/QtFrame.cxx b/vcl/qt5/QtFrame.cxx index d993c63e7762..c52b26e4c4eb 100644 --- a/vcl/qt5/QtFrame.cxx +++ b/vcl/qt5/QtFrame.cxx @@ -1165,7 +1165,7 @@ void QtFrame::UpdateSettings(AllSettings& rSettings) Color aMenuBack = toColor(qMenuCG.color(QPalette::Window)); style.SetMenuTextColor(aMenuFore); - style.SetMenuBarTextColor(style.GetPersonaMenuBarTextColor().value_or(aMenuFore)); + style.SetMenuBarTextColor(aMenuFore); style.SetMenuColor(aMenuBack); style.SetMenuBarColor(aMenuBack); style.SetMenuHighlightColor(toColor(qMenuCG.color(QPalette::Highlight))); diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 51658e77f900..84bbfdb88fd0 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -234,8 +234,6 @@ tools::Rectangle SalMenu::GetMenuBarButtonRectPixel(sal_uInt16, SalFrame*) int SalMenu::GetMenuBarHeight() const { return 0; } -void SalMenu::ApplyPersona() {} - SalMenuItem::~SalMenuItem() {} class SalFlashAttention diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx index 7d807a7bdae0..fadb31337c97 100644 --- a/vcl/source/app/settings.cxx +++ b/vcl/source/app/settings.cxx @@ -251,12 +251,6 @@ struct ImplStyleData // on-demand calculated in GetListBoxPreviewDefaultPixelSize() Size mutable maListBoxPreviewDefaultPixelSize; - OUString mutable maPersonaHeaderFooter; ///< Cache the settings to detect changes. - - BitmapEx mutable maPersonaHeaderBitmap; ///< Cache the header bitmap. - BitmapEx mutable maPersonaFooterBitmap; ///< Cache the footer bitmap. - std::optional<Color> mutable maPersonaMenuBarTextColor; ///< Cache the menubar color. - bool operator==(const ImplStyleData& rSet) const; }; @@ -2124,120 +2118,6 @@ bool StyleSettings::GetUseImagesInMenus() const } } -static BitmapEx readBitmapEx( const OUString& rPath ) -{ - OUString aPath( rPath ); - rtl::Bootstrap::expandMacros( aPath ); - - // import the image - Graphic aGraphic; - if ( GraphicFilter::LoadGraphic( aPath, OUString(), aGraphic ) != ERRCODE_NONE ) - return BitmapEx(); - return aGraphic.GetBitmapEx(); -} - -namespace { - -enum WhichPersona { PERSONA_HEADER, PERSONA_FOOTER }; - -} - -/** Update the setting of the Persona header / footer in ImplStyleData */ -static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFooter, BitmapEx& rHeaderFooterBitmap, std::optional<Color>& rMenuBarTextColor ) -{ - // don't burn time loading images we don't need. - if ( Application::IsHeadlessModeEnabled() ) - return; - - // read from the configuration - OUString aPersona( officecfg::Office::Common::Misc::Persona::get() ); - OUString aPersonaSettings( officecfg::Office::Common::Misc::PersonaSettings::get() ); - - // have the settings changed? marks if header /footer prepared before - //should maybe extended to a flag that marks if header /footer /both are loaded - OUString aOldValue= eWhich==PERSONA_HEADER?OUString(aPersona + ";" + aPersonaSettings+";h" ):OUString(aPersona + ";" + aPersonaSettings+";f" ); - if ( rHeaderFooter == aOldValue ) - return; - - rHeaderFooter = aOldValue; - rHeaderFooterBitmap = BitmapEx(); - rMenuBarTextColor.reset(); - - // now read the new values and setup bitmaps - OUString aHeader, aFooter; - if ( aPersona == "own" || aPersona == "default" ) - { - sal_Int32 nIndex = 0; - - // Skip the persona slug, name, and preview - aHeader = aPersonaSettings.getToken( 3, ';', nIndex ); - - if ( nIndex > 0 ) - aFooter = aPersonaSettings.getToken( 0, ';', nIndex ); - - // change menu text color, advance nIndex to skip the '#' - if ( nIndex > 0 ) - { - OUString aColor = aPersonaSettings.getToken( 0, ';', ++nIndex ); - rMenuBarTextColor = Color( ColorTransparency, aColor.toUInt32( 16 ) ); - } - } - - OUString aName; - switch ( eWhich ) { - case PERSONA_HEADER: aName = aHeader; break; - case PERSONA_FOOTER: aName = aFooter; break; - } - - if ( !aName.isEmpty() ) - { - OUString gallery(u""_ustr); - // try the gallery first, then the program path: - if ( aPersona == "own" && !aPersonaSettings.startsWith( "vnd.sun.star.expand" ) ) - { - gallery = "${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" SAL_CONFIGFILE( "bootstrap") "::UserInstallation}"; - rtl::Bootstrap::expandMacros( gallery ); - gallery += "/user/gallery/personas/"; - } - else if ( aPersona == "default" ) - { - gallery = "$BRAND_BASE_DIR/" LIBO_SHARE_FOLDER "/gallery/personas/"; - } - rHeaderFooterBitmap = readBitmapEx( gallery + aName ); - - if ( rHeaderFooterBitmap.IsEmpty() ) - rHeaderFooterBitmap = readBitmapEx( "$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" + aName ); - } - - // Something went wrong. Probably, the images are missing. Clear the persona properties in the registry. - - if( rHeaderFooterBitmap.IsEmpty() ) - { - std::shared_ptr<comphelper::ConfigurationChanges> batch(comphelper::ConfigurationChanges::create()); - officecfg::Office::Common::Misc::Persona::set( u"no"_ustr, batch ); - officecfg::Office::Common::Misc::PersonaSettings::set( u""_ustr, batch ); - batch->commit(); - } -} - -BitmapEx const & StyleSettings::GetPersonaHeader() const -{ - setupPersonaHeaderFooter( PERSONA_HEADER, mxData->maPersonaHeaderFooter, mxData->maPersonaHeaderBitmap, mxData->maPersonaMenuBarTextColor ); - return mxData->maPersonaHeaderBitmap; -} - -BitmapEx const & StyleSettings::GetPersonaFooter() const -{ - setupPersonaHeaderFooter( PERSONA_FOOTER, mxData->maPersonaHeaderFooter, mxData->maPersonaFooterBitmap, mxData->maPersonaMenuBarTextColor ); - return mxData->maPersonaFooterBitmap; -} - -const std::optional<Color>& StyleSettings::GetPersonaMenuBarTextColor() const -{ - GetPersonaHeader(); - return mxData->maPersonaMenuBarTextColor; -} - void StyleSettings::SetStandardStyles() { mxData->SetStandardStyles(); diff --git a/vcl/source/control/NotebookbarPopup.cxx b/vcl/source/control/NotebookbarPopup.cxx index d81689ae3071..0e36d2372636 100644 --- a/vcl/source/control/NotebookbarPopup.cxx +++ b/vcl/source/control/NotebookbarPopup.cxx @@ -19,13 +19,7 @@ NotebookbarPopup::NotebookbarPopup(const VclPtr<VclHBox>& pParent) { m_pBox = m_pUIBuilder->get<VclHBox>(u"box"); m_pBox->SetSizePixel(Size(100, 75)); - const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings(); - const BitmapEx& aPersona = rStyleSettings.GetPersonaHeader(); - - if (!aPersona.IsEmpty()) - m_pBox->SetBackground(Wallpaper(aPersona)); - else - m_pBox->SetBackground(rStyleSettings.GetDialogColor()); + m_pBox->SetBackground(GetSettings().GetStyleSettings().GetDialogColor()); } NotebookbarPopup::~NotebookbarPopup() { disposeOnce(); } @@ -121,13 +115,7 @@ void NotebookbarPopup::dispose() void NotebookbarPopup::ApplyBackground(vcl::Window* pWindow) { - const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings(); - const BitmapEx& aPersona = rStyleSettings.GetPersonaHeader(); - - if (!aPersona.IsEmpty()) - pWindow->SetBackground(Wallpaper(aPersona)); - else - pWindow->SetBackground(rStyleSettings.GetDialogColor()); + pWindow->SetBackground(GetSettings().GetStyleSettings().GetDialogColor()); sal_Int32 nNext = 0; VclPtr<vcl::Window> pChild = pWindow->GetChild(nNext); diff --git a/vcl/source/control/notebookbar.cxx b/vcl/source/control/notebookbar.cxx index 26feb902fe40..a0de7038fb9c 100644 --- a/vcl/source/control/notebookbar.cxx +++ b/vcl/source/control/notebookbar.cxx @@ -315,21 +315,9 @@ void NotebookBar::StateChanged(const StateChangedType nStateChange ) void NotebookBar::UpdateBackground() { const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings(); - const BitmapEx& aPersona = rStyleSettings.GetPersonaHeader(); - Wallpaper aWallpaper(aPersona); - aWallpaper.SetStyle(WallpaperStyle::TopRight); - if (!aPersona.IsEmpty()) - { - SetBackground(aWallpaper); - UpdatePersonaSettings(); - GetOutDev()->SetSettings( PersonaSettings ); - } - else - { - SetBackground(rStyleSettings.GetDialogColor()); - UpdateDefaultSettings(); - GetOutDev()->SetSettings( DefaultSettings ); - } + SetBackground(rStyleSettings.GetDialogColor()); + UpdateDefaultSettings(); + GetOutDev()->SetSettings( DefaultSettings ); Invalidate(tools::Rectangle(Point(0,0), GetSizePixel())); } @@ -353,23 +341,4 @@ void NotebookBar::UpdateDefaultSettings() DefaultSettings = std::move(aAllSettings); } -void NotebookBar::UpdatePersonaSettings() -{ - AllSettings aAllSettings( GetSettings() ); - StyleSettings aStyleSet( aAllSettings.GetStyleSettings() ); - - ::Color aTextColor = aStyleSet.GetPersonaMenuBarTextColor().value_or(COL_BLACK ); - aStyleSet.SetDialogTextColor( aTextColor ); - aStyleSet.SetButtonTextColor( aTextColor ); - aStyleSet.SetRadioCheckTextColor( aTextColor ); - aStyleSet.SetGroupTextColor( aTextColor ); - aStyleSet.SetLabelTextColor( aTextColor ); - aStyleSet.SetWindowTextColor( aTextColor ); - aStyleSet.SetTabTextColor(aTextColor); - aStyleSet.SetToolTextColor(aTextColor); - - aAllSettings.SetStyleSettings(aStyleSet); - PersonaSettings = std::move(aAllSettings); -} - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/source/window/brdwin.cxx b/vcl/source/window/brdwin.cxx index 4946df1ea549..e799df338a48 100644 --- a/vcl/source/window/brdwin.cxx +++ b/vcl/source/window/brdwin.cxx @@ -1721,21 +1721,6 @@ void ImplBorderWindow::Resize() if (mpNotebookBar) { tools::Long nNotebookBarHeight = mpNotebookBar->GetSizePixel().Height(); - - const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings(); - const BitmapEx& aPersona = rStyleSettings.GetPersonaHeader(); - // since size of notebookbar changes, to make common persona for menubar - // and notebookbar persona should be set again with changed coordinates - if (!aPersona.IsEmpty()) - { - Wallpaper aWallpaper(aPersona); - aWallpaper.SetStyle(WallpaperStyle::TopRight); - aWallpaper.SetRect(tools::Rectangle(Point(0, -nTopBorder), - Size(aSize.Width() - nLeftBorder - nRightBorder, - nNotebookBarHeight + nTopBorder))); - mpNotebookBar->SetBackground(aWallpaper); - } - mpNotebookBar->setPosSizePixel( nLeftBorder, nTopBorder, aSize.Width() - nLeftBorder - nRightBorder, diff --git a/vcl/source/window/dockingarea.cxx b/vcl/source/window/dockingarea.cxx index be3f6ef99e45..6797ac000c8a 100644 --- a/vcl/source/window/dockingarea.cxx +++ b/vcl/source/window/dockingarea.cxx @@ -119,29 +119,8 @@ WindowAlign DockingAreaWindow::GetAlign() const void DockingAreaWindow::ApplySettings(vcl::RenderContext& rRenderContext) { const StyleSettings rSetting = rRenderContext.GetSettings().GetStyleSettings(); - const BitmapEx& rPersonaBitmap = (GetAlign() == WindowAlign::Top) ? rSetting.GetPersonaHeader() : rSetting.GetPersonaFooter(); - if (!rPersonaBitmap.IsEmpty() && (GetAlign() == WindowAlign::Top || GetAlign()==WindowAlign::Bottom)) - { - Wallpaper aWallpaper(rPersonaBitmap); - if (GetAlign() == WindowAlign::Top) - aWallpaper.SetStyle(WallpaperStyle::TopRight); - else - aWallpaper.SetStyle(WallpaperStyle::BottomRight); - aWallpaper.SetColor(rSetting.GetWorkspaceColor()); - - // we need to shift the bitmap vertically so that it spans over the - // menubar conveniently - SystemWindow* pSysWin = GetSystemWindow(); - MenuBar* pMenuBar = pSysWin ? pSysWin->GetMenuBar() : nullptr; - int nMenubarHeight = pMenuBar ? pMenuBar->GetMenuBarHeight() : 0; - aWallpaper.SetRect(tools::Rectangle(Point(0, -nMenubarHeight), - Size(rRenderContext.GetOutputWidthPixel(), - rRenderContext.GetOutputHeightPixel() + nMenubarHeight))); - - rRenderContext.SetBackground(aWallpaper); - } - else if (!rRenderContext.IsNativeControlSupported(ControlType::Toolbar, ControlPart::Entire)) + if (!rRenderContext.IsNativeControlSupported(ControlType::Toolbar, ControlPart::Entire)) { Wallpaper aWallpaper; aWallpaper.SetStyle(WallpaperStyle::ApplicationGradient); @@ -170,11 +149,7 @@ void DockingAreaWindow::Paint(vcl::RenderContext& rRenderContext, const tools::R } ControlState nState = ControlState::ENABLED; - const bool isFooter = GetAlign() == WindowAlign::Bottom && !rSetting.GetPersonaFooter().IsEmpty(); - - if ((GetAlign() == WindowAlign::Top && !rSetting.GetPersonaHeader().IsEmpty() ) || isFooter) - Erase(rRenderContext); - else if (!ImplGetSVData()->maNWFData.mbDockingAreaSeparateTB) + if (!ImplGetSVData()->maNWFData.mbDockingAreaSeparateTB) { // draw a single toolbar background covering the whole docking area tools::Rectangle aCtrlRegion(Point(), GetOutputSizePixel()); diff --git a/vcl/source/window/menubarwindow.cxx b/vcl/source/window/menubarwindow.cxx index a4eb0f74952a..f55f569d4851 100644 --- a/vcl/source/window/menubarwindow.cxx +++ b/vcl/source/window/menubarwindow.cxx @@ -649,14 +649,9 @@ void MenuBarWindow::HighlightItem(vcl::RenderContext& rRenderContext, sal_uInt16 MenubarValue aControlValue; aControlValue.maTopDockingAreaHeight = ImplGetTopDockingAreaHeight( this ); - if (!Application::GetSettings().GetStyleSettings().GetPersonaHeader().IsEmpty() ) - Erase(rRenderContext); - else - { - tools::Rectangle aBgRegion(Point(), aOutputSize); - rRenderContext.DrawNativeControl(ControlType::Menubar, ControlPart::Entire, aBgRegion, - ControlState::ENABLED, aControlValue, OUString()); - } + tools::Rectangle aBgRegion(Point(), aOutputSize); + rRenderContext.DrawNativeControl(ControlType::Menubar, ControlPart::Entire, aBgRegion, + ControlState::ENABLED, aControlValue, OUString()); ImplAddNWFSeparator(rRenderContext, aOutputSize, aControlValue); @@ -897,15 +892,10 @@ void MenuBarWindow::Paint(vcl::RenderContext& rRenderContext, const tools::Recta MenubarValue aMenubarValue; aMenubarValue.maTopDockingAreaHeight = ImplGetTopDockingAreaHeight(this); - if (!rStyleSettings.GetPersonaHeader().IsEmpty()) - Erase(*pBuffer); - else - { - tools::Rectangle aCtrlRegion( Point(), aOutputSize ); + tools::Rectangle aCtrlRegion( Point(), aOutputSize ); - pBuffer->DrawNativeControl(ControlType::Menubar, ControlPart::Entire, aCtrlRegion, - ControlState::ENABLED, aMenubarValue, OUString()); - } + pBuffer->DrawNativeControl(ControlType::Menubar, ControlPart::Entire, aCtrlRegion, + ControlState::ENABLED, aMenubarValue, OUString()); ImplAddNWFSeparator(*pBuffer, aOutputSize, aMenubarValue); } @@ -1053,21 +1043,7 @@ void MenuBarWindow::ApplySettings(vcl::RenderContext& rRenderContext) SetPointFont(rRenderContext, rStyleSettings.GetMenuFont()); - const BitmapEx& rPersonaBitmap = Application::GetSettings().GetStyleSettings().GetPersonaHeader(); - SalMenu *pNativeMenu = m_pMenu ? m_pMenu->ImplGetSalMenu() : nullptr; - if (pNativeMenu) - pNativeMenu->ApplyPersona(); - if (!rPersonaBitmap.IsEmpty()) - { - Wallpaper aWallpaper(rPersonaBitmap); - aWallpaper.SetStyle(WallpaperStyle::TopRight); - aWallpaper.SetColor(Application::GetSettings().GetStyleSettings().GetWorkspaceColor()); - - rRenderContext.SetBackground(aWallpaper); - SetPaintTransparent(false); - SetParentClipMode(); - } - else if (rRenderContext.IsNativeControlSupported(ControlType::Menubar, ControlPart::Entire)) + if (rRenderContext.IsNativeControlSupported(ControlType::Menubar, ControlPart::Entire)) { rRenderContext.SetBackground(); // background will be drawn by NWF } diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx index a91a9af2a1a7..338d817cf25d 100644 --- a/vcl/source/window/toolbox.cxx +++ b/vcl/source/window/toolbox.cxx @@ -506,9 +506,7 @@ void ToolBox::ImplDrawBackground(vcl::RenderContext& rRenderContext, const tools if (!bNativeOk) { const StyleSettings rSetting = Application::GetSettings().GetStyleSettings(); - const bool isHeader = GetAlign() == WindowAlign::Top && !rSetting.GetPersonaHeader().IsEmpty(); - const bool isFooter = GetAlign() == WindowAlign::Bottom && !rSetting.GetPersonaFooter().IsEmpty(); - if (!IsBackground() || isHeader || isFooter) + if (!IsBackground()) { if (!IsInPaint()) ImplDrawTransparentBackground(aPaintRegion); @@ -1200,9 +1198,7 @@ void ToolBox::ApplyBackgroundSettings(vcl::RenderContext& rRenderContext, const } else { - if (rRenderContext.IsNativeControlSupported(ControlType::Toolbar, ControlPart::Entire) - || (GetAlign() == WindowAlign::Top && !Application::GetSettings().GetStyleSettings().GetPersonaHeader().IsEmpty()) - || (GetAlign() == WindowAlign::Bottom && !Application::GetSettings().GetStyleSettings().GetPersonaFooter().IsEmpty())) + if (rRenderContext.IsNativeControlSupported(ControlType::Toolbar, ControlPart::Entire)) { rRenderContext.SetBackground(); rRenderContext.SetTextColor(rStyleSettings.GetToolTextColor()); diff --git a/vcl/unx/generic/window/salframe.cxx b/vcl/unx/generic/window/salframe.cxx index d495d5bbe8bc..922323331513 100644 --- a/vcl/unx/generic/window/salframe.cxx +++ b/vcl/unx/generic/window/salframe.cxx @@ -2127,7 +2127,7 @@ void X11SalFrame::UpdateSettings( AllSettings& rSettings ) { StyleSettings aStyleSettings = rSettings.GetStyleSettings(); aStyleSettings.SetCursorBlinkTime( 500 ); - aStyleSettings.SetMenuBarTextColor( aStyleSettings.GetPersonaMenuBarTextColor().value_or( COL_BLACK ) ); + aStyleSettings.SetMenuBarTextColor( COL_BLACK ); rSettings.SetStyleSettings( aStyleSettings ); } diff --git a/vcl/unx/gtk3/gtksalmenu.cxx b/vcl/unx/gtk3/gtksalmenu.cxx index 50aa39919749..a1b20c5c26d3 100644 --- a/vcl/unx/gtk3/gtksalmenu.cxx +++ b/vcl/unx/gtk3/gtksalmenu.cxx @@ -592,8 +592,6 @@ GtkSalMenu::GtkSalMenu( bool bMenuBar ) : mpMenuAllowShrinkWidget( nullptr ), mpMenuBarWidget( nullptr ), mpMenuWidget( nullptr ), - mpMenuBarContainerProvider( nullptr ), - mpMenuBarProvider( nullptr ), mpCloseButton( nullptr ), mpVCLMenu( nullptr ), mpParentSalMenu( nullptr ), @@ -1047,65 +1045,6 @@ void GtkSalMenu::CreateMenuBarWidget() gtk_widget_show(mpMenuBarContainerWidget); ShowCloseButton( static_cast<MenuBar*>(mpVCLMenu.get())->HasCloseButton() ); - - ApplyPersona(); -} - -void GtkSalMenu::ApplyPersona() -{ - if (!mpMenuBarContainerWidget) - return; - assert(mbMenuBar); - // I'm dubious about the persona theming feature, but as it exists, let's try and support - // it, apply the image to the mpMenuBarContainerWidget - const BitmapEx& rPersonaBitmap = Application::GetSettings().GetStyleSettings().GetPersonaHeader(); - - GtkStyleContext *pMenuBarContainerContext = gtk_widget_get_style_context(GTK_WIDGET(mpMenuBarContainerWidget)); - if (mpMenuBarContainerProvider) - { - gtk_style_context_remove_provider(pMenuBarContainerContext, GTK_STYLE_PROVIDER(mpMenuBarContainerProvider)); - mpMenuBarContainerProvider = nullptr; - } - GtkStyleContext *pMenuBarContext = gtk_widget_get_style_context(GTK_WIDGET(mpMenuBarWidget)); - if (mpMenuBarProvider) - { - gtk_style_context_remove_provider(pMenuBarContext, GTK_STYLE_PROVIDER(mpMenuBarProvider)); - mpMenuBarProvider = nullptr; - } - - if (!rPersonaBitmap.IsEmpty()) - { - if (maPersonaBitmap != rPersonaBitmap) - { - mxPersonaImage.reset(new utl::TempFileNamed); - mxPersonaImage->EnableKillingFile(true); - SvStream* pStream = mxPersonaImage->GetStream(StreamMode::WRITE); - vcl::PngImageWriter aPNGWriter(*pStream); - aPNGWriter.write(rPersonaBitmap); - mxPersonaImage->CloseStream(); - } - - mpMenuBarContainerProvider = gtk_css_provider_new(); - OUString aBuffer = "* { background-image: url(\"" + mxPersonaImage->GetURL() + "\"); background-position: top right; }"; - OString aResult = OUStringToOString(aBuffer, RTL_TEXTENCODING_UTF8); - css_provider_load_from_data(mpMenuBarContainerProvider, aResult.getStr(), aResult.getLength()); - gtk_style_context_add_provider(pMenuBarContainerContext, GTK_STYLE_PROVIDER(mpMenuBarContainerProvider), - GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); - - - // force the menubar to be transparent when persona is active otherwise for - // me the menubar becomes gray when its in the backdrop - mpMenuBarProvider = gtk_css_provider_new(); - static const gchar data[] = "* { " - "background-image: none;" - "background-color: transparent;" - "}"; - css_provider_load_from_data(mpMenuBarProvider, data, -1); - gtk_style_context_add_provider(pMenuBarContext, - GTK_STYLE_PROVIDER(mpMenuBarProvider), - GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); - } - maPersonaBitmap = rPersonaBitmap; } void GtkSalMenu::DestroyMenuBarWidget() diff --git a/vcl/unx/gtk3/salnativewidgets-gtk.cxx b/vcl/unx/gtk3/salnativewidgets-gtk.cxx index d107b96167d5..0bd56c02cb9f 100644 --- a/vcl/unx/gtk3/salnativewidgets-gtk.cxx +++ b/vcl/unx/gtk3/salnativewidgets-gtk.cxx @@ -2508,13 +2508,13 @@ bool GtkSalGraphics::updateSettings(AllSettings& rSettings) style_context_set_state(mpMenuBarItemStyle, GTK_STATE_FLAG_NORMAL); style_context_get_color(mpMenuBarItemStyle, &text_color); - aTextColor = aStyleSet.GetPersonaMenuBarTextColor().value_or( getColor( text_color ) ); + aTextColor = getColor( text_color ); aStyleSet.SetMenuBarTextColor( aTextColor ); aStyleSet.SetMenuBarRolloverTextColor( aTextColor ); style_context_set_state(mpMenuBarItemStyle, GTK_STATE_FLAG_PRELIGHT); style_context_get_color(mpMenuBarItemStyle, &text_color); - aTextColor = aStyleSet.GetPersonaMenuBarTextColor().value_or( getColor( text_color ) ); + aTextColor = getColor( text_color ); aStyleSet.SetMenuBarHighlightTextColor( aTextColor ); // menu items diff --git a/vcl/win/gdi/salnativewidgets-luna.cxx b/vcl/win/gdi/salnativewidgets-luna.cxx index 02248127ed09..36011eb31bee 100644 --- a/vcl/win/gdi/salnativewidgets-luna.cxx +++ b/vcl/win/gdi/salnativewidgets-luna.cxx @@ -1894,7 +1894,7 @@ void WinSalGraphics::updateSettingsNative( AllSettings& rSettings ) pSVData->maNWFData.mbDockingAreaAvoidTBFrames = true; // FIXME get the color directly from the theme, not from the settings - Color aMenuBarTextColor = aStyleSettings.GetPersonaMenuBarTextColor().value_or( aStyleSettings.GetMenuTextColor() ); + Color aMenuBarTextColor = aStyleSettings.GetMenuTextColor(); // in aero menuitem highlight text is drawn in the same color as normal // high contrast highlight color is not related to persona and not apply blur or transparency bool bThemeLoaded = ThemeColors::IsThemeLoaded(); diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx index 9a3705c4d525..f768f4340b2c 100644 --- a/vcl/win/window/salframe.cxx +++ b/vcl/win/window/salframe.cxx @@ -2852,13 +2852,6 @@ void WinSalFrame::UpdateSettings( AllSettings& rSettings ) aStyleSettings.SetInactiveTabColor( aStyleSettings.GetFaceColor() ); } - if ( std::optional<Color> aColor = aStyleSettings.GetPersonaMenuBarTextColor() ) - { - aMenuBarTextColor = *aColor; - if (!aStyleSettings.GetHighContrastMode()) - aMenuBarRolloverTextColor = *aColor; - } - aStyleSettings.SetMenuBarTextColor( aMenuBarTextColor ); aStyleSettings.SetMenuBarRolloverTextColor( aMenuBarRolloverTextColor ); |