From 0f89fdc0e21888347e6545dffe7880bbbb6b6085 Mon Sep 17 00:00:00 2001 From: Eilionoir Tunnicliff Date: Sun, 5 Mar 2023 16:08:05 -0500 Subject: [PATCH] Readd hidden sidebar option and fix issue with portrait mode on compact iPhones --- Natives/LauncherMenuViewController.m | 2 +- Natives/LauncherPreferences.m | 1 + Natives/LauncherPreferencesViewController.m | 6 ++++++ Natives/LauncherSplitViewController.m | 14 ++++++++++++-- Natives/resources/Assets.car | Bin 2935824 -> 2935824 bytes 5 files changed, 20 insertions(+), 3 deletions(-) diff --git a/Natives/LauncherMenuViewController.m b/Natives/LauncherMenuViewController.m index 284a823d..50b7e47a 100644 --- a/Natives/LauncherMenuViewController.m +++ b/Natives/LauncherMenuViewController.m @@ -306,7 +306,7 @@ [self displayProgress:nil]; } else { NSLog(@"[AltKit] Could not enable JIT compilation. %@", error); - [self displayProgress:[NSString stringWithFormat:localize(@"login.jit.fail.AltKit", nil), error]]; + [self displayProgress:[NSString stringWithFormat:localize(@"login.jit.fail.AltKit", nil), error.description]]; [self displayProgress:nil]; showDialog(self, localize(@"Error", nil), error.description); } diff --git a/Natives/LauncherPreferences.m b/Natives/LauncherPreferences.m index cf6924d2..59562419 100644 --- a/Natives/LauncherPreferences.m +++ b/Natives/LauncherPreferences.m @@ -148,6 +148,7 @@ void loadPreferences(BOOL reset) { setDefaultValueForPref(prefDict, @"check_sha", @YES); setDefaultValueForPref(prefDict, @"auto_ram", @(!getEntitlementValue(@"com.apple.private.memorystatus"))); setDefaultValueForPref(prefDict, @"unsupported_warn_counter", @(0)); + setDefaultValueForPref(prefDict, @"hidden_sidebar", @YES); // Debug settings setDefaultValueForPref(debugPrefDict, @"debug_skip_wait_jit", @NO); diff --git a/Natives/LauncherPreferencesViewController.m b/Natives/LauncherPreferencesViewController.m index 6e382cb4..59e3668f 100644 --- a/Natives/LauncherPreferencesViewController.m +++ b/Natives/LauncherPreferencesViewController.m @@ -120,6 +120,12 @@ typedef void(^CreateView)(UITableViewCell *, NSString *, NSDictionary *); localize(@"preference.title.appicon-dark", nil) ] }, + @{@"key": @"hidden_sidebar", + @"hasDetail": @YES, + @"icon": @"sidebar.leading", + @"type": self.typeSwitch, + @"enableCondition": whenNotInGame + }, @{@"key": @"reset_warnings", @"icon": @"exclamationmark.triangle", @"type": self.typeButton, diff --git a/Natives/LauncherSplitViewController.m b/Natives/LauncherSplitViewController.m index 939d1f18..ba3cb56f 100644 --- a/Natives/LauncherSplitViewController.m +++ b/Natives/LauncherSplitViewController.m @@ -27,6 +27,8 @@ extern NSMutableDictionary *prefDict; self.viewControllers = @[masterVc, detailVc]; [self changeDisplayModeForSize:self.view.frame.size]; + + self.maximumPrimaryColumnWidth = self.view.bounds.size.width * 0.95; } - (void)splitViewController:(UISplitViewController *)svc willChangeToDisplayMode:(UISplitViewControllerDisplayMode)displayMode { @@ -46,10 +48,18 @@ extern NSMutableDictionary *prefDict; - (void)changeDisplayModeForSize:(CGSize)size { BOOL isPortrait = size.height > size.width; if (self.preferredDisplayMode == 0 || self.displayMode != UISplitViewControllerDisplayModeSecondaryOnly) { - self.preferredDisplayMode = UISplitViewControllerDisplayModeSecondaryOnly; + if([getPreference(@"hidden_sidebar") boolValue] == NO) { + self.preferredDisplayMode = isPortrait ? + UISplitViewControllerDisplayModeOneOverSecondary : + UISplitViewControllerDisplayModeOneBesideSecondary; + } else { + self.preferredDisplayMode = UISplitViewControllerDisplayModeSecondaryOnly; + } } if (@available(iOS 14.0, tvOS 14.0, *)) { - self.preferredSplitBehavior = UISplitViewControllerSplitBehaviorOverlay; + self.preferredSplitBehavior = isPortrait ? + UISplitViewControllerSplitBehaviorOverlay : + UISplitViewControllerSplitBehaviorTile; } } diff --git a/Natives/resources/Assets.car b/Natives/resources/Assets.car index 154ac9d6e505eecce6acfaf69d6a32c9afa6dcdc..5ccd4daa3cfc00183d818536bf0146c06263b141 100644 GIT binary patch delta 310 zcmYMvy-vbV06^j1wn(YeqSPO>+M*~ZH%*H*E-p0T8FX+{R(%KuS4aokjftbACLLsS zF>!EkWbhGq00&Q49KPXv7OAhxK#k;_CLg??-WP?6;!0chU(@ z`;Skm$ey)kV3ia_F<_ybO{1Bex`~tibkEYyu5%YA_hBNSLW7P17EpwN5=<x$w-{ouZ4;s!^VgLXD delta 303 zcmYMvy-vbV06^j13rMNdf))j=wtznfH>4#U99SqXp^2Ni>O(NNVmjzfOdK^e>7XN< z4h)PAJc19v;Mo|y;f!bUoQMhDvQjkToD5~(cx+sjFRt%zZoMGv^}Tiwj)L>)s}#vg zrqeS`P1A}fKu>;yKPz@3J6;Y4@z2m6`_Y3R2}op+MGhOtLq`DyHc^C$Em$a_jBV_| zMg_arLlrgDu@46aID`ui4K&fh5sq