Remove DMSplitView as it's never used

Updated Readme to reflect new modules
Added CocoaHTTPServer submodule
Fixed SettingsWindow, works now with multiple tabs
Added ServerSettings tab
This commit is contained in:
michael starke
2013-06-17 01:29:29 +02:00
parent 32b45c0006
commit 236e7036bc
32 changed files with 918 additions and 203 deletions

69
MacPass/MPServerDaemon.m Normal file
View File

@@ -0,0 +1,69 @@
//
// MPServerDaemon.m
// MacPass
//
// Created by Michael Starke on 17.06.13.
// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved.
//
#import "MPServerDaemon.h"
#import "MPSettingsHelper.h"
#import "HTTPServer.h"
@interface MPServerDaemon () {
@private
HTTPServer *server;
}
@property (nonatomic, assign) BOOL isEnabled;
@end
@implementation MPServerDaemon
- (id)init {
self = [super init];
if (self) {
NSUserDefaultsController *defaultsController = [NSUserDefaultsController sharedUserDefaultsController];
NSString *defaultsKeyPath = [NSString stringWithFormat:@"values.%@", kMPSettingsKeyEnableHttpServer];
[self bind:@"isEnabled" toObject:defaultsController withKeyPath:defaultsKeyPath options:nil];
}
return self;
}
- (void)dealloc
{
[server release];
[super dealloc];
}
- (void)setIsEnabled:(BOOL)enabled {
if(_isEnabled == enabled) {
return; // NO changes
}
_isEnabled = enabled;
if(enabled) {
if(!server) {
[self _setupServer];
}
NSError *error= nil;
if(![server start:&error]) {
[NSApp presentError:error];
}
}
else {
/* Do not let the resource linger around */
[server release];
server = nil;
}
}
- (void)_setupServer {
NSAssert(server == nil, @"Server should be nil");
server = [[HTTPServer alloc] init];
[server setInterface:@"localhost"];
NSInteger port = [[NSUserDefaults standardUserDefaults] integerForKey:kMPSettingsKeyHttpPort];
[server setPort:port];
}
@end