Use expanding handler in Expert Configuration dialog
Expert Configuration dialog use expanding handler instead of double click handler when expanding tree node. Change-Id: Ia35c289db46796ca61ef8898e669af6c5a0bd24d Reviewed-on: https://gerrit.libreoffice.org/16674 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
This commit is contained in:
committed by
Caolán McNamara
parent
0c8dd8f503
commit
ac34ba0727
@@ -153,6 +153,7 @@ CuiAboutConfigTabPage::CuiAboutConfigTabPage( vcl::Window* pParent/*, const SfxI
|
||||
m_pEditBtn->SetClickHdl( LINK( this, CuiAboutConfigTabPage, StandardHdl_Impl ) );
|
||||
m_pResetBtn->SetClickHdl( LINK( this, CuiAboutConfigTabPage, ResetBtnHdl_Impl ) );
|
||||
m_pPrefBox->SetDoubleClickHdl( LINK(this, CuiAboutConfigTabPage, StandardHdl_Impl) );
|
||||
m_pPrefBox->SetExpandingHdl( LINK(this, CuiAboutConfigTabPage, ExpandingHdl_Impl) );
|
||||
m_pSearchBtn->SetClickHdl( LINK(this, CuiAboutConfigTabPage, SearchHdl_Impl) );
|
||||
|
||||
m_pPrefBox->InsertHeaderEntry(get<FixedText>("preference")->GetText());
|
||||
@@ -279,6 +280,7 @@ void CuiAboutConfigTabPage::FillItems(const Reference< XNameAccess >& xNameAcces
|
||||
pEntry->AddItem( new SvLBoxString( pEntry, 0, ""));
|
||||
|
||||
pEntry->SetUserData( new UserData(xNextNameAccess) );
|
||||
pEntry->EnableChildrenOnDemand();
|
||||
m_pPrefBox->Insert( pEntry, pParentEntry );
|
||||
}
|
||||
else
|
||||
@@ -547,16 +549,12 @@ IMPL_LINK_NOARG( CuiAboutConfigTabPage, ResetBtnHdl_Impl )
|
||||
|
||||
IMPL_LINK_NOARG( CuiAboutConfigTabPage, StandardHdl_Impl )
|
||||
{
|
||||
SvTreeListEntry* pEntry = m_pPrefBox->FirstSelected();
|
||||
SvTreeListEntry* pEntry = m_pPrefBox->GetHdlEntry();
|
||||
if(pEntry == nullptr)
|
||||
return 0;
|
||||
|
||||
UserData *pUserData = static_cast<UserData*>(pEntry->GetUserData());
|
||||
if(!pUserData->bIsPropertyPath)
|
||||
{
|
||||
//if selection is not node
|
||||
if(!pEntry->HasChildren())
|
||||
FillItems( pUserData->aXNameAccess, pEntry );
|
||||
}
|
||||
else
|
||||
if(pUserData->bIsPropertyPath)
|
||||
{
|
||||
//if selection is a node
|
||||
OUString sPropertyName = SvTabListBox::GetEntryText( pEntry, 1 );
|
||||
@@ -814,4 +812,25 @@ IMPL_LINK_NOARG( CuiAboutConfigTabPage, SearchHdl_Impl)
|
||||
return 0;
|
||||
}
|
||||
|
||||
IMPL_LINK_NOARG( CuiAboutConfigTabPage, ExpandingHdl_Impl )
|
||||
{
|
||||
SvTreeListEntry* pEntry = m_pPrefBox->GetHdlEntry();
|
||||
|
||||
if(pEntry != nullptr && pEntry->HasChildrenOnDemand())
|
||||
{
|
||||
pEntry->EnableChildrenOnDemand(false);
|
||||
SvTreeListEntry *pFirstChild = m_pPrefBox->FirstChild(pEntry);
|
||||
if(pFirstChild)
|
||||
m_pPrefBox->RemoveEntry(pFirstChild);
|
||||
|
||||
if(pEntry->GetUserData() != nullptr)
|
||||
{
|
||||
UserData *pUserData = static_cast<UserData*>(pEntry->GetUserData());
|
||||
FillItems( pUserData->aXNameAccess, pEntry );
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
|
||||
@@ -62,6 +62,7 @@ private:
|
||||
DECL_LINK( StandardHdl_Impl, void * );
|
||||
DECL_LINK( ResetBtnHdl_Impl, void * );
|
||||
DECL_LINK( SearchHdl_Impl, void* );
|
||||
DECL_LINK( ExpandingHdl_Impl, void* );
|
||||
|
||||
public:
|
||||
explicit CuiAboutConfigTabPage(vcl::Window* pParent);
|
||||
|
||||
Reference in New Issue
Block a user