summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)Author
2018-10-08loplugin:external (--enable-gtk3-kde5)Stephan Bergmann
Change-Id: Id096bd25cd6df5941eaec45f7573f5887ae51d79
2018-10-08tdf#120261 gtk3_kde5: Leave event handling on gtk3 side to gtkMichael Weghorn
This introduces a new thread that takes care of handling the IPC command and result for executing the file picker ('Commands::Execute'), which is the only command in the file picker that may block for a longer time until it receives its result from the kde5 side (namely, when the dialog has been closed). While the file dialog is being executed, activate a dummy GTK dialog that also takes care of handling events in its main loop as long as the file dialog is shown. The dummy dialog is closed together with the KDE file dialog. (Since the actual KDE file dialog is run as a separate process, this one is mostly "transparent" to the soffice process from the point of view of a dialog.) This allows dropping the custom event processing previously done in 'Gtk3KDE5FilePickerIpc::readResponse()' that had the potential to cause all kinds of problems, e.g. when another event related to the file picker was triggered from a Java process via UNO. Change-Id: I3d663253f09320f7a8e0d9ec32a8fd6ec191c189 Reviewed-on: https://gerrit.libreoffice.org/61253 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2018-10-08tdf#120261 gtk3_kde5: Read IPC cmds in own thread on kde5 sideMichael Weghorn
Move reading IPC commands and arguments to those commands to a separate thread and use the signal/slot mechanism to notify 'FilePickerIpc' whenever a new command and its arguments have been read. This allows to handle the events of other commands that have been received while the dialog is being executed. This will be needed by a subsequent change that will modify how IPC is handled on the gtk3 side. Change-Id: Ia77b21045b0196710cbe164fb640b36a128d5081 Reviewed-on: https://gerrit.libreoffice.org/61252 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.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-07Fix typosAndrea Gelmini
Change-Id: Ia26896cbcd8912f7cad641ea2ecf14c4ddf2d741 Reviewed-on: https://gerrit.libreoffice.org/61489 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-10-07-Werror=catch-value=Julien Nabet
Change-Id: I58563735e6cf5004b4ac5e846885414f0c603f4c Reviewed-on: https://gerrit.libreoffice.org/61491 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-10-06Support estimateUsageInBytes for SystemDependentDataArmin Le Grand
Change-Id: I6074035ed8f90e452915e9ecffdbe9363375e126 Reviewed-on: https://gerrit.libreoffice.org/61306 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2018-10-06UNX use font cache based glyph rect cacheJan-Marek Glogowski
Drop the special / duplicate glyph rect bound cache implementation for Freetype fonts. The GlyphCache class now looks a lot like the ImplFontCache class. The lru handling for Freetype fonts is based on the byte / memory size, including the glyth bound-rect caching. Using the new common cache is effectivly removing the bound-rects from this accounting, so the garbage collection won't free them anymore. Change-Id: Ie53226596ee2287e1059a74885f52c3d64bbccaa Reviewed-on: https://gerrit.libreoffice.org/61377 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-06OSX use font cache based glyph rect cacheJan-Marek Glogowski
Change-Id: Ia9bf718f1158c68971511688fe5af3e335d841ba Reviewed-on: https://gerrit.libreoffice.org/61386 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-06Convert ImplFontCache to use o3tl::lru_mapJan-Marek Glogowski
We still do our own cleanup of the LRU map, as we can't drop any fonts in use. Change-Id: I8ec5c6ce8f80893635621357e9085950e7010f5b Reviewed-on: https://gerrit.libreoffice.org/61455 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-06tdf#119829 use font cache based glyph rect cacheJan-Marek Glogowski
The current glyph cache on Windows didn't work for multiple fonts and had to be manually invalidated on font change. The new glyph rect cache is coupled to the font cache and will invalidate all cached glyph rects, if a cached font is released. So switch to the new cache on Windows. Change-Id: Ic641f78e2e664dc0ad52e595d5fdfb6ef611eb3f Reviewed-on: https://gerrit.libreoffice.org/61278 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-06Add a glyph-bound-rect cache to the font cacheJan-Marek Glogowski
This way the font cache can correctly invalidate the cached glyph rects when a font is dropped from the cache. Change-Id: I050866099742334f01cac1b872228a017ddb5e9b Reviewed-on: https://gerrit.libreoffice.org/61371 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-06Add GlyphCache instance to GenericUnixSalDataJan-Marek Glogowski
This gets rid of some statics and drops some duplicate code: - the X11 based GlyphCache => gone - the svp version of the GlyphCache => gone - the "normal" GlyphCache - the PrintFontManager And while at it move the implementation into its own file gendata.cxx. Change-Id: I9063139c9482f5f37285505f389cf5f32c02426b Reviewed-on: https://gerrit.libreoffice.org/61454 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-06UNX merge FreetypeManager into GlyphCacheJan-Marek Glogowski
Change-Id: I736cc60af6d0c91623a25843bd9ff8fcdd9e8e90 Reviewed-on: https://gerrit.libreoffice.org/61453 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-06WIN rename GlyphCache to OpenGLGlyphCacheJan-Marek Glogowski
The Windows-backend based GlyphCache is OpenGL specific, so reflect that by renaming it. Change-Id: I1034bfde14792f0b6a807f8e938742556a31fcfb Reviewed-on: https://gerrit.libreoffice.org/61452 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-06inline GfxLink::SwapInNoel Grandin
only called from one site Change-Id: I2f8cb927df2f4f389c5d1bee19845aed5535663b Reviewed-on: https://gerrit.libreoffice.org/61437 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-05Bin some ancient debug tracing stuff from TiledLibreOffice daysTor Lillqvist
Change-Id: I3928c6e9240ad28a65aeb4fecb07268f789faf67
2018-10-05SAL_WRN and SAL_INFO tweaksTor Lillqvist
Also add an assertion and some verbose debug output (in #if 0). Change-Id: If4907a682ee7359d71078f72ca2f483c80fc4a58
2018-10-05Fix typoAndrea Gelmini
Change-Id: Ia555369ae5dd530e5c0fdb4122071eff262059f1 Reviewed-on: https://gerrit.libreoffice.org/61418 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-10-05weld ExportDialogCaolán McNamara
Change-Id: I9d0f21a10708edcc7f5da14f83944da58c33b1d9 Reviewed-on: https://gerrit.libreoffice.org/61408 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-05bodge up a workaround for GtkComboBox menus not appearing under waylandCaolán McNamara
when the menu is too tall to fit and the active entry is sufficiently far down the menu that the problem gets triggered. i.e. https://gitlab.gnome.org/GNOME/gtk/issues/94 as a workaround set wrap to 1, which is good enough to make GtkComboBox take an alternative path to the one which sets the problematic rect-anchor-dy value and the menu will at least appear Change-Id: Ia05887e0db727b7e1045179e36d348d22228a0ce Reviewed-on: https://gerrit.libreoffice.org/61416 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-05Alpha channel in BitmapColor - change bIndex to alphaTomaž Vajngerl
We want to store the alpha channel in BitmapColor. To achieve this we can repurpose bIndex attribute for alpha. Generally we don't need bIndex at all as we can infer if we use index colors or not from the context (using palette or not) Change-Id: I18fe748beeca59e2869368a1c3c2ee9d2062b41e Reviewed-on: https://gerrit.libreoffice.org/61057 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
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-04-Werror,-Wdeprecated-declarations (--with-macosx-version-min-required=10.14)Stephan Bergmann
These are all the cases where the warning doesn't suggest a direct replacement, so the existing code is just wrapped in SAL_WNODEPRECATED_PUSH/POP for now. A companion commit will cover cases where there is a direct replacement that can probably be applied (even backwards-compatibly with our current baseline, hopefully). Change-Id: I899537cb36dd69e08b5442ad4af7ce69ce2ddaec Reviewed-on: https://gerrit.libreoffice.org/61354 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-10-04loplugin:redundantcastStephan Bergmann
"static_cast from 'CGContextRef' (aka 'CGContext *') prvalue to 'CGContextRef' (aka 'CGContext *') prvalue is redundant" with --with-macosx-version-min-required=10.14 at least. (Not exactly sure why this warning only starts to appear now. Presumably something changed in the system headers. Lets see whether older baseline builds are happy with the dropped casts, too.) Change-Id: Id52d1891e5e33f7c37d095440339980b4000ca4e Reviewed-on: https://gerrit.libreoffice.org/61353 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-10-04weld SwFindEntryDialogCaolán McNamara
Change-Id: Ia45e4ce13b92fd73fcc8ad52233aa5eccc3cfb6d Reviewed-on: https://gerrit.libreoffice.org/61365 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-04loplugin:override (--enable-qt5)Stephan Bergmann
Change-Id: Id9e3127a7ac53dc9e50caa4d4c4c4d7c6e7008fb
2018-10-04loplugin:subtlezeroinit (--enable-qt5)Stephan Bergmann
Change-Id: I1a6f0a2b0de82fd0e8c30818c2ddf6e0a2d3f1b0
2018-10-04loplugin:nullptr (--enable-qt5)Stephan Bergmann
Change-Id: I85e310a4e2cf8e9f726d8d7c6ac8bbb399f0cd7c
2018-10-04Implement qt5 plain text copy to clipboardKatarina Behrens
Change-Id: I5804467c97758641718a6d6314cae015a0442d1b Reviewed-on: https://gerrit.libreoffice.org/61233 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2018-10-04Implement qt5 plain text paste from system clipboardKatarina Behrens
Change-Id: I44053d445098efc619ad9255d8f21962531a0654 Reviewed-on: https://gerrit.libreoffice.org/60674 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@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-04Resolves: tdf#120175 normalize theme names to our naming schemeCaolán McNamara
So breeze-dark turns into breeze_dark Change-Id: Id5d06f73a79f099048b31fd16f9f9611236af392 Reviewed-on: https://gerrit.libreoffice.org/61321 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-04color moved to slot 4Caolán McNamara
Change-Id: I965d4b042cf1510d5286c85043792a140116497f Reviewed-on: https://gerrit.libreoffice.org/61331 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-04Fix crash when no key bindings are availableSamuel Mehrbrodt
Change-Id: I89693a01bd3e89f6d4000901c01accf88b453691 Reviewed-on: https://gerrit.libreoffice.org/61232 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-10-04use regular Set methods in TextCharAttribNoel Grandin
instead of returning a mutable ref, which just reads weird Change-Id: Ia2e2a7222f6ccd73e1d7f69dd7c2523f3a05ae24 Reviewed-on: https://gerrit.libreoffice.org/61309 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-04use unique_ptr in TextCharAttribList::InsertAttribNoel Grandin
Change-Id: Ie6818586e9dbbcbf79f0bb8e1031fc0a0b13763a Reviewed-on: https://gerrit.libreoffice.org/61308 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-03Resolves: tdf#120277 special character dialog not appearing in OnlineCaolán McNamara
the magic smoke connecting the dialog to the viewshell was in SfxModalDialog, so not inheriting from that drops the connection add a SfxDialogController to enable setting up the connection Change-Id: I29c45cd43e05295309fc647b039db0c6565ca0d1 Reviewed-on: https://gerrit.libreoffice.org/61304 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-03vcl: fixed Windows build with enabled breakpadVasily Melenchuk
It was unresolved external symbol CrashReporter::AddKeyValue() in SalAbort() Change-Id: I21c48e40a9b9b73e43f6b5f58079b7877a1deac6 Reviewed-on: https://gerrit.libreoffice.org/61293 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-10-03no need to call empty() before clear()Noel Grandin
found with git grep -A2 -nP '!.*\.empty()' | grep -B1 -w clear Change-Id: I87013eab9c6988048b891d20577e1f7efbce1b6c Reviewed-on: https://gerrit.libreoffice.org/61295 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-03loplugin:unusedmethodsNoel Grandin
Change-Id: I9e583df920657ab401162db79decb192c4f69f90 Reviewed-on: https://gerrit.libreoffice.org/61283 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-03We need to include <o3tl/make_unique.hxx> hereTor Lillqvist
Change-Id: I9670407cd9e848d208f844f6d0879a5a19b86f4c
2018-10-03when gtk3 >= 3.22.0 set natural size propagateCaolán McNamara
so 1-10 in format numbering etc isn't slightly clipped with a scrollbar on top of it Change-Id: I55909993d4b4c846ca0aeff2f2cd458dfa59d860 Reviewed-on: https://gerrit.libreoffice.org/61262 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-03weld SwSvxNumBulletTabDialogCaolán McNamara
Change-Id: I8ea74dc15bba04c0615e61c069407160a7b95c4c Reviewed-on: https://gerrit.libreoffice.org/61242 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-02tdf#120234 ignore all proxy windowsJan-Marek Glogowski
I thought just border windows can act as proxies, but this bug proves me wrong; also floating windows set mpClientWindow and may have an additional nested proxy border window. Interestingly proxies can have multiple children, which I tested with a temporary assertion I added!? So just ignore all proxy windows until we find a real one, And drop the assertion as it doesn't make sense any more. I'm just wondering why I always read Child instead of Client... Change-Id: I83a1a5743b434399aae361cb14058993ba60c83c Reviewed-on: https://gerrit.libreoffice.org/61196 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-02We shouldn't call DrawTextLayout() without a context on iOSTor Lillqvist
Change-Id: I3e72909ca1aa9f97721d982f16624f496152ae2d
2018-10-02LibreOfficeKit wants the tile pixmap bytes to be in BGRA order in memoryTor Lillqvist
To get that with CoreGraphics on iOS we need to use also kCGImageByteOrder32Little in the CGBitmapContextCreate() call, otherwise the bytes will be in ARGB order in memory. (Not touching the macOS code here.) Change-Id: I3c2dd94feb1c6bf46c5b335f5901b29e5fe1e7fb
2018-10-02weld SvxNumOptionsTabPageCaolán McNamara
Change-Id: Ie2ae18b1722e91996887162b4a8ff02d2d812341 Reviewed-on: https://gerrit.libreoffice.org/61228 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-02filename may be nullCaolán McNamara
Change-Id: I373886d3613607b8ee8e96d8c0314865f3991a92 Reviewed-on: https://gerrit.libreoffice.org/61241 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-02Implement filter for Qt5AccessibleWidget::relationsSamuel Mehrbrodt
Change-Id: I1859d612e13b2f0d837aa65012552c441346cb1a Reviewed-on: https://gerrit.libreoffice.org/61236 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>