diff options
author | Sarper Akdemir <sarper.akdemir.extern@allotropia.de> | 2024-04-04 07:18:38 +0300 |
---|---|---|
committer | Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de> | 2024-04-11 11:02:01 +0200 |
commit | 291919476294f62d7af9b8b7060d138728897ee7 (patch) | |
tree | fbefb7f2bf02ec5c2f9a333818af3bc918d1b60b /sd/source/ui/dlg/PaneShells.cxx | |
parent | 8d85da5616bab28c1df226bcbf4fe777b14b363e (diff) |
tdf#33603: sd: rework notes panel
To be able to support various dispatch commands, sidebar, proper
user configuration, and more - reworked the previous notes panel
implementation as a sd::View/sd::ViewShell pair that plays nice
with Impress framework.
To be able to support TextObjectBar(Shell) functionality, without
having TextObjectBar as a SubShell (In the current sd::framework
implementation AFAICS, SubShells are only possible for the
MainViewShell - this doesn't work for notes panel which is never
used as the MainViewShell.).
A workaround is implemented where NotesPanel inherits dispatching
slots from TextObjectBar, and for these inherited slots forwards
the calls to TextObjectBar's implementation.
This workaround could be removed if/when, SubShell support
outside of MainViewShell is implemented.
Known issues/TODO:
- Drag & Drop crashes / doesn't work.
- Some notes placeholder syncing problems on page change, edit mode
change.
- A rendering issue related to resizing when ArrangeGUIElements
isn't called on resize.
Change-Id: I588a4854fbedf6556e001fee1693b32410cbc23f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165770
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Diffstat (limited to 'sd/source/ui/dlg/PaneShells.cxx')
-rw-r--r-- | sd/source/ui/dlg/PaneShells.cxx | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sd/source/ui/dlg/PaneShells.cxx b/sd/source/ui/dlg/PaneShells.cxx index 77e411aaedc2..ab523bf7c83c 100644 --- a/sd/source/ui/dlg/PaneShells.cxx +++ b/sd/source/ui/dlg/PaneShells.cxx @@ -50,6 +50,23 @@ LeftImpressPaneShell::~LeftImpressPaneShell() { } +//===== BottomImpressPaneShell ================================================== + +static SfxSlot aBottomImpressPaneShellSlots_Impl[] + = { { 0, SfxGroupId::NONE, SfxSlotMode::NONE, 0, 0, nullptr, nullptr, nullptr, nullptr, nullptr, + 0, SfxDisableFlags::NONE, "" } }; + +SFX_IMPL_INTERFACE(BottomImpressPaneShell, SfxShell) + +void BottomImpressPaneShell::InitInterface_Impl() +{ + GetStaticInterface()->RegisterChildWindow(::sd::BottomPaneImpressChildWindow::GetChildWindowId()); +} + +BottomImpressPaneShell::BottomImpressPaneShell() { SetName("BottomImpressPane"); } + +BottomImpressPaneShell::~BottomImpressPaneShell() {} + //===== LeftDrawPaneShell ===================================================== static SfxSlot aLeftDrawPaneShellSlots_Impl[] = |