Age | Commit message (Collapse) | Author |
|
For more info and explanation including state of process
information and discussion(s) see task please.
Adding corrections for gerrit build
Cherry-picked 5f61c9fe99ac93087b898adddbb4d4733f1fcd07:
Adaptions made and checked that Caio fat line draw
works as expected. Surprisingly some new files were
created which I removed here again.
Also needs to be cherry-picked is:
9c9f76dd5b6fb115e521ac6568673c7a10879192
which will enable direct dash paint for Cairo.
Not done here due to not sure if I can do two
cherry-picks in one run and it's lust a view lines,
so -compared to this one- should be not difficult.
Change-Id: Ie10fb8093a86459dee80db5ab4355b47e46c1f8c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88130
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88284
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
While we do support multiple views, there is only
one state for popup/floating windows, that also
includes the dialogs open and related windows/data.
This adds support to allow each view to have its own
popups and state, thus allowing multiple users to
interact with the dialogs independently of one
another.
(cherry picked from commit b50c341a53911f1d725947a4d8d3d2f782c94079)
Change-Id: I3786a561ca6ca113ad12425bdb491e5a30bd1a28
Reviewed-on: https://gerrit.libreoffice.org/82440
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
|
|
Used for showing tooltip windows in LO online.
Change-Id: I8b6a7272c75025e717923c839fa8fd9f4cab2903
Reviewed-on: https://gerrit.libreoffice.org/84717
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
|
|
Regression from 3bedbfd9b3cee5a8d2da6ee0486859bd725979ba
Change-Id: I56473a2b0620f90f23b1bcde3ae1290801021038
Reviewed-on: https://gerrit.libreoffice.org/80465
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
Change-Id: Ia263f9f7c78dbf48143678fc2f577402fb1ce998
Reviewed-on: https://gerrit.libreoffice.org/83309
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
|
|
Reviewed-on: https://gerrit.libreoffice.org/82276
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 8a425fbd9c6b75b09672e0ce18f43162d9eda360)
Change-Id: I314183a1d6434c043183a600740c786e22a67503
Reviewed-on: https://gerrit.libreoffice.org/82383
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
glyphs in starmath at a fairly low stretch ratio. The failure will set
CAIRO_STATUS_FREETYPE_ERROR on the surface which cannot be cleared, so all
further painting to the surface fails.
This appears fixed in 2.9 with
https://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=91015cb41d8f56777f93394f5a60914bc0c0f330
"Improve complex rendering at high ppem"
Change-Id: I8cbf8347ccd29beda4057b14f2e68678f6030bf4
Reviewed-on: https://gerrit.libreoffice.org/78590
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Reviewed-on: https://gerrit.libreoffice.org/79032
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
|
|
when the focus is on the help button, offline will through the help fallback
route, but online will just fire and forget and let the server side do a
fallback, which can't know what the current notebook page was.
so bodge it to look at the notebook page right from the start if there is one
and its the help button itself which starts the request
Change-Id: Ida1d3101d838d99639dda12c438414c16b1ccda5
Reviewed-on: https://gerrit.libreoffice.org/77550
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
Change-Id: I8871eb49e11d8c72c469230967c3c979091a0f9b
Reviewed-on: https://gerrit.libreoffice.org/68898
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit a2bf2ca1e3d398db0caa07fce4d135e6dc8b2f27)
|
|
In the spirit of commit 5ee408eb4c9f ("tdf#125673 KDE5 implement
a KDE5SalVirtualDevice"), this might help with KDE4 graphics
problems, like the ones mentioned in tdf#126272.
Change-Id: I50875b69e1c1494803f08746bfc3b99a57e36414
Reviewed-on: https://gerrit.libreoffice.org/75281
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit cd98258b659d98871787fa932698a290b20f56cf)
Reviewed-on: https://gerrit.libreoffice.org/76916
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
|
|
Fixes this build failure as reported e.g. by tinderbox [1]:
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
from /usr/include/c++/7/locale:43,
from /usr/include/c++/7/iomanip:43,
from include/com/sun/star/uno/Any.hxx:27,
from workdir/UnoApiHeadersTarget/udkapi/normal/com/sun/star/uno/XInterface.hpp:9,
from workdir/UnoApiHeadersTarget/udkapi/normal/com/sun/star/uno/Exception.hpp:8,
from workdir/UnoApiHeadersTarget/udkapi/normal/com/sun/star/uno/RuntimeException.hpp:8,
from workdir/UnoApiHeadersTarget/udkapi/normal/com/sun/star/lang/XTypeProvider.hpp:8,
from include/cppuhelper/compbase.hxx:25,
from vcl/unx/kde4/KDE4FilePicker.hxx:22,
from vcl/unx/kde4/KDESalInstance.cxx:20:
/usr/include/c++/7/bits/unique_ptr.h: In instantiation of ‘void std::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = SalVirtualDevice]’:
/usr/include/c++/7/bits/unique_ptr.h:268:17: required from ‘std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = SalVirtualDevice; _Dp = std::default_delete<SalVirtualDevice>]’
.../vcl/unx/kde4/KDESalInstance.cxx:70:107: required from here
/usr/include/c++/7/bits/unique_ptr.h:76:22: error: invalid application of ‘sizeof’ to incomplete type ‘SalVirtualDevice’
static_assert(sizeof(_Tp)>0,
[1] https://tinderbox.libreoffice.org/cgi-bin/gunzip.cgi?tree=libreoffice-6-2&brief-log=1562787602.2042
Change-Id: I1da444b80447ec8896ff9898684ee14fd3933b18
Reviewed-on: https://gerrit.libreoffice.org/75381
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Tested-by: Michael Stahl <Michael.Stahl@cib.de>
(cherry picked from commit e84b9d0d5ac55a2f7a4936ca83a5eea5562f98a8)
Reviewed-on: https://gerrit.libreoffice.org/76918
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
|
|
Change-Id: I39531ae2a656c16c7355d73b76cb918d3535f7b0
Reviewed-on: https://gerrit.libreoffice.org/74604
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
(cherry picked from commit 1c6bac6e003e9f280a29cc83974bdfb3d06b24a9)
|
|
There will presumably be more X11 specific code later to implement some
"fix" for tdf#119202. Moving the screensafer inhibitor is rather
uncontroversial in comparion, so start with it and use it to carry the
matching configure.ac changes.
A little "nightmare" are all the clashing X11 / Qt type undefs, but I
couldn't find a better solution while the inhibitor continues to
include the X11 headers in it's header.
Reviewed-on: https://gerrit.libreoffice.org/74015
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
(cherry picked from commit b5323c72ff7e5bcde34089e49fe98e589dcc5acb)
Change-Id: I55c89c76726d30a890178488484e954207267e89
Reviewed-on: https://gerrit.libreoffice.org/74081
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
(cherry picked from commit 9c37c306158267d942a0a1debc3845db1c923ceb)
Reviewed-on: https://gerrit.libreoffice.org/74192
(cherry picked from commit 3ff31faa48c12c33c9c3fafae8fc35201fa5d614)
|
|
We just need AcquireGraphics() to return a KDE5Graphics.
Otherwise the BufferDevice's SVP will use a SvpSalGraphics
instead of the KDE5Graphics, which knows about Qt's theming.
Reviewed-on: https://gerrit.libreoffice.org/73673
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
(cherry picked from commit 2cb6a591b643a0f65dc58f060f60cc707ad3589c)
Reviewed-on: https://gerrit.libreoffice.org/73722
Change-Id: I0ea646df260f2067d61c753f03dee01a003f382a
Reviewed-on: https://gerrit.libreoffice.org/73963
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
|
|
Current qt5+cairo uses the plain VCL canvas. This patch is just a
copy of Gtk3Surface (minus comments) with a different update call.
This way the Cairo path now uses the Cairo canvas instead.
It fixes at least tdf#122668 for me, but other Impress bugs might
be fixed this way too.
Reviewed-on: https://gerrit.libreoffice.org/72921
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Reviewed-by: Aleksei Nikiforov <darktemplar@basealt.ru>
(cherry picked from commit 86cab846c1a122dd4dd5f5c4ca5750a0fc397c6b)
[This also squashes the backport of commit cc237438f6d1c7ee3a391b51402aaa71cd347b6b
("qt5: Make it compile with '-Werror=shadow'") in to the same commit.]
Change-Id: Iba511c851001753328293c28e53eaa4acc4315d0
Reviewed-on: https://gerrit.libreoffice.org/73198
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
Change-Id: Ib4c47189d5c9c89433f0c7de194ebb9777dc7bac
Reviewed-on: https://gerrit.libreoffice.org/73831
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
as its preferred size, causing it to not clip its child, but grow instead to
match
Change-Id: I57f740177aae619d11966f5382a6cc5f7a964be3
Reviewed-on: https://gerrit.libreoffice.org/73170
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Reviewed-on: https://gerrit.libreoffice.org/69934
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit b70053ba681a9b62afd6fa700ad94256d98d8dc7)
Change-Id: I50b36f697b8dd9ff8108392d48a7050702edbfbe
Reviewed-on: https://gerrit.libreoffice.org/72880
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
as its preferred size, causing it to not clip its child, but try and grow
instead to match
Change-Id: Ibea269d475a4b35a43b6cab2ab432a830d8ff1ff
Reviewed-on: https://gerrit.libreoffice.org/73174
Tested-by: Jenkins
Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
|
|
kde5 plugin on Wayland still shows too many issues, like e.g.
tdf#123654 and was barely tested, so don't use it by default
in libreoffice-6-2 branch, but prefer gtk3.
This does not affect the X11 case.
This reverts commit 3e4478103ee1ba912d650ab447ed246f5f1cc196.
Change-Id: I7f74a6b5f377f65b81cf5ae189e8672bdce82c95
Reviewed-on: https://gerrit.libreoffice.org/73193
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
|
and if there is no videosink then give up
Change-Id: I6b60e7be1e77dbf5c4c277ccf47a4d121f3cd6a5
Reviewed-on: https://gerrit.libreoffice.org/72871
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-on: https://gerrit.libreoffice.org/73087
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Tested-by: Jenkins
|
|
The utility constructor using 'StockImage::Yes' was only introduced
in master commit 0f104bf33530467380044b9eb4cd3f8bd9c283f1 and is
therefore not available in libreoffice-6-2 branch.
Build was therefore broken by commit
f10c1c648e698b48dfaa679a4909b3d9de6ed868 ("tdf#123549 Qt5 implement
Qt5Menu::ShowCloseButton"), which first went unnoticed since
qt5/kde5 wasn't enabled for CI builds on branch libreoffice-6-2.
(This will be changed by
https://gerrit.libreoffice.org/#/c/72741/ .)
Also, add a missing include that lead to kde5-enabled CI builds
failing [1], which I couldn't reproduce locally
("shell/source/backends/kde5be/kde5backend.cxx:190:5: error:
‘unique_ptr’ is not a member of ‘std’").
And fix more issues showing up in [2] and follow-up builds
of the change that enables kde5 on the 6.2 branch [3].
[1] https://ci.libreoffice.org/job/gerrit_62/1535/
[2] https://ci.libreoffice.org/job/gerrit_62/1540/
[3] https://gerrit.libreoffice.org/#/c/72741/
Change-Id: I6a39a99114d15808b790242c96d0204916a0cc40
Reviewed-on: https://gerrit.libreoffice.org/72779
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Tested-by: Jenkins
|
|
As the Qt documentation for 'QFileDialog::supportedSchemes'
says, setting supported schemes to a non-empty list restricts
the available options:
"Setting this property allows to restrict the type of URLs
the user will be able to select. It is a way for the application
to declare the protocols it will support to fetch the file
content. An empty list means that no restriction is applied
(the default)."
The call to 'QFileDialog::setSupportedSchemes' was copied
over from the gtk3_kde5 VCL plugin in commit
6196b7292fbb3168c558e64881601148c15653e4, where it had been
added by commit f1b60bd62daff4aaf6465caadd4ad0c447521102
"Support opening of (some) remote URLs through the KDE file
dialog".
Since only either all schemes (if nothing explicitly set)
or a whitelist of supported locations seems to
be possible (s.a. the Phabricator changes referenced
in the commit message of commit
f1b60bd62daff4aaf6465caadd4ad0c447521102), add the
"" scheme that makes removable devices shown -- while
there doesn't seem to be an official documentation on
the available schemes, at least not in
KFileWidget's API documentation [1].
A quick test with all new available options after removing
the call to 'QFileDialog::setSupportedSchemes' altogether
indicated that opening and saving files there doesn't work
reliably in all cases, so rather excplicitly add the ""
scheme rather than claiming support for all schemes
(including e.g. "timeline", "search", "remote", "trash").
[1] https://api.kde.org/frameworks/kio/html/classKFileWidget.html
Change-Id: I89dc37d0f06d280e5dd599f90768c13e8edb915b
Reviewed-on: https://gerrit.libreoffice.org/71320
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 2c69c93fdb871809825fe8b9aff40b7afb093be8)
Reviewed-on: https://gerrit.libreoffice.org/72750
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
... and also convert KDE5FilePicker. And Qt5Frame.
The UNO methods in Qt5FilePicker/KDE5FilePicker have to ensure that the
thread actually owns SolarMutex, because if RunInMainThread() is
called without that it will deadlock.
Change-Id: Ie4d2f494ac81c799ec7c9a3acb3a9b0f77bb6361
Reviewed-on: https://gerrit.libreoffice.org/68357
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 7e251025b97ed2a300270b1a565727441005c77e)
Reviewed-on: https://gerrit.libreoffice.org/72660
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
The problem with the current approach of transferring calls to the main
thread with Q_EMIT signals is that if the code that should run in the
main thread needs SolarMutex, then the non-main-thread must use
SolarMutexReleaser - but then the main thread will run not only the call
that is needed right now, but will potentially process all pending
events, and the other thread hasn't prepared for that.
We need the inter-thread feature of Qt::BlockingQueuedConnection and the
non-queued feature of Qt::DirectConnection, but this combination doesn't
appear to exist.
So the SolarMutexReleaser needs to go - but then the main thread does
need SolarMutex for some things, and hence we need to trick it into
believing it has SolarMutex with the m_bNoYieldLock hack.
Then it becomes apparent that the main thread may be blocked on either
Qt events, which is fine, or on the SalYieldMutex's m_aMutex, which will
never be released now.
So the main thread must never block on m_aMutex; the alternative is to
use the same approach as the osx code (and, in a somewhat different
form, the svp code), and add some condition variables on which the main
thread can block if it fails to acquire the m_aMutex immediately.
It's even possible to do this in a somewhat generic way with lambdas.
This does appear to work, but it makes the Q_EMIT approach entirely
untenable, because now the main thread will be blocked on the condition
variable and the non-main-thread will be blocked until the Qt event is
processed.
Reviewed-on: https://gerrit.libreoffice.org/68232
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 265caa4381c048c346c907b017561ab0fe0367ff)
Change-Id: I6480a6b909d5ec8814b2ff10dbefb0f3686a83c7
Reviewed-on: https://gerrit.libreoffice.org/72657
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
Take over missing case from 'KDE5FilePicker::initialize' to
'Qt5FilePicker::initialize' and make
'Qt5FilePicker::addCustomControl' virtual, so that the
subclass's implementation is called in the 'initialize()'
method (in particular to avoid adding another autoextension
checkbox).
Drop the 'KDE5FilePicker::initialize' so that the
base class implementation is used, which now does the
same thing.
Add 'override' keyword in KDE5Filepicker.hxx.
Change-Id: Id151a4d4862af4275f6c21c6537a79c52e3ed513
Reviewed-on: https://gerrit.libreoffice.org/68059
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 77d5795f9e79a996fa6ee8153f7bc565c4440b02)
Reviewed-on: https://gerrit.libreoffice.org/72656
|
|
Add an option to Qt5FilePicker constructor to
say whether the QFileDialog should be a native one or not,
since 'QFileDialog::selectFile' does not preselect the correct
name in the native dialog any more if the
'QFileDialog::DontUseNativeDialog' option has ever been set, i.e.
QFileDialog fileDialog;
fileDialog.setOption(QFileDialog::DontUseNativeDialog);
fileDialog.setOption(QFileDialog::DontUseNativeDialog, false);
fileDialog.selectFile("test.txt");
will not properly set the name in the native file dialog, which
broke 'setDefaultName' for the KDE5FilePicker.
This makes it work again, even though I think that the underlying
issue is a Qt bug
(s. https://bugreports.qt.io/browse/QTBUG-73682 ).
Change-Id: I99a1e7c97d594925d600fa8eaf3303f9013551c2
Reviewed-on: https://gerrit.libreoffice.org/68058
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 1d01ebc84867af00825512a3a3cfd9d0fa15eea9)
Reviewed-on: https://gerrit.libreoffice.org/72655
|
|
Use the custom controls widgets from the parent class
Qt5FileWidget and drop the own class members that were
used for this.
Also call the base class's implementations for the methods
that interact with the custom controls.
Since the native Plasma/kde5 file picker handles automatic
file extensions by itself while the non-native qt5 one does
not, the methods in KDE5FilePicker only forward those
method calls that are not related to the corresponding
control ('CHECKBOX_AUTOEXTENSION').
Change-Id: Ia2de3211ffba7814683914a5e629208b19b2ed82
Reviewed-on: https://gerrit.libreoffice.org/68057
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 0b93a6c3f1c706dd532e71deeefb480c6e0ea02e)
Reviewed-on: https://gerrit.libreoffice.org/72654
|
|
Directly access member 'm_pExtraControls' from parent class
Qt5FilePicker for managing custom widgets, rather than maintaining
an own one.
This is meant as an intermediate step, further refactoring will
follow.
Change-Id: I0568d3db68dc24042e198d36f4b5e49608f93a0e
Reviewed-on: https://gerrit.libreoffice.org/68055
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 2bd0400a49ad2dfeb1c3848a84f8e512433b5411)
Reviewed-on: https://gerrit.libreoffice.org/72652
|
|
Turn existing functions in Qt5FilePicker into protected
static class methods and reuse them in KDE5FilePicker.
The qt5 implementation covers everything that kde5 had,
and a little more (e.g. covers case 'ControlActions::DELETE_ITEM'
in 'handleSetListValue' as well).
Reviewed-on: https://gerrit.libreoffice.org/68054
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 0dda9db8b5610ee31020258d7e4c83342d0ceefc)
Change-Id: I9673b20e3313c0628a76f0d94e018327f4af8523
Reviewed-on: https://gerrit.libreoffice.org/72651
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
Base class's 'Qt5FilePicker::cancel' already does nothing
just the same way.
Change-Id: Ie125d117f27849b29f082c72e320c1021e81163e
Reviewed-on: https://gerrit.libreoffice.org/68053
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 424ffe2917cb3b0626af4f996aba149aa82a8e76)
Reviewed-on: https://gerrit.libreoffice.org/72650
|
|
The non-native QFileDialog automatically adds the file extension
for the selected filter in the listbox, therefore it was stripped
from the filter title in 'Qt5FilePicker::appendFilter'.
Since the native Plasma/kde5 file dialog does not add it automatically,
introduce a new member 'm_bShowFileExtensionInFilterTitle' to specify
whether or not to strip the extension and set it accordingly in
KDE5FilePicker (so that it continues to show e.g.
"ODF Text Document (.odt)" instead of just "ODF Text Document").
This allows for KDE5FilePicker to reuse the base class implementation
and thus to drop all related own members and methods.
Change-Id: Icfb77d065160d3f655e3e89ad69de4195781373a
Reviewed-on: https://gerrit.libreoffice.org/68052
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit fee0bf03f4ca19c454fb727156887e45ceeb364a)
Reviewed-on: https://gerrit.libreoffice.org/72649
|
|
Base class's 'Qt5FilePicker::setDescription'
does the same, namely nothing.
Change-Id: Ie89a1e1edaf20c49a1b16f43000a4a054b21f3b2
Reviewed-on: https://gerrit.libreoffice.org/68051
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 3035db41839f12642a02040099468695bf5ab335)
Reviewed-on: https://gerrit.libreoffice.org/72648
|
|
Use base class's 'Qt5FilePicker::getDirectory' instead
to reduce duplication.
Strictly speaking, the 'KDE5FilePicker::implGetDirectory'
implementation used by 'KDE5FilePicker::getDirectory'
suggests that the display directory is returned
rather than the selected directory, and the same
method 'implGetDirectory()' was actually previously used
by the 'KDE5FilePicker::getDisplayDirectory()' method
as well (removed in a previous commit).
The code worked fine inside KDE5FilePicker (where the
native Plasma/kde5 file dialog is used) but would lead
to incorrect results when used inside Qt5FilePicker, e.g.
for the following scenario
* open folder picker displaying $HOME that contains
a directory "bar"
* do a single mouse click on the "bar" directory
* click "OK"
The call to 'toOUString(m_pFileDialog->directoryUrl().url())'
inside 'getDirectory()' would return '$HOME/bar' for the native
QFileDialog on KDE Plasma 5, but '$HOME' when
used with the non-native QFileDialog
Anyway, the implementation inside 'Qt5FilePicker::getDirectory'
works fine for both cases, so just drop the KDE5FilePicker one.
Reviewed-on: https://gerrit.libreoffice.org/68050
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit fa7387077bb708a2f3ec3e747463c9fd9f077f29)
Change-Id: I86dcf98ed310636b899ad289d8a8a8fa263dd2e9
Reviewed-on: https://gerrit.libreoffice.org/72647
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
Base class's 'Qt5FilePicker::getDisplayDirectory'
does the same.
Change-Id: I835603848736a328d0cf63b0bdc87895761e229c
Reviewed-on: https://gerrit.libreoffice.org/68049
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit d5ac5eb59dda2c1dc537f5a4baf13515af7a57aa)
Reviewed-on: https://gerrit.libreoffice.org/72646
|
|
Base class's 'Qt5FilePicker::disposing' is the same.
Change-Id: I91069385541a519f006d10b0580104f14beb551e
Reviewed-on: https://gerrit.libreoffice.org/68048
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 1542aad2d238ea0b9119befe35fc67e6b2c0a3e7)
Reviewed-on: https://gerrit.libreoffice.org/72645
|
|
Change-Id: I4680cc4a8507d0d2409301b62ab81165fcfcdba1
Reviewed-on: https://gerrit.libreoffice.org/68047
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 6d00c53fac49a29c89bcc4a5e8346195bd2a3b96)
Reviewed-on: https://gerrit.libreoffice.org/72644
|
|
... and related signals/slots.
Those from the Qt5FilePicker base class do the same thing,
except for one 'SolarMutexReleaser' that was commented out
in 'KDE5FilePicker::getFiles' for no apparent reason since
that line was added in commit 8fb0881a3e5b2.
Take over the slightly nicer syntax for the range-based for loop
from 'KDE5FilePicker::getSelectedFiles' to
'Qt5FilePicker::getSelectedFiles'.
Change-Id: I419f933d256f3b85eccaea85803b4890770efa24
Reviewed-on: https://gerrit.libreoffice.org/68046
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit e180574ff8b6055fc962974042acb9b1ef27690e)
Reviewed-on: https://gerrit.libreoffice.org/72643
Tested-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
... and related signals/slots.
They are the same as in the Qt5FilePicker base class.
Change-Id: I115d0daa6beace44b9c791fc892d7cf553c562bb
Reviewed-on: https://gerrit.libreoffice.org/68045
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 9c960a6b4f80268dc63960c53f8de50e9af6e099)
Reviewed-on: https://gerrit.libreoffice.org/72642
|
|
Base class's 'Qt5FilePicker::setTitle' is the same.
Change-Id: I071bf5f962c2d8b0821d78e97793c8637f5c0a1b
Reviewed-on: https://gerrit.libreoffice.org/68044
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 4a5761b6c3d504b3c54d3cb3e1ecd6e26b0c7690)
Reviewed-on: https://gerrit.libreoffice.org/72641
|
|
Drop the 'm_xListener' member and methods using it.
The inherited Qt5FilePicker methods do the same thing.
This also avoids that two methods are called when
a file or filter is selected, since the
'QFileDialog::filterSelected' and 'QFileDialog::fileSelected'
signals had been connected to slots in both, the
qt5 and kde5 fpicker constructors.
Change-Id: I60e3eda29e6497f51165e87d0c4ab2e17f209a1c
Reviewed-on: https://gerrit.libreoffice.org/68043
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 1e9148f96341424d5403f2e5175937e289010701)
Reviewed-on: https://gerrit.libreoffice.org/72640
|
|
Drop the '_dialog' member from KDE5FileDialog and use
the one from Qt5FileDialog instead.
Move up 'm_bIsFolderPicker' to Qt5FilePicker.
Also, move some of the related functionality from
the kde5 file picker to the qt5 one, in particular
take over missing parts from 'KDE5FilePicker::setMultiSelectionMode'
to 'Qt5FilePicker::setMultiSelectionMode' and drop the
former (now inherited from the base class).
This e.g. also makes sure that only folders are available
for selection when using a FolderPicker in qt5
(e.g. in the dialog to add a JRE in "Tools" -> "Options"
-> "Advanced"). The functionality had only been implemented
for kde5 beforehand.
Since the QFileDialog is set to non-native mode in
Qt5FilePicker constructor, native mode needs to be
excplicitly enabled again for kde5.
Since Qt's signal/slot mechanism is used to connect
signals on the object in both constructors
(Qt5FilePicker/KDE5FilePicker), some events will
trigger multiple actions. This will be taken care
of in subsequent commits, along with further
refactoring.
Change-Id: I245d46c12945acb91c9b52dcff5c83248ac087dd
Reviewed-on: https://gerrit.libreoffice.org/68042
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 0e4963186a6f1bfbde5279c25c62694d073e92a1)
Reviewed-on: https://gerrit.libreoffice.org/72639
|
|
While this does not make much sense by itself as of now,
it will allow to reduce code duplication in follow-up commits.
Change-Id: Ie1a9bf3e516044ad5e56c526d1cf49cf1cb76f8a
Reviewed-on: https://gerrit.libreoffice.org/68041
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
(cherry picked from commit 77c0c38ec3b4e6056d74649c9b071add1f49f96c)
Reviewed-on: https://gerrit.libreoffice.org/72638
|
|
Change-Id: I07438840fc1c3cc8e70559d44954be0c49531525
Reviewed-on: https://gerrit.libreoffice.org/64191
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit e9e49fceac43476d1233ee8106cba5f4831771b9)
Reviewed-on: https://gerrit.libreoffice.org/71896
|
|
Change-Id: I015022c4dd68f152ef5e56947031ccf4bfaf2b1c
Reviewed-on: https://gerrit.libreoffice.org/71517
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
|
|
Change-Id: I05ec394ee83f0422ecccf3ae3377818af6feb1d1
Reviewed-on: https://gerrit.libreoffice.org/71398
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 9207516888e73398599a9890af78cd677ddd0992)
Reviewed-on: https://gerrit.libreoffice.org/71411
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
|
|
The separate filepicker executable 'lo_kde5filepicker'
used by the gtk3_kde5 VCL plugin needs the KF5 libraries
(in particular the 'KFileWidget' class) in order to
provide custom controls in the Plasma-native QFileDialog.
The gtk3 side ('lo_kde5filepicker') itself doesn't use
any functionality from KF5 libraries itself and therefore
didn't link against those.
When determining which VCL plugin to use on LibreOffice
start, a 'dlopen()' is used on the libraries of the
potential VCL plugins, which fails if linked libraries
are not available, so unsuitable VCL plugin are skipped.
This mechanism didn't work for the gtk3_kde5 VCL plugin
if KF5 libraries were not installed, since the 'dlopen()'
on 'libvclplug_gtk3_kde5lo.so' would succeed, but starting
the 'lo_kde5filepicker' process would later fail at runtime
due to the missing libraries.
To avoid this, make 'libvclplug_gtk3_kde5lo.so' link
against KF5 libraries as well to prevent gtk3_kde5 from
being used unless all required libraries are actually present.
Add a dummy KFileWidget use in Gtk3KDE5FilePicker to prevent
smart linkers from not linking unused libraries despite linker
flags.
While this is a hack, it seems to be acceptable, in
particular since gtk3_kde5 is more meant as a temporary
solution supposed to be dropped at a later point in time
in favor of the pure kde5 VCL plugin.
Reviewed-on: https://gerrit.libreoffice.org/71237
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Tested-by: Jenkins
(cherry picked from commit 1674c6964b585d944bcb34be1d937e7558a97453)
Change-Id: I3a37daaeb1307b4f24f6fd75d7b6ec5ffaade0fd
Reviewed-on: https://gerrit.libreoffice.org/71374
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
Do the same for the gtk3_kde5 VCL plugin as commit
2c69c93fdb871809825fe8b9aff40b7afb093be8 does for the
kde5 one.
Change-Id: I6fc91d1dbe133bd905c033c9fce7d48c0b6464a0
Reviewed-on: https://gerrit.libreoffice.org/71384
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
(cherry picked from commit c08f23b1470c0f49336c83c711d473584ce5c96f)
Reviewed-on: https://gerrit.libreoffice.org/71410
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
When 'QFileDialog::Directory' is set, the native
Plasma QFileDialog does not consider the clicked
directory to be selected, but rather the base directory
shown in the dialog, s.
https://bugs.kde.org/show_bug.cgi?id=406464 .
Therefore don't set the option when in a KDE Plasma desktop
environment (which the kde5 VCL plugin also doesn't do).
This works around the above issue in the Plasma desktop
integration.
Change-Id: Ib3d0978ab56b6e50ee45f7ad997ec051b35faf54
Reviewed-on: https://gerrit.libreoffice.org/71223
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
(cherry picked from commit 9fc0dbcd797f074ddb8ba379c876dd233cb5836e)
Reviewed-on: https://gerrit.libreoffice.org/71274
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
OpenGL just sets GtkSalGraphics::bNeedPixmapPaint to true, and the
problem is specific to that flag (can be also enabled via
SAL_GTK_USE_PIXMAPPAINT=1).
Most other widgets are painted correctly in the GL case as they pass
around a drawable explicitly; do the same for ControlType::ListNode as
well in the GL case. The non-GL case still needs to go via the pixmap
render macros to have correct position, leave that unchanged.
(cherry picked from commit fb9c7e31f888a301fecb5257635e12ce7b907d14)
Change-Id: Ia82a6772e357b434d706e58664be3a8427e91669
Reviewed-on: https://gerrit.libreoffice.org/70762
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|