summaryrefslogtreecommitdiff
path: root/vcl/Library_vclplug_qt5.mk
AgeCommit message (Collapse)Author
2019-06-13Don't link avmediagst with gtk3 and qt5Jan-Marek Glogowski
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-12Use 'gb_Library_add_cxxflags' for '-include chrono'Michael Weghorn
Rationale is the same as in described in commit 4aa60490622cc10f8d3a31489c62a5622d240c83 ("gbuild: treat $({QT,KF}5_CFLAGS) as cxxflags, not defines"). Change-Id: I1253e33118956b72561bd56bbc668ca345006c37 Reviewed-on: https://gerrit.libreoffice.org/73700 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2019-06-08gbuild: treat $({QT,KF}5_CFLAGS) as cxxflags, not definesMichael Weghorn
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-06-03Qt5 refactor and move XTransferable implementationsJan-Marek Glogowski
There is already duplicate code getTransferDataFlavorsAsVector. Maybe getTransferData can be also merged later. Change-Id: Iaa1c16990c1f19757f04944bcd21f395f6b8f69b Reviewed-on: https://gerrit.libreoffice.org/73301 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2019-05-28Qt5 implement SalSurface support for cairoJan-Marek Glogowski
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. Change-Id: Iba511c851001753328293c28e53eaa4acc4315d0 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>
2019-04-25Cut down on -pthread/-lpthread proliferationStephan Bergmann
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-12-21workaround to make Qt5 code build with Clang+icecreamLuboš Luňák
Qt5 uses QT_HAS_INCLUDE (which maps to __has_include), and uses it to guard #include <chrono>. Clang's -frewrite-includes, which icecream uses for distributing source to remote nodes, for some reason doesn't recognize __has_include properly when wrapped by this macro, and this all results in strange compile errors related to std::chrono. Change-Id: Ia375ebd928b40ebd51ab4cc59488f3b62939e039 Reviewed-on: https://gerrit.libreoffice.org/65506 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-12-19tdf#121247, tdf#121266 KDE5: Add basic support for OpenGLAleksei Nikiforov
Change-Id: Id3a5879f661a6fa51b9f9dc40af73687a8f624df Reviewed-on: https://gerrit.libreoffice.org/65310 Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> Tested-by: Jenkins
2018-10-30qt5 a11y: Fix QAccessibleValueInterfaceSamuel Mehrbrodt
Needs to be part of Qt5AccessibleWidget Change-Id: I3543cb3b5834c9967066733f0dbd73e974175892 Reviewed-on: https://gerrit.libreoffice.org/62515 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-10-30qt5 a11y: Implement most of QAccessibleTextInterfaceSamuel Mehrbrodt
Change-Id: I184bad8a6915048d425f8baa56d2e5675d4b97d1 Reviewed-on: https://gerrit.libreoffice.org/62512 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-10-18Basic structures for qt5 drag'n'drop supportKatarina Behrens
put (so far) no-op UNO ifaces in place Change-Id: I95394cfe05b8e3db21ddce6dfed1c1bb1d0e6381 Reviewed-on: https://gerrit.libreoffice.org/61385 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2018-10-17qt5 a11y: Add event notificationsSamuel Mehrbrodt
Change-Id: Idb2fb2f880b4e848adc213a4e2cea33c5eb56f05 Reviewed-on: https://gerrit.libreoffice.org/61424 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-10-08Qt5AccessibleWidget: Add stub for QAccessibleTextInterfaceSamuel Mehrbrodt
Change-Id: Iee80b40d2c33a0464abfc285360e76774c644b32 Reviewed-on: https://gerrit.libreoffice.org/61372 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-10-05Qt5AccessibleWidget: Implement QAccessibleValueInterfaceSamuel Mehrbrodt
Change-Id: Ia431650586ec26f5dc321cb162afa632ddb53ab3 Reviewed-on: https://gerrit.libreoffice.org/61361 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-10-04Clipboard support for qt5, first cutKatarina Behrens
this adds just enough of basic UNO ifaces to have SID_PASTE enabled. It can't actually paste anything yet. Change-Id: I82e8ef37e11e9df21d27f08d4d199f3e5924ed84 Reviewed-on: https://gerrit.libreoffice.org/60494 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2018-10-01qt5 a11y: Use UNO Api instead of vcl::Window methodsSamuel Mehrbrodt
This gets us into the document itself, not only the widgets. Change-Id: Id0cf1294817309c889729d01242cae69d2391130 Reviewed-on: https://gerrit.libreoffice.org/61094 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-09-27qt5: Add basic a11y supportSamuel Mehrbrodt
Widget tree is displayed and basic role mapping is available. Still needs quite some work (positions, actions, texts, etc.) Change-Id: I9d26a762f1d9684f33bbb80a384cf2a0b8a905c0 Reviewed-on: https://gerrit.libreoffice.org/60853 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-08-12Set Qt5Widget to be a central widget of QMainWindowKatarina Behrens
this is meant to solve the problem of native menu bar overlapping w/ non-native, as well as the inability to place an object or select text dragging the mouse cursor w/ LMB pressed Change-Id: I29f590ebf79d1ecc7e17b402125384cf13774bf3 Reviewed-on: https://gerrit.libreoffice.org/58171 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-07-09Basic Qt5 system display dataKatarina Behrens
copied from dummy headless implementation Change-Id: I1b184745627acd065b4c0cc54f044c47ec980c93
2018-06-11Dependency on salhelper::SimpleReferenceObjectStephan Bergmann
Change-Id: I14483c82490e17e9832215bc90a7f5870215bb93
2018-06-01Basic skeleton of native menusKatarina Behrens
in the closet Change-Id: Ic54b3853b53987b3e5a85444da0b9167a785bd81
2018-06-01Move qt5 headers into vcl top-level includeKatarina Behrens
they will be used by kde5 vcl plugin Change-Id: Ibcece683802c7a448b165da4c2515408d641927c
2018-06-01Qt5 minimal "native" file pickerJan-Marek Glogowski
Change-Id: I99d8213d23b09b6cb1e398359ad05c8fa702a8e0
2018-05-08Refactor CommonSalLayout font handlingJan-Marek Glogowski
Moves all platform specific code from CommonSalLayout into the platform specific plugins. This way the vcl library won't depend on the Qt5 libraries and the Qt5Font header can be moved into the qt5 VCL plugin. While at it, switch the CommonSalLayouts font reference from the FontSelectPattern to the LogicalFontInstance and also add the harfbuzz font handling to the instance. Change-Id: Ida910b8d88837ea949a2f84394ccc0cfae153060 Reviewed-on: https://gerrit.libreoffice.org/47408 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
2018-05-07Allow building Qt5 backend on HaikuKacper Kasper
Change-Id: I7e928e9e29076bdfaaeffb83791bdc35f1952055 Reviewed-on: https://gerrit.libreoffice.org/53892 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-01-08set_warnings_not_errors not necessary in qt5 plugin anymoreNoel Grandin
Change-Id: I8ed8c07ce5b34d6a03a2ec9a5f9782cd506529e5
2017-11-06QT5 implement Graphics damage trackingJan-Marek Glogowski
Since we implement SalGraphics handling like the gtk3 backend, we need damage tracking to queue updates. Since there is no native damage tracking in Qt5, we have to log the damage in our subclassed QPainter, which will queue an update on destruction. Change-Id: Ife17770750a5be9959c2fc2633b422908d196869
2017-11-06QT5 first stab on implementing CommonSalLayoutJan-Marek Glogowski
CommonSalLayout doesn't rally have an interface. It's cluttered with #ifdefs. Currently we have to move the Qt5Font into the VCL library. Someone should refactor this... Doen't render any text yet, but reports some sizes. Eventually that would cut down the public interface again. Change-Id: I12f32affb05b37e070c6cbc80db01779f84590b6
2017-11-06QT5 implement cairo rendering pathJan-Marek Glogowski
Instead of QImage, this uses cairo_surface_t internally and just blits the composed image in the Qt5Widgets paint function. To enable this rendering path set SAL_VCL_QT5_USE_CAIRO. Change-Id: Ieddda9bad2596ce46d7d07d4d7060e40d44997db
2017-11-06QT5 rename from KF5Jan-Marek Glogowski
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