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:
FredKiefer 2004-03-06 14:59:50 +00:00
parent 1c78358a1c
commit 401222fa55
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> 2004-02-29 Gregory John Casamento <greg_casamento@yahoo.com>
* Source/NSToolbar.m: Added code in * Source/NSToolbar.m: Added code in

View file

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

View file

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