diff --git a/AppKit/CPSavePanel.j b/AppKit/CPSavePanel.j index f8e888d8d..13f7e62b2 100644 --- a/AppKit/CPSavePanel.j +++ b/AppKit/CPSavePanel.j @@ -5,6 +5,13 @@ @implementation CPSavePanel : CPPanel { CPURL _URL; + + BOOL _isExtensionHidden @accessors(getter=isExtensionHidden, setter=setExtensionHidden:); + BOOL _canSelectHiddenExtension @accessors(property=canSelectHiddenExtension); + BOOL _allowsOtherFileTypes @accessors(property=allowsOtherFileTypes); + BOOL _canCreateDirectories @accessors(property=canCreateDirectories); + + CPArray _allowedFileTypes @accessors(property=allowedFileTypes); } + (id)savePanel @@ -12,6 +19,16 @@ return [[CPSavePanel alloc] init]; } +- (id)init +{ + if (self = [super init]) + { + _canCreateDirectories = YES; + } + + return self; +} + - (CPInteger)runModal { // FIXME: Is this correct??? @@ -19,7 +36,13 @@ if (typeof window["cpSavePanel"] === "function") { - var resultObject = window.cpSavePanel(), + var resultObject = window.cpSavePanel({ + isExtensionHidden: _isExtensionHidden, + canSelectHiddenExtension: _canSelectHiddenExtension, + allowsOtherFileTypes: _allowsOtherFileTypes, + canCreateDirectories: _canCreateDirectories, + allowedFileTypes: _allowedFileTypes + }), result = resultObject.button; _URL = result ? [CPURL URLWithString:resultObject.URL] : nil;