diff --git a/Limelight/Database/DataManager.h b/Limelight/Database/DataManager.h
index ca029755..03be812d 100644
--- a/Limelight/Database/DataManager.h
+++ b/Limelight/Database/DataManager.h
@@ -20,6 +20,7 @@
audioConfig:(NSInteger)audioConfig
onscreenControls:(NSInteger)onscreenControls
keyboardToggleFingers:(NSInteger)keyboardToggleFingers
+ swipeExitScreenEdge:(NSInteger)swipeExitScreenEdge
swipeToExitDistance:(CGFloat)swipeToExitDistance
optimizeGames:(BOOL)optimizeGames
multiController:(BOOL)multiController
diff --git a/Limelight/Database/DataManager.m b/Limelight/Database/DataManager.m
index 2ec6ebd1..32df7b84 100644
--- a/Limelight/Database/DataManager.m
+++ b/Limelight/Database/DataManager.m
@@ -59,6 +59,7 @@
audioConfig:(NSInteger)audioConfig
onscreenControls:(NSInteger)onscreenControls
keyboardToggleFingers:(NSInteger)keyboardToggleFingers
+ swipeExitScreenEdge:(NSInteger)swipeExitScreenEdge
swipeToExitDistance:(CGFloat)swipeToExitDistance
optimizeGames:(BOOL)optimizeGames
multiController:(BOOL)multiController
@@ -80,6 +81,7 @@
settingsToSave.audioConfig = [NSNumber numberWithInteger:audioConfig];
settingsToSave.onscreenControls = [NSNumber numberWithInteger:onscreenControls];
settingsToSave.keyboardToggleFingers = [NSNumber numberWithInteger:(uint16_t)keyboardToggleFingers];
+ settingsToSave.swipeExitScreenEdge = [NSNumber numberWithInteger:(uint32_t)swipeExitScreenEdge];
settingsToSave.swipeToExitDistance = [NSNumber numberWithFloat:swipeToExitDistance];
settingsToSave.optimizeGames = optimizeGames;
settingsToSave.multiController = multiController;
diff --git a/Limelight/Database/TemporarySettings.h b/Limelight/Database/TemporarySettings.h
index 495e6904..a5aa7459 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 * swipeExitScreenEdge;
@property (nonatomic, retain) NSNumber * swipeToExitDistance;
@property (nonatomic, retain) NSString * uniqueId;
@property (nonatomic) enum {
diff --git a/Limelight/Database/TemporarySettings.m b/Limelight/Database/TemporarySettings.m
index f15adc86..1ed58632 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.swipeExitScreenEdge = settings.swipeExitScreenEdge;
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 a28cfaf5..bf5f2f7f 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 5ae11bd1..944d2e94 100644
--- a/Limelight/ViewControllers/SettingsViewController.h
+++ b/Limelight/ViewControllers/SettingsViewController.h
@@ -29,6 +29,7 @@
@property (strong, nonatomic) IBOutlet UIScrollView *scrollView;
@property (strong, nonatomic) IBOutlet UILabel *keyboardToggleFingerNumLabel;
@property (strong, nonatomic) IBOutlet UISlider *keyboardToggleFingerNumSlider;
+@property (strong, nonatomic) IBOutlet UISegmentedControl *swipeExitScreenEdgeSelector;
@property (strong, nonatomic) IBOutlet UILabel *swipeToExitDistanceUILabel;
@property (strong, nonatomic) IBOutlet UISlider *swipeToExitDistanceSlider;
diff --git a/Limelight/ViewControllers/SettingsViewController.m b/Limelight/ViewControllers/SettingsViewController.m
index 4d6dc926..c5fff78b 100644
--- a/Limelight/ViewControllers/SettingsViewController.m
+++ b/Limelight/ViewControllers/SettingsViewController.m
@@ -10,6 +10,7 @@
#import "TemporarySettings.h"
#import "DataManager.h"
+#import
#import
#import
@@ -263,15 +264,37 @@ 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 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.swipeExitScreenEdgeSelector setSelectedSegmentIndex:[self getSelectorIndexFromScreenEdge:(uint32_t)currentSettings.swipeExitScreenEdge.integerValue]]; // Load old setting
[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.
}
+- (uint32_t) getScreenEdgeFromSelector {
+ switch (self.swipeExitScreenEdgeSelector.selectedSegmentIndex) {
+ case 0: return UIRectEdgeLeft;
+ case 1: return UIRectEdgeRight;
+ case 2: return UIRectEdgeLeft|UIRectEdgeRight;
+ default: return UIRectEdgeLeft;
+ }
+}
+
+- (uint32_t) getSelectorIndexFromScreenEdge: (uint32_t)edge {
+ switch (edge) {
+ case UIRectEdgeLeft: return 0;
+ case UIRectEdgeRight: return 1;
+ case UIRectEdgeLeft|UIRectEdgeRight: return 2;
+ default: return 0;
+ }
+ return 0;
+}
+
+
- (void) touchModeChanged {
// Disable on-screen controls in absolute touch mode
[self.onscreenControlSelector setEnabled:[self.touchModeSelector selectedSegmentIndex] == 0];
@@ -546,6 +569,7 @@ BOOL isCustomResolution(CGSize res) {
NSInteger keyboardToggleFingers = (uint16_t)self.keyboardToggleFingerNumSlider.value;
// NSLog(@"saveSettings keyboardToggleFingers %d", (uint16_t)keyboardToggleFingers);
CGFloat swipeToExitDistance = self.swipeToExitDistanceSlider.value;
+ uint32_t swipeExitScreenEdge = [self getScreenEdgeFromSelector];
BOOL optimizeGames = [self.optimizeSettingsSelector selectedSegmentIndex] == 1;
BOOL multiController = [self.multiControllerSelector selectedSegmentIndex] == 1;
BOOL swapABXYButtons = [self.swapABXYButtonsSelector selectedSegmentIndex] == 1;
@@ -563,6 +587,7 @@ BOOL isCustomResolution(CGSize res) {
audioConfig:2 // Stereo
onscreenControls:onscreenControls
keyboardToggleFingers:keyboardToggleFingers
+ swipeExitScreenEdge:swipeExitScreenEdge
swipeToExitDistance:swipeToExitDistance
optimizeGames:optimizeGames
multiController:multiController
diff --git a/Limelight/ViewControllers/StreamFrameViewController.m b/Limelight/ViewControllers/StreamFrameViewController.m
index 95ce6c65..f558764b 100644
--- a/Limelight/ViewControllers/StreamFrameViewController.m
+++ b/Limelight/ViewControllers/StreamFrameViewController.m
@@ -133,7 +133,7 @@
#else
_exitSwipeRecognizer = [[CustomEdgeSwipeGestureRecognizer alloc] initWithTarget:self action:@selector(edgeSwiped)];
- _exitSwipeRecognizer.edges = UIRectEdgeLeft;
+ _exitSwipeRecognizer.edges = _settings.swipeExitScreenEdge.intValue;
_exitSwipeRecognizer.normalizedThresholdDistance = _settings.swipeToExitDistance.floatValue;
_exitSwipeRecognizer.delaysTouchesBegan = NO;
_exitSwipeRecognizer.delaysTouchesEnded = NO;
diff --git a/iPad.storyboard b/iPad.storyboard
index 4412cd67..349c4d99 100644
--- a/iPad.storyboard
+++ b/iPad.storyboard
@@ -109,6 +109,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -160,14 +179,14 @@
-
+
@@ -177,14 +196,14 @@
-
+
@@ -194,21 +213,21 @@
-
+
@@ -218,14 +237,14 @@
-
+
@@ -237,14 +256,14 @@
-
+
@@ -254,14 +273,14 @@
-
+
@@ -271,14 +290,14 @@
-
+
@@ -288,14 +307,14 @@
-
+
@@ -305,7 +324,7 @@
-
+
@@ -315,12 +334,12 @@
-
+
-
+