fix: persist settings_visible toggle state to data store
This commit is contained in:
@@ -281,7 +281,7 @@ pub fn reading_view(
|
|||||||
let mut sidebar_tab: usize = ui.data_mut(|d| *d.get_temp_mut_or_default::<usize>(sidebar_tab_id));
|
let mut sidebar_tab: usize = ui.data_mut(|d| *d.get_temp_mut_or_default::<usize>(sidebar_tab_id));
|
||||||
|
|
||||||
let settings_visible_id = ui.make_persistent_id("settings_visible");
|
let settings_visible_id = ui.make_persistent_id("settings_visible");
|
||||||
let mut settings_visible: bool = ui.data_mut(|d| *d.get_temp_mut_or_default::<bool>(settings_visible_id));
|
let mut settings_visible = ui.data_mut(|d| *d.get_temp_mut_or_default::<bool>(settings_visible_id));
|
||||||
|
|
||||||
if *sidebar_open {
|
if *sidebar_open {
|
||||||
egui::SidePanel::left("toc_sidebar")
|
egui::SidePanel::left("toc_sidebar")
|
||||||
@@ -330,6 +330,10 @@ pub fn reading_view(
|
|||||||
ui.with_layout(egui::Layout::right_to_left(egui::Align::Center), |ui| {
|
ui.with_layout(egui::Layout::right_to_left(egui::Align::Center), |ui| {
|
||||||
let toggle_label = if settings_visible { "⚙ ▲" } else { "⚙" };
|
let toggle_label = if settings_visible { "⚙ ▲" } else { "⚙" };
|
||||||
if ui.button(toggle_label).on_hover_text("显示/隐藏设置").clicked() {
|
if ui.button(toggle_label).on_hover_text("显示/隐藏设置").clicked() {
|
||||||
|
ui.ctx().data_mut(|d| {
|
||||||
|
let val = d.get_temp_mut_or_default::<bool>(settings_visible_id);
|
||||||
|
*val = !*val;
|
||||||
|
});
|
||||||
settings_visible = !settings_visible;
|
settings_visible = !settings_visible;
|
||||||
}
|
}
|
||||||
if settings_visible {
|
if settings_visible {
|
||||||
|
|||||||
Reference in New Issue
Block a user