#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; viewController.checkedRow = [folders indexOfObject:self.inFolderInput.text] + 1;
} }
[appDelegate.addSiteNavigationController pushViewController:viewController animated:YES]; [appDelegate.addSiteNavigationController showViewController:viewController sender:self];
} }
#pragma mark - #pragma mark -

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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