aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ports/servoshell/desktop/dialog.rs40
1 files changed, 21 insertions, 19 deletions
diff --git a/ports/servoshell/desktop/dialog.rs b/ports/servoshell/desktop/dialog.rs
index 2bfccb523de..c113682de56 100644
--- a/ports/servoshell/desktop/dialog.rs
+++ b/ports/servoshell/desktop/dialog.rs
@@ -449,32 +449,34 @@ impl Dialog {
let modal = Modal::new("select_element_picker".into()).area(area);
modal.show(ctx, |ui| {
- for option_or_optgroup in prompt.options() {
- match &option_or_optgroup {
- SelectElementOptionOrOptgroup::Option(option) => {
- display_option(
- ui,
- option,
- &mut selected_option,
- &mut is_open,
- false,
- );
- },
- SelectElementOptionOrOptgroup::Optgroup { label, options } => {
- ui.label(egui::RichText::new(label).strong());
-
- for option in options {
+ egui::ScrollArea::vertical().show(ui, |ui| {
+ for option_or_optgroup in prompt.options() {
+ match &option_or_optgroup {
+ SelectElementOptionOrOptgroup::Option(option) => {
display_option(
ui,
option,
&mut selected_option,
&mut is_open,
- true,
+ false,
);
- }
- },
+ },
+ SelectElementOptionOrOptgroup::Optgroup { label, options } => {
+ ui.label(egui::RichText::new(label).strong());
+
+ for option in options {
+ display_option(
+ ui,
+ option,
+ &mut selected_option,
+ &mut is_open,
+ true,
+ );
+ }
+ },
+ }
}
- }
+ });
});
prompt.select(selected_option);