| 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 |