Some scripts in which it was used have been removed
(commit e1082e45361a92a31adedcc3ed0a35c704bca543) and
the more reliable 'fakeroot' is now in use at all
other places where libgetuid.so was previously used
(s. tdf#115554).
Change-Id: I638e96e5c8d671e3b145b79f33de718fe34ea514
Reviewed-on: https://gerrit.libreoffice.org/49837
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
...originally introduce with 999c68f12f1d95b16a97294949a0e6ba6d3ba259 "genLang
project (awareness)", but apparently never took off.
Change-Id: I6f61271a75d96750dea63de596b7745c2f589b83
Reviewed-on: https://gerrit.libreoffice.org/49389
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
This patch allows us to use our own bundled TWAINDSM.dll (from
twain-dsm project, http://www.twain.org, https://github.com/twain/twain-dsm)
on 64-bit Windows systems that don't have their own TWAIN DLL,
and without requiring users to install it from some other source.
The DLL is put into INSTALLOCATION/program along soffice.bin.
Of course, TWAIN sources still need to be 64-bit themselves (i.e.,
true 64-bit TWAIN drivers required) to be usable by 64-bit program.
Also this drops external/twain/inc/twain/twain.h, which is an old
version copied from twain-dsm, and instead uses the tarball to get
the header (required by Library_scn on both 32- and 64-bit Windows).
Change-Id: I191027f3221ce46db17f50db91c9cb9315900810
Reviewed-on: https://gerrit.libreoffice.org/46992
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Jenkins <ci@libreoffice.org>
It can be enabled by initializing the DBACCESS_HSQL_MIGRATION variable.
Create new library "dbahsql" which is responsible for migrating the
embedded hsql database to any database covered by sdbc.
The hsqldb schema is stored in a file named "script" in form of SQL
statements. The SQL statements used by DBMS's differ mostly by the
defined types. Because of that, only the create statements need to be
parsed, alter statements will work (with a little luck) without actually
modifying it.
User / security settings which can occur in the script file (e.g. GRANT
statements) are dropped. Statements starting with SET are also dropped
(they are hsql specific stuff)
Change-Id: I6a22942e8a9a76765f80e50f0ad68f4d72e1ff9d
Reviewed-on: https://gerrit.libreoffice.org/48260
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Tamás Bunth <btomi96@gmail.com>
This is a hybrid plugin which mostly wraps the GTK3 vclplug. Only
the file and folder picker are replaced by KDE dialogs. This gives
us a well-maintained GTK LO base with basic KDE integration with
minimum effort.
To prevent issues with nested event loops, the KDE dialogs are
launched from a separate process, the new lo_kde5filepicker helper
executable. A trivial stdin/stdout IPC mechanism transfers the data
between LO and the Qt/KDE helper. The usage of an external process
also allows us to copy'n'paste between LO and the KDE file dialog
without freezing the UI, as would happen when one would do this
in-process. This is in general also the architecture applied by the
kmozillahelper, which is used to integrate KDE file dialogs into
Firefox.
While the KDE dialog is shown, the GTK3 main window is disabled and
close requests are ignored. The KDE dialog in turn also sets the LO
window as transient parent. Together, this makes the illusion perfect
and the KDE dialog behaves like a modal dialog. This works properly
also with multiple LO main windows, and only individual windows will
get blocked as one would expect.
Functionality wise, most of the features of the KDE4 dialog are
supported. You can pick files and folders, and save files under a new
name. Some custom checkbox widgets are supported, but lists, buttons
and preview widgets are not yet implemented. Also, loading remote
files via KIO is not possible yet.
Change-Id: I1a97cf7c272307a19ace4222d5f12253bc722829
Reviewed-on: https://gerrit.libreoffice.org/47718
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
This is mostly a copy of the KDE4 backend ported to Qt5/KF5.
One difference is that this code will initialize the QApplication
on-demand, when it's not yet available. This will allow us to use
this desktop backend also within a vclplug that does not use Qt
itself, such as the upcoming Gtk3/KDE5 hybrid.
Change-Id: I5cf96ac5729608c82a58eead6723a38f014ba875
Reviewed-on: https://gerrit.libreoffice.org/47716
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Pass --enable-kde5 to autogen.sh to enable this feature. Then
add kde5 to the list of externals to link against KF5. I will
introduce other code that depends on KF5 though which will
leverage this feature.
Change-Id: I17e434a53ac769000b0f805b1f41cdc5c2c84ee2
Reviewed-on: https://gerrit.libreoffice.org/47715
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
* Arguments for max number of parts and tiles to render (optional).
+ Automatic estimation of maximum tiles to render based on max parts
for Writer docs, since there is only 1 part, this caps the number
of pages to render, similar to other doc types.
* Fixed rendering of Writer documents over and over (as many times as pages).
+ Writer has a single part, unlike other doc types.
+ No point in rendering the whole document in writer to a single tile,
since that's completely unrealistic and impractical (it takes
forever for large docs and artificially spikes the memory).
* Rendering starts at the current part and not the first.
+ This gives the spreadsheet of interest priority (if saved as visible).
* The tile size is now more realistic as we use the same dimensions
as the Online client does.
* When rendering tiles at scale, we use the same dimensions as the
Online client rather than splitting the width by 4, for realism.
* Rendering of tiles is done rows-first, rather than columns-first,
which is similar to what the Online client does, which is more
cache friendly, therefore more realistic.
* Enabled compiling of tilebench when GTK3 is disabled, which
was erroneous, since tilebench doesn't have any dependency on GTK.
+ Now it's possible to compile with local Cairo/Pixman libs.
Reviewed-on: https://gerrit.libreoffice.org/44936
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
(cherry picked from commit 7db98521548de9eab955ee25a5aacaaef42df323)
Change-Id: I6ad2e97f39572778dd7d0c12d14550841c1d6963
Reviewed-on: https://gerrit.libreoffice.org/46984
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
... in InstallUISequense.
Use --with-vcredist-dir to point to a directory with vc_redist.x64.exe
and/or vc_redist.x86.exe. Use --without-vcredist-dir (or
--with-vcredist-dir=no) if you don't want to ship it as part of
installer and want to silence the configure warning.
VCRedist 2015 version 14.0.24215.1 is available at
https://www.microsoft.com/en-us/download/details.aspx?id=53840
Since VisualStudio 2015, VC redist merge module that we used before
started to work differently: it installs the UCRT only on WinXP,
but not on later OSes (Vista to 8.1) which may lack the UCRT (Win10
has it out of the box). The merge module only installs VCRuntime on
those systems, which still leaves us with "api-ms-*.dll is missing"
problem.
(https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/
gives more information on VCRedist refactoring background.)
Since commit 71d9a61302e65fe091cf70c13fa72b3df09b7e3a, we use a
workaround described at the page mentioned above as "App-local
deployment of the Universal CRT". We just copy all UCRT DLLs to
LibreOffice/program. This has a drawback though, that our UCRT
is not updated by Windows Update, so users would rely on LibreOffice
updates in case of some vulnerabilities in UCRT (and they could
even not realize they have that problem).
MS recommends to install UCRT using EXEs they provide from their
site. The EXEs install both VCRuntimes and UCRTs, along with
required patches, for all Windows versions (Windows XP through
Windows 10, where they only install VCRuntimes); the installed
libraries are managed by system's update mechanism. But those EXEs
cannot be used in MSI custom actions inside InstallExecuteSequence,
because they use MSI themselves.
So this patch integrates the vc_redist.xXX.exe into MSI binary
table, and uses custom action to run the EXE after ExecuteAction
in InstallUISequence. This will show the user a VCRedist install
window after the main LibreOffice installation finishes; no user
interaction is required (except for one additional UAC request),
and errors are ignored.
Since this installation takes care of both VCRuntime and UCRT,
we can ultimately drop both the app-local workaround, and
vcredist merge module (so VCRuntime would also be updated by
system). The former is done here: this reverts commit
71d9a61302e65fe091cf70c13fa72b3df09b7e3a.
This approach has its drawback: if one wants to use unattended
installation (without UI; one example is deployment using
ActiveDirectory GPO), then InstallUISequence is not run, and so
VCRedist isn't installed. In this case, one should install
VCRedist separately. Supposedly this should not be huge problem,
because this is the case for many existing applications that need
separate VCRedist deployment in these scenarios, and unattended
installation is advanced stuff that requires prepared user. A
notice would be required in release notes and FAQ, though.
Change-Id: Ia6a16be60af8a08f41ea7c3dbd457d8f89006006
Reviewed-on: https://gerrit.libreoffice.org/46356
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Includes the regular, italic, bold and bold italic for
* Noto Sans, Noto Serif
Includes the regular and bold for
* Noto Kufi Arabic, Noto Naskh Arabic
* Noto Sans Armenian, Noto Serif Armenian
* Noto Sans Georgian, Noto Serif Georgian
* Noto Sans Hebrew, Noto Serif Hebrew
* Noto Sans Lao, Noto Serif Lao
Includes the regular and bold for
* Noto Mono
* Noto Sans Lisu
Change-Id: I2a423b7cac031e2e899df22ad902bd09d1da250d
Reviewed-on: https://gerrit.libreoffice.org/44128
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Yousuf Philips <philipz85@hotmail.com>
Move out of unx, as this will eventually compile on other
OS platforms. At least currently it doesn't contain platform
dependant code.
Change-Id: Iea0bebf574201881ea158381fe7ba8af2a9a6488
Something that compiles, basically just interface stubs.
All used Svp classes don't use any cairo.
Change-Id: I9a8858c930989438cc2a3f3346c01a7abc579d62
the universal crts redistributables are available as part of the Windows
10 SDK. Point to the dir (or a copy of the dir) using --with-ucrt-dir
Use --without-ucrt-dir (or --with-ucrt-dir=no) if you don't want to ship
them as part of LO and are annoyed by the configure warning.
Change-Id: I5487e3f6e583222fa053b2fc03176f061d57746c
Reviewed-on: https://gerrit.libreoffice.org/44074
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
At least for me on Linux since LO 5.3, 'soffice
sw/qa/extras/rtfexport/data/fdo72031.rtf' shows "Å" (rendered in "DejaVu Sans")
instead of "⊕" (rendered in "Standard Symbols L"). That's presumably because
47ea13ef8dc8ab9aeded6121845e3ebd1d28b292 "Kill the old Unix layout engines"
removed support for Type 1 fonts (see "Ignore Type 1 fonts" in
FontCfgWrapper::addFontSet, vcl/unx/generic/fontmanager/fontconfig.cxx), and my
(Fedora 25) /usr/share/fonts/default/Type1/s050000l.pfb "Standard Symbols L" is
a Type 1 font. So we fell back to fontconfig's generic (weak) suggestion of
"DejaVu Sans" as a substitute for "Symbol".
So extend our fc_local.conf to suggest our "OpenSymbol" as a substitute for
"Symbol".
As that fc_local.conf was originally brought along by --with-fonts, which is
enabled by default but can be disabled, compilation of fc_local.conf from the
various snippets is moved to postprocess.
macOS and Windows were never affected, as they both come with a "Symbol" font
installed in the system. (And we don't install fc_local.conf on Windows at
all.)
Change-Id: I8d6d87f24974577fd66f5f3989f606237ebb3d75
Reviewed-on: https://gerrit.libreoffice.org/42670
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl
* all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string")
* ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching
MODULE .mo files
* UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui
goes from l10n target to normal one, so the res/lang.zips of UI files go away
* translation via Translation::get(hrc-define-key, imbued-std::locale)
* python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there
to keep finding the .hrc file uniform) so magic numbers can go away there
* java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation
mechanism
* en-US res files go away, their strings are now the .hrc keys in the source code
* remaining .res files are replaced by .mo files
* in .res/.ui-lang-zip files, the old scheme missing translations of strings
results in inserting the english original so something can be found, now the
standard fallback of using the english original from the source key is used, so
partial translations shrink dramatically in size
* extract .hrc strings with hrcex which backs onto
xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap
* extract .ui strings with uiex which backs onto
xgettext --add-comments --no-wrap
* qtz for gettext translations is generated at runtime as ascii-ified crc32 of
content + "|" + msgid
* [API CHANGE] remove deprecated binary .res resouce loader related uno apis
com::sun:⭐:resource::OfficeResourceLoader
com::sun:⭐:resource::XResourceBundleLoader
com::sun:⭐:resource::XResourceBundle
when translating strings via uno apis
com.sun.star.resource.StringResourceWithLocation
can continue to be used
Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
Similar to the calc one. As a first step the Driver and the Connection
interfaces are implemented, though the later has some stubs.
Change-Id: Id043f7742fdb2006d4f88526ef4d055a6d8dee82
Reviewed-on: https://gerrit.libreoffice.org/40033
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>