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>
separate commit since help submodule also uses the macro.
actually turn it into make error to prevent reintroducing it
the repo_target ones are from way back when the whole repo was
split up in many different ones and not used for many years,
no point in having those as errors
Change-Id: I9fd42529d08ea7859b33f8570936f06039cfa184
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167006
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
…by a simple/static $(gb_CustomTarget_workdir)/foo
The build system has a lot of overly complicated leftovers from when it
was introduced and had not only deal with split repositories but also
had to coexist with another buildsystem. Along with lots of copy'n'paste
along the years the makefiles became hard to grasp for newcomers with
all our calls and evals.
As a first step to streamline that, the macros from TargetLocations that
simply prefix a static path to the argument (and similar of the same
kind) are a natural pick before simplifying the rules themselves/getting
rid of a bunch of eval statements.
Change-Id: Ia06dbbcd5d1994755a2ff05b84f72ccbc4e3cab5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167005
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
mvUserData is still needed to keep it's content from being deleted.
Revert "Drop unused instance variable."
This reverts commit 687ae6ca01.
Change-Id: I689cfdaf8d4d62a3b53ff7fb318dc8c70b9e1c2d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167020
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
Tested-by: Jenkins
The UI code at lcl_ChangeResIdToVerticalOrRTL() was aware that
SwAnchoredObjectPosition::CalcRelPosX() mirrors the position when the
anchor paragraph is RTL, so swapped the "from left" label to a "from
right" label.
Don't do this when the compat option is enabled, so not only we render
correctly but the UI now correctly explains why we came up with the
correct position.
Change-Id: I479ed1f085b249d10be47b66d7a656dc1bd4f936
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167031
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
Previously, the CJK BreakIterator used custom dictionaries for Chinese
and Japanese. This change removes these custom dictionaries in favor of
the upstream ICU implementation, which uses an externally-maintained
frequency dictionary for these languages.
This change also removes support code for dictionary-based break
iterators, as it is no longer used.
Change-Id: I55c4ce9c842d1751997309fd7446e0a6917915dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166136
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
...after this got wrapped in an outer
> ifeq ($(OS),EMSCRIPTEN)
in cf0b0f0dd0 "Emscripten: Only add the --pre-js
code to the soffice executable"
Change-Id: Ic2b9ae7709a06146a206ebaa2ee8881387dae6b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166998
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Let `SdrPage::createAnnotation` et al. return the newly
created annotation rather than using an out parameter,
which makes this more straightforward.
Change-Id: Iee0561859756522ef33680c2cc9b492541a31d5e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167019
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Align the gtk4 a11y role mapping with what upstream
GTK 4 does with current git main (as of commit
0064500146fc080dae1ef2b30bebf7bb8b35a52f), see this
upstream GTK commit [0] and the one it refers to for
more details:
commit ad8613876c753cea8695dc8b03dcd37eb8e723a5
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Tue Apr 30 14:44:11 2024 +0200
a11y atspi: Improve mapping for container roles
GTK_ACCESSIBLE_ROLE_GENERIC is for
"a nameless container that has no semantic meaning of its own",
for which AT-SPI role ATSPI_ROLE_PANEL [1]
("A generic container that is often used to group
objects.") fits better than ATSPI_ROLE_FILLER
("A object that fills up space in a user interface."),
so map to this one.
With this in place, widgets like GtkBox are again
reported with the panel role on AT-SPI level after
commit a86923de943b6a42ba431be2a336972dca9c587d
("a11y: Change the role for many containers"),
whose commit message suggests that the change
on the AT-SPI level was unintended.
For GTK_ACCESSIBLE_ROLE_GROUP, use the corresponding
ATSPI_ROLE_GROUPING ("A group of related widgets.
This group typically has a label.").
[1] https://docs.gtk.org/atspi2/enum.Role.html
This causes the LO a11y roles `PANEL`, `SPLIT_PANE` and
`ROOT_PANE` to be mapped to the AT-SPI panel role again.
With the above-mentioned GTK upstream change, the native
GTK widgets now also use the panel role without having
to explicitly set anything on LO side rather than being
fillers, which removes the need to set them explicitly,
see the full commit message of
commit f6ca163d3f
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Fri Apr 26 12:43:24 2024 +0200
gtk4 a11y: Don't create second AT context for OOoFixed
for more details.
Also, map the LO `FILLER` role to `GTK_ACCESSIBLE_ROLE_WIDGET`
which GTK maps to the AT-SPI filler role.
(The previously used `GTK_ACCESSIBLE_ROLE_GENERIC`
is now mapped to the AT-SPI panel role, which
is for widget containers rather than fillers.)
[0] ad8613876c
Change-Id: I1d1a8f626911455481d2d722790e8915daa921c7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166995
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
This adds support for the (weld)LinkButton (FixedHyperlink) as an
independent widget and not part of FixedText to jsdialog. In addition
add "click" event that triggers activate_link method.
Change-Id: Id110b4a0fd60fc24592e00235243783d46ae4575
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166898
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
It turns out, that the horizontal scale is needed in the applied transform.
Change-Id: Ic07e015f0ddeee3d66653b683d83435d04b9ab81
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167004
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
because it takes a surprising amount of time to initialise it
at runtime during startup
(*) have to convert the std::function in SfxType to a
function pointer, because the std::function constructor
is not constinit compatible.
(*) the SfxType0..SfxTypeN types need some reinterpret_cast
to work around the lack of zero-sized trailing arrays in c++
(*) Sadly MSVC does not support taking the address of symbols
in constinit structures, so we cannot make the SfxSlot
array constinit.
Change-Id: I300ee770cc115d30bc25c819f2ad34b29633876c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166963
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
The bugdoc has a shape which should be on the right page margin, but it
was on the left page margin.
Use the new compat flag to have a layout that matches Word.
This way we don't need to unmap the tweaked position at export time (a
limitation that the DOC filter has).
Change-Id: I38dfae370f275d9f0897198e7b0569f2d91dd352
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166993
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
No need to go via Writer-specific macros here.
Change-Id: I33d84275106ee3ff8a2f3356ae0c1c84d387cfd6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166992
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
ScGridWindow::DrawContent(...) draws the spreadsheet elements.
ScTabView::SetNewVisArea() is called after DrawContent(...)
which calls UpdateAllOverlays(), and the overlays hide the EditView.
Redrawing EditView in SetNewVisArea() fixes the issue.
Change-Id: I768c8b7a1c9306fb94e82bca74ce0dcb2ced2782
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166784
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>