- feat: edge sliding sensitivity for edge sliding gestures

- update flag for new preset widget profiles
This commit is contained in:
TrueZhuanjia
2025-10-14 22:34:28 +08:00
parent c963c1254d
commit 6ff2add9dd
26 changed files with 233 additions and 79 deletions
@@ -737,6 +737,7 @@ BOOL isCustomResolution(int resolutionSelected) {
[self addSetting:self.slideToSettingsScreenEdgeStack ofId:@"slideToSettingsScreenEdgeStack" withInfoTag:NO withDynamicLabel:NO to:gesturesSection];
[self addSetting:self.slideToToolboxScreenEdgeStack ofId:@"slideToToolboxScreenEdgeStack" withInfoTag:NO withDynamicLabel:NO to:gesturesSection];
[self addSetting:self.slideToSettingsDistanceStack ofId:@"slideToSettingsDistanceStack" withInfoTag:YES withDynamicLabel:YES to:gesturesSection];
[self addSetting:self.edgeSlidingSensitivityStack ofId:@"edgeSlidingSensitivityStack" withInfoTag:YES withDynamicLabel:YES to:gesturesSection];
[gesturesSection addToParentStack:_parentStack];
// [gesturesSection setExpanded:NO];
@@ -1512,7 +1513,7 @@ BOOL isCustomResolution(int resolutionSelected) {
self->slideToCloseSettingsViewRecognizer = [[CustomEdgeSlideGestureRecognizer alloc] initWithTarget:self action:@selector(edgeSwiped)];
self->slideToCloseSettingsViewRecognizer.edges = UIRectEdgeLeft;
self->slideToCloseSettingsViewRecognizer.normalizedThresholdDistance = 0.0;
self->slideToCloseSettingsViewRecognizer.EDGE_TOLERANCE = 10;
self->slideToCloseSettingsViewRecognizer.edgeTolerance = 10;
self->slideToCloseSettingsViewRecognizer.immediateTriggering = true;
self->slideToCloseSettingsViewRecognizer.delaysTouchesBegan = NO;
self->slideToCloseSettingsViewRecognizer.delaysTouchesEnded = NO;
@@ -1773,7 +1774,9 @@ BOOL isCustomResolution(int resolutionSelected) {
[self.slideToMenuDistanceSlider addTarget:self action:@selector(slideToMenuDistanceSliderMoved:) forControlEvents:(UIControlEventValueChanged)]; // Update label display when slider is being moved.
[self slideToMenuDistanceSliderMoved:self.slideToMenuDistanceSlider];
[self.edgeSlidingSensitivitySlider setValue:self->tempSettings.edgeSlidingSensitivity.floatValue];
[self.edgeSlidingSensitivitySlider addTarget:self action:@selector(edgeSlidingSensitivitySliderMoved:) forControlEvents:(UIControlEventValueChanged)]; // Update label display when slider is being moved.
[self edgeSlidingSensitivitySliderMoved:self.edgeSlidingSensitivitySlider];
//TouchMode & OSC Related Settings:
@@ -2549,6 +2552,14 @@ BOOL isCustomResolution(int resolutionSelected) {
displayLabel.text = [NSString stringWithFormat:@" %@ ", labelText];
}
- (void) edgeSlidingSensitivitySliderMoved:(UISlider* )sender{
UILabel* displayLabel = [self findDynamicLabelFromStack:_edgeSlidingSensitivityStack];
// displayLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium];
NSString* labelText = [LocalizationHelper localizedStringForKey:@" %d ", (uint8_t)sender.value];
displayLabel.text = [NSString stringWithFormat:@" %@ ", labelText];
}
- (void) bitrateSliderMoved {
assert(self.bitrateSlider.value < (sizeof(bitrateTable) / sizeof(*bitrateTable)));
_bitrate = bitrateTable[(int)self.bitrateSlider.value];
@@ -2811,6 +2822,7 @@ BOOL isCustomResolution(int resolutionSelected) {
BOOL rememberFoldState = self.rememberFoldStateSwitch.isOn;
CGFloat singleTapSensitivity = self.singleTapSensitivitySlider.value;
NSInteger hapticEngine = self.hapticEngineSelector.selectedSegmentIndex;
CGFloat edgeSlidingSensitivity = self.edgeSlidingSensitivitySlider.value;
NSInteger backgroundSessionTimer = self.backgroundSessionTimerSlider.value == self.backgroundSessionTimerSlider.maximumValue ? (uint32_t) INT16_MAX : (uint32_t)self.backgroundSessionTimerSlider.value;
[dataMan saveSettingsWithBitrate:_bitrate
@@ -2864,6 +2876,7 @@ BOOL isCustomResolution(int resolutionSelected) {
rememberFoldState:rememberFoldState
singleTapSensitivy:singleTapSensitivity
hapticEngine:hapticEngine
edgeSlidingSensitivity:edgeSlidingSensitivity
backgroundSessionTimer:backgroundSessionTimer];
}