| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "ios/chrome/browser/ui/tools_menu/tools_menu_view_controller.h" | 5 #import "ios/chrome/browser/ui/tools_menu/tools_menu_view_controller.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include "base/ios/ios_util.h" | 9 #include "base/ios/ios_util.h" |
| 10 #import "base/ios/weak_nsobject.h" | 10 #import "base/ios/weak_nsobject.h" |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 NSString* const kToolsMenuCloseAllIncognitoTabsId = | 43 NSString* const kToolsMenuCloseAllIncognitoTabsId = |
| 44 @"kToolsMenuCloseAllIncognitoTabsId"; | 44 @"kToolsMenuCloseAllIncognitoTabsId"; |
| 45 NSString* const kToolsMenuBookmarksId = @"kToolsMenuBookmarksId"; | 45 NSString* const kToolsMenuBookmarksId = @"kToolsMenuBookmarksId"; |
| 46 NSString* const kToolsMenuReadingListId = @"kToolsMenuReadingListId"; | 46 NSString* const kToolsMenuReadingListId = @"kToolsMenuReadingListId"; |
| 47 NSString* const kToolsMenuOtherDevicesId = @"kToolsMenuOtherDevicesId"; | 47 NSString* const kToolsMenuOtherDevicesId = @"kToolsMenuOtherDevicesId"; |
| 48 NSString* const kToolsMenuHistoryId = @"kToolsMenuHistoryId"; | 48 NSString* const kToolsMenuHistoryId = @"kToolsMenuHistoryId"; |
| 49 NSString* const kToolsMenuReportAnIssueId = @"kToolsMenuReportAnIssueId"; | 49 NSString* const kToolsMenuReportAnIssueId = @"kToolsMenuReportAnIssueId"; |
| 50 NSString* const kToolsMenuFindInPageId = @"kToolsMenuFindInPageId"; | 50 NSString* const kToolsMenuFindInPageId = @"kToolsMenuFindInPageId"; |
| 51 NSString* const kToolsMenuReaderMode = @"kToolsMenuReaderMode"; | 51 NSString* const kToolsMenuReaderMode = @"kToolsMenuReaderMode"; |
| 52 NSString* const kToolsMenuRequestDesktopId = @"kToolsMenuRequestDesktopId"; | 52 NSString* const kToolsMenuRequestDesktopId = @"kToolsMenuRequestDesktopId"; |
| 53 NSString* const kToolsMenuRequestMobileId = @"kToolsMenuRequestMobileId"; |
| 53 NSString* const kToolsMenuSettingsId = @"kToolsMenuSettingsId"; | 54 NSString* const kToolsMenuSettingsId = @"kToolsMenuSettingsId"; |
| 54 NSString* const kToolsMenuHelpId = @"kToolsMenuHelpId"; | 55 NSString* const kToolsMenuHelpId = @"kToolsMenuHelpId"; |
| 55 NSString* const kToolsMenuSuggestionsId = @"kToolsMenuSuggestionsId"; | 56 NSString* const kToolsMenuSuggestionsId = @"kToolsMenuSuggestionsId"; |
| 56 | 57 |
| 57 namespace { | 58 namespace { |
| 58 | 59 |
| 59 // Time for ink to fade into view. | 60 // Time for ink to fade into view. |
| 60 static const NSTimeInterval kMDCInkTouchDelayInterval = 0.15; | 61 static const NSTimeInterval kMDCInkTouchDelayInterval = 0.15; |
| 61 | 62 |
| 62 static const CGFloat kMenuItemHeight = 48; | 63 static const CGFloat kMenuItemHeight = 48; |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 131 0, nil }, | 132 0, nil }, |
| 132 { IDS_IOS_OPTIONS_REPORT_AN_ISSUE, kToolsMenuReportAnIssueId, | 133 { IDS_IOS_OPTIONS_REPORT_AN_ISSUE, kToolsMenuReportAnIssueId, |
| 133 IDC_REPORT_AN_ISSUE, kToolbarTypeAll, | 134 IDC_REPORT_AN_ISSUE, kToolbarTypeAll, |
| 134 0, nil }, | 135 0, nil }, |
| 135 { IDS_IOS_TOOLS_MENU_FIND_IN_PAGE, kToolsMenuFindInPageId, | 136 { IDS_IOS_TOOLS_MENU_FIND_IN_PAGE, kToolsMenuFindInPageId, |
| 136 IDC_FIND, kToolbarTypeWebAll, | 137 IDC_FIND, kToolbarTypeWebAll, |
| 137 0, nil }, | 138 0, nil }, |
| 138 { IDS_IOS_TOOLS_MENU_REQUEST_DESKTOP_SITE, kToolsMenuRequestDesktopId, | 139 { IDS_IOS_TOOLS_MENU_REQUEST_DESKTOP_SITE, kToolsMenuRequestDesktopId, |
| 139 IDC_REQUEST_DESKTOP_SITE, kToolbarTypeWebAll, | 140 IDC_REQUEST_DESKTOP_SITE, kToolbarTypeWebAll, |
| 140 0, nil }, | 141 0, nil }, |
| 142 { IDS_IOS_TOOLS_MENU_REQUEST_MOBILE_SITE, kToolsMenuRequestMobileId, |
| 143 IDC_REQUEST_MOBILE_SITE, kToolbarTypeWebAll, |
| 144 0, nil }, |
| 141 { IDS_IOS_TOOLS_MENU_READER_MODE, kToolsMenuReaderMode, | 145 { IDS_IOS_TOOLS_MENU_READER_MODE, kToolsMenuReaderMode, |
| 142 IDC_READER_MODE, kToolbarTypeWebAll, | 146 IDC_READER_MODE, kToolbarTypeWebAll, |
| 143 0, nil }, | 147 0, nil }, |
| 144 { IDS_IOS_TOOLS_MENU_SETTINGS, kToolsMenuSettingsId, | 148 { IDS_IOS_TOOLS_MENU_SETTINGS, kToolsMenuSettingsId, |
| 145 IDC_OPTIONS, kToolbarTypeAll, | 149 IDC_OPTIONS, kToolbarTypeAll, |
| 146 0, nil }, | 150 0, nil }, |
| 147 { IDS_IOS_TOOLS_MENU_HELP_MOBILE, kToolsMenuHelpId, | 151 { IDS_IOS_TOOLS_MENU_HELP_MOBILE, kToolsMenuHelpId, |
| 148 IDC_HELP_PAGE_VIA_MENU, kToolbarTypeWebAll, | 152 IDC_HELP_PAGE_VIA_MENU, kToolbarTypeWebAll, |
| 149 0, nil }, | 153 0, nil }, |
| 150 // clang-format on | 154 // clang-format on |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 } | 292 } |
| 289 CGFloat maxItems = suggestedHeight / kMenuItemHeight; | 293 CGFloat maxItems = suggestedHeight / kMenuItemHeight; |
| 290 if (maxItems >= numberOfItems) { | 294 if (maxItems >= numberOfItems) { |
| 291 return numberOfItems * kMenuItemHeight; | 295 return numberOfItems * kMenuItemHeight; |
| 292 } else { | 296 } else { |
| 293 const CGFloat halfHeight = kMenuItemHeight / 2; | 297 const CGFloat halfHeight = kMenuItemHeight / 2; |
| 294 return round(maxItems) * kMenuItemHeight - halfHeight; | 298 return round(maxItems) * kMenuItemHeight - halfHeight; |
| 295 } | 299 } |
| 296 } | 300 } |
| 297 | 301 |
| 302 - (void)hideItemWithTag:(NSInteger)tag { |
| 303 for (ToolsMenuViewItem* item in _menuItems) { |
| 304 if ([item tag] == tag) { |
| 305 [_menuItems removeObject:item]; |
| 306 return; |
| 307 } |
| 308 } |
| 309 NOTREACHED(); |
| 310 } |
| 311 |
| 298 - (void)setItemEnabled:(BOOL)enabled withTag:(NSInteger)tag { | 312 - (void)setItemEnabled:(BOOL)enabled withTag:(NSInteger)tag { |
| 299 for (ToolsMenuViewItem* item in _menuItems) { | 313 for (ToolsMenuViewItem* item in _menuItems) { |
| 300 if ([item tag] == tag) { | 314 if ([item tag] == tag) { |
| 301 [item setActive:enabled]; | 315 [item setActive:enabled]; |
| 302 break; | 316 break; |
| 303 } | 317 } |
| 304 } | 318 } |
| 305 | 319 |
| 306 for (ToolsMenuViewCell* cell in [_menuView visibleCells]) { | 320 for (ToolsMenuViewCell* cell in [_menuView visibleCells]) { |
| 307 if (![cell isKindOfClass:[ToolsMenuViewCell class]]) | 321 if (![cell isKindOfClass:[ToolsMenuViewCell class]]) |
| 308 continue; | 322 continue; |
| 309 | 323 |
| 310 if ([cell tag] != tag) | 324 if ([cell tag] != tag) |
| 311 continue; | 325 continue; |
| 312 | 326 |
| 313 NSIndexPath* path = [_menuView indexPathForCell:cell]; | 327 NSIndexPath* path = [_menuView indexPathForCell:cell]; |
| 314 NSInteger itemIndex = [self dataIndexForIndexPath:path]; | 328 NSInteger itemIndex = [self dataIndexForIndexPath:path]; |
| 315 [cell configureForMenuItem:[_menuItems objectAtIndex:itemIndex]]; | 329 [cell configureForMenuItem:[_menuItems objectAtIndex:itemIndex]]; |
| 316 } | 330 } |
| 317 } | 331 } |
| 318 | 332 |
| 319 - (void)setIsCurrentPageBookmarked:(BOOL)value { | 333 - (void)setIsCurrentPageBookmarked:(BOOL)value { |
| 320 _isCurrentPageBookmarked = value; | 334 _isCurrentPageBookmarked = value; |
| 321 | 335 |
| 322 ToolsMenuViewToolsCell* toolsCell = [self toolsCell]; | 336 ToolsMenuViewToolsCell* toolsCell = [self toolsCell]; |
| 323 [[toolsCell starButton] setHidden:_isCurrentPageBookmarked]; | 337 [[toolsCell starButton] setHidden:_isCurrentPageBookmarked]; |
| 324 [[toolsCell starredButton] setHidden:!_isCurrentPageBookmarked]; | 338 [[toolsCell starredButton] setHidden:!_isCurrentPageBookmarked]; |
| 325 } | 339 } |
| 326 | 340 |
| 341 - (void)hideRequestDesktopSite { |
| 342 [self hideItemWithTag:IDC_REQUEST_DESKTOP_SITE]; |
| 343 } |
| 344 |
| 345 - (void)hideRequestMobileSite { |
| 346 [self hideItemWithTag:IDC_REQUEST_MOBILE_SITE]; |
| 347 } |
| 348 |
| 327 - (void)setCanUseReaderMode:(BOOL)enabled { | 349 - (void)setCanUseReaderMode:(BOOL)enabled { |
| 328 [self setItemEnabled:enabled withTag:IDC_READER_MODE]; | 350 [self setItemEnabled:enabled withTag:IDC_READER_MODE]; |
| 329 } | 351 } |
| 330 | 352 |
| 331 - (void)setCanUseDesktopUserAgent:(BOOL)enabled { | 353 - (void)setCanUseDesktopUserAgent:(BOOL)enabled { |
| 332 [self setItemEnabled:enabled withTag:IDC_REQUEST_DESKTOP_SITE]; | 354 [self setItemEnabled:enabled withTag:IDC_REQUEST_DESKTOP_SITE]; |
| 333 } | 355 } |
| 334 | 356 |
| 357 - (void)setCanUseMobileUserAgent:(BOOL)enabled { |
| 358 [self setItemEnabled:enabled withTag:IDC_REQUEST_MOBILE_SITE]; |
| 359 } |
| 360 |
| 335 - (void)setCanShowFindBar:(BOOL)enabled { | 361 - (void)setCanShowFindBar:(BOOL)enabled { |
| 336 [self setItemEnabled:enabled withTag:IDC_FIND]; | 362 [self setItemEnabled:enabled withTag:IDC_FIND]; |
| 337 } | 363 } |
| 338 | 364 |
| 339 - (void)setCanShowShareMenu:(BOOL)enabled { | 365 - (void)setCanShowShareMenu:(BOOL)enabled { |
| 340 ToolsMenuViewToolsCell* toolsCell = [self toolsCell]; | 366 ToolsMenuViewToolsCell* toolsCell = [self toolsCell]; |
| 341 [[toolsCell shareButton] setEnabled:enabled]; | 367 [[toolsCell shareButton] setEnabled:enabled]; |
| 342 [self setItemEnabled:enabled withTag:IDC_SHARE_PAGE]; | 368 [self setItemEnabled:enabled withTag:IDC_SHARE_PAGE]; |
| 343 } | 369 } |
| 344 | 370 |
| (...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 747 | 773 |
| 748 - (void)unreadCountChanged:(NSInteger)unreadCount { | 774 - (void)unreadCountChanged:(NSInteger)unreadCount { |
| 749 [[self readingListCell] updateBadgeCount:unreadCount animated:YES]; | 775 [[self readingListCell] updateBadgeCount:unreadCount animated:YES]; |
| 750 } | 776 } |
| 751 | 777 |
| 752 - (void)unseenStateChanged:(BOOL)unseenItemsExist { | 778 - (void)unseenStateChanged:(BOOL)unseenItemsExist { |
| 753 [[self readingListCell] updateSeenState:unseenItemsExist animated:YES]; | 779 [[self readingListCell] updateSeenState:unseenItemsExist animated:YES]; |
| 754 } | 780 } |
| 755 | 781 |
| 756 @end | 782 @end |
| OLD | NEW |