summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)Author
2021-07-23no need to allocate these static vars on demandNoel Grandin
the constructor can be laid out at compile/link time Change-Id: I377a537e15199ae81394d76ac662576280a25c25 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119362 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-23do not use "using namespace std" in headersCollabora
It's a bad style, doing that in headers can affect many source files (especially with PCH used). Change-Id: Ic9091a1d018e74606c9fa95df71a55faaa93d4ac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119011 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-07-22tdf#95394 - ui fill dialog from (bitmap -> image)haru-02
Change-Id: Ib30eb0489e8cad2d417bc8638204b95f4acee936 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119115 Tested-by: Jenkins Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2021-07-22tdf#143493 Qt5 key modifier events don't have textJan-Marek Glogowski
Regression from commit 862fdb98ca271b60a831cd5420fd16d5f9c1c747 ("tdf#143298 Qt5 send SalEvent::KeyModChange events"). Change-Id: I6981af06e3a73dee45ed10416f5d3b17b860a73b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119375 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-07-22qt5 a11y: Always query the XAccessibleContext for a11y interfacesMichael Weghorn
The accessibility interfaces are implemented by the object implementing 'XAccessibilityContext' which is often the same as the 'XAccessible' (in which case the corresponding 'XAccessible::getAccessibleContext()' call just returns a reference to self), but it doesn't have to be that way. From offapi/com/sun/star/modules.idl: > /** UNO Accessibility API > > <p>This modules contains the basic interfaces of the UAA (UNO > Accessibility API). Services that describe how these interfaces are > implemented can be found in other modules. The services in this module > describe only what every accessible object has to support.</p> > > <p>Making a class accessible starts by supporting the > ::com::sun::star::accessibility::XAccessible interface. > This interface's only method returns the actual accessibility object, an > instance of ::com::sun::star::accessibility::XAccessibleContext. > These two interfaces may be implemented by the same class in which case > a call to ::com::sun::star::accessibility::XAccessible getAccessible() > returns the same object that is > called. Alternatively the implementation of the > ::com::sun::star::accessibility::XAccessibleContext > interface can be done by another class. This makes it possible to put > all accessibility implementations into their own library which has only > to be loaded when necessary.</p> > > <p>Note that all other interfaces have to be implemented by the same > class that implements the > ::com::sun::star::accessibility::XAccessibleContext > interface. Note also that there is no way back from an accessibility > object to the object from which it has been obtained by means of the > UAA. If you need such a back-link you have to provide one on your > own.</p> > */ > module accessibility {}; This e.g. makes Accerciser show the correct values of the "URL" and "Text" controls in Writer's "Insert" -> "Hyperlink" dialog. Change-Id: I909b1fdf5e1e7ca50db5d5191ae69cb558a49dc8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119364 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2021-07-22qt5 a11y: Improve Qt5AccessibleWidget::attributesMichael Weghorn
* handle case where out params are nullptr * set fallback values for out params at the beginning This e.g. makes Accerciser show '-1' for both, startIndex and endIndex for the text interface of the "URL" and "Text" controls in Writer's "Insert" -> "Hyperlink" dialog along with no text. Making the actual text show up if there is any will be handled in an upcoming commit. Change-Id: Ie864f729ad06e28684bd426e4ba37b8a9d4d4634 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119363 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2021-07-22tdf#143148: Use pragma once instead of include guardsSabyasachi Bhoi
Replace include guards with pragma once in header file Change-Id: I8f845a3eb563ab3e6d5ce57b3b411a46bce54889 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119368 Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2021-07-22no need to allocate the error separately in GraphicFilterNoel Grandin
Change-Id: I26c43cb72580d9cc384b3c4b70e43f47d3db0198 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119367 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-22osl::Mutex->std::mutex in GraphicFilterNoel Grandin
Change-Id: Ia7d81ad0eaeab4f6ecf89b555da26e42a27bf80b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119361 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-22flatten vcl::LazyDeleteNoel Grandin
we can allocate the stored value in-line and avoid some pointer-chasing Change-Id: I828814b127923cdcec1bf57b3b64dffab4cffaaf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119298 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-22flatten GraphicObjectImplNoel Grandin
no need to allocate the GraphicObject separately Change-Id: I71f13792dfd45e47d835ad1e3627a559044346a1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119337 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-22osl::Mutex->std::mutex in GraphicObjectImplNoel Grandin
Change-Id: I4c62d4b105425d4fb39eefdb7117299488af47dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119336 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-21flatten vector in ImplMultiTextLineInfoNoel Grandin
Change-Id: I30f40c3906c38d29bab7aeef0a9562bd96934a72 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119329 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-21flatten ImplListBoxWindowNoel Grandin
no need to allocate ImplEntryList separately Change-Id: I276e92895a00ebccff60f5067567a0ed066d4e66 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119328 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-21flatten ImplToolBoxPrivateDataNoel Grandin
Change-Id: Ia3c0d6624ccf2d3c6189064ab7c8b07dc0734c5b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119330 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-21qt5 a11y: Implement Qt5AccessibleWidget::cursorPositionMichael Weghorn
Use 'XAccessibleText::getCaretPosition', similar to how 'Qt5AccessibleWidget::setCursorPosition' calls 'XAccessibleText::setCaretPosition'. Change-Id: Ic9e4533d6a39de90fee7ec2e8e0bd3fc6a69bba0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119320 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2021-07-21qt5 a11y: Implement Qt5AccessibleWidget::textAtOffsetMichael Weghorn
The Orca screen reader uses 'IAccessibleText::textAtOffset' e.g. in order to retrieve the text of the current Writer paragraph on cursor movement. With this and various other WIP changes to qt5 a11y on top which are required to make Orca speak at all (well, at least sometimes...), Orca now also speaks the text of paragraphs that contain more than just a single character. The single-character case was working because Orca has a special handling for this; a comment in the source code says: "We do this because Gecko's implementation of getTextAtOffset is broken if there is just one character in the string.") This implementation is inspired by the corresponding winaccessibility one, see 'CAccTextBase::get_textAtOffset' in winaccessibility/source/UAccCOM/AccTextBase.cxx. Change-Id: I67775a03c6e4384f410e1e9d727d7a412ba4112e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119310 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2021-07-21jsdialog: don't send unnecessary show/hide messagesSzymon Kłos
Change-Id: Ie37503b5964606a2b3e5b305c949f570616dc1cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117070 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119243 Tested-by: Jenkins
2021-07-21qt5 a11y: Handle AccessibleStateType::MULTI_LINEMichael Weghorn
This addresses warnings like warn:vcl.qt5:53343:53343:vcl/qt5/Qt5AccessibleWidget.cxx:639: Unmapped state: 17 seen e.g. when navigating to a Writer paragraph in Accerciser when using LO with the kf5 VCL plugin. With this in place, the "multi line" state is correctly shown in Accerciser. Change-Id: Ib38a7374d9c81f2d5c361809583f711f4eadccba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119295 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2021-07-21qt5 a11y: Handle AccessibleStateType::MOVEABLEMichael Weghorn
This addresses warnings like warn:vcl.qt5:151782:151782:vcl/qt5/Qt5AccessibleWidget.cxx:636: Unmapped state: 31 which I started seeing when running LO with kf5 VCL plugin and Orca enabled after commit ddbc111555607e62b94b74aacadd6a964b9fe4a5 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Mon Jul 19 17:13:04 2021 +0200 qt5 a11y: Set proper a11y states had fixed handling of a11y states. Change-Id: I00b8f2f75954fbd7d9e5f0807b51e5632d1a8035 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119248 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2021-07-21qt5 a11y: Skip attributes without valueMichael Weghorn
Skip attributes with empty string value in 'Qt5AccessibleWidget::attributes'. Besides not being a useful value, I also got a crash using Accerciser to navigate in Calc's "Format Cells" dialog -> "Font Effects" -> "Text Decoration" -> "Overlining" -> "Overlining". 'Qt5AccessibleWidget::attributes' had returned "font-family:;font-size:0pt;font-weight:normal;" and 'AtSpiAdaptor::getAttributes' (from the Qt library) aborts, since it splits the "font-family:" part at the colon, then expects two substrings: one for the attribute name, one for the value - but there was no value set: QString joined = interface->textInterface()->attributes(offset, &startOffset, &endOffset); const QStringList attributes = joined.split (QLatin1Char(';'), Qt::SkipEmptyParts, Qt::CaseSensitive); for (const QString &attr : attributes) { QStringList items; items = attr.split(QLatin1Char(':'), Qt::SkipEmptyParts, Qt::CaseSensitive); -> AtSpiAttribute attribute = atspiTextAttribute(items[0], items[1]); if (!attribute.isNull()) set[attribute.name] = attribute.value; } The IAccessible2 spec for the "background-color" text attribute [1] doesn't specify any default value to be used. Backtrace: Thread 1 received signal SIGABRT, Aborted. __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (rr) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007f4dcd0bd537 in __GI_abort () at abort.c:79 #2 0x00007f4dba7fd810 in qt_message_fatal(QtMsgType, QMessageLogContext const&, QString const&) (context=..., message=...) at global/qlogging.cpp:1914 #3 0x00007f4dba7f9d48 in QMessageLogger::fatal(char const*, ...) const (this=0x7ffc30a4a6b0, msg=0x7f4dbab9ebb0 "ASSERT failure in %s: \"%s\", file %s, line %d") at global/qlogging.cpp:893 #4 0x00007f4dba7f1484 in qt_assert_x(char const*, char const*, char const*, int) (where=0x7f4db778eb36 "QList<T>::operator[]", what=0x7f4db778eac8 "index out of range", file=0x7f4db778ea90 "../../../include/QtCore/../../src/corelib/tools/qlist.h", line=579) at global/qglobal.cpp:3366 #5 0x00007f4db7736a65 in QList<QString>::operator[](int) (this=0x7ffc30a4a730, i=1) at ../../../include/QtCore/../../src/corelib/tools/qlist.h:579 #6 0x00007f4db773017e in AtSpiAdaptor::getAttributes(QAccessibleInterface*, int, bool) const (this=0x557748f27800, interface=0x7f4d8c07cc30, offset=9, includeDefaults=true) at atspiadaptor.cpp:2059 #7 0x00007f4db772cd74 in AtSpiAdaptor::textInterface(QAccessibleInterface*, QString const&, QDBusMessage const&, QDBusConnection const&) (this=0x557748f27800, interface=0x7f4d8c07cc30, function=..., message=..., connection=...) at atspiadaptor.cpp:1802 #8 0x00007f4db77274f8 in AtSpiAdaptor::handleMessage(QDBusMessage const&, QDBusConnection const&) (this=0x557748f27800, message=..., connection=...) at atspiadaptor.cpp:1286 #9 0x00007f4db7fe4d04 in QDBusConnectionPrivate::activateObject(QDBusConnectionPrivate::ObjectTreeNode&, QDBusMessage const&, int) (this=0x7f4d8c014b00, node=..., msg=..., pathStartPos=27) at qdbusintegrator.cpp:1458 #10 0x00007f4db7fe58ca in QDBusActivateObjectEvent::placeMetaCall(QObject*) (this=0x557753615310) at qdbusintegrator.cpp:1617 #11 0x00007f4dbaab3c66 in QObject::event(QEvent*) (this=0x557748f27800, e=0x557753615310) at kernel/qobject.cpp:1314 #12 0x00007f4db96be845 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=0x557747e30970, receiver=0x557748f27800, e=0x557753615310) at kernel/qapplication.cpp:3632 #13 0x00007f4db96bbcfb in QApplication::notify(QObject*, QEvent*) (this=0x557747f1d8b0, receiver=0x557748f27800, e=0x557753615310) at kernel/qapplication.cpp:2972 #14 0x00007f4dbaa70aba in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x557748f27800, event=0x557753615310) at kernel/qcoreapplication.cpp:1064 #15 0x00007f4dbaa71452 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=0x557748f27800, event=0x557753615310) at kernel/qcoreapplication.cpp:1462 #16 0x00007f4dbaa7213a in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x557747eff460) at kernel/qcoreapplication.cpp:1821 #17 0x00007f4dbaa71acc in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1680 #18 0x00007f4dbaaff079 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x557748056a30) at kernel/qeventdispatcher_glib.cpp:277 #19 0x00007f4dbfe4ce6b in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #20 0x00007f4dbfe4d118 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #21 0x00007f4dbfe4d1cf in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #22 0x00007f4dbaaff7a2 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x557748062a70, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #23 0x00007f4db76af8fc in QXcbGlibEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x557748062a70, flags=...) at qxcbeventdispatcher.cpp:143 #24 0x00007f4db9255353 in Qt5Instance::DoYield(bool, bool) (this=0x557747f22580, bWait=4, bHandleAllCurrentEvents=2) at .../libreoffice/vcl/qt5/Qt5Instance.cxx:400 #25 0x00007f4db9255465 in Qt5Instance::AnyInput(VclInputFlags) (this=0xd87f0c9bbde3ed00, nType=(VclInputFlags::PAINT | VclInputFlags::TIMER | VclInputFlags::OTHER | VclInputFlags::APPEVENT | unknown: 0x7fc0)) at .../libreoffice/vcl/qt5/Qt5Instance.cxx:422 #26 0x00007f4dc594b64a in ImplYield(bool, bool) (i_bWait=true, i_bAllEvents=false) at .../libreoffice/vcl/source/app/svapp.cxx:465 #27 0x00007f4dc594be0b in Application::Yield() () at .../libreoffice/vcl/source/app/svapp.cxx:532 #28 0x00007f4dc594b357 in Application::Execute() () at .../libreoffice/vcl/source/app/svapp.cxx:444 #29 0x00007f4dcd2c4226 in desktop::Desktop::Main() (this=0x7ffc30a4c540) at .../libreoffice/desktop/source/app/app.cxx:1602 #30 0x00007f4dc5967cc6 in ImplSVMain() () at .../libreoffice/vcl/source/app/svmain.cxx:199 #31 0x00007f4dc5967de7 in SVMain() () at .../libreoffice/vcl/source/app/svmain.cxx:231 #32 0x00007f4dcd324e9f in soffice_main() () at .../libreoffice/desktop/source/app/sofficemain.cxx:98 #33 0x000055774613895d in sal_main () at .../libreoffice/desktop/source/app/main.c:49 #34 0x0000557746138943 in main (argc=2, argv=0x7ffc30a4c8b8) at .../libreoffice/desktop/source/app/main.c:47 [1] https://wiki.linuxfoundation.org/accessibility/iaccessible2/textattributes Change-Id: I5e9d5121e69340ff728a87b4a6cb5c182d9ad11b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119247 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2021-07-21qt5 a11y: Adapt loop for string construction here a bitMichael Weghorn
Behavior should be unchanged. This is in preparation of changing handling for empty values in an upcoming commit. Change-Id: If913680ea544c24fea6e418fb27ccdcb396920cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119246 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2021-07-20osl::Mutex->std::mutex in DisplayConnectionDispatchNoel Grandin
Change-Id: I590595adbd89fa3d4833de2743b71168448d4c2c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119283 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-20Qt5 fix Qt::Popup window handlingJan-Marek Glogowski
I guess to get popup windows somehow working, they were matched to Qt::ToolTip. Fixing that by removing SalFrameStyleFlags::FLOAT from the tooltip check, resulted in rather bizarre bahviour. The Qt::Popup window is modal, as documented, but wouldn't close when clicked outside, like normal popups. And I neither got any mouse button or focus events, just some leave or enter. The only way to interact with anything again, was by clicking somewhere on the popup where it can't take focus... and it has nothing to do with the transition setting either. In the end it turned out that Qt::StrongFocus prevented the mouse events to happen. Even without it the widget accepts mouse and keyboard focus, so nothing seems lost by omitting that for the Qt::Popup case; hopefully... Change-Id: Icda7bbe87268293a400fe0da551d2804675d4c2d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119236 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-07-20tdf#143298 Qt5 send SalEvent::KeyModChange eventsJan-Marek Glogowski
I originally omitted this in the Qt implementation, as I couldn't find any non-working use case. The implementation got a bit hacky, because Qt doesn't have a non- native way to identify different L/R modifier keys, so we must process the X11/xkb keycode ourself, which obviously won't work on Wayland... but most times this is not relevant, so the default modifier notification may be good enough. P.S. it's basically the same code then X11 and Gtk... Change-Id: I37fbfde4a33a966b6017f3e0c280e2c7ea91e4db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119235 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-07-20tdf#143334 Qt5 don't reset buffer on style changeJan-Marek Glogowski
This bug was "unveiled" by commit 963f252cd1ea9c268a6ced68a3454b10cbee1a89 ("Qt5/KF5 get rid of unneeded own grahics handling"). I'm not sure why I ever came up with that code. Eventually we would need a paint event, but at least changing the theme correctly updated LO UI, so that seems to be handled correctly. Change-Id: I528b551180be184427eeeeeb2977e2b7da073ce6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119237 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2021-07-20jsdialog: sidebar: dump visibility state for widgetsSzymon Kłos
we need this to build all the widgets on the client side and alow then show/hide widgets Change-Id: Ib3d8fc673cc787925e19a6e9df673e923ed7ecef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116841 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119198 Tested-by: Jenkins
2021-07-20jsdialog: don't send update if not changed checkbox stateSzymon Kłos
to avoid infinite updates in find & replace dialog Change-Id: If9d26cec66f2b4475c89ba394b9597bc23881341 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116886 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119197 Tested-by: Szymon Kłos <szymon.klos@collabora.com>
2021-07-20vcl: update outdated comments in pdfreadMiklos Vajna
These fake named arguments are useful when a function takes a lot of boolean args, but the comments didn't match the function declaration anymore. Fix that. Change-Id: I660bf2d496c463e1a027e5d3bdb8d6d7f07d0f55 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119231 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-19qt5 a11y: Set proper a11y statesMichael Weghorn
Set the states actually set in the 'XAccessibleStateSet', rather than setting states 0 to n-1, with n being the number of states present in the state set. With this commit in place, Accerciser now e.g. initially correctly shows the 'checked' attribute for checkboxes only if they are actually checked. (Better handling of updating states still needs to be implemented separately.) Change-Id: Idbc84f5754eae65cee471834c322b8ddfdb0bb29 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119223 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2021-07-19Add Handler for Transparent Readpanoskorovesis
The handler separates MetaTransparentAction::Read from metaact.hxx Read implementation is now in SvmReader.hxx Change-Id: Icd044f6c4422222323a9898ef5d7f67732fbbc2d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119170 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-19jsdialog: allow fraction numbers in spinfieldSzymon Kłos
Change-Id: I9849c6a798f0ade60606be75125fde98362d26b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119162 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-07-19jsdialog: normalize value for spinfieldSzymon Kłos
Change-Id: Ia65b1342222952cbec1ddfba4b7464172fd2b40c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119161 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-07-19jsdialog: execute value action on spinfieldSzymon Kłos
Change-Id: Iee0a5c90ebbd9ca96a60e70678f2b20c32d1bb28 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116137 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119160 Tested-by: Jenkins
2021-07-19jsdialog: send action event on show/hideSzymon Kłos
This fixes non working comboboxes in the sidebar in online. Where we simulate picking from the list. Change-Id: Ie78e461b2bce7fa0ccd68731e76d0c721242b98e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116097 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119155 Tested-by: Jenkins
2021-07-19Add Handler for RasterOp Readpanoskorovesis
The handler separates MetaRasterOpAction::Read from metaact.hxx Read implementation is now in SvmReader.hxx Change-Id: I6beb3c546775c70b0f6a7fdcb9ca3e589bda099f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119092 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-19Add Handler for Pop Readpanoskorovesis
The handler separates MetaPopAction::Read from metaact.hxx Read implementation is now in SvmReader Change-Id: I831ac97d29554e90773a939dcfedb383974e2495 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118981 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-19Add Handler for Push Readpanoskorovesis
The handler separates MetaPushAction::Read from metaact.hxx Read implementation is now in SvmReader.hxx Change-Id: I16a36af9dfea7526d429675b7b0d39d1bd1d6dcb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118980 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-19Add Handler for Font Readpanoskorovesis
The handler separates MetaFontAction::Read from metaact.hxx Read implementation is now in SvmReader.hxx Change-Id: Id301813ceb29e13488a472ab8e3b2dfd9287d624 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118979 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-19Add Handler for MapMode Readpanoskorovesis
The handler separates MetaMapModeAction::Read from metaact.hxx Read implementation is now in SvmReader.hxx Change-Id: I514fc1927705ae0e2ca870ad39af845e3d9285cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118968 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-19jsdialog: dump toolbox item's window if presentSzymon Kłos
Change-Id: Ia882bcadb844993f2b761bd91c6f6f60c9e1b2ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114807 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119016 Tested-by: Jenkins
2021-07-18Related: tdf#143357 restore focus to MenuButton when popover pops downCaolán McNamara
which already happens for ComboBoxes but not always for MenuButtons with popovers with widgets in them Change-Id: If2ab1934f582b01327f910a578b80e9462d3daa0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119078 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-07-17jsdialog: move list of enabled dialogs to separate fileSzymon Kłos
Change-Id: I98c92b336fbf76f3dc94265a408c9b3b46fcea08 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115453 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119014 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-07-16tdf#142923 Deleting comment in Writer leaves visual artifact behindNoel Grandin
Change-Id: Ia2e55886513e81847dd0ac6c697e7cea34e01bdc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119075 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-16vcl: check mpWindowImpl for nullptr.Michael Meeks
Crash in calc's mouse capture / end tracking. Change-Id: If5b4cded8ebfc04d1fcf645a7b74184532ab2338 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119034 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2021-07-16Resolves: tdf#143398 mouse event processed twiceCaolán McNamara
this is a problem since: commit 67b157e994d9bef01f6117b53fc29e1fee538715 Author: Caolán McNamara <caolanm@redhat.com> Date: Tue Jun 29 13:00:45 2021 +0100 tdf#143088 multiple Application::EventListeners is expensive turns out that AddChildEventListener is sufficient to get events for the widget and its children so the widget-only AddEventListener isn't needed or wanted Change-Id: I635419df10fce1d4441b2d85627a6cbe99adb6aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119019 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-07-15Add Handler for TextAlign Readpanoskorovesis
The handler separates MetaTextAlignAction::Read from metaact.hxx Read implementation is now in SvmReader.hxx Change-Id: I71953850d7bde50a552e0dc0a568175f15746e00 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118967 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-15Add Handler for OverlineColor Readpanoskorovesis
The handler separates MetaOverlineColorAction::Read from metaact.hxx Read implementation is now in SvmReader.hxx Change-Id: I3d713e7579e45efd49249425108b74ca1d54eb0d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118957 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-15Add Handler for TextLineColor Readpanoskorovesis
The handler separates MetaTextLineColorAction::Read from metaact.hxx Read implementation is now in SvmReader.hxx Change-Id: I30848cea0d4f22f8d9fe327dc74f9ef16ae45d09 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118956 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-07-15Add Handler for TextFillColor Readpanoskorovesis
The handler separates MetaTextFillColorAction::Read from metaact.hxx Read implementation is now in SvmReader.hxx Change-Id: Ifbd9fc21090d02cf4acba48482089ccaa245ff91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118955 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>