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

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: chooser spinner should disappear as soon as one device shows up 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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698