summaryrefslogtreecommitdiff
path: root/svtools/source/contnr/treelistbox.cxx
diff options
context:
space:
mode:
authorPalenik Mihály <palenik.mihaly@gmail.com>2015-01-25 01:03:57 +0100
committerAndras Timar <andras.timar@collabora.com>2015-01-25 16:11:05 +0000
commit148e489e33a34c6345326c9beaf248ac91f8cd01 (patch)
tree3677b1849ab70dfb59b7439ab46bc5c5a1fd1c82 /svtools/source/contnr/treelistbox.cxx
parent164903c0441a2cd79bc06708fe7e69780bb85a09 (diff)
fdo#84592 Improve SvTreeListBox class with alternating rows.
It is possible to set alternating rows. Expert Configuration dialog use it. This bug was fixed earlier, but after this feature didn't work. Change-Id: I3602a6b03db32d6f43ec163de2427f4a018c7779 Reviewed-on: https://gerrit.libreoffice.org/14164 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'svtools/source/contnr/treelistbox.cxx')
-rw-r--r--svtools/source/contnr/treelistbox.cxx23
1 files changed, 14 insertions, 9 deletions
diff --git a/svtools/source/contnr/treelistbox.cxx b/svtools/source/contnr/treelistbox.cxx
index 707b7bbd74ff..aadadd673070 100644
--- a/svtools/source/contnr/treelistbox.cxx
+++ b/svtools/source/contnr/treelistbox.cxx
@@ -470,12 +470,14 @@ IMPL_LINK_INLINE_END( SvTreeListBox, CloneHdl_Impl, SvTreeListEntry*, pEntry )
sal_uLong SvTreeListBox::Insert( SvTreeListEntry* pEntry, SvTreeListEntry* pParent, sal_uLong nPos )
{
sal_uLong nInsPos = pModel->Insert( pEntry, pParent, nPos );
+ pEntry->SetBackColor( GetBackground().GetColor() );
if(mbAlternatingRowColors)
{
if(nPos == TREELIST_APPEND)
- pEntry->SetBackColor( Prev(pEntry) && Prev(pEntry)->GetBackColor() == GetSettings().GetStyleSettings().GetRowColor() ?
- GetSettings().GetStyleSettings().GetAlternatingRowColor() :
- GetSettings().GetStyleSettings().GetRowColor() );
+ {
+ if(Prev(pEntry) && Prev(pEntry)->GetBackColor() == GetBackground().GetColor())
+ pEntry->SetBackColor( GetSettings().GetStyleSettings().GetAlternatingRowColor() );
+ }
else
SetAlternatingRowColors( true );
}
@@ -485,12 +487,14 @@ sal_uLong SvTreeListBox::Insert( SvTreeListEntry* pEntry, SvTreeListEntry* pPare
sal_uLong SvTreeListBox::Insert( SvTreeListEntry* pEntry,sal_uLong nRootPos )
{
sal_uLong nInsPos = pModel->Insert( pEntry, nRootPos );
+ pEntry->SetBackColor( GetBackground().GetColor() );
if(mbAlternatingRowColors)
{
if(nRootPos == TREELIST_APPEND)
- pEntry->SetBackColor( Prev(pEntry) && Prev(pEntry)->GetBackColor() == GetSettings().GetStyleSettings().GetRowColor() ?
- GetSettings().GetStyleSettings().GetAlternatingRowColor() :
- GetSettings().GetStyleSettings().GetRowColor() );
+ {
+ if(Prev(pEntry) && Prev(pEntry)->GetBackColor() == GetBackground().GetColor())
+ pEntry->SetBackColor( GetSettings().GetStyleSettings().GetAlternatingRowColor() );
+ }
else
SetAlternatingRowColors( true );
}
@@ -3020,6 +3024,8 @@ long SvTreeListBox::PaintEntry1(SvTreeListEntry* pEntry,long nLine,sal_uInt16 nT
SetTextColor( aBackupTextColor );
Control::SetFont( aBackupFont );
}
+ else
+ aWallpaper.SetColor( pEntry->GetBackColor() );
}
// draw background
@@ -3414,14 +3420,13 @@ void SvTreeListBox::SetAlternatingRowColors( bool bEnable )
SvTreeListEntry* pEntry = pModel->First();
for(size_t i = 0; pEntry; ++i)
{
- pEntry->SetBackColor( i % 2 == 0 ? GetSettings().GetStyleSettings().GetRowColor() :
- GetSettings().GetStyleSettings().GetAlternatingRowColor());
+ pEntry->SetBackColor( i % 2 == 0 ? GetBackground().GetColor() : GetSettings().GetStyleSettings().GetAlternatingRowColor());
pEntry = pModel->Next(pEntry);
}
}
else
for(SvTreeListEntry* pEntry = pModel->First(); pEntry; pEntry = pModel->Next(pEntry))
- pEntry->SetBackColor( GetSettings().GetStyleSettings().GetRowColor() );
+ pEntry->SetBackColor( GetBackground().GetColor() );
pImp->UpdateAll();
}