summaryrefslogtreecommitdiff
path: root/vcl
AgeCommit message (Collapse)AuthorFilesLines
2021-05-30gtk4: inch towards providing clipboard contentCaolán McNamara2-15/+61
inheriting from GdkContentProvider and implementing a replacement get_value like gtk_text_buffer_content looks the way to go. Change-Id: Ic376a586b77b7f00385e5744c0bc2923f2a72c94 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116397 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-30tdf#142549 Assertion failure when closing LO in gtk a11yCaolán McNamara1-1/+3
since... commit d90aa314961ea4a6893144cd6be66dd71cc2cca1 Date: Fri May 28 20:39:00 2021 +0200 IsDisposed->isDisposed in vcl/../app revert the offending hunk for now. maybe final fix is to special case VclEventId::ObjectDying or convert to !xWin->mpWindowImpl or something. Change-Id: I6987aeb753181fa2eb705fa0535c092e51587a9f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116396 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2021-05-29gtk[3|4] make LocalizeDecimalSeparator take just a keyval as argCaolán McNamara1-10/+7
Change-Id: Id37a275d56fdbcc0f18f6a322810966f4269f501 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116392 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-29gtk4: get GtkComboBox menu keyhandler with Entry case workingCaolán McNamara1-15/+38
Change-Id: Ibcdd82088bb6969353ad6017bc53f06cf12dd283 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116391 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-29std::unique_ptr->std::optionalNoel Grandin3-38/+38
Change-Id: Ie3e0eb7cb7ca25536e825e30c53e112bf537b325 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116379 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-29ofz#34763 missing componentsCaolán McNamara1-0/+4
Change-Id: I6a27f7412975694f3b710e66b4eb5358279bc132 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116388 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-29vcl: Implement static vclplug usageJan-Marek Glogowski7-69/+71
.. and convert Android to it. Will also be used by WASM. It's also kind of a followup on commit f5af2104fc490b90510e36bbf1d2adec8017c594. Change-Id: I3a1b5bc2eae2692e706da10c6352534433c61e57 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116385 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-05-29gtk4: reeable some more newly working dialogsCaolán McNamara1-1/+6
Change-Id: I751b7192a61e2bf5c28559429d89fc219b0efca0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116356 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-29IsDisposed->isDisposed in vcl/../windowNoel Grandin14-47/+47
Change-Id: Ic1c8bb6bb9a45d4e91c997b752e23aed35767f42 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116364 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-28IsDisposed->isDisposed in vcl/../controlNoel Grandin5-14/+14
Change-Id: Icd5fb88f3827eddb307f5fe6b46667a72062e408 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116358 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-28IsDisposed->isDisposed in vcl/../uitestNoel Grandin1-1/+1
Change-Id: Icaa60c6b7629781fdde8bd0cc49859d0ffe6f06a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116360 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-28IsDisposed->isDisposed in vcl/../appNoel Grandin3-3/+3
Change-Id: I1fee7893c5ee67d4ad4f51bf6ce45fe80531cd34 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116357 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-28gtk4: restore 'return' in combobox to active default dialog/assistant buttonCaolán McNamara1-6/+2
Change-Id: I540d8d6461470bf784c3cade909c4d4cd68d0854 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116353 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-28gtk4: restore typeahead in ComboBox dropdown widgetCaolán McNamara1-53/+60
Change-Id: I851c4b3d43ae0b12055f3c76c8e7f7d78c9f1b75 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116352 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-28gtk4: restore typeahead in ComboBox widgetCaolán McNamara1-38/+39
Change-Id: I87a129748f54692add0e047ccdebf71c8b5075e5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116350 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-28Select svl crypto backend in configure.acJan-Marek Glogowski2-28/+1
And define USE_CRYPTO_* macros to select it in code. This way we can get rid of all the HAVE_FEATURE_NSS and _WIN32 variations. This also reverts 1f6b98f21495f0ecc5ded493cb3273da03852191. Change-Id: I101e4ae2f49cdb127d59bd49a4f1c86304ca2238 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116338 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-05-28IsDisposed->isDisposed in winprocNoel Grandin1-25/+25
Change-Id: I8700f211190c55ba1a5a23ecaed12a57f6617a09 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116347 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-28gtk4: renable autocorrect options dialog and pagesCaolán McNamara1-1/+7
Change-Id: I47dda59977fa5002dbdf572046734d60b1c6eb68 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116344 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-28gtk4: insert propagate-natural-width on seeing hscrollbar-policy of neverCaolán McNamara1-1/+30
and likewise the vertical equivalents Change-Id: I28bb5de334aafc96de78c7d03c69f8df66e6a4ab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116341 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-28gtk4: remove 'homogeneous' on conversion to GtkHeaderBarCaolán McNamara1-2/+15
Change-Id: I5dcf6a186ecf22b0a0d7ba624c2adf737d0a7852 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116339 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-28gtk4: add working titlepage dialogCaolán McNamara1-0/+1
Change-Id: I7f7bdad8794a40d47477da591d988f1e11d16717 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116334 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-28gtk4: remove some unused ifdefsCaolán McNamara1-4/+0
Change-Id: I1035efdc3bd19dc04ae81d781d07626be9b6b4fd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116331 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-28gtk4: collect GtkCheckButtons explicitlyCaolán McNamara1-0/+48
seeing as they no longer inherit from GtkButton so their labels are collected for mnemonics or expanded with string-hook via the GtkButton handler Change-Id: Ie0b2b6e6b57c518bbd2035a846088c11d45bd107 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116335 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-28gtk4: restore double-clicks in DrawingAreaCaolán McNamara1-6/+6
Change-Id: I8bdbba3148bb7447f511938d79b878cf1626dd37 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116327 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-28gtk4: reenable DrawingArea mouse clicksCaolán McNamara1-12/+121
Change-Id: If2985a28365da472111877b45c20fb880b818c89 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116326 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-28gtk4: restore combobox set_activeCaolán McNamara1-9/+1
Change-Id: Ia8d7d8c52568d1d1fd72bd450f2a707a14bc610a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116324 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-28gtk4: 'events' property is redundant nowCaolán McNamara1-0/+4
Change-Id: I1819dcaec3835a6e1ca2c54f7ac14804b407c613 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116323 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-28gtk4: default converted GtkComboBoxText to can-focusCaolán McNamara1-8/+14
this was always a quirk in gtk3 so explicitly strip can-focus from GtkComboBoxText Change-Id: I86a475fa81cf9d6361caadfbd9ad1361a7aeb797 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116322 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-28gtk4: reenable ComboBoxCaolán McNamara1-10/+1732
lets find out if we can return to using the real GtkComboBox instead of a look-alike replacement. Change-Id: I28d005b37835f09ace095a3642f7c06be6f1e27b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116321 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-28gtk4: reenable some already working dialogsCaolán McNamara1-0/+2
Change-Id: I95fa4f6fc0f51bc1036271cdf697c5fdc85a6d8d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116269 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-28no need to allocate these on the heapNoel Grandin1-46/+23
and remove ByteEncoder because loplugin:unreffun complains about ByteEncoder::EncodeByte Change-Id: Iebc531fb7748cb9c6a83a8b4a574167a5aac58b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116257 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-28vcl: handle fallback glyph offset for vertical writing.Mark Hung1-1/+1
When GenericSalLayout::MoveGlyph() is called from MultiSalLayout::AdjustLayout(), new position is calculatd by adding glyph advances ( i.e. glyph items' m_nNewWidth ). To move the glyph, the moving offset should be calculated based on the corresponding position, i.e. m_nXOffset v.s. m_LinearPos.X(). Change-Id: I912d499f49f69f68d8388bc8677e6b47bfb6f066 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115926 Tested-by: Jenkins Reviewed-by: Mark Hung <marklh9@gmail.com>
2021-05-27no need to allocate PrintFont separatelyNoel Grandin3-139/+139
Change-Id: I8bc213e096ad6ae83d88c548ff8685a872c5ea91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116258 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-27gtk4: reenable EntryTreeViewCaolán McNamara1-11/+23
Change-Id: If1b953f231199fe132783dafb0e26641b7b14d45 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116268 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-27gtk4: continue to provide Paintable via cairo surfaceCaolán McNamara1-29/+96
instead of squeezing through a GdkTexture and losing hidpi surfaces Change-Id: I1ee75ff804d1d769273e2f80335bfdf528ae8039 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116267 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-27no need to allocate these on the heapNoel Grandin1-7/+7
Change-Id: I6933260f589c67f463ee60572a31c52c6be7eb66 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116262 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-27TETextPortion can be allocated inside the vectorNoel Grandin4-110/+109
Change-Id: Ib54b94f5dcb2a9cf422ef30db99926f200b749c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116261 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-27no need to allocate these on the heapNoel Grandin2-10/+14
Change-Id: I0740f7194c589d6949a816f365cd54403be72118 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116260 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-27gtk4: old GtkImage can be new GtkImage or GtkPictureCaolán McNamara1-13/+78
change to GtkPicture under some circumstances. GtkImage will force a square image so try and use GtkPicture for the non-icon case. The About dialog shows the need to use unscaled image if using GdkTexture. Change-Id: Iceb1e7dee5b53c93ceb432618fdda5650863029f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116256 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-27gtk4: reenable menubuttonCaolán McNamara1-9/+111
not really expected to work yet Change-Id: I27fe5ecd8f78017dd669aeba0c1d8db797e91e3e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116237 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-27no need to allocate this on the heapNoel Grandin1-3/+3
Change-Id: Ief47dc18f858d4f90a537622c06f3df8e9f72fff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116249 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-27gtk4: strip accelerator tagCaolán McNamara1-1/+11
unclear yet if there's another way to do it Change-Id: Ic3355d45bb3bb73c446b576b9cc65204cd39d180 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116238 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-27gtk4: drop can't focus from GtkBox and GtkGridCaolán McNamara1-1/+15
it used to be that can-focus of true in a child with false in the parent allowed focus in the child, that's no longer true. We're already clearing can-focus of false from a widget if a child has can-focus but we build notebooks (especially) with separate .ui files each page so can't tell that there will be contents inserted. Plenty of ways to target just the case for notebook contents, but seems easiest to just clear can-focus of false from all GtkBoxes and GtkGrids. Change-Id: I460f3d5990a5df7b8b8e7d37ce592a5731794f31 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116226 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-27gtk4: apply 'border' to dialog content child widget if it existsCaolán McNamara1-23/+33
and if it doesn't apply to the object itself Change-Id: If73e1e78ddc7945480bb2c2e59bf50350ba53e3f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116225 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-27osl::Module::loadRelative against symbol from executable is unreliableStephan Bergmann1-128/+44
It turns out that c8976bdfdfa361fec9e1e5ff342094e409981fad "tdf#137208 Assume that dladdr provides an absolute pathname" is wrong with glibc if the requested address is in the executable itself, not in a dso. In that case, glibc just returns argv[0] as Dl_info::dli_fname (see <https://sourceware.org/git/?p=glibc.git;a=commit;h=b8565e7817d7c6afd8eac804867b88c9bad1c9f1> "Fill in correct information if symbol is in main program"), which need not be absolute. With > cp workdir/LinkTarget/Executable/fftester instdir/program/ that causes > LD_LIBRARY_PATH=`pwd`/instdir/program instdir/program/fftester sd/qa/unit/data/cgm/pass/binary_corvette.cgm cgm to crash (cf. comment at <https://gerrit.libreoffice.org/c/core/+/111004/2#message-239c434e95f6fee5f5232e32f731595f56116aa3> "tdf#137208 Assume that dladdr provides an absolute pathname"): The call to osl::Module::loadRelative dlopen's instdir/program/libsdlo.so with a relative pathname containing at least one slash, which in turn causes dladdr with an address from libdlso.so to also return a relative pathname, which causes osl_getModuleURLFromAddress on such an address to fail, which causes the CGMPointer ctor in sd/source/filter/cgm/sdcgmfilter.cxx to set m_pPointer to null, causing SIGSEGV when TestImportCGM dereferences it. (Whereas e.g. > (cd instdir/program && PATH= LD_LIBRARY_PATH=`pwd` fftester sd/qa/unit/data/cgm/pass/binary_corvette.cgm cgm) would dlopen libsdlo.so with a relative pathname consisting just of a filename without a slash, so dlopen would search for the library, record its absolute pathname and return that from dladdr, and the program would have worked.) Change-Id: Ifa23124090275a397d4a9b0672ab845af23cf4d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116194 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-05-26Cleanup Library_vcl.mkJan-Marek Glogowski1-96/+56
Merge a few duplicate calls and generally prefer inline $(if ..) over extra ifn?eq lines. There are minimal changes: * Move X11 settings from !DISABLE_GUI to USING_X11 * Move the vcl_opengl_denylist from WNT+!DISABLE_GUI to WNT only * SkiaHelper compiles to "isVCLSkiaEnabled() { return false; }" without the enabled feature, so move code to the general list. * Move the SKIA library to !DISABLE_GUI, where the code is * Move PDFium source + external to generic lists * "extract" common ${vcl_headless_freetype_libs} Change-Id: I9836ab3c1791b6406984ec4d4c27a8924faffdca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116220 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-05-26gbuild: Handle glxtest + vclmain usage via macrosJan-Marek Glogowski5-82/+10
Use a macro to do the same checks for all Executable with glxtest or vclmain usage. Both are static libraries, so every user has the same dependencies. Introduces: * gb_Executable_use_vclmain * gb_Executable_use_glxtest Change-Id: Ib80b4e7c6f5078d47ad8f1ec5708a7174415f705 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116145 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-05-26gtk[3|4] gtk_widget_get_root returns null when no rootCaolán McNamara6-30/+31
unlike gtk_widget_get_toplevel which returns itself if that is the case Change-Id: If977440265bd8ae2c892ee5d52091ebf16ad03cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116218 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-26gtk4: add parent-less widgets to default containerCaolán McNamara1-3/+5
Change-Id: Ia0c06db5a4f1c4ce453c424835d032ebb021f40a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116217 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-26gtk4: wrap gtk_buildable_set_name/GtkBuildableIface::set_idCaolán McNamara1-31/+27
Change-Id: Ia19179bc5879218495184dcec80fd96eb375bc00 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116209 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>