OLD | NEW |
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/constrained_window/constrained_window_alert.h" | 5 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_alert.h" |
6 | 6 |
7 #import "base/logging.h" | 7 #import "base/logging.h" |
8 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_button.h" | 8 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_button.h" |
9 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_control_u
tils.h" | 9 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_control_u
tils.h" |
10 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_custom_wi
ndow.h" | 10 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_custom_wi
ndow.h" |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 // Window width. | 138 // Window width. |
139 CGFloat windowWidth = buttonWidth; | 139 CGFloat windowWidth = buttonWidth; |
140 if (accessoryView_.get()) | 140 if (accessoryView_.get()) |
141 windowWidth = std::max(windowWidth, NSWidth([accessoryView_ frame])); | 141 windowWidth = std::max(windowWidth, NSWidth([accessoryView_ frame])); |
142 windowWidth += ConstrainedWindow::kHorizontalPadding * 2; | 142 windowWidth += ConstrainedWindow::kHorizontalPadding * 2; |
143 windowWidth = std::max(windowWidth, kWindowMinWidth); | 143 windowWidth = std::max(windowWidth, kWindowMinWidth); |
144 | 144 |
145 // Layout controls. | 145 // Layout controls. |
146 [self layoutButtonsWithWindowWidth:windowWidth]; | 146 [self layoutButtonsWithWindowWidth:windowWidth]; |
147 CGFloat curY = [buttons_ count] ? NSMaxY([[buttons_ lastObject] frame]) | 147 CGFloat curY = [buttons_ count] ? NSMaxY([[buttons_ lastObject] frame]) |
148 : ConstrainedWindow::kVerticalPadding; | 148 : ConstrainedWindow::kClientBottomPadding; |
149 curY = [self layoutAccessoryViewAtYPos:curY]; | 149 curY = [self layoutAccessoryViewAtYPos:curY]; |
150 curY = [self layoutTextField:informativeTextField_ | 150 curY = [self layoutTextField:informativeTextField_ |
151 yPos:curY | 151 yPos:curY |
152 windowWidth:windowWidth]; | 152 windowWidth:windowWidth]; |
153 CGFloat availableMessageWidth = | 153 CGFloat availableMessageWidth = |
154 windowWidth - ConstrainedWindow::GetCloseButtonSize() - kButtonGap; | 154 windowWidth - ConstrainedWindow::GetCloseButtonSize() - kButtonGap; |
155 curY = [self layoutTextField:messageTextField_ | 155 curY = [self layoutTextField:messageTextField_ |
156 yPos:curY | 156 yPos:curY |
157 windowWidth:availableMessageWidth]; | 157 windowWidth:availableMessageWidth]; |
158 [self layoutCloseButtonWithWindowWidth:windowWidth]; | 158 [self layoutCloseButtonWithWindowWidth:windowWidth]; |
159 | 159 |
160 // Update window frame. | 160 // Update window frame. |
161 curY += ConstrainedWindow::kVerticalPadding; | 161 curY += ConstrainedWindow::kTitleTopPadding; |
162 [window_ setFrame:NSMakeRect(0, 0, windowWidth, curY) | 162 [window_ setFrame:NSMakeRect(0, 0, windowWidth, curY) |
163 display:NO]; | 163 display:NO]; |
164 } | 164 } |
165 | 165 |
166 - (void)layoutButtonsWithWindowWidth:(CGFloat)windowWidth { | 166 - (void)layoutButtonsWithWindowWidth:(CGFloat)windowWidth { |
167 // Layout first 2 button right to left. | 167 // Layout first 2 button right to left. |
168 CGFloat curX = windowWidth - ConstrainedWindow::kHorizontalPadding; | 168 CGFloat curX = windowWidth - ConstrainedWindow::kHorizontalPadding; |
169 const int buttonCount = [buttons_ count]; | 169 const int buttonCount = [buttons_ count]; |
170 for (int i = 0; i < std::min(2, buttonCount); ++i) { | 170 for (int i = 0; i < std::min(2, buttonCount); ++i) { |
171 NSButton* button = [buttons_ objectAtIndex:i]; | 171 NSButton* button = [buttons_ objectAtIndex:i]; |
172 NSRect rect = [button frame]; | 172 NSRect rect = [button frame]; |
173 rect.origin.x = curX - NSWidth(rect); | 173 rect.origin.x = curX - NSWidth(rect); |
174 rect.origin.y = ConstrainedWindow::kVerticalPadding; | 174 rect.origin.y = ConstrainedWindow::kClientBottomPadding; |
175 [button setFrameOrigin:rect.origin]; | 175 [button setFrameOrigin:rect.origin]; |
176 curX = NSMinX(rect) - kButtonGap; | 176 curX = NSMinX(rect) - kButtonGap; |
177 } | 177 } |
178 | 178 |
179 // Layout remaining buttons left to right. | 179 // Layout remaining buttons left to right. |
180 curX = ConstrainedWindow::kHorizontalPadding; | 180 curX = ConstrainedWindow::kHorizontalPadding; |
181 for (int i = buttonCount - 1; i >= 2; --i) { | 181 for (int i = buttonCount - 1; i >= 2; --i) { |
182 NSButton* button = [buttons_ objectAtIndex:i]; | 182 NSButton* button = [buttons_ objectAtIndex:i]; |
183 [button setFrameOrigin: | 183 [button setFrameOrigin: |
184 NSMakePoint(curX, ConstrainedWindow::kVerticalPadding)]; | 184 NSMakePoint(curX, ConstrainedWindow::kClientBottomPadding)]; |
185 curX += NSMaxX([button frame]) + kButtonGap; | 185 curX += NSMaxX([button frame]) + kButtonGap; |
186 } | 186 } |
187 } | 187 } |
188 | 188 |
189 - (CGFloat)layoutTextField:(NSTextField*)textField | 189 - (CGFloat)layoutTextField:(NSTextField*)textField |
190 yPos:(CGFloat)yPos | 190 yPos:(CGFloat)yPos |
191 windowWidth:(CGFloat)windowWidth { | 191 windowWidth:(CGFloat)windowWidth { |
192 if (![[textField stringValue] length]) { | 192 if (![[textField stringValue] length]) { |
193 [textField setHidden:YES]; | 193 [textField setHidden:YES]; |
194 return yPos; | 194 return yPos; |
(...skipping 24 matching lines...) Expand all Loading... |
219 NSRect frame; | 219 NSRect frame; |
220 frame.size.width = ConstrainedWindow::GetCloseButtonSize(); | 220 frame.size.width = ConstrainedWindow::GetCloseButtonSize(); |
221 frame.size.height = ConstrainedWindow::GetCloseButtonSize(); | 221 frame.size.height = ConstrainedWindow::GetCloseButtonSize(); |
222 frame.origin.x = | 222 frame.origin.x = |
223 windowWidth - ConstrainedWindow::kHorizontalPadding - NSWidth(frame); | 223 windowWidth - ConstrainedWindow::kHorizontalPadding - NSWidth(frame); |
224 frame.origin.y = NSMaxY([messageTextField_ frame]) - NSHeight(frame); | 224 frame.origin.y = NSMaxY([messageTextField_ frame]) - NSHeight(frame); |
225 [closeButton_ setFrame:frame]; | 225 [closeButton_ setFrame:frame]; |
226 } | 226 } |
227 | 227 |
228 @end | 228 @end |
OLD | NEW |