Files
PojavLauncher_iOS/Natives/LauncherPreferencesViewController.m
T
Duy Tran Khanh 186e3cfbb5 Bug fixes
- Button scale slider: offset run out of screen size
- JVM arguments parser: lost "-" after parse non-first arguments
2021-07-18 19:12:13 +07:00

98 lines
3.3 KiB
Objective-C

#import "DBNumberedSlider.h"
#import "LauncherPreferences.h"
#import "LauncherPreferencesViewController.h"
#include "utils.h"
@interface LauncherPreferencesViewController () {
}
// - (void)method
@end
@implementation LauncherPreferencesViewController
UITextField* versionTextField;
- (void)viewDidLoad
{
[super viewDidLoad];
[self setNeedsUpdateOfScreenEdgesDeferringSystemGestures];
[self setNeedsUpdateOfHomeIndicatorAutoHidden];
[self setTitle:@"Launcher preferences"];
CGRect screenBounds = [[UIScreen mainScreen] bounds];
CGFloat screenScale = [[UIScreen mainScreen] scale];
int width = (int) roundf(screenBounds.size.width);
int height = (int) roundf(screenBounds.size.height) - self.navigationController.navigationBar.frame.size.height;
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.view.frame];
[self.view addSubview:scrollView];
scrollView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
// Update color mode once
if(@available(iOS 13.0, *)) {
[self traitCollectionDidChange:nil];
} else {
self.view.backgroundColor = [UIColor whiteColor];
}
UILabel *btnsizeTextView = [[UILabel alloc] initWithFrame:CGRectMake(4.0, 8.0, 0.0, 30.0)];
btnsizeTextView.text = @"Button scale: ";
btnsizeTextView.numberOfLines = 0;
btnsizeTextView.textAlignment = NSTextAlignmentCenter;
[btnsizeTextView sizeToFit];
CGRect tempRect = btnsizeTextView.frame;
tempRect.size.height = 30.0;
btnsizeTextView.frame = tempRect;
[scrollView addSubview:btnsizeTextView];
DBNumberedSlider *buttonSizeSlider = [[DBNumberedSlider alloc] initWithFrame:CGRectMake(8.0 + btnsizeTextView.frame.size.width, 8.0, self.view.frame.size.width - btnsizeTextView.frame.size.width - 12.0, btnsizeTextView.frame.size.height)];
buttonSizeSlider.tag = 1;
[buttonSizeSlider addTarget:self action:@selector(sliderMoved:) forControlEvents:UIControlEventTouchUpInside | UIControlEventTouchUpOutside];
[buttonSizeSlider setBackgroundColor:[UIColor clearColor]];
buttonSizeSlider.minimumValue = 50.0;
buttonSizeSlider.maximumValue = 500.0;
buttonSizeSlider.continuous = YES;
buttonSizeSlider.value = ((NSNumber *) getPreference(@"button_scale")).floatValue;
[scrollView addSubview:buttonSizeSlider];
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width, scrollView.frame.size.height + 200);
}
- (void)sliderMoved:(DBNumberedSlider *)sender {
switch (sender.tag) {
case 1:
setPreference(@"button_scale", @(sender.value));
break;
default:
NSLog(@"what does slider %ld for? implement me!", sender.tag);
break;
}
}
- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures {
return UIRectEdgeBottom;
}
- (BOOL)prefersHomeIndicatorAutoHidden {
return NO;
}
-(void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
if(@available(iOS 13.0, *)) {
if (UITraitCollection.currentTraitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
self.view.backgroundColor = [UIColor blackColor];
} else {
self.view.backgroundColor = [UIColor whiteColor];
}
}
}
@end