So far, Application::GetDesktopEnvironment was returning
a string to identify the desktop environment
(or OS, as e.g. "Windows" or "MacOSX" could also
be returned).
Use the existing DesktopType enum class instead of strings
to avoid one potential of errors, move its header from
being vcl-internal to a global vcl header and add a few
enum values for those cases that didn't have any yet.
This should e.g. prevent issues like the one detected
and fixed in previous commit
Change-Id: I9cd5076a3eeca8b8c02a121add8dd1cec18c77a8
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Fri Mar 13 22:39:40 2026 +0100
gtk: Fix desktop environment strings in comparison
"tde" is no longer used and KDE Plasma environments
are identified by "PLASMA5" and "PLASMA6", respectively,
see SalGetDesktopEnvironment.
from happening again in the future.
Change-Id: Ifab1d67f4fa3e9150e4eb3449b3fed54e8e53b98
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201687
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
The "EnableATToolSupport" setting/property that
can be queried from desktop backend implementations
doesn't seem to be used anywhere, so drop it.
There is still MiscSettings::GetEnableATToolSupport,
but that doesn't make use of the above.
Change-Id: I1ce64101d9795356e87e29c598dde25579a73111
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185071
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
The DesktopEnvironmentContext class's only purpose
seems to have been to provide the name of the current
desktop environment (by using Application::GetDesktopEnvironment)
when queried for "system.desktop-environment".
Stop using this and wrapping the original context
in `InitVCL`, but instead call Application::GetDesktopEnvironment
directly in those places that were previously using the property.
The
// Desktop Environment context (to be able to get value of "system.desktop-environment" as soon as possible)
comment in InitVCL removed with this commit doesn't explain
why this "system.desktop-environment" was used in the first place
instead of calling Application::GetDesktopEnvironment directly.
(Since the implementation would call the latter, it
wouldn't be able to provide anything earlier than if calling
the method directly.)
As expected, the value for the desktop environment is the same in
both places with this commit in place as it was previously
("PLASMA6" in a KDE Plasma 6 session).
Change-Id: I37bef5d1acdf4c532265696a9f2c37f4e507b86c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185070
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Sync `fromQStringToOUString` with the `toOUString`
implementation in `vcl/inc/qt5/QtTools.hxx`, which
makes it work with Qt 6 as well.
Without this, building this with a planned upcoming
change that introduces a KF 6 desktop backend would fail
like this:
In file included from /home/user/development/git/libreoffice/shell/source/backends/kf6be/kfaccess.cxx:10:
/home/user/development/git/libreoffice/shell/source/backends/kf6be/../kf5be/kfaccess.cxx:53:60: error: non-constant-expression cannot be narrowed from type 'qsizetype' (aka 'long long') to 'sal_Int32' (aka 'int') in initializer list [-Wc++11-narrowing]
53 | return { reinterpret_cast<char16_t const*>(s.utf16()), s.size() };
| ^~~~~~~~
/home/user/development/git/libreoffice/shell/source/backends/kf6be/../kf5be/kfaccess.cxx:53:60: note: insert an explicit cast to silence this issue
53 | return { reinterpret_cast<char16_t const*>(s.utf16()), s.size() };
| ^~~~~~~~
| static_cast<sal_Int32>( )
Change-Id: Ic2b1ddcaa290379187db69b33e4a700c148650e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168275
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
... and namespace.
This is in preparation of implementing a KF 6
backend that will reuse most of the code.
Change-Id: I0c0f499ff57dd18e7e0bc7dd838acfeffa30d88c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168274
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
* officecfg: deprecate Inet::Settings::ooInetFTPProxyName/Port
* ucbhelper: stop handling these settings
* sfx2: remove SID_INET_FTP_PROXY_NAME and SID_INET_FTP_PROXY_PORT
and usage from SfxApplication::GetOptions()
* shell: remove proxy config code from backends
* stoc: the JavaVM would have its "ftp.proxyHost" properties set based
on officecfg values; remove that
* sysui,vcl: remove protocol from KDE desktop files and file picker
Change-Id: Iba02676cf6e519e2fa60ba925209436d38e75f49
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159500
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
And use an overloaded helper function with a better (?) unified name
to show that the result is not an O(U)String.
Change-Id: I8956338b05d02bf46a6185828130ea8ef145d46b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141203
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
...so that its TOOLS_WARN_EXCEPTION can be used in
comphelper/source/misc/logging.cxx in a follow-up commit. (And while at it,
rename from diangose_ex.h to the more appropriate diagnose_ex.hxx. The
comphelper module is sufficiently low-level for this immediate use case, so use
that at least for now; o3tl might be even more suitable but doesn't have a
Library until now. Also, for the immediate use case it would have sufficed to
only break DbgGetCaughtException, exceptionToString, TOOLS_WARN_EXCEPTION,
TOOLS_WARN_EXCEPTION_IF, and TOOLS_INFO_EXCEPTION out of
include/tools/diagnose_ex.h into an additional new
include/comphelper/diagnose_ex.hxx, but its probably easier overall to just move
the complete include file as is.)
Change-Id: I9f3222d4ccf1a9ac29d7eb9ba1530d53e2affaee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138451
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
...compared to a full-blown O[U]String, for temporary objects holding an
O[U]StringConcat result that can then be used as a std::[u16]string_view.
It's instructive to see how some invocations of operator ==, operator !=, and
O[U]StringBuffer::insert with an O[U]StringConcat argument required implicit
materialization of an O[U]String temporary, and how that expensive operation has
now been made explicit with the explicit O[U]StringConcatenation ctor.
(The additional operator == and operator != overloads are necessary because the
overloads taking two std::[u16]string_view parameters wouldn't even be found
here with ADL. And the OUString-related ones would cause ambiguities in at
least sal/qa/rtl/strings/test_oustring_stringliterals.cxx built with
RTL_STRING_UNITTEST, so have simply been disabled for that special test-code
case.)
Change-Id: Id29799fa8da21a09ff9794cbc7cc9b366e6803b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122890
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
...assuming the way of constructing an OUString from just a QString::utf16
pointer, ignoring QString::size, was not chosen deliberately to cut of the input
string at a potential embedded NUL.
(This change is a prerequisite for making the OUString ctor taking a raw pointer
explicit.)
Change-Id: I3fb3026065f0247c19f0497d28adf422106bd9c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102083
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
used
git grep -lw namespace
| xargs perl -i -p0e 's/(\w+)\s*.\{.\s*namespace\s*(\w+)/\1::\2/smg;'
to do the initial replace, then compiled and fixed.
Change-Id: If69904d75940c851aeffab0e78c4ba02cc968d44
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98526
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Except for MAC/WIN specific parts (i.e. most of it)
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: Ia14fb27c047e0e69f81386212aa25344f1297e05
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95663
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
* OldEntry in fpicker/source/aqua/resourceprovider.mm was apparently unused ever
since it got introduced with 00657aef09
"migrate to boost::gettext"
* impl_throwError is used from multiple TU,
connectivity/source/drivers/macab/MacabStatement.cxx just missed the relevant
#include
Change-Id: Iba131da57aa20085bb1c634ba9a3a59566070abd
Reviewed-on: https://gerrit.libreoffice.org/84653
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Just as the gtk3 plugin isn't named GNOME, rename kde5 to kf5, as
it is based on the KDE frameworks 5 libraries.
This also includes:
* a convenience alias to load the kf5 VCL plugin in case someone
requests the kde5 plugin.
* keep convenience kde5 configure switch, but warn about it
* rename detected desktop from kde5 to plasma5
Change-Id: I6764a05b81a5edbf284484c234fee2649aacf735
Reviewed-on: https://gerrit.libreoffice.org/75313
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Two use-cases here in kde5backend
1) kde or qt vclplug has already started qt event loop => just use this
loop to read KDE settings
2) no qt event loop runs (we're most likely in gtk3_kde5 vclplug) =>
start a new event loop, read the settings and stop it
In case 2) letting qt event loop run means subsequently all UI ops
need to happen in main thread. This is problematic to enforce in
non-qt-based vclplugs
In both cases, cache those settings for future use - the assumption is,
most of them are static during a session anyway.
Change-Id: Ifa203f4cdb9a753db808f945762fb131ee83393c
Reviewed-on: https://gerrit.libreoffice.org/70808
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
this copy'n'pasta blunder looks innocuous but can slow down loading
of JVM (which reads proxy settings among others) in KDE environment
significantly
Change-Id: I98f0fb107a2ee825bcd47731a5a9d15017ba63bc
Reviewed-on: https://gerrit.libreoffice.org/70806
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>