From 8db408d1c4f52fbe80119430a9ce3b9a9eccee7c Mon Sep 17 00:00:00 2001 From: "sfraser%netscape.com" Date: Mon, 19 Aug 2002 03:51:32 +0000 Subject: [PATCH] Create BrowserTabViewItems using the factory method on BrowserTabView, and add an accessor for the proxy icon view. --- camino/BrowserWindowController.h | 282 ------------------ camino/BrowserWindowController.mm | 11 +- camino/src/browser/BrowserWindowController.h | 3 + camino/src/browser/BrowserWindowController.mm | 11 +- chimera/BrowserWindowController.h | 282 ------------------ chimera/BrowserWindowController.mm | 11 +- chimera/src/browser/BrowserWindowController.h | 3 + .../src/browser/BrowserWindowController.mm | 11 +- 8 files changed, 34 insertions(+), 580 deletions(-) diff --git a/camino/BrowserWindowController.h b/camino/BrowserWindowController.h index bb6221aba4c..e69de29bb2d 100644 --- a/camino/BrowserWindowController.h +++ b/camino/BrowserWindowController.h @@ -1,282 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: NPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Netscape Public License - * Version 1.1 (the "License"); you may not use this file except in - * compliance with the License. You may obtain a copy of the License at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 2002 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the NPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the NPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#import -#import "CHBrowserWrapper.h" -#import "CHFind.h" -#import "CHBookmarksToolbar.h" - -class nsIDOMEvent; -class nsIDOMNode; - - -// -// ThrobberHandler -// -// A helper class that handles animating the throbber when it's alive. It starts -// automatically when you init it. To get it to stop, call |stopThrobber|. Calling -// |release| is not enough because the timer used to animate the images holds a strong -// ref back to the handler so it won't go away unless you break that cycle manually with -// |stopThrobber|. -// -// This class must be separate from BrowserWindowController else the -// same thing will happen there and the timer will cause it to stay alive and continue -// loading the webpage even though the window has gone away. -// -@interface ThrobberHandler : NSObject -{ - NSTimer* mTimer; - NSArray* mImages; - unsigned int mFrame; -} - -// public -- (id)initWithToolbarItem:(NSToolbarItem*)inButton images:(NSArray*)inImages; -- (void)stopThrobber; - -// internal -- (void)startThrobber; -- (void)pulseThrobber:(id)aSender; - -@end - - -@class BookmarksDataSource; -@class CHHistoryDataSource; -@class BrowserTabView; -@class CHPageProxyIcon; - -@interface BrowserWindowController : NSWindowController -{ - IBOutlet BrowserTabView* mTabBrowser; - IBOutlet NSDrawer* mSidebarDrawer; - IBOutlet NSTabView* mSidebarTabView; - IBOutlet NSTabView* mSidebarSourceTabView; - IBOutlet NSView* mLocationToolbarView; - IBOutlet NSTextField* mURLBar; - IBOutlet NSTextField* mStatus; - IBOutlet NSProgressIndicator* mProgress; - IBOutlet NSImageView* mLock; - IBOutlet NSWindow* mLocationSheetWindow; - IBOutlet NSTextField* mLocationSheetURLField; - IBOutlet NSView* mStatusBar; // contains the status text, progress bar, and lock - IBOutlet CHPageProxyIcon* mProxyIcon; - - IBOutlet id mSidebarBrowserView; // currently unused - IBOutlet BookmarksDataSource* mSidebarBookmarksDataSource; - IBOutlet CHHistoryDataSource* mHistoryDataSource; - - IBOutlet CHBookmarksToolbar* mPersonalToolbar; - - IBOutlet NSWindow* mAddBookmarkSheetWindow; - IBOutlet NSTextField* mAddBookmarkTitleField; - IBOutlet NSPopUpButton* mAddBookmarkFolderField; - IBOutlet NSButton* mAddBookmarkCheckbox; - - // Context menu outlets. - IBOutlet NSMenu* mPageMenu; - IBOutlet NSMenu* mImageMenu; - IBOutlet NSMenu* mInputMenu; - IBOutlet NSMenu* mLinkMenu; - IBOutlet NSMenu* mImageLinkMenu; - - // Context menu item outlets - IBOutlet NSMenuItem* mBackItem; - IBOutlet NSMenuItem* mForwardItem; - - NSToolbarItem* mSidebarToolbarItem; - - BOOL mInitialized; - NSString* mPendingURL; - NSString* mPendingReferrer; - BOOL mPendingActivate; - - CHBrowserWrapper* mBrowserView; - - BOOL mMoveReentrant; - NSModalSession mModalSession; - - BOOL mShouldAutosave; - BOOL mShouldLoadHomePage; - - BOOL mDrawerCachedFrame; - NSRect mCachedFrameBeforeDrawerOpen; // This is used by the drawer to figure out if the window should - // be returned to its original position when the drawer closes. - NSRect mCachedFrameAfterDrawerOpen; - - unsigned int mChromeMask; // Indicates which parts of the window to show (e.g., don't show toolbars) - - // Context menu members. - int mContextMenuFlags; - nsIDOMEvent* mContextMenuEvent; - nsIDOMNode* mContextMenuNode; - - // Cached bookmark ds used when adding through a sheet - id mCachedBMDS; - - // Throbber state variables. - ThrobberHandler* mThrobberHandler; - NSArray* mThrobberImages; - - // Funky field editor for URL bar - NSTextView *mURLFieldEditor; -} - -- (void)dealloc; - -- (id)getTabBrowser; -- (BOOL)newTabsAllowed; -- (CHBrowserWrapper*)getBrowserWrapper; - -- (void)loadURL:(NSString*)aURLSpec referrer:(NSString*)aReferrer activate:(BOOL)activate; -- (void)updateLocationFields:(NSString *)locationString; -- (void)updateSiteIcons:(NSImage *)siteIconImage; -- (void)updateToolbarItems; -- (void)focusURLBar; - - // call to update the image of the lock icon with a value from nsIWebProgressListener -- (void)updateLock:(unsigned int)securityState; - -- (void)performAppropriateLocationAction; -- (IBAction)goToLocationFromToolbarURLField:(id)sender; -- (void)beginLocationSheet; -- (IBAction)endLocationSheet:(id)sender; -- (IBAction)cancelLocationSheet:(id)sender; - -- (IBAction)cancelAddBookmarkSheet:(id)sender; -- (IBAction)endAddBookmarkSheet:(id)sender; -- (void)cacheBookmarkDS: (id)aDS; - -- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)proposedFrameSize; - -- (IBAction)viewSource:(id)aSender; - -- (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList; -- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList - url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename; -- (IBAction)printDocument:(id)aSender; -- (void)printPreview; -- (IBAction)performSearch:(id)aSender; - -- (void)startThrobber; -- (void)stopThrobber; -- (void)clickThrobber:(id)aSender; - -- (void)biggerTextSize; -- (void)smallerTextSize; -- (void)getInfo:(id)sender; - -- (BOOL)canGetInfo; - -- (BOOL)shouldShowBookmarkToolbar; - -- (void)addBookmarkExtended: (BOOL)aIsFromMenu isFolder:(BOOL)aIsFolder URL:(NSString*)aURL title:(NSString*)aTitle; -- (IBAction)manageBookmarks: (id)aSender; -- (void)importBookmarks: (NSString*)aURLSpec; -- (IBAction)toggleSidebar:(id)aSender; -- (BOOL)bookmarksAreVisible:(BOOL)inRequireSelection; - -- (void)newTab:(BOOL)allowHomepage; -- (void)closeTab; -- (void)previousTab; -- (void)nextTab; - -- (IBAction)back:(id)aSender; -- (IBAction)forward:(id)aSender; -- (IBAction)reload:(id)aSender; -- (IBAction)stop:(id)aSender; -- (IBAction)home:(id)aSender; - --(void)enterModalSession; - --(void)openNewWindowWithURL: (NSString*)aURLSpec referrer:(NSString*)aReferrer loadInBackground: (BOOL)aLoadInBG; --(void)openNewWindowWithGroup: (nsIDOMElement*)aFolderElement loadInBackground: (BOOL)aLoadInBG; --(void)openNewTabWithURL: (NSString*)aURLSpec referrer: (NSString*)aReferrer loadInBackground: (BOOL)aLoadInBG; - --(void)autosaveWindowFrame; --(void)disableAutosave; --(void)disableLoadPage; - --(void)setChromeMask:(unsigned int)aMask; --(unsigned int)chromeMask; - --(id)getAddBookmarkSheetWindow; --(id)getAddBookmarkTitle; --(id)getAddBookmarkFolder; --(id)getAddBookmarkCheckbox; - -// Called when a context menu should be shown. -- (void)onShowContextMenu:(int)flags domEvent:(nsIDOMEvent*)aEvent domNode:(nsIDOMNode*)aNode; -- (NSMenu*)getContextMenu; - -// Context menu methods -- (IBAction)openLinkInNewWindow:(id)aSender; -- (IBAction)openLinkInNewTab:(id)aSender; -- (void)openLinkInNewWindowOrTab: (BOOL)aUseWindow; - -- (IBAction)savePageAs:(id)aSender; -- (IBAction)saveLinkAs:(id)aSender; -- (IBAction)saveImageAs:(id)aSender; - -- (IBAction)bookmarkPage: (id)aSender; -- (IBAction)bookmarkLink: (id)aSender; - -- (IBAction)copyLinkLocation:(id)aSender; - -- (IBAction)viewOnlyThisImage:(id)aSender; - -- (CHBookmarksToolbar*) bookmarksToolbar; - -- (BOOL) isResponderGeckoView:(NSResponder*) responder; - -// called when the internal window focus has changed -// this allows us to dispatch activate and deactivate events as necessary -- (void) focusChangedFrom:(NSResponder*) oldResponder to:(NSResponder*) newResponder; - -// Called to get cached versions of our security icons -+ (NSImage*) insecureIcon; -+ (NSImage*) secureIcon; -+ (NSImage*) brokenIcon; - -// cache the toolbar defaults we parse from a plist -+ (NSArray*) toolbarDefaults; - -// Accessor to get the sidebar drawer -- (NSDrawer *)sidebarDrawer; - -@end - diff --git a/camino/BrowserWindowController.mm b/camino/BrowserWindowController.mm index f1d4dc41834..e1f2492d068 100644 --- a/camino/BrowserWindowController.mm +++ b/camino/BrowserWindowController.mm @@ -40,7 +40,6 @@ #import "BrowserWindowController.h" #import "CHBrowserWrapper.h" -#import "CHIconTabViewItem.h" #import "CHPreferenceManager.h" #import "BookmarksDataSource.h" #import "CHHistoryDataSource.h" @@ -968,7 +967,7 @@ static NSArray* sToolbarDefaults = nil; -(void)newTab:(BOOL)allowHomepage { - CHIconTabViewItem* newTab = [[[CHIconTabViewItem alloc] initWithIdentifier: nil] autorelease]; + BrowserTabViewItem* newTab = [BrowserTabView makeNewTabItem]; CHBrowserWrapper* newView = [[[CHBrowserWrapper alloc] initWithTab: newTab andWindow: [mTabBrowser window]] autorelease]; PRInt32 newTabPage = 0; @@ -980,7 +979,7 @@ static NSArray* sToolbarDefaults = nil; [newTab setLabel: ((newTabPage == 1) ? NSLocalizedString(@"TabLoading", @"") : NSLocalizedString(@"UntitledPageTitle", @""))]; [newTab setView: newView]; [mTabBrowser addTabViewItem: newTab]; - + // Focus the URL bar if we're opening a blank tab and the URL bar is visible. NSToolbar* toolbar = [[self window] toolbar]; BOOL focusURLBar = ([toolbar isVisible] && @@ -1087,7 +1086,7 @@ static NSArray* sToolbarDefaults = nil; -(void)openNewTabWithURL: (NSString*)aURLSpec referrer:(NSString*)aReferrer loadInBackground: (BOOL)aLoadInBG { - CHIconTabViewItem* newTab = [[[CHIconTabViewItem alloc] initWithIdentifier: nil] autorelease]; + BrowserTabViewItem* newTab = [BrowserTabView makeNewTabItem]; // hyatt originally made new tabs open on the far right and tabs opened from a content // link open to the right of the current tab. The idea was to keep the new tab @@ -1476,6 +1475,10 @@ static NSArray* sToolbarDefaults = nil; return mSidebarDrawer; } +- (CHPageProxyIcon *)proxyIconView +{ + return mProxyIcon; +} - (id)windowWillReturnFieldEditor:(NSWindow *)aWindow toObject:(id)anObject { diff --git a/camino/src/browser/BrowserWindowController.h b/camino/src/browser/BrowserWindowController.h index bb6221aba4c..1a1c3dd4d29 100644 --- a/camino/src/browser/BrowserWindowController.h +++ b/camino/src/browser/BrowserWindowController.h @@ -278,5 +278,8 @@ class nsIDOMNode; // Accessor to get the sidebar drawer - (NSDrawer *)sidebarDrawer; +// Accessor to get the proxy icon view +- (CHPageProxyIcon *)proxyIconView; + @end diff --git a/camino/src/browser/BrowserWindowController.mm b/camino/src/browser/BrowserWindowController.mm index f1d4dc41834..e1f2492d068 100644 --- a/camino/src/browser/BrowserWindowController.mm +++ b/camino/src/browser/BrowserWindowController.mm @@ -40,7 +40,6 @@ #import "BrowserWindowController.h" #import "CHBrowserWrapper.h" -#import "CHIconTabViewItem.h" #import "CHPreferenceManager.h" #import "BookmarksDataSource.h" #import "CHHistoryDataSource.h" @@ -968,7 +967,7 @@ static NSArray* sToolbarDefaults = nil; -(void)newTab:(BOOL)allowHomepage { - CHIconTabViewItem* newTab = [[[CHIconTabViewItem alloc] initWithIdentifier: nil] autorelease]; + BrowserTabViewItem* newTab = [BrowserTabView makeNewTabItem]; CHBrowserWrapper* newView = [[[CHBrowserWrapper alloc] initWithTab: newTab andWindow: [mTabBrowser window]] autorelease]; PRInt32 newTabPage = 0; @@ -980,7 +979,7 @@ static NSArray* sToolbarDefaults = nil; [newTab setLabel: ((newTabPage == 1) ? NSLocalizedString(@"TabLoading", @"") : NSLocalizedString(@"UntitledPageTitle", @""))]; [newTab setView: newView]; [mTabBrowser addTabViewItem: newTab]; - + // Focus the URL bar if we're opening a blank tab and the URL bar is visible. NSToolbar* toolbar = [[self window] toolbar]; BOOL focusURLBar = ([toolbar isVisible] && @@ -1087,7 +1086,7 @@ static NSArray* sToolbarDefaults = nil; -(void)openNewTabWithURL: (NSString*)aURLSpec referrer:(NSString*)aReferrer loadInBackground: (BOOL)aLoadInBG { - CHIconTabViewItem* newTab = [[[CHIconTabViewItem alloc] initWithIdentifier: nil] autorelease]; + BrowserTabViewItem* newTab = [BrowserTabView makeNewTabItem]; // hyatt originally made new tabs open on the far right and tabs opened from a content // link open to the right of the current tab. The idea was to keep the new tab @@ -1476,6 +1475,10 @@ static NSArray* sToolbarDefaults = nil; return mSidebarDrawer; } +- (CHPageProxyIcon *)proxyIconView +{ + return mProxyIcon; +} - (id)windowWillReturnFieldEditor:(NSWindow *)aWindow toObject:(id)anObject { diff --git a/chimera/BrowserWindowController.h b/chimera/BrowserWindowController.h index bb6221aba4c..e69de29bb2d 100644 --- a/chimera/BrowserWindowController.h +++ b/chimera/BrowserWindowController.h @@ -1,282 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* ***** BEGIN LICENSE BLOCK ***** - * Version: NPL 1.1/GPL 2.0/LGPL 2.1 - * - * The contents of this file are subject to the Netscape Public License - * Version 1.1 (the "License"); you may not use this file except in - * compliance with the License. You may obtain a copy of the License at - * http://www.mozilla.org/NPL/ - * - * Software distributed under the License is distributed on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License - * for the specific language governing rights and limitations under the - * License. - * - * The Original Code is mozilla.org code. - * - * The Initial Developer of the Original Code is - * Netscape Communications Corporation. - * Portions created by the Initial Developer are Copyright (C) 2002 - * the Initial Developer. All Rights Reserved. - * - * Contributor(s): - * - * Alternatively, the contents of this file may be used under the terms of - * either the GNU General Public License Version 2 or later (the "GPL"), or - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), - * in which case the provisions of the GPL or the LGPL are applicable instead - * of those above. If you wish to allow use of your version of this file only - * under the terms of either the GPL or the LGPL, and not to allow others to - * use your version of this file under the terms of the NPL, indicate your - * decision by deleting the provisions above and replace them with the notice - * and other provisions required by the GPL or the LGPL. If you do not delete - * the provisions above, a recipient may use your version of this file under - * the terms of any one of the NPL, the GPL or the LGPL. - * - * ***** END LICENSE BLOCK ***** */ - -#import -#import "CHBrowserWrapper.h" -#import "CHFind.h" -#import "CHBookmarksToolbar.h" - -class nsIDOMEvent; -class nsIDOMNode; - - -// -// ThrobberHandler -// -// A helper class that handles animating the throbber when it's alive. It starts -// automatically when you init it. To get it to stop, call |stopThrobber|. Calling -// |release| is not enough because the timer used to animate the images holds a strong -// ref back to the handler so it won't go away unless you break that cycle manually with -// |stopThrobber|. -// -// This class must be separate from BrowserWindowController else the -// same thing will happen there and the timer will cause it to stay alive and continue -// loading the webpage even though the window has gone away. -// -@interface ThrobberHandler : NSObject -{ - NSTimer* mTimer; - NSArray* mImages; - unsigned int mFrame; -} - -// public -- (id)initWithToolbarItem:(NSToolbarItem*)inButton images:(NSArray*)inImages; -- (void)stopThrobber; - -// internal -- (void)startThrobber; -- (void)pulseThrobber:(id)aSender; - -@end - - -@class BookmarksDataSource; -@class CHHistoryDataSource; -@class BrowserTabView; -@class CHPageProxyIcon; - -@interface BrowserWindowController : NSWindowController -{ - IBOutlet BrowserTabView* mTabBrowser; - IBOutlet NSDrawer* mSidebarDrawer; - IBOutlet NSTabView* mSidebarTabView; - IBOutlet NSTabView* mSidebarSourceTabView; - IBOutlet NSView* mLocationToolbarView; - IBOutlet NSTextField* mURLBar; - IBOutlet NSTextField* mStatus; - IBOutlet NSProgressIndicator* mProgress; - IBOutlet NSImageView* mLock; - IBOutlet NSWindow* mLocationSheetWindow; - IBOutlet NSTextField* mLocationSheetURLField; - IBOutlet NSView* mStatusBar; // contains the status text, progress bar, and lock - IBOutlet CHPageProxyIcon* mProxyIcon; - - IBOutlet id mSidebarBrowserView; // currently unused - IBOutlet BookmarksDataSource* mSidebarBookmarksDataSource; - IBOutlet CHHistoryDataSource* mHistoryDataSource; - - IBOutlet CHBookmarksToolbar* mPersonalToolbar; - - IBOutlet NSWindow* mAddBookmarkSheetWindow; - IBOutlet NSTextField* mAddBookmarkTitleField; - IBOutlet NSPopUpButton* mAddBookmarkFolderField; - IBOutlet NSButton* mAddBookmarkCheckbox; - - // Context menu outlets. - IBOutlet NSMenu* mPageMenu; - IBOutlet NSMenu* mImageMenu; - IBOutlet NSMenu* mInputMenu; - IBOutlet NSMenu* mLinkMenu; - IBOutlet NSMenu* mImageLinkMenu; - - // Context menu item outlets - IBOutlet NSMenuItem* mBackItem; - IBOutlet NSMenuItem* mForwardItem; - - NSToolbarItem* mSidebarToolbarItem; - - BOOL mInitialized; - NSString* mPendingURL; - NSString* mPendingReferrer; - BOOL mPendingActivate; - - CHBrowserWrapper* mBrowserView; - - BOOL mMoveReentrant; - NSModalSession mModalSession; - - BOOL mShouldAutosave; - BOOL mShouldLoadHomePage; - - BOOL mDrawerCachedFrame; - NSRect mCachedFrameBeforeDrawerOpen; // This is used by the drawer to figure out if the window should - // be returned to its original position when the drawer closes. - NSRect mCachedFrameAfterDrawerOpen; - - unsigned int mChromeMask; // Indicates which parts of the window to show (e.g., don't show toolbars) - - // Context menu members. - int mContextMenuFlags; - nsIDOMEvent* mContextMenuEvent; - nsIDOMNode* mContextMenuNode; - - // Cached bookmark ds used when adding through a sheet - id mCachedBMDS; - - // Throbber state variables. - ThrobberHandler* mThrobberHandler; - NSArray* mThrobberImages; - - // Funky field editor for URL bar - NSTextView *mURLFieldEditor; -} - -- (void)dealloc; - -- (id)getTabBrowser; -- (BOOL)newTabsAllowed; -- (CHBrowserWrapper*)getBrowserWrapper; - -- (void)loadURL:(NSString*)aURLSpec referrer:(NSString*)aReferrer activate:(BOOL)activate; -- (void)updateLocationFields:(NSString *)locationString; -- (void)updateSiteIcons:(NSImage *)siteIconImage; -- (void)updateToolbarItems; -- (void)focusURLBar; - - // call to update the image of the lock icon with a value from nsIWebProgressListener -- (void)updateLock:(unsigned int)securityState; - -- (void)performAppropriateLocationAction; -- (IBAction)goToLocationFromToolbarURLField:(id)sender; -- (void)beginLocationSheet; -- (IBAction)endLocationSheet:(id)sender; -- (IBAction)cancelLocationSheet:(id)sender; - -- (IBAction)cancelAddBookmarkSheet:(id)sender; -- (IBAction)endAddBookmarkSheet:(id)sender; -- (void)cacheBookmarkDS: (id)aDS; - -- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)proposedFrameSize; - -- (IBAction)viewSource:(id)aSender; - -- (void)saveDocument: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList; -- (void)saveURL: (NSView*)aFilterView filterList: (NSPopUpButton*)aFilterList - url: (NSString*)aURLSpec suggestedFilename: (NSString*)aFilename; -- (IBAction)printDocument:(id)aSender; -- (void)printPreview; -- (IBAction)performSearch:(id)aSender; - -- (void)startThrobber; -- (void)stopThrobber; -- (void)clickThrobber:(id)aSender; - -- (void)biggerTextSize; -- (void)smallerTextSize; -- (void)getInfo:(id)sender; - -- (BOOL)canGetInfo; - -- (BOOL)shouldShowBookmarkToolbar; - -- (void)addBookmarkExtended: (BOOL)aIsFromMenu isFolder:(BOOL)aIsFolder URL:(NSString*)aURL title:(NSString*)aTitle; -- (IBAction)manageBookmarks: (id)aSender; -- (void)importBookmarks: (NSString*)aURLSpec; -- (IBAction)toggleSidebar:(id)aSender; -- (BOOL)bookmarksAreVisible:(BOOL)inRequireSelection; - -- (void)newTab:(BOOL)allowHomepage; -- (void)closeTab; -- (void)previousTab; -- (void)nextTab; - -- (IBAction)back:(id)aSender; -- (IBAction)forward:(id)aSender; -- (IBAction)reload:(id)aSender; -- (IBAction)stop:(id)aSender; -- (IBAction)home:(id)aSender; - --(void)enterModalSession; - --(void)openNewWindowWithURL: (NSString*)aURLSpec referrer:(NSString*)aReferrer loadInBackground: (BOOL)aLoadInBG; --(void)openNewWindowWithGroup: (nsIDOMElement*)aFolderElement loadInBackground: (BOOL)aLoadInBG; --(void)openNewTabWithURL: (NSString*)aURLSpec referrer: (NSString*)aReferrer loadInBackground: (BOOL)aLoadInBG; - --(void)autosaveWindowFrame; --(void)disableAutosave; --(void)disableLoadPage; - --(void)setChromeMask:(unsigned int)aMask; --(unsigned int)chromeMask; - --(id)getAddBookmarkSheetWindow; --(id)getAddBookmarkTitle; --(id)getAddBookmarkFolder; --(id)getAddBookmarkCheckbox; - -// Called when a context menu should be shown. -- (void)onShowContextMenu:(int)flags domEvent:(nsIDOMEvent*)aEvent domNode:(nsIDOMNode*)aNode; -- (NSMenu*)getContextMenu; - -// Context menu methods -- (IBAction)openLinkInNewWindow:(id)aSender; -- (IBAction)openLinkInNewTab:(id)aSender; -- (void)openLinkInNewWindowOrTab: (BOOL)aUseWindow; - -- (IBAction)savePageAs:(id)aSender; -- (IBAction)saveLinkAs:(id)aSender; -- (IBAction)saveImageAs:(id)aSender; - -- (IBAction)bookmarkPage: (id)aSender; -- (IBAction)bookmarkLink: (id)aSender; - -- (IBAction)copyLinkLocation:(id)aSender; - -- (IBAction)viewOnlyThisImage:(id)aSender; - -- (CHBookmarksToolbar*) bookmarksToolbar; - -- (BOOL) isResponderGeckoView:(NSResponder*) responder; - -// called when the internal window focus has changed -// this allows us to dispatch activate and deactivate events as necessary -- (void) focusChangedFrom:(NSResponder*) oldResponder to:(NSResponder*) newResponder; - -// Called to get cached versions of our security icons -+ (NSImage*) insecureIcon; -+ (NSImage*) secureIcon; -+ (NSImage*) brokenIcon; - -// cache the toolbar defaults we parse from a plist -+ (NSArray*) toolbarDefaults; - -// Accessor to get the sidebar drawer -- (NSDrawer *)sidebarDrawer; - -@end - diff --git a/chimera/BrowserWindowController.mm b/chimera/BrowserWindowController.mm index f1d4dc41834..e1f2492d068 100644 --- a/chimera/BrowserWindowController.mm +++ b/chimera/BrowserWindowController.mm @@ -40,7 +40,6 @@ #import "BrowserWindowController.h" #import "CHBrowserWrapper.h" -#import "CHIconTabViewItem.h" #import "CHPreferenceManager.h" #import "BookmarksDataSource.h" #import "CHHistoryDataSource.h" @@ -968,7 +967,7 @@ static NSArray* sToolbarDefaults = nil; -(void)newTab:(BOOL)allowHomepage { - CHIconTabViewItem* newTab = [[[CHIconTabViewItem alloc] initWithIdentifier: nil] autorelease]; + BrowserTabViewItem* newTab = [BrowserTabView makeNewTabItem]; CHBrowserWrapper* newView = [[[CHBrowserWrapper alloc] initWithTab: newTab andWindow: [mTabBrowser window]] autorelease]; PRInt32 newTabPage = 0; @@ -980,7 +979,7 @@ static NSArray* sToolbarDefaults = nil; [newTab setLabel: ((newTabPage == 1) ? NSLocalizedString(@"TabLoading", @"") : NSLocalizedString(@"UntitledPageTitle", @""))]; [newTab setView: newView]; [mTabBrowser addTabViewItem: newTab]; - + // Focus the URL bar if we're opening a blank tab and the URL bar is visible. NSToolbar* toolbar = [[self window] toolbar]; BOOL focusURLBar = ([toolbar isVisible] && @@ -1087,7 +1086,7 @@ static NSArray* sToolbarDefaults = nil; -(void)openNewTabWithURL: (NSString*)aURLSpec referrer:(NSString*)aReferrer loadInBackground: (BOOL)aLoadInBG { - CHIconTabViewItem* newTab = [[[CHIconTabViewItem alloc] initWithIdentifier: nil] autorelease]; + BrowserTabViewItem* newTab = [BrowserTabView makeNewTabItem]; // hyatt originally made new tabs open on the far right and tabs opened from a content // link open to the right of the current tab. The idea was to keep the new tab @@ -1476,6 +1475,10 @@ static NSArray* sToolbarDefaults = nil; return mSidebarDrawer; } +- (CHPageProxyIcon *)proxyIconView +{ + return mProxyIcon; +} - (id)windowWillReturnFieldEditor:(NSWindow *)aWindow toObject:(id)anObject { diff --git a/chimera/src/browser/BrowserWindowController.h b/chimera/src/browser/BrowserWindowController.h index bb6221aba4c..1a1c3dd4d29 100644 --- a/chimera/src/browser/BrowserWindowController.h +++ b/chimera/src/browser/BrowserWindowController.h @@ -278,5 +278,8 @@ class nsIDOMNode; // Accessor to get the sidebar drawer - (NSDrawer *)sidebarDrawer; +// Accessor to get the proxy icon view +- (CHPageProxyIcon *)proxyIconView; + @end diff --git a/chimera/src/browser/BrowserWindowController.mm b/chimera/src/browser/BrowserWindowController.mm index f1d4dc41834..e1f2492d068 100644 --- a/chimera/src/browser/BrowserWindowController.mm +++ b/chimera/src/browser/BrowserWindowController.mm @@ -40,7 +40,6 @@ #import "BrowserWindowController.h" #import "CHBrowserWrapper.h" -#import "CHIconTabViewItem.h" #import "CHPreferenceManager.h" #import "BookmarksDataSource.h" #import "CHHistoryDataSource.h" @@ -968,7 +967,7 @@ static NSArray* sToolbarDefaults = nil; -(void)newTab:(BOOL)allowHomepage { - CHIconTabViewItem* newTab = [[[CHIconTabViewItem alloc] initWithIdentifier: nil] autorelease]; + BrowserTabViewItem* newTab = [BrowserTabView makeNewTabItem]; CHBrowserWrapper* newView = [[[CHBrowserWrapper alloc] initWithTab: newTab andWindow: [mTabBrowser window]] autorelease]; PRInt32 newTabPage = 0; @@ -980,7 +979,7 @@ static NSArray* sToolbarDefaults = nil; [newTab setLabel: ((newTabPage == 1) ? NSLocalizedString(@"TabLoading", @"") : NSLocalizedString(@"UntitledPageTitle", @""))]; [newTab setView: newView]; [mTabBrowser addTabViewItem: newTab]; - + // Focus the URL bar if we're opening a blank tab and the URL bar is visible. NSToolbar* toolbar = [[self window] toolbar]; BOOL focusURLBar = ([toolbar isVisible] && @@ -1087,7 +1086,7 @@ static NSArray* sToolbarDefaults = nil; -(void)openNewTabWithURL: (NSString*)aURLSpec referrer:(NSString*)aReferrer loadInBackground: (BOOL)aLoadInBG { - CHIconTabViewItem* newTab = [[[CHIconTabViewItem alloc] initWithIdentifier: nil] autorelease]; + BrowserTabViewItem* newTab = [BrowserTabView makeNewTabItem]; // hyatt originally made new tabs open on the far right and tabs opened from a content // link open to the right of the current tab. The idea was to keep the new tab @@ -1476,6 +1475,10 @@ static NSArray* sToolbarDefaults = nil; return mSidebarDrawer; } +- (CHPageProxyIcon *)proxyIconView +{ + return mProxyIcon; +} - (id)windowWillReturnFieldEditor:(NSWindow *)aWindow toObject:(id)anObject {