summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authormaf@chromium.org <maf@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-26 00:40:47 +0000
committermaf@chromium.org <maf@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-26 00:40:47 +0000
commit26848cb1f60d002b9cb83950d5989446dbcc6c97 (patch)
treeb00b538ad8b5f768d3c5f20a0195438f379695b0 /chrome
parent8539c7950987c416d6431875ae433e4b0bb01082 (diff)
downloadchromium_src-26848cb1f60d002b9cb83950d5989446dbcc6c97.zip
chromium_src-26848cb1f60d002b9cb83950d5989446dbcc6c97.tar.gz
chromium_src-26848cb1f60d002b9cb83950d5989446dbcc6c97.tar.bz2
Mac. Build bookmark tooltips more intelligently, not showing title if same as URL.
Refactor tooltip string code to remove duplication. R=mrossetti@chromium.org BUG=70709 Review URL: http://codereview.chromium.org/6979021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86753 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h3
-rw-r--r--chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.mm32
-rw-r--r--chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.mm6
3 files changed, 19 insertions, 22 deletions
diff --git a/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h b/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h
index b874014..79aee30 100644
--- a/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h
+++ b/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h
@@ -349,7 +349,8 @@ willAnimateFromState:(bookmarks::VisualState)oldState
// Or from a context menu over either the bar or a button.
- (IBAction)addPage:(id)sender;
- (IBAction)addFolder:(id)sender;
-
+// Make a relevant tooltip string for node.
+- (NSString*)tooltipForNode:(const BookmarkNode*)node;
@end
// Redirects from BookmarkBarBridge, the C++ object which glues us to
diff --git a/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.mm b/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.mm
index 91a3ab5..24bfc90 100644
--- a/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.mm
+++ b/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.mm
@@ -1145,14 +1145,8 @@ void RecordAppLaunch(Profile* profile, GURL url) {
[item setTarget:self];
[item setAction:@selector(openBookmarkMenuItem:)];
[item setTag:[self menuTagFromNodeId:child->id()]];
- if (child->is_url()) {
- // Add a tooltip
- std::string url_string = child->GetURL().possibly_invalid_spec();
- NSString* tooltip = [NSString stringWithFormat:@"%@\n%s",
- base::SysUTF16ToNSString(child->GetTitle()),
- url_string.c_str()];
- [item setToolTip:tooltip];
- }
+ if (child->is_url())
+ [item setToolTip:[self tooltipForNode:child]];
}
}
@@ -1232,6 +1226,18 @@ void RecordAppLaunch(Profile* profile, GURL url) {
}
}
+- (NSString*)tooltipForNode:(const BookmarkNode*)node {
+ NSString* title = base::SysUTF16ToNSString(node->GetTitle());
+ std::string url_string = node->GetURL().possibly_invalid_spec();
+ NSString* url = [NSString stringWithUTF8String:url_string.c_str()];
+ if ([title length] == 0)
+ return url;
+ else if ([url length] == 0 || [url isEqualToString:title])
+ return title;
+ else
+ return [NSString stringWithFormat:@"%@\n%@", title, url];
+}
+
- (BookmarkButton*)buttonForNode:(const BookmarkNode*)node
xOffset:(int*)xOffset {
BookmarkButtonCell* cell = [self cellForBookmarkNode:node];
@@ -1271,14 +1277,8 @@ void RecordAppLaunch(Profile* profile, GURL url) {
// Make the button do something
[button setTarget:self];
[button setAction:@selector(openBookmark:)];
- if (node->is_url()) {
- // Add a tooltip.
- NSString* title = base::SysUTF16ToNSString(node->GetTitle());
- std::string url_string = node->GetURL().possibly_invalid_spec();
- NSString* tooltip = [NSString stringWithFormat:@"%@\n%s", title,
- url_string.c_str()];
- [button setToolTip:tooltip];
- }
+ if (node->is_url())
+ [button setToolTip:[self tooltipForNode:node]];
}
return [[button.get() retain] autorelease];
}
diff --git a/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.mm b/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.mm
index 8e51c22..060ca67 100644
--- a/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.mm
+++ b/chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.mm
@@ -389,11 +389,7 @@ struct LayoutMetrics {
[button setTarget:self];
[button setAction:@selector(openBookmark:)];
// Add a tooltip.
- NSString* title = base::SysUTF16ToNSString(node->GetTitle());
- std::string urlString = node->GetURL().possibly_invalid_spec();
- NSString* tooltip = [NSString stringWithFormat:@"%@\n%s", title,
- urlString.c_str()];
- [button setToolTip:tooltip];
+ [button setToolTip:[barController_ tooltipForNode:node]];
[button setAcceptsTrackIn:YES];
}
} else {