Persist advanced options expand/collapse state per section
Each ExpanderRow now remembers its expanded state between sessions using a per-section key stored in SessionState. Replaces the global detailed_mode toggle with granular per-section persistence.
This commit is contained in:
@@ -343,9 +343,16 @@ pub fn build_compress_page(state: &AppState) -> adw::NavigationPage {
|
||||
let advanced_expander = adw::ExpanderRow::builder()
|
||||
.title("Per-Format Quality")
|
||||
.subtitle("Fine-tune quality for each format individually")
|
||||
.expanded(state.detailed_mode)
|
||||
.expanded(state.is_section_expanded("compress-advanced"))
|
||||
.build();
|
||||
|
||||
{
|
||||
let st = state.clone();
|
||||
advanced_expander.connect_expanded_notify(move |row| {
|
||||
st.set_section_expanded("compress-advanced", row.is_expanded());
|
||||
});
|
||||
}
|
||||
|
||||
let jpeg_row = adw::SpinRow::builder()
|
||||
.title("JPEG Quality")
|
||||
.subtitle("1-100, higher is better quality")
|
||||
|
||||
Reference in New Issue
Block a user