diff --git a/SimDirs/Presentation/SourceFilter.swift b/SimDirs/Presentation/SourceFilter.swift index fb33442..2a25a11 100644 --- a/SimDirs/Presentation/SourceFilter.swift +++ b/SimDirs/Presentation/SourceFilter.swift @@ -34,5 +34,13 @@ struct SourceFilter { } var searchTerm = "" - var options = Options() + var options = Options() { didSet { UserDefaults.standard.set(options.rawValue, forKey: "FilterOptions") } } + + static func restore() -> SourceFilter { + var filter = SourceFilter() + + filter.options = SourceFilter.Options(rawValue: UserDefaults.standard.integer(forKey: "FilterOptions")) + + return filter + } } diff --git a/SimDirs/Presentation/SourceState.swift b/SimDirs/Presentation/SourceState.swift index a5f0d75..aa5b840 100644 --- a/SimDirs/Presentation/SourceState.swift +++ b/SimDirs/Presentation/SourceState.swift @@ -54,7 +54,7 @@ class SourceState: ObservableObject { } @Published var style = Style.placeholder { didSet { rebuildBase() } } - @Published var filter = SourceFilter() { didSet { applyFilter() } } + @Published var filter = SourceFilter.restore() { didSet { applyFilter() } } @Published var selection : UUID? var model : SimModel