Commit Graph
1122 Commits
Author SHA1 Message Date
Caolán McNamara 6979ea8b9e build soffice launcher regardless of USING_X11
Change-Id: Id705465b3ce55322b157cc5590023671a191d527
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195610
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2025-12-14 21:19:38 +01:00
Caolán McNamara e904a25da2 ENABLE_FONTCONFIG is actually not defined
Change-Id: Iaabcfcab53b7c6ab9b20305d97979d0c978ec598
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194795
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-11-29 01:11:01 +01:00
Jan Holesovsky aad732825e Make it possible to build cairo even on macOS
Change-Id: Iea337f2fdd0f90e2b0612cd2cda9c1ea1f4739a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194792
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-11-28 20:56:17 +01:00
Noel Grandin 1bd04a5413 [API CHANGE] remove XPivotTableDataProvider
in favor of a regular C++ interface class, since this is purely used internally to LO

Change-Id: I84991efb1b0c8829e2175dc083b0f8627fcb1712
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194512
Code-Style: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-11-26 10:06:23 +01:00
Gabor Kelemen 4b1ef239c4 Revert "Unbreak build on sdext translations"
This reverts commit e72efd1527.

Reason for revert: translations repo update added the missing sdext.po 
files in commit 510e00c2a2d916e56a05a6d09ba28633ec9f23f1

Change-Id: Ib409fbb9f2d9e36940d5d77aab6a7c48f422438d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194291
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2025-11-23 20:01:05 +01:00
Gabor Kelemen e72efd1527 Unbreak build on sdext translations
Change-Id: I1280b736c14b4d26048462212b713340608d783d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193771
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2025-11-11 06:24:26 +01:00
Gabor Kelemen f86a784f8f tdf#61950 Move Presentation Minimizer UI strings out of officecfg
Change-Id: I8a9bba8cdde89a87340ed9dd46dbac53b6806e9d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193654
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2025-11-10 15:32:38 +01:00
Caolán McNamara ab0cec1146 add oss-fuzz pdf2fodg fuzzer
Change-Id: I5cb7653339c6280ee7b8f208ce92a771cb1dcc17
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192134
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-10-10 13:32:14 +02:00
Mohamed Ali 3d75577640 Rust Bindings: Add extension-based UNO integration with FFI architecture
Implements LibreOffice extension providing Rust language binding for UNO API
using opaque pointer FFI architecture with type-safe handles.

Extension Features:
- User-controlled execution via "Rust UNO → Example" menu
- Optional installation/removal through LibreOffice extension system
- Complete Writer document manipulation example

Technical Implementation:
- Generated Rust wrappers for all UNO types via rustmaker
- C++ extern "C" bridges with proper UNO integration
- Type-safe opaque handles (XTextDocumentHandle, etc.)
- Extension architecture following LibreOffice standards
- Menu integration via Addons.xcu and ProtocolHandler.xcu

Architecture:
- Rust RAII Wrappers ↔ C++ extern "C" Bridges ↔ LibreOffice UNO
- Extension packaging with rust_uno-example.oxt
- Integrated build system with CustomTarget and Library makefiles

Build Commands:
./configure --enable-rust-uno

Extension Structure:
- rust_uno/example/ - Extension source files
- workdir/Extension/rust_uno-example.oxt - Packaged extension
- Automatic installation during LibreOffice build

Runtime Validation:
Successfully demonstrates complete UNO integration:
- Desktop service creation and XComponentLoader interface
- Writer document loading via loadComponentFromURL
- Text manipulation through XTextDocument and XSimpleText
- Proper interface querying and method invocation

GSoC 2025: Rust UNO Language Binding

Change-Id: I5cecb8ebd05aab396f444488c0ee2a9d483a9f62
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186425
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
2025-09-11 21:39:08 +02:00
Mohamed Ali d9f05dc007 Rust Bindings: Add rustmaker (Rust codemaker)
The rustmaker provides comprehensive support for converting UNO type definitions into idiomatic Rust code with proper memory safety and type system integration.

Also adds the RustFile, RustOptions, and RustProducer classes to handle
Rust code generation, file management, and command line option parsing
for various UNO type kinds such as enums, structs, and interfaces.

Change-Id: Iaf87af13352c55e81c1745ef7a8f591c3e61e0a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188088
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Tested-by: Jenkins
2025-09-11 21:38:59 +02:00
Manish Bera 2bdf17ee6e Add initial scaffolding for pythonmaker
This commit introduces the 'pythonmaker' executable, a new tool in the
codemaker module.

pythonmaker generates Python type stub files (.pyi) from UNO IDL type
libraries (.rdb files). This enables static type checking and modern
IDE features like auto-completion for developers writing Python scripts for LibreOffice.

This commit includes the complete, feature-complete tool capable of handling all major IDL entity types (enums, constants, typedefs,
structs, exceptions, interfaces, services, and singletons).

Change-Id: I52f783aa982e1de04a207a9a884aee207f99d193
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185498
Tested-by: Jenkins
Tested-by: Hossein   <hossein@libreoffice.org>
Reviewed-by: Hossein   <hossein@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2025-08-28 15:21:01 +02:00
Stephan Bergmann a8c080bb3e Add --enable-embindtest-uno
...to enable "the UNO parts (types and servie implementation) of the embindtest
framework (which can also be used independently of the Emscripten build)."  And
which e.g. both last year's Lua GSoC project and this year's Rust GSoC project
(<https://gerrit.libreoffice.org/c/core/+/186425> "Add core UNO types for Rust
language binding") enabled locally in their respective dev builds.

Change-Id: I8cf917fbcdaf73e244bd84689a1f29f3aa95f923
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189363
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
2025-08-11 18:02:08 +02:00
Michael Weghorn a804198424 reportdesign: Merge Library_rptxml into Library_rpt
This will allow creating instances of the C++ classes
involved in XML export directly from rpt instead
of going via the UNO service constructors/abstraction
to do so (currently in OReportDefinition::WriteThroughComponent).

Writer also doesn't split the core model and XML export logic
in into separate libraries (see sw/Library_sw.mk).

rpt pch was updated using this command:

    ./bin/update_pch reportdesign rpt --cutoff=9 --exclude:system --include:module --include:local

Change-Id: I40a0fbe4bb3ef679b2255f891e8a6b67d442fd5b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187910
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2025-07-16 07:47:24 +02:00
Noel Grandin 51d0a6ec74 remove remnants of gendict
the bulk of it was removed in
    commit 14c6cde779
    Author: Jonathan Clark <jonathan@libreoffice.org>
    Date:   Mon Apr 15 17:10:51 2024 -0600
    tdf#49885 Updated CJK BreakIterator to use ICU

Change-Id: I576b992c41c915c091548467b1eab8ac761f7097
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187908
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-07-15 15:29:21 +02:00
Xisco Fauli 22d1fb90b2 tdf#135580: remove Euro converter wizard
It was removed from the menu in
commit d6774abbd3
Author: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Date:   Thu Dec 17 19:27:09 2020 +0100

    tdf#135580 remove Euro Conversion wizard from menu

and in the ESC meeting from 2020-Dec-17, it was agreed
to drop the code for 7.2 but it never happened.
https://lists.freedesktop.org/archives/libreoffice/2020-December/086488.html

Change-Id: Id49fe6e056767e3a19525a26195c545763f4492d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187074
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2025-06-27 15:33:30 +02:00
Caolán McNamara 61eb2261e1 add an eot fuzzer
Change-Id: I419c3717f168e3bfbdbee2ac4b6b2f1eb2540bd0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185887
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-05-27 21:28:47 +02:00
Christian Lohmaier 9e348f9c5b no longer add the 64bit windows explorer extensions to the 32bit build
those were from a time where there was 64bit Windows, but no 64bit
builds of LibreOffice/OpenOffice.org - now the only usecase for 32bit
LibreOffice is to use it on 32bit-only machines…

Change-Id: Icf1eacafd9e157788e8ec5a035716327492f5c2c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185565
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2025-05-24 23:40:41 +02:00
Christian Lohmaier 396c9dd4a4 don't add 64bit activex component to 32bit builds anymore
makefile stuff anymore, there's still code that can be removed from the
actual code (partly reverting 8f6b5370be
that added support for using 64bit Internet Explorer with 32bit Office

Change-Id: Id0c59e2ef2f4c87a04f18ea54ed04f4337ea6c73
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185564
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Jenkins
2025-05-24 23:40:34 +02:00
Noel Grandin e09f212f91 merge chartcore and chartcontroller libraries
there is no good reason to keep these separate

Change-Id: Ib484dbd5d331b0d1a117f5fc2e331123c4e70d82
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183478
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-03-29 18:53:26 +01:00
Miklos Vajna b320ade8f9 sd: move SdTiledRenderingTest to a new Library_sdqahelper
Towards not including .cxx files in Impress tests.

Change-Id: I8b50bd79ff36856f878529205d98d4b3299855de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182805
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2025-03-12 15:44:32 +01:00
Noel Grandin 5357da349b Revert "remove canvas/cairo and canvas/gdi and canvas/directx backends"
So the vclcanvas backend is in worse shape than I thought. It will
take too long to get it into shape to be sure of making the next
release, so revert this for now, and I will have to find another
approach.

This reverts the following commits

commit fbefe07e4c
Author: Michael Weghorn <m.weghorn@posteo.de>
Date:   Thu Feb 20 09:42:14 2025 +0100

    qt: Remove now unused vcl/inc/qt6/QtSvpSurface.hxx

commit 595354ab7e
Author: Julien Nabet <serval2412@yahoo.fr>
Date:   Wed Feb 19 21:13:49 2025 +0100

    Remove also canvas/cairo in gtk4, qt6 and gtk3_kde5

commit d539f6e99e
Author: Noel Grandin <noelgrandin@gmail.com>
Date:   Wed Feb 19 18:15:30 2025 +0200

    fix "local variable is unused" warning

commit 704f61b1bd
Author: Noel Grandin <noelgrandin@collabora.co.uk>
Date:   Wed Jan 29 15:35:21 2025 +0200

    remove canvas/cairo and canvas/gdi and canvas/directx backends

Change-Id: I0492dabf7da8c42a15720c868f161919e8dc7ae4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181984
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-02-21 10:40:31 +01:00
Noel Grandin 704f61b1bd remove canvas/cairo and canvas/gdi and canvas/directx backends
These were originally created to better support alpha/transparency
in slideshows, but vcl can do that these days.

Mostly, removing these makes the path to better backends (e.g. GDI+)
in vcl considerably easier.

If regressions are detected, it would be better to improve vcl
to perform better, or render better, since that will both fix
the regression and improve other output from LibreOffice.

Also remove various bits of vcl backend that were only being
used by the canvas stuff.

Change-Id: Ic5276d57e696f3dcbeaed2cc149b8fc09c5816f6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181843
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-02-19 17:04:28 +01:00
Andras Timar a76a0ca930 Remove obsolete Numbertext 0.9.5 extension
There is no point to bundle it, because
1) it is an old version
2) since LibreOffice 7.5 there are built-in number formats in
   Calc with the same functionality (using libnumbertext FWIW)

Change-Id: I8cfb24f7e6f045bd51fea620aca6a61269dba77a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180996
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2025-02-01 16:47:45 +01:00
Tomaž Vajngerl a8e0de1b5d doctheme: add LibreOffice theme file to LO share folder
Change-Id: Ifa38b69739d82d1f2efdfca58a2e0d6f9ff69008
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180416
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2025-01-20 01:40:41 +01:00
Patrick Luby 3eb7cdd6ec tdf#35361 Add a Quick Look plugins for .od* files on macOS
Implement simple Quick Look plugins that generate a preview and/or
thumbnail image using Apple's latest Quick Look APIs. The approach
is to load and render any thumbnail images that may have been
embedded in .od* files when they were last saved.

Fortunately, LibreOffice, OpenOffice, and NeoOffice have been
saving thumbnail images by default in .od* files since at least
the mid-2000s so this approach should work with most unencrypted
.od* files.

Note: the plugins appear to work in unsigned builds using the
following steps to enable them:

1. Install LibreOfficeDev.app from an unsigned .dmg (e.g. nightly
   master builds) but the plugins in instdir/LibreOfficeDev.app
   in a local build are not usable.

2. Launch LibreOfficeDev.app to register the plugins.

3. Launch the System Preferences application, navigate to the
   Login Items & Extensions panel, and in the Extensions section,
   click on the icon next to the Quick Look entry to see a list of
   installed extensions.

4. If macOS has successfully found and loaded the plugins, there
   should be two extensions listed under LibreOfficeDev. If they
   are disabled, enable both.

5. Press Command-Option-Escape, select the Finder in the dialog
   that appears, and press the Relaunch button.

The Finder should now display the thumbnail images in .od* files.

Change-Id: I094afbc56b684cc85b12ed996e060818bfe8ad46
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178393
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2025-01-10 21:19:33 +01:00
Michael Weghorn 9283da8585 a11y: Merge accessibility module into vcl
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>
2024-12-17 22:56:51 +01:00
Caolán McNamara 2388501ed8 Reapply "add an autotext 'common' directory like templates/common"
This reverts commit 331bcad4db now
there is a fix for the problem that triggered the revert.

Change-Id: I4acacd51d5799e80dfa42a0433278e684d82a860
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178577
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2024-12-16 14:33:15 +01:00
Stephan Bergmann 10a5c3162a Include the org.libreoffice.embindtest infrastructure in all Emscripten builds
...not just --enable-dbgutil ones, which gives more flexibility in using that
infrastructure downstream.  (The unotest/source/embindtest/embindtest.js code is
still only included in desktop/Executable_soffice_bin.mk for --enable-dbgutil
builds, though.)

Building unotest/source/embindtest/embindtest.cxx also outside of
--enable-dbgutil, and thus implicitly --enable-assert-always-abort, builds
required moving from assert() to some hand-crafted verify().

Change-Id: I3f0fa00feee25b4ea6e7866c22a5b4a4d40cb3d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178361
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-12-12 16:02:22 +01:00
Mike Kaganski ec0a49ecc7 Windows 7-8.1 support was removed, prevent install on these old systems
There is no simple "Windows is 10 or newer" check in MSI, with the
Microsoft policy of "you don't need to know real Windows version".
See also https://developercommunity.visualstudio.com/t/detect-a-windows-version-from-msi/412198

The values that MSI sees (e.g. on my Win11) are:

Property(C): VersionNT = 603
Property(C): VersionNT64 = 603
Property(C): WindowsBuild = 9600

So those can't be used for the check. I use the WINMAJORVER that is
read from registry (Software\Microsoft\Windows NT\CurrentVersion).

There is no more need to check and install UCRT; it was dropped.

Change-Id: Ic02d6aeb965e9684bafd4357f969980f77000e73
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178049
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-12-07 20:06:46 +01:00
Caolán McNamara 55baaa526c for --without-templates still generate the template/common/presnt dir
but leave it empty

Change-Id: Ie7f95f6d01c669598305e24472c357c1b92ad1f5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177353
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Rashesh Padia <rashesh.padia@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit e393a739fa890aeb77f189b62de4356043211490)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177392
Tested-by: Jenkins
2024-11-27 12:33:43 +01:00
Caolán McNamara 331bcad4db Revert "add an autotext 'common' directory like templates/common"
This reverts commit 3b267b65d2.

reports of test failures at:
https://gerrit.libreoffice.org/c/core/+/176508

Nothing depends on this right now, so I'll have second go at this later.

Change-Id: I95999f05c69fa9b2459128116927616b1f6a9ca5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176743
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-11-18 22:24:27 +01:00
Hossein f1c1a1b809 Add minimal vcl weld example application
The "minweld" is a minimal standalone vcl application that uses the
LibreOffice vcl weld framework to display the "tip of the day" dialog on
the screen. Upon clicking on the "Next Tip", a counter is incremented
and the text label containing its value is displayed/updated in the
center of the dialog box.

One can run the application by invoking:

    ./bin/run minweld

This example uses cui/ui/tipofthedaydialog.ui for the UI, but only uses
a few elements of it.

Change-Id: If304c60ddb262182cf23438ed1f83dba85e66391
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176610
Reviewed-by: Hossein   <hossein@libreoffice.org>
Tested-by: Jenkins
2024-11-15 10:01:45 +01:00
Caolán McNamara 3b267b65d2 add an autotext 'common' directory like templates/common
for language neutral autotexts

Change-Id: Id3202981c28071a8100a6ce730274788c80a2867
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176508
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-11-14 16:22:29 +01:00
Caolán McNamara b1ecafb240 Remove archaic xmerge
Formats like Aportisdoc can be opened via
org.libreoffice.comp.Writer.EBookImportFilter instead.

It doesn't look like there will be any support implemented for Nokia
9210 Communicator PsiWord. No particular burning demand for that
anymore apparently.

Removal of the filters that used xmerge took place at:

commit a5783fe922
CommitDate: Sun Mar 3 19:19:26 2013 +0100

    remove stale javafilters

Change-Id: I0a0087fb2ee015de42c1802b5e9bc6dc42a5efe1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174563
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2024-10-24 16:28:18 +02:00
Caolán McNamara 7198c5e49e add a rtf to pdf fuzzer
Change-Id: Ib805b2e8245903f63096cc21f511ba7ae0a4f488
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173466
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-09-25 22:28:32 +02:00
RMZeroFour c3c7b48fa9 .NET Bindings: Native bridge for .NET
This patch includes all marshalling and proxy handling code on the
.NET side as well as the native side needed for a fully functional
UNO bridge.

It also includes some changes and corrections to net_basetypes and
netmaker needed for the bridge to work properly.

It also includes the FirstUnoContact example in C# as demonstration.

Change-Id: I406932938a4415d24408fb41ddfa7d8eeb5d1f94
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170916
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2024-09-18 08:10:36 +02:00
RMZeroFour 074714fab8 .NET Bindings: Create nuget package for LO SDK
This patch includes:
1. CustomTarget to build and place the LibreOffice.Bindings NuGet
   package in <sdk>/dotnet/
2. net_bridge (.NET library) to declare bootstrap() on the C# side,
   and net_bootstrap (C++ library) to wrap bootstrap() on the native side
3. Changes to LO SDK scripts to find .NET SDK and DOTNET_ROOT on the
   users machine

Change-Id: Ia29ae56a2ad0f808f1563ef6167a3bd7c476642e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170172
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2024-09-18 08:08:31 +02:00
Andras Timar 71f2a39123 Fix Repository.mk after 'add --with-docrepair-fonts option' (tdf#161941)
Change-Id: Ic74620e61db5cb8f0988c9477314544394e80368
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172503
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2024-08-29 11:54:13 +02:00
Caolán McNamara cd8ad433f0 tdf#161941 add --with-docrepair-fonts option
to enabling bundling or not bundling the docrepair fonts of
https://github.com/docrepair-fonts

(which provide replacments for: Agency FB, Baskerville Old Face,
Berlin Sans FB, Cooper Black, Lucida Calligraphy, Lucida Grande,
Lucida Handwriting)

Change-Id: I4ea442fa54d21f213ccbdccba9aea1b9c0675c90
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172337
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-25 21:45:06 +02:00
Stephan Bergmann af6a5ba20f Remove wasm-qt-mandelbrot demo
...that had been added with f90c68316c "WASM: add
Emscripten demo application".  Whatever the original intention, it has probably
served its purpose by now---and now only negatively impacts (re-)build times.

Change-Id: I2bda8d12b91e741c4d0f7d3f02597e0e9505a73a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172087
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-08-20 07:58:01 +02:00
RMZeroFour eca8414763 .NET Bindings: Move built .NET libraries into instdir
This commit adds Package targets for the net_basetypes, net_uretypes
and net_oootypes libraries to install them into instdir/program/dotnet.
Also adds a LIBO_SHARE_DOTNET_FOLDER variable mirroring the
LIBO_SHARE_JAVA_FOLDER variable.

Change-Id: I28cdb2dac799bd72d11c3e550bba1a946db8b49c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170098
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2024-08-03 11:28:46 +02:00
Stephan Bergmann 69fc5c3960 Rename wasmcallgen -> wasmbridgegen
...to acknowledge the tools' more general role since
74829f2a64 "Fully implement the Wasm UNO bridge
cpp2uno direction"

Change-Id: Ie89255579774035f7b726d1d4b029dc536893ca0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170382
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
2024-07-11 21:46:03 +02:00
Andras Timar 958cabd2e9 Bundle fonts of Google's DocRepair Project
See https://fonts.google.com/?query=The+DocRepair+Project
DocRepair project intended to improve compliance with the
ISO/IEC 29500 standard by providing fallback for proprietary
fonts that minimizes text reflow in Office Open XML documents.

Agency FB -> Agdasima
Baskerville Old Face -> Bacasime Antique
Berlin Sans FB -> Belanosima
Cooper Black -> Caprasimo
Lucida Calligraphy -> Lugrasimo
Lucida Grande -> Lunasima
Lucida Handwriting -> Lumanosimo

Change-Id: I82a29bd9eeda88198290134a7906a35b6349a1b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169765
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169828
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
2024-07-05 15:37:11 +02:00
RMZeroFour 4031659233 .NET Bindings: Switch for old windows CLI bindings
This commit adds an --enable-cli/--disable-cli switch to autoconf to
control generation of the old CLI bindings (Windows only). It is
enabled by default, to not be a breaking change to users just yet.
Over time, when the old bindings are deprecated in favor of the new
.NET bindings, it could be set to disabled by default.

Change-Id: Ib60b372459cb0c735275ed17d004d037279357eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168751
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2024-06-22 00:11:16 +02:00
RMZeroFour e597e712b6 .NET Bindings: Add netmaker (.NET codemaker)
This commit adds the netmaker executable to the codemaker/ module, to
generate C# code from UNOIDL specifications.

Also adds some Makefiles in the net_ure/ directory to generate code for
udkapi and offapi, to build the net_uretypes and net_oootypes assemblies.

Change-Id: Ifb61fe6a0f8f594eaa6ff95b025ba57f247b0d4b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168710
Tested-by: Jenkins
Tested-by: Hossein <hossein@libreoffice.org>
Reviewed-by: Hossein <hossein@libreoffice.org>
2024-06-19 09:34:45 +02:00
Heiko Tietze 1bd9747a12 tdf#161209 - Reverts WhatsNew/Welcome dialog
dd889b2903

Change-Id: Idf0594c546e4d9ca263272ed1534b27948e8e930
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167956
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
2024-05-22 21:19:46 +02:00
Michael Weghorn 441d8ed9be tdf#145735 avmedia qt: Use QtMultimedia for Qt 6 media playback
Similar to the way that GTK 4's native facilities for
video playback are used for the gtk4 VCL plugin, initially
added in commit

        commit d0a527ec09
        Author: Caolán McNamara <caolanm@redhat.com>
        Date:   Thu Feb 10 12:55:18 2022 +0000

            first cut at using Gtk4 built in video playback

, implement media playback using QtMultimedia for the
Qt 6 based VCL plugins (qt6/kf6) via a new service
"com.sun.star.comp.avmedia.Manager_Qt".

Video playback with the mechanism used for qt5 no
longer works with qt6, as "qwidget5videosink"
that gets used on Wayland for qt5 wasn't ported
to Qt 6 and is unmaintained, s. the commit message of

        commit 88d57cf241
        Author: Michael Weghorn <m.weghorn@posteo.de>
        Date:   Wed Sep 29 11:09:51 2021 +0200

            qt6: Add a qt6 VCL plugin

for more details. Additionally, this also doesn't work
properly any more on X11/with the xcb Qt QPA platform, see
tdf#145735 comment 7.

Instead of using GStreamer directly, let Qt handle
the low-level stuff by using the QtMultimedia module [1]
instead.

This adds a new dependency on QtMultimedia.
For building, this requires installing the Qt 6 QtMultimedia
development headers (e.g. package `qt6-multimedia-dev`
on current Debian testing).

Except for WASM, the use of QtMultimedia is enabled by
default when building with autogen options `--enable-qt6`
or `--enable-kf6`, but can explicitly be disabled using
`--disable-qt6-multimedia`.

In tests with the qt6 VCL plugin on Debian testing, with a
sample presentation containing an embedded
video, attachment 145517 from tdf#120452, video playback
generally works for both, the xcb and the wayland
Qt QPA platforms:

* Video and audio are played as expected on the external
  screen in presentation mode when using the presenter
  console
* Video and audio playback work in non-presentation
  mode by clicking on the video and using the controls
  in the Impress sidebar (play, pause,...).

However, the following issues were observed with
the current implementation:

* There's an odd frame/margin around the video.
* In non-presentation mode, the placeholder
  shown until the video gets started using the controls
  in the sidebar is just an "audio icon", not a frame
  from the actual video. (This might be related to the
  fact that `QtPlayer::createFrameGrabber` currently
  returns an empty reference.)
* At least on Wayland (issue not observed with
  QT_QPA_PLATFORM=xcb so far), when using the presenter
  console,   video playback in the presenter console (i.e. on the
  non-presentation screen) is unreliable: The video
  sometimes shows, but sometimes doesn't. At least the
  (more important) one on the presentation screen was
  reliably shown in my tests, however.

Tested with git dev versions of qtbase
(as of commit 8d5e7d50d8dbf1ad79bd8ff9f6ef6028eba481c9),
qtwayland (as of commit 6f0ebd916f176f6fbe35af28caeb52b62768ac94)
and qtmultimedia (as of commit
264b7e8d7d5683252102b5e5149685c8b8a70c2d).

[1] https://doc.qt.io/qt-6/qtmultimedia-index.html

Change-Id: I29c3c7ded01c61b49b192fa5c313d8a92c942185
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167869
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-05-21 17:28:04 +02:00
Stephan Bergmann a469aea9c0 Emscripten: Towards a working C++ UNO bridge
...by making the general UNO -> C++ function call case work (modulo handling
exceptions, which I'll look into later).

Wasm call_indirect unfortunately needs to statically know the call target's
signature, so we statically need to know all possible signatures.  So introduce
wasmcallgen helper to scan the existing UNOIDL API upfront and generate the
relevant callvirtualfunction-wrapper.cxx and callvirtualfunction-inst.s code.
(The good thing is that the number of different signatures is somewhat limited,
each parameter can only be one of i32, i64, f32, or f64.  So even if 3rd-party
extensions bring along new UNOIDL interface methods, chances are relatively high
that the signatures needed for them would already be covered by the existing
ones.)

Testing this can nicely be done in unotest/source/embindtest/embindtest.js via
css.script.Invocation (which internally exercises the relevant code).  (Instead
of adding individual org.libreoffice.embindtest.StructLong/String etc., it would
be nicer to introduce some polymorphic StructOne<T>, but the Emind UNO binding
does not support polymorphic structs, so the embindtest.js code would not work.)

Change-Id: If829c9e3772bfd27561f3ad743d38a71d11545b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167308
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Tested-by: Jenkins
2024-05-08 13:01:04 +02:00
Jonathan Clark 14c6cde779 tdf#49885 Updated CJK BreakIterator to use ICU
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>
2024-05-03 12:30:59 +02:00
varshneydevansh 5e8813b22a tdf#97448 Add helper script to generate Addons.xcu
This patch adds a new Python helper script to generate Addons.xcu for
LibreOffice extensions. The script works like a wizard, and asks user
about the needed details. It provides these options for the application
module context:

    1. Writer
    2. Spreadsheet
    3. Presentation
    4. Draw
    5. Formula
    6. Chart
    7. Bibliography

After selection of the module, appropriate Addons.xcu is generated, and
user is asked to choose between 'desktop' or a custom folder to save the
resulting file.

Change-Id: I22a878f0bde19a870674a357d7085ad3c12fc50c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163382
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2024-04-25 10:58:49 +02:00