summaryrefslogtreecommitdiff
path: root/cui
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-03-06 17:23:19 +0000
committerCaolán McNamara <caolanm@redhat.com>2014-03-07 10:22:17 +0000
commitaf523f604df0da28687604d42c24f6dd3765f31a (patch)
treef5895dee17b39ba1f432c029ec9b7c07e02c5977 /cui
parentf4f2ba8dd15fde198556d37cd0e1577b84985282 (diff)
convert acceleration config page to .ui
Change-Id: I0868b635d3aca4d368f32a0035b3f57a0da35ac7
Diffstat (limited to 'cui')
-rw-r--r--cui/UIConfig_cui.mk1
-rw-r--r--cui/source/customize/acccfg.cxx288
-rw-r--r--cui/source/customize/acccfg.hrc2
-rw-r--r--cui/source/customize/acccfg.src176
-rw-r--r--cui/source/dialogs/cuires.src15
-rw-r--r--cui/source/inc/acccfg.hxx48
-rw-r--r--cui/source/inc/cuires.hrc5
-rw-r--r--cui/source/inc/helpid.hrc4
-rw-r--r--cui/uiconfig/ui/accelconfigpage.ui372
9 files changed, 567 insertions, 344 deletions
diff --git a/cui/UIConfig_cui.mk b/cui/UIConfig_cui.mk
index 9a7040566a01..87baa01b737a 100644
--- a/cui/UIConfig_cui.mk
+++ b/cui/UIConfig_cui.mk
@@ -13,6 +13,7 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\
cui/uiconfig/ui/aboutdialog \
cui/uiconfig/ui/aboutconfigdialog\
cui/uiconfig/ui/aboutconfigvaluedialog \
+ cui/uiconfig/ui/accelconfigpage \
cui/uiconfig/ui/agingdialog \
cui/uiconfig/ui/acorexceptpage \
cui/uiconfig/ui/acoroptionspage \
diff --git a/cui/source/customize/acccfg.cxx b/cui/source/customize/acccfg.cxx
index 3a24e10cbbd5..651e69430f54 100644
--- a/cui/source/customize/acccfg.cxx
+++ b/cui/source/customize/acccfg.cxx
@@ -656,6 +656,17 @@ void SfxAccCfgLBoxString_Impl::Paint(
}
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeSfxAccCfgTabListBox(Window *pParent, VclBuilder::stringmap &rMap)
+{
+ WinBits nWinBits = WB_TABSTOP;
+
+ OString sBorder = VclBuilder::extractCustomProperty(rMap);
+ if (!sBorder.isEmpty())
+ nWinBits |= WB_BORDER;
+
+ return new SfxAccCfgTabListBox_Impl(pParent, nWinBits);
+}
+
void SfxAccCfgTabListBox_Impl::InitEntry(SvTreeListEntry* pEntry,
const OUString& rText,
@@ -714,59 +725,66 @@ void SfxAccCfgTabListBox_Impl::KeyInput(const KeyEvent& aKey)
SfxAcceleratorConfigPage::SfxAcceleratorConfigPage( Window* pParent, const SfxItemSet& aSet )
- : SfxTabPage (pParent, CUI_RES(RID_SVXPAGE_KEYBOARD), aSet)
- , m_pMacroInfoItem ()
- , m_pStringItem ()
- , m_pFontItem ()
- , m_pFileDlg (NULL)
- , aEntriesBox (this , this, CUI_RES(BOX_ACC_ENTRIES ))
- , aKeyboardGroup (this , CUI_RES(GRP_ACC_KEYBOARD ))
- , aOfficeButton (this , CUI_RES(RB_OFFICE ))
- , aModuleButton (this , CUI_RES(RB_MODULE ))
- , aChangeButton (this , CUI_RES(BTN_ACC_CHANGE ))
- , aRemoveButton (this , CUI_RES(BTN_ACC_REMOVE ))
- , aGroupText (this , CUI_RES(TXT_ACC_GROUP ))
- , pGroupLBox(new SfxConfigGroupListBox( this, CUI_RES(BOX_ACC_GROUP) ))
- , aFunctionText (this , CUI_RES(TXT_ACC_FUNCTION ))
- , pFunctionBox(new SfxConfigFunctionListBox( this, CUI_RES( BOX_ACC_FUNCTION )))
- , aKeyText (this , CUI_RES(TXT_ACC_KEY ))
- , aKeyBox (this , CUI_RES(BOX_ACC_KEY ))
- , aFunctionsGroup (this , CUI_RES(GRP_ACC_FUNCTIONS ))
- , aLoadButton (this , CUI_RES(BTN_LOAD ))
- , aSaveButton (this , CUI_RES(BTN_SAVE ))
- , aResetButton (this , CUI_RES(BTN_RESET ))
- , aLoadAccelConfigStr ( CUI_RES( STR_LOADACCELCONFIG ) )
- , aSaveAccelConfigStr ( CUI_RES( STR_SAVEACCELCONFIG ) )
- , aFilterCfgStr ( CUI_RES( STR_FILTERNAME_CFG ) )
+ : SfxTabPage(pParent, "AccelConfigPage", "cui/ui/accelconfigpage.ui", aSet)
+ , m_pMacroInfoItem()
+ , m_pStringItem()
+ , m_pFontItem()
+ , m_pFileDlg(NULL)
+ , aLoadAccelConfigStr(CUI_RES(RID_SVXSTR_LOADACCELCONFIG))
+ , aSaveAccelConfigStr(CUI_RES(RID_SVXSTR_SAVEACCELCONFIG))
+ , aFilterCfgStr(CUI_RES(RID_SVXSTR_FILTERNAME_CFG))
, m_bStylesInfoInitialized(sal_False)
- , m_xGlobal ()
- , m_xModule ()
- , m_xAct ()
+ , m_xGlobal()
+ , m_xModule()
+ , m_xAct()
{
- FreeResource();
+ get(m_pOfficeButton, "office");
+ get(m_pModuleButton, "module");
+ get(m_pChangeButton, "change");
+ get(m_pRemoveButton, "delete");
+ get(m_pLoadButton, "load");
+ get(m_pSaveButton, "save");
+ get(m_pResetButton, "reset");
+ get(m_pEntriesBox, "shortcuts");
+ Size aSize(LogicToPixel(Size(174, 100), MAP_APPFONT));
+ m_pEntriesBox->set_width_request(aSize.Width());
+ m_pEntriesBox->set_height_request(aSize.Height());
+ m_pEntriesBox->SetAccelConfigPage(this);
+ get(m_pGroupLBox, "category");
+ aSize = LogicToPixel(Size(78 , 91), MAP_APPFONT);
+ m_pGroupLBox->set_width_request(aSize.Width());
+ m_pGroupLBox->set_height_request(aSize.Height());
+ get(m_pFunctionBox, "function");
+ aSize = LogicToPixel(Size(88, 91), MAP_APPFONT);
+ m_pFunctionBox->set_width_request(aSize.Width());
+ m_pFunctionBox->set_height_request(aSize.Height());
+ get(m_pKeyBox, "keys");
+ aSize = LogicToPixel(Size(80, 91), MAP_APPFONT);
+ m_pKeyBox->set_width_request(aSize.Width());
+ m_pKeyBox->set_height_request(aSize.Height());
aFilterAllStr = SfxResId( STR_SFX_FILTERNAME_ALL );
// install handler functions
- aChangeButton.SetClickHdl( LINK( this, SfxAcceleratorConfigPage, ChangeHdl ));
- aRemoveButton.SetClickHdl( LINK( this, SfxAcceleratorConfigPage, RemoveHdl ));
- aEntriesBox.SetSelectHdl ( LINK( this, SfxAcceleratorConfigPage, SelectHdl ));
- pGroupLBox->SetSelectHdl ( LINK( this, SfxAcceleratorConfigPage, SelectHdl ));
- pFunctionBox->SetSelectHdl( LINK( this, SfxAcceleratorConfigPage, SelectHdl ));
- aKeyBox.SetSelectHdl ( LINK( this, SfxAcceleratorConfigPage, SelectHdl ));
- aLoadButton.SetClickHdl ( LINK( this, SfxAcceleratorConfigPage, Load ));
- aSaveButton.SetClickHdl ( LINK( this, SfxAcceleratorConfigPage, Save ));
- aResetButton.SetClickHdl ( LINK( this, SfxAcceleratorConfigPage, Default ));
- aOfficeButton.SetClickHdl( LINK( this, SfxAcceleratorConfigPage, RadioHdl ));
- aModuleButton.SetClickHdl( LINK( this, SfxAcceleratorConfigPage, RadioHdl ));
+ m_pChangeButton->SetClickHdl( LINK( this, SfxAcceleratorConfigPage, ChangeHdl ));
+ m_pRemoveButton->SetClickHdl( LINK( this, SfxAcceleratorConfigPage, RemoveHdl ));
+ m_pEntriesBox->SetSelectHdl ( LINK( this, SfxAcceleratorConfigPage, SelectHdl ));
+ m_pGroupLBox->SetSelectHdl ( LINK( this, SfxAcceleratorConfigPage, SelectHdl ));
+ m_pFunctionBox->SetSelectHdl( LINK( this, SfxAcceleratorConfigPage, SelectHdl ));
+ m_pKeyBox->SetSelectHdl ( LINK( this, SfxAcceleratorConfigPage, SelectHdl ));
+ m_pLoadButton->SetClickHdl ( LINK( this, SfxAcceleratorConfigPage, Load ));
+ m_pSaveButton->SetClickHdl ( LINK( this, SfxAcceleratorConfigPage, Save ));
+ m_pResetButton->SetClickHdl ( LINK( this, SfxAcceleratorConfigPage, Default ));
+ m_pOfficeButton->SetClickHdl( LINK( this, SfxAcceleratorConfigPage, RadioHdl ));
+ m_pModuleButton->SetClickHdl( LINK( this, SfxAcceleratorConfigPage, RadioHdl ));
// initialize Entriesbox
- aEntriesBox.SetStyle(aEntriesBox.GetStyle()|WB_HSCROLL|WB_CLIPCHILDREN);
- aEntriesBox.SetSelectionMode(SINGLE_SELECTION);
- aEntriesBox.SetTabs(&AccCfgTabs[0], MAP_APPFONT);
- aEntriesBox.Resize(); // OS: Hack for right selection
- aEntriesBox.SetSpaceBetweenEntries(0);
- aEntriesBox.SetDragDropMode(0);
+ m_pEntriesBox->SetStyle(m_pEntriesBox->GetStyle()|WB_HSCROLL|WB_CLIPCHILDREN);
+ m_pEntriesBox->SetSelectionMode(SINGLE_SELECTION);
+ m_pEntriesBox->SetTabs(&AccCfgTabs[0], MAP_APPFONT);
+ m_pEntriesBox->Resize(); // OS: Hack for right selection
+ m_pEntriesBox->SetSpaceBetweenEntries(0);
+ m_pEntriesBox->SetDragDropMode(0);
// detect max keyname width
long nMaxWidth = 0;
@@ -779,43 +797,41 @@ SfxAcceleratorConfigPage::SfxAcceleratorConfigPage( Window* pParent, const SfxIt
// recalc second tab
long nNewTab = PixelToLogic( Size( nMaxWidth, 0 ), MAP_APPFONT ).Width();
nNewTab = nNewTab + 5; // additional space
- aEntriesBox.SetTab( 1, nNewTab );
+ m_pEntriesBox->SetTab( 1, nNewTab );
// initialize GroupBox
- pGroupLBox->SetFunctionListBox(pFunctionBox);
+ m_pGroupLBox->SetFunctionListBox(m_pFunctionBox);
// initialize KeyBox
- aKeyBox.SetStyle(aKeyBox.GetStyle()|WB_CLIPCHILDREN|WB_HSCROLL|WB_SORT);
+ m_pKeyBox->SetStyle(m_pKeyBox->GetStyle()|WB_CLIPCHILDREN|WB_HSCROLL|WB_SORT);
}
SfxAcceleratorConfigPage::~SfxAcceleratorConfigPage()
{
// free memory - remove all dynamic user data
- SvTreeListEntry* pEntry = aEntriesBox.First();
+ SvTreeListEntry* pEntry = m_pEntriesBox->First();
while (pEntry)
{
TAccInfo* pUserData = (TAccInfo*)pEntry->GetUserData();
if (pUserData)
delete pUserData;
- pEntry = aEntriesBox.Next(pEntry);
+ pEntry = m_pEntriesBox->Next(pEntry);
}
- pEntry = aKeyBox.First();
+ pEntry = m_pKeyBox->First();
while (pEntry)
{
TAccInfo* pUserData = (TAccInfo*)pEntry->GetUserData();
if (pUserData)
delete pUserData;
- pEntry = aKeyBox.Next(pEntry);
+ pEntry = m_pKeyBox->Next(pEntry);
}
- aEntriesBox.Clear();
- aKeyBox.Clear();
+ m_pEntriesBox->Clear();
+ m_pKeyBox->Clear();
delete m_pFileDlg;
- delete pGroupLBox;
- delete pFunctionBox;
}
@@ -896,8 +912,8 @@ void SfxAcceleratorConfigPage::Init(const css::uno::Reference< css::ui::XAcceler
xModel = xController->getModel();
m_aStylesInfo.setModel(xModel);
- pFunctionBox->SetStylesInfo(&m_aStylesInfo);
- pGroupLBox->SetStylesInfo(&m_aStylesInfo);
+ m_pFunctionBox->SetStylesInfo(&m_aStylesInfo);
+ m_pGroupLBox->SetStylesInfo(&m_aStylesInfo);
m_bStylesInfoInitialized = sal_True;
}
@@ -914,7 +930,7 @@ void SfxAcceleratorConfigPage::Init(const css::uno::Reference< css::ui::XAcceler
if (sKey.isEmpty())
continue;
TAccInfo* pEntry = new TAccInfo(i1, nListPos, aKey);
- SvTreeListEntry* pLBEntry = aEntriesBox.InsertEntryToColumn(sKey, 0L, TREELIST_APPEND, 0xFFFF);
+ SvTreeListEntry* pLBEntry = m_pEntriesBox->InsertEntryToColumn(sKey, 0L, TREELIST_APPEND, 0xFFFF);
pLBEntry->SetUserData(pEntry);
}
@@ -922,7 +938,7 @@ void SfxAcceleratorConfigPage::Init(const css::uno::Reference< css::ui::XAcceler
css::uno::Sequence< css::awt::KeyEvent > lKeys = xAccMgr->getAllKeyEvents();
sal_Int32 c2 = lKeys.getLength();
sal_Int32 i2 = 0;
- sal_uInt16 nCol = aEntriesBox.TabCount()-1;
+ sal_uInt16 nCol = m_pEntriesBox->TabCount()-1;
for (i2=0; i2<c2; ++i2)
{
@@ -935,14 +951,14 @@ void SfxAcceleratorConfigPage::Init(const css::uno::Reference< css::ui::XAcceler
if (nPos == TREELIST_ENTRY_NOTFOUND)
continue;
- aEntriesBox.SetEntryText(sLabel, nPos, nCol);
+ m_pEntriesBox->SetEntryText(sLabel, nPos, nCol);
- SvTreeListEntry* pLBEntry = aEntriesBox.GetEntry(0, nPos);
+ SvTreeListEntry* pLBEntry = m_pEntriesBox->GetEntry(0, nPos);
TAccInfo* pEntry = (TAccInfo*)pLBEntry->GetUserData();
pEntry->m_bIsConfigurable = sal_True;
pEntry->m_sCommand = sCommand;
- CreateCustomItems(pLBEntry, aEntriesBox.GetEntryText(pLBEntry, 0), sLabel);
+ CreateCustomItems(pLBEntry, m_pEntriesBox->GetEntryText(pLBEntry, 0), sLabel);
}
// Map the VCL hardcoded key codes and mark them as not changeable
@@ -957,11 +973,11 @@ void SfxAcceleratorConfigPage::Init(const css::uno::Reference< css::ui::XAcceler
continue;
// Hardcoded function mapped so no ID possible and mark entry as not changeable
- SvTreeListEntry* pLBEntry = aEntriesBox.GetEntry(0, nPos);
+ SvTreeListEntry* pLBEntry = m_pEntriesBox->GetEntry(0, nPos);
TAccInfo* pEntry = (TAccInfo*)pLBEntry->GetUserData();
pEntry->m_bIsConfigurable = sal_False;
- CreateCustomItems(pLBEntry, aEntriesBox.GetEntryText(pLBEntry, 0), OUString());
+ CreateCustomItems(pLBEntry, m_pEntriesBox->GetEntryText(pLBEntry, 0), OUString());
}
}
@@ -974,7 +990,7 @@ void SfxAcceleratorConfigPage::Apply(const css::uno::Reference< css::ui::XAccele
// Go through the list from the bottom to the top ...
// because logical accelerator must be preferred instead of
// physical ones!
- SvTreeListEntry* pEntry = aEntriesBox.First();
+ SvTreeListEntry* pEntry = m_pEntriesBox->First();
while (pEntry)
{
TAccInfo* pUserData = (TAccInfo*)pEntry->GetUserData();
@@ -999,14 +1015,14 @@ void SfxAcceleratorConfigPage::Apply(const css::uno::Reference< css::ui::XAccele
catch(const css::uno::Exception&)
{}
- pEntry = aEntriesBox.Next(pEntry);
+ pEntry = m_pEntriesBox->Next(pEntry);
}
}
void SfxAcceleratorConfigPage::ResetConfig()
{
- aEntriesBox.Clear();
+ m_pEntriesBox->Clear();
}
@@ -1031,12 +1047,12 @@ IMPL_LINK_NOARG(SfxAcceleratorConfigPage, Default)
if (xReset.is())
xReset->reset();
- aEntriesBox.SetUpdateMode(sal_False);
+ m_pEntriesBox->SetUpdateMode(sal_False);
ResetConfig();
Init(m_xAct);
- aEntriesBox.SetUpdateMode(sal_True);
- aEntriesBox.Invalidate();
- aEntriesBox.Select(aEntriesBox.GetEntry(0, 0));
+ m_pEntriesBox->SetUpdateMode(sal_True);
+ m_pEntriesBox->Invalidate();
+ m_pEntriesBox->Select(m_pEntriesBox->GetEntry(0, 0));
return 0;
}
@@ -1044,18 +1060,18 @@ IMPL_LINK_NOARG(SfxAcceleratorConfigPage, Default)
IMPL_LINK_NOARG(SfxAcceleratorConfigPage, ChangeHdl)
{
- sal_uLong nPos = aEntriesBox.GetModel()->GetRelPos( aEntriesBox.FirstSelected() );
- TAccInfo* pEntry = (TAccInfo*)aEntriesBox.GetEntry(0, nPos)->GetUserData();
- OUString sNewCommand = pFunctionBox->GetCurCommand();
- OUString sLabel = pFunctionBox->GetCurLabel();
+ sal_uLong nPos = m_pEntriesBox->GetModel()->GetRelPos( m_pEntriesBox->FirstSelected() );
+ TAccInfo* pEntry = (TAccInfo*)m_pEntriesBox->GetEntry(0, nPos)->GetUserData();
+ OUString sNewCommand = m_pFunctionBox->GetCurCommand();
+ OUString sLabel = m_pFunctionBox->GetCurLabel();
if (sLabel.isEmpty())
sLabel = GetLabel4Command(sNewCommand);
pEntry->m_sCommand = sNewCommand;
- sal_uInt16 nCol = aEntriesBox.TabCount() - 1;
- aEntriesBox.SetEntryText(sLabel, nPos, nCol);
+ sal_uInt16 nCol = m_pEntriesBox->TabCount() - 1;
+ m_pEntriesBox->SetEntryText(sLabel, nPos, nCol);
- ((Link &) pFunctionBox->GetSelectHdl()).Call( pFunctionBox );
+ ((Link &) m_pFunctionBox->GetSelectHdl()).Call( m_pFunctionBox );
return 0;
}
@@ -1063,15 +1079,15 @@ IMPL_LINK_NOARG(SfxAcceleratorConfigPage, ChangeHdl)
IMPL_LINK_NOARG(SfxAcceleratorConfigPage, RemoveHdl)
{
// get selected entry
- sal_uLong nPos = aEntriesBox.GetModel()->GetRelPos( aEntriesBox.FirstSelected() );
- TAccInfo* pEntry = (TAccInfo*)aEntriesBox.GetEntry(0, nPos)->GetUserData();
+ sal_uLong nPos = m_pEntriesBox->GetModel()->GetRelPos( m_pEntriesBox->FirstSelected() );
+ TAccInfo* pEntry = (TAccInfo*)m_pEntriesBox->GetEntry(0, nPos)->GetUserData();
// remove function name from selected entry
- sal_uInt16 nCol = aEntriesBox.TabCount() - 1;
- aEntriesBox.SetEntryText( OUString(), nPos, nCol );
+ sal_uInt16 nCol = m_pEntriesBox->TabCount() - 1;
+ m_pEntriesBox->SetEntryText( OUString(), nPos, nCol );
pEntry->m_sCommand = OUString();
- ((Link &) pFunctionBox->GetSelectHdl()).Call( pFunctionBox );
+ ((Link &) m_pFunctionBox->GetSelectHdl()).Call( m_pFunctionBox );
return 0;
}
@@ -1080,62 +1096,62 @@ IMPL_LINK( SfxAcceleratorConfigPage, SelectHdl, Control*, pListBox )
{
// disable help
Help::ShowBalloon( this, Point(), OUString() );
- if ( pListBox == &aEntriesBox )
+ if (pListBox == m_pEntriesBox)
{
- sal_uLong nPos = aEntriesBox.GetModel()->GetRelPos( aEntriesBox.FirstSelected() );
- TAccInfo* pEntry = (TAccInfo*)aEntriesBox.GetEntry(0, nPos)->GetUserData();
- OUString sPossibleNewCommand = pFunctionBox->GetCurCommand();
+ sal_uLong nPos = m_pEntriesBox->GetModel()->GetRelPos( m_pEntriesBox->FirstSelected() );
+ TAccInfo* pEntry = (TAccInfo*)m_pEntriesBox->GetEntry(0, nPos)->GetUserData();
+ OUString sPossibleNewCommand = m_pFunctionBox->GetCurCommand();
- aRemoveButton.Enable( false );
- aChangeButton.Enable( false );
+ m_pRemoveButton->Enable( false );
+ m_pChangeButton->Enable( false );
if (pEntry->m_bIsConfigurable)
{
if (pEntry->isConfigured())
- aRemoveButton.Enable( true );
- aChangeButton.Enable( pEntry->m_sCommand != sPossibleNewCommand );
+ m_pRemoveButton->Enable( true );
+ m_pChangeButton->Enable( pEntry->m_sCommand != sPossibleNewCommand );
}
}
- else if ( pListBox == pGroupLBox )
+ else if ( pListBox == m_pGroupLBox )
{
- pGroupLBox->GroupSelected();
- if ( !pFunctionBox->FirstSelected() )
- aChangeButton.Enable( false );
+ m_pGroupLBox->GroupSelected();
+ if ( !m_pFunctionBox->FirstSelected() )
+ m_pChangeButton->Enable( false );
}
- else if ( pListBox == pFunctionBox )
+ else if ( pListBox == m_pFunctionBox )
{
- aRemoveButton.Enable( false );
- aChangeButton.Enable( false );
+ m_pRemoveButton->Enable( false );
+ m_pChangeButton->Enable( false );
// #i36994 First selected can return zero!
- SvTreeListEntry* pLBEntry = aEntriesBox.FirstSelected();
+ SvTreeListEntry* pLBEntry = m_pEntriesBox->FirstSelected();
if ( pLBEntry != 0 )
{
- sal_uLong nPos = aEntriesBox.GetModel()->GetRelPos( pLBEntry );
- TAccInfo* pEntry = (TAccInfo*)aEntriesBox.GetEntry(0, nPos)->GetUserData();
- OUString sPossibleNewCommand = pFunctionBox->GetCurCommand();
+ sal_uLong nPos = m_pEntriesBox->GetModel()->GetRelPos( pLBEntry );
+ TAccInfo* pEntry = (TAccInfo*)m_pEntriesBox->GetEntry(0, nPos)->GetUserData();
+ OUString sPossibleNewCommand = m_pFunctionBox->GetCurCommand();
if (pEntry->m_bIsConfigurable)
{
if (pEntry->isConfigured())
- aRemoveButton.Enable( true );
- aChangeButton.Enable( pEntry->m_sCommand != sPossibleNewCommand );
+ m_pRemoveButton->Enable( true );
+ m_pChangeButton->Enable( pEntry->m_sCommand != sPossibleNewCommand );
}
// update key box
- aKeyBox.Clear();
- SvTreeListEntry* pIt = aEntriesBox.First();
+ m_pKeyBox->Clear();
+ SvTreeListEntry* pIt = m_pEntriesBox->First();
while ( pIt )
{
TAccInfo* pUserData = (TAccInfo*)pIt->GetUserData();
if ( pUserData && pUserData->m_sCommand == sPossibleNewCommand )
{
TAccInfo* pU1 = new TAccInfo(-1, -1, pUserData->m_aKey);
- SvTreeListEntry* pE1 = aKeyBox.InsertEntry( pUserData->m_aKey.GetName(), 0L, sal_True, TREELIST_APPEND );
+ SvTreeListEntry* pE1 = m_pKeyBox->InsertEntry( pUserData->m_aKey.GetName(), 0L, sal_True, TREELIST_APPEND );
pE1->SetUserData(pU1);
pE1->EnableChildrenOnDemand( false );
}
- pIt = aEntriesBox.Next(pIt);
+ pIt = m_pEntriesBox->Next(pIt);
}
}
}
@@ -1147,17 +1163,17 @@ IMPL_LINK( SfxAcceleratorConfigPage, SelectHdl, Control*, pListBox )
sal_uLong nP2 = TREELIST_ENTRY_NOTFOUND;
SvTreeListEntry* pE3 = 0;
- pE2 = aKeyBox.FirstSelected();
+ pE2 = m_pKeyBox->FirstSelected();
if (pE2)
pU2 = (TAccInfo*)pE2->GetUserData();
if (pU2)
nP2 = MapKeyCodeToPos(pU2->m_aKey);
if (nP2 != TREELIST_ENTRY_NOTFOUND)
- pE3 = aEntriesBox.GetEntry( 0, nP2 );
+ pE3 = m_pEntriesBox->GetEntry( 0, nP2 );
if (pE3)
{
- aEntriesBox.Select( pE3 );
- aEntriesBox.MakeVisible( pE3 );
+ m_pEntriesBox->Select( pE3 );
+ m_pEntriesBox->MakeVisible( pE3 );
}
}
@@ -1169,32 +1185,32 @@ IMPL_LINK_NOARG(SfxAcceleratorConfigPage, RadioHdl)
{
css::uno::Reference< css::ui::XAcceleratorConfiguration > xOld = m_xAct;
- if (aOfficeButton.IsChecked())
+ if (m_pOfficeButton->IsChecked())
m_xAct = m_xGlobal;
- else if (aModuleButton.IsChecked())
+ else if (m_pModuleButton->IsChecked())
m_xAct = m_xModule;
// nothing changed? => do nothing!
if ( m_xAct.is() && ( xOld == m_xAct ) )
return 0;
- aEntriesBox.SetUpdateMode( sal_False );
+ m_pEntriesBox->SetUpdateMode( sal_False );
ResetConfig();
Init(m_xAct);
- aEntriesBox.SetUpdateMode( sal_True );
- aEntriesBox.Invalidate();
+ m_pEntriesBox->SetUpdateMode( sal_True );
+ m_pEntriesBox->Invalidate();
- pGroupLBox->Init(m_xContext, m_xFrame, m_sModuleLongName, true);
+ m_pGroupLBox->Init(m_xContext, m_xFrame, m_sModuleLongName, true);
// pb: #133213# do not select NULL entries
- SvTreeListEntry* pEntry = aEntriesBox.GetEntry( 0, 0 );
+ SvTreeListEntry* pEntry = m_pEntriesBox->GetEntry( 0, 0 );
if ( pEntry )
- aEntriesBox.Select( pEntry );
- pEntry = pGroupLBox->GetEntry( 0, 0 );
+ m_pEntriesBox->Select( pEntry );
+ pEntry = m_pGroupLBox->GetEntry( 0, 0 );
if ( pEntry )
- pGroupLBox->Select( pEntry );
+ m_pGroupLBox->Select( pEntry );
- ((Link &) pFunctionBox->GetSelectHdl()).Call( pFunctionBox );
+ ((Link &) m_pFunctionBox->GetSelectHdl()).Call( m_pFunctionBox );
return 1L;
}
@@ -1250,12 +1266,12 @@ IMPL_LINK_NOARG(SfxAcceleratorConfigPage, LoadHdl)
// open the configuration and update our UI
css::uno::Reference< css::ui::XAcceleratorConfiguration > xTempAccMgr(xCfgMgr->getShortCutManager(), css::uno::UNO_QUERY_THROW);
- aEntriesBox.SetUpdateMode(sal_False);
+ m_pEntriesBox->SetUpdateMode(sal_False);
ResetConfig();
Init(xTempAccMgr);
- aEntriesBox.SetUpdateMode(sal_True);
- aEntriesBox.Invalidate();
- aEntriesBox.Select(aEntriesBox.GetEntry(0, 0));
+ m_pEntriesBox->SetUpdateMode(sal_True);
+ m_pEntriesBox->Invalidate();
+ m_pEntriesBox->Select(m_pEntriesBox->GetEntry(0, 0));
}
@@ -1429,16 +1445,16 @@ void SfxAcceleratorConfigPage::Reset( const SfxItemSet& rSet )
// change te description of the radio button, which switch to the module
// dependend accelerator configuration
- OUString sButtonText = aModuleButton.GetText();
+ OUString sButtonText = m_pModuleButton->GetText();
sButtonText = sButtonText.replaceFirst("$(MODULE)", m_sModuleUIName);
- aModuleButton.SetText(sButtonText);
+ m_pModuleButton->SetText(sButtonText);
if (m_xModule.is())
- aModuleButton.Check();
+ m_pModuleButton->Check();
else
{
- aModuleButton.Hide();
- aOfficeButton.Check();
+ m_pModuleButton->Hide();
+ m_pOfficeButton->Check();
}
RadioHdl(0);
@@ -1447,7 +1463,7 @@ void SfxAcceleratorConfigPage::Reset( const SfxItemSet& rSet )
if( SFX_ITEM_SET == rSet.GetItemState( SID_MACROINFO, true, &pMacroItem ) )
{
m_pMacroInfoItem = PTR_CAST( SfxMacroInfoItem, pMacroItem );
- pGroupLBox->SelectMacro( m_pMacroInfoItem );
+ m_pGroupLBox->SelectMacro( m_pMacroInfoItem );
}
else
{
@@ -1465,7 +1481,7 @@ void SfxAcceleratorConfigPage::Reset( const SfxItemSet& rSet )
sal_uLong SfxAcceleratorConfigPage::MapKeyCodeToPos(const KeyCode& aKey) const
{
sal_uInt16 nCode1 = aKey.GetCode()+aKey.GetModifier();
- SvTreeListEntry* pEntry = aEntriesBox.First();
+ SvTreeListEntry* pEntry = m_pEntriesBox->First();
sal_uLong i = 0;
while (pEntry)
@@ -1477,7 +1493,7 @@ sal_uLong SfxAcceleratorConfigPage::MapKeyCodeToPos(const KeyCode& aKey) const
if (nCode1 == nCode2)
return i;
}
- pEntry = aEntriesBox.Next(pEntry);
+ pEntry = m_pEntriesBox->Next(pEntry);
++i;
}
diff --git a/cui/source/customize/acccfg.hrc b/cui/source/customize/acccfg.hrc
index cb3f7b6ad92b..3abc97b5b341 100644
--- a/cui/source/customize/acccfg.hrc
+++ b/cui/source/customize/acccfg.hrc
@@ -34,8 +34,6 @@
#define BTN_SAVE 41
#define RB_OFFICE 44
#define RB_MODULE 45
-#define STR_LOADACCELCONFIG 46
-#define STR_SAVEACCELCONFIG 47
#define STR_GROUP_STYLES 58
#define STR_PDF_EXPORT_SEND 59
diff --git a/cui/source/customize/acccfg.src b/cui/source/customize/acccfg.src
index 81abe9d41f14..7335e4676e01 100644
--- a/cui/source/customize/acccfg.src
+++ b/cui/source/customize/acccfg.src
@@ -21,182 +21,6 @@
#include "cuires.hrc"
#include "acccfg.hrc"
-#define MASKCOLOR MaskColor = \
- Color { Red = 0xFFFF ; Green = 0x0000 ; Blue = 0xFFFF ; };
-
-#define PUSHBUTTON_TEXT_SAVE \
- Text [ en-US ] = "~Save..." ; \
-
-#define PUSHBUTTON_TEXT_RESET \
- Text [ en-US ] = "R~eset" ; \
-
-#define PUSHBUTTON_TEXT_LOAD \
- Text [ en-US ] = "~Load..." ; \
-
-#define PUSHBUTTON_TEXT_REMOVE \
- Text [ en-US ] = "~Delete" ; \
-
-#define PUSHBUTTON_TEXT_CHANGE \
- Text [ en-US ] = "~Modify" ; \
-
-#define PUSHBUTTON_TEXT_NEW \
- Text [ en-US ] = "~New" ; \
-
-#define FIXEDTEXT_TEXT_GROUP \
- Text [ en-US ] = "~Category" ; \
-
-#define FIXEDTEXT_TEXT_FUNCTION \
- Text [ en-US ] = "Function" ; \
-
-#define GROUPBOX_TEXT_FUNCTIONS \
- Text [ en-US ] = "Functions" ; \
-
- // TP_CONFIG_ACCEL -------------------------------------------------------
-TabPage RID_SVXPAGE_KEYBOARD
-{
- HelpId = HID_CONFIG_ACCEL ;
- Hide = TRUE ;
- Size = MAP_APPFONT ( 273 , 258 ) ;
- RadioButton RB_OFFICE
- {
- HelpID = "cui:RadioButton:RID_SVXPAGE_KEYBOARD:RB_OFFICE";
- Pos = MAP_APPFONT ( 192 , 6 ) ;
- Size = MAP_APPFONT ( 75 , 10 ) ;
- Text = "%PRODUCTNAME" ;
- };
- RadioButton RB_MODULE
- {
- HelpID = "cui:RadioButton:RID_SVXPAGE_KEYBOARD:RB_MODULE";
- Pos = MAP_APPFONT ( 192 , 19 ) ;
- Size = MAP_APPFONT ( 75 , 10 ) ;
- Text = "$(MODULE)" ;
- };
- PushButton BTN_ACC_CHANGE
- {
- HelpID = "cui:PushButton:RID_SVXPAGE_KEYBOARD:BTN_ACC_CHANGE";
- Pos = MAP_APPFONT ( 192 , 35 ) ;
- Size = MAP_APPFONT ( 75 , 14 ) ;
- TabStop = TRUE ;
- PUSHBUTTON_TEXT_CHANGE
- };
- PushButton BTN_ACC_REMOVE
- {
- HelpID = "cui:PushButton:RID_SVXPAGE_KEYBOARD:BTN_ACC_REMOVE";
- Pos = MAP_APPFONT ( 192 , 52 ) ;
- Size = MAP_APPFONT ( 75 , 14 ) ;
- TabStop = TRUE ;
- Group = TRUE ;
- PUSHBUTTON_TEXT_REMOVE
- };
- FixedLine GRP_ACC_KEYBOARD
- {
- Pos = MAP_APPFONT ( 6 , 3 ) ;
- Size = MAP_APPFONT ( 180 , 8 ) ;
- Group = TRUE ;
- Text [ en-US ] = "Shortcut keys";
- };
- Control BOX_ACC_ENTRIES
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 12 , 14 ) ;
- Size = MAP_APPFONT ( 174 , 120 ) ;
- TabStop = TRUE ;
- Group = TRUE ;
- HelpId = HID_ACCELCONFIG_LISTBOX ;
- };
- FixedLine GRP_ACC_FUNCTIONS
- {
- Pos = MAP_APPFONT ( 6 , 140 ) ;
- Size = MAP_APPFONT ( 258 , 8 ) ;
- Group = TRUE ;
- GROUPBOX_TEXT_FUNCTIONS
- };
- FixedText TXT_ACC_GROUP
- {
- Pos = MAP_APPFONT ( 12 , 151 ) ;
- Size = MAP_APPFONT ( 78 , 8 ) ;
- Group = TRUE ;
- Left = TRUE ;
- FIXEDTEXT_TEXT_GROUP
- };
- Control BOX_ACC_GROUP
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 12 , 161 ) ;
- Size = MAP_APPFONT ( 78 , 91 ) ;
- TabStop = TRUE ;
- HelpId = HID_CONFIGGROUP_ACC_LISTBOX ;
- };
- FixedText TXT_ACC_FUNCTION
- {
- Pos = MAP_APPFONT ( 93 , 151 ) ;
- Size = MAP_APPFONT ( 88 , 8 ) ;
- Left = TRUE ;
- FIXEDTEXT_TEXT_FUNCTION
- };
- Control BOX_ACC_FUNCTION
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 93 , 161 ) ;
- Size = MAP_APPFONT ( 88 , 91 ) ;
- TabStop = TRUE ;
- HelpId = HID_CONFIGFUNCTION_ACC_LISTBOX ;
- };
- FixedText TXT_ACC_KEY
- {
- Pos = MAP_APPFONT ( 184 , 151 ) ;
- Size = MAP_APPFONT ( 80 , 8 ) ;
- Text [ en-US ] = "~Keys" ;
- Left = TRUE ;
- };
- Control BOX_ACC_KEY
- {
- Border = TRUE ;
- Pos = MAP_APPFONT ( 184 , 161 ) ;
- Size = MAP_APPFONT ( 80 , 91 ) ;
- TabStop = TRUE ;
- };
- PushButton BTN_LOAD
- {
- HelpID = "cui:PushButton:RID_SVXPAGE_KEYBOARD:BTN_LOAD";
- Pos = MAP_APPFONT ( 192 , 86 ) ;
- Size = MAP_APPFONT ( 75 , 14 ) ;
- TabStop = TRUE ;
- Group = TRUE ;
- PUSHBUTTON_TEXT_LOAD
- };
- PushButton BTN_SAVE
- {
- HelpID = "cui:PushButton:RID_SVXPAGE_KEYBOARD:BTN_SAVE";
- Pos = MAP_APPFONT ( 192 , 103 ) ;
- Size = MAP_APPFONT ( 75 , 14 ) ;
- TabStop = TRUE ;
- Group = TRUE ;
- PUSHBUTTON_TEXT_SAVE
- };
- PushButton BTN_RESET
- {
- HelpID = "cui:PushButton:RID_SVXPAGE_KEYBOARD:BTN_RESET";
- Pos = MAP_APPFONT ( 192 , 120 ) ;
- Size = MAP_APPFONT ( 75 , 14 ) ;
- TabStop = TRUE ;
- Group = TRUE ;
- PUSHBUTTON_TEXT_RESET
- };
- String STR_LOADACCELCONFIG
- {
- Text [ en-US ] = "Load Keyboard Configuration" ;
- };
- String STR_SAVEACCELCONFIG
- {
- Text [ en-US ] = "Save Keyboard Configuration" ;
- };
- String STR_FILTERNAME_CFG
- {
- Text [ en-US ] = "Configuration (*.cfg)" ;
- };
-};
-
Resource RID_SVXPAGE_CONFIGGROUPBOX
{
String STR_BASICMACROS
diff --git a/cui/source/dialogs/cuires.src b/cui/source/dialogs/cuires.src
index 9c156696f1aa..ac1a0c39a00a 100644
--- a/cui/source/dialogs/cuires.src
+++ b/cui/source/dialogs/cuires.src
@@ -92,4 +92,19 @@ Image RID_CUIIMG_DOC
MASKCOLOR
};
+String RID_SVXSTR_LOADACCELCONFIG
+{
+ Text [ en-US ] = "Load Keyboard Configuration" ;
+};
+
+String RID_SVXSTR_SAVEACCELCONFIG
+{
+ Text [ en-US ] = "Save Keyboard Configuration" ;
+};
+
+String RID_SVXSTR_FILTERNAME_CFG
+{
+ Text [ en-US ] = "Configuration (*.cfg)" ;
+};
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/inc/acccfg.hxx b/cui/source/inc/acccfg.hxx
index 9e1413f3762b..79ed0db69dbb 100644
--- a/cui/source/inc/acccfg.hxx
+++ b/cui/source/inc/acccfg.hxx
@@ -62,15 +62,18 @@ protected:
const Image&, SvLBoxButtonKind eButtonKind);
public:
- SfxAccCfgTabListBox_Impl(
- SfxAcceleratorConfigPage* pAccelConfigPage,
- Window *pParent,
- const ResId &rResId ) :
- SvTabListBox( pParent, rResId ),
- m_pAccelConfigPage( pAccelConfigPage )
- {}
-
- void ReplaceEntry( sal_uInt16 nPos, const OUString &rStr );
+ SfxAccCfgTabListBox_Impl(Window *pParent, WinBits nStyle)
+ : SvTabListBox(pParent, nStyle)
+ , m_pAccelConfigPage(NULL)
+ {
+ }
+
+ void SetAccelConfigPage(SfxAcceleratorConfigPage* pAccelConfigPage)
+ {
+ m_pAccelConfigPage = pAccelConfigPage;
+ }
+
+ void ReplaceEntry( sal_uInt16 nPos, const OUString &rStr );
};
// class SfxAcceleratorConfigPage ----------------------------------------
@@ -115,22 +118,17 @@ private:
const SfxStringItem* m_pFontItem;
sfx2::FileDialogHelper* m_pFileDlg;
- SfxAccCfgTabListBox_Impl aEntriesBox;
- FixedLine aKeyboardGroup;
- RadioButton aOfficeButton;
- RadioButton aModuleButton;
- PushButton aChangeButton;
- PushButton aRemoveButton;
- FixedText aGroupText;
- SfxConfigGroupListBox* pGroupLBox;
- FixedText aFunctionText;
- SfxConfigFunctionListBox* pFunctionBox;
- FixedText aKeyText;
- SvTreeListBox aKeyBox;
- FixedLine aFunctionsGroup;
- PushButton aLoadButton;
- PushButton aSaveButton;
- PushButton aResetButton;
+ SfxAccCfgTabListBox_Impl* m_pEntriesBox;
+ RadioButton* m_pOfficeButton;
+ RadioButton* m_pModuleButton;
+ PushButton* m_pChangeButton;
+ PushButton* m_pRemoveButton;
+ SfxConfigGroupListBox* m_pGroupLBox;
+ SfxConfigFunctionListBox* m_pFunctionBox;
+ SvTreeListBox* m_pKeyBox;
+ PushButton* m_pLoadButton;
+ PushButton* m_pSaveButton;
+ PushButton* m_pResetButton;
OUString aLoadAccelConfigStr;
OUString aSaveAccelConfigStr;
OUString aFilterAllStr;
diff --git a/cui/source/inc/cuires.hrc b/cui/source/inc/cuires.hrc
index 5397c4fda069..2440828f13fb 100644
--- a/cui/source/inc/cuires.hrc
+++ b/cui/source/inc/cuires.hrc
@@ -262,7 +262,6 @@
// customize
#define RID_SVXDLG_CUSTOMIZE (RID_SVX_START + 291)
#define RID_SVXPAGE_MENUS (RID_SVX_START + 292)
-#define RID_SVXPAGE_KEYBOARD (RID_SVX_START + 293)
#define RID_SVXPAGE_TOOLBARS (RID_SVX_START + 294)
#define RID_SVXPAGE_EVENTS (RID_SVX_START + 295)
#define RID_SVXPAGE_CONFIGGROUPBOX (RID_SVX_START + 304)
@@ -444,6 +443,10 @@
#define RID_SVXSTR_INVALID_STATE_FOR_OK_BUTTON (RID_SVX_START + 1260)
#define RID_SVXSTR_INVALID_STATE_FOR_OK_BUTTON_V2 (RID_SVX_START + 1261)
+#define RID_SVXSTR_LOADACCELCONFIG (RID_SVX_START + 1262)
+#define RID_SVXSTR_SAVEACCELCONFIG (RID_SVX_START + 1263)
+#define RID_SVXSTR_FILTERNAME_CFG (RID_SVX_START + 1264)
+
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/inc/helpid.hrc b/cui/source/inc/helpid.hrc
index ac0ff862adab..702b9c1ec0b0 100644
--- a/cui/source/inc/helpid.hrc
+++ b/cui/source/inc/helpid.hrc
@@ -182,10 +182,6 @@
#define HID_SEARCH_BTN_CLOSE "CUI_HID_SEARCH_BTN_CLOSE"
#define HID_GALLERY_BROWSER "CUI_HID_GALLERY_BROWSER"
#define HID_GALLERY_APPLY "CUI_HID_GALLERY_APPLY"
-#define HID_CONFIG_ACCEL "CUI_HID_CONFIG_ACCEL"
-#define HID_ACCELCONFIG_LISTBOX "CUI_HID_ACCELCONFIG_LISTBOX"
-#define HID_CONFIGGROUP_ACC_LISTBOX "CUI_HID_CONFIGGROUP_ACC_LISTBOX"
-#define HID_CONFIGFUNCTION_ACC_LISTBOX "CUI_HID_CONFIGFUNCTION_ACC_LISTBOX"
#define HID_DIALOG_HANGULHANJA "CUI_HID_DIALOG_HANGULHANJA"
#define HID_HANGULHANJA_EDIT_DLG "CUI_HID_HANGULHANJA_EDIT_DLG"
#define HID_MULTIPATH "CUI_HID_MULTIPATH"
diff --git a/cui/uiconfig/ui/accelconfigpage.ui b/cui/uiconfig/ui/accelconfigpage.ui
new file mode 100644
index 000000000000..57cd3bc4fd2b
--- /dev/null
+++ b/cui/uiconfig/ui/accelconfigpage.ui
@@ -0,0 +1,372 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.16.1 -->
+<interface>
+ <requires lib="gtk+" version="3.10"/>
+ <!-- interface-requires LibreOffice 1.0 -->
+ <object class="GtkGrid" id="AccelConfigPage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="border_width">6</property>
+ <property name="row_spacing">12</property>
+ <child>
+ <object class="GtkGrid" id="grid3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="column_spacing">12</property>
+ <child>
+ <object class="GtkFrame" id="frame4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="cuilo-SfxAccCfgTabListBox" id="shortcuts:border">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="AccCfgTabListBox-selection"/>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label21">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Shortcut keys</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="box17">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="vexpand">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkBox" id="box18">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkRadioButton" id="office">
+ <property name="label" translatable="yes">%PRODUCTNAME</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">module</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="module">
+ <property name="label" translatable="yes">$(MODULE)</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">office</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButtonBox" id="buttonbox1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="vexpand">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <property name="layout_style">start</property>
+ <child>
+ <object class="GtkButton" id="change">
+ <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>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="delete">
+ <property name="label">gtk-delete</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="load">
+ <property name="label">_Load...</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">2</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="save">
+ <property name="label">_Save...</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">3</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="reset">
+ <property name="label">gtk-revert-to-saved</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="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ <property name="secondary">True</property>
+ </packing>
+ </child>
+ </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>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="frame5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</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="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="label23">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Category</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">category:border</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label24">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Function</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">function:border</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label25">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Keys</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">keys:border</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="cuilo-SfxConfigGroupListBox" id="category:border">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="ConfigGroup ListBox-selection"/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="cuilo-SfxConfigFunctionListBox" id="function:border">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="ConfigGroupFunction ListBox-selection"/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="svtlo-SvTreeListBox" id="keys:border">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="Tree List-selection"/>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="label22">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Functions</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+</interface>