diff --git a/Libraries/LibGUI/GAbstractView.cpp b/Libraries/LibGUI/GAbstractView.cpp index 0c98a8ffa1..dc2b1edd27 100644 --- a/Libraries/LibGUI/GAbstractView.cpp +++ b/Libraries/LibGUI/GAbstractView.cpp @@ -95,6 +95,18 @@ void GAbstractView::stop_editing() } } +void GAbstractView::select_all() +{ + ASSERT(model()); + int rows = model()->row_count(); + int columns = model()->column_count(); + + for (int i = 0; i < rows; ++i) { + for (int j = 0; j < columns; ++j) + selection().add(model()->index(i, j)); + } +} + void GAbstractView::activate(const GModelIndex& index) { if (on_activation) diff --git a/Libraries/LibGUI/GAbstractView.h b/Libraries/LibGUI/GAbstractView.h index c4293642bd..2f8feb6ee0 100644 --- a/Libraries/LibGUI/GAbstractView.h +++ b/Libraries/LibGUI/GAbstractView.h @@ -18,6 +18,7 @@ public: GModelSelection& selection() { return m_selection; } const GModelSelection& selection() const { return m_selection; } + void select_all(); bool is_editable() const { return m_editable; } void set_editable(bool editable) { m_editable = editable; }