add port field to onboarding card

This commit is contained in:
loki5512344 2026-06-15 21:34:29 +02:00
parent 46514298cd
commit 53f8bde02a
2 changed files with 42 additions and 32 deletions

View file

@ -89,6 +89,7 @@ impl FileManagerApp {
self.state.onboarding_host.clear();
self.state.onboarding_user.clear();
self.state.onboarding_pass.clear();
self.state.onboarding_port.clear();
}
Err(e) => {
self.state.status_message = format!("Connection failed: {}", e);
@ -224,46 +225,53 @@ impl eframe::App for FileManagerApp {
ui.label("Connect to a server");
ui.add_space(12.0);
ui.horizontal(|ui| {
ui.label("Host:");
ui.add(
egui::TextEdit::singleline(&mut self.state.onboarding_host)
.id("onb_host".into())
.desired_width(200.0)
.hint_text("hostname"),
);
});
ui.horizontal(|ui| {
ui.label("Host:");
ui.add(
egui::TextEdit::singleline(&mut self.state.onboarding_host)
.id("onb_host".into())
.desired_width(150.0)
.hint_text("hostname"),
);
ui.label("Port:");
ui.add(
egui::TextEdit::singleline(&mut self.state.onboarding_port)
.id("onb_port".into())
.desired_width(60.0)
.hint_text("22"),
);
});
ui.horizontal(|ui| {
ui.label("User:");
ui.add(
egui::TextEdit::singleline(&mut self.state.onboarding_user)
.id("onb_user".into())
.desired_width(200.0)
.hint_text("username"),
);
});
ui.horizontal(|ui| {
ui.label("User:");
ui.add(
egui::TextEdit::singleline(&mut self.state.onboarding_user)
.id("onb_user".into())
.desired_width(200.0)
.hint_text("username"),
);
});
ui.horizontal(|ui| {
ui.label("Pass:");
ui.add(
egui::TextEdit::singleline(&mut self.state.onboarding_pass)
.password(true)
.id("onb_pass".into())
.desired_width(200.0)
.hint_text("password"),
);
});
ui.horizontal(|ui| {
ui.label("Pass:");
ui.add(
egui::TextEdit::singleline(&mut self.state.onboarding_pass)
.password(true)
.id("onb_pass".into())
.desired_width(200.0)
.hint_text("password"),
);
});
ui.add_space(12.0);
let conn_btn = egui::Button::new("Connect")
.fill(ACCENT)
ui.add_space(12.0);
let conn_btn = egui::Button::new("Connect")
.fill(ACCENT)
.min_size(egui::vec2(200.0, 32.0));
if ui.add(conn_btn).clicked() {
self.state.connect_host = self.state.onboarding_host.clone();
self.state.connect_user = self.state.onboarding_user.clone();
self.state.connect_pass = self.state.onboarding_pass.clone();
self.state.connect_port = "22".into();
self.state.connect_port = self.state.onboarding_port.clone();
self.state.connect_protocol = 0;
self.state.show_connect_dialog = true;
}

View file

@ -38,6 +38,7 @@ pub struct AppState {
pub onboarding_host: String,
pub onboarding_user: String,
pub onboarding_pass: String,
pub onboarding_port: String,
pub connect_label: String,
pub connect_host: String,
pub connect_port: String,
@ -72,6 +73,7 @@ impl Default for AppState {
onboarding_host: String::new(),
onboarding_user: String::new(),
onboarding_pass: String::new(),
onboarding_port: "22".into(),
connect_label: String::new(),
connect_host: String::new(),
connect_port: "22".into(),