FMCPlanner2/FMC Planner 2/ViewController.m

160 lines
5.5 KiB
Objective-C

//
// ViewController.m
// FMC Planner 2
//
// Created by Kilian Hofmann on 19.03.16.
// Copyright © 2016 Kilian Hofmann. All rights reserved.
//
#import "ViewController.h"
@implementation ViewController
#pragma mark - View management and navigation
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// Round corners
_backdropKeys.layer.cornerRadius = 5;
_backdropKeys.layer.masksToBounds = YES;
_backdropScreen.layer.cornerRadius = 5;
_backdropScreen.layer.masksToBounds = YES;
// Setup save system
_save = [[NSMutableDictionary alloc] init];
_firstLoad = true;
self.title = @"FMC";
// Override point for customization after application launch._dbClient =
// [[DropboxV2ObjC alloc] init];
NSDictionary *credentials =
[[NSURLCredentialStorage sharedCredentialStorage]
credentialsForProtectionSpace:_dbClient.kDropboxProtectionSpace];
NSURLCredential *credential = [credentials.objectEnumerator nextObject];
_dbClient.token = credential.password;
// Reset if user changed it
[_dbClient setupDropboxWithHandler:^{
}
presenter:self];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[queue addOperationWithBlock:^{
_navDataParser = [[NavDataParser alloc] init];
}];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSString *segueName = segue.identifier;
if ([segueName isEqualToString:@"keyboard"]) {
_keys = (ViewControllerKeyboard *)segue.destinationViewController;
_keys.main = self;
}
if ([segueName isEqualToString:@"screen"]) {
_screen = (ViewControllerScreen *)segue.destinationViewController;
_screen.main = self;
}
}
#pragma mark - Loading and saving actions
- (void)saveToFile:(NSDictionary *)save
{
NSString *file = [[NSString alloc] init];
if ([_save valueForKey:@"MENU@LSKR1"] != nil) {
file = [SharedDeclerations
savePathForFile:[@"SAVES/" stringByAppendingString:
[_save valueForKey:@"MENU@LSKR1"]]];
}
if (_firstLoad) {
if ([[NSFileManager defaultManager] fileExistsAtPath:file]) {
[self alertViewiOS7:file];
}
else if (!([[_save valueForKey:@"MENU@LSKR1"] isEqualToString:@""]) &&
[_save valueForKey:@"MENU@LSKR1"] != nil) {
[_save writeToFile:file atomically:YES];
}
}
else if (!([_save valueForKey:@"MENU@LSKR1"] == nil ||
[[_save valueForKey:@"MENU@LSKR1"] isEqualToString:@""])) {
[_save writeToFile:file atomically:YES];
}
_firstLoad = false;
}
- (void)loadSave:(NSString *)file
{
if ([[NSFileManager defaultManager]
fileExistsAtPath:[SharedDeclerations savePathForFile:file]]) {
_save = [[NSMutableDictionary alloc]
initWithContentsOfFile:[SharedDeclerations savePathForFile:file]];
[_screen clearScreen];
[_screen loadDataToScreen];
}
}
#pragma mark - Delegate for UIAlertView and UIAlertController outsource
- (void)alertView:(UIAlertView *)alertView
clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 1) {
[self loadSave:[@"SAVES/" stringByAppendingString:
[_save valueForKey:@"MENU@LSKR1"]]];
}
else if (buttonIndex == 2) {
[_save
writeToFile:[SharedDeclerations
savePathForFile:[_save valueForKey:@"MENU@LSKR1"]]
atomically:YES];
}
else {
_screen.LSK_R1.text = _backupCoRte;
}
}
- (void)alertViewiOS7:(NSString *)file
{
if ([UIAlertController class]) {
UIAlertController *alert = [UIAlertController
alertControllerWithTitle:@"Load or replace?"
message:@"The entered CO ROUTE alreay exists. "
@"Do you want to load or replace it?"
preferredStyle:UIAlertControllerStyleActionSheet];
UIAlertAction *defaultAction =
[UIAlertAction actionWithTitle:@"Cancel"
style:UIAlertActionStyleCancel
handler:nil];
UIAlertAction *loadAction = [UIAlertAction
actionWithTitle:@"Load"
style:UIAlertActionStyleDefault
handler:^(UIAlertAction *action) {
[self loadSave:[_save valueForKey:@"MENU@LSKR1"]];
}];
UIAlertAction *replaceAction =
[UIAlertAction actionWithTitle:@"Replace"
style:UIAlertActionStyleDefault
handler:^(UIAlertAction *action) {
[_save writeToFile:file atomically:YES];
}];
[alert addAction:defaultAction];
[alert addAction:loadAction];
[alert addAction:replaceAction];
[self presentViewController:alert animated:YES completion:nil];
}
else {
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Load or replace?"
message:@"The entered CO ROUTE alreay exists. Do "
@"you want to load "
@"or replace it?"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Load", @"Replace", nil];
[alert show];
}
}
@end