Skip to content

Commit

Permalink
Merge pull request #150 from JoseMoreville/hades-dev
Browse files Browse the repository at this point in the history
feature: ✨ Now you can switch between Ipad models on app settings.
  • Loading branch information
JoseMoreville committed Aug 12, 2022
2 parents df047d7 + d428bf1 commit 48437c1
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 2 deletions.
14 changes: 13 additions & 1 deletion PlayCover/Model/AppSettings.swift
Expand Up @@ -191,6 +191,17 @@ class AppSettings {
dictionary = dict
}
}
private static let ipadModel = "pc.ipadModel"
var ipadModel: String {
get {
dictionary[AppSettings.ipadModel] as? String ?? "iPad8,6"
}
set {
var dict = dictionary
dict[AppSettings.ipadModel] = newValue
dictionary = dict
}
}

private var allPrefs: [String: Any] {
get {
Expand Down Expand Up @@ -248,7 +259,8 @@ class AppSettings {
AppSettings.sensivity: 50,
AppSettings.gameWindowSizeHeight: 1080,
AppSettings.gameWindowSizeWidth: 1920,
AppSettings.enableWindowAutoSize: false
AppSettings.enableWindowAutoSize: false,
AppSettings.ipadModel: "iPad8,6"
]
}
}
Expand Down
7 changes: 7 additions & 0 deletions PlayCover/View/AppSettingsView.swift
Expand Up @@ -23,6 +23,7 @@ struct AppSettingsView: View {
@State var resetCompletedAlert: Bool = false
@State var selectedWindowSize: Int
@State var enableWindowAutoSize: Bool
@State var ipadModel: String
@Environment(\.presentationMode) var presentationMode

var body: some View {
Expand Down Expand Up @@ -82,6 +83,11 @@ struct AppSettingsView: View {
Text("60 Hz").tag(0)
Text("120 Hz").tag(1)
}).pickerStyle(SegmentedPickerStyle()).frame(maxWidth: 300).padding()
Picker(selection: $ipadModel, label: Text("settings.picker.ipadModel"), content: {
Text("1st Gen").tag("iPad6,7")
Text("3rd Gen").tag("iPad8,6")
Text("5th Gen").tag("iPad13,8")
}).pickerStyle(SegmentedPickerStyle()).frame(maxWidth: 300).padding()
if adaptiveDisplay && !enableWindowAutoSize {
Spacer()
Picker(selection: $selectedWindowSize, label: Text("settings.picker.screenSize"), content: {
Expand Down Expand Up @@ -117,6 +123,7 @@ struct AppSettingsView: View {
settings.bypass = bypass
settings.gamingMode = gamingMode
settings.enableWindowAutoSize = adaptiveDisplay ? enableWindowAutoSize : false
settings.ipadModel = ipadModel
if enableWindowAutoSize {
settings.gameWindowSizeHeight = Float(NSScreen.main?.visibleFrame.height ?? 1080)
settings.gameWindowSizeWidth = Float(NSScreen.main?.visibleFrame.width ?? 1920)
Expand Down
3 changes: 2 additions & 1 deletion PlayCover/View/PlayAppView.swift
Expand Up @@ -144,7 +144,8 @@ struct PlayAppView: View {
selectedWindowSize: app.settings.gameWindowSizeHeight == 1080
? 0
: app.settings.gameWindowSizeHeight == 1440 ? 1 : 2,
enableWindowAutoSize: app.settings.enableWindowAutoSize
enableWindowAutoSize: app.settings.enableWindowAutoSize,
ipadModel: app.settings.ipadModel
).frame(minWidth: 500)
}.sheet(isPresented: $showChangeGenshinAccount) {
ChangeGenshinAccountView()
Expand Down
1 change: 1 addition & 0 deletions PlayCover/en.lproj/Localizable.strings
Expand Up @@ -85,6 +85,7 @@

"settings.picker.displayRefreshRate" = "Screen refresh rate";
"settings.picker.screenSize" = "Display resolution";
"settings.picker.ipadModel" = "Select Ipad Pro model";

"settings.slider.mouseSensitivity" = "Mouse sensitivity: ";

Expand Down

0 comments on commit 48437c1

Please sign in to comment.