summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)Author
2022-08-09tdf#145538 Change common loops to range based in ScanlineToolsTest.cxxStanislav Lopatin
Just convert some loops to range based and fix strange loop logic at 216 line. Upd: rename *iterators* as Mike Kaganski adviced Change-Id: Idf33b65f9c4466aa49c8f3bc13a12ad072dce7b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137929 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2022-08-08gtk4: cursor not changing on moving over other widgetsCaolán McNamara
Change-Id: I57f924522a6fd93950f56c44ca65aa5131fb4aa8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137989 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-08gtk4: complete set_cursor for gtk4Caolán McNamara
Change-Id: I31413a6dafe1ddf1345ac6bccb96fc88ed2993c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137985 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-08ofz#24932 TimeoutCaolán McNamara
restrict this to a very short length to reset ofz Timeout to force ofz to report a new issue when restored later Change-Id: Ibbdbb60f16ddca8367355d4c855e58aa16ea5f4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137944 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-07add set_scroll_thickness to provide a way to "zoom" the scrollbarCaolán McNamara
Change-Id: I551112fb097a6ac2b442cd37d1a16bd2b34ecc54 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137932 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-07tdf#150291 Revert "Fix crash when no valid EntryDescriptor found"Caolán McNamara
This reverts commit 499ecbf3a36990c29dc7e1fb9b0ecb1d297c2848 because it causes the dialog not to start with the default selected macro auto-expanded like it used to. Possibly the other fix for tdf#150291 solves the original problem. Change-Id: Ic91410de073fe87d4edebde18b60ffcc1ad324a3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137923 Tested-by: Jenkins Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-06tdf#150232: put Intel Iris driver Skia/Vulkan in denylist for all versionsJulien Nabet
+ Nvidia on Windows just for device id "0x1401" in order to not being too restrictive. Change-Id: Ie2cb2c6c6bb50ac6080721230ca3e451e886bb07 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137768 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-08-05Use 1 meter, not 10 meters divided by 10Mike Kaganski
Change-Id: I035bd25509db608d2273949cecd438d412e5a4c5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137816 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-08-05using ScrollType::Drag looks the safest choiceCaolán McNamara
rather than DontKnow, Drag assumptions seem to fit best Change-Id: Iae92b29d33e69410c67b43fabb933018f1277abf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137809 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-04qt a11y: Implement QtAccessibleWidget::offsetAtPointMichael Weghorn
Since `QAccessibleTextInterface::offsetAtPoint` uses screen coordinates, but `XAccessibleText::getIndexAtPoint` takes local coordinates (i.e. position within the object itself), convert that first. Tested as follows: 1) start new document in Writer 2) paste this text into the first paragraph: "Hello world, this is some test text. Lorem ipsum." 3) start Accerciser 4) select the paragraph in Accerciser's tree view of the LO a11y hierarchy. 5) use Accerciser's IPython console to check the results returned by calling the corresponding AT-SPI methods: In [69]: acc.queryText().getOffsetAtPoint(acc.get_position(pyatspi.component.XY_SCREEN).x + 200, acc.get_position(pyatspi.component.XY_SCREEN).y + 5, pyatspi.component.XY_SCREEN) Out[69]: 20 In [70]: acc.queryText().getOffsetAtPoint(acc.get_position(pyatspi.component.XY_SCREEN).x + 250, acc.get_position(pyatspi.component.XY_SCREEN).y + 5, pyatspi.component.XY_SCREEN) Out[70]: 27 In [71]: acc.queryText().getOffsetAtPoint(acc.get_position(pyatspi.component.XY_SCREEN).x + 300, acc.get_position(pyatspi.component.XY_SCREEN).y + 5, pyatspi.component.XY_SCREEN) Out[71]: 37 With this change and the Qt changes mentioned in commit 35be93f83ac866ef18f0e06853c9818cd1d1bd56 Date: Wed Aug 3 09:18:46 2022 +0200 qt a11y: Implement QtAccessibleWidget::characterRect , the results with the qt6 VCL plugin are the same as with the gtk3 one. Change-Id: Ie75fa9b7a64c413251c771f0379d9f3a3b200c30 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137795 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-08-04qt a11y: implement QtAccessibleWidget::{row,column}HeaderCellsMichael Weghorn
Implement these methods inherited from `QAccessibleTableCellInterface` by retrieving all row/column headers from the table (= cell's parent object) and only returning those for the row/column that the cell itself is in. Tested with Accerciser and the qt6 VCL plugin as follows: 1) start LO Writer, "Table" -> "Insert Table" 2) select to create table with 2 rows, 2 columns 3) make sure "Heading" is checked, "Heading rows": 1 4) "Insert" 5) in the first row, type "First heading" into first column, "Second heading" into second column 5) start Accerciser 7) select the table element in Accerciser's treeview of the a11y hierarchy 8) type these in Accerciser's IPython console: In [10]: acc.queryTable().getColumnHeader(0).name Out[10]: 'A1' In [11]: acc.queryTable().getColumnHeader(0).get_child_at_index(0).queryText().getText(0, -1) Out[11]: 'First heading' In [12]: acc.queryTable().getColumnHeader(1).name Out[12]: 'B1' In [13]: acc.queryTable().getColumnHeader(1).get_child_at_index(0).queryText().getText(0, -1) Out[13]: 'Second heading' Change-Id: I69b9bd10bfe4076de9e4a05fe4aff97d1bfa4118 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137794 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-08-04qt a11y: Implement QtAccessibleWidget::selectedCell{s,Count}Michael Weghorn
Change-Id: I728456d27211916010c0174fa71b0125c7530707 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137793 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-08-04qt a11y: Map BUTTON_{DROPDOWN,MENU} to Qt equivalentsMichael Weghorn
There are specialised roles for these 2 button types in Qt as well. Change-Id: I67f49f0c4afc5f20a8c42fa2388f08ea9d950b91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137785 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-08-04qt a11y: Map AccessibleRole::FILE_CHOOSERMichael Weghorn
Qt doesn't have an extra role for this, so use the dialog role, since `AccessibleRole::FILE_CHOOSER` is for a "specialized dialog that displays the files in the directory and lets the user select a file, browse a different directory, or specify a filename." Change-Id: Ib17b573dcd149148e72e1a47922dccf6f8fb67d5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137784 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-08-04qt a11y: Drop extra empty lines in switch/caseMichael Weghorn
Change-Id: I9208dccf15da918f8a30f21efb49986c69b68c5a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137783 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-08-04qt a11y: Drop obsolete and misleading commentMichael Weghorn
The /* Ignore window objects for sub-menus, combo- and list boxes, * which are exposed as children of their parents. */ comment had been added in commit 4d382636b0b1c555af2b98f2f41b4776fd7b5ffb Date: Fri Sep 21 10:20:09 2018 +0200 qt5: Add basic a11y support where the code was still actually doing that, but since commit 7384e53bbc5163534ae898b7295b4efe51c8acde Date: Fri Sep 28 17:00:12 2018 +0200 qt5 a11y: Use UNO Api instead of vcl::Window methods that is no longer the case, so drop the obsolete comment. Change-Id: Ic7739049f283dbe27f881414e87ada7616ca424f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137782 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-08-04Fix typos, __clang_ -> __clang__Stephan Bergmann
Change-Id: I89b8a2cb778f91610b6a8e8efc0c4e6ed96a7644 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137778 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-08-04qt a11y: Implement QtAccessibleWidget::windowMichael Weghorn
Quoting the Qt doc [1]: > Returns the window associated with the underlying object. > For instance, QAccessibleWidget reimplements this and returns > the windowHandle() of the QWidget. > > It is used on some platforms to be able to notify the AT client > about state changes. The backend will traverse up all ancestors > until it finds a window. (This means that at least one interface > among the ancestors should return a valid QWindow > pointer). Check if the associated QObject is a QWidget and if so, get the associated window, otherwise walk up the a11y tree. Note however that this change alone is not yet sufficient for a window to actually be returned for any arbitrary a11y object deeper down the hierarchy. This is because walking up the a11y hierarchy currently results in new Qt a11y objects being created for the parents instead of using existing ones, and the newly created ones lack the association to the widgets. (This works in a WIP branch that remembers/caches a11y objects, but that needs some additional work before it can be merged.) [1] https://doc.qt.io/qt-5/qaccessibleinterface.html#window Change-Id: Iba05f7bd3fba30fb2ca741179abbda2d60bee980 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137753 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-08-04qt a11y: Consider QObject hierarchy to find parentMichael Weghorn
The a11y hierarchy of the whole application includes a11y objects that have no LO-internal a11y objects associated with them, but are handled solely by the Qt library, like the Qt application at the root of the a11y hierarchy. Therefore, fall back to using the QObject hierarchy when looking for the parent of an a11y object. This e.g. makes the scenario of starting at the top-level application object, moving the hierarchy down two levels, then up again work, which now and ends up at the application object again. With the application a11y object ("soffice.bin") selected in the Accerciser tree view of the a11y hierarchy, this can be achieved with the following commands in Accerciser's IPython console: In [4]: acc.name Out[5]: 'soffice.bin' In [5]: acc.get_child_at_index(0).get_child_at_index(0).get_parent().get_parent().name Out[6]: 'soffice.bin' It previously failed like this, which is one of the reasons why restoring bookmarks in Accerciser didn't work when using the qt6 VCL plugin: In [1]: acc.get_child_at_index(0).get_child_at_index(0).get_parent().get_parent().name --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) /usr/lib/python3/dist-packages/pyatspi/__init__.py in <module> ----> 1 acc.get_child_at_index(00).get_child_at_index(0)0.(get_parent).(get_parent).nameAttributeError In [1]: acc.get_child_at_index(0).get_child_at_index(0) Out[2]: <Atspi.Accessible object at 0x7fd3b8d11140 (AtspiAccessible at 0x56252b30bd40)> In [2]: acc.get_child_at_index(0).get_child_at_index(0).name Out[3]: 'VCL ImplGetDefaultWindow (Type = 362)' In [3]: acc.get_child_at_index(0).get_child_at_index(0).get_parent() In [4]: acc.get_child_at_index(0).get_child_at_index(0).get_parent() == None Out[5]: True Change-Id: Iba197a2e943671591fa0ee5641a7b330eae8822a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137747 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-08-03handle scroll events in surrounding GtkSalFrame if there is oneCaolán McNamara
Change-Id: I47f71371246f6322f41b782697d4824517375c76 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137760 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-03gtk4: tweaks for native gtk4 scrollbars in writerCaolán McNamara
Change-Id: I42072354fd6f901035d1419f9f9402eac2eaaaac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137751 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-03tdf#117388 use native scrollbar under gtk in writerCaolán McNamara
with the motivation that for gtk4 theming for vcl scrollbar isn't available, so it looks super yuck but this should also support the long-press scrolling thing under gtk3 as a side effect. Change-Id: Iada5a66087d5aa982f9213d7ec0a05f6177f4e66 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137750 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-03export scroll type when possibleCaolán McNamara
Change-Id: I1c343507d7db4b0805c20eabb68bf58a4432d33f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137746 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-03allow welding scrollbars individuallyCaolán McNamara
typically a full ScrolledWindow is probably preferable, but allow individual scrollbars to be used Change-Id: Iab290b387421d7d97d3604e31f528769d822155a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137709 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-03qt a11y: Implement QtAccessibleWidget::characterRectMichael Weghorn
With this and the suggested changes ([1], [2], [3], [4]) for 4 Qt issues I ran into ([5], [6], [7], [8]), the Accerciser scenario described in commit 7b312771d7eb33f7410167e36efdaeca6f540b1c Date: Thu Jul 14 08:35:53 2022 +0200 tdf#149952 gtk3 a11y: Return pos relative to window when requested works for the qt6 VCL plugin as well. (The complete GNOME Magnifier scenario from tdf#149952 still doesn't work with qt6, probably because a11y events are not sent (reliably) so far.) [1] https://codereview.qt-project.org/c/qt/qtbase/+/422251/1 [2] https://codereview.qt-project.org/c/qt/qtbase/+/422333/1 [3] https://codereview.qt-project.org/c/qt/qtbase/+/424510/2 [4] https://codereview.qt-project.org/c/qt/qtbase/+/424731/1 [5] https://bugreports.qt.io/browse/QTBUG-105031 [6] https://bugreports.qt.io/browse/QTBUG-105042 [7] https://bugreports.qt.io/browse/QTBUG-105281 [8] https://bugreports.qt.io/browse/QTBUG-105313 Change-Id: Iaccc89bf62c4617bee06f34ffebbd309a62212e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137735 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2022-08-03tdf#149943 vcl: fix pixelated PDF export and print for a rotated imageMiklos Vajna
The bugdoc has a barcode which looks good in Writer, but it's quite blurry in the PDF export result. This is a problem since commit dd4a67084853a030bf4b9f1f85d728620e0604a5 (vcl: avoid downscale && upscale in DrawTransformedBitmapEx(), 2019-10-08), where the motivation was to not downscale a bitmap in case it has a larger amount of pixels but a smaller logic size. This went wrong here and resulted in a blurry bitmap for a not so small image. Fix the problem by mostly reverting the above commit, because it's no longer necessary: 68549e00d5e23aa22bc974a8151d93cd948444b3 (vcl, BitmapEx transformed draw: special-case simple rotations, 2019-10-10) already made sure that the rotation case doesn't use scaling from the transform. testTdf128630 has been adapted to pass again (after manually verifying that the bugdoc export result is still OK), now the bad case there simply produces a smaller bitmap. Change-Id: Ib28881c129a0cf037a96eecd065e5cadede97051 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137737 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-08-02more_fonts: Update AmiriKhaled Hosny
Update PDF export test that depends on a mapping the font no longer has, and use different characters that meet the test criteria. Change-Id: I0f89297a52ffcef3513e0a788ec3bab645cc354b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137661 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2022-08-02more_fonts: Update Reem KufiKhaled Hosny
Also update test expectation due to changed glyph order. Change-Id: I8f6d1a057077cb6de5e5d7fce4bec29929edb8b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137663 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2022-08-01Fix typo in codeAndrea Gelmini
It passed "make check" on my laptop Change-Id: I2d231c3a8ec40b63026a4b81256b98ee4be0ae1a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137660 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-08-01vcl: fix crash in vcl::ImportPDFUnloaded()Miklos Vajna
Crashreport signature: SIG Fatal signal received: SIGSEGV code: 1 for address: 0x0 program/libmergedlo.so vcl::ImportPDFUnloaded(rtl::OUString const&, std::vector<vcl::PDFGraphicResult, std::allocator<vcl::PDFGraphicResult> >&) vcl/source/filter/ipdf/pdfread.cxx:256 program/../program/libsdlo.so SdPdfFilter::Import() sd/source/filter/pdf/sdpdffilter.cxx:55 program/../program/libsdlo.so sd::DrawDocShell::ConvertFrom(SfxMedium&) sd/source/ui/docshell/docshel4.cxx:500 (discriminator 1) program/libmergedlo.so SfxObjectShell::DoLoad(SfxMedium*) sfx2/source/doc/objstor.cxx:768 Change-Id: I2fc635de696643af6a80a29aa5af4fa128f8776c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137673 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-08-01Fix typo in codeAndrea Gelmini
Change-Id: I215eb41bc2e7f442b0dc37393460bd2e53fed8c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137646 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-07-31vcl: Better kashida insertion position validationKhaled Hosny
Use the new HarfBuzz glyph flag HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL if available to prevent kashida insertion where is would interrupt shaping (between contextual glyphs). Previously we only prevented it when there is a ligature across the insertion position, with this change fonts that use contextual alternate instead of ligatures will be handled better as well. Change-Id: Ibb42a310c1e7dbcb225a1ba3acac82154b4edb3a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137649 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-07-31tdf#150201 Fix endianness for placeable WMFofftkp
The constant PLACEABLE_SIGNATURE in graphicfilter2.cxx had wrong endianness, which would cause the WMF file detection to fail for placeable WMFs. Changed endianness since WMF files are in little endian. Also added test using placeable and non-placeable WMFs. To run the test: make CPPUNIT_TEST_NAME="testDetectWMF" -sr CppunitTest_vcl_graphic_test Change-Id: Ia3c61bae5ab27375636f21bc902f773804cf9273 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137634 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2022-07-30Improve vcl scheduler documentationHossein
* Fixed a heading problem * Marked variables, functions and identifiers as fixed width * Added several related links Change-Id: If5e56c1e2a474fcfa52601ccda7911bf9e80c913 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137636 Tested-by: Hossein <hossein@libreoffice.org> Reviewed-by: Hossein <hossein@libreoffice.org>
2022-07-30gtk4: convert AtkObject::accessible-role to something elseCaolán McNamara
we only use AtkObject::accessible-role for "static", but there doesn't seem to be a good match to anything I can see in gtk4. convert it to accessible-role of "alert" for lack of a better idea. Change-Id: Ic0795fed006b827914f1319150a915187188a4db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137617 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-07-29Verify signing certificate cryptographically before use in testsMike Kaganski
Documents signed using an invalid (e.g., not having a trusted root) certificate give signatures that obviously can't pass validity tests. Change-Id: Id4b097516e06c548ea42cad65d76bbd8a6853cc4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137620 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-07-29gtk4: update vcl when popup was closed by some external meansCaolán McNamara
Change-Id: Ie580cd0b42ca1c928bfea20a4a9f1494021047d8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137560 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-07-29tdf#126754: Wrong OpenType tag for fractions in "font features" dialogJulien Nabet
Opentype defines only "frac" and not parameters values like 1 or 2 for "frac" See: https://en.wikipedia.org/wiki/List_of_typographic_features https://docs.microsoft.com/en-us/typography/opentype/spec/features_fj So remove STR_FONT_FEATURE_ID_FRAC_PARAM_0/1/2 + remove the extra ":" for STR_FONT_FEATURE_ID_FRAC I gave a try with "Alegraya" font, it worked. I also give a try with "Linux Biolinum G", there are still "None" (value "0"), "Diagonal fractions" (value "1") and "Nut fractions" (value "2"). It seems they're on the font itself like entry "'frac' Diagonal and nut Fractions". So it shouldn't bring regression. Change-Id: I2f46a3f4a53dc498b764dbeb1c1266589cc8d8c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137574 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-07-28gtk4: don't attempt to create a visual junction between float and launcherCaolán McNamara
the alignment won't match when using GtkPopover to implement these, there's an extra border+margin between the launcher and the contents Change-Id: Idb78d903874fee5a28e87c89951d9b3f9063c547 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137554 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-07-28vcl: Animation - cleanup pause functions and fieldsChris Sherlock
Change-Id: I8a338a92823bd4e4c1f8123d52711d0925357ee6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/76430 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-07-28Use bitmap width instead of scanline size in combineScanlineChannelsofftkp
Change-Id: I9f5de7ed1bdcd39e5d6e580a2edbd5c0dd2027e0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137278 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-07-28tdf#150181 vcl: first column is editable by default in SvTabListBoxMichael Stahl
(regression from commit fe38553aef2121f358fb58e450ec69314aad851e) Change-Id: I58e1afb228dfd87b7d642ccf1b58277960f01e14 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137561 Tested-by: Jenkins Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-07-28lok: add dumpState feature for better in-field diagnostics.Michael Meeks
Always suspicious that some un-expected dialog / state can cause strange behavior in a client. An initial cut at an API to make it easier to unwind such problems by exposing the toolkit state. Change-Id: If8f17943fa4837df4f9ca659a111dcdce5c23244 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137504 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2022-07-28gtk4: use GtkPopovers to replace popupsCaolán McNamara
still a bit rough, but functional at least Change-Id: I4b5f896a0d895ed20da3534173c20241a7fe7ea1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137510 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-07-28Enable Math sidebar panels for JSInstanceBuilderMike Kaganski
Change-Id: I9c71dd3cad1e45d0a01ab187c652711c19fe3b89 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135444 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-07-27gtk4: for gtk4 set the size of both layers of the overlayCaolán McNamara
the size request for the overlay comes from its main child, the drawing area in this case Change-Id: If814aaa1d1fc38b331b18f5e9685c405d4f0d1b3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137509 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-07-27gtk4: don't use an arrow for the gtk3->gtk4 menusCaolán McNamara
this was the clipboard dropdown matches the save one Change-Id: I423aeed097cd22d48aa9efcaf95e0e8d6fd36d98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137501 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-07-27gtk4: fill in more of this menu related stubCaolán McNamara
Change-Id: Ia646d6f98804ffbec1177d5964550708588ce88f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137500 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-07-27tdf#149439 Update Custom values that may have changed since last printer checkCaolán McNamara
keep any value the user explicitly set, but update one that was taken from lpoptions if that changed Change-Id: I02ed4ff575cb7b2580b777bb0948de2ff7211621 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137484 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-07-26tdf#150104 Store full printer/driver name in doc's JobSetupMichael Weghorn
Printer and driver name have a limited length (64 chars for the printer name, 32 for the driver name) in the `ImplOldJobSetupData` struct that is part of what gets serialized into the "PrinterSetup" config item in settings.xml when saving printer settings to the document (s. `WriteJobSetup`). Longer printer and driver names get truncated, and only the truncated name got restored. At least for Windows, this scenario would result in the doc printer settings not getting restored properly, because `ImplTestSalJobSetup` (in vcl/win/gdi/salprn.cxx) among others checks that both printer and driver name match, which isn't the case when one version is truncated. ODF spec, version 1.3, section 3.1.3.5 says this on settings.xml: > 3.1.3.5 <office:document-settings> > The <office:document-settings> root element contains > implementation-dependent settings. The file within a > package for the <office:document-settings> element is > settings.xml. Since the settings are implementation-dependent, changing the exact format and content of the data in "PrinterSetup" is unproblematic, as long as compatibility with older application versions is maintained. Luckily, there is already a way to save variable-length key-value pairs with `JOBSET_FILE605_SYSTEM`, added in commit 4bd178f6ee60f641b2a6c7fcc9f6e4b6dd01df27 Date: Fri Sep 22 11:55:00 2000 +0000 new feature in JobSetup: additional parameters Make use of this to save the full printer and driver name using the "PRINTER_NAME" and "DRIVER_NAME" keys and restore the values from those if present. For compatibility with older versions, the (potentially truncated) values are still written and also used as fallback on document open. Change-Id: I55bed58023fa7a078525add79b13f2310aa9a9dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137454 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>