mirror of
				https://github.com/SoPat712/YTLitePlus.git
				synced 2025-10-31 04:44:14 -04:00 
			
		
		
		
	added files via upload
This commit is contained in:
		
							
								
								
									
										137
									
								
								Tweaks/FLEX/Core/FLEXTableViewSection.m
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										137
									
								
								Tweaks/FLEX/Core/FLEXTableViewSection.m
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,137 @@ | ||||
| // | ||||
| //  FLEXTableViewSection.m | ||||
| //  FLEX | ||||
| // | ||||
| //  Created by Tanner on 1/29/20. | ||||
| //  Copyright © 2020 FLEX Team. All rights reserved. | ||||
| // | ||||
|  | ||||
| #import "FLEXTableViewSection.h" | ||||
| #import "FLEXTableView.h" | ||||
| #import "FLEXUtility.h" | ||||
| #import "UIMenu+FLEX.h" | ||||
|  | ||||
| #pragma clang diagnostic push | ||||
| #pragma clang diagnostic ignored "-Wincomplete-implementation" | ||||
|  | ||||
| @implementation FLEXTableViewSection | ||||
|  | ||||
| - (NSInteger)numberOfRows { | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
| - (void)reloadData { } | ||||
|  | ||||
| - (void)reloadData:(BOOL)updateTable { | ||||
|     [self reloadData]; | ||||
|     if (updateTable) { | ||||
|         NSIndexSet *index = [NSIndexSet indexSetWithIndex:_sectionIndex]; | ||||
|         [_tableView reloadSections:index withRowAnimation:UITableViewRowAnimationNone]; | ||||
|     } | ||||
| } | ||||
|  | ||||
| - (void)setTable:(UITableView *)tableView section:(NSInteger)index { | ||||
|     _tableView = tableView; | ||||
|     _sectionIndex = index; | ||||
| } | ||||
|  | ||||
| - (NSDictionary<NSString *,Class> *)cellRegistrationMapping { | ||||
|     return nil; | ||||
| } | ||||
|  | ||||
| - (BOOL)canSelectRow:(NSInteger)row { return NO; } | ||||
|  | ||||
| - (void (^)(__kindof UIViewController *))didSelectRowAction:(NSInteger)row { | ||||
|     UIViewController *toPush = [self viewControllerToPushForRow:row]; | ||||
|     if (toPush) { | ||||
|         return ^(UIViewController *host) { | ||||
|             [host.navigationController pushViewController:toPush animated:YES]; | ||||
|         }; | ||||
|     } | ||||
|  | ||||
|     return nil; | ||||
| } | ||||
|  | ||||
| - (UIViewController *)viewControllerToPushForRow:(NSInteger)row { | ||||
|     return nil; | ||||
| } | ||||
|  | ||||
| - (void (^)(__kindof UIViewController *))didPressInfoButtonAction:(NSInteger)row { | ||||
|     return nil; | ||||
| } | ||||
|  | ||||
| - (NSString *)reuseIdentifierForRow:(NSInteger)row { | ||||
|     return kFLEXDefaultCell; | ||||
| } | ||||
|  | ||||
| - (NSString *)menuTitleForRow:(NSInteger)row { | ||||
|     NSString *title = [self titleForRow:row]; | ||||
|     NSString *subtitle = [self menuSubtitleForRow:row]; | ||||
|      | ||||
|     if (subtitle.length) { | ||||
|         return [NSString stringWithFormat:@"%@\n\n%@", title, subtitle]; | ||||
|     } | ||||
|      | ||||
|     return title; | ||||
| } | ||||
|  | ||||
| - (NSString *)menuSubtitleForRow:(NSInteger)row { | ||||
|     return @""; | ||||
| } | ||||
|  | ||||
| - (NSArray<UIMenuElement *> *)menuItemsForRow:(NSInteger)row sender:(UIViewController *)sender API_AVAILABLE(ios(13)) { | ||||
|     NSArray<NSString *> *copyItems = [self copyMenuItemsForRow:row]; | ||||
|     NSAssert(copyItems.count % 2 == 0, @"copyMenuItemsForRow: should return an even list"); | ||||
|      | ||||
|     if (copyItems.count) { | ||||
|         NSInteger numberOfActions = copyItems.count / 2; | ||||
|         BOOL collapseMenu = numberOfActions > 4; | ||||
|         UIImage *copyIcon = [UIImage systemImageNamed:@"doc.on.doc"]; | ||||
|          | ||||
|         NSMutableArray *actions = [NSMutableArray new]; | ||||
|          | ||||
|         for (NSInteger i = 0; i < copyItems.count; i += 2) { | ||||
|             NSString *key = copyItems[i], *value = copyItems[i+1]; | ||||
|             NSString *title = collapseMenu ? key : [@"Copy " stringByAppendingString:key]; | ||||
|              | ||||
|             UIAction *copy = [UIAction | ||||
|                 actionWithTitle:title | ||||
|                 image:copyIcon | ||||
|                 identifier:nil | ||||
|                 handler:^(__kindof UIAction *action) { | ||||
|                     UIPasteboard.generalPasteboard.string = value; | ||||
|                 } | ||||
|             ]; | ||||
|             if (!value.length) { | ||||
|                 copy.attributes = UIMenuElementAttributesDisabled; | ||||
|             } | ||||
|              | ||||
|             [actions addObject:copy]; | ||||
|         } | ||||
|          | ||||
|         UIMenu *copyMenu = [UIMenu | ||||
|             flex_inlineMenuWithTitle:@"Copy…"  | ||||
|             image:copyIcon | ||||
|             children:actions | ||||
|         ]; | ||||
|          | ||||
|         if (collapseMenu) { | ||||
|             return @[[copyMenu flex_collapsed]]; | ||||
|         } else { | ||||
|             return @[copyMenu]; | ||||
|         } | ||||
|     } | ||||
|      | ||||
|     return @[]; | ||||
| } | ||||
|  | ||||
| - (NSArray<NSString *> *)copyMenuItemsForRow:(NSInteger)row { | ||||
|     return nil; | ||||
| } | ||||
|  | ||||
| - (NSString *)titleForRow:(NSInteger)row { return nil; } | ||||
| - (NSString *)subtitleForRow:(NSInteger)row { return nil; } | ||||
|  | ||||
| @end | ||||
|  | ||||
| #pragma clang diagnostic pop | ||||
		Reference in New Issue
	
	Block a user
	 Balackburn
					Balackburn