diff --git a/Libraries/LibGUI/GModel.h b/Libraries/LibGUI/GModel.h index fb634930e6..59f0028021 100644 --- a/Libraries/LibGUI/GModel.h +++ b/Libraries/LibGUI/GModel.h @@ -44,6 +44,7 @@ public: struct ColumnMetadata { int preferred_width { 0 }; TextAlignment text_alignment { TextAlignment::CenterLeft }; + bool sortable { true }; const Font* font { nullptr }; }; diff --git a/Libraries/LibGUI/GTableView.cpp b/Libraries/LibGUI/GTableView.cpp index 102b2fec01..1800733143 100644 --- a/Libraries/LibGUI/GTableView.cpp +++ b/Libraries/LibGUI/GTableView.cpp @@ -158,7 +158,8 @@ void GTableView::mousedown_event(GMouseEvent& event) return; } auto header_rect = this->header_rect(i); - if (header_rect.contains(event.position())) { + auto column_metadata = model()->column_metadata(i); + if (header_rect.contains(event.position()) && column_metadata.sortable) { auto new_sort_order = GSortOrder::Ascending; if (model()->key_column() == i) new_sort_order = model()->sort_order() == GSortOrder::Ascending