summaryrefslogtreecommitdiff
path: root/svx/source/sidebar/paragraph/ParaLineSpacingPopup.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/sidebar/paragraph/ParaLineSpacingPopup.cxx')
-rw-r--r--svx/source/sidebar/paragraph/ParaLineSpacingPopup.cxx32
1 files changed, 14 insertions, 18 deletions
diff --git a/svx/source/sidebar/paragraph/ParaLineSpacingPopup.cxx b/svx/source/sidebar/paragraph/ParaLineSpacingPopup.cxx
index 90099ac75511..470e5eb7e3fd 100644
--- a/svx/source/sidebar/paragraph/ParaLineSpacingPopup.cxx
+++ b/svx/source/sidebar/paragraph/ParaLineSpacingPopup.cxx
@@ -37,24 +37,16 @@ void SvxLineSpacingToolBoxControl::initialize( const css::uno::Sequence< css::un
{
PopupWindowController::initialize(rArguments);
+ if (m_pToolbar)
+ {
+ mxPopoverContainer.reset(new ToolbarPopupContainer(m_pToolbar));
+ m_pToolbar->set_item_popover(m_aCommandURL.toUtf8(), mxPopoverContainer->getTopLevel());
+ }
+
ToolBox* pToolBox = nullptr;
sal_uInt16 nId = 0;
- bool bVcl = getToolboxId(nId, &pToolBox);
-
- weld::Widget* pParent;
- if (pToolBox)
- pParent = pToolBox->GetFrameWeld();
- else
- pParent = m_pToolbar;
- mxPopover = std::make_unique<ParaLineSpacingControl>(this, pParent);
-
- if (bVcl && pToolBox->GetItemCommand(nId) == m_aCommandURL)
+ if (getToolboxId(nId, &pToolBox) && pToolBox->GetItemCommand(nId) == m_aCommandURL)
pToolBox->SetItemBits(nId, ToolBoxItemBits::DROPDOWNONLY | pToolBox->GetItemBits(nId));
- else if (m_pToolbar)
- {
- const OString aId(m_aCommandURL.toUtf8());
- m_pToolbar->set_item_popover(aId, mxPopover->getTopLevel());
- }
}
void SAL_CALL SvxLineSpacingToolBoxControl::execute(sal_Int16 /*KeyModifier*/)
@@ -72,11 +64,15 @@ void SAL_CALL SvxLineSpacingToolBoxControl::execute(sal_Int16 /*KeyModifier*/)
}
}
-VclPtr<vcl::Window> SvxLineSpacingToolBoxControl::createPopupWindow( vcl::Window* pParent )
+std::unique_ptr<WeldToolbarPopup> SvxLineSpacingToolBoxControl::weldPopupWindow()
{
- dynamic_cast<ParaLineSpacingControl&>(*mxPopover).SyncFromDocument();
+ return std::make_unique<ParaLineSpacingControl>(this, m_pToolbar);
+}
- mxInterimPopover = VclPtr<InterimToolbarPopup>::Create(getFrameInterface(), pParent, mxPopover.get());
+VclPtr<vcl::Window> SvxLineSpacingToolBoxControl::createPopupWindow( vcl::Window* pParent )
+{
+ mxInterimPopover = VclPtr<InterimToolbarPopup>::Create(getFrameInterface(), pParent,
+ std::make_unique<ParaLineSpacingControl>(this, pParent->GetFrameWeld()));
mxInterimPopover->Show();