mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-08 22:33:26 +01:00
Allows changing BrowseViewController sort order
This commit is contained in:
@@ -53,6 +53,17 @@ public extension UserDefaults
|
||||
@NSManaged var trustedServerURL: String?
|
||||
@NSManaged var skipPatreonDownloads: Bool
|
||||
|
||||
@nonobjc var preferredAppSorting: AppSorting {
|
||||
get {
|
||||
let sorting = _preferredAppSorting.flatMap { AppSorting(rawValue: $0) } ?? .default
|
||||
return sorting
|
||||
}
|
||||
set {
|
||||
_preferredAppSorting = newValue.rawValue
|
||||
}
|
||||
}
|
||||
@NSManaged @objc(preferredAppSorting) private var _preferredAppSorting: String?
|
||||
|
||||
@nonobjc
|
||||
var activeAppsLimit: Int? {
|
||||
get {
|
||||
@@ -103,6 +114,10 @@ public extension UserDefaults
|
||||
let permissionCheckingDisabled = false
|
||||
#endif
|
||||
|
||||
// Pre-iOS 15 doesn't support custom sorting, so default to sorting by name.
|
||||
// Otherwise, default to `default` sorting (a.k.a. "source order").
|
||||
let preferredAppSorting: AppSorting = if #available(iOS 15, *) { .default } else { .name }
|
||||
|
||||
let defaults = [
|
||||
#keyPath(UserDefaults.isAppLimitDisabled): false,
|
||||
#keyPath(UserDefaults.isBackgroundRefreshEnabled): true,
|
||||
@@ -117,7 +132,8 @@ public extension UserDefaults
|
||||
#keyPath(UserDefaults.ignoreActiveAppsLimit): false,
|
||||
#keyPath(UserDefaults.isMacDirtyCowSupported): isMacDirtyCowSupported
|
||||
#keyPath(UserDefaults.permissionCheckingDisabled): permissionCheckingDisabled,
|
||||
] as [String : Any]
|
||||
#keyPath(UserDefaults._preferredAppSorting): preferredAppSorting.rawValue,
|
||||
] as [String: Any]
|
||||
|
||||
UserDefaults.standard.register(defaults: defaults)
|
||||
UserDefaults.shared.register(defaults: defaults)
|
||||
|
||||
Reference in New Issue
Block a user