#817 (three column layout)

- Disabled top & bottom layouts on iPhone.
- Replaced nav push with show.
- Other iPhone layout fixes.
This commit is contained in:
David Sinclair 2020-12-24 13:49:27 -08:00
parent 906087d10f
commit 99f9a28368
9 changed files with 48 additions and 38 deletions

View file

@ -374,7 +374,7 @@
viewController.checkedRow = [folders indexOfObject:self.inFolderInput.text] + 1;
}
[appDelegate.addSiteNavigationController pushViewController:viewController animated:YES];
[appDelegate.addSiteNavigationController showViewController:viewController sender:self];
}
#pragma mark -

View file

@ -956,7 +956,7 @@
if (self.pageFetching || self.pageFinished) return;
// NSLog(@"Fetching River in storiesCollection (pg. %ld): %@", (long)page, storiesCollection);
if (appDelegate.detailViewController.storyTitlesOnLeft) {
if (appDelegate.detailViewController.storyTitlesOnLeft && [[UIDevice currentDevice] userInterfaceIdiom] != UIUserInterfaceIdiomPhone) {
[self.splitViewController showColumn:UISplitViewControllerColumnSupplementary];
}
@ -2200,13 +2200,15 @@ didEndSwipingSwipingWithState:(MCSwipeTableViewCellState)state
}];
}
NSString *preferenceKey = @"story_titles_position";
NSArray *titles = @[@"Left", @"Top", @"Bottom"];
NSArray *values = @[@"titles_on_left", @"titles_on_top", @"titles_on_bottom"];
if ([[UIDevice currentDevice] userInterfaceIdiom] != UIUserInterfaceIdiomPhone) {
NSString *preferenceKey = @"story_titles_position";
NSArray *titles = @[@"Left", @"Top", @"Bottom"];
NSArray *values = @[@"titles_on_left", @"titles_on_top", @"titles_on_bottom"];
[viewController addSegmentedControlWithTitles:titles values:values preferenceKey:preferenceKey selectionShouldDismiss:YES handler:^(NSUInteger selectedIndex) {
[self.appDelegate.detailViewController updateLayoutWithReload:YES];
}];
[viewController addSegmentedControlWithTitles:titles values:values preferenceKey:preferenceKey selectionShouldDismiss:YES handler:^(NSUInteger selectedIndex) {
[self.appDelegate.detailViewController updateLayoutWithReload:YES];
}];
}
[viewController addSegmentedControlWithTitles:@[@"Newest First", @"Oldest"] selectIndex:[appDelegate.storiesCollection.activeOrder isEqualToString:@"newest"] ? 0 : 1 selectionShouldDismiss:YES handler:^(NSUInteger selectedIndex) {
if (selectedIndex == 0) {
@ -2234,9 +2236,9 @@ didEndSwipingSwipingWithState:(MCSwipeTableViewCellState)state
}];
}
preferenceKey = @"story_list_preview_text_size";
titles = @[@"Title", @"1", @"2", @"3"];
values = @[@"title", @"short", @"medium", @"long"];
NSString *preferenceKey = @"story_list_preview_text_size";
NSArray *titles = @[@"Title", @"1", @"2", @"3"];
NSArray *values = @[@"title", @"short", @"medium", @"long"];
[viewController addSegmentedControlWithTitles:titles values:values preferenceKey:preferenceKey selectionShouldDismiss:YES handler:^(NSUInteger selectedIndex) {
[self.appDelegate resizePreviewSize];
@ -2358,7 +2360,7 @@ didEndSwipingSwipingWithState:(MCSwipeTableViewCellState)state
}];
}
[menuNavigationController pushViewController:viewController animated:YES];
[menuNavigationController showViewController:viewController sender:self];
}
- (void)confirmDeleteSite:(UINavigationController *)menuNavigationController {
@ -2374,7 +2376,7 @@ didEndSwipingSwipingWithState:(MCSwipeTableViewCellState)state
}
}];
[menuNavigationController pushViewController:viewController animated:YES];
[menuNavigationController showViewController:viewController sender:self];
}
- (void)confirmMuteSite:(UINavigationController *)menuNavigationController {
@ -2385,7 +2387,7 @@ didEndSwipingSwipingWithState:(MCSwipeTableViewCellState)state
[self muteSite];
}];
[menuNavigationController pushViewController:viewController animated:YES];
[menuNavigationController showViewController:viewController sender:self];
}
- (void)renameTo:(NSString *)newTitle {
@ -2628,7 +2630,7 @@ didEndSwipingSwipingWithState:(MCSwipeTableViewCellState)state
}
}
[menuNavigationController pushViewController:viewController animated:YES];
[menuNavigationController showViewController:viewController sender:self];
}
//- (void)openMoveView {

View file

@ -63,14 +63,14 @@
//}
- (IBAction)tapNextButton {
[appDelegate.ftuxNavigationController pushViewController:appDelegate.firstTimeUserAddNewsBlurViewController animated:YES];
[appDelegate.ftuxNavigationController showViewController:appDelegate.firstTimeUserAddNewsBlurViewController sender:self];
}
- (IBAction)tapTwitterButton {
AuthorizeServicesViewController *service = [[AuthorizeServicesViewController alloc] init];
service.url = @"/oauth/twitter_connect";
service.type = @"twitter";
[appDelegate.ftuxNavigationController pushViewController:service animated:YES];
[appDelegate.ftuxNavigationController showViewController:service sender:self];
}
@ -78,7 +78,7 @@
AuthorizeServicesViewController *service = [[AuthorizeServicesViewController alloc] init];
service.url = @"/oauth/facebook_connect";
service.type = @"facebook";
[appDelegate.ftuxNavigationController pushViewController:service animated:YES];
[appDelegate.ftuxNavigationController showViewController:service sender:self];
}

View file

@ -99,7 +99,7 @@
- (IBAction)tapNextButton {
[appDelegate.ftuxNavigationController pushViewController:appDelegate.firstTimeUserAddFriendsViewController animated:YES];
[appDelegate.ftuxNavigationController showViewController:appDelegate.firstTimeUserAddFriendsViewController sender:self];
if (self.selectedCategories_.count) {
NSString *urlString = [NSString stringWithFormat:@"%@/categories/subscribe",
@ -127,7 +127,7 @@
AuthorizeServicesViewController *service = [[AuthorizeServicesViewController alloc] init];
service.url = @"/import/authorize";
service.type = @"google";
[appDelegate.ftuxNavigationController pushViewController:service animated:YES];
[appDelegate.ftuxNavigationController showViewController:service sender:self];
}
- (void)importFromGoogleReader {

View file

@ -109,7 +109,7 @@
- (IBAction)tapNextButton {
[appDelegate.ftuxNavigationController pushViewController:appDelegate.firstTimeUserAddSitesViewController animated:YES];
[appDelegate.ftuxNavigationController showViewController:appDelegate.firstTimeUserAddSitesViewController sender:self];
}
- (void)rotateLogo {

View file

@ -415,7 +415,7 @@
[self deleteSite];
}];
[self.navigationController pushViewController:controller animated:YES];
[self.navigationController showViewController:controller sender:self];
}
- (void)deleteSite {
@ -448,7 +448,7 @@
controller.fonts = self.fonts;
[self.navigationController pushViewController:controller animated:YES];
[self.navigationController showViewController:controller sender:self];
}
- (UITableViewCell *)makeFontSizeTableCell {

View file

@ -362,7 +362,7 @@ viewForHeaderInSection:(NSInteger)section {
newUserProfile.navigationItem.rightBarButtonItem = donebutton;
newUserProfile.navigationItem.title = appDelegate.activeUserProfileName;
appDelegate.userProfileViewController = newUserProfile;
[appDelegate.modalNavigationController pushViewController:newUserProfile animated:YES];
[appDelegate.modalNavigationController showViewController:newUserProfile sender:self];
[appDelegate.userProfileViewController getUserProfile];
}

View file

@ -728,9 +728,9 @@
userProfileView.navigationItem.backBarButtonItem.title = self.activeUserProfileName;
[userProfileView getUserProfile];
if (self.modalNavigationController.view.window == nil) {
[self.userProfileNavigationController pushViewController:userProfileView animated:YES];
[self.userProfileNavigationController showViewController:userProfileView sender:self];
} else {
[self.modalNavigationController pushViewController:userProfileView animated:YES];
[self.modalNavigationController showViewController:userProfileView sender:self];
};
}
@ -1518,13 +1518,12 @@
[self adjustStoryDetailWebView];
[self.feedDetailViewController.storyTitlesTable reloadData];
if (feedDetailViewController.view.window == nil) {
[feedsNavigationController pushViewController:feedDetailViewController
animated:YES];
if (detailViewController.storyTitlesOnLeft && [[UIDevice currentDevice] userInterfaceIdiom] != UIUserInterfaceIdiomPhone) {
[self.splitViewController showColumn:UISplitViewControllerColumnSupplementary];
}
if (detailViewController.storyTitlesOnLeft) {
[self.splitViewController showColumn:UISplitViewControllerColumnSupplementary];
if (feedDetailViewController.view.window == nil) {
[feedsNavigationController showViewController:feedDetailViewController sender:self];
}
}
@ -1879,7 +1878,7 @@
[navController popToRootViewControllerAnimated:NO];
}
[navController pushViewController:feedDetailViewController animated:YES];
[navController showViewController:feedDetailViewController sender:self];
}
if (!transferFromDashboard) {
@ -2009,10 +2008,10 @@
}
- (void)loadStoryDetailView {
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone || self.isCompactWidth) {
[feedsNavigationController pushViewController:detailViewController animated:YES];
feedsNavigationController.navigationItem.hidesBackButton = YES;
}
// if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone || self.isCompactWidth) {
// [self showDetailViewController:detailViewController sender:self];
// feedsNavigationController.navigationItem.hidesBackButton = YES;
// }
NSInteger activeStoryLocation = [storiesCollection locationOfActiveStory];
if (activeStoryLocation >= 0) {
@ -2037,6 +2036,8 @@
- (void)deferredChangePage:(NSDictionary *)params {
[self.detailViewController changePage:[params[@"location"] integerValue] animated:[params[@"animated"] boolValue]];
[self.detailViewController animateIntoPlace:YES];
[self.splitViewController showColumn:UISplitViewControllerColumnSecondary];
[self showDetailViewController:self.detailViewController sender:self];
}
- (void)setTitle:(NSString *)title {
@ -2156,10 +2157,9 @@
containsObject:originalStoryViewController]) {
return;
}
[feedsNavigationController pushViewController:originalStoryViewController
animated:YES];
[originalStoryViewController view]; // Force viewDidLoad
[originalStoryViewController loadInitialStory];
[feedsNavigationController showViewController:originalStoryViewController sender:self];
}
}

View file

@ -14,4 +14,12 @@ class SplitViewDelegate: NSObject, UISplitViewControllerDelegate {
func splitViewController(_ svc: UISplitViewController, topColumnForCollapsingToProposedTopColumn proposedTopColumn: UISplitViewController.Column) -> UISplitViewController.Column {
return .primary
}
func splitViewController(_ svc: UISplitViewController, displayModeForExpandingToProposedDisplayMode proposedDisplayMode: UISplitViewController.DisplayMode) -> UISplitViewController.DisplayMode {
if UIDevice.current.userInterfaceIdiom == .phone, proposedDisplayMode == .twoOverSecondary {
return .oneOverSecondary
} else {
return proposedDisplayMode
}
}
}