[Libreoffice-commits] core.git: cui/source cui/uiconfig

Muhammet Kara muhammet.kara at pardus.org.tr
Mon Mar 12 11:13:48 UTC 2018


 cui/source/customize/SvxMenuConfigPage.cxx    |   93 ++++++++++-----
 cui/source/customize/SvxToolbarConfigPage.cxx |  155 ++++++++++++++++----------
 cui/source/customize/cfg.cxx                  |   12 +-
 cui/source/inc/SvxMenuConfigPage.hxx          |    3 
 cui/source/inc/SvxToolbarConfigPage.hxx       |    3 
 cui/source/inc/cfg.hxx                        |    4 
 cui/uiconfig/ui/menuassignpage.ui             |   67 ++++++-----
 7 files changed, 214 insertions(+), 123 deletions(-)

New commits:
commit a21744a72637a2e3044f55450df85f94a9fc0bf9
Author: Muhammet Kara <muhammet.kara at pardus.org.tr>
Date:   Wed Mar 7 12:39:02 2018 +0300

    tdf#114260: Add gear button to Customize dialog
    
      * Allow renaming custom toolbars, custom menus, and standard sub-menus.
      * Move plus and minus buttons into the gear button
    
    Change-Id: Id856da2498412b52e44b5623c4a5b9a3ed439fe3
    Reviewed-on: https://gerrit.libreoffice.org/50553
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Muhammet Kara <muhammet.kara at pardus.org.tr>
    Tested-by: Muhammet Kara <muhammet.kara at pardus.org.tr>
    Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>

diff --git a/cui/source/customize/SvxMenuConfigPage.cxx b/cui/source/customize/SvxMenuConfigPage.cxx
index 882c578aa2cb..1737744dbb25 100644
--- a/cui/source/customize/SvxMenuConfigPage.cxx
+++ b/cui/source/customize/SvxMenuConfigPage.cxx
@@ -117,10 +117,8 @@ SvxMenuConfigPage::SvxMenuConfigPage(vcl::Window *pParent, const SfxItemSet& rSe
     m_pContentsListBox->SetSelectHdl(
         LINK( this, SvxMenuConfigPage, SelectMenuEntry ) );
 
-    m_pPlusBtn->SetClickHdl(
-        LINK( this, SvxMenuConfigPage, AddMenuHdl ) );
-    m_pMinusBtn->SetClickHdl(
-        LINK( this, SvxMenuConfigPage, RemoveMenuHdl ) );
+    m_pGearBtn->SetSelectHdl(
+        LINK( this, SvxMenuConfigPage, GearHdl ) );
 
     m_pCommandCategoryListBox->SetSelectHdl(
         LINK( this, SvxMenuConfigPage, SelectCategory ) );
@@ -147,18 +145,9 @@ SvxMenuConfigPage::SvxMenuConfigPage(vcl::Window *pParent, const SfxItemSet& rSe
 
     if ( !bIsMenuBar )
     {
-        // Context menus cannot be added/removed
-        // These height requests are needed to keep the height of
-        // the top level list boxes consistent for all tabs
-        m_pTopLevelListBox->set_height_request(
-            m_pPlusBtn->GetOptimalSize().Height() );
-        m_pCommandCategoryListBox->set_height_request(
-            m_pPlusBtn->GetOptimalSize().Height() );
-
-        m_pPlusBtn->Disable();
-        m_pMinusBtn->Disable();
-        m_pPlusBtn->Hide();
-        m_pMinusBtn->Hide();
+        //TODO: Remove this when the gear button is implemented for context menus
+        m_pGearBtn->Disable();
+        m_pGearBtn->Hide();
     }
     else
     {
@@ -225,6 +214,16 @@ void SvxMenuConfigPage::UpdateButtonStates()
     m_pRemoveCommandButton->Enable( bIsValidSelection );
 
     m_pModifyBtn->Enable( bIsValidSelection && !bIsSeparator);
+
+    //Handle the gear button
+    if (m_bIsMenuBar)
+    {
+        SvxConfigEntry* pMenuData = GetTopLevelSelection();
+        PopupMenu* pGearPopup = m_pGearBtn->GetPopupMenu();
+        // Add option (gear_add) will always be enabled
+        pGearPopup->EnableItem( "gear_delete", pMenuData->IsDeletable() );
+        pGearPopup->EnableItem( "gear_rename", pMenuData->IsRenamable() );
+    }
 }
 
 void SvxMenuConfigPage::DeleteSelectedTopLevel()
@@ -298,9 +297,6 @@ IMPL_LINK_NOARG( SvxMenuConfigPage, SelectMenu, ListBox&, void )
 
     if ( pMenuData )
     {
-        // Built-in menus cannot be deleted
-        m_pMinusBtn->Enable( pMenuData->IsDeletable() );
-
         SvxEntries* pEntries = pMenuData->GetEntries();
 
         for (auto const& entry : *pEntries)
@@ -312,22 +308,59 @@ IMPL_LINK_NOARG( SvxMenuConfigPage, SelectMenu, ListBox&, void )
     UpdateButtonStates();
 }
 
-IMPL_LINK_NOARG( SvxMenuConfigPage, AddMenuHdl, Button *, void )
+IMPL_LINK( SvxMenuConfigPage, GearHdl, MenuButton *, pButton, void )
 {
-    VclPtrInstance<SvxMainMenuOrganizerDialog> pDialog(
-        nullptr, GetSaveInData()->GetEntries(), nullptr, true );
+    OString sIdent = pButton->GetCurItemIdent();
 
-    if ( pDialog->Execute() == RET_OK )
+    if (sIdent == "gear_add")
     {
-        GetSaveInData()->SetEntries( pDialog->GetEntries() );
-        ReloadTopLevelListBox( pDialog->GetSelectedEntry() );
-        GetSaveInData()->SetModified();
+        VclPtrInstance<SvxMainMenuOrganizerDialog> pDialog(
+            nullptr, GetSaveInData()->GetEntries(), nullptr, true );
+
+        if ( pDialog->Execute() == RET_OK )
+        {
+            GetSaveInData()->SetEntries( pDialog->GetEntries() );
+            ReloadTopLevelListBox( pDialog->GetSelectedEntry() );
+            GetSaveInData()->SetModified();
+        }
     }
-}
+    else if (sIdent == "gear_delete")
+    {
+        DeleteSelectedTopLevel();
+    }
+    else if (sIdent == "gear_rename")
+    {
+        SvxConfigEntry* pMenuData = GetTopLevelSelection();
 
-IMPL_LINK_NOARG( SvxMenuConfigPage, RemoveMenuHdl, Button *, void )
-{
-    DeleteSelectedTopLevel();
+        OUString sCurrentName( SvxConfigPageHelper::stripHotKey( pMenuData->GetName() ) );
+        OUString sDesc = CuiResId( RID_SVXSTR_LABEL_NEW_NAME );
+
+        SvxNameDialog aNameDialog( GetFrameWeld(), sCurrentName, sDesc );
+        aNameDialog.set_help_id( HID_SVX_CONFIG_RENAME_MENU );
+        aNameDialog.set_title( CuiResId( RID_SVXSTR_RENAME_MENU ) );
+
+        if ( aNameDialog.run() == RET_OK )
+        {
+            OUString sNewName = aNameDialog.GetName();
+
+            if ( sCurrentName == sNewName )
+                return;
+
+            pMenuData->SetName( sNewName );
+
+            ReloadTopLevelListBox();
+
+            GetSaveInData()->SetModified();
+        }
+    }
+    else
+    {
+        //This block should never be reached
+        SAL_WARN("cui.customize", "Unknown gear menu option: " << sIdent);
+        return;
+    }
+
+    UpdateButtonStates();
 }
 
 IMPL_LINK_NOARG( SvxMenuConfigPage, SelectCategory, ListBox&, void )
diff --git a/cui/source/customize/SvxToolbarConfigPage.cxx b/cui/source/customize/SvxToolbarConfigPage.cxx
index f8a530cb5094..53542657fe81 100644
--- a/cui/source/customize/SvxToolbarConfigPage.cxx
+++ b/cui/source/customize/SvxToolbarConfigPage.cxx
@@ -126,10 +126,8 @@ SvxToolbarConfigPage::SvxToolbarConfigPage(vcl::Window *pParent, const SfxItemSe
     m_pCommandCategoryListBox->SetSelectHdl(
         LINK( this, SvxToolbarConfigPage, SelectCategory ) );
 
-    m_pPlusBtn->SetClickHdl(
-        LINK( this, SvxToolbarConfigPage, AddToolbarHdl ) );
-    m_pMinusBtn->SetClickHdl(
-        LINK( this, SvxToolbarConfigPage, RemoveToolbarHdl ) );
+    m_pGearBtn->SetSelectHdl(
+        LINK( this, SvxToolbarConfigPage, GearHdl ) );
 
     m_pMoveUpButton->SetClickHdl ( LINK( this, SvxToolbarConfigPage, MoveHdl) );
     m_pMoveDownButton->SetClickHdl ( LINK( this, SvxToolbarConfigPage, MoveHdl) );
@@ -334,77 +332,119 @@ IMPL_LINK_NOARG( SvxToolbarConfigPage, SelectToolbarEntry, SvTreeListBox *, void
     UpdateButtonStates();
 }
 
-IMPL_LINK_NOARG( SvxToolbarConfigPage, AddToolbarHdl, Button *, void )
+IMPL_LINK( SvxToolbarConfigPage, GearHdl, MenuButton *, pButton, void )
 {
-    OUString prefix = CuiResId( RID_SVXSTR_NEW_TOOLBAR );
+    OString sIdent = pButton->GetCurItemIdent();
 
-    OUString aNewName =
-        SvxConfigPageHelper::generateCustomName( prefix, GetSaveInData()->GetEntries() );
+    if (sIdent == "gear_add")
+    {
+        OUString prefix = CuiResId( RID_SVXSTR_NEW_TOOLBAR );
 
-    OUString aNewURL =
-        SvxConfigPageHelper::generateCustomURL( GetSaveInData()->GetEntries() );
+        OUString aNewName =
+            SvxConfigPageHelper::generateCustomName( prefix, GetSaveInData()->GetEntries() );
 
-    VclPtrInstance< SvxNewToolbarDialog > pNameDialog( nullptr, aNewName );
+        OUString aNewURL =
+            SvxConfigPageHelper::generateCustomURL( GetSaveInData()->GetEntries() );
 
-    // Reflect the actual m_pSaveInListBox into the new toolbar dialog
-    for ( sal_Int32 i = 0; i < m_pSaveInListBox->GetEntryCount(); ++i )
-    {
-        SaveInData* pData =
-            static_cast<SaveInData*>(m_pSaveInListBox->GetEntryData( i ));
+        VclPtrInstance< SvxNewToolbarDialog > pNameDialog( nullptr, aNewName );
 
-        const sal_Int32 nInsertPos =
-            pNameDialog->m_pSaveInListBox->InsertEntry( m_pSaveInListBox->GetEntry( i ) );
+        // Reflect the actual m_pSaveInListBox into the new toolbar dialog
+        for ( sal_Int32 i = 0; i < m_pSaveInListBox->GetEntryCount(); ++i )
+        {
+            SaveInData* pData =
+                static_cast<SaveInData*>(m_pSaveInListBox->GetEntryData( i ));
 
-        pNameDialog->m_pSaveInListBox->SetEntryData( nInsertPos, pData );
-    }
+            const sal_Int32 nInsertPos =
+                pNameDialog->m_pSaveInListBox->InsertEntry( m_pSaveInListBox->GetEntry( i ) );
 
-    pNameDialog->m_pSaveInListBox->SelectEntryPos(
-        m_pSaveInListBox->GetSelectedEntryPos() );
+            pNameDialog->m_pSaveInListBox->SetEntryData( nInsertPos, pData );
+        }
 
-    if ( pNameDialog->Execute() == RET_OK )
-    {
-        aNewName = pNameDialog->GetName();
+        pNameDialog->m_pSaveInListBox->SelectEntryPos(
+            m_pSaveInListBox->GetSelectedEntryPos() );
 
-        // Where to save the new toolbar? (i.e. Modulewise or documentwise)
-        sal_Int32 nInsertPos = pNameDialog->m_pSaveInListBox->GetSelectedEntryPos();
+        if ( pNameDialog->Execute() == RET_OK )
+        {
+            aNewName = pNameDialog->GetName();
 
-        ToolbarSaveInData* pData =
-            static_cast<ToolbarSaveInData*>(
-                pNameDialog->m_pSaveInListBox->GetEntryData( nInsertPos ) );
+            // Where to save the new toolbar? (i.e. Modulewise or documentwise)
+            sal_Int32 nInsertPos = pNameDialog->m_pSaveInListBox->GetSelectedEntryPos();
 
-        if ( GetSaveInData() != pData )
-        {
-            m_pSaveInListBox->SelectEntryPos( nInsertPos );
-            m_pSaveInListBox->GetSelectHdl().Call(*m_pSaveInListBox);
+            ToolbarSaveInData* pData =
+                static_cast<ToolbarSaveInData*>(
+                    pNameDialog->m_pSaveInListBox->GetEntryData( nInsertPos ) );
+
+            if ( GetSaveInData() != pData )
+            {
+                m_pSaveInListBox->SelectEntryPos( nInsertPos );
+                m_pSaveInListBox->GetSelectHdl().Call(*m_pSaveInListBox);
+            }
+
+            SvxConfigEntry* pToolbar =
+                new SvxConfigEntry( aNewName, aNewURL, true, false );
+
+            pToolbar->SetUserDefined();
+            pToolbar->SetMain();
+
+            pData->CreateToolbar( pToolbar );
+
+            nInsertPos = m_pTopLevelListBox->InsertEntry( pToolbar->GetName() );
+            m_pTopLevelListBox->SetEntryData( nInsertPos, pToolbar );
+            m_pTopLevelListBox->SelectEntryPos( nInsertPos );
+            m_pTopLevelListBox->GetSelectHdl().Call(*m_pTopLevelListBox);
+
+            pData->SetModified();
         }
+    }
+    else if (sIdent == "gear_delete")
+    {
+        SvxConfigEntry* pToolbar = GetTopLevelSelection();
 
+        if ( pToolbar && pToolbar->IsDeletable() )
+        {
+            DeleteSelectedTopLevel();
+            UpdateButtonStates();
+        }
+    }
+    else if (sIdent == "gear_rename")
+    {
+        sal_Int32 nSelectionPos = m_pTopLevelListBox->GetSelectedEntryPos();
         SvxConfigEntry* pToolbar =
-            new SvxConfigEntry( aNewName, aNewURL, true, /*bParentData*/false );
+            static_cast<SvxConfigEntry*>(m_pTopLevelListBox->GetEntryData( nSelectionPos ));
+        ToolbarSaveInData* pSaveInData = static_cast<ToolbarSaveInData*>( GetSaveInData() );
 
-        pToolbar->SetUserDefined();
-        pToolbar->SetMain();
+        //Rename the toolbar
+        OUString sCurrentName( SvxConfigPageHelper::stripHotKey( pToolbar->GetName() ) );
+        OUString sDesc = CuiResId( RID_SVXSTR_LABEL_NEW_NAME );
 
-        pData->CreateToolbar( pToolbar );
+        SvxNameDialog aNameDialog( GetFrameWeld(), sCurrentName, sDesc );
+        aNameDialog.set_help_id( HID_SVX_CONFIG_RENAME_TOOLBAR );
+        aNameDialog.set_title( CuiResId( RID_SVXSTR_RENAME_TOOLBAR ) );
 
-        nInsertPos = m_pTopLevelListBox->InsertEntry( pToolbar->GetName() );
-        m_pTopLevelListBox->SetEntryData( nInsertPos, pToolbar );
-        m_pTopLevelListBox->SelectEntryPos( nInsertPos );
-        m_pTopLevelListBox->GetSelectHdl().Call(*m_pTopLevelListBox);
+        if ( aNameDialog.run() == RET_OK )
+        {
+            OUString sNewName = aNameDialog.GetName();
 
-        pData->SetModified();
-    }
-}
+            if (sCurrentName == sNewName)
+                return;
 
-IMPL_LINK_NOARG( SvxToolbarConfigPage, RemoveToolbarHdl, Button *, void )
-{
-    SvxConfigEntry* pToolbar = GetTopLevelSelection();
+            pToolbar->SetName( sNewName );
+            pSaveInData->ApplyToolbar( pToolbar );
 
-    if ( pToolbar && pToolbar->IsDeletable() )
+            // have to use remove and insert to change the name
+            m_pTopLevelListBox->RemoveEntry( nSelectionPos );
+            nSelectionPos =
+                    m_pTopLevelListBox->InsertEntry( sNewName, nSelectionPos );
+            m_pTopLevelListBox->SetEntryData( nSelectionPos, pToolbar );
+            m_pTopLevelListBox->SelectEntryPos( nSelectionPos );
+        }
+    }
+    else
     {
-        DeleteSelectedTopLevel();
-        UpdateButtonStates();
+        //This block should never be reached
+        SAL_WARN("cui.customize", "Unknown gear menu option: " << sIdent);
+        return;
     }
-
 }
 
 IMPL_LINK_NOARG( SvxToolbarConfigPage, SelectCategory, ListBox&, void )
@@ -697,6 +737,7 @@ IMPL_LINK_NOARG( SvxToolbarConfigPage, ResetToolbarHdl, Button *, void )
 
 void SvxToolbarConfigPage::UpdateButtonStates()
 {
+    SvxConfigEntry* pToolbar = GetTopLevelSelection();
     SvTreeListEntry* selection = m_pContentsListBox->GetCurEntry();
 
     bool  bIsSeparator =
@@ -710,6 +751,12 @@ void SvxToolbarConfigPage::UpdateButtonStates()
     m_pRemoveCommandButton->Enable( bIsValidSelection );
 
     m_pModifyBtn->Enable( bIsValidSelection && !bIsSeparator );
+
+    // Handle the gear button
+    PopupMenu* pPopup = m_pGearBtn->GetPopupMenu();
+    // "gear_add" option is always enabled
+    pPopup->EnableItem( "gear_delete", pToolbar && pToolbar->IsDeletable() );
+    pPopup->EnableItem( "gear_rename", pToolbar && pToolbar->IsRenamable() );
 }
 
 short SvxToolbarConfigPage::QueryReset()
@@ -735,8 +782,6 @@ IMPL_LINK_NOARG( SvxToolbarConfigPage, SelectToolbar, ListBox&, void )
     if ( pToolbar == nullptr )
     {
         //TODO: Disable related buttons
-        m_pPlusBtn->Enable( false );
-        m_pMinusBtn->Enable( false );
         m_pInsertBtn->Enable( false );
         m_pResetBtn->Enable( false );
 
@@ -744,8 +789,6 @@ IMPL_LINK_NOARG( SvxToolbarConfigPage, SelectToolbar, ListBox&, void )
     }
     else
     {
-        m_pPlusBtn->Enable();
-        m_pMinusBtn->Enable( pToolbar->IsDeletable() );
         m_pInsertBtn->Enable();
         m_pResetBtn->Enable();
     }
diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx
index b7aa0a21d7dc..8ee0080ba441 100644
--- a/cui/source/customize/cfg.cxx
+++ b/cui/source/customize/cfg.cxx
@@ -1141,8 +1141,7 @@ SvxConfigPage::SvxConfigPage(vcl::Window *pParent, const SfxItemSet& rSet)
     get(m_pRemoveCommandButton, "remove");
 
     get(m_pTopLevelListBox, "toplevellist");
-    get(m_pPlusBtn, "plusbtn");
-    get(m_pMinusBtn, "minusbtn");
+    get(m_pGearBtn, "gearbtn");
     get(m_pMoveUpButton, "up");
     get(m_pMoveDownButton, "down");
     get(m_pSaveInListBox, "savein");
@@ -1180,6 +1179,7 @@ SvxConfigPage::SvxConfigPage(vcl::Window *pParent, const SfxItemSet& rSet)
     m_pFunctions->SetDoubleClickHdl( LINK( this, SvxConfigPage, FunctionDoubleClickHdl ) );
     m_pFunctions->SetSelectHdl(
         LINK( this, SvxConfigPage, SelectFunctionHdl ) );
+    m_pGearBtn->SetDropDown(PushButtonDropdownStyle::NONE);
 }
 
 SvxConfigPage::~SvxConfigPage()
@@ -1190,8 +1190,7 @@ SvxConfigPage::~SvxConfigPage()
 void SvxConfigPage::dispose()
 {
     m_pTopLevelListBox.clear();
-    m_pPlusBtn.clear();
-    m_pMinusBtn.clear();
+    m_pGearBtn.clear();
     m_pSearchEdit.clear();
     m_pCommandCategoryListBox.clear();
     m_pEntries.clear();
@@ -2106,6 +2105,11 @@ bool SvxConfigEntry::IsDeletable()
     return !IsMain() || IsUserDefined();
 }
 
+bool SvxConfigEntry::IsRenamable()
+{
+    return !IsMain() || IsUserDefined();
+}
+
 ToolbarSaveInData::ToolbarSaveInData(
     const uno::Reference < css::ui::XUIConfigurationManager >& xCfgMgr,
     const uno::Reference < css::ui::XUIConfigurationManager >& xParentCfgMgr,
diff --git a/cui/source/inc/SvxMenuConfigPage.hxx b/cui/source/inc/SvxMenuConfigPage.hxx
index 7f5eb33c39e4..f944ce36161e 100644
--- a/cui/source/inc/SvxMenuConfigPage.hxx
+++ b/cui/source/inc/SvxMenuConfigPage.hxx
@@ -53,8 +53,7 @@ private:
     DECL_LINK( SelectMenu, ListBox&, void );
     DECL_LINK( SelectMenuEntry, SvTreeListBox *, void );
 
-    DECL_LINK( AddMenuHdl, Button *, void );
-    DECL_LINK( RemoveMenuHdl, Button *, void );
+    DECL_LINK( GearHdl, MenuButton *, void );
 
     DECL_LINK( SelectCategory, ListBox&, void );
 
diff --git a/cui/source/inc/SvxToolbarConfigPage.hxx b/cui/source/inc/SvxToolbarConfigPage.hxx
index d854f45af833..2129db9801cb 100644
--- a/cui/source/inc/SvxToolbarConfigPage.hxx
+++ b/cui/source/inc/SvxToolbarConfigPage.hxx
@@ -54,8 +54,7 @@ private:
     DECL_LINK( SelectToolbarEntry, SvTreeListBox*, void );
     DECL_LINK( MoveHdl, Button *, void );
 
-    DECL_LINK( AddToolbarHdl, Button *, void );
-    DECL_LINK( RemoveToolbarHdl, Button *, void );
+    DECL_LINK( GearHdl, MenuButton *, void );
 
     DECL_LINK( SelectCategory, ListBox&, void );
 
diff --git a/cui/source/inc/cfg.hxx b/cui/source/inc/cfg.hxx
index 52bb3facb3c9..c1c85c86fa4c 100644
--- a/cui/source/inc/cfg.hxx
+++ b/cui/source/inc/cfg.hxx
@@ -320,6 +320,7 @@ public:
     bool    IsModified() { return bIsModified; }
 
     bool    IsDeletable();
+    bool    IsRenamable();
 
     void    SetVisible( bool b ) { bIsVisible = b; }
     bool    IsVisible() const { return bIsVisible; }
@@ -390,8 +391,7 @@ protected:
     // menu or toolbar are displayed
     VclPtr<ListBox>                            m_pTopLevelListBox;
     // Used to add and remove toolbars/menus
-    VclPtr<PushButton>                         m_pPlusBtn;
-    VclPtr<PushButton>                         m_pMinusBtn;
+    VclPtr<MenuButton>                         m_pGearBtn;
     VclPtr<VclContainer>                       m_pEntries;
     VclPtr<SvTreeListBox>                      m_pContentsListBox;
 
diff --git a/cui/uiconfig/ui/menuassignpage.ui b/cui/uiconfig/ui/menuassignpage.ui
index e43528006d83..bd77bf0179a2 100644
--- a/cui/uiconfig/ui/menuassignpage.ui
+++ b/cui/uiconfig/ui/menuassignpage.ui
@@ -3,6 +3,34 @@
 <interface domain="cui">
   <requires lib="gtk+" version="3.18"/>
   <requires lib="LibreOffice" version="1.0"/>
+  <object class="GtkMenu" id="gearmenu">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <child>
+      <object class="GtkMenuItem" id="gear_add">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes" context="menuassignpage|gear_add">_Add...</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="gear_delete">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes" context="menuassignpage|gear_delete">_Delete</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+    <child>
+      <object class="GtkMenuItem" id="gear_rename">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="label" translatable="yes" context="menuassignpage|gear_rename">_Rename...</property>
+        <property name="use_underline">True</property>
+      </object>
+    </child>
+  </object>
   <object class="GtkImage" id="image1">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
@@ -23,15 +51,10 @@
     <property name="can_focus">False</property>
     <property name="stock">gtk-go-back</property>
   </object>
-  <object class="GtkImage" id="image5">
+  <object class="GtkImage" id="image7">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
-    <property name="pixbuf">svtools/res/list_add.png</property>
-  </object>
-  <object class="GtkImage" id="image6">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="pixbuf">extensions/res/buttonminus.png</property>
+    <property name="pixbuf">sfx2/res/actionaction013.png</property>
   </object>
   <object class="GtkBox" id="MenuAssignPage">
     <property name="visible">True</property>
@@ -220,32 +243,23 @@
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="plusbtn">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="halign">end</property>
-                <property name="margin_left">5</property>
-                <property name="image">image5</property>
-                <property name="always_show_image">True</property>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="top_attach">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="minusbtn">
+              <object class="GtkButton" id="gearbtn:gearmenu">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="receives_default">True</property>
                 <property name="halign">end</property>
                 <property name="margin_left">1</property>
-                <property name="image">image6</property>
+                <property name="image">image7</property>
                 <property name="always_show_image">True</property>
+                <child internal-child="accessible">
+                  <object class="AtkObject" id="gearbtn:gearmenu-atkobject">
+                    <property name="AtkObject::accessible-name" translatable="yes" context="menuassignpage|gearbtn">Gear Menu</property>
+                    <property name="AtkObject::accessible-description" translatable="yes" context="menuassignpage|gearbtn">Contains commands to modify or delete the selected toolbar or the top level menu, and the command to add new toolbars or top level menus.</property>
+                  </object>
+                </child>
               </object>
               <packing>
-                <property name="left_attach">2</property>
+                <property name="left_attach">1</property>
                 <property name="top_attach">0</property>
               </packing>
             </child>
@@ -595,8 +609,7 @@
     <widgets>
       <widget name="commandcategorylist"/>
       <widget name="toplevellist"/>
-      <widget name="plusbtn"/>
-      <widget name="minusbtn"/>
+      <widget name="gearbtn:gearmenu"/>
       <widget name="searchEntry"/>
       <widget name="savein"/>
       <widget name="functionbtn"/>


More information about the Libreoffice-commits mailing list