mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 08:08:12 +00:00
LibGUI: Make model sorting imperative and move order to AbstractView
Instead of SortingProxyModel having a column+order, we move that state to AbstractView. When you click on a column header, the view tells the model to resort the relevant column with the new order. This is implemented in SortingProxyModel by simply walking all the reified source/proxy mappings and resorting their row indexes.
This commit is contained in:
parent
370624bc37
commit
e1ed71ef9e
15 changed files with 85 additions and 55 deletions
|
@ -76,6 +76,8 @@ public:
|
|||
|
||||
void set_last_valid_hovered_index(const ModelIndex&);
|
||||
|
||||
void set_key_column_and_sort_order(int column, SortOrder);
|
||||
|
||||
protected:
|
||||
AbstractView();
|
||||
virtual ~AbstractView() override;
|
||||
|
@ -111,6 +113,9 @@ protected:
|
|||
ModelIndex m_hovered_index;
|
||||
ModelIndex m_last_valid_hovered_index;
|
||||
|
||||
int m_key_column { 0 };
|
||||
SortOrder m_sort_order;
|
||||
|
||||
private:
|
||||
RefPtr<Model> m_model;
|
||||
OwnPtr<ModelEditingDelegate> m_editing_delegate;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue