vcl::WindowData is used to manage/store various state
information for windows. It can be (de)serialized to/from string.
So far, both the weld::Window API to get/set window state
as well as the SvtViewOptions API were based on the string
representation.
Switch those and various related places to using vcl::WindowData
instead to use a stronger/more specific type than just OUString
in various places across the code base.
Do the string (de)serialization where necessary, but otherwise
prefer to use vcl::WindowData directly.
Calling weld::Window::set_window_state with a WindowData
param that doesn't indicate that anything should be set
(i.e. whose mask is vcl::WindowDataMask::NONE) should
have no effect, so drop extra checks that were previously
checking whether the string representation was empty
and skipping the call to weld::Window::set_window_state in
that case.
No change in user-observable behavior intended or
seen in a quick test.
Change-Id: I5bc4caeb49d0ab2bbc4fa597a5ef19d86d3aac2c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208125
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
utl::MediaDescriptor was just a SequenceAsHashMap with a few added
methods. It made it more difficult to assign a SequenceAsHashMap to
MediaDescriptor, without real upsides. In many places, the class was
used not as media descriptor, but just as helper to create sequences.
This change puts the string constants and the former methods into a
namespace utl::MediaDescriptor.
It would be also good to drop comphelper::NamedValueCollection, which
is basically a twin of comphelper::SequenceAsHashMap (TODO).
Change-Id: Ia9b69c5a2ad153ecc654944c419c1880252ed86e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195163
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Regression after commit 9d6e1594a2
(Deduplicate and unify using vcl::GetBitmap, 2024-11-08).
An Any with an empty graphic is not itself empty; such an any caused
the outer check to succeed, and therefore its 'else' branch never
executed, when it ought to.
Change-Id: I97115c7f7dbab4ec54b5e999e4b47ecdc8874e47
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193161
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
-Extend ViewDataSupplier to work with window state for supported
applications like sw, sc, sd
-Extend sm DocumentPropertySupplier to work with window state
-Add OldWindowState string member to SfxViewShell inherited
classes for sw, sc and sd
-Add OldWindowState string member to SmDocShell class for sm
Imported window state is stored in the model shells
or the ViewShells if available. This data is accessed by services
like ViewDataSupplier and DocumentPropertySupplier used by
persistentwindowstate.cxx. It is needed to store the window state
data since frame is not available to get to resize
and reposition by the time importing document has finished.
-Add windowstatehelper header and source files in the framework
module for getting/exporting the size and position of
windows. Also add associated file and library to make files for
exporting/using these helper methods across different modules.
-Modify impl_searchRecycleTarget method in loadenv.cxx
New frames are created for saved documents when launched from
the start center. This is to apply their own window state
separately from the backing window.
New docs and templates still recycle the backing window frame.
-Make the backing window close afterwards after the new frame has
been created and the document gets loaded successfully
(modified in loadenv.cxx)
Change-Id: Ia5ad606e744621f267dae6cd468b0c430b2ebf1d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185189
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
and
cid#1665187 Variable copied when it could be moved
cid#1665186 Variable copied when it could be moved
cid#1665184 Variable copied when it could be moved
Change-Id: If36872293c53263ad2a42b06463c9b50c243068d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190441
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
to move the logic of constructing a new Bitmap from an existing Bitmap and an AlphaMask,
into vcl, where it can later be optimised
Change-Id: I2af1c6d1a35d968abdd07546448f7e211772e70b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190366
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
places where we are constructing a Graphic by first
converting to BitmapEx, which is unnecessary, rather pass a
Bitmap to Graphic.
Change-Id: I386f68e7f5bc6ef9509352187dbe9a0774defaac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190307
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
and
cid#1659754 Variable copied when it could be moved
cid#1659755 Variable copied when it could be moved
cid#1659756 Variable copied when it could be moved
cid#1659766 Variable copied when it could be moved
cid#1659767 Variable copied when it could be moved
cid#1659769 Variable copied when it could be moved
cid#1659770 Variable copied when it could be moved
cid#1659777 Variable copied when it could be moved
cid#1659787 Variable copied when it could be moved
cid#1659790 Variable copied when it could be moved
cid#1659793 Variable copied when it could be moved
cid#1659802 Variable copied when it could be moved
cid#1659818 Variable copied when it could be moved
cid#1659822 Variable copied when it could be moved
cid#1659824 Variable copied when it could be moved
cid#1659825 Variable copied when it could be moved
cid#1659826 Variable copied when it could be moved
cid#1659842 Variable copied when it could be moved
cid#1659849 Variable copied when it could be moved
cid#1659850 Variable copied when it could be moved
Change-Id: I70729aaf6e229518a9a50ac18311286ab5b05b53
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189348
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
and
cid#1660483 Variable copied when it could be moved
cid#1660480 Variable copied when it could be moved
cid#1660473 Variable copied when it could be moved
cid#1660472 Variable copied when it could be moved
cid#1660471 Variable copied when it could be moved
cid#1660468 Variable copied when it could be moved
cid#1660464 Variable copied when it could be moved
cid#1660463 Variable copied when it could be moved
cid#1660462 Variable copied when it could be moved
Change-Id: I6380e6a6c2a63a5d6f2052264c54f250703e77fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188825
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
we can just take a "const &".
(found by running clang-tidy with the
performance-unnecessary-copy-initialization warning)
Change-Id: I20fd208c65303da78170b1ac06c638fdf3aa094b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176267
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
And drop unneeded solar mutex locks, that were used when the menu
implementation was accessed directly.
Change-Id: I06d3d872343fdd6204b4e8bbd8bcec67c17fdbe6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176199
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
Since commit 26c106a5ae "append '(Remote)'
in the titlebar when remote file is opened", 2015-08-14, the titlebar
shows "(remote)" for documents with non-empty URLs that are not file
scheme.
When recovering a non-existing document, the URL is a factory one like
"private:factory/swriter"; and INetURLObject::GetProtocol() call returns
PrivSoffice.
Indeed, recovery of a non-existing document doesn't make sense itself,
and is fixed by Justin elsewhere; but let's fix the general logic here.
Change-Id: Ibaf095981c37a2fd64f745ad0966465d98a4ed4d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171027
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
Some of the exclusions were too aggressive. Restrict them to only the
important classes, which exposes some more places this plugin applies.
Change-Id: I1b2d1fb24391adc71ed0984f94168f61a149479f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165154
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
OUStringLiteral should be declared constexpr, to enforce
that it is initialised at compile-time and not runtime.
This seems to make a different at least on Visual Studio
Change-Id: I1698f5fa22ddb480347c2f4d444530c2e0e88d92
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153499
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
comparing hashcodes without doing an actual comparison
is not safe.
Code was like this since
commit 6845330a22
Author: Carsten Driesner <cd@openoffice.org>
Date: Wed Oct 17 09:57:37 2001 +0000
#87255# support toolbar item style and help id
Change-Id: Ie49647da257e6199d9502c916da2dd3d39d52377
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151136
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
To remove unneeded using declarations.
Via the simple script:
for i in $(find $dirname -name "*cxx" -o -name "*hxx" ); do
clang-tidy-12 --checks="-*,misc-unused-using-decls" "$i";
done
Change-Id: Idd8aa3d3cfec456c4babb65e89af712051b4deb0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150609
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>