diff --git a/Limelight/Database/DataManager.h b/Limelight/Database/DataManager.h
index 3f845318..ca029755 100644
--- a/Limelight/Database/DataManager.h
+++ b/Limelight/Database/DataManager.h
@@ -20,6 +20,7 @@
audioConfig:(NSInteger)audioConfig
onscreenControls:(NSInteger)onscreenControls
keyboardToggleFingers:(NSInteger)keyboardToggleFingers
+ swipeToExitDistance:(CGFloat)swipeToExitDistance
optimizeGames:(BOOL)optimizeGames
multiController:(BOOL)multiController
swapABXYButtons:(BOOL)swapABXYButtons
diff --git a/Limelight/Database/DataManager.m b/Limelight/Database/DataManager.m
index 1d724637..2ec6ebd1 100644
--- a/Limelight/Database/DataManager.m
+++ b/Limelight/Database/DataManager.m
@@ -59,6 +59,7 @@
audioConfig:(NSInteger)audioConfig
onscreenControls:(NSInteger)onscreenControls
keyboardToggleFingers:(NSInteger)keyboardToggleFingers
+ swipeToExitDistance:(CGFloat)swipeToExitDistance
optimizeGames:(BOOL)optimizeGames
multiController:(BOOL)multiController
swapABXYButtons:(BOOL)swapABXYButtons
@@ -79,6 +80,7 @@
settingsToSave.audioConfig = [NSNumber numberWithInteger:audioConfig];
settingsToSave.onscreenControls = [NSNumber numberWithInteger:onscreenControls];
settingsToSave.keyboardToggleFingers = [NSNumber numberWithInteger:(uint16_t)keyboardToggleFingers];
+ settingsToSave.swipeToExitDistance = [NSNumber numberWithFloat:swipeToExitDistance];
settingsToSave.optimizeGames = optimizeGames;
settingsToSave.multiController = multiController;
settingsToSave.swapABXYButtons = swapABXYButtons;
diff --git a/Limelight/Database/TemporarySettings.h b/Limelight/Database/TemporarySettings.h
index 0b83b41f..495e6904 100644
--- a/Limelight/Database/TemporarySettings.h
+++ b/Limelight/Database/TemporarySettings.h
@@ -19,6 +19,7 @@
@property (nonatomic, retain) NSNumber * audioConfig;
@property (nonatomic, retain) NSNumber * onscreenControls;
@property (nonatomic, retain) NSNumber * keyboardToggleFingers;
+@property (nonatomic, retain) NSNumber * swipeToExitDistance;
@property (nonatomic, retain) NSString * uniqueId;
@property (nonatomic) enum {
CODEC_PREF_AUTO,
diff --git a/Limelight/Database/TemporarySettings.m b/Limelight/Database/TemporarySettings.m
index fa3a3165..f15adc86 100644
--- a/Limelight/Database/TemporarySettings.m
+++ b/Limelight/Database/TemporarySettings.m
@@ -86,6 +86,7 @@
self.absoluteTouchMode = settings.absoluteTouchMode;
self.statsOverlay = settings.statsOverlay;
self.keyboardToggleFingers = settings.keyboardToggleFingers;
+ self.swipeToExitDistance = settings.swipeToExitDistance;
#endif
self.uniqueId = settings.uniqueId;
diff --git a/Limelight/Limelight.xcdatamodeld/Moonlight v1.10.xcdatamodel/contents b/Limelight/Limelight.xcdatamodeld/Moonlight v1.10.xcdatamodel/contents
index 88e94d3d..a28cfaf5 100644
--- a/Limelight/Limelight.xcdatamodeld/Moonlight v1.10.xcdatamodel/contents
+++ b/Limelight/Limelight.xcdatamodeld/Moonlight v1.10.xcdatamodel/contents
@@ -37,6 +37,7 @@
+
diff --git a/Limelight/ViewControllers/SettingsViewController.h b/Limelight/ViewControllers/SettingsViewController.h
index aa4c6ea3..5ae11bd1 100644
--- a/Limelight/ViewControllers/SettingsViewController.h
+++ b/Limelight/ViewControllers/SettingsViewController.h
@@ -29,6 +29,8 @@
@property (strong, nonatomic) IBOutlet UIScrollView *scrollView;
@property (strong, nonatomic) IBOutlet UILabel *keyboardToggleFingerNumLabel;
@property (strong, nonatomic) IBOutlet UISlider *keyboardToggleFingerNumSlider;
+@property (strong, nonatomic) IBOutlet UILabel *swipeToExitDistanceUILabel;
+@property (strong, nonatomic) IBOutlet UISlider *swipeToExitDistanceSlider;
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunguarded-availability"
diff --git a/Limelight/ViewControllers/SettingsViewController.m b/Limelight/ViewControllers/SettingsViewController.m
index 71d20633..4d6dc926 100644
--- a/Limelight/ViewControllers/SettingsViewController.m
+++ b/Limelight/ViewControllers/SettingsViewController.m
@@ -263,9 +263,13 @@ BOOL isCustomResolution(CGSize res) {
[self.bitrateSlider addTarget:self action:@selector(bitrateSliderMoved) forControlEvents:UIControlEventValueChanged];
[self updateBitrateText];
[self updateResolutionDisplayViewText];
- [self.keyboardToggleFingerNumSlider setValue:(CGFloat)currentSettings.keyboardToggleFingers.intValue animated:YES]; // Load old setting. old setting was converted to uint32_t before saving.
- [self.keyboardToggleFingerNumLabel setText:[NSString stringWithFormat:@"Fingers to Tap-Toggle Local Keyboard: %@", @((uint16_t)self.keyboardToggleFingerNumSlider.value)]]; // Initiate label display
+ [self.keyboardToggleFingerNumSlider setValue:(CGFloat)currentSettings.keyboardToggleFingers.intValue animated:YES]; // Load old setting. old setting was converted to uint16_t before saving.
+ [self.keyboardToggleFingerNumLabel setText:[NSString stringWithFormat:@"Fingers to Tap-Toggle Local Keyboard: %d", (uint16_t)self.keyboardToggleFingerNumSlider.value]]; // Initiate label display
[self.keyboardToggleFingerNumSlider addTarget:self action:@selector(keyboardToggleFingerNumSliderMoved) forControlEvents:(UIControlEventValueChanged)]; // Update label display when slider is being moved.
+
+ [self.swipeToExitDistanceSlider setValue:(CGFloat)currentSettings.swipeToExitDistance.floatValue animated:YES]; // Load old setting.
+ [self.swipeToExitDistanceUILabel setText:[NSString stringWithFormat:@"Swipe & Exit Distance: %.2f * screen-width", self.swipeToExitDistanceSlider.value]]; // Initiate label display
+ [self.swipeToExitDistanceSlider addTarget:self action:@selector(swipeToExitDistanceSliderMoved) forControlEvents:(UIControlEventValueChanged)]; // Update label display when slider is being moved.
}
- (void) touchModeChanged {
@@ -460,9 +464,12 @@ BOOL isCustomResolution(CGSize res) {
}
- (void) keyboardToggleFingerNumSliderMoved{
- [self.keyboardToggleFingerNumLabel setText:[NSString stringWithFormat:@"Fingers to Tap-Toggle Local Keyboard: %@", @((uint8_t)self.keyboardToggleFingerNumSlider.value)]];
+ [self.keyboardToggleFingerNumLabel setText:[NSString stringWithFormat:@"Fingers to Tap-Toggle Local Keyboard: %d", (uint8_t)self.keyboardToggleFingerNumSlider.value]];
}
+- (void) swipeToExitDistanceSliderMoved{
+ [self.swipeToExitDistanceUILabel setText:[NSString stringWithFormat:@"Swipe & Exit Distance: %.2f * screen-width", self.swipeToExitDistanceSlider.value]];
+}
- (void) bitrateSliderMoved {
assert(self.bitrateSlider.value < (sizeof(bitrateTable) / sizeof(*bitrateTable)));
@@ -538,6 +545,7 @@ BOOL isCustomResolution(CGSize res) {
NSInteger onscreenControls = [self.onscreenControlSelector selectedSegmentIndex];
NSInteger keyboardToggleFingers = (uint16_t)self.keyboardToggleFingerNumSlider.value;
// NSLog(@"saveSettings keyboardToggleFingers %d", (uint16_t)keyboardToggleFingers);
+ CGFloat swipeToExitDistance = self.swipeToExitDistanceSlider.value;
BOOL optimizeGames = [self.optimizeSettingsSelector selectedSegmentIndex] == 1;
BOOL multiController = [self.multiControllerSelector selectedSegmentIndex] == 1;
BOOL swapABXYButtons = [self.swapABXYButtonsSelector selectedSegmentIndex] == 1;
@@ -555,6 +563,7 @@ BOOL isCustomResolution(CGSize res) {
audioConfig:2 // Stereo
onscreenControls:onscreenControls
keyboardToggleFingers:keyboardToggleFingers
+ swipeToExitDistance:swipeToExitDistance
optimizeGames:optimizeGames
multiController:multiController
swapABXYButtons:swapABXYButtons
diff --git a/Limelight/ViewControllers/StreamFrameViewController.m b/Limelight/ViewControllers/StreamFrameViewController.m
index 7998f956..95ce6c65 100644
--- a/Limelight/ViewControllers/StreamFrameViewController.m
+++ b/Limelight/ViewControllers/StreamFrameViewController.m
@@ -86,7 +86,7 @@
[UIApplication sharedApplication].idleTimerDisabled = YES;
- _settings = [[[DataManager alloc] init] getSettings];
+ _settings = [[[DataManager alloc] init] getSettings]; //StreamFrameViewController retrieve the settings here.
_stageLabel = [[UILabel alloc] init];
[_stageLabel setUserInteractionEnabled:NO];
@@ -134,7 +134,7 @@
#else
_exitSwipeRecognizer = [[CustomEdgeSwipeGestureRecognizer alloc] initWithTarget:self action:@selector(edgeSwiped)];
_exitSwipeRecognizer.edges = UIRectEdgeLeft;
- _exitSwipeRecognizer.normalizedThresholdDistance = 0.5f;
+ _exitSwipeRecognizer.normalizedThresholdDistance = _settings.swipeToExitDistance.floatValue;
_exitSwipeRecognizer.delaysTouchesBegan = NO;
_exitSwipeRecognizer.delaysTouchesEnded = NO;
[self.view addGestureRecognizer:_exitSwipeRecognizer];
diff --git a/iPad.storyboard b/iPad.storyboard
index 224584ec..4412cd67 100644
--- a/iPad.storyboard
+++ b/iPad.storyboard
@@ -160,14 +160,14 @@
-
+
@@ -177,14 +177,14 @@
-
+
@@ -194,21 +194,21 @@
-
+
@@ -218,14 +218,14 @@
-
+
@@ -237,14 +237,14 @@
-
+
@@ -254,14 +254,14 @@
-
+
@@ -271,14 +271,14 @@
-
+
@@ -288,14 +288,14 @@
-
+
@@ -305,7 +305,7 @@
-
+
@@ -327,6 +327,19 @@
+
+
+
+
+
+
@@ -349,6 +362,8 @@
+
+