diff options
author | Palenik Mihály <palenik.mihaly@gmail.com> | 2015-01-25 01:03:57 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2015-01-25 16:11:05 +0000 |
commit | 148e489e33a34c6345326c9beaf248ac91f8cd01 (patch) | |
tree | 3677b1849ab70dfb59b7439ab46bc5c5a1fd1c82 /svtools | |
parent | 164903c0441a2cd79bc06708fe7e69780bb85a09 (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.cxx | 23 | ||||
-rw-r--r-- | svtools/source/contnr/treelistentry.cxx | 2 |
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) |