summaryrefslogtreecommitdiff
path: root/cui
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2021-12-16 08:56:25 +0100
committerMiklos Vajna <vmiklos@collabora.com>2022-06-29 14:54:44 +0200
commit4b139336b89c99b60e25149c7871dbabcb8a41db (patch)
tree7cc82e5e81fd3b26d8815778c414c9e125f43a77 /cui
parentfaefd179af737cf68b96cd25901be0a7195fc8b9 (diff)
sd theme: add UI to set individual colors of a color set
Which completes the UI to set and get various parts of the theme itself (not yet referring to a theme). (cherry picked from commit 48cb441fceab83a6320dc871f291dcb313696650) Change-Id: I30cb575046d1146083cb5723377400b67de79a69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136606 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'cui')
-rw-r--r--cui/qa/uitest/tabpages/themepage.py31
-rw-r--r--cui/source/inc/themepage.hxx14
-rw-r--r--cui/source/tabpages/themepage.cxx61
-rw-r--r--cui/uiconfig/ui/themetabpage.ui441
4 files changed, 537 insertions, 10 deletions
diff --git a/cui/qa/uitest/tabpages/themepage.py b/cui/qa/uitest/tabpages/themepage.py
index 25726c63feda..f85af965f626 100644
--- a/cui/qa/uitest/tabpages/themepage.py
+++ b/cui/qa/uitest/tabpages/themepage.py
@@ -9,6 +9,7 @@ from libreoffice.uno.propertyvalue import mkPropertyValues
from uitest.framework import UITestCase
from uitest.uihelper.common import get_state_as_dict
from uitest.uihelper.common import select_pos
+from uitest.uihelper.common import select_by_text
# Test for cui/source/tabpages/themepage.cxx.
class Test(UITestCase):
@@ -24,7 +25,21 @@ class Test(UITestCase):
master = drawPage.MasterPage
theme = mkPropertyValues({
"Name": "nameA",
- "ColorSchemeName": "colorSetA"
+ "ColorSchemeName": "colorSetA",
+ "ColorScheme": tuple([
+ 0x000000, # dk1
+ 0x000000, # lt1
+ 0x000000, # dk2
+ 0x000000, # lt2
+ 0x0000ff, # accent1
+ 0x000000, # accent2
+ 0x000000, # accent3
+ 0x000000, # accent4
+ 0x000000, # accent5
+ 0x000000, # accent6
+ 0x000000, # hlink
+ 0x000000, # folHlink
+ ])
})
master.Theme = theme
@@ -43,6 +58,15 @@ class Test(UITestCase):
colorSetName.executeAction("TYPE", mkPropertyValues({"KEYCODE":"BACKSPACE"}))
colorSetName.executeAction("TYPE", mkPropertyValues({"TEXT": "colorSetB"}))
+ # Select a custom accent1 color.
+ accent1 = xDialog.getChild("btnAccent1")
+ accent1.executeAction("OPENLIST", tuple())
+ floatWindow = self.xUITest.getFloatWindow()
+ paletteSelector = floatWindow.getChild("palette_listbox")
+ select_by_text(paletteSelector, "chart-palettes")
+ colorSet = floatWindow.getChild("colorset")
+ colorSet.executeAction("CHOOSE", mkPropertyValues({"POS": "2"}))
+
# Then make sure the doc model is updated accordingly:
# Without the accompanying fix in place, this test would have failed with:
# AssertionError: 'nameA' != 'nameB'
@@ -53,6 +77,11 @@ class Test(UITestCase):
# AssertionError: 'colorSetA' != 'colorSetB'
# i.e. the UI didn't update the color scheme name.
self.assertEqual(theme["ColorSchemeName"], "colorSetB")
+ colorSet = theme["ColorScheme"]
+ # Without the accompanying fix in place, this test would have failed with:
+ # AssertionError: 0 != 16728590 (#ff420e)
+ # i.e. the UI didn't update the accent1 color from black to a custom value.
+ self.assertEqual(colorSet[4], 0xff420e)
# vim: set shiftwidth=4 softtabstop=4 expandtab:
diff --git a/cui/source/inc/themepage.hxx b/cui/source/inc/themepage.hxx
index 613650c075b6..894a09c9385b 100644
--- a/cui/source/inc/themepage.hxx
+++ b/cui/source/inc/themepage.hxx
@@ -15,6 +15,8 @@
#include <memory>
+class ColorListBox;
+
/// Tab page for themes
class SvxThemePage : public SfxTabPage
{
@@ -22,6 +24,18 @@ class SvxThemePage : public SfxTabPage
std::unique_ptr<weld::Entry> m_xThemeName;
std::unique_ptr<weld::Entry> m_xColorSetName;
+ std::unique_ptr<ColorListBox> m_xDk1;
+ std::unique_ptr<ColorListBox> m_xLt1;
+ std::unique_ptr<ColorListBox> m_xDk2;
+ std::unique_ptr<ColorListBox> m_xLt2;
+ std::unique_ptr<ColorListBox> m_xAccent1;
+ std::unique_ptr<ColorListBox> m_xAccent2;
+ std::unique_ptr<ColorListBox> m_xAccent3;
+ std::unique_ptr<ColorListBox> m_xAccent4;
+ std::unique_ptr<ColorListBox> m_xAccent5;
+ std::unique_ptr<ColorListBox> m_xAccent6;
+ std::unique_ptr<ColorListBox> m_xHlink;
+ std::unique_ptr<ColorListBox> m_xFolHlink;
public:
SvxThemePage(weld::Container* pPage, weld::DialogController* pController,
diff --git a/cui/source/tabpages/themepage.cxx b/cui/source/tabpages/themepage.cxx
index 99abeed799fb..c01d72def6cc 100644
--- a/cui/source/tabpages/themepage.cxx
+++ b/cui/source/tabpages/themepage.cxx
@@ -10,11 +10,14 @@
#include <sal/config.h>
#include <com/sun/star/beans/PropertyValues.hpp>
+#include <com/sun/star/util/Color.hpp>
+#include <comphelper/sequence.hxx>
#include <comphelper/sequenceashashmap.hxx>
#include <editeng/editids.hrc>
#include <sal/log.hxx>
#include <svl/grabbagitem.hxx>
+#include <svx/colorbox.hxx>
#include <themepage.hxx>
@@ -28,6 +31,30 @@ SvxThemePage::SvxThemePage(weld::Container* pPage, weld::DialogController* pCont
: SfxTabPage(pPage, pController, "cui/ui/themetabpage.ui", "ThemePage", &rInAttrs)
, m_xThemeName(m_xBuilder->weld_entry("themeName"))
, m_xColorSetName(m_xBuilder->weld_entry("colorSetName"))
+ , m_xDk1(new ColorListBox(m_xBuilder->weld_menu_button("btnDk1"),
+ [this] { return GetDialogController()->getDialog(); }))
+ , m_xLt1(new ColorListBox(m_xBuilder->weld_menu_button("btnLt1"),
+ [this] { return GetDialogController()->getDialog(); }))
+ , m_xDk2(new ColorListBox(m_xBuilder->weld_menu_button("btnDk2"),
+ [this] { return GetDialogController()->getDialog(); }))
+ , m_xLt2(new ColorListBox(m_xBuilder->weld_menu_button("btnLt2"),
+ [this] { return GetDialogController()->getDialog(); }))
+ , m_xAccent1(new ColorListBox(m_xBuilder->weld_menu_button("btnAccent1"),
+ [this] { return GetDialogController()->getDialog(); }))
+ , m_xAccent2(new ColorListBox(m_xBuilder->weld_menu_button("btnAccent2"),
+ [this] { return GetDialogController()->getDialog(); }))
+ , m_xAccent3(new ColorListBox(m_xBuilder->weld_menu_button("btnAccent3"),
+ [this] { return GetDialogController()->getDialog(); }))
+ , m_xAccent4(new ColorListBox(m_xBuilder->weld_menu_button("btnAccent4"),
+ [this] { return GetDialogController()->getDialog(); }))
+ , m_xAccent5(new ColorListBox(m_xBuilder->weld_menu_button("btnAccent5"),
+ [this] { return GetDialogController()->getDialog(); }))
+ , m_xAccent6(new ColorListBox(m_xBuilder->weld_menu_button("btnAccent6"),
+ [this] { return GetDialogController()->getDialog(); }))
+ , m_xHlink(new ColorListBox(m_xBuilder->weld_menu_button("btnHlink"),
+ [this] { return GetDialogController()->getDialog(); }))
+ , m_xFolHlink(new ColorListBox(m_xBuilder->weld_menu_button("btnFolHlink"),
+ [this] { return GetDialogController()->getDialog(); }))
{
}
@@ -66,6 +93,25 @@ void SvxThemePage::Reset(const SfxItemSet* pAttrs)
it->second >>= aName;
m_xColorSetName->set_text(aName);
}
+
+ it = aMap.find("ColorScheme");
+ if (it != aMap.end())
+ {
+ uno::Sequence<util::Color> aColors;
+ it->second >>= aColors;
+ m_xDk1->SelectEntry(Color(ColorTransparency, aColors[0]));
+ m_xLt1->SelectEntry(Color(ColorTransparency, aColors[1]));
+ m_xDk2->SelectEntry(Color(ColorTransparency, aColors[2]));
+ m_xLt2->SelectEntry(Color(ColorTransparency, aColors[3]));
+ m_xAccent1->SelectEntry(Color(ColorTransparency, aColors[4]));
+ m_xAccent2->SelectEntry(Color(ColorTransparency, aColors[5]));
+ m_xAccent3->SelectEntry(Color(ColorTransparency, aColors[6]));
+ m_xAccent4->SelectEntry(Color(ColorTransparency, aColors[7]));
+ m_xAccent5->SelectEntry(Color(ColorTransparency, aColors[8]));
+ m_xAccent6->SelectEntry(Color(ColorTransparency, aColors[9]));
+ m_xHlink->SelectEntry(Color(ColorTransparency, aColors[10]));
+ m_xFolHlink->SelectEntry(Color(ColorTransparency, aColors[11]));
+ }
}
bool SvxThemePage::FillItemSet(SfxItemSet* pAttrs)
@@ -86,6 +132,21 @@ bool SvxThemePage::FillItemSet(SfxItemSet* pAttrs)
aMap["Name"] <<= m_xThemeName->get_text();
aMap["ColorSchemeName"] <<= m_xColorSetName->get_text();
+ std::vector<util::Color> aColorScheme = {
+ static_cast<sal_Int32>(m_xDk1->GetSelectEntryColor()),
+ static_cast<sal_Int32>(m_xLt1->GetSelectEntryColor()),
+ static_cast<sal_Int32>(m_xDk2->GetSelectEntryColor()),
+ static_cast<sal_Int32>(m_xLt2->GetSelectEntryColor()),
+ static_cast<sal_Int32>(m_xAccent1->GetSelectEntryColor()),
+ static_cast<sal_Int32>(m_xAccent2->GetSelectEntryColor()),
+ static_cast<sal_Int32>(m_xAccent3->GetSelectEntryColor()),
+ static_cast<sal_Int32>(m_xAccent4->GetSelectEntryColor()),
+ static_cast<sal_Int32>(m_xAccent5->GetSelectEntryColor()),
+ static_cast<sal_Int32>(m_xAccent6->GetSelectEntryColor()),
+ static_cast<sal_Int32>(m_xHlink->GetSelectEntryColor()),
+ static_cast<sal_Int32>(m_xFolHlink->GetSelectEntryColor()),
+ };
+ aMap["ColorScheme"] <<= comphelper::containerToSequence(aColorScheme);
beans::PropertyValues aTheme = aMap.getAsConstPropertyValueList();
aGrabBagItem.GetGrabBag()["Theme"] <<= aTheme;
diff --git a/cui/uiconfig/ui/themetabpage.ui b/cui/uiconfig/ui/themetabpage.ui
index 81c1affbe85f..f991d65aa4b2 100644
--- a/cui/uiconfig/ui/themetabpage.ui
+++ b/cui/uiconfig/ui/themetabpage.ui
@@ -18,10 +18,11 @@
<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">6</property>
- <property name="row_spacing">3</property>
- <property name="column_spacing">6</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="border_width">6</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
<child>
<object class="GtkLabel" id="lbThemeName">
<property name="visible">True</property>
@@ -78,15 +79,17 @@
<object class="GtkGrid" id="gdColors">
<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="row_spacing">3</property>
- <property name="column_spacing">6</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="border_width">6</property>
+ <property name="row_spacing">6</property>
+ <property name="column_spacing">12</property>
<child>
<object class="GtkLabel" id="lbColorSetName">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="themetabpage|lbColorSetName">Name:</property>
+ <property name="xalign">0</property>
<accessibility>
<relation type="label-for" target="colorSetName"/>
</accessibility>
@@ -109,13 +112,433 @@
<property name="top_attach">0</property>
</packing>
</child>
+ <child>
+ <object class="GtkLabel" id="lbDk1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="themetabpage|lbDk1">Background - Dark 1:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="btnDk1"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="lbLt1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="themetabpage|lbLt1">Text - Light 1:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="btnLt1"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="lbDk2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="themetabpage|lbDk2">Background - Dark 2:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="btnDk2"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="lbLt2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="themetabpage|lbLt2">Text - Light 2:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="btnLt2"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="lbAccent1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="themetabpage|lbAccent1">Accent 1:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="btnAccent1"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="lbAccent2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="themetabpage|lbAccent2">Accent 2:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="btnAccent2"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="lbAccent3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="themetabpage|lbAccent3">Accent 3:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="btnAccent3"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">7</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="lbAccent4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="themetabpage|lbAccent4">Accent 4:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="btnAccent4"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">8</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="lbAccent5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="themetabpage|lbAccent5">Accent 5:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="btnAccent5"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">9</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="lbAccent6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="themetabpage|lbAccent6">Accent 6:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="btnAccent6"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">10</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="lbHlink">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="themetabpage|lbHlink">Hyperlink:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="btnHlink"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">11</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="lbFolHlink">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="themetabpage|lbFolHlink">Followed Hyperlink:</property>
+ <property name="xalign">0</property>
+ <accessibility>
+ <relation type="label-for" target="btnFolHlink"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">12</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="btnDk1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="no"></property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="lbDk1"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="btnLt1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="no"></property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="lbLt1"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="btnDk2">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="no"></property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="lbDk2"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="btnLt2">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="no"></property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="lbLt2"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="btnAccent1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="no"></property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="lbAccent1"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="btnAccent2">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="no"></property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="lbAccent2"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="btnAccent3">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="no"></property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="lbAccent3"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">7</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="btnAccent4">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="no"></property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="lbAccent4"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">8</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="btnAccent5">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="no"></property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="lbAccent5"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">9</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="btnAccent6">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="no"></property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="lbAccent6"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">10</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="btnHlink">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="no"></property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="lbHlink"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">11</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="btnFolHlink">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="no"></property>
+ <child>
+ <placeholder/>
+ </child>
+ <accessibility>
+ <relation type="labelled-by" target="lbFolHlink"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">12</property>
+ </packing>
+ </child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="colorSet">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes" context="themetabpage|colorSet">Color set</property>
+ <property name="label" translatable="yes" context="themetabpage|colorSet">Color Set</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>