- 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>
SQL history becomes quickly too large for the dropdown control
The patch sets a fixed width so this control wont take over the
dialog size.
Change-Id: I106ae19dfd505388e5b528becbc06e9d6110d45d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178702
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
arg is a path to a "presets" dir similar to instdir/presets/
where autotext/wordbook/xcu may exist
initially just update xcu if that is present, autotext itself
typically is updated dynamically if a new file is found, while
wordbooks are not and the diclist can be explicitly reinitialized
here if there are wordbooks.
Change-Id: Ibeb9d23d143c710f12e6c9d75b2861e0e6d44a01
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177372
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit 30f83f2dff9f80db0b4a467fb30f9a9b2531fa3c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178664
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
I got the workaround condition wrong in commit
d248d8f527
(CppunitTest_sw_tiledrendering2: try to make this more stable,
2024-11-20), the intent was to return early when we get no state
changes, but we did the early return when there *were* state changes,
fix this.
Change-Id: I90abcec062c59360642da87069911f937cc2110a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178706
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Start edit mode for the shape in the document, double-click on a word
which has a "level 2" bullet associated with it -> crash.
This is a regression from c8b607b7c0
(tdf#163883 editeng RTF export: fix broken offsets into the para style
table, 2024-11-19), the direct cause is that ImpEditEngine::WriteRTF()
maps all style pointers to a style ID and once we write the parent
property in the style table, we unconditionally dereference our search
result, because we know all styles should be in that map.
The root of the problem seems to be that once parent styles are marked
as used for the "only write used styles for the clipboard" case, those
parents themselves can have parents, and we didn't mark those as used.
Combined with the unconditional dereference, this leads to a crash. Fix
this by walking up the parent chain till we get no parent.
This assumes that importers create a valid document model, so there
can't be loops while walking the parent chain. If that would be a
problem in practice, we could check for that in the future.
Change-Id: I4b416e78f26bf455040d95ee8ed220cfe870e33a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178703
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
...where "will be needed" is approximated by "install location is under
C:\Program Files" (i.e., where admin privileges will be necessary to do an
update)
Change-Id: I00c93df8c0c2c5132fffa4056b88af098cb4a644
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178679
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
* Update dictionaries from branch 'master'
to c3ff53711dcac4bdec24f23a2c1f9712a0833b67
- tdf#164366: fix wrong REP count in mongolian .aff file
Commit d169602 broke parsing of this file by the lucene hunspell
support, because now a `REP 3619` is followed by 3621 REP rules.
Fix the count to be correct.
Change-Id: I2c971dec7c44793e3d5b7a4030940014ddbebbb4
Reviewed-on: https://gerrit.libreoffice.org/c/dictionaries/+/178710
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
For some (still unknown) reason the upgrade from boost 1.86 to 1.87
caused the 32-bit ARM Android builds to fail
with errors like
<inline asm>:1:41: error: expected '%<type>' or "<type>"
.pushsection ".debug_gdb_scripts", "MS",@progbits,1
^
<inline asm>:318:12: error: .popsection without corresponding .pushsection
.popsection
^
2 errors generated.
make[1]: *** [/home/tdf/lode/jenkins/workspace/android_arm/solenv/gbuild/LinkTarget.mk:339: /home/tdf/lode/jenkins/workspace/android_arm/workdir/CxxObject/configmgr/source/groupnode.o] Error 1
make[1]: *** Waiting for unfinished jobs....
[build CXX] configmgr/source/node.cxx
<inline asm>:1:41: error: expected '%<type>' or "<type>"
.pushsection ".debug_gdb_scripts", "MS",@progbits,1
^
, see e.g. [1] and the list of all Android ARM 32 bit builds [2].
A local bisect points to this commit, and reverting it
fixes the build.
Do this for now to work around the build failure and give
time for finding a better solution.
This reverts commit 25e7e1677b.
[1] https://ci.libreoffice.org/job/gerrit_android_arm/43354/console
[2] https://ci.libreoffice.org/job/gerrit_android_arm/
Change-Id: Ifad1412b691adce74bb16805975e3439898e3b74
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178697
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
For one, UITest_writer_tests3 would crash soffie.bin in an --enable-dbgutil
build with
> include/vcl/vclptr.hxx:109: VclPtr<reference_type>::~VclPtr() [with reference_type = AbstractQrCodeGenDialog]: Assertion `(!m_rInnerRef.get() || m_rInnerRef->isDisposed() || m_rInnerRef->getRefCount() > 1) && "someone forgot to call dispose()"' failed.
from within that test_insert_qr_code. But even with that out of the way, the
test would still hang (in any kind of --disable-zxing build, not just
--enable-dbgutil), with the Python process at
> File "uitest/uitest/test.py", line 129, in wait_and_yield_dialog
> time.sleep(DEFAULT_SLEEP)
> File "uitest/uitest/test.py", line 151, in execute_dialog_through_command
> yield from self.wait_and_yield_dialog(event, xDialogParent, close_button)
> <built-in method next of module object at remote 0x7fb6fc6a0230>
> File "instdir/program/python-core-3.10.16/lib/contextlib.py", line 135, in __enter__
> return next(self.gen)
> File "sw/qa/uitest/writer_tests3/insertQrCodeGen.py", line 18, in test_insert_qr_code
> with self.ui_test.execute_dialog_through_command(".uno:InsertQrCode") as xDialog:
and the soffice.bin process idly yielding at
> #14 0x00007fa582369b78 in Application::Yield () at vcl/source/app/svapp.cxx:473
> #15 0x00007fa582368a40 in Application::Execute () at vcl/source/app/svapp.cxx:360
> #16 0x00007fa58ca42fba in desktop::Desktop::Main (this=0x7fffe69ca960) at desktop/source/app/app.cxx:1679
Change-Id: I007d1497e6f0c968039af3649f6252794e222226
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178696
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
* Update translations from branch 'master'
to 86672eb8932b6779dd5b6d036c083662d4bcd15f
- update translations for master/25-2
and force-fix errors using pocheck
Change-Id: Ie775663b93d82f8392fa6317099ad158661dbdc7
Drop the com.sun.star.accessibility.GetStandardAccessibleFactoryService
UNO service that was used to create instances of
the a11y classes for (mainly vcl) widgets.
The service was needed to break a dependency cycle.
However, with
Change-Id: Ib46c87446dc9121d3b8e735e0e5a40594da73cc5
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Tue Dec 17 12:04:04 2024 +0100
a11y: Merge accessibility module into vcl
and all the preparatory commits in place, there
is no more dependency cycle, as the a11y classes
for vcl widgets no longer depend on any modules
"above" vcl.
Therefore, drop the UNO service and the abstract
vcl::IAccessibleFactory class and other related
classes.
Make all methods in the AccessibleFactory class
(that was previously subclassing the abstract
IAccessibleFactory) static helper methods,
and call them directly.
The UNO service dropped in this commit was
introduced in
commit 1af510e951
Date: Wed Feb 21 11:30:47 2024 +0200
Create an UNO service to do the symbol lookup in toolkit::AccessibilityClient
and its documentation was already clearly stating
that it's only meant for LibreOffice internal use:
> /**
> The toolkit module uses this to get a pointer to the AccessibleFactory from the acc module.
> Because we have a dependency in our modules that goes the "wrong" way.
>
> @since LibreOffice 24.8
>
> @internal
>
> ATTENTION: This is marked <em>internal</em> and does not
> have the <em>published</em> flag, which means it is subject to
> change without notice and should not be used outside the LibreOffice core.
> */
Change-Id: Ib97396a4bad486d9530361dd851ad3ee0f9681b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178689
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Now that the accessibility module no longer
depends on toolkit and svtools and there's
therefore no more cyclic dependency, merge it
into the vcl library, where the vcl widgets are located,
for which the classes in the accessibility
module (primarily) provide the a11y classes.
Initially, take over the existing UNO service
"com.sun.star.accessibility.comp.GetStandardAccessibleFactoryService"
to vcl as is. It used to be necessary to break the cyclic
dependency between the vcl, svtools, toolkit and
accessibility module. (vcl is the lowest and
accessibility used to be furthest up in the dependency
chain; yet vcl needed it to create the objects
providing the XAccessible/XAccessibleContext
for its widgets.)
Further simplification can happen in upcoming commits.
Change-Id: Ib46c87446dc9121d3b8e735e0e5a40594da73cc5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178647
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
toolkit::IAccessibleFactory and
vcl::IAccessibleFactory are abstract classes
providing methods to retrieve the XAccessible or
XAccessibleContext for different vcl widgets.
Both are implemented by the same class in the
accessibility module: AccessibleFactory
Merge toolkit::IAccessibleFactory into
vcl::IAccessibleFactory to have things in
one place, and have everything in vcl, i.e.
no longer part of it in toolkit that itself
depends on vcl.
Change-Id: I5da571899c9987267cbec2950630d0c44ff4d2f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178643
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
These methods were superseded by corresponding methods
in the weld::Grid class in
Change-Id: I67f5ea16b5108e8359820850f0815e34db439ef1
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon Dec 16 11:02:00 2024 +0100
weld: Add weld::Grid to handle grid child positions
Now that all existing code has been ported to the new
API, drop the unused old methods.
Change-Id: I94ffa6a9de5e052e8248276b60f6fe4f10dff697
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178638
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
See previous commit
Change-Id: I67f5ea16b5108e8359820850f0815e34db439ef1
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon Dec 16 11:02:00 2024 +0100
weld: Add weld::Grid to handle grid child positions
for more background.
Deduplicate the code a bit by introducing a
`pTargetGrid` local var that points either to
`m_xLeft` or `m_xRight`.
This dialog can be triggered in Writer via "Insert" ->
"Table of Contents and Index" -> "Bibliography Entry",
then clicking the "Edit" button.
Change-Id: Ib75c5f1225d9590849f1eaed083857dbe30ce551
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178634
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
It's currently unused, so drop it.
If there's ever a need to adjust grid positions in the future,
this should instead be done by calling the corresponding methods
on the weld::Grid, see previous commit
Change-Id: I67f5ea16b5108e8359820850f0815e34db439ef1
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon Dec 16 11:02:00 2024 +0100
weld: Add weld::Grid to handle grid child positions
for more background.
Change-Id: Ia573a850d62233a0500b8d3b38f2ddd47c2ce680
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178622
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
The code was calling weld::Widget::get_grid_left_attach
and weld::Widget_set_grid_left_attach on the wrong widgets
that are not direct children of the grid, but children
of the grid children, triggering these warnings with
gtk3:
(soffice:1996241): Gtk-WARNING **: 21:10:33.461: ../../../gtk/gtkcontainer.c:1206: container class 'GtkViewport' has no child property named 'left-attach'
(soffice:1996241): Gtk-WARNING **: 21:10:33.461: ../../../gtk/gtkcontainer.c:1206: container class 'GtkViewport' has no child property named 'left-attach'
(soffice:1996241): Gtk-WARNING **: 21:10:33.461: ../../../gtk/gtkcontainer.c:1348: container class 'GtkViewport' has no child property named 'left-attach'
(soffice:1996241): Gtk-WARNING **: 21:10:33.461: ../../../gtk/gtkcontainer.c:1348: container class 'GtkViewport' has no child property named 'left-attach'
(soffice:1996241): Gtk-WARNING **: 21:10:33.472: ../../../gtk/gtkcontainer.c:1206: container class 'GtkViewport' has no child property named 'left-attach'
(soffice:1996241): Gtk-WARNING **: 21:10:33.472: ../../../gtk/gtkcontainer.c:1206: container class 'GtkViewport' has no child property named 'left-attach'
(soffice:1996241): Gtk-WARNING **: 21:10:33.472: ../../../gtk/gtkcontainer.c:1348: container class 'GtkViewport' has no child property named 'left-attach'
(soffice:1996241): Gtk-WARNING **: 21:10:33.472: ../../../gtk/gtkcontainer.c:1348: container class 'GtkViewport' has no child property named 'left-attach'
To trigger:
* start Calc with the gtk3 VCL plugin and SAL_RTL_ENABLED=1
* "Format" -> "Page Style"
* select the "Header" tab page
* click on the "Edit" button
Fix this by assigning IDs for the GtkScrolledWindows that
are actually the direct children of the grid and using these
instead.
Port to the new weld::Grid API instead of calling the
methods directly on the weld::Widget children,
see previous commit
Change-Id: I67f5ea16b5108e8359820850f0815e34db439ef1
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon Dec 16 11:02:00 2024 +0100
weld: Add weld::Grid to handle grid child positions
for more background.
Change-Id: I22c31a2f6b5eade56f6061023f5b914b615f4ba4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178615
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
See previous commit
Change-Id: I67f5ea16b5108e8359820850f0815e34db439ef1
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon Dec 16 11:02:00 2024 +0100
weld: Add weld::Grid to handle grid child positions
for more background.
To trigger dialog:
* open context menu for paragraph in Writer
* select "Character" -> "Character" to open the "Character" dialog
* in the "Font" tab, click on the "Features" button
Change-Id: I9b87a82c65c59b5d02ddf44df96ca85113f7ffc3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178613
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
See previous commit
Change-Id: I67f5ea16b5108e8359820850f0815e34db439ef1
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Mon Dec 16 11:02:00 2024 +0100
weld: Add weld::Grid to handle grid child positions
for more background.
The changed code path can e.g. be triggered in Writer as follows:
* "File" -> "Templates" -> "Manage Templates",
* click the "Manage" combobox
* select the "Extensions" entry
Change-Id: I28f258fde8700ade4d5c6ded39d6063f31bc2e30
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178571
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Currently, weld::Widget provides methods that can
be used to retrieve and change the position (and column
span) of widgets that are located inside of a grid
(parent), e.g. weld::Widget::set_grid_left_attach
to set the column.
These methods however only make sense for widgets
that are actually direct children of a grid, not
for any "random" weld::Widget.
Generally, it's the grid's responsibility to manage
child positions, and the gtk3/gtk4 implementations
actually assume that the parent is a GtkGrid, retrieve
that parent and then call the corresponding GTK API
functions for that grid.
Align the weld API more with the concept of the
grid being responsible for positioning its children
by introducing a new weld::Grid class with methods
equivalent to the current weld::Widget ones, but that
take the child widget as an additional parameter.
Take over the existing logic from the corresponding
weld::Widget methods for both, the gtk and vcl implementations
(e.g. GtkInstanceWidget::set_grid_left_attach
-> GtkInstanceGrid::set_child_left_attach).
Add an assert that the passed widget is actually
a grid child.
Deprecate the existing weld::Widget methods for grid
position handling. They will be removed once existing code has
been ported to the new weld::Grid API.
The fact that the vcl implementation, VclGrid
(used by vcl's new SalInstanceGrid implementation
of weld::Grid), still relies on its vcl::Window children
having the corresponding members set correctly remains
unaffected.
Change-Id: I67f5ea16b5108e8359820850f0815e34db439ef1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178570
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Starting with commit c1452e7309, native
full screen was disabled. However, in certain cases, macOS will force
a window into native full screen mode and this caused numerous bugs.
So add the following fixes to support native full screen windows. Note:
the green titlebar button will still zoom the window. That button will
only escape native full screen mode only when macOS has already forced
a window into native full screen mode:
- When in native full screen mode, -[NSWindow styleMask] will include
NSWindowStyleMaskFullScreen which can affect the frame and content
rectangle calculations so always use -[NSWindow styleMask] instead
of the mask that was used to create the window when doing such
calculations.
- A comment in commit c1452e7309 mentions
crashing after ordering out a native full screen window. I have not
experienced any crashing, but I did find that ordering out would
leave the application in a state where there is no Desktop and both
the menubar and the Dock are hidden. The fix, which is to close
windows instead of ordering them out, was copied from the following
NeoOffice source code file which is licensed under the Mozilla Public
License, v. 2.0:
https://github.com/neooffice/NeoOffice/blob/NeoOffice-2022_7/vcl/java/source/window/salframe.mm
- In AquaSalFrame::GetWindowState(), add both the original and the
curent frame when the window is in LibreOffice and/or native full
screen mode.
- Track LibreOffice and native full screen state in separate instance
variables so that both modes can be activated independently and the
window is not set back to its original size unitl a window has exited
both full screen modes.
LibreOffice also has its own full screen mode which hides the menubar
and Dock, resizes to fill the screen, and hides all of its toolbars.
As much as possible, both full screen modes should coexist and the
user can enter or exit LibreOffice full screen mode while in native
full screen mode. So add the following fixes for LibreOffice full
screen mode:
- Do not add the window's titlebar height to the window's frame as
that will cause the titlebar to be pushed offscreen.
- The menubar and Dock are both hidden when a window enters LibreOffice
full screen mode. However, -[NSWindow setFrame:display:] shrinks the
window frame to allow room for the menubar if the window is on the
main screen. So, force the return value to match the frame that
LibreOffice expects.
- Multiple windows can be in LibreOffice full screen mode at the
same time so hide or show the menubar and Dock when a LibreOffice
full screen window gains or loses focus.
- When a window is in LibreOffice full screen mode, LibreOffice hides
the menubar. However, when in native full screen mode, hiding the
menubar causes the window's titlebar to either fail to display or
fail to hide when expected. So allow the menubar to remain visible
when a window is in both LibreOffice and native full screen mode
and disable all LibreOffice menus (like is done when a modal windowj
is displayed) to mimic the effect of hiding the menubar.
Change-Id: I94ae24a03d192a681d5500930f7fec70e595ffaf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178497
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
Tested-by: Jenkins
There was apparently some confusion what 'latest setting' was
referring to (in fact, it's the latest setting that was stored in the
document, for most cases).
Change-Id: I30d36567cde602ba18b0b721dec0c9e76b560edc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178660
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>