From 59855e49df5fae6717bcb7b104063a40634c8fad Mon Sep 17 00:00:00 2001 From: Tim Ledbetter Date: Thu, 9 Feb 2023 19:21:57 +0000 Subject: [PATCH] LibGUI: Add a DontResizeColumns option to Model::UpdateFlag This allows an application to signal that column sizes do not need to be recalculated for a given model update. --- Userland/Libraries/LibGUI/AbstractTableView.cpp | 4 +++- Userland/Libraries/LibGUI/Model.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibGUI/AbstractTableView.cpp b/Userland/Libraries/LibGUI/AbstractTableView.cpp index edc54fe20d..2c73e23492 100644 --- a/Userland/Libraries/LibGUI/AbstractTableView.cpp +++ b/Userland/Libraries/LibGUI/AbstractTableView.cpp @@ -352,7 +352,9 @@ void AbstractTableView::model_did_update(unsigned flags) { AbstractView::model_did_update(flags); update_row_sizes(); - update_column_sizes(); + if (!(flags & Model::UpdateFlag::DontResizeColumns)) + update_column_sizes(); + update_content_size(); update(); } diff --git a/Userland/Libraries/LibGUI/Model.h b/Userland/Libraries/LibGUI/Model.h index 6cb4f4ed54..a767f584bf 100644 --- a/Userland/Libraries/LibGUI/Model.h +++ b/Userland/Libraries/LibGUI/Model.h @@ -51,6 +51,7 @@ public: enum UpdateFlag { DontInvalidateIndices = 0, InvalidateAllIndices = 1 << 0, + DontResizeColumns = 1 << 1, }; enum MatchesFlag {