Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(221)

Side by Side Diff: chrome/browser/cocoa/bookmark_bar_controller.mm

Issue 353024: Mac: Enable OK Button when editing a bookmark text to be blank... (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 11 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 #include "app/l10n_util_mac.h" 5 #include "app/l10n_util_mac.h"
6 #include "app/resource_bundle.h" 6 #include "app/resource_bundle.h"
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/browser/bookmarks/bookmark_editor.h" 9 #include "chrome/browser/bookmarks/bookmark_editor.h"
10 #include "chrome/browser/bookmarks/bookmark_model.h" 10 #include "chrome/browser/bookmarks/bookmark_model.h"
(...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 - (void)clearBookmarkBar { 587 - (void)clearBookmarkBar {
588 [buttons_ makeObjectsPerformSelector:@selector(removeFromSuperview)]; 588 [buttons_ makeObjectsPerformSelector:@selector(removeFromSuperview)];
589 [buttons_ removeAllObjects]; 589 [buttons_ removeAllObjects];
590 [self clearMenuTagMap]; 590 [self clearMenuTagMap];
591 } 591 }
592 592
593 // Return an autoreleased NSCell suitable for a bookmark button. 593 // Return an autoreleased NSCell suitable for a bookmark button.
594 // TODO(jrg): move much of the cell config into the BookmarkButtonCell class. 594 // TODO(jrg): move much of the cell config into the BookmarkButtonCell class.
595 - (NSCell*)cellForBookmarkNode:(const BookmarkNode*)node { 595 - (NSCell*)cellForBookmarkNode:(const BookmarkNode*)node {
596 NSString* title = base::SysWideToNSString(node->GetTitle()); 596 NSString* title = base::SysWideToNSString(node->GetTitle());
597 NSButtonCell *cell = [[[BookmarkButtonCell alloc] initTextCell:nil] 597 BookmarkButtonCell* cell =
598 autorelease]; 598 [[[BookmarkButtonCell alloc] initTextCell:nil] autorelease];
599 DCHECK(cell); 599 DCHECK(cell);
600 [cell setRepresentedObject:[NSValue valueWithPointer:node]]; 600 [cell setRepresentedObject:[NSValue valueWithPointer:node]];
601 601
602 [cell setImage:[self getFavIconForNode:node]]; 602 NSImage* image = [self getFavIconForNode:node];
603 [cell setImagePosition:NSImageLeft]; 603 [cell setBookmarkCellText:title image:image];
604 [cell setTitle:title];
605 [cell setMenu:buttonContextMenu_]; 604 [cell setMenu:buttonContextMenu_];
606 return cell; 605 return cell;
607 } 606 }
608 607
609 // Return an appropriate width for the given bookmark button cell. 608 // Return an appropriate width for the given bookmark button cell.
610 // The "+2" is needed because, sometimes, Cocoa is off by a tad. 609 // The "+2" is needed because, sometimes, Cocoa is off by a tad.
611 // Example: for a bookmark named "Moma" or "SFGate", it is one pixel 610 // Example: for a bookmark named "Moma" or "SFGate", it is one pixel
612 // too small. For "FBL" it is 2 pixels too small. 611 // too small. For "FBL" it is 2 pixels too small.
613 // For a bookmark named "SFGateFooWoo", it is just fine. 612 // For a bookmark named "SFGateFooWoo", it is just fine.
614 - (CGFloat)widthForBookmarkButtonCell:(NSCell*)cell { 613 - (CGFloat)widthForBookmarkButtonCell:(NSCell*)cell {
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
855 // Need a BookmarkNode-->NSCell mapping. 854 // Need a BookmarkNode-->NSCell mapping.
856 // 855 //
857 // TODO(jrg): if the bookmark bar is open on launch, we see the 856 // TODO(jrg): if the bookmark bar is open on launch, we see the
858 // buttons all placed, then "scooted over" as the favicons load. If 857 // buttons all placed, then "scooted over" as the favicons load. If
859 // this looks bad I may need to change widthForBookmarkButtonCell to 858 // this looks bad I may need to change widthForBookmarkButtonCell to
860 // add space for an image even if not there on the assumption that 859 // add space for an image even if not there on the assumption that
861 // favicons will eventually load. 860 // favicons will eventually load.
862 - (void)nodeFavIconLoaded:(BookmarkModel*)model 861 - (void)nodeFavIconLoaded:(BookmarkModel*)model
863 node:(const BookmarkNode*)node { 862 node:(const BookmarkNode*)node {
864 for (NSButton* button in buttons_.get()) { 863 for (NSButton* button in buttons_.get()) {
865 NSButtonCell* cell = [button cell]; 864 BookmarkButtonCell* cell = [button cell];
866 void* pointer = [[cell representedObject] pointerValue]; 865 void* pointer = [[cell representedObject] pointerValue];
867 const BookmarkNode* cellnode = static_cast<const BookmarkNode*>(pointer); 866 const BookmarkNode* cellnode = static_cast<const BookmarkNode*>(pointer);
868 if (cellnode == node) { 867 if (cellnode == node) {
869 [cell setImage:[self getFavIconForNode:node]]; 868 [cell setBookmarkCellText:[cell title]
870 [cell setImagePosition:NSImageLeft]; 869 image:[self getFavIconForNode:node]];
871 // Adding an image means we might need more room for the 870 // Adding an image means we might need more room for the
872 // bookmark. Test for it by growing the button (if needed) 871 // bookmark. Test for it by growing the button (if needed)
873 // and shifting everything else over. 872 // and shifting everything else over.
874 [self checkForBookmarkButtonGrowth:button]; 873 [self checkForBookmarkButtonGrowth:button];
875 } 874 }
876 } 875 }
877 } 876 }
878 877
879 // TODO(jrg): for now this is brute force. 878 // TODO(jrg): for now this is brute force.
880 - (void)nodeChildrenReordered:(BookmarkModel*)model 879 - (void)nodeChildrenReordered:(BookmarkModel*)model
(...skipping 22 matching lines...) Expand all
903 return folderImage_; 902 return folderImage_;
904 903
905 const SkBitmap& favIcon = bookmarkModel_->GetFavIcon(node); 904 const SkBitmap& favIcon = bookmarkModel_->GetFavIcon(node);
906 if (!favIcon.isNull()) 905 if (!favIcon.isNull())
907 return gfx::SkBitmapToNSImage(favIcon); 906 return gfx::SkBitmapToNSImage(favIcon);
908 907
909 return defaultImage_; 908 return defaultImage_;
910 } 909 }
911 910
912 @end 911 @end
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/cocoa/bookmark_button_cell.h » ('j') | chrome/browser/cocoa/bookmark_button_cell.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698