| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/chooser_content_view_cocoa.h" | 5 #import "chrome/browser/ui/cocoa/chooser_content_view_cocoa.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/strings/sys_string_conversions.h" | 10 #include "base/strings/sys_string_conversions.h" |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 NSTextField* status, | 52 NSTextField* status, |
| 53 NSButton* rescan_button); | 53 NSButton* rescan_button); |
| 54 ~ChooserContentViewController() override; | 54 ~ChooserContentViewController() override; |
| 55 | 55 |
| 56 // ChooserController::View: | 56 // ChooserController::View: |
| 57 void OnOptionsInitialized() override; | 57 void OnOptionsInitialized() override; |
| 58 void OnOptionAdded(size_t index) override; | 58 void OnOptionAdded(size_t index) override; |
| 59 void OnOptionRemoved(size_t index) override; | 59 void OnOptionRemoved(size_t index) override; |
| 60 void OnAdapterEnabledChanged(bool enabled) override; | 60 void OnAdapterEnabledChanged(bool enabled) override; |
| 61 void OnRefreshStateChanged(bool refreshing) override; | 61 void OnRefreshStateChanged(bool refreshing) override; |
| 62 void OnOptionAvailableDuringRefresh() override; |
| 62 | 63 |
| 63 void UpdateTableView(); | 64 void UpdateTableView(); |
| 64 | 65 |
| 65 private: | 66 private: |
| 66 ChooserController* chooser_controller_; | 67 ChooserController* chooser_controller_; |
| 67 NSTableView* table_view_; | 68 NSTableView* table_view_; |
| 68 SpinnerView* spinner_; | 69 SpinnerView* spinner_; |
| 69 NSTextField* status_; | 70 NSTextField* status_; |
| 70 NSButton* rescan_button_; | 71 NSButton* rescan_button_; |
| 71 | 72 |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 130 [table_view_ setHidden:NO]; | 131 [table_view_ setHidden:NO]; |
| 131 | 132 |
| 132 [spinner_ setHidden:YES]; | 133 [spinner_ setHidden:YES]; |
| 133 | 134 |
| 134 [status_ setHidden:YES]; | 135 [status_ setHidden:YES]; |
| 135 // When adapter is enabled, show |rescan_button_|; otherwise hide it. | 136 // When adapter is enabled, show |rescan_button_|; otherwise hide it. |
| 136 [rescan_button_ setHidden:enabled ? NO : YES]; | 137 [rescan_button_ setHidden:enabled ? NO : YES]; |
| 137 } | 138 } |
| 138 | 139 |
| 139 void ChooserContentViewController::OnRefreshStateChanged(bool refreshing) { | 140 void ChooserContentViewController::OnRefreshStateChanged(bool refreshing) { |
| 140 // No row is selected since the chooser is refreshing or just refreshed. | 141 if (refreshing) { |
| 141 // This will also disable the OK button if it was enabled because | 142 // No row is selected since the chooser is refreshing. |
| 142 // of a previously selected row. | 143 // This will also disable the OK button if it was enabled because |
| 143 [table_view_ deselectAll:nil]; | 144 // of a previously selected row. |
| 144 UpdateTableView(); | 145 [table_view_ deselectAll:nil]; |
| 145 // When refreshing, hide |table_view_|. When complete, show |table_view_|. | 146 UpdateTableView(); |
| 146 [table_view_ setHidden:refreshing ? YES : NO]; | 147 } |
| 147 | 148 |
| 148 // When refreshing, show |spinner_|. When complete, hide |spinner_|. | 149 // When refreshing and no option available yet, hide |table_view_| and show |
| 149 [spinner_ setHidden:refreshing ? NO : YES]; | 150 // |spinner_|. Otherwise show |table_view_| and hide |spinner_|. |
| 151 bool table_view_hidden = |
| 152 refreshing && (chooser_controller_->NumOptions() == 0); |
| 153 [table_view_ setHidden:table_view_hidden ? YES : NO]; |
| 154 [spinner_ setHidden:table_view_hidden ? NO : YES]; |
| 150 | 155 |
| 151 // When refreshing, show |status_| and hide |rescan_button_|. | 156 // When refreshing, show |status_| and hide |rescan_button_|. |
| 152 // When complete, show |rescan_button_| and hide |status_|. | 157 // When complete, show |rescan_button_| and hide |status_|. |
| 153 [status_ setHidden:refreshing ? NO : YES]; | 158 [status_ setHidden:refreshing ? NO : YES]; |
| 154 [rescan_button_ setHidden:refreshing ? YES : NO]; | 159 [rescan_button_ setHidden:refreshing ? YES : NO]; |
| 155 } | 160 } |
| 156 | 161 |
| 162 void ChooserContentViewController::OnOptionAvailableDuringRefresh() { |
| 163 [table_view_ setHidden:NO]; |
| 164 [spinner_ setHidden:YES]; |
| 165 } |
| 166 |
| 157 void ChooserContentViewController::UpdateTableView() { | 167 void ChooserContentViewController::UpdateTableView() { |
| 158 [table_view_ setEnabled:chooser_controller_->NumOptions() > 0]; | 168 [table_view_ setEnabled:chooser_controller_->NumOptions() > 0]; |
| 159 [table_view_ reloadData]; | 169 [table_view_ reloadData]; |
| 160 } | 170 } |
| 161 | 171 |
| 162 @implementation ChooserContentViewCocoa | 172 @implementation ChooserContentViewCocoa |
| 163 | 173 |
| 164 - (instancetype)initWithChooserTitle:(NSString*)chooserTitle | 174 - (instancetype)initWithChooserTitle:(NSString*)chooserTitle |
| 165 chooserController: | 175 chooserController: |
| 166 (std::unique_ptr<ChooserController>)chooserController { | 176 (std::unique_ptr<ChooserController>)chooserController { |
| (...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 472 | 482 |
| 473 - (void)onRescan:(id)sender { | 483 - (void)onRescan:(id)sender { |
| 474 chooserController_->RefreshOptions(); | 484 chooserController_->RefreshOptions(); |
| 475 } | 485 } |
| 476 | 486 |
| 477 - (void)onHelpPressed:(id)sender { | 487 - (void)onHelpPressed:(id)sender { |
| 478 chooserController_->OpenHelpCenterUrl(); | 488 chooserController_->OpenHelpCenterUrl(); |
| 479 } | 489 } |
| 480 | 490 |
| 481 @end | 491 @end |
| OLD | NEW |