mirror of
				https://github.com/SoPat712/YTLitePlus.git
				synced 2025-10-30 12:23:58 -04:00 
			
		
		
		
	Gesture settings
This commit is contained in:
		| @@ -212,6 +212,73 @@ static const NSInteger YTLiteSection = 789; | |||||||
|     [sectionItems addObject:appIcon]; |     [sectionItems addObject:appIcon]; | ||||||
| */ | */ | ||||||
|  |  | ||||||
|  | # pragma mark - Player Gestures - @bhackel | ||||||
|  |     // Helper to get the selected gesture mode | ||||||
|  |     static NSString* (^sectionGestureSelectedMode)(GestureMode) = ^(GestureMode sectionIndex) { | ||||||
|  |         switch (sectionIndex) { | ||||||
|  |             case GestureModeVolume: | ||||||
|  |                 return LOC(@"Volume (Beta)"); | ||||||
|  |             case GestureModeBrightness: | ||||||
|  |                 return LOC(@"Brightness (Beta)"); | ||||||
|  |             case GestureModeSeek: | ||||||
|  |                 return LOC(@"Seek (Beta)"); | ||||||
|  |             default: | ||||||
|  |                 return @"Invalid index - Report bug"; | ||||||
|  |         } | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     // Helper to generate checkmark setting items for selecting gesture modes | ||||||
|  |     static YTSettingsSectionItem* (^gestureCheckmarkSettingItem)(NSInteger, NSString *) = ^(NSInteger idx, NSString *key) { | ||||||
|  |         return [YTSettingsSectionItemClass  | ||||||
|  |             checkmarkItemWithTitle:sectionGestureSelectedMode(idx) | ||||||
|  |             selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { | ||||||
|  |                 [[NSUserDefaults standardUserDefaults] setInteger:idx forKey:key]; | ||||||
|  |                 [settingsViewController reloadData]; | ||||||
|  |                 return YES; | ||||||
|  |             } | ||||||
|  |         ]; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |     // Helper to generate a section item for selecting a gesture mode | ||||||
|  |     YTSettingsSectionItem *(^createSectionGestureSelector)(NSString *, NSString *) = ^YTSettingsSectionItem *(NSString *sectionLabel, NSString *sectionKey) { | ||||||
|  |         return [YTSettingsSectionItemClass itemWithTitle:LOC(sectionLabel) | ||||||
|  |             accessibilityIdentifier:nil | ||||||
|  |             detailTextBlock:^NSString *() { | ||||||
|  |                 return sectionGestureSelectedMode(GetSelection(sectionKey)); | ||||||
|  |             } | ||||||
|  |             selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { | ||||||
|  |                 NSArray <YTSettingsSectionItem *> *rows = @[ | ||||||
|  |                     gestureCheckmarkSettingItem(0, sectionKey),                                        | ||||||
|  |                     gestureCheckmarkSettingItem(1, sectionKey), | ||||||
|  |                     gestureCheckmarkSettingItem(2, sectionKey) | ||||||
|  |                 ]; | ||||||
|  |                  | ||||||
|  |                 YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc]  | ||||||
|  |                     initWithNavTitle:LOC(sectionLabel)  | ||||||
|  |                     pickerSectionTitle:nil  | ||||||
|  |                     rows:rows  | ||||||
|  |                     selectedItemIndex:GetSelection(sectionKey)  | ||||||
|  |                     parentResponder:[self parentResponder] | ||||||
|  |                 ]; | ||||||
|  |                 [settingsViewController pushViewController:picker]; | ||||||
|  |                 return YES; | ||||||
|  |             } | ||||||
|  |         ]; | ||||||
|  |     }; | ||||||
|  |     // High level gestures menu | ||||||
|  |     YTSettingsSectionItem *playerGesturesGroup = [YTSettingsSectionItemClass itemWithTitle:LOC(@"Player Gestures (Beta)") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { | ||||||
|  |         NSArray <YTSettingsSectionItem *> *rows = @[ | ||||||
|  |             createSectionGestureSelector(@"Top Section (Beta)", @"playerGestureTopSelection"), | ||||||
|  |             createSectionGestureSelector(@"Middle Section (Beta)", @"playerGestureMiddleSelection"), | ||||||
|  |             createSectionGestureSelector(@"Bottom Section (Beta)", @"playerGestureBottomSelection") | ||||||
|  |         ];         | ||||||
|  |         YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"Player Gestures (Beta)") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; | ||||||
|  |         [settingsViewController pushViewController:picker]; | ||||||
|  |         return YES; | ||||||
|  |     }]; | ||||||
|  |     [sectionItems addObject:playerGesturesGroup]; | ||||||
|  |  | ||||||
| # pragma mark - Video Controls Overlay Options | # pragma mark - Video Controls Overlay Options | ||||||
|     YTSettingsSectionItem *videoControlOverlayGroup = [YTSettingsSectionItemClass itemWithTitle:LOC(@"VIDEO_CONTROLS_OVERLAY_OPTIONS") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { |     YTSettingsSectionItem *videoControlOverlayGroup = [YTSettingsSectionItemClass itemWithTitle:LOC(@"VIDEO_CONTROLS_OVERLAY_OPTIONS") accessibilityIdentifier:nil detailTextBlock:nil selectBlock:^BOOL (YTSettingsCell *cell, NSUInteger arg1) { | ||||||
|         NSArray <YTSettingsSectionItem *> *rows = @[ |         NSArray <YTSettingsSectionItem *> *rows = @[ | ||||||
| @@ -234,7 +301,7 @@ static const NSInteger YTLiteSection = 789; | |||||||
|             BASIC_SWITCH(LOC(@"HIDE_HUD_MESSAGES"), LOC(@"HIDE_HUD_MESSAGES_DESC"), @"hideHUD_enabled"), |             BASIC_SWITCH(LOC(@"HIDE_HUD_MESSAGES"), LOC(@"HIDE_HUD_MESSAGES_DESC"), @"hideHUD_enabled"), | ||||||
|             BASIC_SWITCH(LOC(@"HIDE_COLLAPSE_BUTTON"), LOC(@"HIDE_COLLAPSE_BUTTON_DESC"), @"disableCollapseButton_enabled"), |             BASIC_SWITCH(LOC(@"HIDE_COLLAPSE_BUTTON"), LOC(@"HIDE_COLLAPSE_BUTTON_DESC"), @"disableCollapseButton_enabled"), | ||||||
|             BASIC_SWITCH(LOC(@"HIDE_SPEED_TOAST"), LOC(@"HIDE_SPEED_TOAST_DESC"), @"hideSpeedToast_enabled"), |             BASIC_SWITCH(LOC(@"HIDE_SPEED_TOAST"), LOC(@"HIDE_SPEED_TOAST_DESC"), @"hideSpeedToast_enabled"), | ||||||
|             BASIC_SWITCH(LOC(@"ENABLE_UYOU_GESTURES"), LOC(@"ENABLE_UYOU_GESTURES_DESC"), @"uYouGestures_enabled"), |             BASIC_SWITCH(LOC(@"ENABLE_UYOU_GESTURES"), LOC(@"ENABLE_UYOU_GESTURES_DESC"), @"playerGestures_enabled"), | ||||||
|         ];         |         ];         | ||||||
|         YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"VIDEO_CONTROLS_OVERLAY_OPTIONS") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; |         YTSettingsPickerViewController *picker = [[%c(YTSettingsPickerViewController) alloc] initWithNavTitle:LOC(@"VIDEO_CONTROLS_OVERLAY_OPTIONS") pickerSectionTitle:nil rows:rows selectedItemIndex:NSNotFound parentResponder:[self parentResponder]]; | ||||||
|         [settingsViewController pushViewController:picker]; |         [settingsViewController pushViewController:picker]; | ||||||
|   | |||||||
| @@ -52,6 +52,14 @@ | |||||||
| #define IS_ENABLED(k) [[NSUserDefaults standardUserDefaults] boolForKey:k] | #define IS_ENABLED(k) [[NSUserDefaults standardUserDefaults] boolForKey:k] | ||||||
| #define APP_THEME_IDX [[NSUserDefaults standardUserDefaults] integerForKey:@"appTheme"] | #define APP_THEME_IDX [[NSUserDefaults standardUserDefaults] integerForKey:@"appTheme"] | ||||||
|  |  | ||||||
|  | // Enum for Player Gesture selected modes | ||||||
|  | typedef NS_ENUM(NSUInteger, GestureMode) { | ||||||
|  |     GestureModeVolume, | ||||||
|  |     GestureModeBrightness, | ||||||
|  |     GestureModeSeek, | ||||||
|  |     GestureModeInvalid | ||||||
|  | }; | ||||||
|  |  | ||||||
| // YTSpeed | // YTSpeed | ||||||
| @interface YTVarispeedSwitchControllerOption : NSObject | @interface YTVarispeedSwitchControllerOption : NSObject | ||||||
| - (id)initWithTitle:(id)title rate:(float)rate; | - (id)initWithTitle:(id)title rate:(float)rate; | ||||||
|   | |||||||
| @@ -657,7 +657,7 @@ BOOL isTabSelected = NO; | |||||||
| @end | @end | ||||||
|  |  | ||||||
| // Gestures - @bhackel | // Gestures - @bhackel | ||||||
| %group uYouGestures | %group playerGestures | ||||||
| %hook YTWatchLayerViewController | %hook YTWatchLayerViewController | ||||||
| // invoked when the player view controller is either created or destroyed | // invoked when the player view controller is either created or destroyed | ||||||
| - (void)watchController:(YTWatchController *)watchController didSetPlayerViewController:(YTPlayerViewController *)playerViewController { | - (void)watchController:(YTWatchController *)watchController didSetPlayerViewController:(YTPlayerViewController *)playerViewController { | ||||||
| @@ -1008,8 +1008,8 @@ BOOL isTabSelected = NO; | |||||||
|     if (IsEnabled(@"disableEngagementOverlay_enabled")) { |     if (IsEnabled(@"disableEngagementOverlay_enabled")) { | ||||||
|         %init(gDisableEngagementOverlay); |         %init(gDisableEngagementOverlay); | ||||||
|     } |     } | ||||||
|     if (IsEnabled(@"uYouGestures_enabled")) { |     if (IsEnabled(@"playerGestures_enabled")) { | ||||||
|         %init(uYouGestures); |         %init(playerGestures); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     // Change the default value of some options |     // Change the default value of some options | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Bryce Hackel
					Bryce Hackel