#import "URLSheetWindowController.h"
#import "Controller.h"
+@interface URLSheetWindowController (Private)
+
+- (BOOL) updateOpenButtonForURL: (NSString *) string;
+
+@end
+
@implementation URLSheetWindowController
-NSString * urlString = @"";
+NSString * urlString = nil;
- (id) initWithController: (Controller *) controller
{
{
[fLabelField setStringValue: NSLocalizedString(@"Internet address of torrent file:", "URL sheet label")];
- [fTextField setStringValue: urlString];
- [fTextField selectText: self];
+ if (urlString)
+ {
+ [fTextField setStringValue: urlString];
+ [fTextField selectText: self];
+
+ [self updateOpenButtonForURL: urlString];
+ }
[fOpenButton setTitle: NSLocalizedString(@"Open", "URL sheet button")];
[fCancelButton setTitle: NSLocalizedString(@"Cancel", "URL sheet button")];
NSRect cancelFrame = [fCancelButton frame];
cancelFrame.size.width += 10.0;
-
-
if (NSWidth(openFrame) > NSWidth(cancelFrame))
cancelFrame.size.width = NSWidth(openFrame);
else
- (void) sheetDidEnd: (NSWindow *) sheet returnCode: (NSInteger) returnCode contextInfo: (void *) contextInfo
{
- urlString = [fTextField stringValue];
+ [urlString release];
+ urlString = [[fTextField stringValue] retain];
[fController urlSheetDidEnd: self url: urlString returnCode: returnCode];
}
- (void) controlTextDidChange: (NSNotification *) notification
{
- NSString * string = [fTextField stringValue];
+ [self updateOpenButtonForURL: [fTextField stringValue]];
+}
+
+@end
+
+@implementation URLSheetWindowController (Private)
+
+- (BOOL) updateOpenButtonForURL: (NSString *) string
+{
BOOL enable = YES;
if ([string isEqualToString: @""])
enable = NO;