mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 10:48:11 +00:00
LibGUI: Make AbstractView::set_cursor() scrolling into view optional
Sometimes you just want to set the cursor programmatically without scrolling the view to make the cursor visible.
This commit is contained in:
parent
734035857e
commit
fed53e19c7
2 changed files with 7 additions and 4 deletions
|
@ -423,7 +423,7 @@ void AbstractView::set_key_column_and_sort_order(int column, SortOrder sort_orde
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
void AbstractView::set_cursor(ModelIndex index, SelectionUpdate selection_update)
|
void AbstractView::set_cursor(ModelIndex index, SelectionUpdate selection_update, bool scroll_cursor_into_view)
|
||||||
{
|
{
|
||||||
if (m_cursor_index == index)
|
if (m_cursor_index == index)
|
||||||
return;
|
return;
|
||||||
|
@ -442,8 +442,11 @@ void AbstractView::set_cursor(ModelIndex index, SelectionUpdate selection_update
|
||||||
// FIXME: Support the other SelectionUpdate types
|
// FIXME: Support the other SelectionUpdate types
|
||||||
|
|
||||||
m_cursor_index = index;
|
m_cursor_index = index;
|
||||||
// FIXME: We should scroll into view both vertically *and* horizontally.
|
|
||||||
scroll_into_view(index, false, true);
|
if (scroll_cursor_into_view) {
|
||||||
|
// FIXME: We should scroll into view both vertically *and* horizontally.
|
||||||
|
scroll_into_view(index, false, true);
|
||||||
|
}
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,7 +114,7 @@ public:
|
||||||
virtual void scroll_into_view(const ModelIndex&, [[maybe_unused]] bool scroll_horizontally = true, [[maybe_unused]] bool scroll_vertically = true) { }
|
virtual void scroll_into_view(const ModelIndex&, [[maybe_unused]] bool scroll_horizontally = true, [[maybe_unused]] bool scroll_vertically = true) { }
|
||||||
|
|
||||||
const ModelIndex& cursor_index() const { return m_cursor_index; }
|
const ModelIndex& cursor_index() const { return m_cursor_index; }
|
||||||
void set_cursor(ModelIndex, SelectionUpdate);
|
void set_cursor(ModelIndex, SelectionUpdate, bool scroll_cursor_into_view = true);
|
||||||
|
|
||||||
bool is_tab_key_navigation_enabled() const { return m_tab_key_navigation_enabled; }
|
bool is_tab_key_navigation_enabled() const { return m_tab_key_navigation_enabled; }
|
||||||
void set_tab_key_navigation_enabled(bool enabled) { m_tab_key_navigation_enabled = enabled; }
|
void set_tab_key_navigation_enabled(bool enabled) { m_tab_key_navigation_enabled = enabled; }
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue