summaryrefslogtreecommitdiff
path: root/vcl/unx
AgeCommit message (Collapse)Author
2021-05-06add get_clipboard to widgetCaolán McNamara
Change-Id: I9a623e558bc18286af773e0aa3120185a30baa52 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115172 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-05vcl: adjust cairo text renderer for vertical writingMark Hung
, remove extra matrix translation and use the positions from Harfbuzz more directly. Change-Id: I2eb337b7f3bd70f4726f56d85a38f4a1f0931155 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115018 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Mark Hung <marklh9@gmail.com>
2021-05-04restore focus to the GtkEntry of GtkComboBoxText on menu popdownCaolán McNamara
the font size/name dropdowns in the document toolbar should continue to restore focus to the document directly while typical ones should vcl-alike select the GtkEntry contents Change-Id: Ic6c6cd48362dac6e4476c42a4070a83cd50faa2b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115104 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-04Related: tdf#141857 send style-updated after app settings are updatedCaolán McNamara
so the libreoffice settings are updated before the widget updates, otherwise the app settings are the old settings when the widget updates Change-Id: Id32dd55a1e5102cc707d6ee74eddfae2247e105a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115070 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-03loplugin:unnecessaryparen small improvementNoel Grandin
when calling a function, and passing only one arg, but the function has defaulted args, we were ignoring this case. Change-Id: I86517f18e30531127664088ddc09ef96dbd8bdf5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115033 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-02throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewriteStephan Bergmann
Change-Id: I076f16d0536b534abf0ced4d76051eadb4c0e033 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114949 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-05-01Related: cid#1478001 CreateVirtualDevice never passed a null pGraphics argCaolán McNamara
Change-Id: I0701b15a28ab3583586c0c8018c511e100b41a93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114948 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-01cid#1478001 Dereference before null checkCaolán McNamara
Change-Id: I86fe97280c62bf871b23ea2e9274439bab7af929 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114947 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-29tdf#141963 put focus in vcl parent during Function key processingCaolán McNamara
Change-Id: Ib63567c9ce208cb7dd522a1bce9d99fa44a72554 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114883 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-29loplugin:stringadd simplify some *StringBuffer operationsNoel Grandin
pulled from a larger patch which I created with a more permissive variant of this plugin Change-Id: I7abf1f3f09e84703b6e0e52fe9587dff691b2187 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114875 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-29allow push/pop multiple levels of freeze/thawCaolán McNamara
so can freely protect a block with freeze/thaw regardless of current freeze/thaw state Change-Id: I1bd60bfc02fe784e36ae371a737f4fdfb15a0888 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114615 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-29remove support for BITMASK in vcl backendsNoel Grandin
Rather use a proper alpha channel if we need transparency. This is another small step towards merged alpha in our vcl layer. I suspect the intent in a lot of this code was to save memory. Which have been a thing way back then, but these days our backends mostly end up doing a copy-and-convert to a real alpha channel anyway, so the existing code is actually now a pessimisation. Change-Id: I4a2bcbb2f76b841f05bc00580f364492829c69de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114808 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-28use string_view in INetURLObject::encodeNoel Grandin
Change-Id: Ib686c6872388b02c8939d3b65f6bd25cda348bc8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114754 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-28WaE on g_object_ref case, seen in Fedora 34 with glib2-2.68.1Caolán McNamara
vcl/unx/gtk3/gtk3hudawareness.cxx:95:24: error: redundant static_cast from 'typename std::remove_reference<decltype(connection)>::type' (aka '_GDBusConnection *') to 'GDBusConnection *' (aka '_GDBusConnection *') [loplugin:redundantcast] cast<GDBusConnection*>(g_object_ref (connection)); vcl/unx/gtk3/gtk3hudawareness.cxx:95:24: error: static_cast from 'typename std::remove_reference<decltype(connection)>::type' (aka '_GDBusConnection *') prvalue to 'GDBusConnection *' (aka '_GDBusConnection *') prvalue is redundant [loplugin:redundantcast] handle->connection = static_cast<GDBusConnection*>(g_object_ref (connection)); Change-Id: I7460ea60b22aa50d4bd7b10f2e12980d1f80778e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114772 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-27Related: tdf#130326 allow bulk_insert_for_each to insert under a nodeCaolán McNamara
Change-Id: Iad14638a33710ef0b790c702e7eab2283726f2fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114571 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-26drop mask from BitmapExNoel Grandin
So that we have fewer cases to deal with when we transition to 32-bit bitmaps. (*) rename maMask to maAlphaMask, since now it is only being used for alpha duties. (*) drop mbAlpha and mbTransparent to simplify state management, the only thing we need to check for alpha is if maAlphaMask is non-empty. Change-Id: I06252e38e950e846a94b4c2ba8ea763be17801fe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111679 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-25loplugin:unusedfieldsNoel Grandin
Change-Id: I52af3509afde02dae494747527ab800590682fa3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114591 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-23we want the a11y screen locationCaolán McNamara
gen uses the absolute screen position so that's what's expected Change-Id: I4f51c272a49a640e0a387bc123b2cc17ea430d6a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114551 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-23Related: tdf#140659 improve F6 task pane switchingCaolán McNamara
for native gtk widgets inside vcl docking windows. Put vcl focus in container on F6 so cycling moves between expected panes. Change-Id: I70bd54493a345ae5bdb801caf79d567bc1ae0438 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114543 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-23undo blocking emitting focus events during grab_focusCaolán McNamara
revert... commit f97dbac73fe149e8fed0932890d0c1d6be4869a3 Author: Caolán McNamara <caolanm@redhat.com> Date: Wed Jun 26 21:00:02 2019 +0100 infinite focus changing in toc biblio page which blocked calling focus-changed callbacks when grab_focus is called explicitly analogous to how we block value-changed callbacks setting values through code but don't block them when the value is changed by user interaction. In retrospect that was a poor choice, so revert that and subsequent workarounds in favour of just not calling gtk_grab_focus if the widget already has focus. checked: a) tdf#138427 focus set to wrong input box b) tdf#138078 only call GetFocus if we gained focus from an unfocused state c) tdf#137993 ensure the toplevel vcl::Window is activated d) tdf#136941 call focus in handler explicitly Change-Id: I411480e2d627aa9995fb41b0aa17e9fb6d34d73f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114524 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-21simplify stripStart/End pairs into a single strip callNoel Grandin
Change-Id: I32b1b7d944a4ec49d7daa5b8fa9371b059380062 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114393 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-21loplugin:stringadd replace OUStringLiteral temporaries with OUString::ConcatNoel Grandin
Change-Id: I656f06a74d9f0180ae460264563d6a935c7d2c60 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114377 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-20drop unused get_hscroll_heightCaolán McNamara
Change-Id: Ibf4dffd01c3a6b3f352b2951552e58d476d0d204 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114337 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-20setting vertical when horizontal wantedCaolán McNamara
Change-Id: If0dbf943ea6db350f691c867d425603e86ccdd4f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114336 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-16X11SalGraphics::SupportsCairo is pretty slow and its value won't changeCaolán McNamara
seen in tdf#140639 with https://wiki.documentfoundation.org/Development/How_to_debug#Performance_debugging_.28perf.29 perf record --call-graph dwarf,65528 --pid=`pidof soffice.bin` perf script | ~/git/FlameGraph/stackcollapse-perf.pl | ~/git/FlameGraph/flamegraph.pl --width 4096 --height 24 > perf.svg Change-Id: Ibb3b2bdd57adcabf74f38c35878cf2c00e1e5de0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114161 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-15enum class X11ShowStateJan-Marek Glogowski
Change-Id: I1e1f7f97bbb6d41f61a0ee9195cc84e0f680b741 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114115 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-04-14add pitch to the patternCaolán McNamara
Change-Id: Ic32527feabb0405f17bd59779cf19553afaa1e7b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114086 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-14tdf#140639 cache FcPattern for font optionsCaolán McNamara
Change-Id: Ibb1b1e06630e505924e05ea4b5b454e58738d743 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114083 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-14Qt add additional info to ToolkitNameJan-Marek Glogowski
Adds the used font backend and the QPA platform name, so we don't need to ask / verify all time (and less chance of wrong info). Examples: - qt5 (qfont+xcb) => QFont text rendering + X11 backend - kf5 (cairo+wayland) => Cairo text rendering + Wayland backend Change-Id: I1102dd6d83b0ed48318ac5c31c8ca09d4fdd73eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113945 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-04-14use original FontAttributes instead of an intermediate FastPrintFontInfoCaolán McNamara
Change-Id: Id8f8ea9b9d144d5bf9eace81ecc07e6b5dce6d41 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114077 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-14getFontOptions is always called with pitch of PITCH_DONTKNOWCaolán McNamara
getFontOptions is called from only one location and there the pitch value is left at its default PITCH_DONTKNOW which is suspicious but that's the way it currently is Change-Id: I7e4a487b800a0111133a0edd472731ffa5122177 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114076 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-14hintstyle is unusedCaolán McNamara
left behind after... commit 561a02ec72cf963d7cd59cfb9a183c1032f0861b Date: Thu Jun 15 15:28:46 2017 +0200 loplugin:unusedfields in vcl part3 Change-Id: Iaf76a02a6f85e5bb3e72d0f4804d3cf4601dca64 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114068 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-13tdf#124176 Use pragma once in vclsarynasser
Change-Id: I30834d8686763d8972cb1579341eefb43ae300c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114052 Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2021-04-11KF5 allow changing the font backend to QFontJan-Marek Glogowski
Implements SAL_VCL_KF5_USE_QFONT to switch the used font backend, like SAL_VCL_QT5_USE_CAIRO for the qt5 backend. Change-Id: If3f163973c2e251eafe3bd734fd7525a8127cbcf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113946 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-04-11Qt5/KF5 get rid of unneeded own grahics handlingJan-Marek Glogowski
This was hiding tdf#141623, when I decided to implement the override to run the kf5 VCL plugin with the qfont text rendering. Change-Id: Id1fcd363bd77a756cb27e3a171c872ce792da5ad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113956 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-04-09enable set_busy_cursor to stack up in the gtk version tooCaolán McNamara
Change-Id: Ib9f8ee5af3e40c7563561d0eebc59f4a4fafcfa4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113888 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-07rtl::Static -> function local staticNoel Grandin
Change-Id: If8d2ef2066f52bc287457e03f0e57df11d5cfc85 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113714 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-07vcl: class to automatically delegate calls to SalGraphicImplTomaž Vajngerl
A class for SalGraphic backends that delegates all the graphic drawing calls to SalGraphicImpl. Use this for GenPspGraphics. Change-Id: I0461259802732e9107d9011608530f1ffe2891ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113733 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-04-06Extend ToolBarManager to build weld::ToolbarSzymon Kłos
- used for SubToolBarController eg. framework shape toolbar popup present in the sidebar fontwork panel - add separate implementation for vcl and weld based ToolBarManager - provide basic functionality for weld based (just inserting standard items with icons and controllers) - not implemented: addons items merging etc. Change-Id: I8e460f34abd512d70e95a1d484d728b7d809ce9d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113387 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2021-04-06vcl: use PixelFormat enum in SalBitmap interface and backendsTomaž Vajngerl
This changes all backends to use PixelFormat as the input to the SalBitmap::Create method (and all the backends). This is the first part as we need to make sure to also limit the use of GetBitCount method and also use of it in SalGraphics. Change-Id: I8d2b6adfcb8fe3dd78010538411f338c9a1c3996 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113603 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-04-05tdf#141499 trigger container_focus_changed for toplevel window focus eventsCaolán McNamara
retaining the single callback of commit 9ffd28c32a301141a26e41ddd0cf485a562c83bb Date: Fri Mar 5 16:13:19 2021 +0000 use container_focus_changed instead of toplevel_focus_changed for focus events affecting the container where for gen its all the same thing, but restore the gtk code for toplevel window gaining/losing focus which set-focus-child doesn't fire on Change-Id: Ia254a447283d0b3dd1a76072820d85ff379865f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113616 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-05vcl: move GenPspGraphics into a subclass of SalGraphicsImplTomaž Vajngerl
This is an effort to make SalGraphicsImpl mandatory for all backends. So we can rearange the interfaces of backends to a more logical structure, where we can have multiple graphic rendering backends for an VCL (windowing) backend (like we already do for Windows with GDI and skia backends). In this case we changed GenPspGraphics, introduced a new GFX backend "GenPspGfxBackend" - a subclass of SalGraphicsImpl, and moved the graphic functions into it. Change-Id: I148b460ff71c3e6b7548e9e2b933390151b6d82f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113593 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-04-02vcl: remove GetBitCount and GetColorCount from Bitmap{Ex}Tomaž Vajngerl
We can cast the PixelFormat enum to int for the same information and we can use the enum to reduce ambiguity when possible. Change-Id: I6ea648139465568cdeb12e5f5f75c7b609365bf4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113188 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-03-31remove internal 4bit scanline formatsNoel
since we have already removed the 4-bit internal bitmap formats. Change-Id: Ie481aaa8e25642a47e30beb6f37e2d3beda304e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113412 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-03-30fix the endif placement for GTK_CHECK_VERSIONCaolán McNamara
Change-Id: I1ff3f3c32990947a353c5908665b156d87d8ff58 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113346 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-03-25Fix typosAndrea Gelmini
Change-Id: I734d34847b6e75991b65a620de6e1bdf2122742d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112818 Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2021-03-25fix gtk3_kde5 buildCaolán McNamara
since... commit a0656ec6fc2b41e65f1b40dbd64f546175e2762f Date: Thu Mar 25 09:53:33 2021 +0300 const OUString -> const OUStringLiteral Mostly automated rewrite Change-Id: Ia5e24f7c5ed9e4608c264435463c60f417c2c915 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113082 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-03-25const OUString -> const OUStringLiteralMike Kaganski
Mostly automated rewrite Change-Id: Ie020a083f898bc126b8fb039d4ecb2e687172da1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112965 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-03-24tdf#141197 if we have a sysobj child then include that in the atk hierarchyCaolán McNamara
this also should make the case of an embedded video visible in the atk hierarchy as well as the target of the native gtk widgets in a vcl window container in the startcenter Change-Id: Ia91439cbccbffbb0badbfb466f7ab6d1ccbfe3ae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113033 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-03-24cid#1474443 Uninitialized scalar variableCaolán McNamara
Change-Id: I346425552d437cfd77dced31efca384d8de7b542 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113019 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>