Small additions to save panel.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18789 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Fred Kiefer 2004-03-06 14:59:50 +00:00
parent 6c860d7497
commit 2fdd660c5b
3 changed files with 61 additions and 23 deletions

View file

@ -1,3 +1,12 @@
2004-03-06 Fred Kiefer <FredKiefer@gmx.de>
* Header/AppKit/NSSavePanel.h:
Added some ivars for new methods.
* Source/NSSavePanel.m: (-setDelegate:, -_selectTextInColumn:)
implemented delegete calls on selection and directory change,
based on patch by Fabien Vallon.
Basic implementation for some of the new Cocoa methods.
2004-02-29 Gregory John Casamento <greg_casamento@yahoo.com>
* Source/NSToolbar.m: Added code in

View file

@ -73,10 +73,17 @@ enum {
NSString *_fullFileName;
BOOL _treatsFilePackagesAsDirectories;
BOOL _allowsOtherFileTypes;
BOOL _canCreateDirectories;
BOOL _canSelectHiddenExtension;
BOOL _isExtensionHidden;
BOOL _delegateHasCompareFilter;
BOOL _delegateHasShowFilenameFilter;
BOOL _delegateHasValidNameFilter;
BOOL _delegateHasUserEnteredFilename;
BOOL _delegateHasDirectoryDidChange;
BOOL _delegateHasSelectionDidChange;
// YES when we stopped because the user pressed 'OK'
BOOL _OKButtonPressed;

View file

@ -383,24 +383,32 @@ static BOOL _gs_display_reading_progress = NO;
selectedCell = [matrix selectedCell];
isLeaf = [selectedCell isLeaf];
if (_delegateHasSelectionDidChange)
{
[_delegate panelSelectionDidChange: self];
}
if (isLeaf)
{
[[_form cellAtIndex: 0] setStringValue: [selectedCell stringValue]];
// [_form selectTextAtIndex:0];
[_form setNeedsDisplay:YES];
[_okButton setEnabled:YES];
[_okButton setEnabled: YES];
}
else
{
if (_delegateHasDirectoryDidChange)
{
[_delegate panel: self directoryDidChange: [_browser pathToColumn: column]];
}
if ([[[_form cellAtIndex: 0] stringValue] length] > 0)
{
[_okButton setEnabled:YES];
[self _selectCellName:[[_form cellAtIndex: 0] stringValue]];
[_okButton setEnabled: YES];
[self _selectCellName: [[_form cellAtIndex: 0] stringValue]];
// [_form selectTextAtIndex:0];
[_form setNeedsDisplay:YES];
}
else
[_okButton setEnabled:NO];
[_okButton setEnabled: NO];
}
}
@ -623,7 +631,9 @@ selectCellWithString: (NSString*)title
-(id) init
{
[self _initWithoutGModel];
/*
* All these are set automatically
_directory = nil;
_fullFileName = nil;
_requiredFileType = nil;
@ -633,6 +643,9 @@ selectCellWithString: (NSString*)title
_delegateHasCompareFilter = NO;
_delegateHasShowFilenameFilter = NO;
_delegateHasValidNameFilter = NO;
_delegateHasDirectoryDidChange = NO;
_delegateHasSelectionDidChange = NO;
*/
[self _getOriginalSize];
return self;
@ -804,7 +817,7 @@ selectCellWithString: (NSString*)title
- (NSString *) nameFieldLabel
{
// FIXME
return @"Save As";
return _(@"Save As");
}
- (void) setMessage: (NSString *)message
@ -863,7 +876,7 @@ selectCellWithString: (NSString*)title
- (void) setAllowsOtherFileTypes: (BOOL)flag
{
// FIXME
_allowsOtherFileTypes = flag;
}
- (NSArray *) allowedFileTypes;
@ -874,8 +887,7 @@ selectCellWithString: (NSString*)title
- (BOOL) allowsOtherFileTypes;
{
// FIXME
return NO;
return _allowsOtherFileTypes;
}
/** Returns YES if file packages are shown as directories. The default
@ -914,13 +926,12 @@ selectCellWithString: (NSString*)title
- (void) setCanCreateDirectories: (BOOL)flag
{
// FIXME
_canCreateDirectories = flag;
}
- (BOOL) canCreateDirectories
{
// FIXME
return NO;
return _canCreateDirectories;
}
/**
@ -1180,28 +1191,36 @@ selectCellWithString: (NSString*)title
else
_delegateHasUserEnteredFilename = NO;
if ([aDelegate respondsToSelector: @selector(panel:directoryDidChange:)])
_delegateHasDirectoryDidChange = YES;
else
_delegateHasDirectoryDidChange = NO;
if ([aDelegate respondsToSelector: @selector(panelSelectionDidChange:)])
_delegateHasSelectionDidChange = YES;
else
_delegateHasSelectionDidChange = NO;
[super setDelegate: aDelegate];
}
- (void) setCanSelectHiddenExtension: (BOOL) flag
{
// FIXME
_canSelectHiddenExtension = flag;
}
- (BOOL) canSelectHiddenExtension
{
// FIXME
return NO;
return _canSelectHiddenExtension;
}
- (BOOL) isExtensionHidden
{
// FIXME
return NO;
return _isExtensionHidden;
}
- (void) setExtensionHidden: (BOOL) flag
{
// FIXME
_isExtensionHidden = flag;
}
- (BOOL) isExpanded
@ -1213,17 +1232,20 @@ selectCellWithString: (NSString*)title
//
// NSCoding protocol
//
- (id) initWithCoder: (NSCoder*)aCoder
- (id) initWithCoder: (NSCoder*)aDecoder
{
// TODO
self = [super initWithCoder: aDecoder];
return nil;
// TODO
return self;
}
- (void) encodeWithCoder: (NSCoder*)aCoder
{
[super encodeWithCoder: aCoder];
// TODO
}
@end
//