OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #import "chrome/browser/cocoa/toolbar_controller.h" | 5 #import "chrome/browser/cocoa/toolbar_controller.h" |
6 | 6 |
7 #include "base/mac_util.h" | 7 #include "base/mac_util.h" |
8 #include "base/sys_string_conversions.h" | 8 #include "base/sys_string_conversions.h" |
9 #include "chrome/app/chrome_dll_resource.h" | 9 #include "chrome/app/chrome_dll_resource.h" |
10 #import "chrome/browser/cocoa/location_bar_view_mac.h" | 10 #import "chrome/browser/cocoa/location_bar_view_mac.h" |
(...skipping 30 matching lines...) Expand all Loading... |
41 return self; | 41 return self; |
42 } | 42 } |
43 | 43 |
44 // Called after the view is done loading and the outlets have been hooked up. | 44 // Called after the view is done loading and the outlets have been hooked up. |
45 // Now we can hook up bridges that rely on UI objects such as the location | 45 // Now we can hook up bridges that rely on UI objects such as the location |
46 // bar and button state. | 46 // bar and button state. |
47 - (void)awakeFromNib { | 47 - (void)awakeFromNib { |
48 [self initCommandStatus:commands_]; | 48 [self initCommandStatus:commands_]; |
49 locationBarView_.reset(new LocationBarViewMac(locationBar_, commands_, | 49 locationBarView_.reset(new LocationBarViewMac(locationBar_, commands_, |
50 toolbarModel_, profile_)); | 50 toolbarModel_, profile_)); |
51 [locationBar_ setStringValue:@"http://dev.chromium.org"]; | |
52 } | 51 } |
53 | 52 |
54 - (void)dealloc { | 53 - (void)dealloc { |
55 [super dealloc]; | 54 [super dealloc]; |
56 } | 55 } |
57 | 56 |
58 - (LocationBar*)locationBar { | 57 - (LocationBar*)locationBar { |
59 return locationBarView_.get(); | 58 return locationBarView_.get(); |
60 } | 59 } |
61 | 60 |
(...skipping 29 matching lines...) Expand all Loading... |
91 - (void)initCommandStatus:(CommandUpdater*)commands { | 90 - (void)initCommandStatus:(CommandUpdater*)commands { |
92 [backButton_ setEnabled:commands->IsCommandEnabled(IDC_BACK) ? YES : NO]; | 91 [backButton_ setEnabled:commands->IsCommandEnabled(IDC_BACK) ? YES : NO]; |
93 [forwardButton_ | 92 [forwardButton_ |
94 setEnabled:commands->IsCommandEnabled(IDC_FORWARD) ? YES : NO]; | 93 setEnabled:commands->IsCommandEnabled(IDC_FORWARD) ? YES : NO]; |
95 [reloadButton_ | 94 [reloadButton_ |
96 setEnabled:commands->IsCommandEnabled(IDC_RELOAD) ? YES : NO]; | 95 setEnabled:commands->IsCommandEnabled(IDC_RELOAD) ? YES : NO]; |
97 // TODO(pinkerton): Add home button. | 96 // TODO(pinkerton): Add home button. |
98 [starButton_ setEnabled:commands->IsCommandEnabled(IDC_STAR) ? YES : NO]; | 97 [starButton_ setEnabled:commands->IsCommandEnabled(IDC_STAR) ? YES : NO]; |
99 } | 98 } |
100 | 99 |
101 - (void)updateToolbarWithContents:(TabContents*)tab { | 100 - (void)updateToolbarWithContents:(TabContents*)tab |
102 // TODO(pinkerton): there's a lot of ui code in autocomplete_edit.cc | 101 shouldRestoreState:(BOOL)shouldRestore { |
103 // that we'll want to duplicate. For now, just handle setting the text. | 102 locationBarView_->Update(tab, shouldRestore ? true : false); |
104 | |
105 // TODO(shess): This is the start of what pinkerton refers to. | |
106 // Unfortunately, I'm going to need to spend some time wiring things | |
107 // up. This call should suffice to close any open autocomplete | |
108 // pulldown. It should also be the right thing to do to save and | |
109 // restore state, but at this time it's not clear that this is the | |
110 // right place, and tab is not the right parameter. | |
111 if (locationBarView_.get()) { | |
112 locationBarView_->SaveStateToContents(NULL); | |
113 } | |
114 | |
115 // TODO(pinkerton): update the security lock icon and background color | |
116 | |
117 // TODO(shess): Determine whether this should happen via | |
118 // locationBarView_, instead, in which case this class can | |
119 // potentially lose the locationBar_ reference. | |
120 NSString* urlString = base::SysWideToNSString(toolbarModel_->GetText()); | |
121 [locationBar_ setStringValue:urlString]; | |
122 } | 103 } |
123 | 104 |
124 - (void)setStarredState:(BOOL)isStarred { | 105 - (void)setStarredState:(BOOL)isStarred { |
125 NSString* starImageName = kStarImageName; | 106 NSString* starImageName = kStarImageName; |
126 if (isStarred) | 107 if (isStarred) |
127 starImageName = kStarredImageName; | 108 starImageName = kStarredImageName; |
128 [starButton_ setImage:[NSImage imageNamed:starImageName]]; | 109 [starButton_ setImage:[NSImage imageNamed:starImageName]]; |
129 } | 110 } |
130 | 111 |
131 - (void)setIsLoading:(BOOL)isLoading { | 112 - (void)setIsLoading:(BOOL)isLoading { |
132 NSString* imageName = @"go"; | 113 NSString* imageName = @"go"; |
133 if (isLoading) | 114 if (isLoading) |
134 imageName = @"stop"; | 115 imageName = @"stop"; |
135 [goButton_ setImage:[NSImage imageNamed:imageName]]; | 116 [goButton_ setImage:[NSImage imageNamed:imageName]]; |
136 } | 117 } |
137 | 118 |
138 // Returns an array of views in the order of the outlets above. | 119 // Returns an array of views in the order of the outlets above. |
139 - (NSArray*)toolbarViews { | 120 - (NSArray*)toolbarViews { |
140 return [NSArray arrayWithObjects:backButton_, forwardButton_, reloadButton_, | 121 return [NSArray arrayWithObjects:backButton_, forwardButton_, reloadButton_, |
141 starButton_, goButton_, locationBar_, nil]; | 122 starButton_, goButton_, locationBar_, nil]; |
142 } | 123 } |
143 | 124 |
144 @end | 125 @end |
OLD | NEW |