OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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/clean/chrome/browser/ui/toolbar/toolbar_button+factory.h" | 5 #import "ios/clean/chrome/browser/ui/toolbar/toolbar_button+factory.h" |
6 | 6 |
| 7 #include "components/strings/grit/components_strings.h" |
7 #import "ios/chrome/browser/ui/rtl_geometry.h" | 8 #import "ios/chrome/browser/ui/rtl_geometry.h" |
8 #import "ios/chrome/browser/ui/uikit_ui_util.h" | 9 #import "ios/chrome/browser/ui/uikit_ui_util.h" |
| 10 #include "ios/chrome/grit/ios_strings.h" |
9 #include "ios/chrome/grit/ios_theme_resources.h" | 11 #include "ios/chrome/grit/ios_theme_resources.h" |
| 12 #include "ui/base/l10n/l10n_util.h" |
10 | 13 |
11 #if !defined(__has_feature) || !__has_feature(objc_arc) | 14 #if !defined(__has_feature) || !__has_feature(objc_arc) |
12 #error "This file requires ARC support." | 15 #error "This file requires ARC support." |
13 #endif | 16 #endif |
14 | 17 |
15 @implementation ToolbarButton (Factory) | 18 @implementation ToolbarButton (Factory) |
16 | 19 |
17 #pragma mark - ToolbarButton Setup | 20 #pragma mark - ToolbarButton Setup |
18 | 21 |
19 + (instancetype)backToolbarButton { | 22 + (instancetype)backToolbarButton { |
20 ToolbarButton* backButton = [self | 23 ToolbarButton* backButton = [self |
21 toolbarButtonWithImageForNormalState:NativeReversableImage( | 24 toolbarButtonWithImageForNormalState:NativeReversableImage( |
22 IDR_IOS_TOOLBAR_LIGHT_BACK, YES) | 25 IDR_IOS_TOOLBAR_LIGHT_BACK, YES) |
23 imageForHighlightedState: | 26 imageForHighlightedState: |
24 NativeReversableImage(IDR_IOS_TOOLBAR_LIGHT_BACK_PRESSED, | 27 NativeReversableImage(IDR_IOS_TOOLBAR_LIGHT_BACK_PRESSED, |
25 YES) | 28 YES) |
26 imageForDisabledState: | 29 imageForDisabledState: |
27 NativeReversableImage( | 30 NativeReversableImage( |
28 IDR_IOS_TOOLBAR_LIGHT_BACK_DISABLED, YES)]; | 31 IDR_IOS_TOOLBAR_LIGHT_BACK_DISABLED, YES)]; |
| 32 backButton.accessibilityLabel = l10n_util::GetNSString(IDS_ACCNAME_BACK); |
29 return backButton; | 33 return backButton; |
30 } | 34 } |
31 | 35 |
32 + (instancetype)forwardToolbarButton { | 36 + (instancetype)forwardToolbarButton { |
33 ToolbarButton* forwardButton = [self | 37 ToolbarButton* forwardButton = [self |
34 toolbarButtonWithImageForNormalState:NativeReversableImage( | 38 toolbarButtonWithImageForNormalState:NativeReversableImage( |
35 IDR_IOS_TOOLBAR_LIGHT_FORWARD, | 39 IDR_IOS_TOOLBAR_LIGHT_FORWARD, |
36 YES) | 40 YES) |
37 imageForHighlightedState: | 41 imageForHighlightedState: |
38 NativeReversableImage( | 42 NativeReversableImage( |
39 IDR_IOS_TOOLBAR_LIGHT_FORWARD_PRESSED, YES) | 43 IDR_IOS_TOOLBAR_LIGHT_FORWARD_PRESSED, YES) |
40 imageForDisabledState: | 44 imageForDisabledState: |
41 NativeReversableImage( | 45 NativeReversableImage( |
42 IDR_IOS_TOOLBAR_LIGHT_FORWARD_DISABLED, YES)]; | 46 IDR_IOS_TOOLBAR_LIGHT_FORWARD_DISABLED, YES)]; |
| 47 forwardButton.accessibilityLabel = |
| 48 l10n_util::GetNSString(IDS_ACCNAME_FORWARD); |
43 return forwardButton; | 49 return forwardButton; |
44 } | 50 } |
45 | 51 |
46 + (instancetype)tabSwitcherStripToolbarButton { | 52 + (instancetype)tabSwitcherStripToolbarButton { |
47 ToolbarButton* tabSwitcherStripButton = [self | 53 ToolbarButton* tabSwitcherStripButton = [self |
48 toolbarButtonWithImageForNormalState:NativeImage( | 54 toolbarButtonWithImageForNormalState:NativeImage( |
49 IDR_IOS_TOOLBAR_LIGHT_OVERVIEW) | 55 IDR_IOS_TOOLBAR_LIGHT_OVERVIEW) |
50 imageForHighlightedState: | 56 imageForHighlightedState: |
51 NativeImage(IDR_IOS_TOOLBAR_LIGHT_OVERVIEW_PRESSED) | 57 NativeImage(IDR_IOS_TOOLBAR_LIGHT_OVERVIEW_PRESSED) |
52 imageForDisabledState: | 58 imageForDisabledState: |
53 NativeImage(IDR_IOS_TOOLBAR_LIGHT_OVERVIEW_DISABLED)]; | 59 NativeImage(IDR_IOS_TOOLBAR_LIGHT_OVERVIEW_DISABLED)]; |
| 60 tabSwitcherStripButton.accessibilityLabel = |
| 61 l10n_util::GetNSString(IDS_IOS_TOOLBAR_SHOW_TABS); |
54 return tabSwitcherStripButton; | 62 return tabSwitcherStripButton; |
55 } | 63 } |
56 | 64 |
57 + (instancetype)tabSwitcherGridToolbarButton { | 65 + (instancetype)tabSwitcherGridToolbarButton { |
58 ToolbarButton* tabSwitcherGridButton = | 66 ToolbarButton* tabSwitcherGridButton = |
59 [self toolbarButtonWithImageForNormalState: | 67 [self toolbarButtonWithImageForNormalState: |
60 [UIImage imageNamed:@"tabswitcher_tab_switcher_button"] | 68 [UIImage imageNamed:@"tabswitcher_tab_switcher_button"] |
61 imageForHighlightedState:nil | 69 imageForHighlightedState:nil |
62 imageForDisabledState:nil]; | 70 imageForDisabledState:nil]; |
| 71 tabSwitcherGridButton.accessibilityLabel = |
| 72 l10n_util::GetNSString(IDS_IOS_TOOLBAR_SHOW_TAB_GRID); |
63 return tabSwitcherGridButton; | 73 return tabSwitcherGridButton; |
64 } | 74 } |
65 | 75 |
66 + (instancetype)toolsMenuToolbarButton { | 76 + (instancetype)toolsMenuToolbarButton { |
67 ToolbarButton* toolsMenuButton = [self | 77 ToolbarButton* toolsMenuButton = [self |
68 toolbarButtonWithImageForNormalState:NativeImage( | 78 toolbarButtonWithImageForNormalState:NativeImage( |
69 IDR_IOS_TOOLBAR_LIGHT_TOOLS) | 79 IDR_IOS_TOOLBAR_LIGHT_TOOLS) |
70 imageForHighlightedState: | 80 imageForHighlightedState: |
71 NativeImage(IDR_IOS_TOOLBAR_LIGHT_TOOLS_PRESSED) | 81 NativeImage(IDR_IOS_TOOLBAR_LIGHT_TOOLS_PRESSED) |
72 imageForDisabledState:nil]; | 82 imageForDisabledState:nil]; |
73 [toolsMenuButton setImageEdgeInsets:UIEdgeInsetsMakeDirected(0, -3, 0, 0)]; | 83 [toolsMenuButton setImageEdgeInsets:UIEdgeInsetsMakeDirected(0, -3, 0, 0)]; |
| 84 toolsMenuButton.accessibilityLabel = |
| 85 l10n_util::GetNSString(IDS_IOS_TOOLBAR_SETTINGS); |
74 return toolsMenuButton; | 86 return toolsMenuButton; |
75 } | 87 } |
76 | 88 |
77 + (instancetype)shareToolbarButton { | 89 + (instancetype)shareToolbarButton { |
78 ToolbarButton* shareButton = [self | 90 ToolbarButton* shareButton = [self |
79 toolbarButtonWithImageForNormalState:NativeImage( | 91 toolbarButtonWithImageForNormalState:NativeImage( |
80 IDR_IOS_TOOLBAR_LIGHT_SHARE) | 92 IDR_IOS_TOOLBAR_LIGHT_SHARE) |
81 imageForHighlightedState: | 93 imageForHighlightedState: |
82 NativeImage(IDR_IOS_TOOLBAR_LIGHT_SHARE_PRESSED) | 94 NativeImage(IDR_IOS_TOOLBAR_LIGHT_SHARE_PRESSED) |
83 imageForDisabledState: | 95 imageForDisabledState: |
84 NativeImage(IDR_IOS_TOOLBAR_LIGHT_SHARE_DISABLED)]; | 96 NativeImage(IDR_IOS_TOOLBAR_LIGHT_SHARE_DISABLED)]; |
| 97 shareButton.accessibilityLabel = |
| 98 l10n_util::GetNSString(IDS_IOS_TOOLS_MENU_SHARE); |
85 return shareButton; | 99 return shareButton; |
86 } | 100 } |
87 | 101 |
88 + (instancetype)reloadToolbarButton { | 102 + (instancetype)reloadToolbarButton { |
89 ToolbarButton* reloadButton = [self | 103 ToolbarButton* reloadButton = [self |
90 toolbarButtonWithImageForNormalState:NativeReversableImage( | 104 toolbarButtonWithImageForNormalState:NativeReversableImage( |
91 IDR_IOS_TOOLBAR_LIGHT_RELOAD, | 105 IDR_IOS_TOOLBAR_LIGHT_RELOAD, |
92 YES) | 106 YES) |
93 imageForHighlightedState: | 107 imageForHighlightedState: |
94 NativeReversableImage( | 108 NativeReversableImage( |
95 IDR_IOS_TOOLBAR_LIGHT_RELOAD_PRESSED, YES) | 109 IDR_IOS_TOOLBAR_LIGHT_RELOAD_PRESSED, YES) |
96 imageForDisabledState: | 110 imageForDisabledState: |
97 NativeReversableImage( | 111 NativeReversableImage( |
98 IDR_IOS_TOOLBAR_LIGHT_RELOAD_DISABLED, YES)]; | 112 IDR_IOS_TOOLBAR_LIGHT_RELOAD_DISABLED, YES)]; |
| 113 reloadButton.accessibilityLabel = |
| 114 l10n_util::GetNSString(IDS_IOS_ACCNAME_RELOAD); |
99 return reloadButton; | 115 return reloadButton; |
100 } | 116 } |
101 | 117 |
102 + (instancetype)stopToolbarButton { | 118 + (instancetype)stopToolbarButton { |
103 ToolbarButton* stopButton = [self | 119 ToolbarButton* stopButton = [self |
104 toolbarButtonWithImageForNormalState:NativeImage( | 120 toolbarButtonWithImageForNormalState:NativeImage( |
105 IDR_IOS_TOOLBAR_LIGHT_STOP) | 121 IDR_IOS_TOOLBAR_LIGHT_STOP) |
106 imageForHighlightedState: | 122 imageForHighlightedState: |
107 NativeImage(IDR_IOS_TOOLBAR_LIGHT_STOP_PRESSED) | 123 NativeImage(IDR_IOS_TOOLBAR_LIGHT_STOP_PRESSED) |
108 imageForDisabledState: | 124 imageForDisabledState: |
109 NativeImage(IDR_IOS_TOOLBAR_LIGHT_STOP_DISABLED)]; | 125 NativeImage(IDR_IOS_TOOLBAR_LIGHT_STOP_DISABLED)]; |
| 126 stopButton.accessibilityLabel = l10n_util::GetNSString(IDS_IOS_ACCNAME_STOP); |
110 return stopButton; | 127 return stopButton; |
111 } | 128 } |
112 | 129 |
113 + (instancetype)starToolbarButton { | 130 + (instancetype)starToolbarButton { |
114 ToolbarButton* starButton = | 131 ToolbarButton* starButton = |
115 [self toolbarButtonWithImageForNormalState:NativeImage( | 132 [self toolbarButtonWithImageForNormalState:NativeImage( |
116 IDR_IOS_TOOLBAR_LIGHT_STAR) | 133 IDR_IOS_TOOLBAR_LIGHT_STAR) |
117 imageForHighlightedState: | 134 imageForHighlightedState: |
118 NativeImage(IDR_IOS_TOOLBAR_LIGHT_STAR_PRESSED) | 135 NativeImage(IDR_IOS_TOOLBAR_LIGHT_STAR_PRESSED) |
119 imageForDisabledState:nil]; | 136 imageForDisabledState:nil]; |
| 137 starButton.accessibilityLabel = l10n_util::GetNSString(IDS_TOOLTIP_STAR); |
120 return starButton; | 138 return starButton; |
121 } | 139 } |
122 | 140 |
123 @end | 141 @end |
OLD | NEW |