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/intents/web_intent_picker_view_controller.h" | 5 #import "chrome/browser/ui/cocoa/intents/web_intent_picker_view_controller.h" |
6 | 6 |
7 #include "base/sys_string_conversions.h" | 7 #include "base/sys_string_conversions.h" |
8 #import "chrome/browser/ui/cocoa/event_utils.h" | 8 #import "chrome/browser/ui/cocoa/event_utils.h" |
9 #import "chrome/browser/ui/cocoa/flipped_view.h" | 9 #import "chrome/browser/ui/cocoa/flipped_view.h" |
10 #import "chrome/browser/ui/cocoa/hover_close_button.h" | 10 #import "chrome/browser/ui/cocoa/hover_close_button.h" |
11 #import "chrome/browser/ui/cocoa/intents/web_intent_choose_service_view_controll
er.h" | 11 #import "chrome/browser/ui/cocoa/intents/web_intent_choose_service_view_controll
er.h" |
12 #import "chrome/browser/ui/cocoa/intents/web_intent_extension_prompt_view_contro
ller.h" | 12 #import "chrome/browser/ui/cocoa/intents/web_intent_extension_prompt_view_contro
ller.h" |
13 #import "chrome/browser/ui/cocoa/intents/web_intent_inline_service_view_controll
er.h" | 13 #import "chrome/browser/ui/cocoa/intents/web_intent_inline_service_view_controll
er.h" |
14 #import "chrome/browser/ui/cocoa/intents/web_intent_message_view_controller.h" | 14 #import "chrome/browser/ui/cocoa/intents/web_intent_message_view_controller.h" |
15 #import "chrome/browser/ui/cocoa/intents/web_intent_picker_cocoa2.h" | 15 #import "chrome/browser/ui/cocoa/intents/web_intent_picker_cocoa2.h" |
16 #import "chrome/browser/ui/cocoa/intents/web_intent_progress_view_controller.h" | 16 #import "chrome/browser/ui/cocoa/intents/web_intent_progress_view_controller.h" |
17 #import "chrome/browser/ui/cocoa/intents/web_intent_service_row_view_controller.
h" | 17 #import "chrome/browser/ui/cocoa/intents/web_intent_service_row_view_controller.
h" |
18 #import "chrome/browser/ui/cocoa/key_equivalent_constants.h" | 18 #import "chrome/browser/ui/cocoa/key_equivalent_constants.h" |
19 #include "chrome/browser/ui/constrained_window.h" | 19 #include "chrome/browser/ui/constrained_window.h" |
| 20 #include "chrome/browser/ui/constrained_window_constants.h" |
20 #include "chrome/browser/ui/intents/web_intent_picker_delegate.h" | 21 #include "chrome/browser/ui/intents/web_intent_picker_delegate.h" |
21 #include "chrome/browser/ui/intents/web_intent_inline_disposition_delegate.h" | 22 #include "chrome/browser/ui/intents/web_intent_inline_disposition_delegate.h" |
22 #include "content/public/browser/web_contents.h" | 23 #include "content/public/browser/web_contents.h" |
23 #include "grit/generated_resources.h" | 24 #include "grit/generated_resources.h" |
24 #include "ui/base/cocoa/window_size_constants.h" | 25 #include "ui/base/cocoa/window_size_constants.h" |
25 #include "ui/base/l10n/l10n_util_mac.h" | 26 #include "ui/base/l10n/l10n_util_mac.h" |
26 | 27 |
27 @interface WebIntentPickerViewController () | 28 @interface WebIntentPickerViewController () |
28 | 29 |
29 - (void)performLayout; | 30 - (void)performLayout; |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 [self currentViewController]; | 176 [self currentViewController]; |
176 NSSize minSize = | 177 NSSize minSize = |
177 [viewController minimumSizeForInnerWidth:NSWidth(innerFrame)]; | 178 [viewController minimumSizeForInnerWidth:NSWidth(innerFrame)]; |
178 innerFrame.size.width = std::max(minSize.width, NSWidth(innerFrame)); | 179 innerFrame.size.width = std::max(minSize.width, NSWidth(innerFrame)); |
179 innerFrame.size.width = std::min( | 180 innerFrame.size.width = std::min( |
180 static_cast<CGFloat>(WebIntentPicker::kWindowMaxWidth), | 181 static_cast<CGFloat>(WebIntentPicker::kWindowMaxWidth), |
181 NSWidth(innerFrame)); | 182 NSWidth(innerFrame)); |
182 innerFrame.size.height = std::max(minSize.height, NSHeight(innerFrame)); | 183 innerFrame.size.height = std::max(minSize.height, NSHeight(innerFrame)); |
183 | 184 |
184 NSRect bounds = NSInsetRect(innerFrame, | 185 NSRect bounds = NSInsetRect(innerFrame, |
185 -ConstrainedWindow::kHorizontalPadding, | 186 -ConstrainedWindowConstants::kHorizontalPadding, |
186 -ConstrainedWindow::kVerticalPadding); | 187 0); |
| 188 bounds.origin.y -= ConstrainedWindowConstants::kClientTopPadding; |
| 189 bounds.size.height = NSHeight(innerFrame) + |
| 190 ConstrainedWindowConstants::kClientTopPadding + |
| 191 ConstrainedWindowConstants::kClientBottomPadding; |
187 | 192 |
188 [[viewController view] setFrame:bounds]; | 193 [[viewController view] setFrame:bounds]; |
189 [viewController layoutSubviewsWithinFrame:innerFrame]; | 194 [viewController layoutSubviewsWithinFrame:innerFrame]; |
190 | 195 |
191 NSRect closeFrame; | 196 NSRect closeFrame; |
192 closeFrame.size.width = ConstrainedWindow::GetCloseButtonSize(); | 197 closeFrame.size.width = ConstrainedWindow::GetCloseButtonSize(); |
193 closeFrame.size.height = ConstrainedWindow::GetCloseButtonSize(); | 198 closeFrame.size.height = ConstrainedWindow::GetCloseButtonSize(); |
194 closeFrame.origin.x = NSMaxX(innerFrame) - NSWidth(closeFrame); | 199 closeFrame.origin.x = NSMaxX(innerFrame) - NSWidth(closeFrame); |
195 closeFrame.origin.y = NSMinY(innerFrame); | 200 closeFrame.origin.y = NSMinY(innerFrame); |
196 [closeButton_ setFrame:closeFrame]; | 201 [closeButton_ setFrame:closeFrame]; |
197 | 202 |
198 [[self view] setFrame:bounds]; | 203 [[self view] setFrame:bounds]; |
199 } | 204 } |
200 | 205 |
201 - (NSRect)minimumInnerFrame { | 206 - (NSRect)minimumInnerFrame { |
202 NSRect bounds = NSMakeRect(0, 0, WebIntentPicker::kWindowMinWidth, | 207 NSRect bounds = NSMakeRect(0, 0, WebIntentPicker::kWindowMinWidth, |
203 WebIntentPicker::kWindowMinHeight); | 208 WebIntentPicker::kWindowMinHeight); |
204 return NSInsetRect(bounds, | 209 bounds = NSInsetRect(bounds, |
205 ConstrainedWindow::kHorizontalPadding, | 210 ConstrainedWindowConstants::kHorizontalPadding, |
206 ConstrainedWindow::kVerticalPadding); | 211 0); |
| 212 bounds.origin.y += ConstrainedWindowConstants::kClientTopPadding; |
| 213 bounds.size.height = bounds.size.height - |
| 214 ConstrainedWindowConstants::kClientTopPadding - |
| 215 ConstrainedWindowConstants::kClientBottomPadding; |
| 216 return bounds; |
207 } | 217 } |
208 | 218 |
209 - (NSViewController<WebIntentViewController>*)currentViewController { | 219 - (NSViewController<WebIntentViewController>*)currentViewController { |
210 switch (state_) { | 220 switch (state_) { |
211 case PICKER_STATE_WAITING: | 221 case PICKER_STATE_WAITING: |
212 return progressViewController_; | 222 return progressViewController_; |
213 case PICKER_STATE_NO_SERVICE: | 223 case PICKER_STATE_NO_SERVICE: |
214 return messageViewController_; | 224 return messageViewController_; |
215 case PICKER_STATE_CHOOSE_SERVICE: | 225 case PICKER_STATE_CHOOSE_SERVICE: |
216 return chooseServiceViewController_; | 226 return chooseServiceViewController_; |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
396 WindowOpenDisposition disposition = | 406 WindowOpenDisposition disposition = |
397 event_utils::WindowOpenDispositionFromNSEvent([NSApp currentEvent]); | 407 event_utils::WindowOpenDispositionFromNSEvent([NSApp currentEvent]); |
398 picker_->delegate()->OnSuggestionsLinkClicked(disposition); | 408 picker_->delegate()->OnSuggestionsLinkClicked(disposition); |
399 } | 409 } |
400 | 410 |
401 - (void)onChooseAnotherService:(id)sender { | 411 - (void)onChooseAnotherService:(id)sender { |
402 picker_->delegate()->OnChooseAnotherService(); | 412 picker_->delegate()->OnChooseAnotherService(); |
403 } | 413 } |
404 | 414 |
405 @end | 415 @end |
OLD | NEW |