Skip to content

Commit

Permalink
only allow cir, net & sp files
Browse files Browse the repository at this point in the history
  • Loading branch information
SeaDve committed Nov 7, 2023
1 parent 819e26a commit 5b2343f
Showing 1 changed file with 14 additions and 15 deletions.
29 changes: 14 additions & 15 deletions src/window.rs
Original file line number Diff line number Diff line change
Expand Up @@ -523,12 +523,8 @@ impl Window {
}

async fn open_circuit(&self) -> Result<()> {
let filter = gtk::FileFilter::new();
filter.set_property("name", gettext("Plain Text Files"));
filter.add_mime_type("text/plain");

let filters = gio::ListStore::new::<gtk::FileFilter>();
filters.append(&filter);
filters.append(&netlist_file_filter());

let dialog = gtk::FileDialog::builder()
.title(gettext("Open Circuit"))
Expand All @@ -553,12 +549,8 @@ impl Window {
if circuit.file().is_some() {
circuit.save().await?;
} else {
let filter = gtk::FileFilter::new();
filter.set_property("name", gettext("Plain Text Files"));
filter.add_mime_type("text/plain");

let filters = gio::ListStore::new::<gtk::FileFilter>();
filters.append(&filter);
filters.append(&netlist_file_filter());

let dialog = gtk::FileDialog::builder()
.title(gettext("Save Circuit"))
Expand All @@ -575,12 +567,8 @@ impl Window {
}

async fn save_circuit_as(&self, circuit: &Circuit) -> Result<()> {
let filter = gtk::FileFilter::new();
filter.set_property("name", gettext("Plain Text Files"));
filter.add_mime_type("text/plain");

let filters = gio::ListStore::new::<gtk::FileFilter>();
filters.append(&filter);
filters.append(&netlist_file_filter());

let dialog = gtk::FileDialog::builder()
.title(gettext("Save Circuit As"))
Expand Down Expand Up @@ -708,3 +696,14 @@ fn current_plot_to_snapshot(

Ok(snapshot)
}

fn netlist_file_filter() -> gtk::FileFilter {
let filter = gtk::FileFilter::new();
filter.set_name(Some(&gettext("SPICE Netlist Files")));

for suffix in ["cir", "net", "sp"] {
filter.add_suffix(suffix);
}

filter
}

0 comments on commit 5b2343f

Please sign in to comment.