From a874bd81068bf8663e3702b922f50129e2720bb5 Mon Sep 17 00:00:00 2001 From: yggverse Date: Sat, 8 Mar 2025 11:33:16 +0200 Subject: [PATCH] update bookmarks handler --- src/app/browser/window.rs | 6 +----- src/app/browser/window/tab.rs | 13 +++---------- src/app/browser/window/tab/error.rs | 5 ----- src/app/browser/window/tab/item/page.rs | 18 +++++------------- src/app/browser/window/tab/item/page/error.rs | 4 ---- 5 files changed, 9 insertions(+), 37 deletions(-) delete mode 100644 src/app/browser/window/tab/error.rs delete mode 100644 src/app/browser/window/tab/item/page/error.rs diff --git a/src/app/browser/window.rs b/src/app/browser/window.rs index 9dc70ff3..821e8582 100644 --- a/src/app/browser/window.rs +++ b/src/app/browser/window.rs @@ -48,11 +48,7 @@ impl Window { action.bookmark.connect_activate({ let tab = tab.clone(); - move |position| { - if tab.bookmark(position).is_err() { - todo!() - } - } + move |position| tab.bookmark(position) }); action.pin.connect_activate({ diff --git a/src/app/browser/window/tab.rs b/src/app/browser/window/tab.rs index f7bc8bd8..636ffa7e 100644 --- a/src/app/browser/window/tab.rs +++ b/src/app/browser/window/tab.rs @@ -1,6 +1,5 @@ mod action; mod database; -mod error; mod item; mod menu; @@ -9,7 +8,6 @@ use crate::Profile; use action::Action; use adw::{TabPage, TabView}; use anyhow::Result; -use error::Error; use gtk::{ gio::Icon, glib::{DateTime, Propagation}, @@ -257,16 +255,11 @@ impl Tab { } } - /// Toggle `Bookmark` in current `Profile` for `Page` at given `position` (current page on `None`) - /// * return `true` on bookmark created, `false` on deleted; `Error` otherwise. - pub fn bookmark(&self, page_position: Option) -> Result { + /// Toggle `Bookmark` for `Page` at given `position` (current page on `None`) + pub fn bookmark(&self, page_position: Option) { if let Some(item) = self.item(page_position) { - return match item.page.bookmark() { - Ok(result) => Ok(result), - Err(_) => Err(Error::Bookmark), - }; + item.page.bookmark() } - Err(Error::PageNotFound) } /// Toggle pin for page at given `position`, `None` to pin selected page (if available) diff --git a/src/app/browser/window/tab/error.rs b/src/app/browser/window/tab/error.rs deleted file mode 100644 index cd27d010..00000000 --- a/src/app/browser/window/tab/error.rs +++ /dev/null @@ -1,5 +0,0 @@ -#[derive(Debug)] -pub enum Error { - Bookmark, - PageNotFound, -} diff --git a/src/app/browser/window/tab/item/page.rs b/src/app/browser/window/tab/item/page.rs index 642264b2..5fd40e28 100644 --- a/src/app/browser/window/tab/item/page.rs +++ b/src/app/browser/window/tab/item/page.rs @@ -1,6 +1,5 @@ mod content; mod database; -mod error; mod input; mod navigation; mod search; @@ -9,7 +8,6 @@ use super::{Action as ItemAction, BrowserAction, Profile, TabAction, WindowActio use adw::TabPage; use anyhow::Result; use content::Content; -use error::Error; use input::Input; use navigation::Navigation; use search::Search; @@ -76,18 +74,12 @@ impl Page { // Actions - /// Toggle bookmark for current `profile` by navigation request value - /// * return `true` on bookmark created, `false` on deleted - pub fn bookmark(&self) -> Result { - let result = match self - .profile + /// Toggle bookmark for current navigation request + pub fn bookmark(&self) { + self.profile .bookmark - .toggle(self.navigation.request().as_str()) - { - Ok(result) => Ok(result), - Err(_) => Err(Error::Bookmark), // @TODO - }; - result + .toggle(&self.navigation.request()) + .unwrap(); // @TODO } /// Request `Escape` action for all page components diff --git a/src/app/browser/window/tab/item/page/error.rs b/src/app/browser/window/tab/item/page/error.rs deleted file mode 100644 index 0b803432..00000000 --- a/src/app/browser/window/tab/item/page/error.rs +++ /dev/null @@ -1,4 +0,0 @@ -#[derive(Debug)] -pub enum Error { - Bookmark, -}