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

Side by Side Diff: chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.mm

Issue 606593002: Move bookmark's folder menu upwards only when its parent button is moved (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months 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
« no previous file with comments | « chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ui/cocoa/bookmarks/bookmark_bar_folder_controller.h" 5 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.h"
6 6
7 #include "base/mac/bundle_locations.h" 7 #include "base/mac/bundle_locations.h"
8 #include "base/mac/mac_util.h" 8 #include "base/mac/mac_util.h"
9 #include "base/strings/sys_string_conversions.h" 9 #include "base/strings/sys_string_conversions.h"
10 #import "chrome/browser/bookmarks/bookmark_model_factory.h" 10 #import "chrome/browser/bookmarks/bookmark_model_factory.h"
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 } 343 }
344 344
345 - (int)buttonCount { 345 - (int)buttonCount {
346 return [[self buttons] count]; 346 return [[self buttons] count];
347 } 347 }
348 348
349 - (BookmarkButton*)parentButton { 349 - (BookmarkButton*)parentButton {
350 return parentButton_.get(); 350 return parentButton_.get();
351 } 351 }
352 352
353 - (void)offsetFolderMenuWindow:(NSSize)offset {
354 NSWindow* window = [self window];
355 NSRect windowFrame = [window frame];
356 windowFrame.origin.x -= offset.width;
357 windowFrame.origin.y += offset.height; // Yes, in the opposite direction!
358 [window setFrame:windowFrame display:YES];
359 [folderController_ offsetFolderMenuWindow:offset];
360 }
361
362 - (void)reconfigureMenu { 353 - (void)reconfigureMenu {
363 [NSObject cancelPreviousPerformRequestsWithTarget:self]; 354 [NSObject cancelPreviousPerformRequestsWithTarget:self];
364 for (BookmarkButton* button in buttons_.get()) { 355 for (BookmarkButton* button in buttons_.get()) {
365 [button setDelegate:nil]; 356 [button setDelegate:nil];
366 [button removeFromSuperview]; 357 [button removeFromSuperview];
367 } 358 }
368 [buttons_ removeAllObjects]; 359 [buttons_ removeAllObjects];
369 [self configureWindow]; 360 [self configureWindow];
370 } 361 }
371 362
(...skipping 1552 matching lines...) Expand 10 before | Expand all | Expand 10 after
1924 1915
1925 [oldButton setDelegate:nil]; 1916 [oldButton setDelegate:nil];
1926 [oldButton removeFromSuperview]; 1917 [oldButton removeFromSuperview];
1927 [buttons_ removeObjectAtIndex:buttonIndex]; 1918 [buttons_ removeObjectAtIndex:buttonIndex];
1928 for (NSInteger i = 0; i < buttonIndex; ++i) { 1919 for (NSInteger i = 0; i < buttonIndex; ++i) {
1929 BookmarkButton* button = [buttons_ objectAtIndex:i]; 1920 BookmarkButton* button = [buttons_ objectAtIndex:i];
1930 NSRect buttonFrame = [button frame]; 1921 NSRect buttonFrame = [button frame];
1931 buttonFrame.origin.y -= bookmarks::kBookmarkFolderButtonHeight; 1922 buttonFrame.origin.y -= bookmarks::kBookmarkFolderButtonHeight;
1932 [button setFrame:buttonFrame]; 1923 [button setFrame:buttonFrame];
1933 } 1924 }
1934 // Search for and adjust submenus, if necessary. 1925
1935 NSInteger buttonCount = [buttons_ count]; 1926 NSInteger buttonCount = [buttons_ count];
1936 if (buttonCount) { 1927 if (buttonCount == 0) {
1937 BookmarkButton* subButton = [folderController_ parentButton]; 1928 if (parentButton_ != [barController_ otherBookmarksButton]) {
1938 for (NSButton* aButton in buttons_.get()) { 1929 // If all nodes have been removed from this folder then add in the
1939 // If this button is showing its menu then we need to move the menu, too. 1930 // 'empty' placeholder button except for "Other bookmarks" folder
Alexei Svitkine (slow) 2014/09/26 15:14:37 Are you sure we never need to do this? What if yo
Gaja 2014/09/27 05:56:33 Oh, I did not test this case, I will check the beh
1940 if (aButton == subButton) 1931 // as we are going to hide it.
1941 [folderController_ 1932 NSRect buttonFrame =
1942 offsetFolderMenuWindow:NSMakeSize(0.0, chrome::kBookmarkBarHeight)]; 1933 GetFirstButtonFrameForHeight([self menuHeightForButtonCount:1]);
Gaja 2014/09/25 09:00:39 @asvitkine, This CL is to remove only the above 'i
1934 BookmarkButton* button = [self makeButtonForNode:nil
1935 frame:buttonFrame];
Alexei Svitkine (slow) 2014/09/26 15:14:37 Nit: Align :'s or wrap after =.
Gaja 2014/09/27 05:56:33 Acknowledged.
1936 [buttons_ addObject:button];
1937 [folderView_ addSubview:button];
1938 buttonCount = 1;
Alexei Svitkine (slow) 2014/09/26 15:14:37 Shouldn't this block call [self adjustWindowForBut
Gaja 2014/09/27 05:56:33 I think we don't need this line. Here is my analys
1943 } 1939 }
1944 } else if (parentButton_ != [barController_ otherBookmarksButton]) { 1940 else {
Alexei Svitkine (slow) 2014/09/26 15:14:37 Nit: Put on previous line.
Gaja 2014/09/27 05:56:33 Acknowledged.
1945 // If all nodes have been removed from this folder then add in the 1941 // buttonCount will be 0 if "Other bookmarks" folder is empty, so close
1946 // 'empty' placeholder button except for "Other bookmarks" folder 1942 // the folder before hiding it.
1947 // as we are going to hide it. 1943 [barController_ closeBookmarkFolder:nil];
1948 NSRect buttonFrame = 1944 }
1949 GetFirstButtonFrameForHeight([self menuHeightForButtonCount:1]); 1945 } else if (buttonCount > 0)
Alexei Svitkine (slow) 2014/09/26 15:14:37 Nit: {}'s
Gaja 2014/09/27 05:56:33 Acknowledged.
1950 BookmarkButton* button = [self makeButtonForNode:nil 1946 [self adjustWindowForButtonCount:buttonCount];
1951 frame:buttonFrame];
1952 [buttons_ addObject:button];
1953 [folderView_ addSubview:button];
1954 buttonCount = 1;
1955 }
1956
1957 // buttonCount will be 0 if "Other bookmarks" folder is empty, so close
1958 // the folder before hiding it.
1959 if (buttonCount == 0)
1960 [barController_ closeBookmarkFolder:nil];
1961 else if (buttonCount > 0)
1962 [self adjustWindowForButtonCount:buttonCount];
1963 1947
1964 if (animate && !ignoreAnimations_) 1948 if (animate && !ignoreAnimations_)
1965 NSShowAnimationEffect(NSAnimationEffectDisappearingItemDefault, poofPoint, 1949 NSShowAnimationEffect(NSAnimationEffectDisappearingItemDefault, poofPoint,
1966 NSZeroSize, nil, nil, nil); 1950 NSZeroSize, nil, nil, nil);
1967 } 1951 }
1968 1952
1969 - (id<BookmarkButtonControllerProtocol>)controllerForNode: 1953 - (id<BookmarkButtonControllerProtocol>)controllerForNode:
1970 (const BookmarkNode*)node { 1954 (const BookmarkNode*)node {
1971 // See if we are holding this node, otherwise see if it is in our 1955 // See if we are holding this node, otherwise see if it is in our
1972 // hierarchy of visible folder menus. 1956 // hierarchy of visible folder menus.
(...skipping 30 matching lines...) Expand all
2003 1987
2004 - (void)setIgnoreAnimations:(BOOL)ignore { 1988 - (void)setIgnoreAnimations:(BOOL)ignore {
2005 ignoreAnimations_ = ignore; 1989 ignoreAnimations_ = ignore;
2006 } 1990 }
2007 1991
2008 - (BookmarkButton*)buttonThatMouseIsIn { 1992 - (BookmarkButton*)buttonThatMouseIsIn {
2009 return buttonThatMouseIsIn_; 1993 return buttonThatMouseIsIn_;
2010 } 1994 }
2011 1995
2012 @end // BookmarkBarFolderController 1996 @end // BookmarkBarFolderController
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_controller.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698