summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)AuthorFilesLines
2020-02-28tdf#130071 tdf#127815 qt5: Use ExtTextInput only for multi-char key eventsMichael Weghorn1-1/+1
Only call the SalEvent::ExtTextInput callback for key input events if their text is longer than one character, in which case treating them as SalEvent::KeyInput would produce incorrect results, given that only the first character is set as the SalKeyEvent's mnCharCode below (s.a. tdf#124118). S.a. commit 61c8324394c690ced18ce692ab6d29c8031ad1a8 ("#88063# fixed event handling for redflag", 2001-06-12) which made events with text longer than 1 unicode char to be handled by SalEvent::ExtTextInput for the gen VCL plugin even if not in preedit mode. Process other key events by calling SalEvent::KeyInput callback, which e.g. makes shortcuts involving non-Latin characters (tdf#130071) and auto-insertion of non-breaking spaces when typing French text (tdf#127815) work. The gtk3 and gen VCL plugins also use the length of the text as one criterion to make a disctinction of whether to call SalEvent::ExtTextInput or SalEvent::KeyInput, s. GtkSalFrame::IMHandler::signalIMCommit and X11SalFrame::HandleKeyEvent. Those also take into account whether in preedit mode, but for the qt5 case, input method events when using e.g. ibus are handled in Qt5Widget::inputMethodEvent and the Qt5Widget::handleKeyEvent code path is not used anyway. Change-Id: I2f8925ea26a4fb5419226265c579242889e2a506 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89663 Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins (cherry picked from commit 1c6ea413cb01c0b482f87e625ba208eec230618a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89670 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2020-02-27tdf#130679 Draw: Convert to polygon doesn't workNoel Grandin1-1/+1
regression from commit 1cd32bcf1b92bd53320717626601135623dadd55 Date: Mon Dec 10 11:28:59 2018 +0200 loplugin:useuniqueptr in vcl Change-Id: I7753f54822d0249d1fcda97581051d023969fc2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89636 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit dc5be8f6020dd812664af250d03d2a14b9e8a3cb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89584 Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
2020-02-27WIN prevent deadlock in SetForegroundWindowJan-Marek Glogowski1-8/+1
As mentioned in various blogs, like Raymon Chens "The old new thing", 2008-08-01, "I warned you: The dangers of attaching input queues", using AttachThreadInput to steal the input from an other thread, so SetForegroundWindow becomes more reliable, can deadlock in that call in win32u.dll!NtUserCallHwndLock. Stackoverflow also has a multitude of suggestions and links in "Win32 SetForegroundWindow unreliable", to circumvent Windows focus-stealing prevention mechanisms. A customer is experiencing these hangs reliably and often when opening LO windows via Java UNO, because the Window and the UNO thread are different and trigger this code path. Removing the calls to AttachThreadInput fixes the problem for them. This has started lately and nobody really knows why. I also know other customers with a similar Java UNO setup, which don't experience them. For better foreground handling, the calling app eventually should either use AllowSetForegroundWindow or CoAllowSetForegroundWindow (for COM servers), to give up the foreground / input handling. So this just drops the AttachThreadInput calls. Change-Id: I8de0a17aaaa44c24b1ee728b2ef6ec3aea951c54 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89527 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 518c0265efebf39ab6d1e90c4ec4e7cf52b701c6) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89572 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-25tdf#130915 SvTreeList::Move needs to move from lower index to higherCaolán McNamara1-2/+4
the reverse doesn't work Change-Id: I0d84e6e44b26c0c4f1f0d221de3fad03c183f6ff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89434 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2020-02-24Resolves: tdf#130762 honour "wrap" in FormattedFieldCaolán McNamara1-4/+12
Change-Id: Iefd9a537aa358eab179cf6f0eeb6f80a9a77284a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89011 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit 20c08e47f7c156a4726194215b389f4d0b165904) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88953 Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
2020-02-22tdf#130827 Qt5 report frame-relative cursor posJan-Marek Glogowski1-0/+1
Qt5Frame::GetPointerState expects the cursor position relative to the frame position. Change-Id: Icaf7dcd8fc80d712f5138a9f9b843ccf345c5543 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89244 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 4fe30879af391c32074a003a7a6ddd45431d212a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89268 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2020-02-22tdf#130831 Qt5 don't blit damage to empty imageJan-Marek Glogowski1-0/+2
This prevents the crash, but I'm not sure having an empty buffer image at this point is correct. But it doesn't look like anything is missing in the dialog and a crash is definitly worse. Change-Id: I7d0330b4e4a7ca64655a51c226e425e53ba12118 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89203 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit 813cde918338bccc4f711230616340cad2c1d4a0) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89140 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2020-02-22tdf#130499 Qt5 no qApp == main threadJan-Marek Glogowski1-1/+4
If there is no QApplication, we can ignore the GUI thread. Change-Id: I0d2faf4799d493ad0b6074b40242c443d4bc43dc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89241 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit c6fb366e05370af553af2130b370909ed4495cff) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89141 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2020-02-22tdf#130841 resize to client size after SetPosSizeJan-Marek Glogowski1-0/+4
This fixes the hack of the native menu bar with a smaller client size in relation to the frame geometry. Eventually this should be replaced by proper mnTopBorder usage, but this currently isn't working. Change-Id: Ib5825d9c8f77e463fcb086e0373228fe91d8705a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89202 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit b26ca5b13733b46c2df0787502f885e15b390956) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89144 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2020-02-21tdf#130573 labels exchanged in export to BMPNoel Grandin3-0/+152
In the commit below, I removed the 1-bit dithered output, so restore it. regression from commit b5699cd01b6a52906880c107bac6f3802ea7353d Date: Wed Feb 8 16:18:32 2017 +0200 convert BmpConversion to scoped enum Note that this bug has been around since LO5.4 which means that anyone who has adjusted their setting in officecfg/registry/schema/org/openoffice/Office/Common.xcs with key BMP runs the risk of having that setting now revert to its prior (documented) meaning. Change-Id: Ibbda8aefbac261ff37ffab7223714f5d0343c692 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88528 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit f7323482ae38c5c4bc39edeea4d1a6e282f896a2) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88794 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-02-20tdf#130794 qt5: Actually, ignore non-spontaneous QEvent::ShortcutOverrideMichael Weghorn1-3/+3
In fact, the assumption in commit 034f56015c1c7a61faede33fb5306f63b5585632 ("tdf#126785 qt5: Ignore external QEvent::ShortcutOverride") was a fallacy and it's exactly the other way around: "Normal" typing leads to "spontaneous" events of type QEvent::ShortcutOverride, since those originate from outside, are triggered via X11 events or Wayland equivalent, and the non-spontaneous ones are the additional ones that happen when e.g. the Orca screen reader is enabled. In a short test, no non-spontaneous QEvent::ShortcutOverride ever occured when using LibreOffice a bit with Orca disabled on X11 or Wayland (and on Wayland also not with Orca enabled, since Qt accessibility is broken there, s. QTBUG-73945 [1]). (Side note: In a quick test with Qt 5.12.5 and Plasma on Wayland, 'xcbSourceDispatch' from Qt library's qxcbeventdispatcher.cpp was also used in the Wayland case to when processing the keyboard events). [1] https://bugreports.qt.io/browse/QTBUG-73945 Change-Id: I1be1977e67f84fa657f6fc197e0b91822b6a3a2a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89073 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 69e708868f6046cada955a16bca966370ce3218a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88960 Reviewed-by: Katarina Behrens <bubli@bubli.org>
2020-02-19tdf#128921 tdf#130341 tdf#122053 qt5: Native PopupMenusMichael Weghorn2-2/+48
This implements native PopupMenus for the qt5 VCL plugin, which not only gives them the native look and feel, but also makes context menus faster (tdf#128921), accessible (e.g. to the Orca screen reader, tdf#122053), and makes them work for a case in Base's relationship dialog where entries in the non-native context menu were not selectable/clickable (tdf#130341). For now, this always shows the popup menu at cursor position, which can be changed by taking the Rectangle passed to 'Qt5Menu::ShowNativePopupMenu' into account if there should be any need. Change-Id: Ie52cbc682acacb92716ff51e8bf7f1ab07d34cf0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88512 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 1e0b16f8695498e4eea7c2208aabf7e7664ce749) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88491 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2020-02-19Resolves: tdf#130756 null deref in empty treeviewCaolán McNamara1-1/+4
Change-Id: Ie43081d5c1feb655ea1479476375ee7381f0a0ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88947 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-02-18tdf#126785 qt5: Ignore external QEvent::ShortcutOverrideMichael Weghorn1-0/+10
For some reason, an extra external QEvent::ShortcutOverride event is triggered when a key is pressed and e.g. the Orca screen reader is enabled, which would result in duplicated input when handled as key input event as well. Therefore, ignore those ShortcutOverride events that are "spontaneous", i.e. "the event originated outside the application (a system event)". [1] [1] https://doc.qt.io/qt-5/qevent.html#spontaneous Change-Id: Ibccacb69c31d4d7ebd512c704f0e4df978c5281f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88852 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 034f56015c1c7a61faede33fb5306f63b5585632) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88790 Reviewed-by: Katarina Behrens <bubli@bubli.org>
2020-02-14tdf#130325 Fix listbox used as dropdownSamuel Mehrbrodt2-3/+4
In this case, the listbox is not used as a static widget, also not as a combobox with dropdown. Instead the listbox is placed in a popup to choose values from. Need to handle this case similiar to the combobox dropdown (Cursor movement only travels through items, Return selects one item). Regression from 7de9417d5f65d35227c7f80f6d587c2a56bde4e0 Change-Id: Idadc3da5847e12e1408203b13ab59eb53fe14eea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88581 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit d92463c88a557eea7a439def39659b1409772583) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88503 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-02-12tdf#130555: Prevent negative aSelection.Min()Stephan Bergmann1-2/+7
...which would violate the the preconditions of the later call to maText.remove. When BreakIteratorImpl::previousWord (i18npool/source/breakiterator/breakiteratorImpl.cxx) is called to e.g. move back over a single space at the start of the text, at least for an en-US locale it will fall through to the call to BreakIterator_Unicode::previousWord (i18npool/source/breakiterator/breakiterator_unicode.cxx) at the bottom of the function. That in turn calls icu::BreakIterator::preceding, which is documented (workdir/UnpackedTarball/icu/source/common/unicode/brkiter.h) to return icu::BreakIterator::DONE (i.e., -1, see workdir/UnpackedTarball/icu/source/common/unicode/brkiter.h) in that case, which causes BreakIterator_Unicode::previousWord to return a Boundary with startPos == endPos == -1. The documentation of UNO method css.i18n.XBreakIterator::previousWord (offapi/com/sun/star/i18n/XBreakIterator.idl) is silent about the expected return value in such a case. But lets assume that returning such a [-1..-1] Boundary is as intended, and locally address this case in Edit::ImplDelete, making aSelection start at the start of the text. Change-Id: I40e17ba602088e72aa6962cb41dd8e1cdf6e2561 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88431 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com> (cherry picked from commit e8f26dc13b65b1a05d948d9c95110c86315e8f20) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88402
2020-02-10tdf#129809 qt5: take a reference in case m_aContents is replacedMichael Weghorn1-1/+4
This takes over Caolán's solution for gtk3 from dbcdc5cd98df5756a96559e467cad95c629343ca ("tdf#129809 take a reference in case m_aContents is replaced") for the qt5 case as well, to prevent that the XTransferable is destroyed along with the Qt5MimeData object as new QMimeData are set in the clipboard, as follows: 1 Qt5Clipboard::setContents Qt5Clipboard.cxx 2 TransferableHelper::CopyToSelection transfer.cxx 3 TransferableHelper::CopyToSelection transfer.cxx 4 SwTransferable::CreateSelection swdtflvr.cxx 5 SwWrtShell::SttSelect select.cxx 6 SwWrtShell::SelectTextAttr move.cxx 7 SwTransferable::GetData swdtflvr.cxx 8 TransferableHelper::getTransferData2 transfer.cxx 9 TransferableHelper::getTransferData transfer.cxx 10 Qt5MimeData::retrieveData Qt5Transferable.cxx 11 QMimeDataPrivate::retrieveTypedData qvariant.h 12 QMimeData::data qmimedata.cpp 13 QInternalMimeData::renderDataHelper(QString const&, QMimeData const *) 14 ?? 15 ?? 16 ?? 17 QXcbConnection::handleXcbEvent(xcb_generic_event_t *) 18 QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) 19 ?? 20 g_main_context_dispatch Change-Id: Ic712c901a31131efc596cac7f00f14bb6a7ce068 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88192 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> (cherry picked from commit 1d7b1a15059a77fde9afa14d0b9a508142bfc247) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88258 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2020-02-08tdf#129809 take a reference in case m_aContents is replacedCaolán McNamara1-1/+4
Change-Id: I36ae74b6b3424bd2f0b71bc54838ec39e504b6d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88179 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2020-02-07tdf#130462 call SetMinOutputSizePixel before SetOutputSizePixelCaolán McNamara1-1/+1
Change-Id: I04716e91b7c9b5f1e9db1fd175f5dcbe0600bf1d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88116 Tested-by: Jenkins Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
2020-02-07tdf#130187: Don't crash on exiting print preview with NotebookbarMike Kaganski1-7/+25
Crash caused by this sequence (tested in Writer): 1. Closing print preview, frame is attached to controller; 2. This calls SfxNotebookBar::StateMethod 3. There notebookbar's listener is added to list of the controller's context change event listeners 4. Then in SwPagePreview::~SwPagePreview, notebookbar's listener is added to that list again 5. ContextChangeEventMultiplexer::addContextChangeEventListener detects second addition, and throws an unhandled exception. I don't know why starting listening is needed in SwPagePreview dtor; unfortunately commit d05b7b32d9ecb6fcb4a268eb68cdcee09bafa6dd doesn't say much about context and reasons. ControlListener is renamed to ControlListenerForCurrentController to emphasize that it operates on the current controller of notebookbar's frame; and its bListen parameter meaning was reverted: previously its "true" value awkwardly meant "stop listening". All direct operations with listener of notebookbar are replaced with calls to notebookbar's methods. In ContextChangeEventMultiplexer::addContextChangeEventListener, uno::UNO_QUERY_THROW was replaced with uno::UNO_QUERY, because not only chart controller may appear here, and it's not an error: e.g. SfxBaseController doesn't implement lang::XServiceInfo. Regression after commit d05b7b32d9ecb6fcb4a268eb68cdcee09bafa6dd. Change-Id: Ief1aed188d8f02a6cfe3ea25f4d082dfdf449f32 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86257 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87582
2020-02-06tdf#129976 PDF export of PDF images: adapt transparency to renderingMiklos Vajna2-2/+13
The bugdoc has a transparent PDF image, and we currently put a white background behind that in Impress, given that vcl::RenderPDFBitmaps() works with Bitmap instances, not BitmapEx ones. This means that in case we preserve transparency during PDF export, the content that was rendered OK now becomes unreadable. Adapt the PDF export to do the same as rendering by putting a white background behind the PDF image. (cherry picked from commit 7088140dbf1d5e0391c2662f0213018a45620ff9) Change-Id: I4edcb12fab71bb305d97a50d20fbfbf86d9aab85 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87956 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-02-04Place button text in tooltip if it doesn't fit into the buttonSamuel Mehrbrodt1-0/+5
Seen this happening in custom sidebars (from extensions). When the text is too long for the button, it will get cut off and there is no way to view the button text. Change-Id: I86ce72154e0371bdf24480be41517855dc3ce050 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87692 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit dabb6176407067ef8d46bdde863b087457805c6a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87948 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2020-02-04Related: tdf#129933 assert on pasting over selection in editCaolán McNamara1-1/+5
when its selected right to left with cursor flashing at the start format->paragraph->area->color->pick, cursor into hex# edit, end to cursor at the end, shift + home to select all, right to left, ctrl+c, ctrl+v, assert Change-Id: I8e29108ddff94487c298bd5e6607b98f5f841afd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87885 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-02-03ofz#20422 reversed conditionCaolán McNamara1-1/+1
Change-Id: I5f880e24aee029e3560da986969d46500b5ed044 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87805 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-01-31Adapt CPPUNIT_ASSERT to C++20 deleted ostream << for sal_Unicode (aka char16_t)Stephan Bergmann1-0/+3
<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1423r3.html> "char8_t backward compatibility remediation", as implemented now by <https://gcc.gnu.org/ git/?p=gcc.git;a=commit;h=0c5b35933e5b150df0ab487efb2f11ef5685f713> "libstdc++: P1423R3 char8_t remediation (2/4)" for -std=c++2a, deletes operator << overloads that would print an integer rather than a (presumably expected) character. But for simplicity (and to avoid issues with non-printing characters), keep printing an integer here. Change-Id: I751b99ee32d418eb488131ffa130d6f7d6d38dc7 Reviewed-on: https://gerrit.libreoffice.org/84348 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 5d8f0fad50f90195a11873c70ddab4644f5839ea) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87760 Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-01-29Resolves: tdf#130130 Insert menu, multiple hotkey never reaches 3rd itemCaolán McNamara1-6/+30
Change-Id: Ica70be71094229a12c16eee1d3ff6960b7e06734 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87665 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-01-23Related tdf#126459: fix crash in presenter console using gen vclplugKatarina Behrens2-0/+4
A slide with video is needed to reproduce Regression from commit ac87cfdf263d2abd97b32857534d0f749b7c4479, 'toolkit' and 'platform' bits were never set (bc irrelevant) in gen vclplug but now if not set, values mapping to 0 (Gtk3, Wayland) will be used and things go down the drain in avmedia/gstplayer then Just between us girls, nobody in their right mind would use gen vclplug for presentation, but crash is not nice so let's fix this Change-Id: If318ab93897f9f4854f7316e630c35aaec2480fd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87185 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 13bc1ec30c5adf05ff987c25634b845bab7bc4ae) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87237 Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2020-01-18Related: tdf#127782 call signal_expanded after expansion in gtk caseCaolán McNamara1-1/+2
which is the same as the gen one Change-Id: Ia93598bb88d5a3f93c62e7096f8bc4ca69698a19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86564 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2020-01-08tdf#129879 Fix wrong order of buttonsTomáš Chvátal1-2/+2
Change-Id: I0cb135c5b8298fd7c5579673d0eaff7068a03842 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86426 Tested-by: Jenkins Reviewed-by: Tomáš Chvátal <tchvatal@suse.com> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2020-01-07tdf#129004 Make shift+F6 cycle order reverse of F6Jim Raykowski1-17/+7
Change-Id: I52013b4c54ef5e457d9fa19210d08d9c042fed45 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/83637 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com> (cherry picked from commit 32b9d07baa0cf6907f14ccb9aa068b51d95eefaa) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86342 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-01-06tdf#129662 vcl: rtl: fix scrollbar in dropdownsMiklos Vajna6-10/+32
Regression from commit d4714b0fdb81e6e561ae526cc517ecc9a40a603e (tdf#101978 vcl combobox/listbox floating window: avoid flicker, 2019-06-17). High-level vcl double-buffering never set up RTL status of the virtual device correctly, but now that double-buffering is used at more places, this got noticed. (cherry picked from commit b0fa356eed82a0452e6bcb915f179f5e2d02943a) Conflicts: vcl/source/window/cursor.cxx Change-Id: Iba378cef3a693b0712389fab519f38ee222577d5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86158 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2020-01-04tdf#125536 macOS native Carbon widgets reworkedThorsten Wagner2-917/+768
Change-Id: Id60895a48f59cb3c55db39d18cd27fed2108727e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86066 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 9d31d8f1d8d3a73f8c07ca39f5ed45e2bb7b088c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86155 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2019-12-27tdf#83248: Use the right text color when printing fieldsArnaud Versini1-2/+1
Change-Id: I81167207a35d524660b9a1d6740cfce551489c4a Reviewed-on: https://gerrit.libreoffice.org/84707 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 10d345faa087fa49692f38bb2ece22560f423ba7) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85848 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2019-12-27tdf#129490 Fix enter key in combo boxSamuel Mehrbrodt1-1/+1
Follow-up fix for 7de9417d5f65d35227c7f80f6d587c2a56bde4e0 Change-Id: I0b05f11b79d5fcd4e4823c1e31c087724ebc85f8 Reviewed-on: https://gerrit.libreoffice.org/85748 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit 09c0dc8b80b91a4f2e7ad3569a59402ee131eaf4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85834 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2019-12-23ensure toolbar image widget is visibleCaolán McNamara1-0/+2
Change-Id: If9144ab5f3c32570fda1da38e3c5fd076293205f Reviewed-on: https://gerrit.libreoffice.org/85710 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2019-12-21tdf#127022 vcl: fix Windows RTL menu barMiklos Vajna4-1/+18
Regression from commit e8d5b8beb5958147235ff955ed38c47b51d860ff (tdf#113714 vcl menu bar window: avoid flicker, 2019-05-20), the problem was that while the original render context has RTL set up correctly, the intermediate virtual device had it disabled all the time. Change-Id: Ic063c4a6c0537891c0bfceb8927edb97cf1c6e86 Reviewed-on: https://gerrit.libreoffice.org/85624 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins Reviewed-on: https://gerrit.libreoffice.org/85636 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-12-20tdf#127552 Make toolbox highlighting behave as intendedJim Raykowski1-3/+19
This patch provides intended highlight behavior to my understanding of comments found in the toolbox source code. *only highlight when the focus is not inside a child window of a toolbox eg, in an edit control *do not highlight when focus is in a different toolbox *only clear highlight when focus is not in toolbar Change-Id: Ia18d35c4255ed0940bce5f0c6d9448ed2c85c6fe Reviewed-on: https://gerrit.libreoffice.org/81356 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com> (cherry picked from commit 800b6f095f95ccfb8a7ba9755292332bf97f97ad) Reviewed-on: https://gerrit.libreoffice.org/83446 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2019-12-19Resolves: tdf#129484 just install decimal key handler for spinbuttonsCaolán McNamara1-4/+9
as a simple interim fix Change-Id: I7e393fe20f4fb7ea277c423f9fc9789d658b1e18 Reviewed-on: https://gerrit.libreoffice.org/85506 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-12-19focus-in/out should return a valueCaolán McNamara1-2/+4
Change-Id: I82df9b24a5f08830eda1e511d6a7d45a1edcc08e Reviewed-on: https://gerrit.libreoffice.org/85498 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-12-17tdf#112989 reduce export to PDF timeNoel Grandin1-3/+9
reduces the time from 33s to 24s for me Change-Id: Ia70e1c4220ebedf0b686ed76c5704efa551591fe Reviewed-on: https://gerrit.libreoffice.org/85281 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 11c0effe3def917ec2002a30dbbcca1c5758ffa9) Reviewed-on: https://gerrit.libreoffice.org/85302 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2019-12-16tdf#127148 select-all on tabbing into version box in help->aboutCaolán McNamara2-1/+9
and allow select-all in readonly multiline edits too. Arguably this might be a universal settings, but just enable it for the about dialog for now. Change-Id: Ic2e64fe26593adf4ae630d1be1a7b196a5a0216c Reviewed-on: https://gerrit.libreoffice.org/85128 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2019-12-12tdf#123076 Get paper size for print previewGabor Kelemen1-0/+2
Initialize from current paper size which can be different from A4 Change-Id: Iae5e33d79c0783a32dad8635a66cc3fbe83dc568 Reviewed-on: https://gerrit.libreoffice.org/84920 Tested-by: Jenkins Tested-by: Xisco Faulí <xiscofauli@libreoffice.org> Reviewed-by: László Németh <nemeth@numbertext.org> (cherry picked from commit 562c30d5ad142fcdc77be6125fdac6d48b782fd7) Reviewed-on: https://gerrit.libreoffice.org/85053 Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
2019-12-12tdf#128824 Keep multiselection in style list on right clickSamuel Mehrbrodt1-1/+2
Change-Id: I196f8c7d3a1a0b3267498f6cde55069ba3a60523 Reviewed-on: https://gerrit.libreoffice.org/84882 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit 13966121b49369950f2c214f3ab109fbad0386ad) Reviewed-on: https://gerrit.libreoffice.org/84947 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-12-12Qt5 fix missing XCB_ICCCM_WM_HINT_WINDOW_GROUPJan-Marek Glogowski2-0/+73
This is the application level equivalent of the Qt5 fix for bug QTBUG-46626 / commit 0de4b32 ("xcb: fix issue with dialogs hidden by other windows"), which was broken since Qt 5.4 and is just fixed since Qt 5.12. It is needed for some window managers, which don't know about the WM_CLIENT_LEADER property. Both settings are the same, but just the latter is set by older Qt5 releases. This probably isn't a real problem, as GNOME or XFCE would use the gtk VCL plugin, but since I already wrote the code when debugging tdf#129071, there is also no reason to drop it (except: more code, more bugs...). This fix is optional and needs development headers for xcb-icccm, which can actually be compiled into Qt5. If missing configure will just print a warning, since it's a runtime requirement and we explicitly drop the linked Qt version symbol, so the potential build Qt version won't matter. Change-Id: Ifc5a8f8a40ee13779a911efb53e8b8b868614d0b Reviewed-on: https://gerrit.libreoffice.org/84299 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit fe2baf9e84e0ca9aeaa683e37076f57fa3f38dca) Reviewed-on: https://gerrit.libreoffice.org/84810
2019-12-11Resolves: tdf#128867 support LocalizedDecimalSep for native gtk dialogsCaolán McNamara1-0/+4
Change-Id: Idb883707fb89d1f76b24ea592c51e28fffd2322f Reviewed-on: https://gerrit.libreoffice.org/84953 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-12-09drawPixel() should still get 'true' for bXorModeAllowed.Jan Holesovsky1-2/+2
That part of 7b267be4b2c87b2c3987d4d751307977a7d3ad41 was not necessary. Change-Id: Ie085f635d4adb6f574f3eca37976f9aded505524 Reviewed-on: https://gerrit.libreoffice.org/84536 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-12-09tdf#129071 Qt5 set file picker parent widgetJan-Marek Glogowski2-28/+82
If the XInitialization::initialize has a parent option, use that system window ID to find the parent Qt5Frame and set this as the parent of the file picker. This way the file picker doesn't show up as a separate window in the KDE task bar and get the proper icon. Just setting it transient to the parent is not enough. This also includes the terminate listener handling, so an open file picker won't prevent LO to shut down gracefully (which is handled independent from the document modified state). Change-Id: I62aef532e739e7fea9fe8a4b4e6c0e205faae1d9 Reviewed-on: https://gerrit.libreoffice.org/74544 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit d79a41a02cd46c50cab08ba1a5d5b213b6843251) Reviewed-on: https://gerrit.libreoffice.org/84756
2019-12-09tdf#122706 Fix built-in HID on Print dialogs Help buttonKelemen Gábor1-1/+1
to open the general Print page. Change-Id: I1ffee4a9d72bb6a4840dec3800a397a878ed2eca Reviewed-on: https://gerrit.libreoffice.org/84628 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> (cherry picked from commit 46a07f2042a812fc552e26736183c7d06fe6aa35) Reviewed-on: https://gerrit.libreoffice.org/84735 Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
2019-12-06tdf#129071 Qt5 handle windows with parents as dialogsJan-Marek Glogowski3-8/+9
This is the main fix for this bug. Qt Xcb is a little picky here. It won't tell the window manager about the transient state, using WM_TRANSIENT_FOR, for all Qt::WindowTypes. The QPA internal list (see isTransient function) doesn't include the Qt::Window, which is qt5 VCL's primary used window type. This has two consequences: 1. LO dialogs show up in the plasma task manager as seperate windows. 2. LO has to handle the transient state itself, instead of relying on the window manager. This results in flickering, because LO can just push a transient window to the top again, after the parent window was activated and therefore drawn in front. So this just declares all windows with parents to be dialogs. Almost everything else should be a top-level window anyway. If not, there is SalFrameStyleFlags::DIALOG to create a parent-less dialog window. Change-Id: I89a6d46fd09e4f1d1d2904e152a26733eb266079 Reviewed-on: https://gerrit.libreoffice.org/84298 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> (cherry picked from commit d8e3a08f06dcfea02c3f2f2a8578486381d77df7) Reviewed-on: https://gerrit.libreoffice.org/84619
2019-12-06KF5 drop KF5FilePicker::executeJan-Marek Glogowski3-29/+7
To prevent calls to Qt5FilePicker::updateAutomaticFileExtension, it is simply made virtual with an empty override. This is needed, because the KF5 file picker has its own automatic extension handling. The main motivation is the fix for tdf#129071, which will result in some major changes to XExecutableDialog::execute, so this will prevent larger code duplication later. Change-Id: I5f747f0828cb8a65b4e7043f3ee68ebd31973e6a Reviewed-on: https://gerrit.libreoffice.org/84297 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins (cherry picked from commit c0cdb01ef33042be76251c4a353e0582a0838e0e) Reviewed-on: https://gerrit.libreoffice.org/84605 Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>