tdf#160349: add .uno:ChangeTheme to notebookbar to toggle dark mode

A temporary (ugly, but appropriate) icon has been assigned.

The toggle can be customize-assigned to keyboard, menu, and toolbar,
and can be found by searching for "Dark Mode".

In the menu, it is checked when in Dark mode,
and in the toolbar it is "depressed" or highlighted as active.

Dark mode has been added to the view tab of notebookbar.ui.
I added it as NOT VISIBLE, for several reasons.
- dark mode is rather new and not so stable, so don't over-promote it.
- notebookbars cannot be infinitely customized by the end user,
  so developers have to add all items. Users only enable or disable.
- toggling dark mode really ought to be done at the OS level,
  and typically should be a one-time setting,
  therefore not appropriate to waste precious toolbar space.

The primary benefit of making it available in the menu
is for QA testers who want to easily switch back and forth.
WARNING: by customizing the notebookbar, you prevent seeing
any future NBB changes made to the program
(until you reset to defaults or blow away the user profile).

Dark Mode can easily be added to a menu, toolbar or keyboard shortcut
by the end user, so I didn't bother adding it anywhere else.

To avoid completely cluttering up this commit,
I only added Dark mode to the main notebookbar.
Once this commit has been finalized,
the other writer-apps and notebookbars can
also gain this command.

Change-Id: Ia7594ad81e305ead922abd0ad7b41d6fc0413053
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166781
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
This commit is contained in:
Justin Luth
2024-04-27 10:58:45 -04:00
committed by Justin Luth
parent 9d95eb980e
commit da86bfd89e
18 changed files with 313 additions and 6 deletions

View File

@ -1486,16 +1486,19 @@ cmd/sc_leftpara.png cmd/sc_alignleft.png
cmd/sc_rightpara.png cmd/sc_alignright.png
# View menu
cmd/32/changetheme.png cmd/32/symbolshapes.moon.png
cmd/32/gridmenu.png cmd/32/gridvisible.png
cmd/32/navigatemenu.png cmd/32/navigator.png
cmd/32/scrollbarmenu.png cmd/32/scrollbar.png
cmd/32/sidebarmenu.png cmd/32/sidebar.png
cmd/lc_changetheme.png cmd/lc_symbolshapes.moon.png
cmd/lc_gridmenu.png cmd/lc_gridvisible.png
cmd/lc_navigatemenu.png cmd/lc_navigator.png
cmd/lc_scrollbarmenu.png cmd/lc_scrollbar.png
cmd/lc_sidebarmenu.png cmd/lc_sidebar.png
cmd/sc_changetheme.png cmd/sc_symbolshapes.moon.png
cmd/sc_gridmenu.png cmd/sc_gridvisible.png
cmd/sc_navigatemenu.png cmd/sc_navigator.png
cmd/sc_scrollbarmenu.png cmd/sc_scrollbar.png

View File

@ -1486,16 +1486,20 @@ cmd/sc_leftpara.png cmd/sc_alignleft.png
cmd/sc_rightpara.png cmd/sc_alignright.png
# View menu
cmd/32/changetheme.png cmd/32/symbolshapes.moon.png
cmd/32/gridmenu.png cmd/32/gridvisible.png
cmd/32/navigatemenu.png cmd/32/navigator.png
cmd/32/scrollbarmenu.png cmd/32/scrollbar.png
cmd/32/sidebarmenu.png cmd/32/sidebar.png
cmd/lc_changetheme.png cmd/lc_symbolshapes.moon.png
cmd/lc_gridmenu.png cmd/lc_gridvisible.png
cmd/lc_navigatemenu.png cmd/lc_navigator.png
cmd/lc_scrollbarmenu.png cmd/lc_scrollbar.png
cmd/lc_sidebarmenu.png cmd/lc_sidebar.png
cmd/sc_changetheme.png cmd/sc_symbolshapes.moon.png
cmd/sc_gridmenu.png cmd/sc_gridvisible.png
cmd/sc_navigatemenu.png cmd/sc_navigator.png
cmd/sc_scrollbarmenu.png cmd/sc_scrollbar.png

View File

@ -1279,12 +1279,15 @@ cmd/sc_thesaurusdialog.png cmd/sc_thesaurus.png
# View
cmd/32/availabletoolbars.png cmd/32/showtoolbar.png
cmd/32/changetheme.png cmd/32/symbolshapes.moon.png
cmd/32/sidebarmenu.png cmd/32/sidebar.png
cmd/32/toolbarsmenu.png cmd/32/showtoolbar.png
cmd/lc_availabletoolbars.png cmd/lc_showtoolbar.png
cmd/lc_changetheme.png cmd/lc_symbolshapes.moon.png
cmd/lc_sidebarmenu.png cmd/lc_sidebar.png
cmd/lc_toolbarsmenu.png cmd/lc_showtoolbar.png
cmd/sc_availabletoolbars.png cmd/sc_showtoolbar.png
cmd/sc_changetheme.png cmd/sc_symbolshapes.moon.png
cmd/sc_sidebarmenu.png cmd/sc_sidebar.png
cmd/sc_toolbarsmenu.png cmd/sc_showtoolbar.png

View File

@ -1279,12 +1279,15 @@ cmd/sc_thesaurusdialog.png cmd/sc_thesaurus.png
# View
cmd/32/availabletoolbars.png cmd/32/showtoolbar.png
cmd/32/changetheme.png cmd/32/symbolshapes.moon.png
cmd/32/sidebarmenu.png cmd/32/sidebar.png
cmd/32/toolbarsmenu.png cmd/32/showtoolbar.png
cmd/lc_availabletoolbars.png cmd/lc_showtoolbar.png
cmd/lc_changetheme.png cmd/lc_symbolshapes.moon.png
cmd/lc_sidebarmenu.png cmd/lc_sidebar.png
cmd/lc_toolbarsmenu.png cmd/lc_showtoolbar.png
cmd/sc_availabletoolbars.png cmd/sc_showtoolbar.png
cmd/sc_changetheme.png cmd/sc_symbolshapes.moon.png
cmd/sc_sidebarmenu.png cmd/sc_sidebar.png
cmd/sc_toolbarsmenu.png cmd/sc_showtoolbar.png

View File

@ -2472,6 +2472,7 @@ cmd/sc_pastespecialmenu.png cmd/sc_pastespecial.png
# View menu
cmd/32/availabletoolbars.png cmd/32/showtoolbar.png
cmd/32/changetheme.png cmd/32/symbolshapes.moon.png
cmd/32/gridmenu.png cmd/32/gridvisible.png
cmd/32/rulermenu.png cmd/32/ruler.png
cmd/32/scrollbarmenu.png cmd/32/scrollbar.png
@ -2482,6 +2483,7 @@ cmd/32/viewtrackchanges.png cmd/32/showtrackedchanges.png
cmd/32/zoommenu.png cmd/32/zoom.png
cmd/lc_availabletoolbars.png cmd/lc_showtoolbar.png
cmd/lc_changetheme.png cmd/lc_symbolshapes.moon.png
cmd/lc_gridmenu.png cmd/lc_gridvisible.png
cmd/lc_rulermenu.png cmd/lc_ruler.png
cmd/lc_scrollbarmenu.png cmd/lc_scrollbar.png
@ -2492,6 +2494,7 @@ cmd/lc_viewtrackchanges.png cmd/lc_showtrackedchanges.png
cmd/lc_zoommenu.png cmd/lc_zoom.png
cmd/sc_availabletoolbars.png cmd/sc_showtoolbar.png
cmd/sc_changetheme.png cmd/sc_symbolshapes.moon.png
cmd/sc_gridmenu.png cmd/sc_gridvisible.png
cmd/sc_rulermenu.png cmd/sc_ruler.png
cmd/sc_scrollbarmenu.png cmd/sc_scrollbar.png

View File

@ -64,6 +64,7 @@ cmd/32/cellvertcenter.png cmd/32/alignverticalcenter.png
cmd/32/cellverttop.png cmd/32/aligntop.png
cmd/32/centerpara.png cmd/32/alignhorizontalcenter.png
cmd/32/changesmenu.png cmd/32/accepttrackedchange.png
cmd/32/changetheme.png cmd/32/symbolshapes.moon.png
cmd/32/charactermenu.png cmd/32/fontdialog.png
cmd/32/charbackcolor.png cmd/32/backcolor.png
cmd/32/charmapcontrol.png cmd/32/insertsymbol.png
@ -808,6 +809,7 @@ cmd/lc_cellvertcenter.png cmd/lc_alignverticalcenter.png
cmd/lc_cellverttop.png cmd/lc_aligntop.png
cmd/lc_centerpara.png cmd/lc_alignhorizontalcenter.png
cmd/lc_changesmenu.png cmd/lc_accepttrackedchange.png
cmd/lc_changetheme.png cmd/lc_symbolshapes.moon.png
cmd/lc_charactermenu.png cmd/lc_fontdialog.png
cmd/lc_charbackcolor.png cmd/lc_backcolor.png
cmd/lc_charmapcontrol.png cmd/lc_insertsymbol.png
@ -1226,6 +1228,7 @@ cmd/sc_cellvertcenter.png cmd/sc_alignverticalcenter.png
cmd/sc_cellverttop.png cmd/sc_aligntop.png
cmd/sc_centerpara.png cmd/sc_alignhorizontalcenter.png
cmd/sc_changesmenu.png cmd/sc_accepttrackedchange.png
cmd/sc_changetheme.png cmd/sc_symbolshapes.moon.png
cmd/sc_charactermenu.png cmd/sc_fontdialog.png
cmd/sc_charbackcolor.png cmd/sc_backcolor.png
cmd/sc_charmapcontrol.png cmd/sc_insertsymbol.png

View File

@ -1356,16 +1356,19 @@ cmd/sc_rightpara.png cmd/sc_alignright.png
# View
cmd/32/availabletoolbars.png cmd/32/showtoolbar.png
cmd/32/changetheme.png cmd/32/symbolshapes.moon.png
cmd/32/sidebarmenu.png cmd/32/sidebar.png
cmd/32/toolbarsmenu.png cmd/32/showtoolbar.png
cmd/32/viewbounds.png cmd/32/charfontname.png
cmd/lc_availabletoolbars.png cmd/lc_showtoolbar.png
cmd/lc_changetheme.png cmd/lc_symbolshapes.moon.png
cmd/lc_sidebarmenu.png cmd/lc_sidebar.png
cmd/lc_toolbarsmenu.png cmd/lc_showtoolbar.png
cmd/lc_viewbounds.png cmd/lc_charfontname.png
cmd/sc_availabletoolbars.png cmd/sc_showtoolbar.png
cmd/sc_changetheme.png cmd/sc_symbolshapes.moon.png
cmd/sc_sidebarmenu.png cmd/sc_sidebar.png
cmd/sc_toolbarsmenu.png cmd/sc_showtoolbar.png
cmd/sc_viewbounds.png cmd/sc_charfontname.png

View File

@ -1356,16 +1356,19 @@ cmd/sc_rightpara.png cmd/sc_alignright.png
# View
cmd/32/availabletoolbars.png cmd/32/showtoolbar.png
cmd/32/changetheme.png cmd/32/symbolshapes.moon.png
cmd/32/sidebarmenu.png cmd/32/sidebar.png
cmd/32/toolbarsmenu.png cmd/32/showtoolbar.png
cmd/32/viewbounds.png cmd/32/charfontname.png
cmd/lc_availabletoolbars.png cmd/lc_showtoolbar.png
cmd/lc_changetheme.png cmd/lc_symbolshapes.moon.png
cmd/lc_sidebarmenu.png cmd/lc_sidebar.png
cmd/lc_toolbarsmenu.png cmd/lc_showtoolbar.png
cmd/lc_viewbounds.png cmd/lc_charfontname.png
cmd/sc_availabletoolbars.png cmd/sc_showtoolbar.png
cmd/sc_changetheme.png cmd/sc_symbolshapes.moon.png
cmd/sc_sidebarmenu.png cmd/sc_sidebar.png
cmd/sc_toolbarsmenu.png cmd/sc_showtoolbar.png
cmd/sc_viewbounds.png cmd/sc_charfontname.png

View File

@ -1314,12 +1314,15 @@ cmd/sc_thesaurusdialog.png cmd/sc_thesaurus.png
# View
cmd/32/availabletoolbars.png cmd/32/showtoolbar.png
cmd/32/changetheme.png cmd/32/symbolshapes.moon.png
cmd/32/sidebarmenu.png cmd/32/sidebar.png
cmd/32/toolbarsmenu.png cmd/32/showtoolbar.png
cmd/lc_availabletoolbars.png cmd/lc_showtoolbar.png
cmd/lc_changetheme.png cmd/lc_symbolshapes.moon.png
cmd/lc_sidebarmenu.png cmd/lc_sidebar.png
cmd/lc_toolbarsmenu.png cmd/lc_showtoolbar.png
cmd/sc_availabletoolbars.png cmd/sc_showtoolbar.png
cmd/sc_changetheme.png cmd/sc_symbolshapes.moon.png
cmd/sc_sidebarmenu.png cmd/sc_sidebar.png
cmd/sc_toolbarsmenu.png cmd/sc_showtoolbar.png

View File

@ -1314,12 +1314,15 @@ cmd/sc_thesaurusdialog.png cmd/sc_thesaurus.png
# View
cmd/32/availabletoolbars.png cmd/32/showtoolbar.png
cmd/32/changetheme.png cmd/32/symbolshapes.moon.png
cmd/32/sidebarmenu.png cmd/32/sidebar.png
cmd/32/toolbarsmenu.png cmd/32/showtoolbar.png
cmd/lc_availabletoolbars.png cmd/lc_showtoolbar.png
cmd/lc_changetheme.png cmd/lc_symbolshapes.moon.png
cmd/lc_sidebarmenu.png cmd/lc_sidebar.png
cmd/lc_toolbarsmenu.png cmd/lc_showtoolbar.png
cmd/sc_availabletoolbars.png cmd/sc_showtoolbar.png
cmd/sc_changetheme.png cmd/sc_symbolshapes.moon.png
cmd/sc_sidebarmenu.png cmd/sc_sidebar.png
cmd/sc_toolbarsmenu.png cmd/sc_showtoolbar.png

View File

@ -1404,6 +1404,17 @@ bit 3 (0x8): #define UICOMMANDDESCRIPTION_PROPERTIES_TOGGLEBUTTON 8
<value xml:lang="en-US">Undo</value>
</prop>
</node>
<node oor:name=".uno:ChangeTheme" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Dark Mode</value>
</prop>
<prop oor:name="TooltipLabel" oor:type="xs:string">
<value xml:lang="en-US">Toggle between dark and light modes</value>
</prop>
<prop oor:name="Properties" oor:type="xs:int">
<value>1</value>
</prop>
</node>
<node oor:name=".uno:ToggleControlFocus" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Control Focus</value>

View File

@ -9714,6 +9714,60 @@
<property name="position">3</property>
</packing>
</child>
<child>
<object class="VclOptionalBox" id="View-Section-DarkMode">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
<property name="vexpand">True</property>
<child>
<object class="GtkSeparator" id="separator-section-darkmode">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="orientation">vertical</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">5</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="sfxlo-NotebookbarToolBox" id="Section-darkmode">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="valign">center</property>
<property name="vexpand">True</property>
<property name="toolbar_style">both</property>
<property name="show_arrow">False</property>
<property name="icon_size">3</property>
<child>
<object class="GtkToolButton" id="View-DarkMode">
<property name="visible">False</property>
<property name="action_name">.uno:ChangeTheme</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="VclOptionalBox" id="View-Section-Zoom">
<property name="visible">True</property>

View File

@ -7908,6 +7908,60 @@
<property name="position">10</property>
</packing>
</child>
<child>
<object class="VclOptionalBox" id="View-Section-DarkMode">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
<property name="vexpand">True</property>
<child>
<object class="GtkSeparator" id="separator-section-darkmode">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="orientation">vertical</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">5</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="sfxlo-NotebookbarToolBox" id="Section-darkmode">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="valign">center</property>
<property name="vexpand">True</property>
<property name="toolbar_style">both</property>
<property name="show_arrow">False</property>
<property name="icon_size">3</property>
<child>
<object class="GtkToolButton" id="View-DarkMode">
<property name="visible">False</property>
<property name="action_name">.uno:ChangeTheme</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">11</property>
</packing>
</child>
<child>
<object class="VclOptionalBox" id="View-Section-DisplayQuality">
<property name="visible">True</property>

View File

@ -9153,6 +9153,60 @@
<property name="position">13</property>
</packing>
</child>
<child>
<object class="VclOptionalBox" id="View-Section-DarkMode">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
<property name="vexpand">True</property>
<child>
<object class="GtkSeparator" id="separator-section-darkmode">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="orientation">vertical</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">5</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="sfxlo-NotebookbarToolBox" id="Section-darkmode">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="valign">center</property>
<property name="vexpand">True</property>
<property name="toolbar_style">both</property>
<property name="show_arrow">False</property>
<property name="icon_size">3</property>
<child>
<object class="GtkToolButton" id="View-DarkMode">
<property name="visible">False</property>
<property name="action_name">.uno:ChangeTheme</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">14</property>
</packing>
</child>
<child>
<object class="VclOptionalBox" id="View-Section-DisplayQuality">
<property name="visible">True</property>

View File

@ -67,6 +67,7 @@ interface Application
FN_CHANGE_THEME // ole(no) api(final/play/rec)
[
ExecMethod = MiscExec_Impl ;
StateMethod = MiscState_Impl ;
]
SID_CONFIG // ole(no) api(final/play/rec)
[

View File

@ -5933,11 +5933,14 @@ SfxVoidItem ChangeTheme FN_CHANGE_THEME
[
AutoUpdate = FALSE,
FastCall = FALSE,
ReadOnlyDoc = FALSE,
ReadOnlyDoc = TRUE,
Toggle = FALSE,
Container = FALSE,
RecordAbsolute = FALSE,
RecordPerSet;
AccelConfig = TRUE,
MenuConfig = TRUE,
ToolBoxConfig = TRUE,
GroupId = SfxGroupId::Application;
]

View File

@ -620,20 +620,57 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
case FN_CHANGE_THEME:
{
const SfxStringItem* pNewThemeArg = rReq.GetArg<SfxStringItem>(FN_PARAM_NEW_THEME);
OUString sSchemeName
= pNewThemeArg ? pNewThemeArg->GetValue() : "COLOR_SCHEME_LIBREOFFICE_AUTOMATIC";
if (!pNewThemeArg)
{
SAL_WARN("sfx.appl", "FN_CHANGE_THEME: no theme name");
break;
// toggle between light and dark mode
// There are two separate things that can be dark mode themed: UI and document
// The modes can be 0 (automatic - what the OS/VCL asks for), 1 (light), or 2 (dark)
// Since only gtk/osx/win support UI theme, toggle based on document colors
// Automatic in this case means "whatever GetUseDarkMode() says"
const bool bWasInDarkMode
= MiscSettings::GetAppColorMode() == 2
|| (MiscSettings::GetAppColorMode() == 0 && MiscSettings::GetUseDarkMode());
// Set the UI theme. It would be nicest to use automatic whenever possible
sal_Int32 nUseMode = 0; // automatic
if (MiscSettings::GetDarkMode() != 0)
MiscSettings::SetDarkMode(nUseMode);
if (MiscSettings::GetUseDarkMode() == bWasInDarkMode)
{
// automatic didn't toggle, so force the desired theme
nUseMode = bWasInDarkMode ? 1 : 2;
MiscSettings::SetDarkMode(nUseMode);
}
// Now set the document theme
// If the UI can be themed, then the document theme can always remain on automatic.
nUseMode = 0;
// NOTE: since SetDarkMode has run, GetUseDarkMode might return a different result.
if (MiscSettings::GetUseDarkMode() == bWasInDarkMode)
{
nUseMode = bWasInDarkMode ? 1 : 2;
sSchemeName = bWasInDarkMode ? u"Light" : u"Dark";
}
MiscSettings::SetAppColorMode(nUseMode);
}
const OUString& rSchemeName = pNewThemeArg->GetValue();
svtools::EditableColorConfig aEditableConfig;
// kit explicitly ignores changes to the global color scheme, except for the current ViewShell,
// so an attempted change to the same global color scheme when the now current ViewShell ignored
// the last change requires re-sending the change. In which case individual shells will have to
// decide if this color-scheme change is a change from their perspective to avoid unnecessary
// invalidations.
if (aEditableConfig.GetCurrentSchemeName() != rSchemeName || comphelper::LibreOfficeKit::isActive())
aEditableConfig.LoadScheme(rSchemeName);
if (!pNewThemeArg || comphelper::LibreOfficeKit::isActive()
|| aEditableConfig.GetCurrentSchemeName() != sSchemeName)
{
aEditableConfig.LoadScheme(sSchemeName);
}
Invalidate(FN_CHANGE_THEME);
break;
}
@ -1233,6 +1270,14 @@ void SfxApplication::MiscState_Impl(SfxItemSet &rSet)
break;
#endif
case FN_CHANGE_THEME:
{
const bool bIsDarkMode
= MiscSettings::GetAppColorMode() == 2
|| (!MiscSettings::GetAppColorMode() && MiscSettings::GetUseDarkMode());
rSet.Put(SfxBoolItem(FN_CHANGE_THEME, bIsDarkMode));
break;
}
case SID_HELPTIPS:
{
rSet.Put( SfxBoolItem( SID_HELPTIPS, Help::IsQuickHelpEnabled() ) );

View File

@ -9086,6 +9086,60 @@
<property name="position">3</property>
</packing>
</child>
<child>
<object class="VclOptionalBox" id="View-Section-DarkMode">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
<property name="vexpand">True</property>
<child>
<object class="GtkSeparator" id="separator-section-darkmode">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="orientation">vertical</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">5</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="sfxlo-NotebookbarToolBox" id="Section-darkmode">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="valign">center</property>
<property name="vexpand">True</property>
<property name="toolbar_style">both</property>
<property name="show_arrow">False</property>
<property name="icon_size">3</property>
<child>
<object class="GtkToolButton" id="View-DarkMode">
<property name="visible">False</property>
<property name="action_name">.uno:ChangeTheme</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">4</property>
</packing>
</child>
<child>
<object class="VclOptionalBox" id="View-Section-Zoom">
<property name="visible">True</property>