Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(153)

Side by Side Diff: chrome/browser/ui/cocoa/chooser_content_view_cocoa.mm

Issue 2192953002: Chooser spinner should disappear as soon as one device shows up (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698