Commit Graph
2504 Commits
Author SHA1 Message Date
Noel Grandin 9090dc1f3b split OutputDevice from Window
as part of a longer-term goal of doing our
widget rendering only inside a top-level render-
context.

I moved all of the OutputDevice-related code that existed in vcl::Window
into a new subclass of OutputDevice called WindowOutputDevice.

Notes for further work

(*) not sure why we are getting an 1x1 surface in
    SvpSalGraphics::releaseCairoContext, but to fix it I clamp
    the size there

(*) might have to dump VCLXDevice, and move it's code down into VCLXWindow and VCLXVirtualDevice

(*) can we remove use of VCLXDevice in other places, in favour of just talking to the VCL code?

Change-Id: I105946377f5322677d6f7d0c1c23847178a720b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113204
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-17 12:56:51 +02:00
Noel Grandin ec996f7fc2 tdf#142255 Crash when trying to insert a shape
regression from
    commit 5aa60be574
    fix leak in VCLXWindow
it's too dangerous to dump the Impl during dispose(), because if I do,
the Impl is removed while we are iterating over listeners.

So just be check mbIsDisposing more heavily to prevent new references to
the VCLXWindow being added after it is disposed.

Change-Id: Ibb00a289440d24f531072ef5809613d5e8a0a98f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115598
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-14 18:34:47 +02:00
Noel Grandin 883b7a34d2 DBG_ASSERT->assert in UnoWrapper
Change-Id: Ibc6b489f12c2734869bd45f93f946a53e3015226
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115564
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-13 20:52:05 +02:00
Noel Grandin 4e869ad736 can pass by const& here
Change-Id: I1984e3efd8fbd8400e15e82042b9c75b748a46fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115563
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-13 20:51:49 +02:00
Noel Grandin f23bc008ae fix leak in VCLXWindowImpl
where the manual acquire() was not matched by a release() if we disposed
while an event was in progress

Change-Id: I307997772ccdfc912a16f0fb233f4e933f95cfbf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115566
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-13 20:22:25 +02:00
Noel Grandin 32b09faca5 Revert "simplify the vcl<->toolkit connection"
because it introduces a link-time dependency of vcl on toolkit,
and toolkit already depends on vcl

This reverts commit f7a86c5cdf.

Change-Id: Ibdd4f3e8221d70e2abd8fcbda67f85af3ac0396e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115547
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-13 14:48:24 +02:00
Noel Grandin f7a86c5cdf simplify the vcl<->toolkit connection
No need to store two different pointers and hide the
underlying class behind an UNO interface

Change-Id: I72c55e912caa9eae1cffa6c9d1b1d480e5668d40
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115496
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-12 19:57:24 +02:00
Noel Grandin 5aa60be574 fix leak in VCLXWindow
which is a little tricky because dispose() can be called from either
side (vcl::Window or VCLXWindow)

Change-Id: Ifc380feec6bec84b2cf7d903d42db00755d4cd97
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115441
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-05-12 13:37:18 +02:00
Caolán McNamara d78f9b5cca final 'next incompatible build' TODO
from

commit 22ff1aff32
Date:   Thu Sep 9 14:12:47 2004 +0000

    INTEGRATION: CWS toolbars2 (1.47.22); FILE MERGED
    2004/08/24 13:53:25 ssa 1.47.22.2: #i32185# prepare removal of useless interface

just mark as deprecated in the .idl and leave the stubs alone

Change-Id: I0c0c4dccccb1b35add82306870519e2e94c044d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115010
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-04 09:45:57 +02:00
Stephan Bergmann 10d29c390d throw() -> noexcept, part 2/3: Automatic loplugin:noexcept rewrite
Change-Id: I076f16d0536b534abf0ced4d76051eadb4c0e033
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114949
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-05-02 17:02:28 +02:00
Noel Grandin 04aafba860 loplugin:stringadd simplify some *StringBuffer operations
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-29 18:25:31 +02:00
Noel Grandin 39c3574b79 use string_view in INetURLObject::encode
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-28 15:41:02 +02:00
Tor Lillqvist 843db78050 Move some static functions from ProfileZone to TraceEvent where they belong
Change-Id: I35f3d5d8c0a69a224cf7d3a2decba9c8e13c7dc1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114698
Tested-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-04-28 13:44:15 +02:00
Tor Lillqvist 8c80d6f719 Refactor ProfileZone and create Chrome Trace Event Format data
Instead of separate B ("begin") and E ("end") duration events,
generate X ("complete") events.

Only the event JSON objects are generated, not the surrounding array
or object.

See
https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview#heading=h.lc5airzennvk

Online now needs work so that the events are written out to a separate
file instead of being in the common log file.

Change-Id: Ie9363b4cfda862a70e1928ed16350e50a6fee9a5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114142
Tested-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114556
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114653
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
2021-04-27 12:15:48 +02:00
Tor Lillqvist 5a7903fcb9 Clarify the ProfileRecording API
Instead of a startRecording(bool) function that is used to also stop
recording, have separate startRecording() and stopRecording()
functions that do what they say.

Change-Id: Ifa9ea0e530d5d38baa52f685fc1dc0029d30d023
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114081
Tested-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114652
2021-04-27 09:01:24 +02:00
Noel Grandin 75997f13ee no need to create temporaries when appending number to O[U]StringBuffer
Change-Id: I36d82423b5f75010552696a66cec7e53ee265ce4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114395
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-22 21:42:14 +02:00
Caolán McNamara 2577a6be55 forward decl vcl::Window in toolkit/awt/vclxwindow.hxx
Change-Id: I488f994fc890cacd20a6fdc224a098fe0caf3070
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113960
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-12 09:49:17 +02:00
Caolán McNamara 49481b842c vclxtopwindow.hxx and vclxcontainer.hxx can now be private headers
Change-Id: If6d56c9f2fcaf47e1756e8645098ad86987c8b64
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113958
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-12 09:46:46 +02:00
Caolán McNamara 7a762ad0c6 VCLXMultiPage can be in private headers
and similar

VCLXFormattedSpinField can drop SAL_DLLPUBLIC_RTTI

Change-Id: I72cf9eeb1a0cba45089692bc81ae0c79a32bbef5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113957
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-12 09:46:23 +02:00
Caolán McNamara 396dfdd216 move set/get Pointer to VCLUnoHelper
Change-Id: I7dadc7bc881e0b892720b3eb89fdc60c8d87c541
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113776
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-08 13:23:04 +02:00
Noel Grandin 07fd90cc7d rtl::Static -> function local static
Change-Id: I2071c27bdf074403ec24e67f9278ac27f9491303
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113698
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-04-07 08:08:44 +02:00
Caolán McNamara 837f6e6f34 move hatchwindow to toolkit
because it wants to use toolkit headers

Change-Id: If92b174bd4971b88f288f93c1beaed6f2103a83c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112348
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-03-12 10:06:56 +01:00
Caolán McNamara a05622de4a no need to cast to WorkWindow* to use ToTop
Change-Id: I47041924394b4652ed0bb69714197535784d0af1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112322
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-03-11 14:36:52 +01:00
Caolán McNamara f645d4c35e vcl/floatwin.hxx can be toolkit only now
Change-Id: Ifd8f58771ea6f9212a0dca7d4550c86ebecd9333
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111814
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-03-03 15:54:56 +01:00
Noel 81cacf8dea loplugin:refcounting in toolkit
Change-Id: I7564951f3e3fdc0554de9a4af3833bc4f0facce0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111770
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-03-02 20:45:51 +01:00
Caolán McNamara 27272097e6 dockwin.hxx doesn't need to include floatwin.hxx
Change-Id: Ib0408f715c9a12f32ce2f8049d2c9c7272201d76
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111504
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-25 21:12:08 +01:00
Noel a079e90103 loplugin:refcounting in toolkit
Change-Id: I4a65ee848eed7c48340c73d3144b4a1e29ab867c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111370
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-23 09:25:07 +01:00
Caolán McNamara c02696d7f9 forward declare some things and avoid includes
Change-Id: I8bf6e23904c932de646aa84fffab1b5549dbdf31
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111349
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-22 20:26:08 +01:00
Stephan Bergmann 0e9af8b2a6 Adapt to changed CreateWindow signature
...in 197bcde5c4 "loplugin:refcounting in
svtools", see UBSan

> toolkit/source/awt/vclxtoolkit.cxx:1912:22: runtime error: call to function CreateWindow through pointer to incorrect function type 'vcl::Window *(*)(VCLXWindow **, const com::sun::star::awt::WindowDescriptor *, vcl::Window *, long)'
> svtools/source/uno/unoiface.cxx:29: note: CreateWindow defined here
>  #0 in (anonymous namespace)::VCLXToolkit::ImplCreateWindow(com::sun::star::awt::WindowDescriptor const&, MessBoxStyle) at toolkit/source/awt/vclxtoolkit.cxx:1912:22

during CppunitTest_toolkit

Change-Id: I1fdf977ed8f0ae67c09ba1e1565499db3f9f1af3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111305
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins
2021-02-22 11:34:40 +01:00
Caolán McNamara 7752bbe121 foward declare NotebookBarAddonsItem instead of using include
Change-Id: I57e5a8f28a40994b61ab0f554401e4f70c8ffc12
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111230
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-19 18:11:36 +01:00
Noel 1c9f0d9d8e loplugin:referencecasting in test..toolkit
Change-Id: Ia290ff4849f4d7eda978c7b1e2c7f36de744056f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110997
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-17 07:44:18 +01:00
Caolán McNamara 6245dba005 move MenuButton to vcl/toolkit
Change-Id: I3f228c36e3f35ba54cab2ee87fcfbbae7992668d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107265
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-06 12:16:52 +01:00
Noel 9430608363 simplify code, use more subView()
Change-Id: I569c7f34acbdf8451cd5c9acf1abd334637072d1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110051
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-01-28 17:32:18 +01:00
Caolán McNamara df788fcc30 tdf#139609 avoid fetching unnecessary xid under gtk3
because of the side effects

using a bare GtkGrid as m_pSocket in vcl/unx/gtk3/gtk3gtkobject.cxx
is perhaps a poor choice, getting its xid causes poor side effects
wrt events belonging to its child widgets getting delivered to
the SalFrame widget, so duplicate scrolling after showing a opengl
slide and/or showing a video and lots of flickering

we're (generally at least) not using the xid under gtk3 so don't set it
unless it's explicitly asked for. Happily the gtk Player::createPlayerWindow
doesn't use its arg[0] xid in any case, so don't bother setting it for
that backend.

Change-Id: I1c59a607a332635091782c3b49de10647558f301
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109941
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-01-27 10:18:50 +01:00
Caolán McNamara 0069bce585 use an accessor for SystemEnvData::aWindow
with an eye to making it on-demand

Change-Id: If6cefd68a336dc6afe23591c857bd71034215b54
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109929
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-01-26 13:27:17 +01:00
Noel Grandin 1aa31294b2 avoid some ref-counting
can just return a pointer here, instead of VclPtr.

Change-Id: I9ab8962cbbe84ed4dfcfd658a6d758112914cb89
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109923
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-01-25 20:21:48 +01:00
Mike Kaganski 654c527229 Use ContainerType().swap and avoid local variables
Change-Id: I773555180758a97aff37f9bc27de83c355d71521
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109761
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-01-24 08:36:24 +01:00
Noel 63a68064bb make the Color constructors explicitly specify transparency
to reduce the churn, we leave the existing constructor in place,
and add a clang plugin to detect when the value passed to the
existing constructor may contain transparency/alpha data.

i.e. we leave expressions like Color(0xffffff) alone, but
warn about any non-constant expression, and any expression
like Color(0xff000000)

Change-Id: Id2ce58e08882d9b7bd0b9f88eca97359dcdbcc8c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109362
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-01-16 10:07:07 +01:00
Caolán McNamara ac396f2f6b fix coverity parse errors
Change-Id: I3a1179947704452e3ffec02be59d0f7bf0b75ab0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109017
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-01-09 13:01:49 +01:00
Chris Sherlock ab2d3462f4 tdf#74702 - vcl: introduce OutputDevice::GetDeviceInfo()
Change-Id: I02c9cc83fea330ed0ba1539b2682f75d33ba80fd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108132
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-01-02 14:59:49 +01:00
Stephan Bergmann a3d0091d18 New loplugin:stringliteralvar
See the comment at the top of compilerplugins/clang/stringliteralvar.cxx for
details.

(Turned some affected variables in included files into inline variables, to
avoid GCC warnings about unused variables.)

Change-Id: Ie77219e6adfdaaceaa8b4e590b08971f2f04c83a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108239
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-12-26 14:51:15 +01:00
Bayram Çiçek 691f1cc959 tdf#88205: Adapt uses of css::uno::Sequence to use initializer_list ctor
Change-Id: Ib9384b5106ef389b027787432c32e387a5f9ad81
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108268
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2020-12-25 11:50:53 +01:00
Stephan Bergmann 35e471bb4d Adapt the remaining OUString functions to std string_view
...for LIBO_INTERNAL_ONLY.  These had been missed by
1b43cceaea "Make many OUString functions take
std::u16string_view parameters" because they did not match the multi-overload
pattern that was addressed there, but they nevertheless benefit from being
changed just as well (witness e.g. the various resulting changes from copy() to
subView()).

This showed a conversion from OStringChar to std::string_view to be missing
(while the corresponding conversion form OUStringChar to std::u16string_view was
already present).

The improvement to loplugin:stringadd became necessary to fix

> [CPT] compilerplugins/clang/test/stringadd.cxx
> error: 'error' diagnostics expected but not seen:
>   File ~/lo/core/compilerplugins/clang/test/stringadd.cxx Line 43 (directive at ~/lo/core/compilerplugins/clang/test/stringadd.cxx:42): simplify by merging with the preceding assignment [loplugin:stringadd]
>   File ~/lo/core/compilerplugins/clang/test/stringadd.cxx Line 61 (directive at ~/lo/core/compilerplugins/clang/test/stringadd.cxx:60): simplify by merging with the preceding assignment [loplugin:stringadd]
> 2 errors generated.

Change-Id: Ie40de0616a66e60e289c1af0ca60aed6f9ecc279
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107602
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-12-11 21:25:10 +01:00
Caolán McNamara d97a819abe add a way to get an awt::XPopupMenu from a PopupMenu
Change-Id: Ia1cde3b60b71ed9e4d0b7dc8d9ad0b2899d60b98
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107229
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-12-04 17:48:20 +01:00
Noel d6d80c4e17 OSL_FAIL.*exception -> TOOLS_WARN_EXCEPTION
Change-Id: I6800e23ead2767d245d5da71d2d40e0f8a6d7e1f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106859
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-12-01 09:28:52 +01:00
Noel bb06f51308 loplugin:stringviewparam extend to comparison operators
which means that some call sites have to change to use
unicode string literals i.e. u"foo" instead of "foo"

Change-Id: Ie51c3adf56d343dd1d1710777f9d2a43ee66221c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106125
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-11-24 09:45:04 +01:00
Philipp Hofer 0ce8680112 tdf#123936 Formatting files in module toolkit with clang-format
Change-Id: Ib4ee991a05335247d65343dfd3c3bcaf214a9e06
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105720
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2020-11-18 12:30:04 +01:00
Michael Weghorn 42a6919334 tdf#138187 Don't open UNO hyperlink control's URL twice
It looks like handling the click by opening the URL
was added directly to 'FixedHyperlink' in

    commit f0006e79c4
    Date:   Thu Oct 20 10:49:24 2016 +0200
    Handle link click directly in FixedHyperlink

to deduplicate the handling done explicitly in various
dialogs by themselves.

The handling in 'VCLXFixedHyperlink::ProcessWindowEvent',
which did the same for the case where no action listeners
exist, there since

    commit ea665e6fe7
    Date:   Tue Jan 29 14:05:57 2008 +0000
    INTEGRATION: CWS fwk80_SRC680 (1.64.12); FILE MERGED
    2008/01/24 12:27:38 pb 1.64.12.6: fix: #i83756# VCLXFixedHyperlink::ImplGetPropertyIds() added
    2008/01/24 07:50:51 pb 1.64.12.5: RESYNC: (1.64-1.64.18.1); FILE MERGED
    2008/01/15 09:14:01 mav 1.64.12.4: adopt for gcc
    2008/01/15 08:13:04 pb 1.64.12.3: fix: #i83756# open the hyperlink if there are no action listeners
    2008/01/14 09:48:30 pb 1.64.12.2: fix: #i83756# VCLXFixedHyperlink::get/setProperty() added
    2008/01/11 15:04:28 pb 1.64.12.1: fix: #i83756# class VCLXFixedHyperlink

remained, though, so clicking a UNO hyperlink control
resulted in the corresponding URL being opened twice.

Drop the extra handling from there so this only
happens once.

(I couldn't quickly double-check that the URL is
only opened once before f0006e79c4
since opening the dialog from the sample file fails in
such old versions in the bibisect repo.)

Change-Id: I32eace51bf8f14e968a939398c2bf2fd6f83de28
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105793
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2020-11-14 23:36:53 +01:00
Thorsten Behrens 941b5a0bb5 Permit scrollable AWT tab pages a la scrolled Dialog
UNO dialogs since LibreOffice 4.0 permitted setting HScroll /
VScroll properties to enable scrolling for too large a content.
Conceptually clone this code over to TabPage as well, and register
necessary UNO properties in the toolkit UNO wrappers.

Add missing API documentation also to UnoControlDialogModel,
plus the new properties to the UnoControlTabPageModel

Layout code really doesn't like any extra controls it didn't create
itself - so create scrollbars only on demand.

Change-Id: I67894597ac104320e67ad7989ebf9a7955d99103
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105573
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-11-12 08:41:22 +01:00
Noel Grandin 3d90997fb6 make tools::Long 64-bit on Windows platform
This is only for the 64-bit windows platform.
I don't see the point in messing with the 32-bit platforms, they are
(a) become more and more rare
(b) unlikely to even have enough available process memory to load extremely large calc spreadsheets

The primary problem we are addressing here is bringing
Windows-64bit up to same capability as Linux-64bit when it
comes to handling very large spreadsheets,
which is caused by things like tools::Rectangle using "long",
which means that all the work done to make Libreoffice on 64-bit
Linux capable of loading large spreadsheets is useless on Windows,
where long is 32-bit.

The operator<< for tools::Rectangle needs to be inside
the tools namespace because of an interaction with the cppunit
printing template stuff that I don't understand.

SalPoint changed to use sal_Int32, since it needs to be
the same definition as the Windows POINT structure.

Change-Id: Iab6f1af88847b6c8d46995e8ceda3f82b6722ff7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104913
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-11-11 06:34:17 +01:00