basctl/source/basicide/basidesh.cxx | 3 --- include/svx/tbcontrl.hxx | 14 -------------- svx/source/tbxctrls/lboxctrl.cxx | 2 +- svx/source/tbxctrls/tbcontrl.cxx | 25 ------------------------- 4 files changed, 1 insertion(+), 43 deletions(-)
New commits: commit 98bc216781d52af7242b671595ec88a9468d6704 Author: Maxim Monastirsky <momonas...@gmail.com> AuthorDate: Thu Feb 13 14:41:10 2020 +0200 Commit: Maxim Monastirsky <momonas...@gmail.com> CommitDate: Thu Feb 13 21:21:27 2020 +0100 Restore simple undo and redo buttons for the basctl module Changed in commit c34edadf5bd3d1d9f3c9c056af28b8964d8f1ca0 ("rework SvxUndoRedoControl to be a PopupWindowController"), but the dropdowns do not work in that module. These buttons used to be managed by SvxSimpleUndoRedoController, but that's no longer the case. The reason is that ToolBarManager::CreateControllers checks first for controllers registered in Controller.xcu, and only if none found it checks for sfx2 controllers. So SvxSimpleUndoRedoController by using a sfx2-style registration, has no chance to be ever selected for .uno:Undo or .uno:Redo. This commit removes the unused controller, and restores the previous behavior with the other controller. Change-Id: Ia774195511e41ab11562856fe1cf2ec7f170710a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88606 Tested-by: Jenkins Reviewed-by: Maxim Monastirsky <momonas...@gmail.com> diff --git a/basctl/source/basicide/basidesh.cxx b/basctl/source/basicide/basidesh.cxx index aa8ae7e364a0..75f0fe35bf90 100644 --- a/basctl/source/basicide/basidesh.cxx +++ b/basctl/source/basicide/basidesh.cxx @@ -62,7 +62,6 @@ #include <svx/pszctrl.hxx> #include <svx/insctrl.hxx> #include <svx/srchdlg.hxx> -#include <svx/tbcontrl.hxx> #include <com/sun/star/script/XLibraryContainerPassword.hpp> #include <com/sun/star/container/XContainer.hpp> #include <svx/xmlsecctrl.hxx> @@ -177,8 +176,6 @@ void Shell::Init() SvxPosSizeStatusBarControl::RegisterControl(); SvxInsertStatusBarControl::RegisterControl(); XmlSecStatusBarControl::RegisterControl( SID_SIGNATURE ); - SvxSimpleUndoRedoController::RegisterControl( SID_UNDO ); - SvxSimpleUndoRedoController::RegisterControl( SID_REDO ); SvxSearchDialogWrapper::RegisterChildWindow(); diff --git a/include/svx/tbcontrl.hxx b/include/svx/tbcontrl.hxx index 4e4f477469ee..50efa73c62e2 100644 --- a/include/svx/tbcontrl.hxx +++ b/include/svx/tbcontrl.hxx @@ -245,20 +245,6 @@ public: void EnsurePaletteManager(); }; -class SVXCORE_DLLPUBLIC SvxSimpleUndoRedoController final : public SfxToolBoxControl -{ -private: - OUString aDefaultText; - -public: - SFX_DECL_TOOLBOX_CONTROL(); - SvxSimpleUndoRedoController(sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rToolBox); - virtual ~SvxSimpleUndoRedoController() override; - - virtual void StateChanged(sal_uInt16 nSID, SfxItemState eState, - const SfxPoolItem* pState) override; -}; - class SVXCORE_DLLPUBLIC SvxCurrencyToolBoxControl final : public svt::PopupWindowController { private: diff --git a/svx/source/tbxctrls/lboxctrl.cxx b/svx/source/tbxctrls/lboxctrl.cxx index 0f8b12019263..5497381f02dc 100644 --- a/svx/source/tbxctrls/lboxctrl.cxx +++ b/svx/source/tbxctrls/lboxctrl.cxx @@ -154,7 +154,7 @@ void SvxUndoRedoControl::initialize( const css::uno::Sequence< css::uno::Any >& ToolBox* pToolBox = nullptr; sal_uInt16 nId = 0; - if (getToolboxId(nId, &pToolBox)) + if (getToolboxId(nId, &pToolBox) && getModuleName() != "com.sun.star.script.BasicIDE") { pToolBox->SetItemBits(nId, ToolBoxItemBits::DROPDOWN | pToolBox->GetItemBits(nId)); aDefaultTooltip = pToolBox->GetQuickHelpText(nId); diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx index 8096ac0168f1..c0398e5783d6 100644 --- a/svx/source/tbxctrls/tbcontrl.cxx +++ b/svx/source/tbxctrls/tbcontrl.cxx @@ -133,7 +133,6 @@ using namespace ::com::sun::star::beans; using namespace ::com::sun::star::lang; SFX_IMPL_TOOLBOX_CONTROL( SvxStyleToolBoxControl, SfxTemplateItem ); -SFX_IMPL_TOOLBOX_CONTROL( SvxSimpleUndoRedoController, SfxStringItem ); class SvxStyleBox_Impl : public ComboBox { @@ -3646,30 +3645,6 @@ com_sun_star_comp_svx_FrameToolBoxControl_get_implementation( return cppu::acquire( new SvxFrameToolBoxControl( rContext ) ); } -SvxSimpleUndoRedoController::SvxSimpleUndoRedoController( sal_uInt16 nSlotId, sal_uInt16 nId, ToolBox& rTbx ) - :SfxToolBoxControl( nSlotId, nId, rTbx ) -{ - aDefaultText = rTbx.GetItemText( nId ); -} - -SvxSimpleUndoRedoController::~SvxSimpleUndoRedoController() -{ -} - -void SvxSimpleUndoRedoController::StateChanged( sal_uInt16, SfxItemState eState, const SfxPoolItem* pState ) -{ - const SfxStringItem* pItem = dynamic_cast<const SfxStringItem*>( pState ); - ToolBox& rBox = GetToolBox(); - if ( pItem && eState != SfxItemState::DISABLED ) - { - OUString aNewText( MnemonicGenerator::EraseAllMnemonicChars( pItem->GetValue() ) ); - rBox.SetQuickHelpText( GetId(), aNewText ); - } - if ( eState == SfxItemState::DISABLED ) - rBox.SetQuickHelpText( GetId(), aDefaultText ); - rBox.EnableItem( GetId(), eState != SfxItemState::DISABLED ); -} - SvxCurrencyToolBoxControl::SvxCurrencyToolBoxControl( const css::uno::Reference<css::uno::XComponentContext>& rContext ) : PopupWindowController( rContext, nullptr, OUString() ), m_eLanguage( Application::GetSettings().GetLanguageTag().getLanguageType() ), _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits