Projects: Inital support for saving and loading projects #22
|
@ -128,17 +128,23 @@ pub(super) fn on_save_project_clicked(tim_manager: MutexTIMManager) -> impl FnMu
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(super) fn on_browse_open_project_clicked() -> impl FnMut(&mut FileTab, &MainWindow) -> Result<(), Error> + 'static {
|
pub(super) fn on_browse_open_project_clicked() -> impl FnMut(&mut FileTab, &MainWindow) -> Result<(), Error> + 'static {
|
||||||
move |_file_tab, _main_window| {
|
move |_file_tab, main_window| {
|
||||||
Err(Error::not_implemented("on_browse_open_project_clicked"))
|
let file_path = create_project_file_dialog()
|
||||||
|
.set_title("Save location for TIM project file")
|
||||||
|
.pick_file();
|
||||||
|
|
||||||
|
if let Some(file_path) = file_path {
|
||||||
|
if let Some(file_path) = file_path.to_str() {
|
||||||
|
main_window.set_project_widget_open_project_path(SharedString::from(file_path));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(super) fn on_browse_save_project_clicked() -> impl FnMut(&mut FileTab, &MainWindow) -> Result<(), Error> + 'static {
|
pub(super) fn on_browse_save_project_clicked() -> impl FnMut(&mut FileTab, &MainWindow) -> Result<(), Error> + 'static {
|
||||||
move |_file_tab, main_window| {
|
move |_file_tab, main_window| {
|
||||||
let file_path = FileDialog::new()
|
let file_path = create_project_file_dialog()
|
||||||
.add_filter("TIM project file (.tim_project)", &["tim_project"])
|
|
||||||
.add_filter("JSON file (.json; .jsn)", &["json", "jsn"])
|
|
||||||
.add_filter("All", &["*"])
|
|
||||||
.set_title("Save location for TIM project file")
|
.set_title("Save location for TIM project file")
|
||||||
.save_file();
|
.save_file();
|
||||||
|
|
||||||
|
@ -149,4 +155,11 @@ pub(super) fn on_browse_save_project_clicked() -> impl FnMut(&mut FileTab, &Main
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn create_project_file_dialog() -> FileDialog {
|
||||||
|
FileDialog::new()
|
||||||
|
.add_filter("TIM project file (.tim_project)", &["tim_project"])
|
||||||
|
.add_filter("JSON file (.json; .jsn)", &["json", "jsn"])
|
||||||
|
.add_filter("All", &["*"])
|
||||||
}
|
}
|
Loading…
Reference in New Issue