summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--LibGUI/GTableView.cpp8
-rw-r--r--LibGUI/GTableView.h1
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;