Compare commits

..

No commits in common. "d1d6f1101bc65d2e45381dd0ab5bd19cfaa2a6b9" and "a0371dd110fa316f04aba18bf2ae4d63ef07872d" have entirely different histories.

3 changed files with 11 additions and 10 deletions

View File

@ -1,6 +1,6 @@
[package] [package]
name = "objdiff" name = "objdiff"
version = "0.2.1" version = "0.2.0"
edition = "2021" edition = "2021"
rust-version = "1.62" rust-version = "1.62"
authors = ["Luke Street <luke@street.dev>"] authors = ["Luke Street <luke@street.dev>"]

View File

@ -1,5 +1,6 @@
use std::{ use std::{
env::{current_dir, current_exe}, env::{current_dir, current_exe},
fs,
fs::File, fs::File,
path::PathBuf, path::PathBuf,
sync::mpsc::Receiver, sync::mpsc::Receiver,
@ -43,7 +44,7 @@ fn run_update(status: &Status, cancel: Receiver<()>) -> Result<Box<UpdateResult>
.to_dest(&target_file)?; .to_dest(&target_file)?;
#[cfg(unix)] #[cfg(unix)]
{ {
use std::{fs, os::unix::fs::PermissionsExt}; use std::os::unix::fs::PermissionsExt;
let mut perms = fs::metadata(&target_file)?.permissions(); let mut perms = fs::metadata(&target_file)?.permissions();
perms.set_mode(0o755); perms.set_mode(0o755);
fs::set_permissions(&target_file, perms)?; fs::set_permissions(&target_file, perms)?;

View File

@ -81,14 +81,12 @@ pub fn config_ui(ui: &mut egui::Ui, config: &Arc<RwLock<AppConfig>>, view_state:
if state.update_available { if state.update_available {
ui.colored_label(Color32::LIGHT_GREEN, "Update available"); ui.colored_label(Color32::LIGHT_GREEN, "Update available");
ui.horizontal(|ui| { ui.horizontal(|ui| {
if state.found_binary if state.found_binary && ui
&& ui
.button("Automatic") .button("Automatic")
.on_hover_text_at_pointer( .on_hover_text_at_pointer(
"Automatically download and replace the current build", "Automatically download and replace the current build",
) )
.clicked() .clicked() {
{
view_state.jobs.push(queue_update()); view_state.jobs.push(queue_update());
} }
if ui if ui
@ -185,18 +183,20 @@ pub fn config_ui(ui: &mut egui::Ui, config: &Arc<RwLock<AppConfig>>, view_state:
ui.separator(); ui.separator();
} }
if let (Some(base_dir), Some(target_dir)) = (base_obj_dir, target_obj_dir) { if let Some(base_dir) = base_obj_dir {
if ui.button("Select obj").clicked() { if ui.button("Select obj").clicked() {
if let Some(path) = rfd::FileDialog::new() if let Some(path) = rfd::FileDialog::new()
.set_directory(&target_dir) .set_directory(&base_dir)
.add_filter("Object file", &["o", "elf"]) .add_filter("Object file", &["o", "elf"])
.pick_file() .pick_file()
{ {
let mut new_build_obj: Option<String> = None; let mut new_build_obj: Option<String> = None;
if let Ok(obj_path) = path.strip_prefix(&base_dir) { if let Ok(obj_path) = path.strip_prefix(&base_dir) {
new_build_obj = Some(obj_path.display().to_string()); new_build_obj = Some(obj_path.display().to_string());
} else if let Ok(obj_path) = path.strip_prefix(&target_dir) { } else if let Some(build_asm_dir) = target_obj_dir {
new_build_obj = Some(obj_path.display().to_string()); if let Ok(obj_path) = path.strip_prefix(&build_asm_dir) {
new_build_obj = Some(obj_path.display().to_string());
}
} }
if let Some(new_build_obj) = new_build_obj { if let Some(new_build_obj) = new_build_obj {
*obj_path = Some(new_build_obj); *obj_path = Some(new_build_obj);