Convert UI of Customize Dialog to the new design
* Elements of the old design have been removed from both
the .ui file and the .cxx/.hxx files.
* New elements for the new design have been added to the
.ui file.
* Menu, Toolbar and Context menu tabs now resemble the new design
Change-Id: Ib602e0a4b9419d16adaa4ff6aa23b74097a3b88d
Reviewed-on: https://gerrit.libreoffice.org/40468
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Muhammet Kara <muhammet.kara@pardus.org.tr>
diff --git a/cui/inc/strings.hrc b/cui/inc/strings.hrc
index 2a82447..74b0bcb 100644
--- a/cui/inc/strings.hrc
+++ b/cui/inc/strings.hrc
@@ -59,7 +59,7 @@
#define RID_SVXSTR_PRODUCTNAME_TOOLBARS NC_("RID_SVXSTR_PRODUCTNAME_TOOLBARS", "%PRODUCTNAME %MODULENAME Toolbars")
#define RID_SVXSTR_PRODUCTNAME_CONTEXTMENUS NC_("RID_SVXSTR_PRODUCTNAME_CONTEXTMENUS", "%PRODUCTNAME %MODULENAME Context Menus")
#define RID_SVXSTR_TOOLBAR NC_("RID_SVXSTR_TOOLBAR", "Toolbar")
#define RID_SVXSTR_TOOLBAR_CONTENT NC_("RID_SVXSTR_TOOLBAR_CONTENT", "Toolbar Content")
//#define RID_SVXSTR_TOOLBAR_CONTENT NC_("RID_SVXSTR_TOOLBAR_CONTENT", "Toolbar Content")
#define RID_SVXSTR_COMMANDS NC_("RID_SVXSTR_COMMANDS", "Commands")
#define RID_SXVSTR_CONFIRM_DELETE_TOOLBAR NC_("RID_SXVSTR_CONFIRM_DELETE_TOOLBAR", "There are no more commands on the toolbar. Do you want to delete the toolbar?")
/* Translators: Do not translate %SAVE IN SELECTION% It is a placeholder
diff --git a/cui/source/customize/SvxMenuConfigPage.cxx b/cui/source/customize/SvxMenuConfigPage.cxx
index 71fd43c..5b6afcc 100644
--- a/cui/source/customize/SvxMenuConfigPage.cxx
+++ b/cui/source/customize/SvxMenuConfigPage.cxx
@@ -113,8 +113,12 @@ SvxMenuConfigPage::SvxMenuConfigPage(vcl::Window *pParent, const SfxItemSet& rSe
m_pContentsListBox->set_vexpand(true);
m_pContentsListBox->Show();
m_pAddSubmenuButton->Enable();
m_pAddSubmenuButton->Show();
m_pFunctionsListBox = VclPtr<SvxMenuEntriesListBox>::Create(m_pFunctions, this);
m_pFunctionsListBox->set_grid_left_attach(0);
m_pFunctionsListBox->set_grid_top_attach(0);
m_pFunctionsListBox->set_hexpand(true);
m_pFunctionsListBox->set_vexpand(true);
m_pFunctionsListBox->Show();
m_pTopLevelListBox->SetSelectHdl(
LINK( this, SvxMenuConfigPage, SelectMenu ) );
@@ -124,43 +128,6 @@ SvxMenuConfigPage::SvxMenuConfigPage(vcl::Window *pParent, const SfxItemSet& rSe
m_pMoveUpButton->SetClickHdl ( LINK( this, SvxConfigPage, MoveHdl) );
m_pMoveDownButton->SetClickHdl ( LINK( this, SvxConfigPage, MoveHdl) );
m_pNewTopLevelButton->SetClickHdl (
LINK( this, SvxMenuConfigPage, NewMenuHdl ) );
m_pAddCommandsButton->SetClickHdl (
LINK( this, SvxMenuConfigPage, AddCommandsHdl ) );
m_pAddSeparatorButton->SetClickHdl (
LINK( this, SvxMenuConfigPage, AddSeparatorHdl ) );
m_pAddSubmenuButton->SetClickHdl (
LINK( this, SvxMenuConfigPage, AddSubmenuHdl ) );
m_pDeleteCommandButton->SetClickHdl (
LINK( this, SvxMenuConfigPage, DeleteCommandHdl ) );
PopupMenu* pMenu = m_pModifyTopLevelButton->GetPopupMenu();
pMenu->SetMenuFlags(
pMenu->GetMenuFlags() | MenuFlags::AlwaysShowDisabledEntries );
m_pModifyTopLevelButton->SetSelectHdl(
LINK( this, SvxMenuConfigPage, MenuSelectHdl ) );
PopupMenu* pEntry = m_pModifyCommandButton->GetPopupMenu();
pEntry->SetMenuFlags(
pEntry->GetMenuFlags() | MenuFlags::AlwaysShowDisabledEntries );
m_pModifyCommandButton->SetSelectHdl(
LINK( this, SvxMenuConfigPage, EntrySelectHdl ) );
if ( !bIsMenuBar )
{
m_pTopLevel->set_label( CuiResId( RID_SVXSTR_PRODUCTNAME_CONTEXTMENUS ) );
m_pNewTopLevelButton->Hide();
pMenu->HideItem( pMenu->GetItemId( "move" ) );
pMenu->HideItem( pMenu->GetItemId( "menuitem3" ) );
}
}
SvxMenuConfigPage::~SvxMenuConfigPage()
@@ -199,7 +166,6 @@ IMPL_LINK_NOARG( SvxMenuConfigPage, SelectMenuEntry, SvTreeListBox *, void )
void SvxMenuConfigPage::UpdateButtonStates()
{
PopupMenu* pPopup = m_pModifyCommandButton->GetPopupMenu();
// Disable Up and Down buttons depending on current selection
SvTreeListEntry* selection = m_pContentsListBox->GetCurEntry();
@@ -208,9 +174,6 @@ void SvxMenuConfigPage::UpdateButtonStates()
{
m_pMoveUpButton->Enable( false );
m_pMoveDownButton->Enable( false );
m_pDeleteCommandButton->Enable(false);
pPopup->EnableItem( "modrename", false );
m_pDescriptionField->SetText("");
@@ -228,20 +191,10 @@ void SvxMenuConfigPage::UpdateButtonStates()
if ( pEntryData->IsSeparator() )
{
pPopup->EnableItem( "modrename", false );
m_pDescriptionField->SetText("");
m_pAddSeparatorButton->Enable( false );
m_pDeleteCommandButton->Enable();
}
else
{
pPopup->EnableItem( "modrename" );
m_pDeleteCommandButton->Enable();
m_pAddSeparatorButton->Enable();
m_pDescriptionField->SetText(pEntryData->GetHelpText());
}
}
@@ -313,19 +266,9 @@ IMPL_LINK_NOARG( SvxMenuConfigPage, SelectMenu, ListBox&, void )
m_pContentsListBox->Clear();
SvxConfigEntry* pMenuData = GetTopLevelSelection();
m_pModifyTopLevelButton->Enable( pMenuData != nullptr );
m_pModifyCommandButton->Enable( pMenuData != nullptr );
m_pAddCommandsButton->Enable( pMenuData != nullptr );
m_pAddSeparatorButton->Enable( pMenuData != nullptr );
m_pAddSubmenuButton->Enable( pMenuData != nullptr );
PopupMenu* pPopup = m_pModifyTopLevelButton->GetPopupMenu();
if ( pMenuData )
{
pPopup->EnableItem( "delete", pMenuData->IsDeletable() );
pPopup->EnableItem( "rename", pMenuData->IsRenamable() );
pPopup->EnableItem( "move", pMenuData->IsMovable() );
SvxEntries* pEntries = pMenuData->GetEntries();
SvxEntries::const_iterator iter = pEntries->begin();
@@ -339,179 +282,6 @@ IMPL_LINK_NOARG( SvxMenuConfigPage, SelectMenu, ListBox&, void )
UpdateButtonStates();
}
IMPL_LINK( SvxMenuConfigPage, MenuSelectHdl, MenuButton *, pButton, void )
{
OString sIdent = pButton->GetCurItemIdent();
if (sIdent == "delete")
{
DeleteSelectedTopLevel();
}
else if (sIdent == "rename")
{
SvxConfigEntry* pMenuData = GetTopLevelSelection();
OUString aNewName( SvxConfigPageHelper::stripHotKey( pMenuData->GetName() ) );
OUString aDesc = CuiResId( RID_SVXSTR_LABEL_NEW_NAME );
VclPtrInstance< SvxNameDialog > pNameDialog( this, aNewName, aDesc );
pNameDialog->SetHelpId( HID_SVX_CONFIG_RENAME_MENU );
pNameDialog->SetText( CuiResId( RID_SVXSTR_RENAME_MENU ) );
if ( pNameDialog->Execute() == RET_OK ) {
pNameDialog->GetName( aNewName );
pMenuData->SetName( aNewName );
ReloadTopLevelListBox();
GetSaveInData()->SetModified();
}
}
else if (sIdent == "move")
{
SvxConfigEntry* pMenuData = GetTopLevelSelection();
VclPtr<SvxMainMenuOrganizerDialog> pDialog(
VclPtr<SvxMainMenuOrganizerDialog>::Create( this,
GetSaveInData()->GetEntries(), pMenuData ));
if ( pDialog->Execute() == RET_OK )
{
GetSaveInData()->SetEntries( pDialog->GetEntries() );
ReloadTopLevelListBox( pDialog->GetSelectedEntry() );
GetSaveInData()->SetModified();
}
}
}
IMPL_LINK( SvxMenuConfigPage, EntrySelectHdl, MenuButton *, pButton, void )
{
OString sIdent = pButton->GetCurItemIdent();
if (sIdent == "modrename")
{
SvTreeListEntry* pActEntry = m_pContentsListBox->GetCurEntry();
SvxConfigEntry* pEntry =
static_cast<SvxConfigEntry*>(pActEntry->GetUserData());
OUString aNewName( SvxConfigPageHelper::stripHotKey( pEntry->GetName() ) );
OUString aDesc = CuiResId( RID_SVXSTR_LABEL_NEW_NAME );
VclPtrInstance< SvxNameDialog > pNameDialog( this, aNewName, aDesc );
pNameDialog->SetHelpId( HID_SVX_CONFIG_RENAME_MENU_ITEM );
pNameDialog->SetText( CuiResId( RID_SVXSTR_RENAME_MENU ) );
if ( pNameDialog->Execute() == RET_OK ) {
pNameDialog->GetName(aNewName);
pEntry->SetName( aNewName );
m_pContentsListBox->SetEntryText( pActEntry, aNewName );
GetSaveInData()->SetModified();
GetTopLevelSelection()->SetModified();
}
}
else
{
return;
}
if ( GetSaveInData()->IsModified() )
{
UpdateButtonStates();
}
}
IMPL_LINK_NOARG( SvxMenuConfigPage, AddFunctionHdl, SvxScriptSelectorDialog&, void )
{
AddFunction();
}
IMPL_LINK_NOARG( SvxMenuConfigPage, NewMenuHdl, Button *, void )
{
VclPtrInstance<SvxMainMenuOrganizerDialog> pDialog(
nullptr, GetSaveInData()->GetEntries(), nullptr, true );
if ( pDialog->Execute() == RET_OK )
{
GetSaveInData()->SetEntries( pDialog->GetEntries() );
ReloadTopLevelListBox( pDialog->GetSelectedEntry() );
GetSaveInData()->SetModified();
}
}
IMPL_LINK_NOARG( SvxMenuConfigPage, AddCommandsHdl, Button *, void )
{
if ( m_pSelectorDlg == nullptr )
{
// Create Script Selector which also shows builtin commands
m_pSelectorDlg = VclPtr<SvxScriptSelectorDialog>::Create( this, true, m_xFrame );
m_pSelectorDlg->SetAddHdl(
LINK( this, SvxMenuConfigPage, AddFunctionHdl ) );
m_pSelectorDlg->SetDialogDescription( CuiResId( RID_SVXSTR_MENU_ADDCOMMANDS_DESCRIPTION ) );
}
// Position the Script Selector over the Add button so it is
// beside the menu contents list and does not obscure it
m_pSelectorDlg->SetPosPixel( m_pAddCommandsButton->GetPosPixel() );
m_pSelectorDlg->SetImageProvider( GetSaveInData() );
m_pSelectorDlg->Execute();
}
IMPL_LINK_NOARG( SvxMenuConfigPage, AddSeparatorHdl, Button *, void )
{
SvxConfigEntry* pNewEntryData = new SvxConfigEntry;
pNewEntryData->SetUserDefined();
InsertEntry( pNewEntryData );
if ( GetSaveInData()->IsModified() )
{
UpdateButtonStates();
}
}
IMPL_LINK_NOARG( SvxMenuConfigPage, AddSubmenuHdl, Button *, void )
{
OUString aNewName;
OUString aDesc = CuiResId( RID_SVXSTR_SUBMENU_NAME );
VclPtrInstance< SvxNameDialog > pNameDialog( this, aNewName, aDesc );
pNameDialog->SetHelpId( HID_SVX_CONFIG_NAME_SUBMENU );
pNameDialog->SetText( CuiResId( RID_SVXSTR_ADD_SUBMENU ) );
if ( pNameDialog->Execute() == RET_OK )
{
pNameDialog->GetName(aNewName);
SvxConfigEntry* pNewEntryData =
new SvxConfigEntry( aNewName, aNewName, true );
pNewEntryData->SetName( aNewName );
pNewEntryData->SetUserDefined();
InsertEntry( pNewEntryData );
ReloadTopLevelListBox();
GetSaveInData()->SetModified();
UpdateButtonStates();
}
}
IMPL_LINK_NOARG( SvxMenuConfigPage, DeleteCommandHdl, Button *, void )
{
DeleteSelectedContent();
if ( GetSaveInData()->IsModified() )
{
UpdateButtonStates();
}
}
SaveInData* SvxMenuConfigPage::CreateSaveInData(
const css::uno::Reference< css::ui::XUIConfigurationManager >& xCfgMgr,
const css::uno::Reference< css::ui::XUIConfigurationManager >& xParentCfgMgr,
diff --git a/cui/source/customize/SvxToolbarConfigPage.cxx b/cui/source/customize/SvxToolbarConfigPage.cxx
index 90995f4..9f89681 100644
--- a/cui/source/customize/SvxToolbarConfigPage.cxx
+++ b/cui/source/customize/SvxToolbarConfigPage.cxx
@@ -104,8 +104,6 @@
SvxToolbarConfigPage::SvxToolbarConfigPage(vcl::Window *pParent, const SfxItemSet& rSet)
: SvxConfigPage(pParent, rSet)
, m_pMenu(get_menu("modifymenu"))
, m_pEntry(get_menu("contentmenu"))
{
SetHelpId( HID_SVX_CONFIG_TOOLBAR );
@@ -116,68 +114,25 @@ SvxToolbarConfigPage::SvxToolbarConfigPage(vcl::Window *pParent, const SfxItemSe
m_pContentsListBox->set_vexpand(true);
m_pContentsListBox->Show();
m_pFunctionsListBox = VclPtr<SvxToolbarEntriesListBox>::Create(m_pFunctions, this);
m_pFunctionsListBox->set_grid_left_attach(0);
m_pFunctionsListBox->set_grid_top_attach(0);
m_pFunctionsListBox->set_hexpand(true);
m_pFunctionsListBox->set_vexpand(true);
m_pFunctionsListBox->Show();
m_pTopLevelListBox->SetHelpId ( HID_SVX_TOPLEVELLISTBOX );
m_pIconsOnlyRB->SetHelpId ( HID_SVX_ICONSONLY );
m_pTextOnlyRB->SetHelpId ( HID_SVX_TEXTONLY );
m_pIconsAndTextRB->SetHelpId ( HID_SVX_ICONSANDTEXT );
m_pContentsListBox->SetHelpId( HID_SVX_CONFIG_TOOLBAR_CONTENTS );
m_pNewTopLevelButton->SetHelpId( HID_SVX_NEW_TOOLBAR );
m_pModifyTopLevelButton->SetHelpId( HID_SVX_MODIFY_TOOLBAR );
m_pAddCommandsButton->SetHelpId( HID_SVX_NEW_TOOLBAR_ITEM );
m_pAddSeparatorButton->SetHelpId ( HID_SVX_ADD_SEPARATOR );
m_pModifyCommandButton->SetHelpId( HID_SVX_MODIFY_TOOLBAR_ITEM );
m_pDeleteCommandButton->SetHelpId ( HID_SVX_REMOVEBUTTON );
m_pResetTopLevelButton->SetHelpId ( HID_SVX_RESETBUTTON );
m_pSaveInListBox->SetHelpId( HID_SVX_SAVE_IN );
m_pMoveUpButton->SetHelpId( HID_SVX_UP_TOOLBAR_ITEM );
m_pMoveDownButton->SetHelpId( HID_SVX_DOWN_TOOLBAR_ITEM );
m_pDescriptionField->SetHelpId ( HID_SVX_DESCFIELD );
m_pTopLevel->set_label(CuiResId(RID_SVXSTR_PRODUCTNAME_TOOLBARS));
m_pTopLevelLabel->SetText( CuiResId( RID_SVXSTR_TOOLBAR ) );
m_pModifyTopLevelButton->SetText( CuiResId( RID_SVXSTR_TOOLBAR ) );
m_pContents->set_label(CuiResId(RID_SVXSTR_TOOLBAR_CONTENT));
m_pContentsLabel->SetText( CuiResId( RID_SVXSTR_COMMANDS ) );
// The reset button will be used in the toolbar config tab
m_pResetTopLevelButton->Show();
// These radio buttons will be used in the toolbar config tab
m_pIconsOnlyRB->Enable();
m_pTextOnlyRB->Enable();
m_pIconsAndTextRB->Enable();
m_pIconsOnlyRB->Show();
m_pTextOnlyRB->Show();
m_pIconsAndTextRB->Show();
m_pToolbarStyleLabel->Show();
m_pTopLevelListBox->SetSelectHdl(
LINK( this, SvxToolbarConfigPage, SelectToolbar ) );
m_pContentsListBox->SetSelectHdl(
LINK( this, SvxToolbarConfigPage, SelectToolbarEntry ) );
m_pIconsOnlyRB->SetClickHdl (
LINK( this, SvxToolbarConfigPage, StyleChangeHdl ) );
m_pTextOnlyRB->SetClickHdl (
LINK( this, SvxToolbarConfigPage, StyleChangeHdl ) );
m_pIconsAndTextRB->SetClickHdl (
LINK( this, SvxToolbarConfigPage, StyleChangeHdl ) );
m_pNewTopLevelButton->SetClickHdl (
LINK( this, SvxToolbarConfigPage, NewToolbarHdl ) );
m_pAddCommandsButton->SetClickHdl (
LINK( this, SvxToolbarConfigPage, AddCommandsHdl ) );
m_pAddSeparatorButton->SetClickHdl (
LINK( this, SvxToolbarConfigPage, AddSeparatorHdl ) );
m_pDeleteCommandButton->SetClickHdl (
LINK( this, SvxToolbarConfigPage, DeleteCommandHdl ) );
m_pResetTopLevelButton->SetClickHdl (
LINK( this, SvxToolbarConfigPage, ResetTopLevelHdl ) );
m_pMoveUpButton->SetClickHdl ( LINK( this, SvxToolbarConfigPage, MoveHdl) );
m_pMoveDownButton->SetClickHdl ( LINK( this, SvxToolbarConfigPage, MoveHdl) );
// Always enable Up and Down buttons
@@ -185,20 +140,6 @@ SvxToolbarConfigPage::SvxToolbarConfigPage(vcl::Window *pParent, const SfxItemSe
m_pMoveDownButton->Enable();
m_pMoveUpButton->Enable();
m_pMenu->SetMenuFlags(
m_pMenu->GetMenuFlags() | MenuFlags::AlwaysShowDisabledEntries );
m_pModifyTopLevelButton->SetPopupMenu( m_pMenu );
m_pModifyTopLevelButton->SetSelectHdl(
LINK( this, SvxToolbarConfigPage, ToolbarSelectHdl ) );
m_pEntry->SetMenuFlags(
m_pEntry->GetMenuFlags() | MenuFlags::AlwaysShowDisabledEntries );
m_pModifyCommandButton->SetPopupMenu(m_pEntry);
m_pModifyCommandButton->SetSelectHdl(
LINK( this, SvxToolbarConfigPage, EntrySelectHdl ) );
// default toolbar to select is standardbar unless a different one
// has been passed in
m_aURLToSelect = ITEM_TOOLBAR_URL;
@@ -233,9 +174,6 @@ void SvxToolbarConfigPage::dispose()
}
m_pSaveInListBox->Clear();
m_pEntry.clear();
m_pMenu.clear();
SvxConfigPage::dispose();
}
@@ -330,285 +268,6 @@ void SvxToolbarConfigPage::MoveEntry( bool bMoveUp )
}
}
IMPL_LINK( SvxToolbarConfigPage, ToolbarSelectHdl, MenuButton *, pButton, void )
{
sal_Int32 nSelectionPos = m_pTopLevelListBox->GetSelectEntryPos();
SvxConfigEntry* pToolbar =
static_cast<SvxConfigEntry*>(m_pTopLevelListBox->GetEntryData( nSelectionPos ));
ToolbarSaveInData* pSaveInData = static_cast<ToolbarSaveInData*>( GetSaveInData() );
OString sCommand = m_pMenu->GetItemIdent(pButton->GetCurItemId());
if (sCommand == "modtooldelete")
{
DeleteSelectedTopLevel();
UpdateButtonStates();
}
else if (sCommand == "modtoolrename")
{
OUString aNewName( SvxConfigPageHelper::stripHotKey( pToolbar->GetName() ) );
OUString aDesc = CuiResId( RID_SVXSTR_LABEL_NEW_NAME );
VclPtrInstance< SvxNameDialog > pNameDialog( this, aNewName, aDesc );
pNameDialog->SetHelpId( HID_SVX_CONFIG_RENAME_TOOLBAR );
pNameDialog->SetText( CuiResId( RID_SVXSTR_RENAME_TOOLBAR ) );
if ( pNameDialog->Execute() == RET_OK )
{
pNameDialog->GetName(aNewName);
pToolbar->SetName( aNewName );
pSaveInData->ApplyToolbar( pToolbar );
// have to use remove and insert to change the name
m_pTopLevelListBox->RemoveEntry( nSelectionPos );
nSelectionPos =
m_pTopLevelListBox->InsertEntry( aNewName, nSelectionPos );
m_pTopLevelListBox->SetEntryData( nSelectionPos, pToolbar );
m_pTopLevelListBox->SelectEntryPos( nSelectionPos );
}
}
}
IMPL_LINK( SvxToolbarConfigPage, EntrySelectHdl, MenuButton *, pButton, void )
{
bool bNeedsApply = false;
// get currently selected toolbar
SvxConfigEntry* pToolbar = GetTopLevelSelection();
OString sCommand = m_pEntry->GetItemIdent(pButton->GetCurItemId());
if (sCommand == "toolrename")
{
SvTreeListEntry* pActEntry = m_pContentsListBox->GetCurEntry();
SvxConfigEntry* pEntry =
static_cast<SvxConfigEntry*>(pActEntry->GetUserData());
OUString aNewName( SvxConfigPageHelper::stripHotKey( pEntry->GetName() ) );
OUString aDesc = CuiResId( RID_SVXSTR_LABEL_NEW_NAME );
VclPtrInstance< SvxNameDialog > pNameDialog( this, aNewName, aDesc );
pNameDialog->SetHelpId( HID_SVX_CONFIG_RENAME_TOOLBAR_ITEM );
pNameDialog->SetText( CuiResId( RID_SVXSTR_RENAME_TOOLBAR ) );
if ( pNameDialog->Execute() == RET_OK ) {
pNameDialog->GetName(aNewName);
if( aNewName.isEmpty() ) //tdf#80758 - Accelerator character ("~") is passed as
pEntry->SetName( "~" ); // the button name in case of empty values.
else
pEntry->SetName( aNewName );
m_pContentsListBox->SetEntryText( pActEntry, aNewName );
bNeedsApply = true;
}
}
else if (sCommand == "toolrestore")
{
SvTreeListEntry* pActEntry = m_pContentsListBox->GetCurEntry();
SvxConfigEntry* pEntry =
static_cast<SvxConfigEntry*>(pActEntry->GetUserData());
sal_uInt16 nSelectionPos = 0;
// find position of entry within the list
for ( sal_uLong i = 0; i < m_pContentsListBox->GetEntryCount(); ++i )
{
if ( m_pContentsListBox->GetEntry( nullptr, i ) == pActEntry )
{
nSelectionPos = i;
break;
}
}
ToolbarSaveInData* pSaveInData =
static_cast<ToolbarSaveInData*>( GetSaveInData() );
OUString aSystemName =
pSaveInData->GetSystemUIName( pEntry->GetCommand() );
if ( !pEntry->GetName().equals( aSystemName ) )
{
pEntry->SetName( aSystemName );
m_pContentsListBox->SetEntryText(
pActEntry, SvxConfigPageHelper::stripHotKey( aSystemName ) );
bNeedsApply = true;
}
css::uno::Sequence<OUString> aURLSeq { pEntry->GetCommand() };
try
{
GetSaveInData()->GetImageManager()->removeImages(
SvxConfigPageHelper::GetImageType(), aURLSeq );
// reset backup in entry
pEntry->SetBackupGraphic(
css::uno::Reference< css::graphic::XGraphic >() );
GetSaveInData()->PersistChanges(
GetSaveInData()->GetImageManager() );
m_pContentsListBox->GetModel()->Remove( pActEntry );
SvTreeListEntry* pNewLBEntry =
InsertEntryIntoUI( pEntry, nSelectionPos );
m_pContentsListBox->SetCheckButtonState( pNewLBEntry,
pEntry->IsVisible() ?
SvButtonState::Checked : SvButtonState::Unchecked );
m_pContentsListBox->Select( pNewLBEntry );
m_pContentsListBox->MakeVisible( pNewLBEntry );
bNeedsApply = true;
}
catch ( css::uno::Exception& )
{
SAL_WARN("cui.customize", "Error restoring image");
}
}
else if (sCommand == "toolchange")
{
SvTreeListEntry* pActEntry = m_pContentsListBox->GetCurEntry();
SvxConfigEntry* pEntry =
static_cast<SvxConfigEntry*>(pActEntry->GetUserData());
sal_uInt16 nSelectionPos = 0;
// find position of entry within the list
for ( sal_uLong i = 0; i < m_pContentsListBox->GetEntryCount(); ++i )
{
if ( m_pContentsListBox->GetEntry( nullptr, i ) == pActEntry )
{
nSelectionPos = i;
break;
}
}
ScopedVclPtr<SvxIconSelectorDialog> pIconDialog(
VclPtr<SvxIconSelectorDialog>::Create( nullptr,
GetSaveInData()->GetImageManager(),
GetSaveInData()->GetParentImageManager() ));
if ( pIconDialog->Execute() == RET_OK )
{
css::uno::Reference< css::graphic::XGraphic > newgraphic =
pIconDialog->GetSelectedIcon();
if ( newgraphic.is() )
{
css::uno::Sequence< css::uno::Reference< css::graphic::XGraphic > >
aGraphicSeq( 1 );
css::uno::Sequence<OUString> aURLSeq { pEntry->GetCommand() };
if ( !pEntry->GetBackupGraphic().is() )
{
css::uno::Reference< css::graphic::XGraphic > backup;
backup = SvxConfigPageHelper::GetGraphic(
GetSaveInData()->GetImageManager(), aURLSeq[ 0 ] );
if ( backup.is() )
{
pEntry->SetBackupGraphic( backup );
}
}
aGraphicSeq[ 0 ] = newgraphic;
try
{
GetSaveInData()->GetImageManager()->replaceImages(
SvxConfigPageHelper::GetImageType(), aURLSeq, aGraphicSeq );
m_pContentsListBox->GetModel()->Remove( pActEntry );
SvTreeListEntry* pNewLBEntry =
InsertEntryIntoUI( pEntry, nSelectionPos );
m_pContentsListBox->SetCheckButtonState( pNewLBEntry,
pEntry->IsVisible() ?
SvButtonState::Checked : SvButtonState::Unchecked );
m_pContentsListBox->Select( pNewLBEntry );
m_pContentsListBox->MakeVisible( pNewLBEntry );
GetSaveInData()->PersistChanges(
GetSaveInData()->GetImageManager() );
}
catch ( css::uno::Exception& )
{
SAL_WARN("cui.customize", "Error replacing image");
}
}
}
}
else if (sCommand == "toolreset")
{
SvTreeListEntry* pActEntry = m_pContentsListBox->GetCurEntry();
SvxConfigEntry* pEntry =
static_cast<SvxConfigEntry*>(pActEntry->GetUserData());
sal_uInt16 nSelectionPos = 0;
// find position of entry within the list
for ( sal_uLong i = 0; i < m_pContentsListBox->GetEntryCount(); ++i )
{
if ( m_pContentsListBox->GetEntry( nullptr, i ) == pActEntry )
{
nSelectionPos = i;
break;
}
}
css::uno::Reference< css::graphic::XGraphic > backup =
pEntry->GetBackupGraphic();
css::uno::Sequence< css::uno::Reference< css::graphic::XGraphic > >
aGraphicSeq( 1 );
aGraphicSeq[ 0 ] = backup;
css::uno::Sequence<OUString> aURLSeq { pEntry->GetCommand() };
try
{
GetSaveInData()->GetImageManager()->replaceImages(
SvxConfigPageHelper::GetImageType(), aURLSeq, aGraphicSeq );
m_pContentsListBox->GetModel()->Remove( pActEntry );
SvTreeListEntry* pNewLBEntry =
InsertEntryIntoUI( pEntry, nSelectionPos );
m_pContentsListBox->SetCheckButtonState( pNewLBEntry,
pEntry->IsVisible() ?
SvButtonState::Checked : SvButtonState::Unchecked );
m_pContentsListBox->Select( pNewLBEntry );
m_pContentsListBox->MakeVisible( pNewLBEntry );
// reset backup in entry
pEntry->SetBackupGraphic(
css::uno::Reference< css::graphic::XGraphic >() );
GetSaveInData()->PersistChanges(
GetSaveInData()->GetImageManager() );
}
catch ( css::uno::Exception& )
{
SAL_WARN("cui.customize", "Error resetting image");
}
}
if ( bNeedsApply )
{
static_cast<ToolbarSaveInData*>( GetSaveInData())->ApplyToolbar( pToolbar );
UpdateButtonStates();
}
}
void SvxToolbarConfigPage::Init()
{
// ensure that the UI is cleared before populating it
@@ -658,15 +317,6 @@ IMPL_LINK_NOARG( SvxToolbarConfigPage, SelectToolbarEntry, SvTreeListBox *, void
void SvxToolbarConfigPage::UpdateButtonStates()
{
PopupMenu* pPopup = m_pModifyCommandButton->GetPopupMenu();
pPopup->EnableItem(pPopup->GetItemId("toolrename"), false);
pPopup->EnableItem(pPopup->GetItemId("toolrestore"), false);
pPopup->EnableItem(pPopup->GetItemId("toolchange"), false);
pPopup->EnableItem(pPopup->GetItemId("toolreset"), false);
m_pDeleteCommandButton->Enable( false );
m_pAddSeparatorButton->Enable( false );
m_pDescriptionField->SetText("");
SvTreeListEntry* selection = m_pContentsListBox->GetCurEntry();
@@ -676,24 +326,8 @@ void SvxToolbarConfigPage::UpdateButtonStates()
}
SvxConfigEntry* pEntryData = static_cast<SvxConfigEntry*>(selection->GetUserData());
if ( pEntryData->IsSeparator() )
if ( !pEntryData->IsSeparator() )
{
m_pDeleteCommandButton->Enable();
}
else
{
pPopup->EnableItem(pPopup->GetItemId("toolrename"));
pPopup->EnableItem(pPopup->GetItemId("toolchange"));
m_pDeleteCommandButton->Enable();
m_pAddSeparatorButton->Enable();
if ( !pEntryData->IsUserDefined() )
pPopup->EnableItem(pPopup->GetItemId("toolrestore"));
if ( pEntryData->IsIconModified() )
pPopup->EnableItem(pPopup->GetItemId("toolreset"));
m_pDescriptionField->SetText(pEntryData->GetHelpText());
}
}
@@ -719,52 +353,10 @@ IMPL_LINK_NOARG( SvxToolbarConfigPage, SelectToolbar, ListBox&, void )
SvxConfigEntry* pToolbar = GetTopLevelSelection();
if ( pToolbar == nullptr )
{
m_pModifyTopLevelButton->Enable( false );
m_pModifyCommandButton->Enable( false );
m_pAddCommandsButton->Enable( false );
m_pAddSeparatorButton->Enable( false );
m_pDeleteCommandButton->Enable( false );
m_pResetTopLevelButton->Enable( false );
m_pIconsOnlyRB->Enable( false );
m_pTextOnlyRB->Enable( false );
m_pIconsAndTextRB->Enable( false );
//TODO: Disable related buttons
return;
}
m_pModifyTopLevelButton->Enable();
m_pModifyCommandButton->Enable();
m_pAddCommandsButton->Enable();
m_pResetTopLevelButton->Enable( !pToolbar->IsRenamable() );
m_pIconsOnlyRB->Enable();
m_pTextOnlyRB->Enable();
m_pIconsAndTextRB->Enable();
PopupMenu* pPopup = m_pModifyTopLevelButton->GetPopupMenu();
pPopup->EnableItem(m_pMenu->GetItemId("modtooldelete"), pToolbar->IsDeletable());
pPopup->EnableItem(m_pMenu->GetItemId("modtoolrename"), pToolbar->IsRenamable());
switch( pToolbar->GetStyle() )
{
case 0:
{
m_pIconsOnlyRB->Check();
break;
}
case 1:
{
m_pTextOnlyRB->Check();
break;
}
case 2:
{
m_pIconsAndTextRB->Check();
break;
}
}
SvxEntries* pEntries = pToolbar->GetEntries();
SvxEntries::const_iterator iter = pEntries->begin();
@@ -792,160 +384,6 @@ IMPL_LINK_NOARG( SvxToolbarConfigPage, SelectToolbar, ListBox&, void )
UpdateButtonStates();
}
IMPL_LINK( SvxToolbarConfigPage, StyleChangeHdl, Button*, pButton, void )
{
sal_Int32 nSelectionPos = m_pTopLevelListBox->GetSelectEntryPos();
SvxConfigEntry* pToolbar =
static_cast<SvxConfigEntry*>(m_pTopLevelListBox->GetEntryData( nSelectionPos ));
ToolbarSaveInData* pSaveInData = static_cast<ToolbarSaveInData*>( GetSaveInData() );
if (pButton == m_pIconsOnlyRB)
{
pToolbar->SetStyle( 0 );
pSaveInData->SetSystemStyle( m_xFrame, pToolbar->GetCommand(), 0 );
m_pTopLevelListBox->GetSelectHdl().Call( *m_pTopLevelListBox );
}
else if (pButton == m_pTextOnlyRB)
{
pToolbar->SetStyle( 1 );
pSaveInData->SetSystemStyle( m_xFrame, pToolbar->GetCommand(), 1 );
m_pTopLevelListBox->GetSelectHdl().Call( *m_pTopLevelListBox );
}
else if (pButton == m_pIconsAndTextRB)
{
pToolbar->SetStyle( 2 );
pSaveInData->SetSystemStyle( m_xFrame, pToolbar->GetCommand(), 2 );
m_pTopLevelListBox->GetSelectHdl().Call( *m_pTopLevelListBox );
}
}
IMPL_LINK_NOARG( SvxToolbarConfigPage, NewToolbarHdl, Button *, void )
{
OUString prefix = CuiResId( RID_SVXSTR_NEW_TOOLBAR );
OUString aNewName =
SvxConfigPageHelper::generateCustomName( prefix, GetSaveInData()->GetEntries() );
OUString aNewURL =
SvxConfigPageHelper::generateCustomURL( GetSaveInData()->GetEntries() );
VclPtrInstance< SvxNewToolbarDialog > pNameDialog( nullptr, aNewName );
for ( sal_Int32 i = 0 ; i < m_pSaveInListBox->GetEntryCount(); ++i )
{
SaveInData* pData =
static_cast<SaveInData*>(m_pSaveInListBox->GetEntryData( i ));
const sal_Int32 nInsertPos = pNameDialog->m_pSaveInListBox->InsertEntry(
m_pSaveInListBox->GetEntry( i ) );
pNameDialog->m_pSaveInListBox->SetEntryData( nInsertPos, pData );
}
pNameDialog->m_pSaveInListBox->SelectEntryPos(
m_pSaveInListBox->GetSelectEntryPos() );
if ( pNameDialog->Execute() == RET_OK )
{
aNewName = pNameDialog->GetName();
sal_Int32 nInsertPos = pNameDialog->m_pSaveInListBox->GetSelectEntryPos();
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 );
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();
}
}
IMPL_LINK_NOARG( SvxToolbarConfigPage, AddCommandsHdl, Button *, void )
{
if ( m_pSelectorDlg == nullptr )
{
// Create Script Selector which shows slot commands
m_pSelectorDlg = VclPtr<SvxScriptSelectorDialog>::Create( this, true, m_xFrame );
// Position the Script Selector over the Add button so it is
// beside the menu contents list and does not obscure it
m_pSelectorDlg->SetPosPixel( m_pAddCommandsButton->GetPosPixel() );
m_pSelectorDlg->SetAddHdl(
LINK( this, SvxToolbarConfigPage, AddFunctionHdl ) );
}
m_pSelectorDlg->SetImageProvider( GetSaveInData() );
m_pSelectorDlg->Execute();
}
IMPL_LINK_NOARG( SvxToolbarConfigPage, AddSeparatorHdl, Button *, void )
{
// get currently selected toolbar
SvxConfigEntry* pToolbar = GetTopLevelSelection();
SvxConfigEntry* pNewEntryData = new SvxConfigEntry;
pNewEntryData->SetUserDefined();
SvTreeListEntry* pNewLBEntry = InsertEntry( pNewEntryData );
m_pContentsListBox->SetCheckButtonInvisible( pNewLBEntry );
m_pContentsListBox->SetCheckButtonState(
pNewLBEntry, SvButtonState::Tristate );
static_cast<ToolbarSaveInData*>( GetSaveInData())->ApplyToolbar( pToolbar );
UpdateButtonStates();
}
IMPL_LINK_NOARG( SvxToolbarConfigPage, DeleteCommandHdl, Button *, void )
{
DeleteSelectedContent();
}
IMPL_LINK_NOARG( SvxToolbarConfigPage, ResetTopLevelHdl, Button *, void )
{
sal_Int32 nSelectionPos = m_pTopLevelListBox->GetSelectEntryPos();
SvxConfigEntry* pToolbar =
static_cast<SvxConfigEntry*>(m_pTopLevelListBox->GetEntryData( nSelectionPos ));
ScopedVclPtrInstance<MessageDialog> qbox(this,
CuiResId(RID_SVXSTR_CONFIRM_RESTORE_DEFAULT), VclMessageType::Question, VclButtonsType::YesNo);
if ( qbox->Execute() == RET_YES )
{
ToolbarSaveInData* pSaveInData_ =
static_cast<ToolbarSaveInData*>(GetSaveInData());
pSaveInData_->RestoreToolbar( pToolbar );
m_pTopLevelListBox->GetSelectHdl().Call( *m_pTopLevelListBox );
}
}
IMPL_LINK_NOARG( SvxToolbarConfigPage, AddFunctionHdl, SvxScriptSelectorDialog&, void )
{
AddFunction();
diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx
index 72d08f2..676f5cd 100644
--- a/cui/source/customize/cfg.cxx
+++ b/cui/source/customize/cfg.cxx
@@ -214,17 +214,17 @@ SvxConfigDialog::SvxConfigDialog(vcl::Window * pParent, const SfxItemSet* pInSet
: SfxTabDialog(pParent, "CustomizeDialog",
"cui/ui/customizedialog.ui", pInSet)
, m_nMenusPageId(0)
, m_nToolbarsPageId(0)
, m_nContextMenusPageId(0)
, m_nKeyboardPageId(0)
, m_nToolbarsPageId(0)
, m_nEventsPageId(0)
{
SvxConfigPageHelper::InitImageType();
m_nMenusPageId = AddTabPage("menus", CreateSvxMenuConfigPage, nullptr);
m_nToolbarsPageId = AddTabPage("toolbars", CreateSvxToolbarConfigPage, nullptr);
m_nContextMenusPageId = AddTabPage("contextmenus", CreateSvxContextMenuConfigPage, nullptr);
m_nKeyboardPageId = AddTabPage("keyboard", CreateKeyboardConfigPage, nullptr);
m_nToolbarsPageId = AddTabPage("toolbars", CreateSvxToolbarConfigPage, nullptr);
m_nEventsPageId = AddTabPage("events", CreateSvxEventConfigPage, nullptr);
const SfxPoolItem* pItem =
@@ -1131,52 +1131,26 @@ SvxConfigPage::SvxConfigPage(vcl::Window *pParent, const SfxItemSet& rSet)
, bInitialised(false)
, pCurrentSaveInData(nullptr)
, m_pContentsListBox(nullptr)
, m_pFunctionsListBox(nullptr)
, m_pSelectorDlg(nullptr)
{
get(m_pTopLevel, "toplevel");
get(m_pTopLevelLabel, "toplevelft");
get(m_pTopLevelListBox, "toplevellist");
get(m_pNewTopLevelButton, "toplevelbutton");
get(m_pModifyTopLevelButton, "menuedit");
get(m_pToolbarStyleLabel, "toolbarstyleft");
get(m_pIconsOnlyRB, "iconsrb");
get(m_pTextOnlyRB, "textrb");
get(m_pIconsAndTextRB, "iconsandtextrb");
get(m_pContents, "contents");
get(m_pContentsLabel, "contentslabel");
get(m_pAddCommandsButton, "add");
get(m_pAddSeparatorButton, "addseparatorbtn");
get(m_pAddSubmenuButton, "addsubmenubtn");
get(m_pModifyCommandButton, "modify");
get(m_pDeleteCommandButton, "deletebtn");
get(m_pResetTopLevelButton, "resetbtn");
get(m_pMoveUpButton, "up");
get(m_pMoveDownButton, "down");
get(m_pSaveInListBox, "savein");
get(m_pDescriptionField, "desc");
m_pDescriptionField->set_height_request(m_pDescriptionField->GetTextHeight()*4);
get(m_pEntries, "entries");
get(m_pFunctions, "functions");
Size aSize(LogicToPixel(Size(108, 115), MapUnit::MapAppFont));
m_pEntries->set_height_request(aSize.Height());
m_pEntries->set_width_request(aSize.Width());
m_pFunctions->set_height_request(aSize.Height());
m_pFunctions->set_width_request(aSize.Width());
m_pDescriptionField->SetControlBackground( GetSettings().GetStyleSettings().GetDialogColor() );
m_pDescriptionField->EnableCursor( false );
// This button is applicable only for the toolbar config tab
m_pResetTopLevelButton->Enable( false );
m_pResetTopLevelButton->Hide();
// These radio buttons are applicable only for the toolbar config tab
m_pIconsOnlyRB->Enable( false );
m_pTextOnlyRB->Enable( false );
m_pIconsAndTextRB->Enable( false );
m_pIconsOnlyRB->Hide();
m_pTextOnlyRB->Hide();
m_pIconsAndTextRB->Hide();
m_pToolbarStyleLabel->Hide();
// This button is applicable only for the Menus and Context Menus tabs
m_pAddSubmenuButton->Disable();
m_pAddSubmenuButton->Hide();
}
SvxConfigPage::~SvxConfigPage()
@@ -1186,24 +1160,10 @@ SvxConfigPage::~SvxConfigPage()
void SvxConfigPage::dispose()
{
m_pTopLevel.clear();
m_pTopLevelLabel.clear();
m_pTopLevelListBox.clear();
m_pNewTopLevelButton.clear();
m_pModifyTopLevelButton.clear();
m_pToolbarStyleLabel.clear();
m_pIconsOnlyRB.clear();
m_pTextOnlyRB.clear();
m_pIconsAndTextRB.clear();
m_pContents.clear();
m_pContentsLabel.clear();
m_pEntries.clear();
m_pAddCommandsButton.clear();
m_pAddSeparatorButton.clear();
m_pAddSubmenuButton.clear();
m_pModifyCommandButton.clear();
m_pDeleteCommandButton.clear();
m_pResetTopLevelButton.clear();
m_pFunctions.clear();
m_pMoveUpButton.clear();
m_pMoveDownButton.clear();
m_pSaveInListBox.clear();
@@ -1211,6 +1171,7 @@ void SvxConfigPage::dispose()
m_pSelectorDlg.disposeAndClear();
m_pContentsListBox.disposeAndClear();
m_pFunctionsListBox.disposeAndClear();
SfxTabPage::dispose();
}
@@ -1239,17 +1200,6 @@ void SvxConfigPage::Reset( const SfxItemSet* )
css::frame::ModuleManager::create( xContext ));
OUString aModuleName = SvxConfigPageHelper::GetUIModuleName( aModuleId, xModuleManager );
OUString title = m_pTopLevel->get_label();
OUString aSearchString("%MODULENAME" );
sal_Int32 index = title.indexOf( aSearchString );
if ( index != -1 )
{
title = title.replaceAt(
index, aSearchString.getLength(), aModuleName );
m_pTopLevel->set_label(title);
}
uno::Reference< css::ui::XModuleUIConfigurationManagerSupplier >
xModuleCfgSupplier( css::ui::theModuleUIConfigurationManagerSupplier::get(xContext) );
diff --git a/cui/source/inc/SvxMenuConfigPage.hxx b/cui/source/inc/SvxMenuConfigPage.hxx
index c604150..72796b8 100644
--- a/cui/source/inc/SvxMenuConfigPage.hxx
+++ b/cui/source/inc/SvxMenuConfigPage.hxx
@@ -53,14 +53,6 @@ private:
bool m_bIsMenuBar;
DECL_LINK( SelectMenu, ListBox&, void );
DECL_LINK( SelectMenuEntry, SvTreeListBox *, void );
DECL_LINK( NewMenuHdl, Button *, void );
DECL_LINK( MenuSelectHdl, MenuButton *, void );
DECL_LINK( EntrySelectHdl, MenuButton *, void );
DECL_LINK( AddCommandsHdl, Button *, void );
DECL_LINK( AddSeparatorHdl, Button *, void );
DECL_LINK( AddSubmenuHdl, Button *, void );
DECL_LINK( DeleteCommandHdl, Button *, void );
DECL_LINK( AddFunctionHdl, SvxScriptSelectorDialog&, void );
void Init() override;
void UpdateButtonStates() override;
diff --git a/cui/source/inc/SvxToolbarConfigPage.hxx b/cui/source/inc/SvxToolbarConfigPage.hxx
index 099dd8e..02a2397 100644
--- a/cui/source/inc/SvxToolbarConfigPage.hxx
+++ b/cui/source/inc/SvxToolbarConfigPage.hxx
@@ -53,14 +53,6 @@ private:
DECL_LINK( SelectToolbar, ListBox&, void );
DECL_LINK( SelectToolbarEntry, SvTreeListBox*, void );
DECL_LINK( ToolbarSelectHdl, MenuButton *, void );
DECL_LINK( EntrySelectHdl, MenuButton *, void );
DECL_LINK( StyleChangeHdl, Button *, void );
DECL_LINK( NewToolbarHdl, Button *, void );
DECL_LINK( AddCommandsHdl, Button *, void );
DECL_LINK( AddSeparatorHdl, Button *, void );
DECL_LINK( DeleteCommandHdl, Button *, void );
DECL_LINK( ResetTopLevelHdl, Button *, void );
DECL_LINK( AddFunctionHdl, SvxScriptSelectorDialog&, void );
DECL_LINK( MoveHdl, Button *, void );
@@ -70,9 +62,6 @@ private:
void DeleteSelectedContent() override;
void DeleteSelectedTopLevel() override;
VclPtr<PopupMenu> m_pMenu;
VclPtr<PopupMenu> m_pEntry;
public:
SvxToolbarConfigPage( vcl::Window *pParent, const SfxItemSet& rItemSet );
virtual ~SvxToolbarConfigPage() override;
diff --git a/cui/source/inc/cfg.hxx b/cui/source/inc/cfg.hxx
index f75f4d6..6264456 100644
--- a/cui/source/inc/cfg.hxx
+++ b/cui/source/inc/cfg.hxx
@@ -81,9 +81,9 @@ class SvxConfigDialog : public SfxTabDialog
private:
css::uno::Reference< css::frame::XFrame > m_xFrame;
sal_uInt16 m_nMenusPageId;
sal_uInt16 m_nToolbarsPageId;
sal_uInt16 m_nContextMenusPageId;
sal_uInt16 m_nKeyboardPageId;
sal_uInt16 m_nToolbarsPageId;
sal_uInt16 m_nEventsPageId;
public:
@@ -383,31 +383,18 @@ protected:
// the top section of the tab page where top level menus and toolbars
// are displayed in a listbox
VclPtr<VclFrame> m_pTopLevel;
VclPtr<FixedText> m_pTopLevelLabel;
VclPtr<ListBox> m_pTopLevelListBox;
VclPtr<PushButton> m_pNewTopLevelButton;
VclPtr<MenuButton> m_pModifyTopLevelButton;
VclPtr<FixedText> m_pToolbarStyleLabel;
VclPtr<RadioButton> m_pIconsOnlyRB;
VclPtr<RadioButton> m_pTextOnlyRB;
VclPtr<RadioButton> m_pIconsAndTextRB;
// the contents section where the contents of the selected
// menu or toolbar are displayed
VclPtr<VclFrame> m_pContents;
VclPtr<FixedText> m_pContentsLabel;
VclPtr<VclContainer> m_pEntries;
VclPtr<SvTreeListBox> m_pContentsListBox;
VclPtr<PushButton> m_pAddCommandsButton;
VclPtr<PushButton> m_pAddSeparatorButton;
VclPtr<PushButton> m_pAddSubmenuButton;
VclPtr<MenuButton> m_pModifyCommandButton;
VclPtr<PushButton> m_pDeleteCommandButton;
// Resets the top level toolbar to default settings
VclPtr<PushButton> m_pResetTopLevelButton;
// the functions section where functions in the
// selected category will be displayed
VclPtr<VclContainer> m_pFunctions;
VclPtr<SvTreeListBox> m_pFunctionsListBox;
VclPtr<PushButton> m_pMoveUpButton;
VclPtr<PushButton> m_pMoveDownButton;
@@ -525,10 +512,6 @@ public:
SvxConfigEntry* GetSelectedEntry();
};
//SvxToolbarEntriesListBox class was here
//SvxToolbarConfigPage class was here
class ToolbarSaveInData : public SaveInData
{
private:
diff --git a/cui/uiconfig/ui/customizedialog.ui b/cui/uiconfig/ui/customizedialog.ui
index aaa25c3..e96808d 100644
--- a/cui/uiconfig/ui/customizedialog.ui
+++ b/cui/uiconfig/ui/customizedialog.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.19.0 -->
<!-- Generated with glade 3.20.0 -->
<interface domain="cui">
<requires lib="gtk+" version="3.0"/>
<object class="GtkDialog" id="CustomizeDialog">
@@ -106,13 +106,27 @@
<placeholder/>
</child>
<child type="tab">
<object class="GtkLabel" id="toolbars">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="customizedialog|toolbars">Toolbars</property>
</object>
<packing>
<property name="position">1</property>
<property name="tab_fill">False</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child type="tab">
<object class="GtkLabel" id="contextmenus">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="customizedialog|contextmenus">Context Menus</property>
</object>
<packing>
<property name="position">1</property>
<property name="position">2</property>
<property name="tab_fill">False</property>
</packing>
</child>
@@ -126,20 +140,6 @@
<property name="label" translatable="yes" context="customizedialog|keyboard">Keyboard</property>
</object>
<packing>
<property name="position">2</property>
<property name="tab_fill">False</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child type="tab">
<object class="GtkLabel" id="toolbars">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="customizedialog|toolbars">Toolbars</property>
</object>
<packing>
<property name="position">3</property>
<property name="tab_fill">False</property>
</packing>
diff --git a/cui/uiconfig/ui/menuassignpage.ui b/cui/uiconfig/ui/menuassignpage.ui
index 1213719..4e46e29 100644
--- a/cui/uiconfig/ui/menuassignpage.ui
+++ b/cui/uiconfig/ui/menuassignpage.ui
@@ -2,48 +2,6 @@
<!-- Generated with glade 3.20.0 -->
<interface domain="cui">
<requires lib="gtk+" version="3.10"/>
<object class="GtkMenu" id="contentmenu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="toolrename">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="menuassignpage|toolrename">Rename...</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="toolrestore">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="menuassignpage|toolrestore">Restore Default Command</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="menuitem9">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="toolchange">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="menuassignpage|toolchange">Change Icon...</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="toolreset">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="menuassignpage|toolreset">Reset Icon</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>
@@ -54,6 +12,16 @@
<property name="can_focus">False</property>
<property name="stock">gtk-go-down</property>
</object>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-go-forward</property>
</object>
<object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-go-back</property>
</object>
<object class="GtkBox" id="MenuAssignPage">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -63,204 +31,6 @@
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkFrame" id="toplevel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkGrid" id="grid1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkGrid" id="grid2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkLabel" id="toplevelft">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="menuassignpage|toplevelft">Menu</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">toplevellist</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="toplevellist">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_right">36</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="toolbarstyleft">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_top">6</property>
<property name="margin_bottom">6</property>
<property name="label" translatable="yes" context="menuassignpage|toolbarstyleft">Style</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">toplevellist</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_right">36</property>
<property name="margin_top">6</property>
<property name="margin_bottom">6</property>
<property name="hexpand">True</property>
<child>
<object class="GtkRadioButton" id="iconsandtextrb">
<property name="label" translatable="yes" context="menuassignpage|iconsandtextrb">Icons & Text</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="halign">center</property>
<property name="margin_left">12</property>
<property name="margin_right">12</property>
<property name="use_underline">True</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">iconsrb</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="iconsrb">
<property name="label" translatable="yes" context="menuassignpage|iconsrb">Icons</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="halign">start</property>
<property name="use_underline">True</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="textrb">
<property name="label" translatable="yes" context="menuassignpage|textrb">Text</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="halign">end</property>
<property name="use_underline">True</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">iconsrb</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<property name="layout_style">start</property>
<child>
<object class="GtkButton" id="toplevelbutton">
<property name="label" translatable="yes" context="menuassignpage|toplevelbutton">New...</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="menuedit:menu">
<property name="label" translatable="yes" context="menuassignpage|menuedit">Menu</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label26">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="menuassignpage|label26">%PRODUCTNAME %MODULENAME Menus</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="contents">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -292,46 +62,6 @@
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkComboBoxText" id="savein">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label33">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="menuassignpage|label33">_Save In</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">savein</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="contentslabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
<property name="label" translatable="yes" context="menuassignpage|contentslabel">Entries</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">entries</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="grid5">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -364,7 +94,7 @@
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">0</property>
<property name="top_attach">1</property>
<property name="height">2</property>
</packing>
</child>
@@ -404,102 +134,29 @@
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="grid6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkButtonBox" id="buttonbox5">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<property name="layout_style">start</property>
<child>
<object class="GtkButton" id="resetbtn">
<property name="label" translatable="yes" context="menuassignpage|resetbtn">Reset</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox4">
<object class="GtkButtonBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_bottom">24</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<property name="margin_left">5</property>
<property name="margin_right">5</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="hexpand">True</property>
<property name="layout_style">start</property>
<child>
<object class="GtkButton" id="modify:modmenu">
<property name="label" translatable="yes" context="menuassignpage|modify">Modify</property>
<object class="GtkButton">
<property name="label" translatable="yes">Insert</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="deletebtn">
<property name="label" translatable="yes" context="menuassignpage|deletebtn">Remove</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<object class="GtkButtonBox" id="buttonbox3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_bottom">24</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<property name="layout_style">start</property>
<child>
<object class="GtkButton" id="add">
<property name="label" translatable="yes" context="menuassignpage|add">Add Command</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
<property name="margin_left">5</property>
<property name="margin_right">5</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
</object>
<packing>
<property name="expand">True</property>
@@ -508,12 +165,15 @@
</packing>
</child>
<child>
<object class="GtkButton" id="addseparatorbtn">
<property name="label" translatable="yes" context="menuassignpage|addseparatorbtn">Add Separator</property>
<object class="GtkButton">
<property name="label" translatable="yes">Modify</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
<property name="margin_left">5</property>
<property name="margin_right">5</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
</object>
<packing>
<property name="expand">True</property>
@@ -522,12 +182,15 @@
</packing>
</child>
<child>
<object class="GtkButton" id="addsubmenubtn">
<property name="label" translatable="yes" context="menuassignpage|addsubmenubtn">Add Submenu</property>
<object class="GtkButton">
<property name="label" translatable="yes">Reset</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_underline">True</property>
<property name="margin_left">5</property>
<property name="margin_right">5</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
</object>
<packing>
<property name="expand">True</property>
@@ -537,28 +200,374 @@
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
</packing>
</child>
<child>
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_bottom">5</property>
<property name="hexpand">True</property>
<child>
<object class="GtkComboBoxText" id="savein">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="margin_right">5</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkButton">
<property name="label" translatable="yes">Function</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="halign">start</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_bottom">5</property>
<child>
<object class="GtkComboBoxText" id="toplevellist">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_right">36</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="add1">
<property name="label" translatable="yes">+</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="hexpand">True</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="remove1">
<property name="label" translatable="yes">-</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="grid6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkLabel" id="descriptionlabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="menuassignpage|label33">_Description</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="functionslabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
<property name="label" translatable="yes" context="menuassignpage|contentslabel">Function:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">entries</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="grid7">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">center</property>
<property name="row_spacing">6</property>
<child>
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkButton" id="add">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="hexpand">True</property>
<property name="image">image3</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Add</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkButton" id="remove">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="hexpand">True</property>
<property name="image">image4</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Remove</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">2</property>
<property name="height">2</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="functions">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow2">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTextView" id="desc:border">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">False</property>
<property name="cursor_visible">False</property>
<property name="accepts_tab">False</property>
</object>
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="searchlabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
<property name="margin_bottom">5</property>
<property name="label" translatable="yes" context="menuassignpage|contentslabel">Search:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">entries</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkEntry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="margin_bottom">5</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="categorylabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="valign">start</property>
<property name="margin_bottom">5</property>
<property name="label" translatable="yes" context="menuassignpage|contentslabel">Category:</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">entries</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="toplevellist1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_bottom">5</property>
<property name="hexpand">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label27">
<property name="visible">True</property>
<object class="GtkLabel">
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="menuassignpage|label27">Menu Content</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
<property name="label" translatable="yes">label</property>
</object>
</child>
</object>
@@ -568,141 +577,7 @@
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frame8">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment8">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow2">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTextView" id="desc:border">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">False</property>
<property name="cursor_visible">False</property>
<property name="accepts_tab">False</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label28">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="menuassignpage|label28">_Description</property>
<property name="use_underline">True</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<object class="GtkSizeGroup" id="sizegroup1">
<widgets>
<widget name="toplevelbutton"/>
<widget name="menuedit:menu"/>
<widget name="add"/>
<widget name="modify:modmenu"/>
<widget name="deletebtn"/>
<widget name="resetbtn"/>
<widget name="addsubmenubtn"/>
</widgets>
</object>
<object class="GtkSizeGroup" id="sizegroup2">
<widgets>
<widget name="toplevelft"/>
<widget name="label33"/>
<widget name="contentslabel"/>
</widgets>
</object>
<object class="GtkMenu" id="menu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="move">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="menuassignpage|move">Move...</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="rename">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="menuassignpage|rename">Rename...</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="menuitem3">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="delete">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="menuassignpage|delete">Delete...</property>
<property name="use_underline">True</property>
</object>
</child>
</object>
<object class="GtkMenu" id="modifymenu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="modtoolrename">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="menuassignpage|modtoolrename">Rename...</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="modtooldelete">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="menuassignpage|modtooldelete">Delete</property>
</object>
</child>
</object>
<object class="GtkMenu" id="modmenu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="modrename">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes" context="menuassignpage|modrename">Rename...</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem" id="menuitem6">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
</object>
<object class="GtkSizeGroup" id="sizegroup1"/>
<object class="GtkSizeGroup" id="sizegroup2"/>
</interface>