Skip to content

Commit

Permalink
Open "Target" dir for "Select obj"
Browse files Browse the repository at this point in the history
  • Loading branch information
encounter committed Dec 8, 2022
1 parent a0371dd commit bc7cce7
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 10 deletions.
3 changes: 1 addition & 2 deletions src/jobs/update.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
use std::{
env::{current_dir, current_exe},
fs,
fs::File,
path::PathBuf,
sync::mpsc::Receiver,
Expand Down Expand Up @@ -44,7 +43,7 @@ fn run_update(status: &Status, cancel: Receiver<()>) -> Result<Box<UpdateResult>
.to_dest(&target_file)?;
#[cfg(unix)]
{
use std::os::unix::fs::PermissionsExt;
use std::{fs, os::unix::fs::PermissionsExt};
let mut perms = fs::metadata(&target_file)?.permissions();
perms.set_mode(0o755);
fs::set_permissions(&target_file, perms)?;
Expand Down
16 changes: 8 additions & 8 deletions src/views/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,14 @@ pub fn config_ui(ui: &mut egui::Ui, config: &Arc<RwLock<AppConfig>>, view_state:
if state.update_available {
ui.colored_label(Color32::LIGHT_GREEN, "Update available");
ui.horizontal(|ui| {
if state.found_binary && ui
if state.found_binary
&& ui
.button("Automatic")
.on_hover_text_at_pointer(
"Automatically download and replace the current build",
)
.clicked() {
.clicked()
{
view_state.jobs.push(queue_update());
}
if ui
Expand Down Expand Up @@ -183,20 +185,18 @@ pub fn config_ui(ui: &mut egui::Ui, config: &Arc<RwLock<AppConfig>>, view_state:
ui.separator();
}

if let Some(base_dir) = base_obj_dir {
if let (Some(base_dir), Some(target_dir)) = (base_obj_dir, target_obj_dir) {
if ui.button("Select obj").clicked() {
if let Some(path) = rfd::FileDialog::new()
.set_directory(&base_dir)
.set_directory(&target_dir)
.add_filter("Object file", &["o", "elf"])
.pick_file()
{
let mut new_build_obj: Option<String> = None;
if let Ok(obj_path) = path.strip_prefix(&base_dir) {
new_build_obj = Some(obj_path.display().to_string());
} else if let Some(build_asm_dir) = target_obj_dir {
if let Ok(obj_path) = path.strip_prefix(&build_asm_dir) {
new_build_obj = Some(obj_path.display().to_string());
}
} else if let Ok(obj_path) = path.strip_prefix(&target_dir) {
new_build_obj = Some(obj_path.display().to_string());
}
if let Some(new_build_obj) = new_build_obj {
*obj_path = Some(new_build_obj);
Expand Down

0 comments on commit bc7cce7

Please sign in to comment.