diff options
-rw-r--r-- | LibGUI/GTableView.cpp | 8 | ||||
-rw-r--r-- | LibGUI/GTableView.h | 1 |
2 files changed, 8 insertions, 1 deletions
diff --git a/LibGUI/GTableView.cpp b/LibGUI/GTableView.cpp index 66047c9801..97e1e8a30f 100644 --- a/LibGUI/GTableView.cpp +++ b/LibGUI/GTableView.cpp @@ -32,12 +32,18 @@ void GTableView::set_model(OwnPtr<GTableModel>&& model) void GTableView::resize_event(GResizeEvent& event) { m_scrollbar->set_relative_rect(event.size().width() - m_scrollbar->preferred_size().width(), 0, m_scrollbar->preferred_size().width(), event.size().height()); + update_scrollbar_range(); } -void GTableView::did_update_model() +void GTableView::update_scrollbar_range() { int excess_height = max(0, (item_count() * item_height()) - height()); m_scrollbar->set_range(0, excess_height); +} + +void GTableView::did_update_model() +{ + update_scrollbar_range(); update(); } diff --git a/LibGUI/GTableView.h b/LibGUI/GTableView.h index 674014ce97..a134d5541c 100644 --- a/LibGUI/GTableView.h +++ b/LibGUI/GTableView.h @@ -26,6 +26,7 @@ private: virtual void resize_event(GResizeEvent&) override; virtual void mousedown_event(GMouseEvent&) override; + void update_scrollbar_range(); int item_count() const; Rect row_rect(int item_index) const; |