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" : {