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

Unified Diff: ash/common/system/chromeos/network/network_state_list_detailed_view.cc

Issue 2300423002: Reland of Make TrayDetailsView a ViewClickListener and ButtonListener (Closed)
Patch Set: for review Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: ash/common/system/chromeos/network/network_state_list_detailed_view.cc
diff --git a/ash/common/system/chromeos/network/network_state_list_detailed_view.cc b/ash/common/system/chromeos/network/network_state_list_detailed_view.cc
index de5ed042f4bde8cc8d4414af1057326f2650e784..142bb4ec51f0995caf46001c60b4f67f099f9812 100644
--- a/ash/common/system/chromeos/network/network_state_list_detailed_view.cc
+++ b/ash/common/system/chromeos/network/network_state_list_detailed_view.cc
@@ -9,6 +9,7 @@
#include "ash/common/ash_constants.h"
#include "ash/common/ash_switches.h"
+#include "ash/common/material_design/material_design_controller.h"
#include "ash/common/shell_window_ids.h"
#include "ash/common/system/chromeos/network/tray_network_state_observer.h"
#include "ash/common/system/chromeos/network/vpn_list_view.h"
@@ -356,7 +357,7 @@ void NetworkStateListDetailedView::Init() {
CreateScrollableList();
CreateNetworkExtra();
- CreateHeaderEntry();
+ CreateTitleRow(IDS_ASH_STATUS_TRAY_NETWORK);
network_list_view_->set_container(scroll_content());
Update();
@@ -370,10 +371,11 @@ NetworkStateListDetailedView::GetViewType() const {
return STATE_LIST_VIEW;
}
-// Views overrides
+void NetworkStateListDetailedView::HandleButtonPressed(views::Button* sender,
+ const ui::Event& event) {
+ if (MaterialDesignController::IsSystemTrayMenuMaterial())
+ return;
-void NetworkStateListDetailedView::ButtonPressed(views::Button* sender,
- const ui::Event& event) {
if (sender == info_icon_) {
ToggleInfoBubble();
return;
@@ -411,20 +413,15 @@ void NetworkStateListDetailedView::ButtonPressed(views::Button* sender,
}
}
-void NetworkStateListDetailedView::OnViewClicked(views::View* sender) {
+void NetworkStateListDetailedView::HandleViewClicked(views::View* view) {
// If the info bubble was visible, close it when some other item is clicked.
ResetInfoBubble();
- if (sender == footer()->content()) {
- TransitionToDefaultView();
- return;
- }
-
if (login_ == LoginStatus::LOCKED)
return;
std::string service_path;
- if (!network_list_view_->IsNetworkEntry(sender, &service_path))
+ if (!network_list_view_->IsNetworkEntry(view, &service_path))
return;
const NetworkState* network =
@@ -446,10 +443,9 @@ void NetworkStateListDetailedView::OnViewClicked(views::View* sender) {
}
}
-// Create UI components.
-
-void NetworkStateListDetailedView::CreateHeaderEntry() {
- CreateSpecialRow(IDS_ASH_STATUS_TRAY_NETWORK, this);
+void NetworkStateListDetailedView::CreateExtraTitleRowButtons() {
+ if (MaterialDesignController::IsSystemTrayMenuMaterial())
+ return;
if (list_type_ != LIST_TYPE_VPN) {
NetworkStateHandler* network_state_handler =
@@ -462,7 +458,7 @@ void NetworkStateListDetailedView::CreateHeaderEntry() {
l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_DISABLE_WIFI));
button_wifi_->SetToggledTooltipText(
l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_ENABLE_WIFI));
- footer()->AddButton(button_wifi_);
+ title_row()->AddButton(button_wifi_);
if (network_state_handler->IsTechnologyProhibited(
NetworkTypePattern::WiFi())) {
button_wifi_->SetState(views::Button::STATE_DISABLED);
@@ -486,13 +482,13 @@ void NetworkStateListDetailedView::CreateHeaderEntry() {
button_mobile_->SetToggledTooltipText(l10n_util::GetStringUTF16(
IDS_ASH_STATUS_TRAY_NETWORK_TECHNOLOGY_ENFORCED_BY_POLICY));
}
- footer()->AddButton(button_mobile_);
+ title_row()->AddButton(button_mobile_);
}
views::View* info_throbber_container = new views::View();
InfoThrobberLayout* info_throbber_layout = new InfoThrobberLayout;
info_throbber_container->SetLayoutManager(info_throbber_layout);
- footer()->AddView(info_throbber_container, true /* add_separator */);
+ title_row()->AddView(info_throbber_container, true /* add_separator */);
if (list_type_ != LIST_TYPE_VPN) {
// Place the throbber behind the info icon so that the icon receives
@@ -561,15 +557,12 @@ void NetworkStateListDetailedView::CreateNetworkExtra() {
AddChildView(bottom_row);
}
-// Update UI components.
-
void NetworkStateListDetailedView::UpdateHeaderButtons() {
NetworkStateHandler* handler = NetworkHandler::Get()->network_state_handler();
if (button_wifi_)
UpdateTechnologyButton(button_wifi_, NetworkTypePattern::WiFi());
- if (button_mobile_) {
+ if (button_mobile_)
UpdateTechnologyButton(button_mobile_, NetworkTypePattern::Mobile());
- }
if (proxy_settings_)
proxy_settings_->SetEnabled(handler->DefaultNetwork() != nullptr);
@@ -578,7 +571,8 @@ void NetworkStateListDetailedView::UpdateHeaderButtons() {
bool scanning =
NetworkHandler::Get()->network_state_handler()->GetScanningByType(
NetworkTypePattern::WiFi());
- if (scanning != wifi_scanning_) {
+ if (scanning != wifi_scanning_ &&
+ !MaterialDesignController::IsSystemTrayMenuMaterial()) {
wifi_scanning_ = scanning;
if (list_type_ != LIST_TYPE_VPN) {
SetScanningStateForThrobberView(true);
@@ -601,11 +595,14 @@ void NetworkStateListDetailedView::UpdateHeaderButtons() {
}
}
- static_cast<views::View*>(footer())->Layout();
+ static_cast<views::View*>(title_row())->Layout();
}
void NetworkStateListDetailedView::SetScanningStateForThrobberView(
bool is_scanning) {
+ if (MaterialDesignController::IsSystemTrayMenuMaterial())
+ return;
+
// Hide the network info button if the device is scanning for Wi-Fi networks
// and display the WiFi scanning indicator.
info_icon_->SetVisible(!is_scanning);
@@ -925,6 +922,10 @@ views::Label* NetworkStateListDetailedView::CreateInfoLabel() {
return label;
}
+void NetworkStateListDetailedView::OnNetworkEntryClicked(views::View* sender) {
+ HandleViewClicked(sender);
+}
+
void NetworkStateListDetailedView::RelayoutScrollList() {
scroller()->Layout();
}

Powered by Google App Engine
This is Rietveld 408576698