summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cui/source/customize/SvxMenuConfigPage.cxx93
-rw-r--r--cui/source/customize/SvxToolbarConfigPage.cxx155
-rw-r--r--cui/source/customize/cfg.cxx12
-rw-r--r--cui/source/inc/SvxMenuConfigPage.hxx3
-rw-r--r--cui/source/inc/SvxToolbarConfigPage.hxx3
-rw-r--r--cui/source/inc/cfg.hxx4
-rw-r--r--cui/uiconfig/ui/menuassignpage.ui67
7 files changed, 214 insertions, 123 deletions
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"/>