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

Side by Side Diff: ios/chrome/browser/ui/tools_menu/tools_menu_view_controller.mm

Issue 2714813002: [iOS] Add Request Mobile Site cell to tools menu (Closed)
Patch Set: Rebase Created 3 years, 9 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
OLDNEW
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698