فهرست منبع

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

Ignas S 5 سال پیش
والد
کامیت
6228e18a09
3فایلهای تغییر یافته به همراه4 افزوده شده و 3 حذف شده
  1. 1 1
      Libraries/LibGUI/GDirectoryModel.cpp
  2. 2 1
      Libraries/LibGUI/GModel.h
  3. 1 1
      Libraries/LibGUI/GTableView.cpp

+ 1 - 1
Libraries/LibGUI/GDirectoryModel.cpp

@@ -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:

+ 2 - 1
Libraries/LibGUI/GModel.h

@@ -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 {

+ 1 - 1
Libraries/LibGUI/GTableView.cpp

@@ -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