diff options
author | stevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-06 21:47:58 +0000 |
---|---|---|
committer | stevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-06 21:47:58 +0000 |
commit | 7a961850bc7304bd5e381de84b3c2dffe42e252e (patch) | |
tree | 131e41b163f71c821f0602f461d85abd476def38 /ash/system | |
parent | ce25db280f7122b591bffade5694c11eb2fc0df5 (diff) | |
download | chromium_src-7a961850bc7304bd5e381de84b3c2dffe42e252e.zip chromium_src-7a961850bc7304bd5e381de84b3c2dffe42e252e.tar.gz chromium_src-7a961850bc7304bd5e381de84b3c2dffe42e252e.tar.bz2 |
Support activation in new network status area UI
BUG=179507
For ash_strings:
TBR=sky@chromium.org
Review URL: https://codereview.chromium.org/12378096
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186511 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/system')
-rw-r--r-- | ash/system/chromeos/network/network_icon.cc | 27 | ||||
-rw-r--r-- | ash/system/chromeos/network/network_state_list_detailed_view.cc | 8 | ||||
-rw-r--r-- | ash/system/chromeos/network/tray_network.cc | 9 |
3 files changed, 42 insertions, 2 deletions
diff --git a/ash/system/chromeos/network/network_icon.cc b/ash/system/chromeos/network/network_icon.cc index 05de7d1..4212a72 100644 --- a/ash/system/chromeos/network/network_icon.cc +++ b/ash/system/chromeos/network/network_icon.cc @@ -583,13 +583,28 @@ gfx::ImageSkia GetImageForDisconnectedNetwork(IconType icon_type, string16 GetLabelForNetwork(const chromeos::NetworkState* network, IconType icon_type) { DCHECK(network); + std::string activation_state = network->activation_state(); if (icon_type == ICON_TYPE_LIST) { + // Show "<network>: [Connecting|Activating]..." if (network->IsConnectingState()) { return l10n_util::GetStringFUTF16( IDS_ASH_STATUS_TRAY_NETWORK_LIST_CONNECTING, UTF8ToUTF16(network->name())); } + if (activation_state == flimflam::kActivationStateActivating) { + return l10n_util::GetStringFUTF16( + IDS_ASH_STATUS_TRAY_NETWORK_LIST_ACTIVATING, + UTF8ToUTF16(network->name())); + } + // Show "Activate <network>" in list view only. + if (activation_state == flimflam::kActivationStateNotActivated || + activation_state == flimflam::kActivationStatePartiallyActivated) { + return l10n_util::GetStringFUTF16( + IDS_ASH_STATUS_TRAY_NETWORK_LIST_ACTIVATE, + UTF8ToUTF16(network->name())); + } } else { + // Show "[Connected to|Connecting to|Activating] <network>" (non-list view). if (network->IsConnectedState()) { return l10n_util::GetStringFUTF16( IDS_ASH_STATUS_TRAY_NETWORK_CONNECTED, UTF8ToUTF16(network->name())); @@ -598,8 +613,18 @@ string16 GetLabelForNetwork(const chromeos::NetworkState* network, return l10n_util::GetStringFUTF16( IDS_ASH_STATUS_TRAY_NETWORK_CONNECTING, UTF8ToUTF16(network->name())); } + if (activation_state == flimflam::kActivationStateActivating) { + return l10n_util::GetStringFUTF16( + IDS_ASH_STATUS_TRAY_NETWORK_ACTIVATING, UTF8ToUTF16(network->name())); + } + } + + // Otherwise just show the network name or 'Ethernet'. + if (network->type() == flimflam::kTypeEthernet) { + return l10n_util::GetStringUTF16(IDS_ASH_STATUS_TRAY_ETHERNET); + } else { + return UTF8ToUTF16(network->name()); } - return UTF8ToUTF16(network->name()); } int GetCellularUninitializedMsg() { diff --git a/ash/system/chromeos/network/network_state_list_detailed_view.cc b/ash/system/chromeos/network/network_state_list_detailed_view.cc index daa1af7..699014a 100644 --- a/ash/system/chromeos/network/network_state_list_detailed_view.cc +++ b/ash/system/chromeos/network/network_state_list_detailed_view.cc @@ -108,12 +108,14 @@ class NonActivatableSettingsBubble : public views::BubbleDelegateView { struct NetworkInfo { NetworkInfo(const std::string& path) : service_path(path), + disable(false), highlight(false) { } std::string service_path; string16 label; gfx::ImageSkia image; + bool disable; bool highlight; }; @@ -431,6 +433,8 @@ void NetworkStateListDetailedView::UpdateNetworkList() { network, network_icon::ICON_TYPE_LIST); info->highlight = network->IsConnectedState() || network->IsConnectingState(); + info->disable = + network->activation_state() == flimflam::kActivationStateActivating; } // Get the updated list entries @@ -444,6 +448,7 @@ void NetworkStateListDetailedView::UpdateNetworkList() { it != service_path_map_.end(); ++it) { if (new_service_paths.find(it->first) == new_service_paths.end()) { remove_service_paths.insert(it->first); + network_map_.erase(it->second); scroll_content()->RemoveChildView(it->second); needs_relayout = true; } @@ -506,7 +511,8 @@ bool NetworkStateListDetailedView::UpdateNetworkChild( container->SchedulePaint(); needs_relayout = OrderChild(container, index); } - + if (info->disable) + container->SetEnabled(false); network_map_[container] = info->service_path; service_path_map_[info->service_path] = container; return needs_relayout; diff --git a/ash/system/chromeos/network/tray_network.cc b/ash/system/chromeos/network/tray_network.cc index 3dff223..161d519 100644 --- a/ash/system/chromeos/network/tray_network.cc +++ b/ash/system/chromeos/network/tray_network.cc @@ -568,6 +568,15 @@ void TrayNetwork::GetNetworkStateHandlerImageAndLabel( network = connecting_network; } if (!network) { + // If no connecting network, check if we are activating a network. + const NetworkState* mobile_network = handler->FirstNetworkByType( + NetworkStateHandler::kMatchTypeMobile); + if (mobile_network && (mobile_network->activation_state() == + flimflam::kActivationStateActivating)) { + network = mobile_network; + } + } + if (!network) { // If no connecting network, check for cellular initializing. int uninitialized_msg = network_icon::GetCellularUninitializedMsg(); if (uninitialized_msg != 0) { |