In the past, weld.hxx used to contain the class
definitions for weld::Widget and all subclasses.
By now, weld::Widget and almost all subclasses have
been moved to separate headers, to make it easier
to keep the overview and to avoid having to
recompile ~all UI code when one class changes.
By now, only weld::Button is left in weld.hxx.
Rename the header to Button.hxx.
Drop weld.hxx includes and instead add Button.hxx
includes (or weld::Button forward declarations) where
weld::Button is used.
(Don't simply replace all weld.hxx includes with
Button.hxx ones, since many of them were for the
use of other widgets that have since been moved
to their own headers.)
Add further includes where needed now that the
(direct or transitive) includes of weld.hxx were removed.
Change-Id: I8ea6201446a418d5e38b46337059dcd517ee29d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205937
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Move the so far framework-internal headers layoutmanager.hxx
and the uielement.hxx one that it includes to the
top-level include/ directory and mark LayoutManager as
FWK_DLLPUBLIC.
This is to prepare for a new version of Heiko's [1]
that doesn't require UNO API changes, but can use
the LayoutManager class directly.
[1] https://gerrit.libreoffice.org/c/core/+/195836/9
Change-Id: I7439274c29814ef23c6fde11770e1519e54bc0b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197338
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
This reverts commit 086fa727ca.
Reason for revert: Breaks possibility to lock a toolbar (is forgotten after restart)
This solution will be succeeded by 1b1577eef6a30f2643d373c450576d5244ab6af1
Change-Id: Ida73a80ecfa2a833caf1db7d625ff90dbf259c2b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196780
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
these were skipped in previous runs, since they contain some code behind #if
After inspecting these, it seems like the removals should not cause trouble.
Change-Id: I867ffc53254057e4bae43690214a2ab7ce0caa8f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197493
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
Tested-by: Jenkins
... instead of including its header.
Add missing includes that were previously transitively provided
by the MenuBarManager include.
Change-Id: I862ced2e4790652996f7a707da484b19c873443e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197337
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Move the class out of weld.hxx into its own header, in
order to make it easier to keep an overview and to avoid
having to recompile ~all UI code when the class is
modified.
Change-Id: Ie54aef229609f131d3d53874c9390339566880f3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196947
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
This is in preparation of moving code out of weld.hxx
to separate headers/source files, in order to make it
easier to keep an overview and to avoid having to
recompile ~all UI code when anything changes.
Also move weldutils.cxx to a new vcl/source/weld
directory.
Change-Id: Ia75b42f21e560dd248307282a522f186a64cd742
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195777
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>
Clearing recent or unavailable documents from the start center or the main menu will now ask for confirmation from the user before executing.
Change-Id: Ic36924e6f16772eb6ee3bffc7116bdd405653c80
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194065
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
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>
-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
When a window enters LibreOffice's internal full screen mode,
the vcl code will hide the macOS menubar. However, if the
window is also in native full screen mode, macOS will force
the menubar to be visible.
While the vcl code already partially handles this case by
disabling all menu items when in LibreOffice's internal full
screen mode, the problem is that any submenus that were not
displayed before setting the menubar to null will show all
menu items with no title.
A simple way to reproduce this bug is to open a new Writer
or Calc document and do the following:
- Switch the window to LibreOffice's internal full screen
mode by manually selecting the View > Full Screen menu
item (the bug does not occur if its key shortcut is
pressed)
- Switch the window to native full screen mode
- Click on the menubar and note that many of the submenus
are displayed with menu items, but none of the menu items
have a title
So, we need to keep the menubar visible and rely on the vcl
code to disable all menu items.
Change-Id: I97fc63a8cd028c029a71899090185bc09d4aa492
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183508
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
Tested-by: Jenkins
Before, it only listened to ParaStyle, or CharStyle, etc. obtained
in MapFamilyToCommand; and that meant, that its actual command was
".uno:StyleApply?...", but StyleApply state was ignored. This meant
that all respective items under "Style" menu were enabled in read-
only mode, where StyleApply itself was inactive.
Listen to both. When StyleApply is disabled, that takes priority.
Change-Id: Ic087ba6fc6fe6d45b8c8ecc35494734cd8765bd4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177971
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
Introduce new helper method MenuBarManager::SetAcceleratorKeys
and call that from both places that are setting accelerator
keys, to deduplicate code and simplify future maintenance.
The use in MenuBarManager::FillMenuManager was introduced in
commit 08fe2669a0
Author: Rüdiger Timm <rt@openoffice.org>
Date: Fri May 13 06:29:54 2005 +0000
INTEGRATION: CWS tbe22 (1.25.30); FILE MERGED
2005/05/04 14:21:00 tbe 1.25.30.1: #i48612# Opening a menu with GOK shows Tips instead of entries (fixed by CD)
and looks like it was primarily copy-pasted from the
other place.
Change-Id: I2097619740d45260e534ce06f9941337177f1bde
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175509
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins