mirror of
https://github.com/YGGverse/Yoda.git
synced 2026-04-02 01:25:27 +00:00
use tuple for actions
This commit is contained in:
parent
b70a5a7867
commit
61010e0a42
6 changed files with 24 additions and 39 deletions
|
|
@ -25,11 +25,11 @@ impl Content {
|
|||
// Construct
|
||||
|
||||
/// Create new container for different components
|
||||
pub fn new(window_action: Rc<WindowAction>, tab_action: Rc<TabAction>) -> Self {
|
||||
pub fn new(action: (Rc<WindowAction>, Rc<TabAction>)) -> Self {
|
||||
Self {
|
||||
gobject: Box::builder().orientation(Orientation::Vertical).build(),
|
||||
window_action,
|
||||
tab_action,
|
||||
window_action: action.0,
|
||||
tab_action: action.1,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -30,17 +30,13 @@ pub struct Navigation {
|
|||
}
|
||||
|
||||
impl Navigation {
|
||||
pub fn new(
|
||||
browser_action: Rc<BrowserAction>,
|
||||
window_action: Rc<WindowAction>,
|
||||
tab_action: Rc<TabAction>,
|
||||
) -> Self {
|
||||
pub fn new(action: (Rc<BrowserAction>, Rc<WindowAction>, Rc<TabAction>)) -> Self {
|
||||
// Init components
|
||||
let home = Rc::new(Home::new(window_action.clone()));
|
||||
let history = Rc::new(History::new(window_action.clone()));
|
||||
let reload = Rc::new(Reload::new(window_action.clone()));
|
||||
let request = Rc::new(Request::new(browser_action, tab_action));
|
||||
let bookmark = Rc::new(Bookmark::new(window_action));
|
||||
let home = Rc::new(Home::new(action.1.clone()));
|
||||
let history = Rc::new(History::new(action.1.clone()));
|
||||
let reload = Rc::new(Reload::new(action.1.clone()));
|
||||
let request = Rc::new(Request::new((action.0, action.2)));
|
||||
let bookmark = Rc::new(Bookmark::new(action.1));
|
||||
|
||||
// Init widget
|
||||
let widget = Rc::new(Widget::new(
|
||||
|
|
|
|||
|
|
@ -18,13 +18,9 @@ pub struct Request {
|
|||
|
||||
impl Request {
|
||||
// Construct
|
||||
pub fn new(
|
||||
// Actions
|
||||
browser_action: Rc<BrowserAction>,
|
||||
tab_action: Rc<TabAction>,
|
||||
) -> Self {
|
||||
pub fn new(action: (Rc<BrowserAction>, Rc<TabAction>)) -> Self {
|
||||
Self {
|
||||
widget: Rc::new(Widget::new(browser_action, tab_action)),
|
||||
widget: Rc::new(Widget::new(action)),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ pub struct Widget {
|
|||
|
||||
impl Widget {
|
||||
// Construct
|
||||
pub fn new(browser_action: Rc<BrowserAction>, tab_action: Rc<TabAction>) -> Self {
|
||||
pub fn new(action: (Rc<BrowserAction>, Rc<TabAction>)) -> Self {
|
||||
// Init animated progress bar state
|
||||
let progress = Rc::new(Progress {
|
||||
fraction: RefCell::new(0.0),
|
||||
|
|
@ -42,11 +42,11 @@ impl Widget {
|
|||
|
||||
// Connect events
|
||||
gobject.connect_changed(move |_| {
|
||||
browser_action.update().activate(None);
|
||||
action.0.update().activate(None);
|
||||
});
|
||||
|
||||
gobject.connect_activate(move |this| {
|
||||
tab_action.load().activate(Some(&this.text()), true);
|
||||
action.1.load().activate(Some(&this.text()), true);
|
||||
});
|
||||
|
||||
gobject.connect_state_flags_changed({
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue