mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-09-07 20:32:07 +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,
|
||||
}
|
||||
}
|
||||
|
||||
/// 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
|
||||
tab_page.map(|tab_page| {
|
||||
index.borrow().get(tab_page).map(|item| {
|
||||
// Update actions status
|
||||
// Update enabled status (for some actions)
|
||||
action
|
||||
.history_back
|
||||
.simple_action
|
||||
@ -78,20 +78,8 @@ impl Tab {
|
||||
.simple_action
|
||||
.set_enabled(item.action.reload.is_enabled());
|
||||
|
||||
// Update actions target
|
||||
let 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);
|
||||
// Update target (for all actions)
|
||||
action.change_state(Some(tab_view.page_position(tab_page)));
|
||||
})
|
||||
});
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user