diff --git a/Limelight/Base.lproj/iPad.storyboard b/Limelight/Base.lproj/iPad.storyboard
index f4ce1213..83a57d4e 100644
--- a/Limelight/Base.lproj/iPad.storyboard
+++ b/Limelight/Base.lproj/iPad.storyboard
@@ -561,7 +561,6 @@ ICAgICAgICAgICAgICA
-
@@ -971,32 +970,45 @@ ICAgICAgICAgICAgICA
-
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
@@ -1008,24 +1020,26 @@ ICAgICAgICAgICAgICA
-
+
-
-
-
-
-
+
+
+
+
+
+
+
-
+
@@ -1036,13 +1050,13 @@ ICAgICAgICAgICAgICA
-
+
-
+
diff --git a/Limelight/Base.lproj/iPhone.storyboard b/Limelight/Base.lproj/iPhone.storyboard
index 90f52f03..332ef87e 100644
--- a/Limelight/Base.lproj/iPhone.storyboard
+++ b/Limelight/Base.lproj/iPhone.storyboard
@@ -552,7 +552,6 @@ ICAgICAgICAgICAgIA
-
@@ -974,26 +973,38 @@ ICAgICAgICAgICAgIA
-
+
-
+
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1012,16 +1023,18 @@ ICAgICAgICAgICAgIA
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/Limelight/Input/OnScreenControls.m b/Limelight/Input/OnScreenControls.m
index 57d14b56..0d388339 100644
--- a/Limelight/Input/OnScreenControls.m
+++ b/Limelight/Input/OnScreenControls.m
@@ -824,7 +824,7 @@ static float L3_Y;
- (void) setOpacityForCutsomControllerLayers {
OSCProfile *oscProfile = [profilesManager getSelectedProfile];
- bool defaultProfileSelected = [profilesManager getIndexOfSelectedProfile] == 0;
+ // bool defaultProfileSelected = [profilesManager getIndexOfSelectedProfile] == 0;
for (NSData *buttonStateEncoded in oscProfile.buttonStates) {
OnScreenButtonState* buttonStateDecoded = [profilesManager unarchiveButtonStateEncoded:buttonStateEncoded];
diff --git a/Limelight/Limelight.xcdatamodeld/Moonlight v1.10.xcdatamodel/contents b/Limelight/Limelight.xcdatamodeld/Moonlight v1.10.xcdatamodel/contents
index f6a71e28..b9e5aae2 100644
--- a/Limelight/Limelight.xcdatamodeld/Moonlight v1.10.xcdatamodel/contents
+++ b/Limelight/Limelight.xcdatamodeld/Moonlight v1.10.xcdatamodel/contents
@@ -27,7 +27,7 @@
-
+
diff --git a/Limelight/ViewControllers/CustomOSCViewControl/OSCProfilesTableViewController.h b/Limelight/ViewControllers/CustomOSCViewControl/OSCProfilesTableViewController.h
index 7ccba371..c6769bf9 100644
--- a/Limelight/ViewControllers/CustomOSCViewControl/OSCProfilesTableViewController.h
+++ b/Limelight/ViewControllers/CustomOSCViewControl/OSCProfilesTableViewController.h
@@ -28,6 +28,7 @@ typedef NS_ENUM(NSUInteger, FileOperation) {
@property (nonatomic, copy) void (^needToUpdateOscLayoutTVC)(void);
@property (nonatomic, assign) NSMutableArray *currentOSCButtonLayers;
@property (nonatomic, assign) CGRect streamViewBounds;
+@property (weak, nonatomic) IBOutlet UINavigationBar *profileTableViewNavigationBar;
@end
diff --git a/Limelight/ViewControllers/CustomOSCViewControl/OSCProfilesTableViewController.m b/Limelight/ViewControllers/CustomOSCViewControl/OSCProfilesTableViewController.m
index 3a9c3aa8..898092c2 100644
--- a/Limelight/ViewControllers/CustomOSCViewControl/OSCProfilesTableViewController.m
+++ b/Limelight/ViewControllers/CustomOSCViewControl/OSCProfilesTableViewController.m
@@ -45,9 +45,31 @@ const double NAV_BAR_HEIGHT = 50;
}
+- (void) viewDidLayoutSubviews {
+ CGRect bounds = self.profileTableViewNavigationBar.bounds;
+ CGSize cornerSize = CGSizeMake(15, 15);
+
+ // 创建一个 UIBezierPath,设置顶部圆角
+ UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:bounds byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight) cornerRadii:cornerSize];
+ //byRoundingCorners:(UIRectCornerTopLeft | UIRectCornerTopRight) // 只设置上半部分圆角
+ // cornerRadius:10]; // 圆角半径
+
+ // 创建一个 CAShapeLayer 并将圆角路径应用到该图层
+ CAShapeLayer *maskLayer = [CAShapeLayer layer];
+ maskLayer.frame = bounds;
+ maskLayer.path = path.CGPath;
+
+ self.profileTableViewNavigationBar.layer.masksToBounds = true; // 使圆角生效
+ self.profileTableViewNavigationBar.layer.mask = maskLayer;
+
+ self.tableView.layer.cornerRadius = 15; // 设置圆角半径
+ self.tableView.layer.masksToBounds = true; // 使圆角生效
+}
+
- (void) viewDidLoad {
[super viewDidLoad];
+ // self.profileTableViewNavigationBar.layer.cornerRadius = 15; // 设置圆角半径
profilesManager = [OSCProfilesManager sharedManager:_streamViewBounds];
@@ -67,8 +89,8 @@ const double NAV_BAR_HEIGHT = 50;
- (void) viewDidAppear:(BOOL)animated {
[super viewDidAppear: animated];
- self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, NAV_BAR_HEIGHT)];
+ self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, NAV_BAR_HEIGHT)];
self.tableView.delegate = self;
self.tableView.dataSource = self;
@@ -189,6 +211,9 @@ const double NAV_BAR_HEIGHT = 50;
[self presentViewController:documentPicker animated:YES completion:nil];
}
+- (IBAction) exitTapped:(id)sender {
+ [self dismissViewControllerAnimated:YES completion:nil];
+}
#pragma mark - UIDocumentPickerDelegate
- (void)documentPicker:(UIDocumentPickerViewController *)controller
diff --git a/Limelight/mul.lproj/iPad.xcstrings b/Limelight/mul.lproj/iPad.xcstrings
index 95f81eb5..0d696f8e 100644
--- a/Limelight/mul.lproj/iPad.xcstrings
+++ b/Limelight/mul.lproj/iPad.xcstrings
@@ -536,13 +536,13 @@
}
},
"Bhn-IO-Wlt.title" : {
- "comment" : "Class = \"UIBarButtonItem\"; title = \"Export All\"; ObjectID = \"Bhn-IO-Wlt\";",
+ "comment" : "Class = \"UIBarButtonItem\"; title = \"ExportAll\"; ObjectID = \"Bhn-IO-Wlt\";",
"extractionState" : "extracted_with_value",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "new",
- "value" : "Export All"
+ "value" : "ExportAll"
}
},
"zh-Hans" : {
@@ -895,6 +895,36 @@
}
}
},
+ "czn-mj-8d1.title" : {
+ "comment" : "Class = \"UIBarButtonItem\"; title = \"Exit\"; ObjectID = \"czn-mj-8d1\";",
+ "extractionState" : "extracted_with_value",
+ "localizations" : {
+ "en" : {
+ "stringUnit" : {
+ "state" : "new",
+ "value" : "Exit"
+ }
+ },
+ "zh-Hans" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "退出"
+ }
+ },
+ "zh-Hant" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "退出"
+ }
+ },
+ "zh-HK" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "退出"
+ }
+ }
+ }
+ },
"DkI-w6-jku.text" : {
"comment" : "Class = \"UILabel\"; text = \"Touch Pointer Velocity: Scaled on 0% of Right Screen \"; ObjectID = \"DkI-w6-jku\";",
"extractionState" : "extracted_with_value",
@@ -2529,7 +2559,7 @@
},
"VWB-YB-Ptj.segmentTitles[2]" : {
"comment" : "Class = \"UISegmentedControl\"; VWB-YB-Ptj.segmentTitles[2] = \"Disabled\"; ObjectID = \"VWB-YB-Ptj\";",
- "extractionState" : "extracted_with_value",
+ "extractionState" : "stale",
"localizations" : {
"en" : {
"stringUnit" : {
diff --git a/Limelight/mul.lproj/iPhone.xcstrings b/Limelight/mul.lproj/iPhone.xcstrings
index b8b5d311..691e25fd 100644
--- a/Limelight/mul.lproj/iPhone.xcstrings
+++ b/Limelight/mul.lproj/iPhone.xcstrings
@@ -890,30 +890,30 @@
}
},
"D9X-7p-9oc.title" : {
- "comment" : "Class = \"UIBarButtonItem\"; title = \"Export All\"; ObjectID = \"D9X-7p-9oc\";",
+ "comment" : "Class = \"UIBarButtonItem\"; title = \"ExportAll\"; ObjectID = \"D9X-7p-9oc\";",
"extractionState" : "extracted_with_value",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "new",
- "value" : "Export All"
+ "value" : "ExportAll"
}
},
"zh-Hans" : {
"stringUnit" : {
- "state" : "translated",
+ "state" : "needs_review",
"value" : "导出所有"
}
},
"zh-Hant" : {
"stringUnit" : {
- "state" : "translated",
+ "state" : "needs_review",
"value" : "导出所有"
}
},
"zh-HK" : {
"stringUnit" : {
- "state" : "translated",
+ "state" : "needs_review",
"value" : "导出所有"
}
}
@@ -2149,6 +2149,36 @@
}
}
},
+ "sUC-Ur-7eI.title" : {
+ "comment" : "Class = \"UIBarButtonItem\"; title = \"Exit\"; ObjectID = \"sUC-Ur-7eI\";",
+ "extractionState" : "extracted_with_value",
+ "localizations" : {
+ "en" : {
+ "stringUnit" : {
+ "state" : "new",
+ "value" : "Exit"
+ }
+ },
+ "zh-Hans" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "退出"
+ }
+ },
+ "zh-Hant" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "退出"
+ }
+ },
+ "zh-HK" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "退出"
+ }
+ }
+ }
+ },
"svh-LO-bTr.text" : {
"comment" : "Class = \"UILabel\"; text = \"Reverse Wheel Direction for Physical Mouse \"; ObjectID = \"svh-LO-bTr\";",
"extractionState" : "extracted_with_value",
@@ -2313,7 +2343,7 @@
},
"VWB-YB-Ptj.segmentTitles[2]" : {
"comment" : "Class = \"UISegmentedControl\"; VWB-YB-Ptj.segmentTitles[2] = \"Disabled\"; ObjectID = \"VWB-YB-Ptj\";",
- "extractionState" : "extracted_with_value",
+ "extractionState" : "stale",
"localizations" : {
"en" : {
"stringUnit" : {