summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)Author
2018-07-06loplugin:externandnotdefined + loplugin:unreffunJan-Marek Glogowski
Change-Id: I364cfdb3b26096d986b651bd3e0673fa3dbf5f83 Reviewed-on: https://gerrit.libreoffice.org/57039 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-07-06various loplugin in qt5Noel Grandin
loplugin:includeform loplugin:staticaccess loplugin:loopvartoosmall loplugin:redundantcast Change-Id: Ibd4848f0c6076d5ae95fff2853e1f6e0ba1c083b
2018-07-06Qt5 use fontconfig for font substitutionJan-Marek Glogowski
This just shoves all known fonts from the PrintFontManager into the QFontDatabase. Can be disabled using SAL_VCL_QT5_NO_FONTCONFIG. It already feels slow - don't know. Running "./bin/run vcldemo --show text" you can see it has some pro and cons, regarding the output. Qts' diacrits look definitly nicer then the "substitutions". This brings the font support kind of on par with the other backends. And since sensible font substitition is not at all implemented in Qt, we have to rely on some platform ssolution anyway. And this needs a sensible, platform agnostic interface, so we can reuse the code easier. Change-Id: I4e9d8ee98fc479a7c4bbe4c968116e0a102ebb7a
2018-07-06Qt5 multiple small fixesJan-Marek Glogowski
* just assert palettes, which are larger then the bitmap support; smaller then maximum palettes are ok * 1bit images are encoded by the most significant bit (N1BitMsbPal) => adapt the alpha mask decoding * drawLine update height and width need an additional pixel * drawn objects can be filled *and* have an outline * show cairo usage in about dialog Change-Id: I301708386feb3cc1c86b27f47f0e76594a1e7357
2018-07-06Qt5 implement invert for blinking cursorJan-Marek Glogowski
The different modes are quite probably not correctly implemented, as multiple backends disagree here. Change-Id: I08fc3096487ca95f4905ae9f0e4b5d3897fca483
2018-07-06Qt5 implement scaled image drawsJan-Marek Glogowski
If the source and target rects don't match, LO expect the image to be scaled. Change-Id: I337acfa56600eba92c10aed7a70749ad08c03e90
2018-07-06Qt5 implement 4bit => 32bit bitmap conversionJan-Marek Glogowski
Some of the PNG icons are 4bit palette based PNG images. This implements the conversation function for the most common 4bit case, so we don't rely on some generic handling. All other non-4bit conversions can be handled by Qt. Change-Id: I4ddd744fb7166fc3a6992b6be6c250c2adb99ca5
2018-07-06Qt5 flesh out font handlingJan-Marek Glogowski
Fills some more FontAttributes based on the QFont. Also implements initial font rotation support. Something is still strage with the vertical font in Writers vertical ruler. Text looks correct in vertical text boxes FWIW. The toRectangle bug is embarrassing; I was wondering for quite some time, which glyphs had strange size rects :-) While at it, move the Qt5Font header to vcl/inc/qt5. Change-Id: I67fa400486981035be6f98c5ab56e82d69c42065
2018-07-06Some cleanup and commentsJan-Marek Glogowski
Change-Id: Ic1dda9b0e5d7896703b65d0d43be340196bcb871
2018-07-05FontFeatureTest set weight/italcs explicitlyTomaž Vajngerl
Font featrues can depend on the state. To make the state more stable we need to set the the font properties explicitly. This sets the weight, italics, width type to "NORMAL", which changes the number of available features. Change-Id: Ida6be4191762c3acfeb7b95182b80717e9774c62 Reviewed-on: https://gerrit.libreoffice.org/57011 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-07-05Honor border width in a welded color picker for gtk3/x11Maxim Monastirsky
Change-Id: I1b59e85edb8e9df5be453dc0be1d7d1ffd100ceb Reviewed-on: https://gerrit.libreoffice.org/56996 Tested-by: Jenkins Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
2018-07-05vcl: experiment for font related test fails on WNTMichael Stahl
Change-Id: I7471299c1f0d4c0431e9b896cd2fbf5a056f31f8 Reviewed-on: https://gerrit.libreoffice.org/56892 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-07-04Notebookbar:Context for printpreview is now workingKshitij Pathania
Also the context stuff is now working well even after print preview is set Change-Id: Ia43f512394cf4d162b4019257c039aecb664df22 Reviewed-on: https://gerrit.libreoffice.org/56740 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2018-07-04Make ThreadPool::pushTask take param by std::unique_ptrNoel Grandin
And fix leak in XclExpRowBuffer::Finalize, was not freeing the synchronous task it creates Change-Id: Id1e9ddb5d968e6b95d9d2b5ca0c9e50774580182 Reviewed-on: https://gerrit.libreoffice.org/56874 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-04tdf#115718 Fix Watch Window EditBoxAlex McMurchy1917
For KDE4 only: this change reintroduces QStyle::PE_PanelLineEdit for the EditBox/LineEdit widget. This allows the contents of the Watch Window EditBox to be amended as one would expect. Change-Id: Iffd7498d5f553ac0c9c612bf36b9f23d9eb8f86d Reviewed-on: https://gerrit.libreoffice.org/56447 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-07-03vcl: fontfeature test, decalre fonts the same was as in sw testsTomaž Vajngerl
Change-Id: If1b3e658c30d1ae0e254ed7d8035d107bd2892f7 Reviewed-on: https://gerrit.libreoffice.org/56900 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-07-03tdf#115671 vcl opengl: fix drawing of polylines with duplicate pointsMiklos Vajna
The bugdoc had a custom shape, the interesting part of it was a triangle with miter line join, where the last segment was missing. In that case RenderList::addDrawPolyLine() mishandled the polyline, as it does not expect duplicate points in it. Change-Id: I06d5c2d191bb6269a87da1f006f27a94205f5145 Reviewed-on: https://gerrit.libreoffice.org/56879 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins
2018-07-03Draw button focus so that it doesn't obscure the actual buttonKatarina Behrens
Change-Id: I0df51b8dfd75dd966639d0893c379f2038c949ff
2018-07-03Use cairo's OVER operator to preserve transparencyKatarina Behrens
Change-Id: I1afae266a5308fa0dbf2488777ddb963e99199c7
2018-07-03Implement native modality for modal dialogsKatarina Behrens
instead of hack with hiding the window and showing it again (otherwise modality change has no effect and worse yet, weird things happen) it would be much easier to use QDialog Change-Id: Ie7029ca66380495c4aad246d02f4b96cb55eb01e
2018-07-03Traversing dialog controls backwards (Shift-Tab) works nowKatarina Behrens
Change-Id: If0e8d7307dd37436751e524d7ed24e89d5b72db3
2018-07-03Ignore closeEvent if user has vetoed closing the frameKatarina Behrens
Change-Id: Ib86ec0d297e23c02ad50ce1044859e029eae2ba9
2018-07-03Rearrange and annotate funcs by XInterfaceKatarina Behrens
Change-Id: Ie429074fdbe8fb4e28b1af47486bc70c5f8070e8
2018-07-03Implement getDirectory, signal+slotKatarina Behrens
also factor some shared code out into separate func Change-Id: I49d25eeb4eb647b72dae78c42301091d198eeff4
2018-07-03Folder picker is now really a folder pickerKatarina Behrens
and not a regular file picker with wrong title Change-Id: I849e7bb3d0cad197880fadd865f4d39f13245e97
2018-07-03Fix initial switch to folder in fileopen dlgKatarina Behrens
the argument passed is an URL, so using setDirectory wouldn't do the trick, setDirectoryUrl would Change-Id: I312f6e2a06b46777dc126f95f63ec0dbcb1f5799
2018-07-02loplugin:unusedfields improve checking for write-only fieldsNoel Grandin
we trade off a little accuracy for finding more possible write-only fields. Change-Id: I9f7edba99481fe4ded0a9d8e45e911b0ee99d269 Reviewed-on: https://gerrit.libreoffice.org/56715 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-06-30cppcheck: variableScopeJochen Nitschke
and use unique_ptr for vector elements Change-Id: I5421a53e96928699fd451d4ff3e2eef0bf847f42 Reviewed-on: https://gerrit.libreoffice.org/56772 Tested-by: Jenkins Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2018-06-30cppcheck: variableScopeJochen Nitschke
Change-Id: Icd99a9e6791840f7701745b93a0f414bf61e2955 Reviewed-on: https://gerrit.libreoffice.org/56773 Tested-by: Jenkins Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2018-06-29Improved loplugin:redundantcast (const-qualified typedefs): vclStephan Bergmann
Change-Id: Iac5978ee41f76a2b34c7dae12509212ba1c9d7e7 Reviewed-on: https://gerrit.libreoffice.org/56706 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-06-29This cast seems completely unnecessary to me?Tor Lillqvist
Change-Id: I93a135afc1402d9095828c4d41d669471a37f565 Reviewed-on: https://gerrit.libreoffice.org/56661 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins
2018-06-29tdf#117335 Fix displaying GIF imagesBartosz Kosiorek
To fix regression the sal_uInt16 was used instead of sal_uInt8. Verified on macOS High Sierra 10.13.5. I also checked if with this fix, there is no issue with displaying EMF (tdf#113197) Sample document from tdf#113197 is displaying correctly. Change-Id: I6504717d831a193b0a878ced2f335d34a993aed6 Reviewed-on: https://gerrit.libreoffice.org/56578 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de> Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2018-06-29Fix typosAndrea Gelmini
Change-Id: If6fafa1ef192411a9d59ef9a4ef4d7f522c67f66 Reviewed-on: https://gerrit.libreoffice.org/55964 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2018-06-28tdf#86612: statusbar: hide some elements if width is not sufficientVasily Melenchuk
new statusbar element property mandatory=true/false to determine if this element can be hidden if total statusbar width is not enough to fit all elements. marked some calc and draw statusbar elements as not mandatory. Change-Id: I20e26d3c4bd865e94ea48632a1e97d55f3fa712f Reviewed-on: https://gerrit.libreoffice.org/56443 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2018-06-28Clean up ownership tracking of SalVisual's visual (in X11 Visual base class)Stephan Bergmann
GCC trunk towards GCC 9 emits -Wdeprecated-copy because SalVisual has implicit copy functions but a user-declared dtor. The implicitly-defined copy functions are actually used (so cannot be deleted), but in fragile interaction with the semantics of the user-provided dtor in the SalColormap(sal_uInt16) ctor. Changing SalVisual into a move-only class (moving the "this instance must delete its visual member" information) doesn't work well, as SalDisplay::ScreenData is used as a supply of SalVisual instances (but which will never be of the "this instance must delete its visual member" variety) that are then copied into SalColormap::m_aVisual. As only SalColormap creates SalVisual instances of the "this instance must delete its visual member" variety, what actually works is to track that information in SalColormap instead of directly in SalVisual, and make SalColormap a move-only class. Change-Id: Ib968a38c40b660ce91981b3c7b281f4add6ece6b Reviewed-on: https://gerrit.libreoffice.org/56579 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-06-27This assert() seems superfluousTor Lillqvist
The assertion fails when one reproduces tdf#69460 but removing the assert() does not cause any problems. Change-Id: Idaa5d41a0cf76073e406d7152fc3b4e9ebd3e876 Reviewed-on: https://gerrit.libreoffice.org/56538 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2018-06-27tdf#102960 vcl opengl: fix missing support for polygon track framesMiklos Vajna
Which is used in e.g. the Calc cell border dialog. The approach is similar to commit 60790935cc143de49b732e93b6fb923b7669530b (tdf#96657 - vcl opengl: implement invert: Track Frame., 2016-01-09) but that one was for rectangles, this one is for polygons. Change-Id: Ib1feebab2d14f4450fee0afe96afcea906965fdb Reviewed-on: https://gerrit.libreoffice.org/56534 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins
2018-06-27This should be a const NSString* so that we can pass such variables to itTor Lillqvist
Change-Id: I017c100f83faac64ad3a8430010c226b438e6a07 Reviewed-on: https://gerrit.libreoffice.org/56529 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-06-27vcl: prefer OpenType font feature description over GraphiteTomaž Vajngerl
If the fon supports Graphite features we can get the feature descriptions from the font, but this descriptions are mostly limited (available in a limited number of languages), so it is better to only use this descriptions only if the feature does not have an OpenType description available. Change-Id: Ic0b81cb8cc22e1e73f30e6a960167cfa982fbfc7 Reviewed-on: https://gerrit.libreoffice.org/56318 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-06-27tdf#53282: Leave (our own) full-screen mode when the AquaSalFrame is dyingTor Lillqvist
Change-Id: I85243dff96b9090de0fd55564b44abb6142d9ac2 Reviewed-on: https://gerrit.libreoffice.org/56524 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2018-06-26forcepoint#50 fix end detectionCaolán McNamara
rBuffer.size() of 26, nBytes of 25, rBuffer[25] is the first zero so aLine.getLength() of 25, nBytes reduced by aLine.getLength()+1 and nRun increased by same, so nBytes wraps and nRun is 26. Change-Id: Ia9f4789e081e6b77a21321f37d71cabfc7c84550 Reviewed-on: https://gerrit.libreoffice.org/56478 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-06-26support gtk < 3.20.0Caolán McNamara
Change-Id: Ib21c787a5ff9253e54d620f5bb0142a57d04987d Reviewed-on: https://gerrit.libreoffice.org/56448 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-06-26Resolves: tdf#118356 freeze/thaw mass language additionsCaolán McNamara
Change-Id: Ifdc2247594d3ddeea0ca7b3b97eb6e392c54f95b Reviewed-on: https://gerrit.libreoffice.org/56409 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-06-25weld SwWatermarkDialogCaolán McNamara
Change-Id: Iff3ddfb4dd75088e39ea7675b085f1bbde2c2045 Reviewed-on: https://gerrit.libreoffice.org/56247 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-06-24uitest logger: some changes in log statementsSaurav Chirania
These changes will allow the interpreter introduced in gerrit change number 56120 to understand these log statements. Change-Id: I68a406cd19bbe1cfe5b6563025348263d564d5af Reviewed-on: https://gerrit.libreoffice.org/56305 Tested-by: Jenkins Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2018-06-24uitest logger: print parent when logging keysSaurav Chirania
Change-Id: I130f266016dc51dab5e4d1395fe579ca21a1b835 Reviewed-on: https://gerrit.libreoffice.org/55675 Tested-by: Jenkins Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2018-06-24vcl: treat description of cv** & ss** font features speciallyTomaž Vajngerl
To avoid adding descriptions for each of font features cv** and ss**, where ** is a number between 00-99, process them separately and just use one description for each. This simplifies translation as we don't need to add 99 copy-paste translations but add a bit more complexity when looking up the descriptions. Change-Id: Ia6e9554af20355c90c73afeec33fd18c694865b9 Reviewed-on: https://gerrit.libreoffice.org/56317 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-06-22Fix typoAndrea Gelmini
Change-Id: I3b85fad7fa8962daf5926740cc1ebdb8ff3d6c5c Reviewed-on: https://gerrit.libreoffice.org/56294 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2018-06-22tdf#116208 vcl opengl: fix lack of updates in status barMiklos Vajna
Commit f0821f9a347c7752a3c741c3451a2f1630173720 (Cache text layout of statusbar items, 2017-06-08) was a performance improvement of not laying out the text of status bar text during each & every paint. One of these places didn't work correctly with Chinese text, so commit a4ed3d9a1ffa1b51ba4352a955c950235f099fdc (tdf#115353 Status bar: no cache in settext, 2018-03-01) attempted to disable the caching at that particular place by removing the update of the cache. This resulted in lack of updates, e.g. during typing into Writer and checking the word count part of the status bar. Fix this (and at the same time keep the original problem fixed) by still not using the layout cache and that problematic place, but instead of just not updating the cache actually invalidate it -- probably that was the intention in the force place already. Change-Id: Ib7b91e5f24bc68d2f8cae2efea64340585ad9bd5 Reviewed-on: https://gerrit.libreoffice.org/56304 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins
2018-06-22Resolves: tdf#115816 simpler fix for masterCaolán McNamara
Change-Id: Ibafd041728624e781b5da44a0b484206f760d4d0 Reviewed-on: https://gerrit.libreoffice.org/56248 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>