mirror of
https://github.com/SoPat712/YTLitePlus.git
synced 2025-08-21 18:48:45 -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