mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-27 14:58:46 +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
Notes:
sideshowbarker
2024-07-19 03:33:29 +09:00
Author: https://github.com/awesomekling
Commit: e1ed71ef9e
15 changed files with 85 additions and 55 deletions
|
@ -37,7 +37,8 @@
|
|||
namespace GUI {
|
||||
|
||||
AbstractView::AbstractView()
|
||||
: m_selection(*this)
|
||||
: m_sort_order(SortOrder::Ascending)
|
||||
, m_selection(*this)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -400,4 +401,13 @@ void AbstractView::set_multi_select(bool multi_select)
|
|||
}
|
||||
}
|
||||
|
||||
void AbstractView::set_key_column_and_sort_order(int column, SortOrder sort_order)
|
||||
{
|
||||
m_key_column = column;
|
||||
m_sort_order = sort_order;
|
||||
|
||||
if (model())
|
||||
model()->sort(column, sort_order);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue