summaryrefslogtreecommitdiff
path: root/Libraries/LibGUI/TreeView.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Libraries/LibGUI/TreeView.cpp')
-rw-r--r--Libraries/LibGUI/TreeView.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/Libraries/LibGUI/TreeView.cpp b/Libraries/LibGUI/TreeView.cpp
index 407560a112..9740ea6534 100644
--- a/Libraries/LibGUI/TreeView.cpp
+++ b/Libraries/LibGUI/TreeView.cpp
@@ -386,6 +386,7 @@ void TreeView::keydown_event(KeyEvent& event)
});
if (found_index.is_valid()) {
selection().set(found_index);
+ scroll_into_view(selection().first(), Orientation::Vertical);
update();
}
return;
@@ -401,8 +402,11 @@ void TreeView::keydown_event(KeyEvent& event)
previous_index = index;
return IterationDecision::Continue;
});
- if (found_index.is_valid())
+ if (found_index.is_valid()) {
selection().set(found_index);
+ scroll_into_view(selection().first(), Orientation::Vertical);
+ update();
+ }
return;
}
@@ -423,6 +427,7 @@ void TreeView::keydown_event(KeyEvent& event)
}
if (cursor_index.is_valid() && cursor_index.parent().is_valid()) {
selection().set(cursor_index.parent());
+ scroll_into_view(selection().first(), Orientation::Vertical);
return;
}
}
@@ -436,6 +441,7 @@ void TreeView::keydown_event(KeyEvent& event)
}
selection().set(model()->index(0, model()->tree_column(), cursor_index));
+ scroll_into_view(selection().first(), Orientation::Vertical);
return;
}
}