diff --git a/Libraries/LibGUI/TableView.cpp b/Libraries/LibGUI/TableView.cpp index 501da53af1..2535109aee 100644 --- a/Libraries/LibGUI/TableView.cpp +++ b/Libraries/LibGUI/TableView.cpp @@ -99,7 +99,9 @@ void TableView::paint_event(PaintEvent& event) key_column_background_color = widget_background_color.darkened(0.9f); } } - painter.fill_rect(row_rect(painted_item_index), background_color); + + auto row_rect = this->row_rect(painted_item_index); + painter.fill_rect(row_rect, background_color); int x = x_offset; for (int column_index = 0; column_index < model()->column_count(); ++column_index) { @@ -152,6 +154,12 @@ void TableView::paint_event(PaintEvent& event) x += column_width + horizontal_padding() * 2; } + + + if (is_focused() && cursor_style() == CursorStyle::Row && row_index == cursor_index().row()) { + painter.draw_rect(row_rect, widget_background_color); + painter.draw_focus_rect(row_rect, palette().focus_outline()); + } ++painted_item_index; }; diff --git a/Libraries/LibGUI/TableView.h b/Libraries/LibGUI/TableView.h index 7159a9fa19..b834d3762f 100644 --- a/Libraries/LibGUI/TableView.h +++ b/Libraries/LibGUI/TableView.h @@ -45,6 +45,7 @@ public: enum class CursorStyle { None, Item, + Row, }; GridStyle grid_style() const { return m_grid_style; } @@ -63,7 +64,7 @@ protected: private: GridStyle m_grid_style { GridStyle::None }; - CursorStyle m_cursor_style { CursorStyle::None }; + CursorStyle m_cursor_style { CursorStyle::Row }; }; }