Files
odfstudio/desktop
Miklos Vajna a10d5191b6 cool#10630 lok doc sign: allow setting the pos of the Impress sign line
Open a PDF in LOK mode, insert a signature line, try to drag the
selected signature widget/shape, nothing happens.

Given that the inserted shape has a default position at page center, you
typically want to adjust that default position, but that requires adding
a few exceptions, since PDFs are normally read-only. Desktop Impress
gets around this since commit 5d29618307
(sd signature line: allow move / resize of shape before signing,
2020-06-26), but LOK clients want to rather dispatch an UNO command
(instead of handling this in the mouse event handler), so this requires
additional work.

A first problem is in isCommandAllowed() in desktop/ that explicitly
rejects the UNO command for read-only documents: allow this when a
signature widget is selected.  A second problem is in
SdrEditView::SetGeoAttrToMarked(), check for the signature widget there
as well.

Given that the implementation of .uno:TransformDialog already has a set
of flags to prevent doing anything for read-only documents, it looks
safe to allow the execution of the command itself.  The size of the
widget should be also possible to modify, that's not yet done here.

Change-Id: I92a60717e98ac33f7a1eb9770cd0c7903f60759c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180049
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
2025-01-10 10:25:29 +01:00
..
2024-11-10 10:50:15 +01:00
…
2022-02-14 21:39:35 +01:00

LibreOffice Binary

Code for the LibreOffice main binary (soffice) resides here. The soffice_main function for the soffice binary can be found here.

Stable Interface

Some of the artifacts built here are part of a LibreOffice installation set's stable interface, which (programmatic) clients can depend on. Among them are:

soffice

In the program directory (program/ on Linux and Windows, Contents/MacOS/ on macOS).

unoinfo

In the program directory (program/ on Linux and Windows, Contents/MacOS/ on macOS).

When called with a sole argument of c++, it prints to stdout an absolute pathname denoting the directory where the public URE libraries are found.

When called with a sole argument of java, it prints to stdout a marker character (either an ASCII '0' or '1') followed by a sequence of zero or more absolute pathnames denoting jars or directories that need to be included in a class loader's search locations.

If the marker character is '0' (on Linux and macOS), the pathnames are encoded as bytes, and any two pathnames in the sequence are separated from each other by NUL bytes.

If the marker character is '1' (on Windows), the pathnames are encoded as UTF-16-LE two-byte code units, and any two pathnames in the sequence are separated from each other by two-byte NUL code units.

Other Binaries

oosplash

Splash screen for the LibreOffice soffice binary.

Extensions

The directory test/deployment contains some extensions to be used for testing:

  • test/deployment/crashextension: C++ extension to make LibreOffice crash. Useful for testing Crashreporter.
    • Build with Extension_test-crashextension.
    • Extension can be found in workdir/Extension/test-crashextension.oxt
  • test/deployment/passive: C++, Java and Python extension samples with passive registration.
    • Build with make Extension_test-passive.
    • Extension can be found in workdir/Extension/test-passive.oxt
  • test/deployment/active: C++, Java and Python extension samples with active registration.
    • Build with make Extension_test-active.
    • Extension can be found in workdir/Extension/test-active.oxt