mirror of
https://github.com/Ranchero-Software/NetNewsWire
synced 2025-08-12 06:26:36 +00:00
@@ -0,0 +1,32 @@
|
||||
//
|
||||
// AdvancedPreferencesModel.swift
|
||||
// Multiplatform macOS
|
||||
//
|
||||
// Created by Stuart Breckenridge on 16/7/20.
|
||||
// Copyright © 2020 Ranchero Software. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
class AdvancedPreferencesModel: ObservableObject {
|
||||
|
||||
let releaseBuildsURL = Bundle.main.infoDictionary!["SUFeedURL"]! as! String
|
||||
let testBuildsURL = Bundle.main.infoDictionary!["FeedURLForTestBuilds"]! as! String
|
||||
let appcastDefaultsKey = "SUFeedURL"
|
||||
|
||||
init() {
|
||||
if AppDefaults.shared.downloadTestBuilds == false {
|
||||
AppDefaults.store.setValue(releaseBuildsURL, forKey: appcastDefaultsKey)
|
||||
} else {
|
||||
AppDefaults.store.setValue(testBuildsURL, forKey: appcastDefaultsKey)
|
||||
}
|
||||
}
|
||||
|
||||
func updateAppcast() {
|
||||
if AppDefaults.shared.downloadTestBuilds == false {
|
||||
AppDefaults.store.setValue(releaseBuildsURL, forKey: appcastDefaultsKey)
|
||||
} else {
|
||||
AppDefaults.store.setValue(testBuildsURL, forKey: appcastDefaultsKey)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,7 @@ import SwiftUI
|
||||
struct AdvancedPreferencesView: View {
|
||||
|
||||
@EnvironmentObject private var preferences: AppDefaults
|
||||
@StateObject private var viewModel = AdvancedPreferencesModel()
|
||||
|
||||
var body: some View {
|
||||
Form {
|
||||
@@ -34,6 +35,9 @@ struct AdvancedPreferencesView: View {
|
||||
Spacer()
|
||||
}
|
||||
}
|
||||
.onChange(of: preferences.downloadTestBuilds, perform: { _ in
|
||||
viewModel.updateAppcast()
|
||||
})
|
||||
.frame(width: 400, alignment: .center)
|
||||
.lineLimit(3)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user