GTableView and friends: API improvements for 'Sortable' flag.

This commit is contained in:
Ignas S 2019-08-12 11:46:01 +03:00 committed by Andreas Kling
parent 405d7ddec8
commit 6228e18a09
3 changed files with 4 additions and 3 deletions

View file

@ -119,7 +119,7 @@ GModel::ColumnMetadata GDirectoryModel::column_metadata(int column) const
{
switch (column) {
case Column::Icon:
return { 16, TextAlignment::Center, false };
return { 16, TextAlignment::Center, nullptr, GModel::ColumnMetadata::Sortable::False };
case Column::Name:
return { 120, TextAlignment::CenterLeft };
case Column::Size:

View file

@ -44,8 +44,9 @@ public:
struct ColumnMetadata {
int preferred_width { 0 };
TextAlignment text_alignment { TextAlignment::CenterLeft };
bool sortable { true };
const Font* font { nullptr };
enum class Sortable { False, True };
Sortable sortable { Sortable::True };
};
enum class Role {

View file

@ -159,7 +159,7 @@ void GTableView::mousedown_event(GMouseEvent& event)
}
auto header_rect = this->header_rect(i);
auto column_metadata = model()->column_metadata(i);
if (header_rect.contains(event.position()) && column_metadata.sortable) {
if (header_rect.contains(event.position()) && column_metadata.sortable == GModel::ColumnMetadata::Sortable::True) {
auto new_sort_order = GSortOrder::Ascending;
if (model()->key_column() == i)
new_sort_order = model()->sort_order() == GSortOrder::Ascending