diff options
Diffstat (limited to 'detailView.cpp')
-rw-r--r-- | detailView.cpp | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/detailView.cpp b/detailView.cpp index 2fd207f..832956e 100644 --- a/detailView.cpp +++ b/detailView.cpp @@ -135,23 +135,26 @@ void cDetailView::DrawInfo() void cDetailView::DrawScrollbar() { - if (m_vElements.size() == 0) - return; - - int currentRow = SelectedObject()->AbsolutePosition / m_columns; - int totalRows = ceil((double) m_vElements.size() / m_columns); - - int scrollBarHeight = 100.0 / totalRows * m_rows; - - int offset = 100.0 / totalRows * currentRow; - if(offset >= 100 - scrollBarHeight) { - offset = 100.0 - scrollBarHeight; - } m_pScrollbar->Clear(); m_pScrollbar->ClearTokens(); - m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::height, scrollBarHeight); - m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::offset, offset); + if (m_vElements.size() > 0) { + int currentRow = SelectedObject()->AbsolutePosition / m_columns; + int totalRows = ceil((double) m_vElements.size() / m_columns); + + int scrollBarHeight = 100.0 / totalRows * m_rows; + + int offset = 100.0 / totalRows * currentRow; + if(offset >= 100 - scrollBarHeight) { + offset = 100.0 - scrollBarHeight; + } + m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::height, scrollBarHeight); + m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::offset, offset); + m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::hasscrollbar, true); + } else { + m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::hasscrollbar, false); + } + m_pScrollbar->Display(); } |