From fa7bda89269302c372bd7af5df74f87477242788 Mon Sep 17 00:00:00 2001 From: "Philippe C.D. Robert" Date: Mon, 7 Jan 2002 09:37:19 +0000 Subject: [PATCH] ProjectCenter now stores the project files under PROJECTNAME.pcproj to avoid name clashes. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@12017 72102866-910b-0410-8b05-ffd578937521 --- PCAppProj/PCAppProj.m | 17 +++++++--- PCAppProj/{PC.project => PCAppProj.pcproj} | 2 +- .../{PC.project => PCBaseFileTypes.pcproj} | 2 +- PCBundleProj/PCBundleProj.m | 6 +++- .../{PC.project => PCBundleProj.pcproj} | 2 +- PCGormProj/PCGormProj.m | 6 +++- PCGormProj/{PC.project => PCGormProj.pcproj} | 2 +- PCLib/PCProject.m | 3 +- PCLib/PCProjectManager.m | 3 -- PCLibProj/PCLibProj.m | 10 ++++-- PCLibProj/{PC.project => PCLibProj.pcproj} | 2 +- PCToolProj/PCToolProj.m | 8 +++-- PCToolProj/{PC.project => PCToolProj.pcproj} | 2 +- ProjectCenter/PCMenuController.m | 32 ++++++++++++------- .../{PC.project => ProjectCenter.pcproj} | 2 +- ProjectCenter/ProjectCenterInfo.plist | 4 +++ 16 files changed, 69 insertions(+), 34 deletions(-) rename PCAppProj/{PC.project => PCAppProj.pcproj} (99%) rename PCBaseFileTypes/{PC.project => PCBaseFileTypes.pcproj} (99%) rename PCBundleProj/{PC.project => PCBundleProj.pcproj} (99%) rename PCGormProj/{PC.project => PCGormProj.pcproj} (99%) rename PCLibProj/{PC.project => PCLibProj.pcproj} (99%) rename PCToolProj/{PC.project => PCToolProj.pcproj} (99%) rename ProjectCenter/{PC.project => ProjectCenter.pcproj} (99%) diff --git a/PCAppProj/PCAppProj.m b/PCAppProj/PCAppProj.m index e210157..6a68795 100644 --- a/PCAppProj/PCAppProj.m +++ b/PCAppProj/PCAppProj.m @@ -75,16 +75,19 @@ static PCAppProj *_creator = nil; NSAssert(path,@"No valid project path provided!"); - if ([fm createDirectoryAtPath:path attributes:nil]) { + if ([fm createDirectoryAtPath:path attributes:nil]) + { NSString *_file; NSString *_resourcePath; NSMutableDictionary *dict; NSDictionary *infoDict; NSString *plistFileName; + NSString *projectFile; project = [[[PCAppProject alloc] init] autorelease]; - _file = [[NSBundle bundleForClass:[self class]] pathForResource:@"PC" ofType:@"proj"]; + _file = [[NSBundle bundleForClass:[self class]] pathForResource:@"PC" + ofType:@"proj"]; dict = [NSMutableDictionary dictionaryWithContentsOfFile:_file]; // Customise the project @@ -102,16 +105,20 @@ static PCAppProj *_creator = nil; @"",@"Authors", @"",@"URL", @"Copyright (C) 200x by ...",@"Copyright", - @"Released under ...",@"CopyrightDescription", nil]; + @"Released under...",@"CopyrightDescription", + nil]; plistFileName = [NSString stringWithFormat:@"%@Info.plist", [path lastPathComponent]]; [infoDict writeToFile:[path stringByAppendingPathComponent:plistFileName] atomically:YES]; [dict setObject:[NSArray arrayWithObjects:plistFileName,nil] - forKey:PCOtherResources]; + forKey:PCOtherResources]; // Save the project to disc - [dict writeToFile:[path stringByAppendingPathComponent:@"PC.project"] + //projectFile = [NSString stringWithString:@"PC.project"]; + projectFile = [NSString stringWithString:[path lastPathComponent]]; + projectFile = [projectFile stringByAppendingPathExtension:@"pcproj"]; + [dict writeToFile:[path stringByAppendingPathComponent:projectFile] atomically:YES]; /* diff --git a/PCAppProj/PC.project b/PCAppProj/PCAppProj.pcproj similarity index 99% rename from PCAppProj/PC.project rename to PCAppProj/PCAppProj.pcproj index b7f2e75..23e7e8f 100644 --- a/PCAppProj/PC.project +++ b/PCAppProj/PCAppProj.pcproj @@ -64,4 +64,4 @@ GNUmakefile, GNUmakefile.postamble ); -} +} \ No newline at end of file diff --git a/PCBaseFileTypes/PC.project b/PCBaseFileTypes/PCBaseFileTypes.pcproj similarity index 99% rename from PCBaseFileTypes/PC.project rename to PCBaseFileTypes/PCBaseFileTypes.pcproj index 27ed7ef..bccc91b 100644 --- a/PCBaseFileTypes/PC.project +++ b/PCBaseFileTypes/PCBaseFileTypes.pcproj @@ -60,4 +60,4 @@ GNUmakefile, GNUmakefile.postamble ); -} +} \ No newline at end of file diff --git a/PCBundleProj/PCBundleProj.m b/PCBundleProj/PCBundleProj.m index 2ad92df..abff030 100644 --- a/PCBundleProj/PCBundleProj.m +++ b/PCBundleProj/PCBundleProj.m @@ -80,6 +80,8 @@ static PCBundleProj *_creator = nil; NSString *_file; NSString *_resourcePath; NSMutableDictionary *dict; + NSString *projectFile; + project = [[[PCBundleProject alloc] init] autorelease]; @@ -92,7 +94,9 @@ static PCBundleProj *_creator = nil; [dict setObject:[project principalClass] forKey:PCProjType]; // Save the project to disc - [dict writeToFile:[path stringByAppendingPathComponent:@"PC.project"] + projectFile = [NSString stringWithString:[path lastPathComponent]]; + projectFile = [projectFile stringByAppendingPathExtension:@"pcproj"]; + [dict writeToFile:[path stringByAppendingPathComponent:projectFile] atomically:YES]; /* diff --git a/PCBundleProj/PC.project b/PCBundleProj/PCBundleProj.pcproj similarity index 99% rename from PCBundleProj/PC.project rename to PCBundleProj/PCBundleProj.pcproj index 6a42fbe..0666d0a 100644 --- a/PCBundleProj/PC.project +++ b/PCBundleProj/PCBundleProj.pcproj @@ -60,4 +60,4 @@ GNUmakefile, GNUmakefile.postamble ); -} +} \ No newline at end of file diff --git a/PCGormProj/PCGormProj.m b/PCGormProj/PCGormProj.m index 9694fb7..7c50156 100644 --- a/PCGormProj/PCGormProj.m +++ b/PCGormProj/PCGormProj.m @@ -81,6 +81,7 @@ static PCGormProj *_creator = nil; NSMutableDictionary *dict; NSDictionary *infoDict; NSString *plistFileName; + NSString *projectFile; project = [[[PCGormProject alloc] init] autorelease]; @@ -114,7 +115,10 @@ static PCGormProj *_creator = nil; forKey:PCMainGModelFile]; // Save the project to disc - [dict writeToFile:[path stringByAppendingPathComponent:@"PC.project"] atomically:YES]; + projectFile = [NSString stringWithString:[path lastPathComponent]]; + projectFile = [projectFile stringByAppendingPathExtension:@"pcproj"]; + [dict writeToFile:[path stringByAppendingPathComponent:projectFile] + atomically:YES]; /* * Copy the project files to the provided path diff --git a/PCGormProj/PC.project b/PCGormProj/PCGormProj.pcproj similarity index 99% rename from PCGormProj/PC.project rename to PCGormProj/PCGormProj.pcproj index e4eea0f..4a9bbf6 100644 --- a/PCGormProj/PC.project +++ b/PCGormProj/PCGormProj.pcproj @@ -64,4 +64,4 @@ GNUmakefile, GNUmakefile.postamble ); -} +} \ No newline at end of file diff --git a/PCLib/PCProject.m b/PCLib/PCProject.m index 8157a7e..7b2ec46 100644 --- a/PCLib/PCProject.m +++ b/PCLib/PCProject.m @@ -806,7 +806,8 @@ - (BOOL)save { BOOL ret = NO; - NSString *file = [projectPath stringByAppendingPathComponent:@"PC.project"]; +//NSString *file = [projectPath stringByAppendingPathComponent:@"PC.project"]; + NSString *file = [[projectPath stringByAppendingPathComponent:projectName] stringByAppendingPathExtension:@"pcproj"]; NSString *backup = [file stringByAppendingPathExtension:@"backup"]; NSFileManager *fm = [NSFileManager defaultManager]; NSUserDefaults *defs = [NSUserDefaults standardUserDefaults]; diff --git a/PCLib/PCProjectManager.m b/PCLib/PCProjectManager.m index 40d0c52..1bfa0ec 100644 --- a/PCLib/PCProjectManager.m +++ b/PCLib/PCProjectManager.m @@ -315,9 +315,6 @@ NSString *ActiveProjectDidChangeNotification = @"ActiveProjectDidChange"; if (!project) { -#ifdef DEBUG - NSLog(@"Couldn't instantiate the project..."); -#endif // DEBUG return NO; } diff --git a/PCLibProj/PCLibProj.m b/PCLibProj/PCLibProj.m index 7472e51..7c4f693 100644 --- a/PCLibProj/PCLibProj.m +++ b/PCLibProj/PCLibProj.m @@ -79,7 +79,8 @@ static PCLibProj *_creator = nil; NSString *_file; NSString *_resourcePath; NSMutableDictionary *dict; - + NSString *projectFile; + project = [[[PCLibProject alloc] init] autorelease]; _file = [[NSBundle bundleForClass:[self class]] pathForResource:@"PC" ofType:@"proj"]; @@ -90,8 +91,11 @@ static PCLibProj *_creator = nil; [dict setObject:[project principalClass] forKey:PCProjType]; // Save the project to disc - [dict writeToFile:[path stringByAppendingPathComponent:@"PC.project"] atomically:YES]; - + projectFile = [NSString stringWithString:[path lastPathComponent]]; + projectFile = [projectFile stringByAppendingPathExtension:@"pcproj"]; + [dict writeToFile:[path stringByAppendingPathComponent:projectFile] + atomically:YES]; + // Copy the project files to the provided path _file = [[NSBundle bundleForClass:[self class]] pathForResource:@"GNUmakefile" ofType:@"postamble"]; [fm copyPath:_file toPath:[path stringByAppendingPathComponent:@"GNUmakefile.postamble"] handler:nil]; diff --git a/PCLibProj/PC.project b/PCLibProj/PCLibProj.pcproj similarity index 99% rename from PCLibProj/PC.project rename to PCLibProj/PCLibProj.pcproj index bc5decf..47f8d3e 100644 --- a/PCLibProj/PC.project +++ b/PCLibProj/PCLibProj.pcproj @@ -61,4 +61,4 @@ GNUmakefile, GNUmakefile.postamble ); -} +} \ No newline at end of file diff --git a/PCToolProj/PCToolProj.m b/PCToolProj/PCToolProj.m index 17ab2a4..6555b2d 100644 --- a/PCToolProj/PCToolProj.m +++ b/PCToolProj/PCToolProj.m @@ -79,7 +79,8 @@ static PCToolProj *_creator = nil; NSString *_file; NSString *_resourcePath; NSMutableDictionary *dict; - + NSString *projectFile; + project = [[[PCToolProject alloc] init] autorelease]; _file = [[NSBundle bundleForClass:[self class]] pathForResource:@"PC" ofType:@"proj"]; @@ -90,7 +91,10 @@ static PCToolProj *_creator = nil; [dict setObject:[project principalClass] forKey:PCProjType]; // Save the project to disc - [dict writeToFile:[path stringByAppendingPathComponent:@"PC.project"] atomically:YES]; + projectFile = [NSString stringWithString:[path lastPathComponent]]; + projectFile = [projectFile stringByAppendingPathExtension:@"pcproj"]; + [dict writeToFile:[path stringByAppendingPathComponent:projectFile] + atomically:YES]; // Copy the project files to the provided path _file = [[NSBundle bundleForClass:[self class]] pathForResource:@"GNUmakefile" ofType:@"postamble"]; diff --git a/PCToolProj/PC.project b/PCToolProj/PCToolProj.pcproj similarity index 99% rename from PCToolProj/PC.project rename to PCToolProj/PCToolProj.pcproj index 8809e8d..c56400f 100644 --- a/PCToolProj/PC.project +++ b/PCToolProj/PCToolProj.pcproj @@ -62,4 +62,4 @@ GNUmakefile, GNUmakefile.postamble ); -} +} \ No newline at end of file diff --git a/ProjectCenter/PCMenuController.m b/ProjectCenter/PCMenuController.m index 8b13bfe..5d33ead 100644 --- a/ProjectCenter/PCMenuController.m +++ b/ProjectCenter/PCMenuController.m @@ -95,7 +95,7 @@ - (void)openProject:(id)sender { - NSString *projectPath; + NSString *projPath; NSOpenPanel *openPanel; int retval; @@ -104,17 +104,23 @@ [openPanel setCanChooseDirectories:NO]; [openPanel setCanChooseFiles:YES]; - retval = [openPanel runModalForDirectory:[[NSUserDefaults standardUserDefaults] objectForKey:@"LastOpenDirectory"] file:nil types:[NSArray arrayWithObjects:@"project",nil]]; + retval = [openPanel runModalForDirectory:[[NSUserDefaults standardUserDefaults] objectForKey:@"LastOpenDirectory"] file:nil types:[NSArray arrayWithObjects:@"project",@"pcproj",nil]]; if (retval == NSOKButton) { BOOL isDir; - [[NSUserDefaults standardUserDefaults] setObject:[openPanel directory] forKey:@"LastOpenDirectory"]; - projectPath = [[openPanel filenames] objectAtIndex:0]; + [[NSUserDefaults standardUserDefaults] setObject:[openPanel directory] + forKey:@"LastOpenDirectory"]; + projPath = [[openPanel filenames] objectAtIndex:0]; - if ([[NSFileManager defaultManager] fileExistsAtPath:projectPath isDirectory:&isDir] && !isDir) { - if (![projectManager openProjectAt:projectPath]) { - NSRunAlertPanel(@"Attention!",@"Couldn't open %@!",@"OK",nil,nil,[projectPath stringByDeletingLastPathComponent]); + if ([[NSFileManager defaultManager] fileExistsAtPath:projPath + isDirectory:&isDir] && !isDir){ + if (![projectManager openProjectAt:projPath]) + { + NSRunAlertPanel(@"Attention!", + @"Couldn't open %@!", + @"OK",nil,nil, + [projPath stringByDeletingLastPathComponent]); } } } @@ -131,12 +137,16 @@ [sp setAccessoryView:projectTypeAccessaryView]; runResult = [sp runModalForDirectory:NSHomeDirectory() file:@""]; - if (runResult == NSOKButton) { + if (runResult == NSOKButton) + { NSString *projectType = [projectTypePopup titleOfSelectedItem]; NSString *className = [[appController projectTypes] objectForKey:projectType]; - if (![projectManager createProjectOfType:className path:[sp filename]]) { - NSRunAlertPanel(@"Attention!",@"Failed to create %@!",@"OK",nil,nil,[sp filename]); + if (![projectManager createProjectOfType:className path:[sp filename]]) + { + NSRunAlertPanel(@"Attention!", + @"Failed to create %@!", + @"OK",nil,nil,[sp filename]); } } } @@ -150,7 +160,7 @@ { NSString *proj; -// Show save panel + // Show save panel [projectManager saveProjectAs:proj]; } diff --git a/ProjectCenter/PC.project b/ProjectCenter/ProjectCenter.pcproj similarity index 99% rename from ProjectCenter/PC.project rename to ProjectCenter/ProjectCenter.pcproj index 0d4c1ea..8d7d9ec 100644 --- a/ProjectCenter/PC.project +++ b/ProjectCenter/ProjectCenter.pcproj @@ -95,4 +95,4 @@ GNUmakefile, GNUmakefile.postamble ); -} +} \ No newline at end of file diff --git a/ProjectCenter/ProjectCenterInfo.plist b/ProjectCenter/ProjectCenterInfo.plist index 84a35f2..a32b99f 100644 --- a/ProjectCenter/ProjectCenterInfo.plist +++ b/ProjectCenter/ProjectCenterInfo.plist @@ -6,6 +6,10 @@ NSUnixExtensions = ( "project" ); NSIcon = "ProjectCenter.tiff"; }, + { + NSUnixExtensions = ( "pcproj" ); + NSIcon = "ProjectCenter.tiff"; + }, { NSUnixExtensions = ( "m" ); NSIcon = "FileIcon_.m.tiff";