Skip to content

Commit

Permalink
Fixed focus issue in icy_term.
Browse files Browse the repository at this point in the history
  • Loading branch information
mkrueger committed Jan 18, 2025
1 parent a3209ec commit 79837b8
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 22 deletions.
5 changes: 0 additions & 5 deletions crates/icy_engine_gui/src/ui/smooth_scroll.rs
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@ impl SmoothScroll {
} else {
ui.available_size()
};
//ui.memory_mut(|mem| mem.interested_in_focus(self.id, ui.layer_id()));
let (id, rect) = ui.allocate_space(desired_size);
self.load_data(ui, id);

Expand Down Expand Up @@ -196,10 +195,6 @@ impl SmoothScroll {
if response.has_focus() {
calc.has_focus = true;
}

if response.clicked() || options.request_focus {
response.request_focus();
}
self.persist_data(ui, id);
calc.set_scroll_position_set_by_user = self.set_scroll_position;

Expand Down
51 changes: 34 additions & 17 deletions crates/icy_term/src/ui/terminal_window.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use eframe::{
egui::{self, CursorIcon, PointerButton},
epaint::Vec2,
};
use egui::{ImageButton, Margin, Modifiers, RichText};
use egui::{ImageButton, Margin, Modifiers, RichText, Sense};
use i18n_embed_fl::fl;
use icy_engine::{Position, Selection, TextPane};
use web_time::Duration;
Expand Down Expand Up @@ -35,27 +35,38 @@ impl MainWindow {
ui.disable();
}
ui.horizontal(|ui| {
let r = ui.add(ImageButton::new(UPLOAD.clone().tint(crate::ui::button_tint(ui)))).on_hover_ui(|ui| {
ui.label(RichText::new(fl!(crate::LANGUAGE_LOADER, "terminal-upload")).small());
});
let sense = Sense {
click: true,
drag: false,
focusable: false,
};
let r = ui
.add(ImageButton::new(UPLOAD.clone().tint(crate::ui::button_tint(ui))).sense(sense))
.on_hover_ui(|ui| {
ui.label(RichText::new(fl!(crate::LANGUAGE_LOADER, "terminal-upload")).small());
});

if r.clicked() {
self.set_mode(ctx, MainWindowMode::SelectProtocol(false));
}

let r = ui.add(ImageButton::new(DOWNLOAD.clone().tint(crate::ui::button_tint(ui)))).on_hover_ui(|ui| {
ui.label(RichText::new(fl!(crate::LANGUAGE_LOADER, "terminal-download")).small());
});
let r = ui
.add(ImageButton::new(DOWNLOAD.clone().tint(crate::ui::button_tint(ui))).sense(sense))
.on_hover_ui(|ui| {
ui.label(RichText::new(fl!(crate::LANGUAGE_LOADER, "terminal-download")).small());
});

if r.clicked() {
self.set_mode(ctx, MainWindowMode::SelectProtocol(true));
}
let mut send_login = false;
if let Some(auto_login) = &mut self.terminal_thread.lock().auto_login {
if !auto_login.logged_in {
let r = ui.add(ImageButton::new(KEY.clone().tint(crate::ui::button_tint(ui)))).on_hover_ui(|ui| {
ui.label(RichText::new(fl!(crate::LANGUAGE_LOADER, "terminal-autologin")).small());
});
let r = ui
.add(ImageButton::new(KEY.clone().tint(crate::ui::button_tint(ui)).sense(sense)))
.on_hover_ui(|ui| {
ui.label(RichText::new(fl!(crate::LANGUAGE_LOADER, "terminal-autologin")).small());
});

if r.clicked() {
send_login = true;
Expand All @@ -67,9 +78,11 @@ impl MainWindow {
self.send_login();
}

let r: egui::Response = ui.add(ImageButton::new(CALL.clone().tint(crate::ui::button_tint(ui)))).on_hover_ui(|ui| {
ui.label(RichText::new(fl!(crate::LANGUAGE_LOADER, "terminal-dialing_directory")).small());
});
let r: egui::Response = ui
.add(ImageButton::new(CALL.clone().tint(crate::ui::button_tint(ui))).sense(sense))
.on_hover_ui(|ui| {
ui.label(RichText::new(fl!(crate::LANGUAGE_LOADER, "terminal-dialing_directory")).small());
});

if r.clicked() {
self.set_mode(ctx, MainWindowMode::ShowDialingDirectory);
Expand Down Expand Up @@ -131,9 +144,11 @@ impl MainWindow {
let size = ui.available_size_before_wrap();
ui.add_space(size.x - 70.0);

let r = ui.add(ImageButton::new(LOGOUT.clone().tint(crate::ui::button_tint(ui)))).on_hover_ui(|ui| {
ui.label(RichText::new(fl!(crate::LANGUAGE_LOADER, "terminal-hangup")).small());
});
let r = ui
.add(ImageButton::new(LOGOUT.clone().tint(crate::ui::button_tint(ui))).sense(sense))
.on_hover_ui(|ui| {
ui.label(RichText::new(fl!(crate::LANGUAGE_LOADER, "terminal-hangup")).small());
});
if r.clicked() {
self.hangup(ctx);
}
Expand Down Expand Up @@ -589,7 +604,9 @@ impl MainWindow {
self.print_char(*c);
}
}
response.request_focus();
if !response.has_focus() {
response.request_focus();
}
ui.input_mut(|i| {
i.consume_key(modifiers, key);
});
Expand Down

0 comments on commit 79837b8

Please sign in to comment.