version 1.3, 2002/01/30 22:43:11
|
version 1.18, 2002/02/07 05:11:38
|
Line 13 static NSString *StopToolbarItemIdentifi
|
Line 13 static NSString *StopToolbarItemIdentifi
|
static NSString *HomeToolbarItemIdentifier = @"Home Toolbar Item"; |
static NSString *HomeToolbarItemIdentifier = @"Home Toolbar Item"; |
static NSString *LocationToolbarItemIdentifier = @"Location Toolbar Item"; |
static NSString *LocationToolbarItemIdentifier = @"Location Toolbar Item"; |
static NSString *SidebarToolbarItemIdentifier = @"Sidebar Toolbar Item"; |
static NSString *SidebarToolbarItemIdentifier = @"Sidebar Toolbar Item"; |
|
static NSString *PrintToolbarItemIdentifier = @"Print Toolbar Item"; |
|
|
@interface BrowserWindowController(Private) |
@interface BrowserWindowController(Private) |
- (void)setupToolbar; |
- (void)setupToolbar; |
Line 20 static NSString *SidebarToolbarItemIdent
|
Line 21 static NSString *SidebarToolbarItemIdent
|
|
|
@implementation BrowserWindowController |
@implementation BrowserWindowController |
|
|
|
- (id)init |
|
{ |
|
mInitialized = NO; |
|
return [super init]; |
|
} |
|
|
|
- (void)windowWillClose:(NSNotification *)notification |
|
{ |
|
[self autorelease]; |
|
} |
|
|
|
- (void)dealloc |
|
{ |
|
[mBrowserView windowClosed]; |
|
[super dealloc]; |
|
} |
|
|
- (void)windowDidLoad |
- (void)windowDidLoad |
{ |
{ |
|
mInitialized = YES; |
[self setupToolbar]; |
[self setupToolbar]; |
|
|
|
if (mURL) { |
|
[self loadURL: mURL]; |
|
[mURL release]; |
|
} |
|
|
|
[mSidebarDrawer setDelegate: self]; |
|
} |
|
|
|
- (void)drawerDidOpen:(NSNotification *)aNotification |
|
{ |
|
[[mSidebarBrowserView getBrowserView] loadURI: [NSURL URLWithString: @"http://tinderbox.mozilla.org/SeaMonkey/panel.html"] flags:NSLoadFlagsNone]; |
} |
} |
|
|
- (void)setupToolbar |
- (void)setupToolbar |
Line 39 static NSString *SidebarToolbarItemIdent
|
Line 70 static NSString *SidebarToolbarItemIdent
|
|
|
- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar *)toolbar |
- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar *)toolbar |
{ |
{ |
NSLog(@"toolbarAllowedItemIdentifiers"); |
|
return [NSArray arrayWithObjects: BackToolbarItemIdentifier, |
return [NSArray arrayWithObjects: BackToolbarItemIdentifier, |
ForwardToolbarItemIdentifier, |
ForwardToolbarItemIdentifier, |
ReloadToolbarItemIdentifier, |
ReloadToolbarItemIdentifier, |
Line 47 static NSString *SidebarToolbarItemIdent
|
Line 77 static NSString *SidebarToolbarItemIdent
|
HomeToolbarItemIdentifier, |
HomeToolbarItemIdentifier, |
LocationToolbarItemIdentifier, |
LocationToolbarItemIdentifier, |
SidebarToolbarItemIdentifier, |
SidebarToolbarItemIdentifier, |
|
PrintToolbarItemIdentifier, |
NSToolbarCustomizeToolbarItemIdentifier, |
NSToolbarCustomizeToolbarItemIdentifier, |
NSToolbarFlexibleSpaceItemIdentifier, |
NSToolbarFlexibleSpaceItemIdentifier, |
NSToolbarSpaceItemIdentifier, |
NSToolbarSpaceItemIdentifier, |
Line 125 static NSString *SidebarToolbarItemIdent
|
Line 156 static NSString *SidebarToolbarItemIdent
|
[toolbarItem setMaxSize:NSMakeSize(2560,32)]; |
[toolbarItem setMaxSize:NSMakeSize(2560,32)]; |
|
|
[menuFormRep setTarget:self]; |
[menuFormRep setTarget:self]; |
[menuFormRep setAction:@selector(displayLocationSheet:)]; | [menuFormRep setAction:@selector(performAppropriateLocationAction)]; |
[menuFormRep setTitle:[toolbarItem label]]; |
[menuFormRep setTitle:[toolbarItem label]]; |
|
|
[toolbarItem setMenuFormRepresentation:menuFormRep]; |
[toolbarItem setMenuFormRepresentation:menuFormRep]; |
| mLocationToolbarItem = toolbarItem; |
| |
| } else if ( [itemIdent isEqual:PrintToolbarItemIdentifier] ) { |
| [toolbarItem setLabel:@"Print"]; |
| [toolbarItem setPaletteLabel:@"Print"]; |
| [toolbarItem setToolTip:@"Print this page"]; |
| [toolbarItem setImage:[NSImage imageNamed:@"print"]]; |
| [toolbarItem setTarget:self]; |
| [toolbarItem setAction:@selector(printDocument)]; |
} else { |
} else { |
toolbarItem = nil; |
toolbarItem = nil; |
} |
} |
Line 154 static NSString *SidebarToolbarItemIdent
|
Line 193 static NSString *SidebarToolbarItemIdent
|
return YES; |
return YES; |
} |
} |
|
|
-(void)updateToolbarItems | - (void)updateToolbarItems |
{ |
{ |
[[[self window] toolbar] validateVisibleItems]; |
[[[self window] toolbar] validateVisibleItems]; |
} |
} |
|
|
-(void) focusURLBar | - (void)performAppropriateLocationAction |
| { |
| if ( [[[self window] toolbar] isVisible] ) { |
| if ( ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconAndLabel) || |
| ([[[self window] toolbar] displayMode] == NSToolbarDisplayModeIconOnly) ) { |
| [self focusURLBar]; |
| } else { |
| [self beginLocationSheet]; |
| } |
| } else { |
| [self beginLocationSheet]; |
| } |
| } |
| |
| - (void)focusURLBar |
{ |
{ |
[mURLBar selectText: self]; |
[mURLBar selectText: self]; |
} |
} |
|
|
-(IBAction) back:(id)aSender | - (void)beginLocationSheet |
| { |
| [NSApp beginSheet: mLocationSheetWindow |
| modalForWindow: [self window] |
| modalDelegate: nil |
| didEndSelector: nil |
| contextInfo: nil]; |
| } |
| |
| - (IBAction)endLocationSheet:(id)sender |
| { |
| [mLocationSheetWindow orderOut:self]; |
| [NSApp endSheet:mLocationSheetWindow returnCode:1]; |
| [self loadURL:[NSURL URLWithString:[mLocationSheetURLField stringValue]]]; |
| } |
| |
| - (IBAction)goToLocationFromToolbarURLField:(id)sender |
| { |
| [self loadURL:[NSURL URLWithString:[sender stringValue]]]; |
| } |
| |
| - (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList |
| { |
| [[mBrowserView getBrowserView] saveDocument: aFilterView filterList: aFilterList]; |
| } |
| |
| - (void)printDocument |
| { |
| [[mBrowserView getBrowserView] printDocument]; |
| } |
| |
| - (void)printPreview |
| { |
| [[mBrowserView getBrowserView] printPreview]; |
| } |
| |
| - (void)findInPage |
| { |
| [[mBrowserView getBrowserView] findInPage]; |
| } |
| |
| - (void)findAgain |
| { |
| [[mBrowserView getBrowserView] findAgain]; |
| } |
| |
| - (IBAction)back:(id)aSender |
{ |
{ |
[[mBrowserView getBrowserView] goBack]; |
[[mBrowserView getBrowserView] goBack]; |
} |
} |
|
|
-(IBAction) forward:(id)aSender | - (IBAction)forward:(id)aSender |
{ |
{ |
[[mBrowserView getBrowserView] goForward]; |
[[mBrowserView getBrowserView] goForward]; |
} |
} |
|
|
-(IBAction) reload:(id)aSender | - (IBAction)reload:(id)aSender |
{ |
{ |
[[mBrowserView getBrowserView] reload: 0]; |
[[mBrowserView getBrowserView] reload: 0]; |
} |
} |
|
|
-(IBAction) stop:(id)aSender | - (IBAction)stop:(id)aSender |
{ |
{ |
[[mBrowserView getBrowserView] stop: 0]; |
[[mBrowserView getBrowserView] stop: 0]; |
} |
} |
|
|
-(IBAction) home:(id)aSender | - (IBAction)home:(id)aSender |
{ |
{ |
NSURL* url = [NSURL URLWithString:@"about:blank"]; | [[mBrowserView getBrowserView] loadURI:[NSURL URLWithString:@"about:blank"] flags:NSLoadFlagsNone]; |
[[mBrowserView getBrowserView] loadURI:url flags:NSLoadFlagsNone]; | |
} |
} |
|
|
-(IBAction) toggleSidebar:(id)aSender | - (IBAction)toggleSidebar:(id)aSender |
{ |
{ |
if ( ([mSidebarDrawer state] == NSDrawerClosedState) || ([mSidebarDrawer state] == NSDrawerClosingState) ) { |
if ( ([mSidebarDrawer state] == NSDrawerClosedState) || ([mSidebarDrawer state] == NSDrawerClosingState) ) { |
[mSidebarDrawer open]; |
[mSidebarDrawer open]; |
Line 199 static NSString *SidebarToolbarItemIdent
|
Line 297 static NSString *SidebarToolbarItemIdent
|
} |
} |
} |
} |
|
|
-(void)loadURL:(NSString*)aURL | -(void)loadURL:(NSURL*)aURL |
{ |
{ |
NSURL* url = [NSURL URLWithString:aURL]; | if (mInitialized) |
[[mBrowserView getBrowserView] loadURI:url flags:NSLoadFlagsNone]; | [[mBrowserView getBrowserView] loadURI:aURL flags:NSLoadFlagsNone]; |
| else { |
| mURL = aURL; |
| [mURL retain]; |
| } |
| } |
| |
| - (void)updateLocationFields:(NSString *)locationString |
| { |
| /* //commenting this out because it doesn't work right yet. |
| if ( [locationString length] > 30 ) { |
| [[mLocationToolbarItem menuFormRepresentation] setTitle: |
| [NSString stringWithFormat:@"Location: %@...", [locationString substringToIndex:31]]]; |
| } else { |
| [[mLocationToolbarItem menuFormRepresentation] setTitle: |
| [NSString stringWithFormat:@"Location: %@", locationString]]; |
| } |
| */ |
| |
| [mURLBar setStringValue:locationString]; |
| [mLocationSheetURLField setStringValue:locationString]; |
| |
| [[self window] update]; |
| [[self window] display]; |
} |
} |
@end |
@end |
|
|