mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-09-09 05:11:50 +00:00
implement shared state change method for all group members
This commit is contained in:
parent
5883593c39
commit
d93c93a8c0
@ -122,4 +122,20 @@ impl Action {
|
|||||||
simple_action_group,
|
simple_action_group,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Update state [SimpleAction](https://docs.gtk.org/gio/class.SimpleAction.html) for child members
|
||||||
|
/// * useful on popover menu init
|
||||||
|
pub fn change_state(&self, state: Option<i32>) {
|
||||||
|
self.bookmark.change_state(state);
|
||||||
|
self.close_all.change_state(state);
|
||||||
|
self.close.change_state(state);
|
||||||
|
self.find.change_state(state);
|
||||||
|
self.history_back.change_state(state);
|
||||||
|
self.history_forward.change_state(state);
|
||||||
|
self.home.change_state(state);
|
||||||
|
self.pin.change_state(state);
|
||||||
|
self.reload.change_state(state);
|
||||||
|
self.save_as.change_state(state);
|
||||||
|
self.source.change_state(state);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -60,7 +60,7 @@ impl Tab {
|
|||||||
// as it will be updated on the next init for new tab selected
|
// as it will be updated on the next init for new tab selected
|
||||||
tab_page.map(|tab_page| {
|
tab_page.map(|tab_page| {
|
||||||
index.borrow().get(tab_page).map(|item| {
|
index.borrow().get(tab_page).map(|item| {
|
||||||
// Update actions status
|
// Update enabled status (for some actions)
|
||||||
action
|
action
|
||||||
.history_back
|
.history_back
|
||||||
.simple_action
|
.simple_action
|
||||||
@ -78,20 +78,8 @@ impl Tab {
|
|||||||
.simple_action
|
.simple_action
|
||||||
.set_enabled(item.action.reload.is_enabled());
|
.set_enabled(item.action.reload.is_enabled());
|
||||||
|
|
||||||
// Update actions target
|
// Update target (for all actions)
|
||||||
let state = Some(tab_view.page_position(tab_page));
|
action.change_state(Some(tab_view.page_position(tab_page)));
|
||||||
|
|
||||||
action.bookmark.change_state(state);
|
|
||||||
action.close_all.change_state(state);
|
|
||||||
action.close.change_state(state);
|
|
||||||
action.find.change_state(state);
|
|
||||||
action.history_back.change_state(state);
|
|
||||||
action.history_forward.change_state(state);
|
|
||||||
action.home.change_state(state);
|
|
||||||
action.pin.change_state(state);
|
|
||||||
action.reload.change_state(state);
|
|
||||||
action.save_as.change_state(state);
|
|
||||||
action.source.change_state(state);
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user