diff --git a/Libraries/LibGUI/ColumnsView.cpp b/Libraries/LibGUI/ColumnsView.cpp index 4ec32ceccc..06c4104141 100644 --- a/Libraries/LibGUI/ColumnsView.cpp +++ b/Libraries/LibGUI/ColumnsView.cpp @@ -305,8 +305,8 @@ void ColumnsView::move_cursor(CursorMovement movement, SelectionUpdate selection if (model.is_valid(cursor_index())) push_column(cursor_index()); update(); - break; - } + break; + } default: break; } @@ -328,4 +328,19 @@ void ColumnsView::keydown_event(KeyEvent& event) AbstractView::keydown_event(event); } +Gfx::IntRect ColumnsView::content_rect(const ModelIndex& index) const +{ + if (!index.is_valid()) + return {}; + + int column_x = 0; + for (auto& column : m_columns) { + if (column.parent_index == index.parent()) + return { column_x, index.row() * item_height(), column.width, item_height() }; + column_x += column.width; + } + + return {}; +} + } diff --git a/Libraries/LibGUI/ColumnsView.h b/Libraries/LibGUI/ColumnsView.h index e8f48d8675..fc3ba1d350 100644 --- a/Libraries/LibGUI/ColumnsView.h +++ b/Libraries/LibGUI/ColumnsView.h @@ -38,6 +38,7 @@ public: void set_model_column(int column) { m_model_column = column; } virtual ModelIndex index_at_event_position(const Gfx::IntPoint&) const override; + virtual Gfx::IntRect content_rect(const ModelIndex&) const override; private: ColumnsView();