network_detailed_network_view_impl.cc 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. // Copyright 2022 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "ash/system/network/network_detailed_network_view_impl.h"
  5. #include "ash/constants/ash_features.h"
  6. #include "ash/system/network/network_detailed_view.h"
  7. #include "ash/system/network/network_list_mobile_header_view_impl.h"
  8. #include "ash/system/network/network_list_network_item_view.h"
  9. #include "ash/system/network/network_list_wifi_header_view_impl.h"
  10. #include "ash/system/network/network_utils.h"
  11. #include "ash/system/tray/detailed_view_delegate.h"
  12. #include "ui/base/metadata/metadata_impl_macros.h"
  13. namespace ash {
  14. NetworkDetailedNetworkViewImpl::NetworkDetailedNetworkViewImpl(
  15. DetailedViewDelegate* detailed_view_delegate,
  16. NetworkDetailedNetworkView::Delegate* delegate)
  17. : NetworkDetailedView(detailed_view_delegate,
  18. delegate,
  19. NetworkDetailedView::ListType::LIST_TYPE_NETWORK),
  20. NetworkDetailedNetworkView(delegate) {
  21. DCHECK(ash::features::IsQuickSettingsNetworkRevampEnabled());
  22. RecordDetailedViewSection(DetailedViewSection::kDetailedSection);
  23. }
  24. NetworkDetailedNetworkViewImpl::~NetworkDetailedNetworkViewImpl() = default;
  25. void NetworkDetailedNetworkViewImpl::NotifyNetworkListChanged() {
  26. scroll_content()->InvalidateLayout();
  27. Layout();
  28. }
  29. views::View* NetworkDetailedNetworkViewImpl::GetAsView() {
  30. return this;
  31. }
  32. NetworkListNetworkItemView*
  33. NetworkDetailedNetworkViewImpl::AddNetworkListItem() {
  34. return scroll_content()->AddChildView(
  35. new NetworkListNetworkItemView(/*listener=*/this));
  36. }
  37. NetworkListWifiHeaderView*
  38. NetworkDetailedNetworkViewImpl::AddWifiSectionHeader() {
  39. return scroll_content()->AddChildView(
  40. new NetworkListWifiHeaderViewImpl(/*delegate=*/this));
  41. }
  42. NetworkListMobileHeaderView*
  43. NetworkDetailedNetworkViewImpl::AddMobileSectionHeader() {
  44. return scroll_content()->AddChildView(
  45. new NetworkListMobileHeaderViewImpl(/*delegate=*/this));
  46. }
  47. views::View* NetworkDetailedNetworkViewImpl::network_list() {
  48. return scroll_content();
  49. }
  50. void NetworkDetailedNetworkViewImpl::OnMobileToggleClicked(bool new_state) {
  51. NetworkDetailedNetworkView::delegate()->OnMobileToggleClicked(new_state);
  52. }
  53. void NetworkDetailedNetworkViewImpl::OnWifiToggleClicked(bool new_state) {
  54. NetworkDetailedNetworkView::delegate()->OnWifiToggleClicked(new_state);
  55. }
  56. void NetworkDetailedNetworkViewImpl::UpdateScanningBarVisibility(bool visible) {
  57. ShowProgress(-1, visible);
  58. }
  59. BEGIN_METADATA(NetworkDetailedNetworkViewImpl, views::View)
  60. END_METADATA
  61. } // namespace ash