summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)Author
2020-03-18use DEFAULT_QUALITY for font rendering with Skia on WindowsLuboš Luňák
I don't know why tdf#98380 explicitly forced ANTIALIASED_QUALITY, for OpenGL, but with Skia this breaks subpixel AA on LCDs, where the actual value should be CLEARTYPE_QUALITY. But DEFAULT_QUALITY simply seems to do the job no matter what. Maybe the problem with OpenGL was that our code there handles glyphs as monochrome, but Skia can handle colors, which is necessary for subpixel AA. Change-Id: Id7081b120f8e754deb4793423d157a8837e959aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90581 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-03-18implement text rendering using directly Skia (X11)Luboš Luňák
The Cairo-based way reuses code that is used for OpenGL, but it's needlessly complicated, given that Skia itself is capable of text rendering as well. This requires a small patch for Skia so that it uses the FcPattern* we use for selecting a font. The rendering with this commit is usable, but visually the result is noticeably different, so this will need tweaks to the font rendering (TBD). Change-Id: I058c282307106c929ccc9faa7b2bddfabf0f0a2c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90580 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-03-18move most font handling out of CairoTextRenderLuboš Luňák
It doesn't really have anything to do with Cairo, it's FreeType, and it can be reused by other implementation (to be used by Skia). Change-Id: I02fe8b9d8cd9334741240a1198460c41543cd876 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90605 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-03-18simplify ORefVector codeNoel Grandin
by making it extend std::vector - it wants to be a ref-counted vector, so let it be, and we can simplify the usage sites Change-Id: I93ff6ee1522da965e16223dca171401d36fd67b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90664 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-18pdfium: support for pages when using PDF import with pdfiumTomaž Vajngerl
Moving PDF to use VectorGraphicData in Graphic has temporary removed the support for showing different PDF pages when opening the PDF using pdfium (LO_IMPORT_USE_PDFIUM=1). This adds the support for back by specifying whcih PDF page to render when creating the VectorGraphicData (and can't be changd afterwards), which is used to create a Graphic and contains the PDF source data array. Change-Id: Ib915216b8d4c0c063d0fead44ff156b1915a35d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90562 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-03-17pdfium: Make Insert -> Image... use VectorGraphicData for PDF.Jan Holesovsky
In principle, the current Svg/Emf/Wmf and PDF handling is trying to achieve the same thing: Keep the original stream untouched, provide a replacement graphics, and a kind of rendering. To hold the data, the Svg/Emf/Wmf and PDF were using different structures though. This commit consolidatates that, and makes the Insert -> Image... (for PDF) actually using the VectorGraphicData to hold the original stream. This breaks loading the PDF as a document via PDFium - I'll fix it in the next commit(s). Change-Id: Iac102f32b757390a03438c165e430283851cc10b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90561 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-03-17missing use_underlinesCaolán McNamara
Change-Id: I2953069ee266c2a7850181826b299f0037a936ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90662 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-16remove unnecessary Window::Update() calls, which immediately follow InvalidateNoel Grandin
Update() is effectively "paint immediately". Rather just let the invalidate do it's thing and have the widget paint on the next paint loop, along with the rest of the stuff. This is probably mostly cargo-cult, from the days when our invalidate/paint timer could take a long time to kick in. Change-Id: Idff06526e9a2892244cfd8ce6947916032b0d1a9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90567 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2020-03-16Some more checks for correct screen sizeSamuel Mehrbrodt
Change-Id: Id5a811e4227052fd9117ab2b099de31e8e3b90c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90413 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2020-03-16Fix typoAndrea Gelmini
Change-Id: Iedeb55e5b907c6b837b0d70c2a17f6e23f824cd9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88626 Tested-by: Andras Timar <andras.timar@collabora.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2020-03-16Revert "loplugin:constfields in vcl"Noel Grandin
This reverts commit 59887868da3499c68d5f259cfa48178354397448. Change-Id: I0f3f6a7680c78103a559a0f881badc8211b97ace Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90544 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-15vcl: prefer emplace to insert on std::mapAshod Nakashian
Change-Id: I513c1bdb63a8a57a40b36c908dfb4387322f2cc3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90297 Tested-by: Jenkins Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2020-03-14tdf#130975 replace `rtl::math::isNan` with `std::isnan`.Yukio Siraichi
Change-Id: I5d53e6369d35093445b2efd8936bbf8c6775ff47 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90451 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-03-13compare using GtkTreePath instead of GtkTreeIterCaolán McNamara
Change-Id: I53d8f686fd924c82fc00285f28dbdc7c73577f7c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90466 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-13Revert "loplugin:constfields in svtools"Noel Grandin
This reverts commit 07c4aa4298f062cee1894b80ef82e76d5ffcf4c7. Change-Id: Ic3f639581b9aca373f82c011f15be60d117b1943 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90476 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-13skip on-demand entries on iter_next/iter_previousCaolán McNamara
Change-Id: I5a12cae948893ea4e221f335cc29acc663e1ce29 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90442 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-12android: Fix 32bit build.Jan Holesovsky
Change-Id: Ife6740860cd7e1844b1ff0166694652538048a44 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90411 Tested-by: Jenkins Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2020-03-12rework Skia setupLuboš Luňák
Calls to SkiaHelper::isVCLSkiaEnabled() may be done from many places, even if LO uses a VCL plugin that doesn't use Skia, which leads to the Skia code not being prepared properly (and crashing/asserting). So make the SalInstance of those relevant VCL plugins call a setup function that is required for Skia actually getting enabled. Avoids crashes/asserts in the About dialog if the Skia UI checkbox is enabled but e.g. the KF5 VCL plugin is actually used. Change-Id: Ib56a5f32e88bd130a4c564031313f85e99898ba7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90376 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-03-12comparison operators should be constNoel Grandin
Change-Id: Ifa76e004128223460945d58d1c59c4e23db0f108 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90370 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-12tdf#130977 replace `rtl::math::isFinite` with `std::isfinite`.Yukio Siraichi
- make all calls look like `std::isfinite`. - change the comments referring `rtl::math::isFinite`. Change-Id: I0cde9ceb9f20150467b454cddde5e62003cfde1a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90234 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-03-11Blind fix for Android Tinderbox buildMichael Weghorn
... which failed as follows, which looks related to commit 6d9a31a58c2b55c0caef10c8bbb3d75147c2476f ("android: Use the best speed compression as on iOS"), s. [1] for full log: 12883 [build CXX] vcl/source/pdf/XmpMetadata.cxx 12884 In file included from /home/android/lo/master-android-arm/vcl/source/filter/graphicfilter.cxx:24: 12885 In file included from /home/android/lo/master-android-arm/include/comphelper/processfactory.hxx:23: 12886 In file included from /home/android/lo/master-android-arm/include/com/sun/star/uno/Reference.hxx:28: 12887 In file included from /home/android/lo/master-android-arm/workdir/UnoApiHeadersTarget/udkapi/comprehensive/com/sun/star/uno/RuntimeException.hpp:8: 12888 In file included from /home/android/lo/master-android-arm/workdir/UnoApiHeadersTarget/udkapi/comprehensive/com/sun/star/uno/Exception.hpp:8: 12889 In file included from /home/android/lo/master-android-arm/workdir/UnoApiHeadersTarget/udkapi/comprehensive/com/sun/star/uno/XInterface.hpp:6: 12890 In file included from /home/android/lo/master-android-arm/workdir/UnoApiHeadersTarget/udkapi/comprehensive/com/sun/star/uno/XInterface.hdl:6: 12891 In file included from /home/android/lo/master-android-arm/include/com/sun/star/uno/Any.h:29: 12892 NEXT /home/android/lo/master-android-arm/include/cppu/unotype.hxx:296:16: error: no matching function for call to ´cppu_detail_getUnoType´ 12893 return cppu_detail_getUnoType(static_cast< T1 * >(0)); 12894 ^~~~~~~~~~~~~~~~~~~~~~ 12895 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:321:34: note: in instantiation of member function ´cppu::UnoType<int>::get´ requested here 12896 return ::cppu::UnoType< T >::get(); 12897 ^ 12898 /home/android/lo/master-android-arm/include/com/sun/star/uno/Any.hxx:276:34: note: in instantiation of function template specialization ´cppu::getTypeFavourUnsigned<int>´ requested here 12899 const Type & rType = ::cppu::getTypeFavourUnsigned(&value); 12900 ^ 12901 /home/android/lo/master-android-arm/vcl/source/filter/graphicfilter.cxx:2216:60: note: in instantiation of function template specialization ´com::sun::star::uno::operator<<=<int>´ requested here 12902 aFilterData[aFilterData.getLength() - 1].Value <<= 1; 12903 ^ 12904 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:120:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const ::cppu::UnoVoidType *´ for 1st argument 12905 cppu_detail_getUnoType(SAL_UNUSED_PARAMETER ::cppu::UnoVoidType const *) { 12906 ^ 12907 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:125:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const bool *´ for 1st argument 12908 cppu_detail_getUnoType(SAL_UNUSED_PARAMETER bool const *) { 12909 ^ 12910 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:130:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const sal_Bool *´ (aka ´const unsigned char *´) for 1st argument 12911 cppu_detail_getUnoType(SAL_UNUSED_PARAMETER sal_Bool const *) { 12912 ^ 12913 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:135:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const ::sal_Int8 *´ (aka ´const signed char *´) for 1st argument 12914 cppu_detail_getUnoType(SAL_UNUSED_PARAMETER ::sal_Int8 const *) { 12915 ^ 12916 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:140:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const ::sal_Int16 *´ (aka ´const short *´) for 1st argument 12917 cppu_detail_getUnoType(SAL_UNUSED_PARAMETER ::sal_Int16 const *) { 12918 ^ 12919 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:145:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const ::cppu::UnoUnsignedShortType *´ for 1st argument 12920 cppu_detail_getUnoType( 12921 ^ 12922 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:155:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const sal_uInt16 *´ (aka ´const unsigned short *´) for 1st argument 12923 cppu_detail_getUnoType(SAL_UNUSED_PARAMETER sal_uInt16 const *) { 12924 ^ 12925 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:161:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const ::sal_Int32 *´ (aka ´const long *´) for 1st argument 12926 cppu_detail_getUnoType(SAL_UNUSED_PARAMETER ::sal_Int32 const *) { 12927 ^ 12928 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:166:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const ::sal_uInt32 *´ (aka ´const unsigned long *´) for 1st argument 12929 cppu_detail_getUnoType(SAL_UNUSED_PARAMETER ::sal_uInt32 const *) { 12930 ^ 12931 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:172:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const ::sal_Int64 *´ (aka ´const long long *´) for 1st argument 12932 cppu_detail_getUnoType(SAL_UNUSED_PARAMETER ::sal_Int64 const *) { 12933 ^ 12934 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:177:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const ::sal_uInt64 *´ (aka ´const unsigned long long *´) for 1st argument 12935 cppu_detail_getUnoType(SAL_UNUSED_PARAMETER ::sal_uInt64 const *) { 12936 ^ 12937 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:183:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const float *´ for 1st argument 12938 cppu_detail_getUnoType(SAL_UNUSED_PARAMETER float const *) { 12939 ^ 12940 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:188:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const double *´ for 1st argument 12941 cppu_detail_getUnoType(SAL_UNUSED_PARAMETER double const *) { 12942 ^ 12943 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:193:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const ::cppu::UnoCharType *´ for 1st argument 12944 cppu_detail_getUnoType(SAL_UNUSED_PARAMETER ::cppu::UnoCharType const *) { 12945 ^ 12946 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:200:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const sal_Unicode *´ (aka ´const char16_t *´) for 1st argument 12947 cppu_detail_getUnoType(SAL_UNUSED_PARAMETER sal_Unicode const *) { 12948 ^ 12949 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:206:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const ::rtl::OUString *´ for 1st argument 12950 cppu_detail_getUnoType(SAL_UNUSED_PARAMETER ::rtl::OUString const *) { 12951 ^ 12952 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:211:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const css::uno::Type *´ for 1st argument 12953 cppu_detail_getUnoType(SAL_UNUSED_PARAMETER css::uno::Type const *) 12954 ^ 12955 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:217:1: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const css::uno::Any *´ for 1st argument 12956 cppu_detail_getUnoType(SAL_UNUSED_PARAMETER css::uno::Any const *) 12957 ^ 12958 NEXT /home/android/lo/master-android-arm/include/cppu/unotype.hxx:243:31: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const css::uno::Exception *´ for 1st argument 12959 inline css::uno::Type const & cppu_detail_getUnoType( 12960 ^ 12961 /home/android/lo/master-android-arm/include/cppu/unotype.hxx:249:31: note: candidate function not viable: no known conversion from ´T1 *´ (aka ´int *´) to ´const css::uno::XInterface *´ for 1st argument 12962 inline css::uno::Type const & cppu_detail_getUnoType( 12963 ^ 12964 NEXT /home/android/lo/master-android-arm/include/cppu/unotype.hxx:223:1: note: candidate template ignored: could not match ´UnoSequenceType<type-parameter-0-0>´ against ´int´ 12965 cppu_detail_getUnoType( 12966 ^ 12967 NEXT /home/android/lo/master-android-arm/include/cppu/unotype.hxx:236:1: note: candidate template ignored: could not match ´Sequence<type-parameter-0-0>´ against ´int´ 12968 cppu_detail_getUnoType( 12969 ^ 12970 NEXT /home/android/lo/master-android-arm/include/cppu/unotype.hxx:256:1: note: candidate template ignored: could not match ´Reference<type-parameter-0-0>´ against ´int´ 12971 cppu_detail_getUnoType( 12972 ^ 12973 NEXT 1 error generated. 12974 [build CXX] vcl/source/uitest/logger.cxx [1] https://tinderbox.libreoffice.org/cgi-bin/gunzip.cgi?tree=MASTER&full-log=1583961601.24939 Change-Id: I098c21bc492f734115ae0e91f095ef542851c2ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90352 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2020-03-11m_sHelpRoot in weld::Builder is unusedNoel Grandin
since commit 082e69fefb7439fd4f3d543f0c402039e94c1e9c convert various MessBox to weld::MessageDialog - Change-Id: I08370632803c26ac9c47267e57c51eb56ad713f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90335 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-11Add some fallback minimum size when screen size detection goes wrongSamuel Mehrbrodt
Change-Id: I97ec2359b8ae406e310a5d043ac068ddd89b3fd1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90320 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-03-11android: Use the best speed compression as on iOS.Jan Holesovsky
Change-Id: Ib2be570a924c6ac6e226f47e6b183975df1fca2d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90258 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit 07fb148971b6853c2020cea6660fa62d6caacb85) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90281 Tested-by: Jenkins
2020-03-11Window::Update means to call Paint immediatelyCaolán McNamara
rather than wait until the next event loop. This is causing the scrollbar to be painted at pos 0 and then appears to flicker when it is repainted at its final position when the gen navigator treeview is cleared and refilled. call Invalidate instead to schedule in the painting of the scrollbars at the usual time. Update is used since initial commit so its unknown as to the reason why. If SetUpdateMode(true) is in use it won't happen so the flicker normally doesn't happen, but the equivalent we're using for the native gtk widgerty disconnects the model when frozen for performance, so setting cursor positions and other similar operations have to happen unfrozen. Not calling Update here would make things much easier. Change-Id: I4575e55802c54e5b849f076f2da79dd010fb27e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90331 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-11mysterious greyed out native toggle buttons when in foregroundCaolán McNamara
and flipping to normal mode when in background. Change-Id: I100efb651515b044d56a8c3838569cf717b37d51 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90328 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-11tdf#125440 Allow raising text import dialog for pasteSamuel Mehrbrodt
This adds an entry to the "Paste special" dialog to raise the Text Import Dialog. This way, users can correctly import CSV/TSV, even when pasting just one line of formatted input. Change-Id: Ic09d7d60a05b14906f166668b38ec0eb8ead2d19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89886 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2020-03-11scroll treeview correctlyCaolán McNamara
Change-Id: Ie769b0e4ba984b95378c4e7c418c7e4ba0d7acb0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90307 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-11WIN add bootstrap var to re-enable foreground hackJan-Marek Glogowski
We already found a regressed installation from commit 518c0265efebf39ab6d1e90c4ec4e7cf52b701c6 ("WIN prevent deadlock in SetForegroundWindow"). Finding a real fix might be impossible, so this just adds the bootstrap.ini boolean variable Win32.EnableAttachThreadInputHack to re-enable the previous AttachThreadInput hack on demand. Change-Id: I3b6d770b060b5dee60e02a5aa85efb8a51518c82 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90235 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-03-10tdf#61274 sd PDF export: fix links ending up on wrong pages with hidden slidesMiklos Vajna
SdPage::IsExcluded() decides if a slide is hidden, SdXImpressDocument::render() checks for this and returns early if needed. In that case PDFExport::ExportSelection() detects that the produced metafile has no actions and avoids creating a PDF page. Then Impress links are created using the vcl::PDFExtOutDevData::CreateLink() call in drawinglayer::processor2d::VclMetafileProcessor2D::processTextHierarchyFieldPrimitive2D(), not specifying the PDF page number explicitly. This means the link is created on the "current" page number, set in vcl::PDFExtOutDevData::SetCurrentPageNumber(), called by PDFExport::ExportSelection(), but that filter/ code can't know about hidden slides in sd/. Fix the problem by setting the page number again in SdXImpressDocument::render(), that way the link created by drawinglayer will end on the correct page. Change-Id: Ic29e345d45bc7c944d65e6e450f1d742dd0e9f8c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90299 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2020-03-10Resolves: tdf#131248 a11y crash when closing SQL Edit QueryCaolán McNamara
Change-Id: I39db7b352dd460f46092a054bfa89f5acdda54c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90259 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-10No need for #ifndef IOS here, this file is not compiled for iOSTor Lillqvist
Change-Id: I3d7c9e95021ba9bdf3992551eaacda29449704ff
2020-03-10writer navigator requires ability of per-row extra indentCaolán McNamara
Change-Id: Iaf34e245b2418c0dddb9a8a449da1a0abdd8def2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90257 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-10add asterisk<->KEY_MULTIPLY mappingCaolán McNamara
Change-Id: I4d5a776ed1fa72beece47652cf9e012d65388ea6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90242 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-10lok: dialog: check if exists a LOK Window NotifierHenry Castro
When the dialog is about to show, it requires to send to client side the "created" message. However, in the constructor has already assigned a notifier from the parent window. Change-Id: I1120ad1c1c70449048d6739b8564d1c1f6b1c7e3 Reviewed-on: https://gerrit.libreoffice.org/84908 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Henry Castro <hcastro@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90243 Tested-by: Jenkins
2020-03-09PDF export: use MARK() when writing linksMiklos Vajna
Links can be created using link or widget annotations, this helps finding the relevant code when reading the debug output. Same for page objects. Change-Id: Iec7f5c5d92da6dfcd0e8b6681a949a42a095ce18 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90233 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2020-03-09add more needed menu accel namesCaolán McNamara
Change-Id: Ie7a0d1267c327b1a315c3159f0c12c3c7a2dcb2d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90220 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-09tdf#127687 Qt5 introduce basic HiDPI scalingLuca Carlon
For tdf#124292, Qt's own HiDPI scaling was explicitly disabled, but it turns out, you can't really scale QStyle painting then. This patch series had a 2nd approach also used by Gtk+ currently, which relied on the scaling of ths Cairo surface, which works surprisingly good, but has to lie about the real DPI value, so nothing is scaled twice. Also all icons are then scaled instead of rendered with the proper resolution. When HiDPI support in Qt is enabled, and the application is started using QT_SCALE_FACTOR=1.25, Qt simply lowers the reported resolution, keeps the logical DPI value of 96 and changes the devicePixelRatio to the specified value. But LO still expects the real DPI values and sizes, so we have to multiply a lot of rectangles, sizes and positions. The current result is far from perfect, which you can see with the various graphics glitches, but it at least doesn't crash anymore in the ControlType::Editbox sizing code. The main problem is all the up and downscaling in the getNativeControlRegion code, so LO knows the size of the widgets for the correct layouting, since there seem to be no API to get the scaled values from Qt / QStyle. Change-Id: I687b1df6ef27724ce68326d256e9addccd72e759 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86239 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2020-03-09save/restore the entry text of the fontsize widgetCaolán McNamara
instead of its value, because the min value is 2, but we set empty text to indicate multiple values are selected in the underlying text. Change-Id: If4232b500cd177a264aa5e6ca0537021483db95f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90208 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-09add capability to remove a menu itemCaolán McNamara
Change-Id: Ie87645ea6b477a0d14deb66690d95fd203315ca0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90194 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-09improve loplugin:unusedfieldsNoel Grandin
noticed something that wasn't being picked up, wrote some tests, and found an unhandled case in Plugin::getParentFunctionDecl Change-Id: I52b4ea273be6614e197392dfc4d6053bbc1704de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90141 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-08tdf#131223 let return deactive active popupCaolán McNamara
Change-Id: Ib116a1eb047aa9f1a5ca7a2ec9333a793addd304 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90188 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-08tdf#131210: avoid infinite loop in 'Date acceptance patterns'Julien Nabet
Change-Id: Ib049b5d44f91e2b36c068e1ef351ae81707d885e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90180 Tested-by: Jenkins Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-07after inserting a widget into a toolbar make the toolbar the parent againCaolán McNamara
Change-Id: I2e814215225e2617d63dd6eccfc2a48f056b1f9e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90163 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-07set an initial height for widgets in toolbarsCaolán McNamara
Change-Id: I8722095bd6f36b80b841a4e3fe9841eb39c7ebcc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90162 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-07vcl: Module_vcl.mk - convert tabs to spacesTomaž Vajngerl
Change-Id: I1c6975d42936714fc28a636fbc363c7776858522 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90153 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-03-06tdf#125532: White text on default/action buttons and selected tabs on macOSThorsten Wagner
Change-Id: I58ce75e711504553c8fc606382866754286f1aa7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89313 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2020-03-06loplugin:unusedmethodsNoel Grandin
Change-Id: I698981490eb1391930cdd06821a80a5f770e000e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90109 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-06don't set labels/icon if the toolitem isn't a buttonCaolán McNamara
Change-Id: I48cd752e72e2c9fb92713343d9b3447817b10728 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90105 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-03-06add iter_previousCaolán McNamara
Change-Id: Id481e687c623db6ade6c17d039f347e66cb167aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90106 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>