cui/source/customize/SvxMenuConfigPage.cxx | 17 +++++++++++++++++ cui/source/customize/SvxToolbarConfigPage.cxx | 4 ++++ cui/source/customize/cfg.cxx | 5 +++++ cui/source/inc/cfg.hxx | 1 + cui/uiconfig/ui/menuassignpage.ui | 8 ++++++++ 5 files changed, 35 insertions(+)
New commits: commit 51617878ddc8f9816af7d63d0b483eefd3aed27d Author: Muhammet Kara <muhammet.k...@pardus.org.tr> Date: Mon Mar 12 22:11:39 2018 +0300 tdf#114260: Allow moving top-level menus in the Customize dialog. Change-Id: I0dafe59e017e05977d00cf564cfef21190a0a7a1 Reviewed-on: https://gerrit.libreoffice.org/51163 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Muhammet Kara <muhammet.k...@pardus.org.tr> Reviewed-by: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> diff --git a/cui/source/customize/SvxMenuConfigPage.cxx b/cui/source/customize/SvxMenuConfigPage.cxx index 1737744dbb25..75fbaa16378b 100644 --- a/cui/source/customize/SvxMenuConfigPage.cxx +++ b/cui/source/customize/SvxMenuConfigPage.cxx @@ -223,6 +223,7 @@ void SvxMenuConfigPage::UpdateButtonStates() // Add option (gear_add) will always be enabled pGearPopup->EnableItem( "gear_delete", pMenuData->IsDeletable() ); pGearPopup->EnableItem( "gear_rename", pMenuData->IsRenamable() ); + pGearPopup->EnableItem( "gear_move", pMenuData->IsMovable() ); } } @@ -353,6 +354,22 @@ IMPL_LINK( SvxMenuConfigPage, GearHdl, MenuButton *, pButton, void ) GetSaveInData()->SetModified(); } } + else if (sIdent == "gear_move") + { + SvxConfigEntry* pMenuData = GetTopLevelSelection(); + + VclPtrInstance<SvxMainMenuOrganizerDialog> pDialog( + this, GetSaveInData()->GetEntries(), pMenuData, false ); + + if ( pDialog->Execute() == RET_OK ) + { + GetSaveInData()->SetEntries( pDialog->GetEntries() ); + + ReloadTopLevelListBox(); + + GetSaveInData()->SetModified(); + } + } else { //This block should never be reached diff --git a/cui/source/customize/SvxToolbarConfigPage.cxx b/cui/source/customize/SvxToolbarConfigPage.cxx index 53542657fe81..c09d354cb9e5 100644 --- a/cui/source/customize/SvxToolbarConfigPage.cxx +++ b/cui/source/customize/SvxToolbarConfigPage.cxx @@ -151,6 +151,10 @@ SvxToolbarConfigPage::SvxToolbarConfigPage(vcl::Window *pParent, const SfxItemSe pPopup->EnableItem(OString( "insertsubmenu"), false ); pPopup->RemoveDisabledEntries(); + // Gear menu's "Move" action is irrelevant to the toolbars + pPopup = m_pGearBtn->GetPopupMenu(); + pPopup->EnableItem("gear_move", false); + // default toolbar to select is standardbar unless a different one // has been passed in m_aURLToSelect = ITEM_TOOLBAR_URL; diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx index 8ee0080ba441..e90bfa358621 100644 --- a/cui/source/customize/cfg.cxx +++ b/cui/source/customize/cfg.cxx @@ -2100,6 +2100,11 @@ SvxConfigEntry::~SvxConfigEntry() } } +bool SvxConfigEntry::IsMovable() +{ + return !IsPopup() || IsMain(); +} + bool SvxConfigEntry::IsDeletable() { return !IsMain() || IsUserDefined(); diff --git a/cui/source/inc/cfg.hxx b/cui/source/inc/cfg.hxx index c1c85c86fa4c..6f79414f0671 100644 --- a/cui/source/inc/cfg.hxx +++ b/cui/source/inc/cfg.hxx @@ -319,6 +319,7 @@ public: void SetModified( bool bValue = true ) { bIsModified = bValue; } bool IsModified() { return bIsModified; } + bool IsMovable(); bool IsDeletable(); bool IsRenamable(); diff --git a/cui/uiconfig/ui/menuassignpage.ui b/cui/uiconfig/ui/menuassignpage.ui index bd77bf0179a2..425d0c2f84a4 100644 --- a/cui/uiconfig/ui/menuassignpage.ui +++ b/cui/uiconfig/ui/menuassignpage.ui @@ -30,6 +30,14 @@ <property name="use_underline">True</property> </object> </child> + <child> + <object class="GtkMenuItem" id="gear_move"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="menuassignpage|gear_move">_Move...</property> + <property name="use_underline">True</property> + </object> + </child> </object> <object class="GtkImage" id="image1"> <property name="visible">True</property> _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits