OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #include <stack> | 5 #include <stack> |
6 | 6 |
7 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_editor_base_controller.h" | 7 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_editor_base_controller.h" |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/mac/mac_util.h" | 10 #include "base/mac/mac_util.h" |
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
232 modalDelegate:self | 232 modalDelegate:self |
233 didEndSelector:@selector(didEndSheet:returnCode:contextInfo:) | 233 didEndSelector:@selector(didEndSheet:returnCode:contextInfo:) |
234 contextInfo:nil]; | 234 contextInfo:nil]; |
235 } | 235 } |
236 | 236 |
237 - (BOOL)okEnabled { | 237 - (BOOL)okEnabled { |
238 return YES; | 238 return YES; |
239 } | 239 } |
240 | 240 |
241 - (IBAction)ok:(id)sender { | 241 - (IBAction)ok:(id)sender { |
| 242 NSWindow* window = [self window]; |
| 243 [window makeFirstResponder:window]; |
242 // At least one of these two functions should be provided by derived classes. | 244 // At least one of these two functions should be provided by derived classes. |
243 BOOL hasWillCommit = [self respondsToSelector:@selector(willCommit)]; | 245 BOOL hasWillCommit = [self respondsToSelector:@selector(willCommit)]; |
244 BOOL hasDidCommit = [self respondsToSelector:@selector(didCommit)]; | 246 BOOL hasDidCommit = [self respondsToSelector:@selector(didCommit)]; |
245 DCHECK(hasWillCommit || hasDidCommit); | 247 DCHECK(hasWillCommit || hasDidCommit); |
246 BOOL shouldContinue = YES; | 248 BOOL shouldContinue = YES; |
247 if (hasWillCommit) { | 249 if (hasWillCommit) { |
248 NSNumber* hasWillContinue = [self performSelector:@selector(willCommit)]; | 250 NSNumber* hasWillContinue = [self performSelector:@selector(willCommit)]; |
249 if (hasWillContinue && [hasWillContinue isKindOfClass:[NSNumber class]]) | 251 if (hasWillContinue && [hasWillContinue isKindOfClass:[NSNumber class]]) |
250 shouldContinue = [hasWillContinue boolValue]; | 252 shouldContinue = [hasWillContinue boolValue]; |
251 } | 253 } |
252 if (shouldContinue) | 254 if (shouldContinue) |
253 [self createNewFolders]; | 255 [self createNewFolders]; |
254 if (hasDidCommit) { | 256 if (hasDidCommit) { |
255 NSNumber* hasDidContinue = [self performSelector:@selector(didCommit)]; | 257 NSNumber* hasDidContinue = [self performSelector:@selector(didCommit)]; |
256 if (hasDidContinue && [hasDidContinue isKindOfClass:[NSNumber class]]) | 258 if (hasDidContinue && [hasDidContinue isKindOfClass:[NSNumber class]]) |
257 shouldContinue = [hasDidContinue boolValue]; | 259 shouldContinue = [hasDidContinue boolValue]; |
258 } | 260 } |
259 if (shouldContinue) | 261 if (shouldContinue) |
260 [NSApp endSheet:[self window]]; | 262 [NSApp endSheet:window]; |
261 } | 263 } |
262 | 264 |
263 - (IBAction)cancel:(id)sender { | 265 - (IBAction)cancel:(id)sender { |
264 [NSApp endSheet:[self window]]; | 266 [NSApp endSheet:[self window]]; |
265 } | 267 } |
266 | 268 |
267 - (void)didEndSheet:(NSWindow*)sheet | 269 - (void)didEndSheet:(NSWindow*)sheet |
268 returnCode:(int)returnCode | 270 returnCode:(int)returnCode |
269 contextInfo:(void*)contextInfo { | 271 contextInfo:(void*)contextInfo { |
270 [sheet close]; | 272 [sheet close]; |
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
596 } | 598 } |
597 | 599 |
598 // Implementing isEqual: allows the NSTreeController to preserve the selection | 600 // Implementing isEqual: allows the NSTreeController to preserve the selection |
599 // and open/shut state of outline items when the data changes. | 601 // and open/shut state of outline items when the data changes. |
600 - (BOOL)isEqual:(id)other { | 602 - (BOOL)isEqual:(id)other { |
601 return [other isKindOfClass:[BookmarkFolderInfo class]] && | 603 return [other isKindOfClass:[BookmarkFolderInfo class]] && |
602 folderNode_ == [(BookmarkFolderInfo*)other folderNode]; | 604 folderNode_ == [(BookmarkFolderInfo*)other folderNode]; |
603 } | 605 } |
604 | 606 |
605 @end | 607 @end |
OLD | NEW |