Browse Source

use actionable object

master
yggverse 2 months ago
parent
commit
c466982fbc
  1. 8
      src/browser/main/tab/page/navigation.rs
  2. 14
      src/browser/main/tab/page/navigation/request.rs

8
src/browser/main/tab/page/navigation.rs

@ -39,8 +39,12 @@ impl Navigation { @@ -39,8 +39,12 @@ impl Navigation {
// Init components
let base = Base::new();
let history = History::new();
let reload = Reload::new(action_tab_page_reload);
let request = Request::new(request_text, action_update);
let reload = Reload::new(action_tab_page_reload.clone());
let request = Request::new(
request_text,
action_update.clone(),
action_tab_page_reload.clone(),
);
let bookmark = Bookmark::new();
// Init widget

14
src/browser/main/tab/page/navigation/request.rs

@ -1,7 +1,7 @@ @@ -1,7 +1,7 @@
use gtk::{
gio::SimpleAction,
glib::{GString, Uri, UriFlags},
prelude::{ActionExt, EditableExt, EntryExt, WidgetExt},
prelude::{ActionExt, EditableExt, EntryExt},
Entry,
};
@ -13,7 +13,11 @@ pub struct Request { @@ -13,7 +13,11 @@ pub struct Request {
impl Request {
// Construct
pub fn new(text: Option<GString>, action_update: Arc<SimpleAction>) -> Self {
pub fn new(
text: Option<GString>,
action_update: Arc<SimpleAction>,
tab_page_reload: Arc<SimpleAction>,
) -> Self {
// GTK
let widget = Entry::builder()
.placeholder_text("URL or search term...")
@ -31,10 +35,8 @@ impl Request { @@ -31,10 +35,8 @@ impl Request {
action_update.activate(None);
});
widget.connect_activate(|entry| {
entry
.activate_action("win.tab_page_reload", None) // @TODO
.expect("Action `win.tab_page_reload` not found")
widget.connect_activate(move |_| {
tab_page_reload.activate(None);
});
// Result

Loading…
Cancel
Save