summaryrefslogtreecommitdiff
path: root/vcl/inc
AgeCommit message (Collapse)Author
2018-10-30Hide SalLayoutGlyphs detailsJan-Marek Glogowski
Nobody outside of VCL should deal with GlyphItems. Change-Id: Id84b0f320bc49f790658f23efe129b92262c2aea Reviewed-on: https://gerrit.libreoffice.org/62446 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-30Rely on the font instance of the glyphJan-Marek Glogowski
The FreetypeFont might already have released the font instance of the glyph, but the glyphs font instance must still be valid, so use this instead to cache glyph bound rect. For whatever reason the Windows compiler doesn't accept inline functions in the GlyphItem struct and wants to export them in the DLL, even when declared VCL_DLLPRIVATE, so this just uses static inlines as a workaround. Change-Id: I4539d91a846a54a05f9648638494e1e99f704b0a Reviewed-on: https://gerrit.libreoffice.org/62425 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-30m_FeedbackFDs is unused on iOSTor Lillqvist
I wonder why we have that iOS ifdef in SvpSalInstance::Wakeup()? Elsewhere in this file we do compile code that uses those same fields for iOS, too. Change-Id: Ib801ea81fafcf2296181874018c1df2ceef144a1
2018-10-26loplugin:singlevalfields improvementNoel Grandin
look for any kind of types, not just POD types, helps to find smart pointer fields that are only assigned nullptr Change-Id: I2d887e98db012f03b646e1023985bcc196285abc Reviewed-on: https://gerrit.libreoffice.org/62382 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-25Change GlyphItem::nFallbackLevel to font instanceJan-Marek Glogowski
No need for a real reference, as GlyphItems are bound to their GenericSalLayout, which holds the valid reference and doesn't allow font change. Change-Id: I8e1129ef99f576e43d55f39aee040ceeb635d51d Reviewed-on: https://gerrit.libreoffice.org/62359 Reviewed-by: Khaled Hosny <khaledhosny@eglug.org> Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-25Move GlyphItem into its own headerJan-Marek Glogowski
Actually GlyphItem should be VCL internal, but this requires a transparent SalLayoutGlyphs (i.e. via pImpl), which I'm too lazy to implement currently. This seperation makes the affected source files more obvious and later migration of vcl/glyphitem.hxx easier. While at it apply the coding style and add '_' to member prefix. Change-Id: I61497af5c628c40f51597ce0ef286c47321acbc2 Reviewed-on: https://gerrit.libreoffice.org/62358 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-25Drop duplicate PhysicalFontFace referenceJan-Marek Glogowski
A LogicalFontInstance has a pointer to its parent font face. And don't pretend we can actually nest MultiSalLayout, so store the GenericSalLayout internally. Change-Id: I801acbc34497fc57e8e185eee34c1a1162dbea93 Reviewed-on: https://gerrit.libreoffice.org/62314 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-25loplugin:unusedmethodsNoel Grandin
Change-Id: I1f9ac5f8a090f365d9a21486029e1c13d721a4a4 Reviewed-on: https://gerrit.libreoffice.org/62338 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-24tdf#120764 Toolbar popups sometimes not showing under WaylandMaxim Monastirsky
This happens with gtk 3.24 if the toolbar button is clicked when the tooltip of that button is visible. The warning gtk emits is "Tried to map a popup with a non-top most parent". The solution is to hide the tooltip early on mouse button press event processing. (gtk does hiding too, but in a way which isn't useful here - see the code comment. We also have similar code for the non-native case in ImplHandleMouseEvent of winproc.cxx.) Note that it's likely a gtk bug, as this new tooltip behavior breaks some native cases too, e.g. combo boxes with tooltips. But we can't leave our toolbars broken until this is fixed upstream. Change-Id: I1ce8bffcd78a3bcbbfe2ffdd1bd006ae5dc79618 Reviewed-on: https://gerrit.libreoffice.org/62207 Tested-by: Jenkins Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
2018-10-24remove more rtl::OUString and OString prefixesNoel Grandin
which seem to have snuck back in since the great rounds of removals. Change-Id: I85f7f5f4801c0b48dae8b50f51f83595b286d6a1 Reviewed-on: https://gerrit.libreoffice.org/62229 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-24Introduce OutputDevice type OUTDEV_PDFJan-Marek Glogowski
Originally I thought mpPDFWriter can be used to create PDF from any OutputDevice, but it's actually just set for the internal VirtualDevice of the PDF writer. So this gets rid of all the special mpPDFWriter and GetPDFWriter() handling and replaces it with checks for OUTDEV_PDF. But since ImplPDFWriter used to be a OUTDEV_VIRDEV, this also introduces OutputDevice::IsVirtual(), which now replaces most of the direct OUTDEV_VIRDEV checks. Change-Id: I11824143b6b8833ecc81119762448cbdf1145dbc Reviewed-on: https://gerrit.libreoffice.org/62257 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-23Antialias drawing is part of the font selectionJan-Marek Glogowski
At least on Windows antialias-drawing has to be selected via LOGFONTW.lfQuality passed to CreateFont, so InitFont is too late. Change-Id: Ie81c5f0074fdbcf1f0e74fbff31a5df663a67884 Reviewed-on: https://gerrit.libreoffice.org/62200 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-22tdf#119856: [Re-]activate menu before dispatching commandKatarina Behrens
Menu entry dispatchers may be cleared (after they've been initially set) when an extension comes with its own menu entries. Activating the entry sets the dispatcher again so that dispatching a command can proceed Change-Id: I3909fb5eb6e6e2fa7db0418aca17009e60f01372 Reviewed-on: https://gerrit.libreoffice.org/62180 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2018-10-19tdf#120452: Just enough of SystemEnvData in Qt5ObjectKatarina Behrens
the video in the presentation still doesn't play but at least the crash is gone Change-Id: I78ab4ff9412998f235a4b44a23b0e9d3ef4143e0 Reviewed-on: https://gerrit.libreoffice.org/61944 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2018-10-19Make repeated drag'n'drop possibleKatarina Behrens
Change-Id: If87ceeb8ddc4b2aada8ea0c963385a291622fef6 Reviewed-on: https://gerrit.libreoffice.org/61932 Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> Tested-by: Katarina Behrens <Katarina.Behrens@cib.de>
2018-10-19Now that initiating drag works, let's also accept dropsKatarina Behrens
Change-Id: Iab328edd799dd4ce04312db4e640f86a8f7fda77 Reviewed-on: https://gerrit.libreoffice.org/61897 Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> Tested-by: Katarina Behrens <Katarina.Behrens@cib.de>
2018-10-19Kick-start beginning of drag eventKatarina Behrens
Change-Id: Iaad25a7acdc7d64013bc3dd0d9410e7d2d5c6762 Reviewed-on: https://gerrit.libreoffice.org/61791 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2018-10-18Implement drag'n'drop-related qt5 events, no-op so farKatarina Behrens
Change-Id: I67b8cecdc85ad77d7ab48d229459a79bc168072d Reviewed-on: https://gerrit.libreoffice.org/61721 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2018-10-18Just enough of SystemEnvData for drag'n'dropKatarina Behrens
Change-Id: I18ef6cb58632898ddfcb28098b99447565bcfb99 Reviewed-on: https://gerrit.libreoffice.org/61720 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@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-16loplugin:singlevalfields in vclNoel Grandin
Change-Id: I159f94fba64acc0e0599b64be02c7864b1ed02c3 Reviewed-on: https://gerrit.libreoffice.org/61813 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-15loplugin:staticconstfield improvementsNoel Grandin
And fix ScXMLCachedRowAttrAccess::Cache which was never setting its mnTab field, and hence would never be hit. And fix oox::xls::CellBlockBuffer, which was never setting mnCurrRow. Change-Id: I2c46aa050b9ebe3c2dc2e52579555f97945dd61c Reviewed-on: https://gerrit.libreoffice.org/61772 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-14unowrap.hxx is also exposed for toolkit onlyCaolán McNamara
Change-Id: Ife3648c8ca84c942f02fb6eab2990ec3eb3eb3f9 Reviewed-on: https://gerrit.libreoffice.org/61764 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-14Simplify containers iterations in vclArkadiy Illarionov
Use range-based loop or replace with STL functions. Change-Id: Ide2f89194238ae6a1f21e8132e2297710d9e6dcd Reviewed-on: https://gerrit.libreoffice.org/61756 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-11Add support for LXQt as a Linux desktop environment.Simon Quigley
This change makes LXQt use the Breeze icon theme, and adds it as a desktop environment along the other supported DEs. Change-Id: I482d85620986c8fc4e33b4722b887b81c77c23bf Reviewed-on: https://gerrit.libreoffice.org/61641 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-10-08No cairo used on iOSTor Lillqvist
Change-Id: I2fc713be404e68ea2fd0db43d0e93dfd62279da8
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-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-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-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-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-04loplugin:override (--enable-qt5)Stephan Bergmann
Change-Id: Id9e3127a7ac53dc9e50caa4d4c4c4d7c6e7008fb
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-02Qt5AccessibleWidget: Implement QAccessibleActionInterfaceSamuel Mehrbrodt
shows available action and allows to execute them Change-Id: I944e4eccaac7c458af77b471c1d6e10650b1e798 Reviewed-on: https://gerrit.libreoffice.org/61183 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2018-10-02Unify sal plugin loadersJan-Marek Glogowski
Change-Id: Ic099761eaff80349e985ccf62e3f4aa6b2e98022 Reviewed-on: https://gerrit.libreoffice.org/61103 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-02Implement MacOSX VCL backend as pluginJan-Marek Glogowski
Change-Id: Ie90af62eff146064c3b066a8f7ca1c3a69f44c39 Reviewed-on: https://gerrit.libreoffice.org/61102 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-10-02Implement Windows VCL backend as pluginJan-Marek Glogowski
Change-Id: If9c7c67f48311ac68ecc9f8e3a07f9bb7c73d962 Reviewed-on: https://gerrit.libreoffice.org/61101 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.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-30weld SwTestAccountSettingsDialogCaolán McNamara
Change-Id: Idead8d63dc472403e15eb9adf3cb82467e4d6721 Reviewed-on: https://gerrit.libreoffice.org/61106 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-28weld SvxNumberFormatTabPageCaolán McNamara
Change-Id: Ia6e6497d5c9b6c47e34e5cb5b3913d25e73c3a69 Reviewed-on: https://gerrit.libreoffice.org/60944 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-09-28loplugin:unusedfieldsNoel Grandin
Change-Id: I355fad84ed8765e8eb3fadb7c239b3b902ec1747 Reviewed-on: https://gerrit.libreoffice.org/61059 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
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-09-27loplugin:methodcycles more graph theory for the winNoel Grandin
implemeent a reduction approach, which is good at finding virtual methods that only themselves or their virtual partners. The accessibility GetVisArea stuff is dead since commit 891e41fac81fbd8d5cdb277b26639abfd25a7143 Date: Wed Apr 4 11:23:22 2018 +0200 dead code in AccessibleTextHelper_Impl::UpdateVisibleChildren Change-Id: I78d9d8bca585ecec8394f2c3fe2baa93db0e58f5 Reviewed-on: https://gerrit.libreoffice.org/60912 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-24Scheduler: add per-priority Task listsJan-Marek Glogowski
This way we don't have to search the whole list for a higher priority event, if an immediate Task is found. This probably helps bugs like tdf#119724 and tdf#119428. Change-Id: Ic5685193d1bedb6996cf46f0ee2cba42190ff7cc Reviewed-on: https://gerrit.libreoffice.org/60572 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>