diff --git a/LibGUI/GSortingProxyTableModel.cpp b/LibGUI/GSortingProxyTableModel.cpp index 8eb9846b3f..9e73615e6d 100644 --- a/LibGUI/GSortingProxyTableModel.cpp +++ b/LibGUI/GSortingProxyTableModel.cpp @@ -86,10 +86,8 @@ void GSortingProxyTableModel::resort() m_row_mappings.resize(row_count); for (int i = 0; i < row_count; ++i) m_row_mappings[i] = i; - if (m_key_column == -1) return; - struct Context { GTableModel* target; int key_column; @@ -97,11 +95,9 @@ void GSortingProxyTableModel::resort() }; Context context { m_target.ptr(), m_key_column, m_sort_order }; qsort_r(m_row_mappings.data(), m_row_mappings.size(), sizeof(int), [] (const void* a, const void* b, void* ctx) -> int { - int row1 = *(const int*)(a); - int row2 = *(const int*)(b); auto& context = *(Context*)(ctx); - GModelIndex index1 { row1, context.key_column }; - GModelIndex index2 { row2, context.key_column }; + GModelIndex index1 { *(const int*)(a), context.key_column }; + GModelIndex index2 { *(const int*)(b), context.key_column }; auto data1 = context.target->data(index1, GTableModel::Role::Sort); auto data2 = context.target->data(index2, GTableModel::Role::Sort); if (data1 == data2) diff --git a/LibGUI/GTableView.cpp b/LibGUI/GTableView.cpp index 7d37718327..f36d998d1c 100644 --- a/LibGUI/GTableView.cpp +++ b/LibGUI/GTableView.cpp @@ -103,14 +103,15 @@ Rect GTableView::header_rect(int column_index) const void GTableView::mousedown_event(GMouseEvent& event) { if (event.y() < header_height()) { - // FIXME: Do something when clicking on a header. auto adjusted_position = event.position().translated(m_horizontal_scrollbar->value(), 0); for (int i = 0; i < m_model->column_count(); ++i) { auto header_rect = this->header_rect(i); if (header_rect.contains(adjusted_position)) { auto new_sort_order = GSortOrder::Ascending; if (m_model->key_column() == i) - new_sort_order = m_model->sort_order() == GSortOrder::Ascending ? GSortOrder::Descending : GSortOrder::Ascending; + new_sort_order = m_model->sort_order() == GSortOrder::Ascending + ? GSortOrder::Descending + : GSortOrder::Ascending; m_model->set_key_column_and_sort_order(i, new_sort_order); return; }