summaryrefslogtreecommitdiff
path: root/vcl/source
AgeCommit message (Collapse)Author
2024-08-30Resolves: tdf#146800 Linked libraries don't show shource path in MacroJim Raykowski
Organizer for VCL plugins that use SalInstanceTreeView Change-Id: Ide1ea8a14e956836573e8a3aacd2b289d76616ba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172560 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Jim Raykowski <raykowj@gmail.com> Tested-by: Jenkins
2024-08-28tdf#127610 subtract width of shortcuts from width available for tab itemsPatrick Luby
Change-Id: Ia520f6b982e52e7154b3b02ba77562a3b212efd1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172301 Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Tested-by: Jenkins
2024-08-28cid#1606906 Overflowed constantCaolán McNamara
Change-Id: I8ac1aabb50c5ef061b8ac359cb9d7ce8fe66c62c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172511 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-28cid#1607037 silence Overflowed constantCaolán McNamara
and cid#1606925 Overflowed constant cid#1606695 Overflowed constant Change-Id: I2162e9b5da1f31ea1dfc603d6e60b96d98f82be1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172509 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-27vcl,filter: replace about 5 hard-coded JPEG PDF export qualitysMichael Stahl
... with a constant; depending on whether FilterData is passed, the effective default is either 80 or 90. Change-Id: Iffaf8baf8f0ae8ea1cc96c299e4c415d91f818f8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172469 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2024-08-26cid#1556160 COPY_INSTEAD_OF_MOVECaolán McNamara
Change-Id: Iefeb8ec1803312b45989147272926266dec6b6d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172430 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-26tdf#162603 vcl: Fix sporadic non-subpixel label cutoffJonathan Clark
Fixes an issue causing occasional truncation of the final column of pixels when rendering text without subpixel positioning. Partially reverts commit 560e5406f3c6e8e6ed0f1c251b6910465266ed8d. tdf#153966 vcl: Fix precision loss laying out right-aligned text Change-Id: I9372e842c8bea59dd8e6d87a8b6887ba7e34897b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172388 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-08-25ofz#69874 make a failed seek for libtiff poison the streamCaolán McNamara
...for the reset of the tiff reads/seeks. Comparing our fuzzer against the libtiff fuzzer, that one uses the libtifxx std::stream integration so std::stream badbit rules apply and after the first failed (seek) operation all subsequent operations fail, so do the same for our tiff importer to align with the libtiff expectations. Change-Id: Ic881389bf78643803de70afeda55112a54b09c1b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172363 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-08-23tdf#159895 sw: fix "Stack empty" error in tagged PDF exportTibor Nagy
Change-Id: I8a2e0d51d1cfe6d4b517f193c73e512600638cf0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172302 Tested-by: Jenkins Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
2024-08-23vcl: WhitespaceToSpace() spurious -Werror=maybe-uninitialized (gcc14)Julien Nabet
Change-Id: Ie683c1f8cc8b88da4ca3b26f4621a16f742f03f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172303 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-08-22tdf#153421 On Windows exclude cropmarkers.svg from scalingRegina Henschel
The file cropmarkers.svg is used to create individual crop markers. That methods expects a certain, fixed size in unit pixel. The number of pixels was wrong on Windows, if display scale is set so large that resulting dpi is larger than 120. The patch excludes this special file from scaling. For testing you need to set display scale to larger than 125% in Windows (125%*96dpi=120dpi). And remove any existing cropmarkers.png in cache/themename_svg/DPI/svx/res/. 'DPI' therein is not your actual dpi but the scaling factor from CountDPIScaleFactor. Change-Id: I6b508e28f2f3782441ad1283cfe85c4bd1588383 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172019 Tested-by: Jenkins Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
2024-08-22tdf#153966 vcl: Fix precision loss laying out right-aligned textJonathan Clark
Previously, characters would appear to 'fidget' while typing right-aligned right-to-left text. This fix contains the following changes: - Removed a floating point truncate during right-align positioning. - Removed unnecessary repeated multiply-add from the main layout loop. Change-Id: I2f070efb6a1387db1595b41023bd0f076064afda Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172230 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-08-21Emscripten: Enable the WebDAV UCPStephan Bergmann
* Which also requires external/curl. But implicitly use --without-gssapi, checking for it in configure.ac would fail with > configure: error: could not find function 'gss_init_sec_context' required for GSSAPI And building ExternalProject_curl needs to see the -pthread from gb_EMSCRIPTEN_CPPFLAGS, otherwise linking Executable_soffice_bin would fail with > wasm-ld: error: --shared-memory is disallowed by libcurl_la-easy.o because it was not compiled with 'atomics' or 'bulk-memory' features. * By default, GetCABundleFile in include/systools/opensslinit.hxx will fail now. (But to make https work, applications could bring along their own such file in the Emscripten FS, in one of the places where GetCABundleFile checks for it.) So, for Emscripten only, make failure of GetCABundleFile non-fatal in InitCurl_easy. * Some code in sw was erroneously hidden behind !ENABLE_WASM_STRIP_EXTRA (off by default for Emscripten), but is needed with HAVE_FEATURE_CURL. * See <https://emscripten.org/docs/porting/networking.html> for how to actually use networking in an Emscripten application. Change-Id: I2bbe9f3fd0e20143e18eb1e8104568b1c7a304de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172167 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-08-21cid#1555812 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1556056 COPY_INSTEAD_OF_MOVE cid#1556907 COPY_INSTEAD_OF_MOVE cid#1556957 COPY_INSTEAD_OF_MOVE cid#1556970 COPY_INSTEAD_OF_MOVE cid#1607095 COPY_INSTEAD_OF_MOVE Change-Id: I51112b3a63b8e9333e3eaaeb55b764e6c449a5ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172117 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-20cid#1557276 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1556657 COPY_INSTEAD_OF_MOVE cid#1556654 COPY_INSTEAD_OF_MOVE cid#1556397 COPY_INSTEAD_OF_MOVE cid#1556339 COPY_INSTEAD_OF_MOVE Change-Id: I20be9764c327ebda9beeb62b54c399998180bfab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172098 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-20Resolves: tdf#148830 ensure SplitWindow has enough space for splitterCaolán McNamara
Change-Id: Ib60b0e8acdffcda5b6835ff7207fffc4123d5c63 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172086 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-19Don't fix already correct dataMike Kaganski
Change-Id: I3e9798507cb9ed04797449e790078e5c2809a1ab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171989 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-08-19CairoSDPR: Text render needs MultiSalLayout supportArmin Le Grand (Collabora)
Change-Id: I418675012392a9707dc515eb1e05a2689ec902aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172039 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-08-19SalLayout::InitFont doesn't do anythingCaolán McNamara
there is a MultiSalLayout::InitFont that overrides it, but only forwards InitFont to the first child sub SalLayout, which itself then doesn't do anything. This is possibly the case since: commit 6c436ba09cb35235ce6f4065cf74c9a6ff14a4bd Date: Thu Dec 1 03:33:30 2016 +0200 Kill old Windows layout engines Change-Id: Ic0d347843257d13ee6d6f695488bd053f5a931fe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172040 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-19cid#1557694 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1557162 COPY_INSTEAD_OF_MOVE cid#1556896 COPY_INSTEAD_OF_MOVE cid#1556893 COPY_INSTEAD_OF_MOVE cid#1556873 COPY_INSTEAD_OF_MOVE cid#1556872 COPY_INSTEAD_OF_MOVE cid#1556789 COPY_INSTEAD_OF_MOVE cid#1556570 COPY_INSTEAD_OF_MOVE cid#1556519 COPY_INSTEAD_OF_MOVE cid#1556516 COPY_INSTEAD_OF_MOVE cid#1556451 COPY_INSTEAD_OF_MOVE cid#1556396 COPY_INSTEAD_OF_MOVE cid#1556237 COPY_INSTEAD_OF_MOVE cid#1556113 COPY_INSTEAD_OF_MOVE cid#1556094 COPY_INSTEAD_OF_MOVE cid#1555991 COPY_INSTEAD_OF_MOVE cid#1555982 COPY_INSTEAD_OF_MOVE cid#1555885 COPY_INSTEAD_OF_MOVE cid#1555702 COPY_INSTEAD_OF_MOVE cid#1555610 COPY_INSTEAD_OF_MOVE cid#1555450 COPY_INSTEAD_OF_MOVE cid#1555327 COPY_INSTEAD_OF_MOVE cid#1555145 COPY_INSTEAD_OF_MOVE Change-Id: I38cc1a38e8cb2c33f33e0fc3afd34a0fb39e5ec1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172028 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-19tdf#150461: deselect all when clicking outside of all list itemsMike Kaganski
Change-Id: I72185ccee716825b5e7b1bb7ae6bddb533604f53 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171988 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-08-18Simplify a bitMike Kaganski
Change-Id: I7b927cd3dade5bc73039541c3ec8c72a9de400b4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172009 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-08-18Emscripten: Clean up SolarMutexStephan Bergmann
...before disappearing through the QApplication::exec() hole, or else the SolarMutex would remain locked forever on the application's main thread. This requires changing SalInstance::ReleaseYieldMutexAll() to SalInstance::ReleaseYieldMutex(bool all). (Further recursive locking of the SolarMutex via SolarMutexGuard instances that would be present on the call stack leading up to the call to QApplication::exec() would be released during the stack unwinding, so just undo the one acquiring done in InitVCL, not all of them.) Change-Id: I9ef57abb7da7f840999700e4eaeeefd2da784645 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171956 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-08-18cid#1557699 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1557435 COPY_INSTEAD_OF_MOVE cid#1557307 COPY_INSTEAD_OF_MOVE cid#1557209 COPY_INSTEAD_OF_MOVE cid#1557192 COPY_INSTEAD_OF_MOVE cid#1557184 COPY_INSTEAD_OF_MOVE cid#1557183 COPY_INSTEAD_OF_MOVE cid#1557171 COPY_INSTEAD_OF_MOVE cid#1557150 COPY_INSTEAD_OF_MOVE cid#1557148 COPY_INSTEAD_OF_MOVE cid#1557123 COPY_INSTEAD_OF_MOVE cid#1557118 COPY_INSTEAD_OF_MOVE cid#1557116 COPY_INSTEAD_OF_MOVE cid#1557103 COPY_INSTEAD_OF_MOVE cid#1557078 COPY_INSTEAD_OF_MOVE cid#1557075 COPY_INSTEAD_OF_MOVE cid#1557071 COPY_INSTEAD_OF_MOVE cid#1557070 COPY_INSTEAD_OF_MOVE cid#1557067 COPY_INSTEAD_OF_MOVE cid#1557049 COPY_INSTEAD_OF_MOVE cid#1557046 COPY_INSTEAD_OF_MOVE cid#1557042 COPY_INSTEAD_OF_MOVE cid#1557036 COPY_INSTEAD_OF_MOVE cid#1557030 COPY_INSTEAD_OF_MOVE cid#1557024 COPY_INSTEAD_OF_MOVE cid#1557012 COPY_INSTEAD_OF_MOVE cid#1557009 COPY_INSTEAD_OF_MOVE cid#1557008 COPY_INSTEAD_OF_MOVE cid#1557004 COPY_INSTEAD_OF_MOVE cid#1556999 COPY_INSTEAD_OF_MOVE cid#1556992 COPY_INSTEAD_OF_MOVE cid#1556987 COPY_INSTEAD_OF_MOVE cid#1556984 COPY_INSTEAD_OF_MOVE cid#1556981 COPY_INSTEAD_OF_MOVE Change-Id: Id2687aa282f4e2d4b8053b73c7aa1a74a9516b16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171974 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-16cid#1557618 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1557535 COPY_INSTEAD_OF_MOVE cid#1557520 COPY_INSTEAD_OF_MOVE cid#1557513 COPY_INSTEAD_OF_MOVE cid#1557503 COPY_INSTEAD_OF_MOVE cid#1557487 COPY_INSTEAD_OF_MOVE cid#1557483 COPY_INSTEAD_OF_MOVE cid#1557479 COPY_INSTEAD_OF_MOVE cid#1557474 COPY_INSTEAD_OF_MOVE cid#1557461 COPY_INSTEAD_OF_MOVE cid#1557446 COPY_INSTEAD_OF_MOVE cid#1557445 COPY_INSTEAD_OF_MOVE cid#1557441 COPY_INSTEAD_OF_MOVE cid#1557435 COPY_INSTEAD_OF_MOVE cid#1557433 COPY_INSTEAD_OF_MOVE cid#1557429 COPY_INSTEAD_OF_MOVE cid#1557375 COPY_INSTEAD_OF_MOVE cid#1557372 COPY_INSTEAD_OF_MOVE cid#1557356 COPY_INSTEAD_OF_MOVE cid#1557350 COPY_INSTEAD_OF_MOVE cid#1557344 COPY_INSTEAD_OF_MOVE cid#1557339 COPY_INSTEAD_OF_MOVE cid#1557332 COPY_INSTEAD_OF_MOVE cid#1557330 COPY_INSTEAD_OF_MOVE cid#1557328 COPY_INSTEAD_OF_MOVE cid#1557323 COPY_INSTEAD_OF_MOVE cid#1557315 COPY_INSTEAD_OF_MOVE cid#1557313 COPY_INSTEAD_OF_MOVE cid#1557304 COPY_INSTEAD_OF_MOVE cid#1557297 COPY_INSTEAD_OF_MOVE cid#1557291 COPY_INSTEAD_OF_MOVE cid#1557290 COPY_INSTEAD_OF_MOVE cid#1557271 COPY_INSTEAD_OF_MOVE cid#1557266 COPY_INSTEAD_OF_MOVE cid#1557262 COPY_INSTEAD_OF_MOVE cid#1557259 COPY_INSTEAD_OF_MOVE cid#1557246 COPY_INSTEAD_OF_MOVE cid#1557242 COPY_INSTEAD_OF_MOVE cid#1557241 COPY_INSTEAD_OF_MOVE cid#1557236 COPY_INSTEAD_OF_MOVE cid#1557228 COPY_INSTEAD_OF_MOVE cid#1557225 COPY_INSTEAD_OF_MOVE cid#1557221 COPY_INSTEAD_OF_MOVE cid#1557217 COPY_INSTEAD_OF_MOVE cid#1557213 COPY_INSTEAD_OF_MOVE cid#1557211 COPY_INSTEAD_OF_MOVE cid#1557209 COPY_INSTEAD_OF_MOVE cid#1557205 COPY_INSTEAD_OF_MOVE cid#1557204 COPY_INSTEAD_OF_MOVE cid#1557193 COPY_INSTEAD_OF_MOVE cid#1556082 COPY_INSTEAD_OF_MOVE Change-Id: I07f195a79a69d4bac0d14317854efc88d6fe94d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171927 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-16cid#1616498 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1616499 COPY_INSTEAD_OF_MOVE Change-Id: I21b089cab036902a7ba5b725a6eae0f1212f2b31 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171923 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-15Update pdfium to 6656Miklos Vajna
Drop external/pdfium/annot.patch.1, it has been upstreamed as <https://pdfium-review.googlesource.com/c/pdfium/+/120750>. Update PDFiumPageObjectImpl::getFontName() to match <https://pdfium-review.googlesource.com/c/pdfium/+/121911> "Rename FPDFFont_GetFontName() to FPDFFont_GetFamilyName()". Extend external/pdfium/build.patch.1 to work around: > C:/cygwin/home/tdf/jenkins/workspace/gerrit_windows/workdir/UnpackedTarball/pdfium/fpdfsdk/fpdf_annot.cpp(1083): fatal error C1001: Internal compiler error. Change-Id: I94ed21265a79d484759f240f3baeb51c92365c78 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171884 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-08-15vcl: add "fillWithData" function to BitmapTools - used in lokTomaž Vajngerl
Change-Id: Ia143a39d2285bbdebf7fcfe709b0c6418d35585c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171589 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-08-14cid#1557708 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1557707 COPY_INSTEAD_OF_MOVE cid#1557706 COPY_INSTEAD_OF_MOVE cid#1557705 COPY_INSTEAD_OF_MOVE cid#1557704 COPY_INSTEAD_OF_MOVE Change-Id: I2346348d9d896e352db3471e8137c0eca8b21507 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171861 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-14dubious to enable/disable help button based on IsContextHelpEnabledCaolán McNamara
in just the SingleTabController, which is a specific subset of all dialogs, the case of a dialog that hosts a page typically seen in a multi-table dialog. Why should such a dialog have no help, while its sibling containing the same page alongside others would have help, or vice-versa. Change-Id: I3f54c0088e30a396e83e990510ebe7f1f3bc7bda Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171848 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-14CairoSDPR: Handle EmphasisMarksArmin Le Grand (Collabora)
Handling EmphasisMarks for direct text rendering was a hard task - the EmphasisMark stuff is deeply buried in vcl (would have needed to move quite some includes from vcl to public) and thus hard to use. It is also quite old (tools Polygon, Rectangle). It was missing in the decomposition of the TextDecoratedPortionPrimitive2D (for good reason), but is needed now. I found a way using a callback lambda function to create the needed geometry in vcl and hand back the needed data to the caller, in this case to the decomposition. Adding it to the decomposition of TextDecoratedPortionPrimitive2D also guarantees that other renderers/usages will do the correct thing and all will look identical. Interestingly EmphasisMarks were never added to Metafiles (see OutputDevice::ImplDrawEmphasisMarks) so they were not 'missing' in Metafile-based exports. But for SDPRs they have to work. I added another encapsulating TextHierarchyPrimitive to encapsulate primitives that do represent EmphasisMarks and added to ignore these in the VclMetafileProcessor2D (as needed). Change-Id: I5b5c1528d86a123df2beb57d8366f05aa71e77cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171826 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-08-13vcl a11y: Report "top-level"'s frame againMichael Weghorn
If a top-level windows has a border window that's a frame as parent, report that again as the a11y parent, which was no longer the case after commit 97d3baf3f92c4ab3e5dbd5a9c585dd1a1ad2b3d5 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Fri Aug 9 15:59:28 2024 +0200 vcl a11y: Don't report parent window for top-levels Other than the "Save document?" case described in the commit message of that commit, where the dialog parent is actually a completely different window (the LO Writer main window), the "top-level" window's frame actually contains the top-level (i.e. they do belong to the same window on the platform level), and the frame does report the top level as an accessible child, so it's consistent to report the parent the other way around, too. This e.g. makes Accerciser's "Inspect under mouse" feature work again on Wayland with Accerciser's "kwin" backend for e.g. the "Format" -> "Paragraph" dialog in Writer, while still working for the "Save Document?" dialog case the above-mentioned commit addressed. It still seems a little odd that the "Paragraph" object in the a11y tree with "dialogue" role still has a parent of the same name with a "frame" role when using the qt6 VCL plugin, as can be seen in Accerciser. (The "dialogue" AT-SPI role is meant to be an actual top-level with no additional parents, and that's the way it actually is for the same dialog when using the gtk3 VCL plugin using native GTK widgets.) That's a different story, however. For now, report the parent again to have a consistent a11y hierarchy. Change-Id: I07cf287aaf3effbcda0bb4982aafb0fa4bf4f22f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171825 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-13tdf#130857 VclBuilder: Move handleAtkObject to base classMichael Weghorn
Change-Id: I0f29b53b58f2d65d3409f6416406ba21c2411b98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171821 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-13tdf#130857 VclBuilder: Move handleItems to base classMichael Weghorn
Let the base class do the parsing for items and return a `ComboBoxTextItem`. It has nothing `vcl::Window` specific. (`vcl::Window` specific part is only when this gets applied in `insertItems`, which could probably be reimplemented differently for other subclasses). Change-Id: Ica2f435b48c69fbdfff450b713d91a6fbe985de6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171820 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-13tdf#130857 VclBuilder: Move size group parsing to base classMichael Weghorn
Move the parsing of size groups from `VclBuilder` to the base class, `BuilderBase` and add a getter, `BuilderBase::getSizeGroups` that currently gets used from `VclBuilder`. Since the parsing is not specific to vcl::Window, make it possible to reuse it from other subclasses. It could e.g. be useful for the WIP QtInstanceBuilder from Omkar's WIP change [1]. [1] https://gerrit.libreoffice.org/c/core/+/161831 Change-Id: I0c44bfda1d5c850679695ab6bd436e4e487df9c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171819 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-08-13tdf#130857 VclBuilder: Move list store handling to base classMichael Weghorn
This has has nothing vcl::Window specific, so make it reusable by other subclasses, like the WIP QtInstanceBuilder from Omkar's WIP change [1]. [1] https://gerrit.libreoffice.org/c/core/+/161831 Change-Id: I8ef00b9534c8f9d6bf756371133401ac06c05168 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171818 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-13tdf#130857 VclBuilder: Move collectProperty to base classMichael Weghorn
With the translation/localization moved to the base class in Change-Id: I2cefddae0a7e2e2dd4487cc9b9796afb215e2616 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Mon Aug 12 12:52:16 2024 +0200 tdf#130857 VclBuilder: Move locale handling to base class , `VclBuilder::collectProperty` can now be moved there for reuse as well. Change-Id: I159aac8b59dd429b3c7d991c0d2546ae6739bcca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171790 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-13tdf#130857 VclBuilder: Reuse existing helper methodMichael Weghorn
Reuse the existing helper method `BuilderBase::finalizeValue` introduced in previous commit Change-Id: I76a41dbe9c830de02cb38b17d3587d49f64d0ff8 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Mon Aug 12 13:24:46 2024 +0200 tdf#130857 VclBuilder: Extract helper to finalize value in `VclBuilder::collectProperty` instead of duplicating the logic there. Change-Id: Id04b27e880647150f8fb9aad321e3d216f92844c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171789 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-13tdf#130857 VclBuilder: Extract helper to finalize valueMichael Weghorn
Extract helper method `BuilderBase::finalizeValue` to "finalize" a value, i.e. translate (if applicable) and apply the string hook (if set) from `VclBuilder::handleItems`. It will be reused in `VclBuilder::collectProperty` in an upcoming commit to reduce duplication. Change-Id: I76a41dbe9c830de02cb38b17d3587d49f64d0ff8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171788 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-13tdf#130857 VclBuilder: Avoid unnecessary work for empty propMichael Weghorn
If `sProperty` is empty, `sValue` and `sFinalValue` are irrelevant, so only assign (and potentially translate) for the case it's non-empty. This also prepares for extracting part of this method to a helper method used by both, `VclBuilder::collectProperty` and `VclBuilder::handleItems`. Change-Id: I5b6acb1fe3c857c578b88b29d0b17e887134f687 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171787 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-08-13tdf#130857 VclBuilder: Move locale handling to base classMichael Weghorn
* Introduce `ParserState` in the `BuilderBase` base class and move the `std::locale m_aResLocale` there from `VclParserState`. * Add a virtual `resetParserState()` method to reset both parser states. * Move `VclBuilder::handleInterfaceDomain` to the base class to let it take care of the handling of the translation domain/locale. * Instead of directly accessing the `m_aResLocale` member of the parser state, introduce a new getter, `getResLocale()`. Moving more of the members from `VclBuilder::m_pVclParserState` to `BuilderBase::m_pParserState` might make sense in future commits in order to reuse code for other implementations (like the WIP QtInstanceBuilder from [1]), so start with a corresponding struct right away instead of a member for just the locale. [1] https://gerrit.libreoffice.org/c/core/+/161831 Change-Id: I2cefddae0a7e2e2dd4487cc9b9796afb215e2616 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171786 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-13tdf#130857 VclBuilder: Rename ParserState -> VclParserStateMichael Weghorn
This is in preparation of reintroducing `ParserState` in the base class, `BuilderBase`, with the plan to move things not specific to `vcl::Window`s there in the longer run, for reuse for subclasses not using `vcl::Window`, like the WIP `QtInstanceBuilder` from Omkar's pending WIP Gerrit change [1]. [1] https://gerrit.libreoffice.org/c/core/+/161831 Change-Id: I54758554b0093d3eefcd6f1f13f3479bdd07a0ae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171785 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-13tdf#130857 VclBuilder: Extract helper for interface domainMichael Weghorn
Extract a helper method `VclBuilder::handleInterfaceDomain` that handles the "domain" attribute for the "interface" node that specifies the translation domain. This is more or less extracted from Omkar's WIP Gerrit change <https://gerrit.libreoffice.org/c/core/+/163103/9>. Co-authored-by: OmkarAcharekar <omkaracharekar12@gmail.com> Change-Id: I30ae1362b4d25ca478d2872cd695006a133d73f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171764 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-08-13tdf#130857 Drop VclBuilder::m_pStringReplaceMichael Weghorn
Just use a local variable and call the `Translate::GetReadStringHook` getter directly in the currently 2 places using it. (Those will be further consolidated to use a helper method in upcoming commits.) Change-Id: I787a4794e6fd727e19bad12d5f61df66f41964c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171763 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-13tdf#130857 VclBuilder: Move m_bLegacy to base classMichael Weghorn
... and introduce a protected getter instead of accessing the member directly. Change-Id: I105cb10b015887ee14bba0c519f03e9ba8b4c3c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171750 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-08-13tdf#130857 VclBuilder: Move 2 static methods to base classMichael Weghorn
They're not `vcl::Window`-specific and might be helpful for other implementations as well. Change-Id: I8c04706ac36f80bc225a9ad89352b3d4a7c6464f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171749 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-08-12cid#1616198 silence Arguments in wrong orderCaolán McNamara
Change-Id: I7be4ef1b27ddceb8ecdbe67c7985ad1e5bf47c2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171759 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-12icon choice ctrl: Drop EVENTID_SHOW_CURSORMichael Weghorn
The code that would have posted an event of that type was dropped in commit 40971354138e14a2aacfa4605ba0c096e000d578 Date: Tue Mar 1 08:30:03 2016 +0200 loplugin:unuseddefaultparam in svtools , so there's no need to keep the handling for an event that's never emitted in place. Change-Id: Iec6bf17e040a44eb1dccabbb1273ae112dedc45a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171746 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-08-11cid#1558088 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1558080 COPY_INSTEAD_OF_MOVE cid#1558077 COPY_INSTEAD_OF_MOVE cid#1558055 COPY_INSTEAD_OF_MOVE cid#1558043 COPY_INSTEAD_OF_MOVE cid#1558039 COPY_INSTEAD_OF_MOVE cid#1558015 COPY_INSTEAD_OF_MOVE cid#1558014 COPY_INSTEAD_OF_MOVE cid#1558009 COPY_INSTEAD_OF_MOVE cid#1558002 COPY_INSTEAD_OF_MOVE cid#1557998 COPY_INSTEAD_OF_MOVE cid#1557996 COPY_INSTEAD_OF_MOVE cid#1557990 COPY_INSTEAD_OF_MOVE cid#1557986 COPY_INSTEAD_OF_MOVE cid#1557980 COPY_INSTEAD_OF_MOVE cid#1557971 COPY_INSTEAD_OF_MOVE cid#1557968 COPY_INSTEAD_OF_MOVE cid#1557967 COPY_INSTEAD_OF_MOVE cid#1557961 COPY_INSTEAD_OF_MOVE cid#1557959 COPY_INSTEAD_OF_MOVE cid#1557958 COPY_INSTEAD_OF_MOVE cid#1557956 COPY_INSTEAD_OF_MOVE cid#1557953 COPY_INSTEAD_OF_MOVE cid#1557949 COPY_INSTEAD_OF_MOVE cid#1557947 COPY_INSTEAD_OF_MOVE cid#1557940 COPY_INSTEAD_OF_MOVE cid#1557931 COPY_INSTEAD_OF_MOVE cid#1557930 COPY_INSTEAD_OF_MOVE cid#1557915 COPY_INSTEAD_OF_MOVE cid#1557913 COPY_INSTEAD_OF_MOVE cid#1557910 COPY_INSTEAD_OF_MOVE cid#1557886 COPY_INSTEAD_OF_MOVE cid#1557884 COPY_INSTEAD_OF_MOVE cid#1557880 COPY_INSTEAD_OF_MOVE cid#1557875 COPY_INSTEAD_OF_MOVE cid#1557871 COPY_INSTEAD_OF_MOVE cid#1557862 COPY_INSTEAD_OF_MOVE cid#1557847 COPY_INSTEAD_OF_MOVE cid#1557845 COPY_INSTEAD_OF_MOVE cid#1557844 COPY_INSTEAD_OF_MOVE cid#1557843 COPY_INSTEAD_OF_MOVE cid#1557838 COPY_INSTEAD_OF_MOVE cid#1557835 COPY_INSTEAD_OF_MOVE cid#1557834 COPY_INSTEAD_OF_MOVE cid#1557828 COPY_INSTEAD_OF_MOVE cid#1557823 COPY_INSTEAD_OF_MOVE cid#1557817 COPY_INSTEAD_OF_MOVE cid#1557813 COPY_INSTEAD_OF_MOVE cid#1557812 COPY_INSTEAD_OF_MOVE Change-Id: I55d4a920daa2d148683419169eb828325fd3c757 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171732 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-11Related: tdf#154959 suitable label printer paper size not auto-selectedCaolán McNamara
a) If the printer is the default, then it doesn't get a paper size auto selected in the paper combobox, even though the preview shows it rendered on a paper size that the printer supports. b) With that fixed, then if the printer is the default one then right paper gets selected automatically, but starting with another and then switching to it gets different results, so throw away the "page cache" on switching pages and get it again. Change-Id: Idd5254eac2668164b02b41a63943f65a222656d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171721 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>