| 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 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 ChooserContentViewController::~ChooserContentViewController() { | 94 ChooserContentViewController::~ChooserContentViewController() { |
| 95 chooser_controller_->set_view(nullptr); | 95 chooser_controller_->set_view(nullptr); |
| 96 } | 96 } |
| 97 | 97 |
| 98 void ChooserContentViewController::OnOptionsInitialized() { | 98 void ChooserContentViewController::OnOptionsInitialized() { |
| 99 UpdateTableView(); | 99 UpdateTableView(); |
| 100 } | 100 } |
| 101 | 101 |
| 102 void ChooserContentViewController::OnOptionAdded(size_t index) { | 102 void ChooserContentViewController::OnOptionAdded(size_t index) { |
| 103 UpdateTableView(); | 103 UpdateTableView(); |
| 104 [table_view_ setHidden:NO]; |
| 105 [spinner_ setHidden:YES]; |
| 104 } | 106 } |
| 105 | 107 |
| 106 void ChooserContentViewController::OnOptionRemoved(size_t index) { | 108 void ChooserContentViewController::OnOptionRemoved(size_t index) { |
| 107 // |table_view_| will automatically select the removed item's next item. | 109 // |table_view_| will automatically select the removed item's next item. |
| 108 // So here it tracks if the removed item is the item that was currently | 110 // So here it tracks if the removed item is the item that was currently |
| 109 // selected, if so, deselect it. Also if the removed item is before the | 111 // selected, if so, deselect it. Also if the removed item is before the |
| 110 // currently selected item, the currently selected item's index needs to | 112 // currently selected item, the currently selected item's index needs to |
| 111 // be adjusted by one. | 113 // be adjusted by one. |
| 112 NSInteger idx = static_cast<NSInteger>(index); | 114 NSInteger idx = static_cast<NSInteger>(index); |
| 113 NSInteger selected_row = [table_view_ selectedRow]; | 115 NSInteger selected_row = [table_view_ selectedRow]; |
| (...skipping 16 matching lines...) Expand all Loading... |
| 130 [table_view_ setHidden:NO]; | 132 [table_view_ setHidden:NO]; |
| 131 | 133 |
| 132 [spinner_ setHidden:YES]; | 134 [spinner_ setHidden:YES]; |
| 133 | 135 |
| 134 [status_ setHidden:YES]; | 136 [status_ setHidden:YES]; |
| 135 // When adapter is enabled, show |rescan_button_|; otherwise hide it. | 137 // When adapter is enabled, show |rescan_button_|; otherwise hide it. |
| 136 [rescan_button_ setHidden:enabled ? NO : YES]; | 138 [rescan_button_ setHidden:enabled ? NO : YES]; |
| 137 } | 139 } |
| 138 | 140 |
| 139 void ChooserContentViewController::OnRefreshStateChanged(bool refreshing) { | 141 void ChooserContentViewController::OnRefreshStateChanged(bool refreshing) { |
| 140 // No row is selected since the chooser is refreshing or just refreshed. | 142 if (refreshing) { |
| 141 // This will also disable the OK button if it was enabled because | 143 // No row is selected since the chooser is refreshing. |
| 142 // of a previously selected row. | 144 // This will also disable the OK button if it was enabled because |
| 143 [table_view_ deselectAll:nil]; | 145 // of a previously selected row. |
| 144 UpdateTableView(); | 146 [table_view_ deselectAll:nil]; |
| 145 // When refreshing, hide |table_view_|. When complete, show |table_view_|. | 147 UpdateTableView(); |
| 146 [table_view_ setHidden:refreshing ? YES : NO]; | 148 } |
| 147 | 149 |
| 148 // When refreshing, show |spinner_|. When complete, hide |spinner_|. | 150 // When refreshing and no option available yet, hide |table_view_| and show |
| 149 [spinner_ setHidden:refreshing ? NO : YES]; | 151 // |spinner_|. Otherwise show |table_view_| and hide |spinner_|. |
| 152 bool table_view_hidden = |
| 153 refreshing && (chooser_controller_->NumOptions() == 0); |
| 154 [table_view_ setHidden:table_view_hidden ? YES : NO]; |
| 155 [spinner_ setHidden:table_view_hidden ? NO : YES]; |
| 150 | 156 |
| 151 // When refreshing, show |status_| and hide |rescan_button_|. | 157 // When refreshing, show |status_| and hide |rescan_button_|. |
| 152 // When complete, show |rescan_button_| and hide |status_|. | 158 // When complete, show |rescan_button_| and hide |status_|. |
| 153 [status_ setHidden:refreshing ? NO : YES]; | 159 [status_ setHidden:refreshing ? NO : YES]; |
| 154 [rescan_button_ setHidden:refreshing ? YES : NO]; | 160 [rescan_button_ setHidden:refreshing ? YES : NO]; |
| 155 } | 161 } |
| 156 | 162 |
| 157 void ChooserContentViewController::UpdateTableView() { | 163 void ChooserContentViewController::UpdateTableView() { |
| 158 [table_view_ setEnabled:chooser_controller_->NumOptions() > 0]; | 164 [table_view_ setEnabled:chooser_controller_->NumOptions() > 0]; |
| 159 [table_view_ reloadData]; | 165 [table_view_ reloadData]; |
| (...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 472 | 478 |
| 473 - (void)onRescan:(id)sender { | 479 - (void)onRescan:(id)sender { |
| 474 chooserController_->RefreshOptions(); | 480 chooserController_->RefreshOptions(); |
| 475 } | 481 } |
| 476 | 482 |
| 477 - (void)onHelpPressed:(id)sender { | 483 - (void)onHelpPressed:(id)sender { |
| 478 chooserController_->OpenHelpCenterUrl(); | 484 chooserController_->OpenHelpCenterUrl(); |
| 479 } | 485 } |
| 480 | 486 |
| 481 @end | 487 @end |
| OLD | NEW |