mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 02:10:48 +00:00
* Source/NSOpenPanel.m: Use the NSSavePanel _allowedFileTypes ivar
in place of the _fileTypes ivar. Replace calls to _setupForTypes: with -setAllowedFileTypes:. * Headers/AppKit/NSOpenPanel.h: Remove now unused _fileTypes ivar * Source/NSSavePanel.m: Treat directories whose names have extensions in the _allowedFileTypes array as file packages. Previously, we only relied on -[NSWorkspace isFilePackageAtPath:], to determine if a director is a file package, which only considers the info.plists of installed applications. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33810 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
c4048d4f4b
commit
19b6765e49
4 changed files with 17 additions and 21 deletions
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
|||
2011-09-07 Eric Wasylishen <ewasylishen@gmail.com>
|
||||
|
||||
* Source/NSOpenPanel.m: Use the NSSavePanel _allowedFileTypes ivar
|
||||
in place of the _fileTypes ivar. Replace calls to _setupForTypes: with
|
||||
-setAllowedFileTypes:.
|
||||
* Headers/AppKit/NSOpenPanel.h: Remove now unused _fileTypes ivar
|
||||
* Source/NSSavePanel.m: Treat directories whose names have extensions
|
||||
in the _allowedFileTypes array as file packages.
|
||||
Previously, we only relied on -[NSWorkspace isFilePackageAtPath:],
|
||||
to determine if a director is a file package, which only considers the
|
||||
info.plists of installed applications.
|
||||
|
||||
2011-09-06 Eric Wasylishen <ewasylishen@gmail.com>
|
||||
|
||||
* Source/NSView.m (_setNeedsDisplayInRect_real:): Enlarge
|
||||
|
|
|
@ -45,7 +45,6 @@
|
|||
|
||||
@interface NSOpenPanel : NSSavePanel <NSCoding>
|
||||
{
|
||||
NSArray *_fileTypes;
|
||||
BOOL _canChooseDirectories;
|
||||
BOOL _canChooseFiles;
|
||||
}
|
||||
|
|
|
@ -100,7 +100,7 @@ static NSOpenPanel *_gs_gui_open_panel = nil;
|
|||
- (BOOL) _shouldShowExtension: (NSString *)extension
|
||||
{
|
||||
if (_canChooseFiles == NO ||
|
||||
(_fileTypes != nil && [_fileTypes containsObject: extension] == NO))
|
||||
(_allowedFileTypes != nil && [_allowedFileTypes containsObject: extension] == NO))
|
||||
return NO;
|
||||
|
||||
return YES;
|
||||
|
@ -211,16 +211,6 @@ static NSOpenPanel *_gs_gui_open_panel = nil;
|
|||
[super _setupForDirectory: path file: filename];
|
||||
}
|
||||
|
||||
- (void) _setupForTypes: (NSArray *)fileTypes
|
||||
{
|
||||
if (_fileTypes != fileTypes)
|
||||
{
|
||||
BOOL reload = ![_fileTypes isEqual: fileTypes];
|
||||
ASSIGN (_fileTypes, fileTypes);
|
||||
if (reload)
|
||||
[self _reloadBrowser];
|
||||
}
|
||||
}
|
||||
@end
|
||||
|
||||
/**
|
||||
|
@ -272,12 +262,6 @@ static NSOpenPanel *_gs_gui_open_panel = nil;
|
|||
return _gs_gui_open_panel;
|
||||
}
|
||||
|
||||
- (void) dealloc
|
||||
{
|
||||
TEST_RELEASE(_fileTypes);
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (id) init
|
||||
{
|
||||
self = [super init];
|
||||
|
@ -474,7 +458,7 @@ static NSOpenPanel *_gs_gui_open_panel = nil;
|
|||
file: (NSString *)name
|
||||
types: (NSArray *)fileTypes
|
||||
{
|
||||
[self _setupForTypes: fileTypes];
|
||||
[self setAllowedFileTypes: fileTypes];
|
||||
return [self runModalForDirectory: path
|
||||
file: name];
|
||||
}
|
||||
|
@ -484,7 +468,7 @@ static NSOpenPanel *_gs_gui_open_panel = nil;
|
|||
types: (NSArray *)fileTypes
|
||||
relativeToWindow: (NSWindow*)window
|
||||
{
|
||||
[self _setupForTypes: fileTypes];
|
||||
[self setAllowedFileTypes: fileTypes];
|
||||
return [self runModalForDirectory: path
|
||||
file: name
|
||||
relativeToWindow: window];
|
||||
|
|
|
@ -1784,7 +1784,8 @@ createRowsForColumn: (int)column
|
|||
if (exists && (!isDir || !HAS_PATH_PREFIX(_directory, pathAndFile)))
|
||||
{
|
||||
if (isDir && !_treatsFilePackagesAsDirectories
|
||||
&& [ws isFilePackageAtPath: pathAndFile])
|
||||
&& ([ws isFilePackageAtPath: pathAndFile]
|
||||
|| [_allowedFileTypes containsObject: extension]))
|
||||
{
|
||||
isDir = NO;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue