diff --git a/Cargo.lock b/Cargo.lock index 990df48..d5925af 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -283,7 +283,7 @@ dependencies = [ [[package]] name = "noaa-apt" -version = "0.9.1" +version = "0.9.4" dependencies = [ "GSL 0.4.23 (registry+https://github.com/rust-lang/crates.io-index)", "argparse 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/Cargo.toml b/Cargo.toml index 58e63ef..e53a236 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "noaa-apt" -version = "0.9.1" +version = "0.9.4" authors = ["Martin Bernardi "] [dependencies] diff --git a/src/gui.rs b/src/gui.rs index c2dcf62..a5a4bd7 100644 --- a/src/gui.rs +++ b/src/gui.rs @@ -10,6 +10,8 @@ use gio::prelude::*; use gtk::prelude::*; use gtk::Builder; +const VERSION: &'static str = env!("CARGO_PKG_VERSION"); + // make moving clones into closures more convenient macro_rules! clone { (@param _) => ( _ ); @@ -66,6 +68,15 @@ fn build_ui(application: >k::Application) { status_label.set_label("Ready"); start_button.set_sensitive(true); + // Set version on footer + + let footer_label: gtk::Label = builder.get_object("footer_label") + .expect("Couldn't get footer_label"); + footer_label.set_label(format!( +"noaa-apt {} +Martín Bernardi +martin@mbernardi.com.ar", VERSION).as_str()); + // Configure decode_output_entry file chooser let decode_output_entry: gtk::Entry = builder.get_object("decode_output_entry") diff --git a/src/main.rs b/src/main.rs index c3a9495..03d6843 100644 --- a/src/main.rs +++ b/src/main.rs @@ -16,11 +16,14 @@ mod misc; mod gui; mod err; +const VERSION: &'static str = env!("CARGO_PKG_VERSION"); + fn main() -> err::Result<()> { let mut input_filename: Option = None; let mut debug = false; let mut quiet = false; + let mut print_version = false; let mut output_filename: Option = None; let mut resample_output: Option = None; { @@ -30,6 +33,9 @@ fn main() -> err::Result<()> { parser.refer(&mut input_filename) .add_argument("input_filename", argparse::StoreOption, "Input WAV file."); + parser.refer(&mut print_version) + .add_option(&["-v", "--version"], argparse::StoreTrue, + "Show version and quit."); parser.refer(&mut debug) .add_option(&["-d", "--debug"], argparse::StoreTrue, "Print debugging messages."); @@ -49,6 +55,11 @@ fn main() -> err::Result<()> { parser.parse_args_or_exit(); } + if print_version { + println!("noaa-apt image decoder version {}", VERSION); + std::process::exit(0); + } + if debug { simple_logger::init_with_level(log::Level::Debug)?; } else if quiet { @@ -57,6 +68,8 @@ fn main() -> err::Result<()> { simple_logger::init_with_level(log::Level::Info)?; } + info!("noaa-apt image decoder version {}", VERSION); + match input_filename { // Input filename set, command line