From bf5ccd70ab023221c0101751abe33dbcee0ace5f Mon Sep 17 00:00:00 2001 From: Olaf Wintermann Date: Sun, 9 Aug 2026 22:17:35 +0200 Subject: [PATCH] add MainWindow.show_collection method to simplify/remove duplicated code --- application/backend/src/backend.rs | 1 - application/backend/src/storage.rs | 2 +- application/note/src/window.rs | 52 ++++++++++++++---------------- 3 files changed, 25 insertions(+), 30 deletions(-) diff --git a/application/backend/src/backend.rs b/application/backend/src/backend.rs index 39fd72d..d198a73 100644 --- a/application/backend/src/backend.rs +++ b/application/backend/src/backend.rs @@ -785,7 +785,6 @@ impl BackendHandle { let bhandle = self.clone(); let pathbuf = path.to_path_buf(); let cmd = Box::pin(async move { - let name = pathbuf.as_path().file_name(); // check file and get the file name let result: Result<&OsStr, Error> = async { let metadata = fs::metadata(pathbuf.as_path()).await?; diff --git a/application/backend/src/storage.rs b/application/backend/src/storage.rs index 7ab7178..a906874 100644 --- a/application/backend/src/storage.rs +++ b/application/backend/src/storage.rs @@ -189,7 +189,7 @@ pub async fn generate_nodename_in_collection(db: &DatabaseConnection, collection let node_path = path.join(nodename); let metadata = fs::metadata(node_path).await; match metadata { - Ok(metadata) => { + Ok(_metadata) => { local_exists = true; }, Err(err) if err.kind() == ErrorKind::NotFound => { diff --git a/application/note/src/window.rs b/application/note/src/window.rs index 7e4d4d6..7e33025 100644 --- a/application/note/src/window.rs +++ b/application/note/src/window.rs @@ -110,28 +110,35 @@ impl MainWindow { } } - #[action] - pub fn show_trash(&mut self, _event: &ActionEvent) { + pub fn show_collection(&mut self, doc: UiDoc, nav: NavigationItem) { let Some(mut obj) = self.obj.get_object() else { return; }; - if let Some(trash) = &mut self.trash { - let nav = NavigationItem { collection_id: trash.data.collection_id, ..Default::default() }; - // detach current notebook - if let Some(current) = &self.selected_notebook { - current.ctx.call_action("save"); - obj.ctx.detach(current); - } + // detach current notebook + if let Some(current) = &self.selected_notebook { + current.ctx.call_action("save"); + obj.ctx.detach(current); + } - let notebook_doc = trash.get_doc(&self.backend); - obj.splitview_set_visible(0, true); - obj.ctx.attach(¬ebook_doc); - self.selected_notebook = Some(notebook_doc); - //e.obj.splitview_set_visible(0, !nav.note_maximized); + obj.splitview_set_visible(0, true); + obj.ctx.attach(&doc); + self.selected_notebook = Some(doc); + //e.obj.splitview_set_visible(0, !nav.note_maximized); - self.navigation.push(nav); - } + self.navigation.push(nav); + } + + #[action] + pub fn show_trash(&mut self, _event: &ActionEvent) { + let (doc, nav) = if let Some(trash) = &mut self.trash { + let nav = NavigationItem { collection_id: trash.data.collection_id, ..Default::default() }; + let notebook_doc = trash.get_doc(&self.backend); + (notebook_doc, nav) + } else { + return; + }; + self.show_collection(doc, nav); } pub fn do_nav(&mut self, direction: NavDirection) -> Option<()> { @@ -236,19 +243,8 @@ pub fn create_window(app: &App, ctx: &AppContext) -> UiObject