summaryrefslogtreecommitdiff
path: root/vcl/Library_vclplug_gtk3_kde5.mk
AgeCommit message (Collapse)AuthorFilesLines
2019-06-13Don't link avmediagst with gtk3 and qt5Jan-Marek Glogowski1-0/+1
While the VCL plugins are dynamically loaded and therefore just load their depending toolkit libraries, the GStreamer avmedia backend now links against Qt and GTK+. The GStreamer API itself is toolkit agnostic and the toolkit setup just uses a single GStreamer symbol to create the specific video sink. So the toolkit binding can simply be moved into the VCL plugin. At the point of the GStreamer toolkit setup call the GStreamer library is loaded by avmediagst, so the dlsym lookup should never fail. I also dropped the special GtkWidget handling. Using g_object_get will increase the refcount of the widget. A g_object_unref after adding it to the container seems to destroy it correctly. Change-Id: I693947e441bceb4b09bc38920e308e39142d0a35 Reviewed-on: https://gerrit.libreoffice.org/73849 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2019-06-08gbuild: treat $({QT,KF}5_CFLAGS) as cxxflags, not definesMichael Weghorn1-1/+1
Treat all of QT5_CFLAGS, QT5_GLIB_CFLAGS and KF5_CFLAGS as C++ flags, since those contain C++ flags in the first place. Therefore, set them using 'gb_Library_add_cxxflags', not 'gb_Library_add_defs'. (Strictly speaking, those variables contain includes as well, but handling that properly would require splitting this up further, either in 'configure.ac' or see e.g. how it's done in 'RepositoryExternal.mk'.) This also prevents the values of those variables from ending up in the wrong section in IDE integration generated by gbuild-to-ide. Handling them as includes previously resulted e.g. in 'vcl/vcl.pro' (generated by 'make qtcreator-ide-integration') containing DEFINES += BOOST_ALL_NO_LIB \ ... \ VCLPLUG_GTK3_KDE5_IMPLEMENTATION -isystem /usr/include//KF5 -isystem /usr/include//KF5/KCoreAddons [...] and Qt Creator would show a (rather unhelpful) warning like the following when opening a header file inside 'vcl/inc/': > Warning: The code model could not parse an included file, > which might lead to incorrect code completion and highlighting, > for, example. > > 4:9: error: macro name must be an identifier Change-Id: I2bb0c37fdf1112650e8adc712f60737888a8169b Reviewed-on: https://gerrit.libreoffice.org/73699 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2019-04-27No need to link gtk3_kde5 with generic vclplugKatarina Behrens1-1/+0
like this since initial commit but prolly just copy'n'pasta error Change-Id: Id61c2d8ef1df496738575e4ee4879d71a40b4934 Reviewed-on: https://gerrit.libreoffice.org/71381 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-04-26tdf#124598 gtk3_kde5: Link gtk3 side against kf5 libsMichael Weghorn1-0/+2
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. Change-Id: I3a37daaeb1307b4f24f6fd75d7b6ec5ffaade0fd Reviewed-on: https://gerrit.libreoffice.org/71237 Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> Tested-by: Jenkins
2019-04-25Cut down on -pthread/-lpthread proliferationStephan Bergmann1-1/+0
Building against libstdc++ effectively always requires -pthread anyway (as various standard C++ headers require it, see the comment added to solenv/gbuild/platform/unxgcc.mk), so many explicit uses of -pthread/-lpthread can be removed. Doing a (partial) test build on Linux with Clang -stdlib=libc++ suggests that libc++ indeed doesn't need -pthread as libstdc++ does. The remaining uses of -pthread/-lpthread are mostly in configure.ac for the various BSDs (which somebody else might want to clean up now), and related to external projects. I tried to be careful to remove -pthread/-lpthread from makefiles only when C++ object files are involved (so -pthread will now be included on the link command line by default). Change-Id: I936e082839cb9a434bd273ce5a1f187a4245dfa1 Reviewed-on: https://gerrit.libreoffice.org/71291 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-11-16Library_vclplug_gtk3_kde5 apparently uses SvNumberFormatter nowStephan Bergmann1-0/+1
Change-Id: I3a597c971fd51cba3b9b41b88c4bcc43355ffd79
2018-05-12Add more more dependencies to VCL makefilesKhaled Hosny1-0/+2
Hopefully fixes broken tinderboxes. Change-Id: I2297e5df9f18a444801ec2dc6dbbb098ed4d90c9 Reviewed-on: https://gerrit.libreoffice.org/54163 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
2018-01-23Introduce gtk3_kde5 vcl pluginMilian Wolff1-0/+128
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>