| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/search_engine_dialog_controller.h" | 5 #import "chrome/browser/cocoa/search_engine_dialog_controller.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "app/l10n_util_mac.h" | 9 #include "app/l10n_util_mac.h" |
| 10 #include "app/resource_bundle.h" | 10 #include "app/resource_bundle.h" |
| (...skipping 22 matching lines...) Expand all Loading... |
| 33 const int kLogoLabelHeight = 25; | 33 const int kLogoLabelHeight = 25; |
| 34 | 34 |
| 35 @interface SearchEngineDialogController (Private) | 35 @interface SearchEngineDialogController (Private) |
| 36 - (void)onTemplateURLModelChanged; | 36 - (void)onTemplateURLModelChanged; |
| 37 - (void)buildSearchEngineView; | 37 - (void)buildSearchEngineView; |
| 38 - (NSView*)viewForSearchEngine:(const TemplateURL*)engine | 38 - (NSView*)viewForSearchEngine:(const TemplateURL*)engine |
| 39 atIndex:(size_t)index; | 39 atIndex:(size_t)index; |
| 40 - (IBAction)searchEngineSelected:(id)sender; | 40 - (IBAction)searchEngineSelected:(id)sender; |
| 41 @end | 41 @end |
| 42 | 42 |
| 43 class SearchEngineDialogControllerBridge : public TemplateURLModelObserver { | 43 class SearchEngineDialogControllerBridge : |
| 44 public base::RefCounted<SearchEngineDialogControllerBridge>, |
| 45 public TemplateURLModelObserver { |
| 44 public: | 46 public: |
| 45 SearchEngineDialogControllerBridge(SearchEngineDialogController* controller); | 47 SearchEngineDialogControllerBridge(SearchEngineDialogController* controller); |
| 46 | 48 |
| 47 // TemplateURLModelObserver | 49 // TemplateURLModelObserver |
| 48 virtual void OnTemplateURLModelChanged(); | 50 virtual void OnTemplateURLModelChanged(); |
| 49 | 51 |
| 50 private: | 52 private: |
| 51 SearchEngineDialogController* controller_; | 53 SearchEngineDialogController* controller_; |
| 52 }; | 54 }; |
| 53 | 55 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 64 | 66 |
| 65 @synthesize profile = profile_; | 67 @synthesize profile = profile_; |
| 66 @synthesize randomize = randomize_; | 68 @synthesize randomize = randomize_; |
| 67 | 69 |
| 68 - (id)init { | 70 - (id)init { |
| 69 NSString* nibpath = | 71 NSString* nibpath = |
| 70 [mac_util::MainAppBundle() pathForResource:@"SearchEngineDialog" | 72 [mac_util::MainAppBundle() pathForResource:@"SearchEngineDialog" |
| 71 ofType:@"nib"]; | 73 ofType:@"nib"]; |
| 72 self = [super initWithWindowNibPath:nibpath owner:self]; | 74 self = [super initWithWindowNibPath:nibpath owner:self]; |
| 73 if (self != nil) { | 75 if (self != nil) { |
| 74 bridge_.reset(new SearchEngineDialogControllerBridge(self)); | 76 bridge_ = new SearchEngineDialogControllerBridge(self); |
| 75 } | 77 } |
| 76 return self; | 78 return self; |
| 77 } | 79 } |
| 78 | 80 |
| 79 - (void)dealloc { | 81 - (void)dealloc { |
| 80 [super dealloc]; | 82 [super dealloc]; |
| 81 } | 83 } |
| 82 | 84 |
| 83 - (IBAction)showWindow:(id)sender { | 85 - (IBAction)showWindow:(id)sender { |
| 84 searchEnginesModel_ = profile_->GetTemplateURLModel(); | 86 searchEnginesModel_ = profile_->GetTemplateURLModel(); |
| 85 searchEnginesModel_->AddObserver(bridge_.get()); | 87 searchEnginesModel_->AddObserver(bridge_.get()); |
| 86 | 88 |
| 87 if (searchEnginesModel_->loaded()) { | 89 if (searchEnginesModel_->loaded()) { |
| 88 [self onTemplateURLModelChanged]; | 90 MessageLoop::current()->PostTask( |
| 91 FROM_HERE, |
| 92 NewRunnableMethod( |
| 93 bridge_.get(), |
| 94 &SearchEngineDialogControllerBridge::OnTemplateURLModelChanged)); |
| 89 } else { | 95 } else { |
| 90 searchEnginesModel_->Load(); | 96 searchEnginesModel_->Load(); |
| 91 MessageLoop::current()->Run(); | |
| 92 } | 97 } |
| 98 MessageLoop::current()->Run(); |
| 93 } | 99 } |
| 94 | 100 |
| 95 - (void)onTemplateURLModelChanged { | 101 - (void)onTemplateURLModelChanged { |
| 96 searchEnginesModel_->RemoveObserver(bridge_.get()); | 102 searchEnginesModel_->RemoveObserver(bridge_.get()); |
| 97 | 103 |
| 98 // Add the search engines in the search_engines_model_ to the buttons list. | 104 // Add the search engines in the search_engines_model_ to the buttons list. |
| 99 // The first three will always be from prepopulated data. | 105 // The first three will always be from prepopulated data. |
| 100 std::vector<const TemplateURL*> templateUrls = | 106 std::vector<const TemplateURL*> templateUrls = |
| 101 searchEnginesModel_->GetTemplateURLs(); | 107 searchEnginesModel_->GetTemplateURLs(); |
| 102 | 108 |
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 270 - (NSFont*)mainLabelFont { | 276 - (NSFont*)mainLabelFont { |
| 271 return [NSFont boldSystemFontOfSize:13]; | 277 return [NSFont boldSystemFontOfSize:13]; |
| 272 } | 278 } |
| 273 | 279 |
| 274 - (IBAction)searchEngineSelected:(id)sender { | 280 - (IBAction)searchEngineSelected:(id)sender { |
| 275 [[self window] close]; | 281 [[self window] close]; |
| 276 [NSApp stopModalWithCode:[sender tag]]; | 282 [NSApp stopModalWithCode:[sender tag]]; |
| 277 } | 283 } |
| 278 | 284 |
| 279 @end | 285 @end |
| OLD | NEW |