In the past, weld.hxx used to contain the class
definitions for weld::Widget and all subclasses.
By now, weld::Widget and almost all subclasses have
been moved to separate headers, to make it easier
to keep the overview and to avoid having to
recompile ~all UI code when one class changes.
By now, only weld::Button is left in weld.hxx.
Rename the header to Button.hxx.
Drop weld.hxx includes and instead add Button.hxx
includes (or weld::Button forward declarations) where
weld::Button is used.
(Don't simply replace all weld.hxx includes with
Button.hxx ones, since many of them were for the
use of other widgets that have since been moved
to their own headers.)
Add further includes where needed now that the
(direct or transitive) includes of weld.hxx were removed.
Change-Id: I8ea6201446a418d5e38b46337059dcd517ee29d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205937
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Make the spill state of a dynamic array survive a saveAndReload
to XLSX and make the XLSX be properly accepted by MSO. There is a
special way, with dynamic array extension to the format, which
must be written to the file.
Export:
- Emit xl/metadata.xml with an XLDAPR dynamicArrayProperties block,
and register it in [Content_Types].xml and workbook rels.
- Mark the master cell with cm="1" and write aca="1" + ca="1" on f.
A 1x1 collapsed master is written as a single cell reference.
- Map the SPILL cell error to "#VALUE!", since OOXML has no #SPILL!
literal. Recalc on reload reclassifies it back to SPILL.
Import:
- Remember "cm" on the cell. A cached "#VALUE!" on an array master
with "cm" set is treated as a SPILL hint so the blocker survives.
Extend the XLSX round-trip tests in subsequent_export_test2.
Change-Id: I9209e43f3a398e23fc7ca46daf58a88546687dba
Signed-off-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/2865
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit eb85edc75e5100beb7802381175de914f4102a81)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205803
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Because GetCurrentRow returns 0, the Group started from Row number 2.
While there is a solution to fix GetCurrentRow, it seemed likely to affect
other code, so I decided to get the row position the same way as bHeader.
This change also resolves tdf#102154.
Change-Id: Iadf140082e8dda98aa959baaa27226a19c30da9a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204815
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
Instead of going via this UNO abstraction, call
GetSystemClipboard() to get access to the system
clipboard.
Change-Id: I8ef1d7b0c76b3a154ff8b1bddeed0a0ad57f5709
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200653
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
This redirection was introduced in ba8fe774a1
"test: capture stderr of odfvalidator too", so it probably doesn't make much
sense for veraPDF. And at least with Java 26, invocations of bin/verapdf.sh
start off with writing
> WARNING: Final field flavour in class org.verapdf.pdfa.validation.profiles.ValidationProfileImpl has been mutated reflectively by class com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection in unnamed module @67117f44 (file:/home/sberg/lo-external-tarballs/verapdf-cli-1.29.0.jar)
> WARNING: Use --enable-final-field-mutation=ALL-UNNAMED to avoid a warning
> WARNING: Mutating final fields will be blocked in a future release unless final field mutation is enabled
to stderr, so that e.g. CppunitTest_vcl_pdfexport failed with various
> Entity: line 1: parser error : Start tag expected, '<' not found
> WARNING: Final field flavour in class org.verapdf.pdfa.validation.profiles.Valid
> ^
> /home/sberg/lo/core/test/source/unoapi_test.cxx:217:(anonymous namespace)::testTdf142806::TestBody
> assertion failed
> - Expression: pXmlDoc
Change-Id: I83970406d7ac8a4d4be98a7fc1e7da530075685c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200359
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Replaced PointNameMap in DiagramModel, too unsafe with
needed StateUpdates. Simplified some stuff dependent on
that. More stable now with changes. Embedding of
DiagramModelID back to ObjectName, that's just better.
Re-activated locked state for SdrObject members of
Diagrams for now due to UnitTests, but see comment
there.
Had to add an exceptional case to
XMLDiff::compareAttributes due to usage of GuidString,
see comment there. DiagramNodes do save their
GuidString in the name attribute of XShape. That
ID can change at every usage, thus when extracting
it *cannot* be compared to something saved/checked
in in a given state.
Change-Id: I112425d1efde58cfde8792cf2ee8c0c688d517e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199502
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
Tested-by: Jenkins
Move the class out of weld.hxx into its own header and source
file, in order to make it easier to keep an overview and to avoid
having to recompile ~all UI code when the class is
modified.
Change-Id: Ic47dac553fc065c5c9cddbf31e33012314dbe43d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199073
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Add UnoApiTest::disposeAndLoadFromURL for tests where
we need to close the current document and open a new one
Change-Id: Ia9419d0743f4a1c22d8c4d8b91bc168cd43533d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198966
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Move the class out of weld.hxx into its own header, in
order to make it easier to keep an overview and to avoid
having to recompile ~all UI code when the class is
modified.
Change-Id: I56cea12845bc906a8b7aff13abe033e9723b85c1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198614
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
it allows to simplify the code a bit since the
TestFilter is passed as the first parameter.
In preparation for a follow-up commit
Change-Id: I316c88e1583dc7d9b04876883b971bdfa54e8967
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198588
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Running "java -jar odfvalidator-0.9.0-jar-with-dependencies.jar test.odt"
it fails with
ene 30, 2026 1:09:49 P. M. org.odftoolkit.odfdom.pkg.ZipHelper entriesToMap
INFORMACIÓN: ZIP ENTRY not found
/home/xisco/Descargas/test.odt: Fatal: ZIP entry 'mimetype': only DEFLATED entries can have EXT descriptor
/home/xisco/Descargas/test.odt: Fatal: The document is encrypted. Validation of encrypted documents is not supported.
/home/xisco/Descargas/test.odt/META-INF/manifest.xml[2,194]: Error: unexpected attribute "manifest:version"
/home/xisco/Descargas/test.odt/META-INF/manifest.xml[6,136]: Error: tag name "manifest:start-key-generation" is not allowed. Possible tag names are: <key-derivation>
Change-Id: I185e9cd5227a07cd7fd07379c8925b9a8296d0a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198426
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
Running "java -jar odfvalidator-0.9.0-jar-with-dependencies.jar test.odt"
it fails with
org.odftoolkit.odfdom.pkg.OdfValidationException; The ODF package 'file:///home/xisco/Descargas/test.fodt' shall be a ZIP file!
at org.odftoolkit.odfdom.pkg.OdfPackage.readZip(OdfPackage.java:542)
at org.odftoolkit.odfdom.pkg.OdfPackage.initializeZip(OdfPackage.java:519)
at org.odftoolkit.odfdom.pkg.OdfPackage.<init>(OdfPackage.java:293)
at org.odftoolkit.odfdom.pkg.OdfPackage.loadPackage(OdfPackage.java:456)
at org.odftoolkit.odfvalidator.ODFFileValidator.getPackage(ODFFileValidator.java:58)
at org.odftoolkit.odfvalidator.ODFRootPackageValidator.getPackage(ODFRootPackageValidator.java:59)
at org.odftoolkit.odfvalidator.ODFPackageValidator._validate(ODFPackageValidator.java:101)
at org.odftoolkit.odfvalidator.ODFPackageValidator.validate(ODFPackageValidator.java:86)
at org.odftoolkit.odfvalidator.ODFValidator.validateFile(ODFValidator.java:180)
at org.odftoolkit.odfvalidator.ODFValidator.validate(ODFValidator.java:129)
at org.odftoolkit.odfvalidator.Main.main(Main.java:230)
Change-Id: I0df2dcaa195ca4b145e870b276eef6962db7dad6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198410
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
Found after running bin/find-unneeded-includes --headersfwd include/vcl/[q-w]*
This shaves off about 100M input
Change-Id: Ib4d0af44b383d34d856a9797fe70a974b359402f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196398
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
ever since
commit e4978f9079cda7abb7bb424503d780566c728adf
Author: Karthik Godha <karthik.godha@collabora.com>
Date: Mon Nov 24 19:16:51 2025 +0530
Update OOXML schema to follow ECMA-376 5th edition
which was part of officeotron 0.8.1
Change-Id: I0b9f8ff0d513ced06cda9f4257454ee756b28322
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197175
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins
Found after running bin/find-unneeded-includes --headersfwd include/vcl/[d-g]*
This shaves off about 150M input
Change-Id: I2b15257451d4b392dca3e5d07f4a443ee653b04c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196395
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
Found after running bin/find-unneeded-includes --headersfwd include/vcl/[A-Z]*
This shaves off about 100M input, not bad for such a small amount
of files checked
This time --headersfwd skips files that contain #if defs,
in hope of not breaking builds that are not checked by CI
(...except for include/vcl/BitmapTools.hxx - this was cleaned accidentally,
due to a bug in the bin/find-unneeded-includes script that is fixed
by the previous commit 930ff2b830
- but let's keep this anyway, it seems fine)
Change-Id: Ia8e49d94f6adb3cdbedbc40ffa56dbf846c9b6e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196235
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
Tested-by: Jenkins
This is in preparation of moving code out of weld.hxx
to separate headers/source files, in order to make it
easier to keep an overview and to avoid having to
recompile ~all UI code when anything changes.
Also move weldutils.cxx to a new vcl/source/weld
directory.
Change-Id: Ia75b42f21e560dd248307282a522f186a64cd742
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195777
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
utl::MediaDescriptor was just a SequenceAsHashMap with a few added
methods. It made it more difficult to assign a SequenceAsHashMap to
MediaDescriptor, without real upsides. In many places, the class was
used not as media descriptor, but just as helper to create sequences.
This change puts the string constants and the former methods into a
namespace utl::MediaDescriptor.
It would be also good to drop comphelper::NamedValueCollection, which
is basically a twin of comphelper::SequenceAsHashMap (TODO).
Change-Id: Ia9b69c5a2ad153ecc654944c419c1880252ed86e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195163
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
This fixes a longstanding bug that has gone unnoticed
since nobody saves to the "Office Open XML" filters
and the problem is only seen in MS Office.
So what does this patch fix?
Basically, all of the meta-data was not being read by MS Office,
which primarily means no create/modify dates, subject, title etc.
Every time we saved to OOXML formats (except OOXML 2007),
we caused MS Office to be incapable
of understanding anything in docProps/core.xml.
Telltale sign: when MS Office round-trips
with an added docProps/core0.xml.
The spec says that ISO 29500 formats should be using
officedocuments/2006/relationships/metadata/core-properties
and thus our untouched 2010-era coding
specified all of that for export (and more recently for import).
> 2.1.33 Part 1 Section 15.2.11.1, Core File Properties Part
> The standard specifies a source relationship
> for the Core File Properties part as follows:
> .../officedocument/.../core-properties.
> HOWEVER: Office uses the following source relationship
> for the Core File Properties part:
> .../package/.../core-properties.
Thus reality is much different than the spec,
so throw the spec out the window and always write
package/2006/relationships/metadata/core-properties
Bug 165207 doesn't affect LO in any way - it only affect MSOffice.
If there was already a unit test writing out to _rels/.rels
I would have added a test for this, but since there isn't
I won't bother since I don't see any value in doing so.
Change-Id: I582448adb568ecb630f2fd64712ce372875f71df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195014
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>