summaryrefslogtreecommitdiff
path: root/detailView.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'detailView.cpp')
-rw-r--r--detailView.cpp31
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();
}