summaryrefslogtreecommitdiff
path: root/svtools
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
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')
-rw-r--r--svtools/source/contnr/treelistbox.cxx23
-rw-r--r--svtools/source/contnr/treelistentry.cxx2
2 files changed, 14 insertions, 11 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();
}
diff --git a/svtools/source/contnr/treelistentry.cxx b/svtools/source/contnr/treelistentry.cxx
index e8bf2de05e5f..aa0ce3c2f434 100644
--- a/svtools/source/contnr/treelistentry.cxx
+++ b/svtools/source/contnr/treelistentry.cxx
@@ -57,7 +57,6 @@ SvTreeListEntry::SvTreeListEntry()
, bIsMarked(false)
, pUserData(NULL)
, nEntryFlags(0)
- , maBackColor(Application::GetSettings().GetStyleSettings().GetRowColor())
{
}
@@ -68,7 +67,6 @@ SvTreeListEntry::SvTreeListEntry(const SvTreeListEntry& r)
, bIsMarked(r.bIsMarked)
, pUserData(r.pUserData)
, nEntryFlags(r.nEntryFlags)
- , maBackColor(Application::GetSettings().GetStyleSettings().GetRowColor())
{
SvTreeListEntries::const_iterator it = r.maChildren.begin(), itEnd = r.maChildren.end();
for (; it != itEnd; ++it)