PCProject's doesAcceptFile:forKey: fixes

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@19576 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Sergii Stoian 2004-06-22 07:46:07 +00:00
parent 9084d3fa4b
commit aab56397c9
10 changed files with 90 additions and 44 deletions

View file

@ -1,3 +1,15 @@
2004-06-22 Serg Stoyan <stoyan255@ukr.net>
* Library/PCFileManager.m:
(panel:shouldShowFilename:): Treat .gorm dirs not as dirs.
* Library/PCProject.m:
(doesAcceptFile:forKey:): Check existance of file in
sourceFileKeys and resourceFileKeys.
* Modules/*: Made cleanup in sourceFileKeys, resourceFileKeys and
otherKeys methods.
2004-06-21 Serg Stoyan <stoyan255@ukr.net>
* Library/PCFileManager.m:

View file

@ -440,27 +440,32 @@ static PCFileManager *_mgr = nil;
NSString *fileType = nil;
NSString *categoryKey = nil;
if (sender == addFilesPanel
&& [fileManager fileExistsAtPath:filename isDirectory:&isDir]
&& !isDir)
{
project = [projectManager activeProject];
fileType = [fileTypePopup titleOfSelectedItem];
categoryKey = [project keyForCategory:fileType];
fileTypes = [project fileTypesForCategoryKey:categoryKey];
// Wrong file extension
if (fileTypes
&& ![fileTypes containsObject:[filename pathExtension]])
{
return NO;
}
// File is already in project
if (![project doesAcceptFile:filename forKey:categoryKey])
{
return NO;
}
}
[fileManager fileExistsAtPath:filename isDirectory:&isDir];
if ([[filename pathExtension] isEqualToString:@"gorm"])
{
isDir = NO;
}
if (sender == addFilesPanel && !isDir)
{
project = [projectManager activeProject];
fileType = [fileTypePopup titleOfSelectedItem];
categoryKey = [project keyForCategory:fileType];
fileTypes = [project fileTypesForCategoryKey:categoryKey];
// Wrong file extension
if (fileTypes
&& ![fileTypes containsObject:[filename pathExtension]])
{
return NO;
}
// File is already in project
if (![project doesAcceptFile:filename forKey:categoryKey])
{
return NO;
}
}
return YES;
}

View file

@ -125,7 +125,9 @@ extern NSString *PCProjectDictDidSaveNotification;
- (void)setLocalizableFile:(NSString *)file public:(BOOL)yn;
- (NSArray *)buildTargets;
// Files placed into /
- (NSArray *)sourceFileKeys;
// Files placed into /Resources or /Language.lproj
- (NSArray *)resourceFileKeys;
- (NSArray *)otherKeys;
- (NSArray *)allowableSubprojectTypes;

View file

@ -636,18 +636,36 @@ NSString
- (BOOL)doesAcceptFile:(NSString *)file forKey:(NSString *)type
{
NSArray *projectFiles = [projectDict objectForKey:type];
NSString *pFile = [self projectFileFromFile:file forKey:type];
NSString *pFile = [self projectFileFromFile:file forKey:type];
NSArray *sourceKeys = [self sourceFileKeys];
NSArray *resourceKeys = [self resourceFileKeys];
NSEnumerator *keyEnum = nil;
NSString *key = nil;
NSArray *projectFiles = nil;
if ([[projectDict allKeys] containsObject:type])
if ([sourceKeys containsObject:type])
{
if (![projectFiles containsObject:pFile])
keyEnum = [sourceKeys objectEnumerator];
}
else if ([resourceKeys containsObject:type])
{
keyEnum = [resourceKeys objectEnumerator];
}
else
{
return YES;
}
while (key = [keyEnum nextObject])
{
projectFiles = [projectDict objectForKey:key];
if ([projectFiles containsObject:pFile])
{
return YES;
return NO;
}
}
return NO;
return YES;
}
- (BOOL)addAndCopyFiles:(NSArray *)files forKey:(NSString *)key

View file

@ -81,10 +81,16 @@
return @"Project that contains subprojects.";
}
- (NSArray *)sourceFileKeys
{
return [NSArray arrayWithObjects:
PCSupportingFiles, PCSubprojects, nil];
}
- (NSArray *)otherKeys
{
return [NSArray arrayWithObjects:
PCSubprojects, PCSupportingFiles, PCNonProject, nil];
PCNonProject, nil];
}
- (NSArray *)allowableSubprojectTypes

View file

@ -101,7 +101,9 @@
- (void)dealloc
{
#idef DEVELOPMENT
NSLog (@"PCAppProject: dealloc");
#endif
[[NSNotificationCenter defaultCenter] removeObserver:self];
@ -148,7 +150,8 @@
- (NSArray *)sourceFileKeys
{
return [NSArray arrayWithObjects:
PCClasses, PCHeaders, PCOtherSources, nil];
PCClasses, PCHeaders, PCOtherSources,
PCSupportingFiles, PCSubprojects, nil];
}
- (NSArray *)resourceFileKeys
@ -160,8 +163,7 @@
- (NSArray *)otherKeys
{
return [NSArray arrayWithObjects:
PCDocuFiles, PCLibraries, PCSubprojects, PCSupportingFiles, PCNonProject,
nil];
PCLibraries, PCNonProject, nil];
}
- (NSArray *)allowableSubprojectTypes

View file

@ -110,20 +110,20 @@
- (NSArray *)sourceFileKeys
{
return [NSArray arrayWithObjects:
PCClasses, PCHeaders, PCOtherSources, nil];
PCClasses, PCHeaders, PCOtherSources,
PCSubprojects, PCSupportingFiles, nil];
}
- (NSArray *)resourceFileKeys
{
return [NSArray arrayWithObjects:
PCInterfaces, PCOtherResources, PCImages, nil];
PCInterfaces, PCOtherResources, PCImages, PCDocuFiles, nil];
}
- (NSArray *)otherKeys
{
return [NSArray arrayWithObjects:
PCDocuFiles, PCLibraries, PCSubprojects, PCSupportingFiles, PCNonProject,
nil];
PCLibraries, PCNonProject, nil];
}
- (NSArray *)allowableSubprojectTypes

View file

@ -129,19 +129,20 @@
- (NSArray *)sourceFileKeys
{
return [NSArray arrayWithObjects:
PCClasses, PCHeaders, PCOtherSources,nil];
PCClasses, PCHeaders, PCOtherSources,
PCSubprojects, PCSupportingFiles, nil];
}
- (NSArray *)resourceFileKeys
{
return [NSArray arrayWithObjects:
PCInterfaces, PCImages, PCOtherResources, nil];
PCInterfaces, PCImages, PCOtherResources, PCDocuFiles, nil];
}
- (NSArray *)otherKeys
{
return [NSArray arrayWithObjects:
PCDocuFiles, PCLibraries, PCSubprojects, PCSupportingFiles, nil];
PCLibraries, PCNonProject, nil];
}
- (NSArray *)allowableSubprojectTypes

View file

@ -147,20 +147,20 @@
- (NSArray *)sourceFileKeys
{
return [NSArray arrayWithObjects:
PCClasses, PCHeaders, PCOtherSources, nil];
PCClasses, PCHeaders, PCOtherSources,
PCSupportingFiles, PCSubprojects, nil];
}
- (NSArray *)resourceFileKeys
{
return [NSArray arrayWithObjects:
PCInterfaces, PCImages, PCOtherResources, nil];
PCInterfaces, PCImages, PCOtherResources, PCDocuFiles, nil];
}
- (NSArray *)otherKeys
{
return [NSArray arrayWithObjects:
PCDocuFiles, PCLibraries, PCSubprojects, PCSupportingFiles, PCNonProject,
nil];
PCLibraries, PCNonProject, nil];
}
- (NSArray *)allowableSubprojectTypes

View file

@ -134,19 +134,19 @@
- (NSArray *)sourceFileKeys
{
return [NSArray arrayWithObjects:
PCClasses, PCHeaders, PCOtherSources, nil];
PCClasses, PCHeaders, PCOtherSources, PCSupportingFiles, nil];
}
- (NSArray *)resourceFileKeys
{
return [NSArray arrayWithObjects:
PCImages, PCOtherResources, nil];
PCImages, PCOtherResources, PCDocuFiles, PCSubprojects, nil];
}
- (NSArray *)otherKeys
{
return [NSArray arrayWithObjects:
PCSubprojects, PCLibraries, PCDocuFiles, PCSupportingFiles, nil];
PCLibraries, PCNonProject, nil];
}
- (NSArray *)allowableSubprojectTypes