move dirs init for iOS and OSX

This commit is contained in:
2019-07-13 16:49:13 +02:00
parent d7386cdfa9
commit 2e5ea079c8
6 changed files with 111 additions and 110 deletions

View File

@@ -417,14 +417,7 @@
}
@end
@interface AppOSX : NSApplication<NSApplicationDelegate>
{
Window* window;
Controller* controller;
View* view;
NSString* file2open;
}
@end @implementation AppOSX
@implementation AppOSX
- (instancetype)init
{
self = [super init];
@@ -458,10 +451,6 @@
// Do some additional configuration if needed here
[[BITHockeyManager sharedHockeyManager] startManager];
if (!App::I->check_license())
return;
App::I = new App;
App::I->initLog();
App::I->create();
NSRect r = NSMakeRect(0, 0, App::I->width, App::I->height);
@@ -497,12 +486,63 @@
LOG("app launched");
App::I->ui_thread_start();
}
- (void)init_dirs
{
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSPicturesDirectory, NSUserDomainMask, YES);
NSString* docpath = [(NSString*)[paths objectAtIndex:0] stringByAppendingString:@"/PanoPainter"];
NSError* err = nil;
if (![[NSFileManager defaultManager] createDirectoryAtPath:docpath withIntermediateDirectories:YES attributes:nil error:&err])
{
LOG("error creating rec path: %s", [[err localizedDescription] cStringUsingEncoding:NSASCIIStringEncoding]);
}
App::I->data_path = [docpath cStringUsingEncoding:NSASCIIStringEncoding];
NSString* recpath = [docpath stringByAppendingString:@"/rec"];
App::I->rec_path = [recpath cStringUsingEncoding:NSASCIIStringEncoding];
if (![[NSFileManager defaultManager] createDirectoryAtPath:recpath withIntermediateDirectories:YES attributes:nil error:&err])
{
LOG("error creating rec path: %s", [[err localizedDescription] cStringUsingEncoding:NSASCIIStringEncoding]);
}
// brushes
if (![[NSFileManager defaultManager] createDirectoryAtPath:[docpath stringByAppendingString:@"/brushes"] withIntermediateDirectories:YES attributes:nil error:&err])
{
LOG("error creating brushes path: %s", [[err localizedDescription] cStringUsingEncoding:NSASCIIStringEncoding]);
}
if (![[NSFileManager defaultManager] createDirectoryAtPath:[docpath stringByAppendingString:@"/brushes/thumbs"] withIntermediateDirectories:YES attributes:nil error:&err])
{
LOG("error creating brushes thumbs path: %s", [[err localizedDescription] cStringUsingEncoding:NSASCIIStringEncoding]);
}
// textures
if (![[NSFileManager defaultManager] createDirectoryAtPath:[docpath stringByAppendingString:@"/patterns"] withIntermediateDirectories:YES attributes:nil error:&err])
{
LOG("error creating patterns path: %s", [[err localizedDescription] cStringUsingEncoding:NSASCIIStringEncoding]);
}
if (![[NSFileManager defaultManager] createDirectoryAtPath:[docpath stringByAppendingString:@"/patterns/thumbs"] withIntermediateDirectories:YES attributes:nil error:&err])
{
LOG("error creating patterns thumbs path: %s", [[err localizedDescription] cStringUsingEncoding:NSASCIIStringEncoding]);
}
// settings
if (![[NSFileManager defaultManager] createDirectoryAtPath:[docpath stringByAppendingString:@"/settings"] withIntermediateDirectories:YES attributes:nil error:&err])
{
LOG("error creating settings path: %s", [[err localizedDescription] cStringUsingEncoding:NSASCIIStringEncoding]);
}
}
@end
int main(int argc, const char * argv[])
{
install_global_handlers();
App::I = new App;
if (!App::I->check_license())
return 0;
AppOSX* app = [AppOSX sharedApplication];
App::I->osx_app = app;
[app run];
return 0;
}

View File

@@ -31,3 +31,12 @@
- (std::string)clipboard_get_string;
- (bool)clipboard_set_string:(const std::string&)s;
@end
@interface AppOSX : NSApplication<NSApplicationDelegate>
{
Window* window;
Controller* controller;
View* view;
}
- (void)init_dirs;
@end