Introduce a new UNO command, ".uno:ExtensionManager",
which is used to open the "Extensions" dialog from the
menu, notebookbar and using the keyboard shortcut
(Ctrl+Alt+E) instead of specifying the service name
"service:com.sun.star.deployment.ui.PackageManagerDialog"
in their configuration directly.
In a first step, handle the new UNO command in
SfxApplication::MiscExec_Impl by creating an
instance of the service by its name and executing the dialog
using the css::task::XJobExecutor interface without any
additional changes.
This matches what the previous way of triggering
the dialog would have done, i.e. no user-observable
behavior is intended yet.
This prepares for further changes in upcoming
commits, in particular passing a parent for
the dialog.
As documented in icon-themes/README.md, make sure to
have icons with the expected names, which is e.g.
used in the "Tabbed Compact" UI variant of the Notebookbar.
(Link to the already existing icons.)
Change-Id: I4b381b5f0b7cddd9f0aa9abd9b88c1c4364ab824
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193580
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
After recent commit 851fb75779
recheck these directories in include/ again
to test drive the new --headersfwd mode of bin/find-unneeded-includes
Change-Id: I0ede437c4f9958cd98210ed1760a5b98ea8bd1ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192377
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen@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>
Replaced #define statements with an enum class FramePropHandle in
properties.h, updated frame.cxx to use this enum class.
Change-Id: Ib7f1eff43ec4196176de8a6af80a7dd9c0a1b2ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192468
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
If a toolbar is floating then when a button is clicked on it the toolbar
window will end up taking focus. This is kind of confusing if the button
does an action such as inserting a table row. In that case you want the
cursor to be visible in the document and to be able to immediately start
typing in the new row.
Note that despite the description in the bug report I think this is a
general problem on all platforms and with all toolbar buttons. For
example the cursor “disappears” in the same surprising way if you press
the button to insert a footnote.
To fix the problem this patch just makes it pass the focus to the
toolbar’s frame before dispatching the command. This is similar to what
is already done in the code for the font toolbar to handle when a new
font is selected.
Change-Id: Ifd941fb4ae295c57d465f4c8ff798913ce4a14c8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192649
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Instead of having a bunch of nested if statements in order to initialise
xDispatch while the solar mutex is locked along with a check for whether
the initialise happened after the lock is released, there are now just
early returns on failures. This should make it a bit easier to add an
extra step for the success case while holding the mutex in a subsequent
patch.
Change-Id: I731a800598a8e31b2b18ee29b6354c5440a430dd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192648
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Avoids the console noise and the overhead associated with needless
image loading attempts.
There are some menu items added from code, that are not handled by
the patch: e.g., .uno:ToolbarLock.
Change-Id: If94cad97207e46125083c56882c284e0993f43f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192638
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
At least IWYU 0.24 no longer gives a warning if sal/types.h
is included only for the css alias
Few other places were excluded because an enum type used some
base type from sal/types.h
Now there is no false warning about those instances either, so drop them too
Change-Id: Ib2fac8fe2c7022c28194514e828c773385217ddd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191564
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Clearly if no file is specified,
we don't need to attempt to erase 'nothing'.
Change-Id: I6fe1110eeb9ff409037168e4421ef55253ea8766
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191639
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.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
The Global and Module AcceleratorConfigurations are supposed to use the
new-style service specification where their argument is specified during
construction instead of using XInitialization. This was causing the test
to seg fault if it’s enabled. I think the service might have been
upgraded to the new style in 8f3cec9d7a.
Change-Id: I1fe7fa67561f6e0a0e594e5112796d14f4ce4c77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191218
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
The XCUBasedAcceleratorConfiguraton reloads the configuration for a key
when a change notification on that key is received. However if the
change event was triggered by deleting a key then the change path
doesn’t contain a command and the code was ignoring it. The
reloadChanged function seems to already almost be designed to handle the
case when there is no command in the configuration. In that case it
deletes the key which seems like the right thing to do. However, when a
new key is assigned an event first gets fired for the key with no
locale, so the code needs to additionally handle that case now.
I don’t think this has any practical implications unless it’s possible
to have two instances of an XCUBasedAcceleratorConfiguration for the
same module open at the same time. However, this patch alone can work as
an alternative way to fix the problem described in
96491f3f84 because it would cause the
deleted key from the module config to also be deleted in the global
config.
It looks like the check for sPath was added in
7492878a15.
Change-Id: Ia90a1932e3169ca28157482c3035aba7efae012a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190972
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
The XCUBasedAcceleratorConfiguration-s get registered as config change
listeners in ModuleAcceleratorConfiguration::fillCache and
GlobalAcceleratorConfiguration::fillCache. The reloadChanged method then
finds the appropriate config based on the path of the change event.
However, the code didn’t do anything to check whether the config is
actually the one being managed by this accelerator configuration. That
meant for example that if a key was changed in the module configuration
then the global configuration would get notified and it would end up
replacing its configuration for that key with the module one. It would
also end up in the accelerator configuration for modules for any other
documents that happen to be open.
One way to manifest this bug is as follows:
• Create a new text document
• Tools → Customize
• Select the keyboard tab
• Select F7 in the list of keys
• Type “word count” in the search box
• Press “assign”
• Press OK
• Tools → Customize again
• Select F7 in the list of keys
• Press “delete”
• Press OK
Now look at the tools menu. Notice that F7 is still assigned to the word
count option. This is because the key has been copied into the global
configuration. The delete only deleted it from the module configuration.
Note that the messed up configuration is only stored in the read cache
so it doesn’t end up getting saved. If you restart LibreOffice then the
expected behaviour is restored.
This problem might have been added in e9e75d722d. It looks like before
that it might have been adding separate listeners for global and module
configs. Ie, connectToResourse has either PresetHandler::E_MODULES or
PresetHandle::E_GLOBAL.
Change-Id: Iac8f50f3668eaadc9a62f562d5923b93cc3d0721
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190971
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
The accelerator cache maintains a 1:1 mapping for key→command and a
1:n mapping for command→keys. When a new command is set for a key it was
previously only updating the key→command map and then adding the key to
the command→keys map. It never removed the key from the command→keys map
for the old command. When the menus are eventually updated, it looks up
whether each item has a shortcut based on the item’s command. Because
the old command was never removed, this ended up making it display the
same key binding on multiple menu items.
Change-Id: I6d75834f4c49b1f5c105ec40cb27b8e73006152d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190928
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
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#1659793 Variable copied when it could be moved
cid#1659830 Variable copied when it could be moved
cid#1659841 Variable copied when it could be moved
cid#1659856 Variable copied when it could be moved
cid#1659863 Variable copied when it could be moved
cid#1659864 Variable copied when it could be moved
cid#1659865 Variable copied when it could be moved
cid#1659903 Variable copied when it could be moved
cid#1659909 Variable copied when it could be moved
cid#1659917 Variable copied when it could be moved
cid#1659924 Variable copied when it could be moved
cid#1659929 Variable copied when it could be moved
cid#1659930 Variable copied when it could be moved
cid#1659932 Variable copied when it could be moved
cid#1660056 Variable copied when it could be moved
cid#1660112 Variable copied when it could be moved
cid#1660169 Variable copied when it could be moved
Change-Id: I623009beb8e4a61b2253a17f356576bd3ac3f06c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189402
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
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
cid#1659641 Variable copied when it could be moved
cid#1659647 Variable copied when it could be moved
cid#1659650 Variable copied when it could be moved
cid#1659663 Variable copied when it could be moved
cid#1659685 Variable copied when it could be moved
cid#1659698 Variable copied when it could be moved
cid#1659703 Variable copied when it could be moved
cid#1659705 Variable copied when it could be moved
Change-Id: If0d399dcce73d47be105ac4b1c342bcc010c56c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189181
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
and
cid#1662041 Variable copied when it could be moved
cid#1662040 Variable copied when it could be moved
cid#1662038 Variable copied when it could be moved
cid#1660211 Variable copied when it could be moved
cid#1660147 Variable copied when it could be moved
cid#1660117 Variable copied when it could be moved
cid#1660071 Variable copied when it could be moved
cid#1660046 Variable copied when it could be moved
cid#1660046 Variable copied when it could be moved
cid#1659985 Variable copied when it could be moved
Change-Id: I34627585e593f9de6bfa195ee0617848d9ed6135
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189157
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
and
cid#1660225 Variable copied when it could be moved
cid#1660211 Variable copied when it could be moved
cid#1660185 Variable copied when it could be moved
cid#1660173 Variable copied when it could be moved
cid#1660168 Variable copied when it could be moved
cid#1660166 Variable copied when it could be moved
cid#1660165 Variable copied when it could be moved
cid#1660163 Variable copied when it could be moved
cid#1660152 Variable copied when it could be moved
cid#1660149 Variable copied when it could be moved
cid#1660147 Variable copied when it could be moved
cid#1660145 Variable copied when it could be moved
cid#1660142 Variable copied when it could be moved
cid#1660140 Variable copied when it could be moved
cid#1660137 Variable copied when it could be moved
cid#1660136 Variable copied when it could be moved
cid#1660135 Variable copied when it could be moved
cid#1660128 Variable copied when it could be moved
cid#1660124 Variable copied when it could be moved
cid#1660122 Variable copied when it could be moved
cid#1660117 Variable copied when it could be moved
cid#1660114 Variable copied when it could be moved
cid#1660110 Variable copied when it could be moved
cid#1660109 Variable copied when it could be moved
cid#1660105 Variable copied when it could be moved
cid#1660104 Variable copied when it could be moved
cid#1660102 Variable copied when it could be moved
cid#1660100 Variable copied when it could be moved
cid#1660098 Variable copied when it could be moved
cid#1660080 Variable copied when it could be moved
cid#1660079 Variable copied when it could be moved
cid#1660078 Variable copied when it could be moved
cid#1660075 Variable copied when it could be moved
cid#1660071 Variable copied when it could be moved
cid#1660070 Variable copied when it could be moved
cid#1660064 Variable copied when it could be moved
cid#1660063 Variable copied when it could be moved
cid#1660060 Variable copied when it could be moved
cid#1660058 Variable copied when it could be moved
cid#1660053 Variable copied when it could be moved
cid#1660050 Variable copied when it could be moved
cid#1660049 Variable copied when it could be moved
cid#1660046 Variable copied when it could be moved
cid#1660042 Variable copied when it could be moved
cid#1660028 Variable copied when it could be moved
cid#1660023 Variable copied when it could be moved
cid#1660022 Variable copied when it could be moved
cid#1660021 Variable copied when it could be moved
cid#1660020 Variable copied when it could be moved
cid#1660017 Variable copied when it could be moved
cid#1660013 Variable copied when it could be moved
cid#1660005 Variable copied when it could be moved
cid#1660003 Variable copied when it could be moved
cid#1659999 Variable copied when it could be moved
cid#1659998 Variable copied when it could be moved
cid#1659995 Variable copied when it could be moved
cid#1659993 Variable copied when it could be moved
cid#1659989 Variable copied when it could be moved
cid#1659988 Variable copied when it could be moved
Change-Id: I2a30c8a2ac8785050d49b98635b0b406535b185a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189056
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
and
cid#1660211 Variable copied when it could be moved
cid#1660204 Variable copied when it could be moved
cid#1660195 Variable copied when it could be moved
cid#1660194 Variable copied when it could be moved
cid#1660193 Variable copied when it could be moved
cid#1660191 Variable copied when it could be moved
cid#1660188 Variable copied when it could be moved
cid#1660187 Variable copied when it could be moved
Change-Id: Ifcb179f73723e2d43144e242fa9c1b5ac332cd4f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188965
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
and
cid#1555637 Variable copied when it could be moved
cid#1555640 Variable copied when it could be moved
cid#1555863 Variable copied when it could be moved
cid#1556471 Variable copied when it could be moved
cid#1556634 Variable copied when it could be moved
cid#1556731 Variable copied when it could be moved
cid#1556751 Variable copied when it could be moved
cid#1556807 Variable copied when it could be moved
cid#1557366 Variable copied when it could be moved
cid#1558026 Variable copied when it could be moved
Change-Id: I187cb364877d35acd843d8391e5b376437ec96f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188935
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>
and
cid#1660535 Variable copied when it could be moved
cid#1660533 Variable copied when it could be moved
cid#1660519 Variable copied when it could be moved
cid#1660518 Variable copied when it could be moved
cid#1660516 Variable copied when it could be moved
cid#1660504 Variable copied when it could be moved
cid#1660497 Variable copied when it could be moved
cid#1660493 Variable copied when it could be moved
cid#1660490 Variable copied when it could be moved
cid#1660489 Variable copied when it could be moved
Change-Id: I44be3d401c56fd6d5183dcd1ee6f8efef52b305e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188821
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
and
cid#1659624 Variable copied when it could be moved
cid#1659632 Variable copied when it could be moved
cid#1659637 Variable copied when it could be moved
cid#1659656 Variable copied when it could be moved
cid#1659662 Variable copied when it could be moved
Change-Id: I20179a4ff699af546694b8a4796ab2f0cfae1903
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188708
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins