| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 #include "chrome/browser/chromeos/status/network_menu_button.h" | 5 #include "chrome/browser/chromeos/status/network_menu_button.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 | 9 |
| 10 #include "app/l10n_util.h" | 10 #include "app/l10n_util.h" |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 l10n_util::GetStringF( | 113 l10n_util::GetStringF( |
| 114 IDS_STATUSBAR_NETWORK_CONNECTED_TOOLTIP, | 114 IDS_STATUSBAR_NETWORK_CONNECTED_TOOLTIP, |
| 115 l10n_util::GetString(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET))); | 115 l10n_util::GetString(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET))); |
| 116 } else if (cros->wifi_connected()) { | 116 } else if (cros->wifi_connected()) { |
| 117 SetIcon(IconForNetworkStrength( | 117 SetIcon(IconForNetworkStrength( |
| 118 cros->wifi_network().strength(), false)); | 118 cros->wifi_network().strength(), false)); |
| 119 SetTooltipText(l10n_util::GetStringF( | 119 SetTooltipText(l10n_util::GetStringF( |
| 120 IDS_STATUSBAR_NETWORK_CONNECTED_TOOLTIP, | 120 IDS_STATUSBAR_NETWORK_CONNECTED_TOOLTIP, |
| 121 UTF8ToWide(cros->wifi_network().name()))); | 121 UTF8ToWide(cros->wifi_network().name()))); |
| 122 } else if (cros->cellular_connected()) { | 122 } else if (cros->cellular_connected()) { |
| 123 SetIcon(IconForNetworkStrength( | 123 const CellularNetwork& cellular = cros->cellular_network(); |
| 124 cros->cellular_network().strength(), false)); | 124 if (cellular.data_left() == CellularNetwork::DATA_NONE) { |
| 125 // If no data, then we show 0 bars. |
| 126 SetIcon(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_BARS0)); |
| 127 } else { |
| 128 SetIcon(IconForNetworkStrength(cellular)); |
| 129 } |
| 125 SetTooltipText(l10n_util::GetStringF( | 130 SetTooltipText(l10n_util::GetStringF( |
| 126 IDS_STATUSBAR_NETWORK_CONNECTED_TOOLTIP, | 131 IDS_STATUSBAR_NETWORK_CONNECTED_TOOLTIP, |
| 127 UTF8ToWide(cros->cellular_network().name()))); | 132 UTF8ToWide(cellular.name()))); |
| 128 } else { | 133 } else { |
| 129 SetIcon(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_BARS0)); | 134 SetIcon(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_BARS0)); |
| 130 SetTooltipText(l10n_util::GetString( | 135 SetTooltipText(l10n_util::GetString( |
| 131 IDS_STATUSBAR_NETWORK_NO_NETWORK_TOOLTIP)); | 136 IDS_STATUSBAR_NETWORK_NO_NETWORK_TOOLTIP)); |
| 132 } | 137 } |
| 133 } | 138 } |
| 134 | 139 |
| 135 if (!cros->Connected() && !cros->Connecting()) { | 140 if (!cros->Connected() && !cros->Connecting()) { |
| 136 SetBadge(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_DISCONNECTED)); | 141 SetBadge(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_DISCONNECTED)); |
| 137 } else if (!cros->ethernet_connected() && !cros->wifi_connected() && | 142 } else if (!cros->ethernet_connected() && !cros->wifi_connected() && |
| 138 (cros->cellular_connecting() || cros->cellular_connected())) { | 143 (cros->cellular_connecting() || cros->cellular_connected())) { |
| 139 // TODO(chocobo): Check cellular network 3g/edge. | 144 int id; |
| 140 SetBadge(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_3G)); | 145 switch (cros->cellular_network().data_left()) { |
| 141 // SetBadge(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_EDGE)); | 146 case CellularNetwork::DATA_NONE: |
| 147 case CellularNetwork::DATA_VERY_LOW: |
| 148 id = IDR_STATUSBAR_NETWORK_3G_VLOWDATA; |
| 149 break; |
| 150 case CellularNetwork::DATA_LOW: |
| 151 id = IDR_STATUSBAR_NETWORK_3G_LOWDATA; |
| 152 break; |
| 153 case CellularNetwork::DATA_NORMAL: |
| 154 id = IDR_STATUSBAR_NETWORK_3G; |
| 155 break; |
| 156 } |
| 157 SetBadge(*rb.GetBitmapNamed(id)); |
| 142 } else { | 158 } else { |
| 143 SetBadge(SkBitmap()); | 159 SetBadge(SkBitmap()); |
| 144 } | 160 } |
| 145 } else { | 161 } else { |
| 146 SetIcon(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_BARS0)); | 162 SetIcon(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_BARS0)); |
| 147 SetBadge(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_WARNING)); | 163 SetBadge(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_WARNING)); |
| 148 SetTooltipText(l10n_util::GetString( | 164 SetTooltipText(l10n_util::GetString( |
| 149 IDS_STATUSBAR_NETWORK_NO_NETWORK_TOOLTIP)); | 165 IDS_STATUSBAR_NETWORK_NO_NETWORK_TOOLTIP)); |
| 150 } | 166 } |
| 151 | 167 |
| 152 SchedulePaint(); | 168 SchedulePaint(); |
| 153 UpdateMenu(); | 169 UpdateMenu(); |
| 154 } | 170 } |
| 155 | 171 |
| 172 void NetworkMenuButton::CellularDataPlanChanged(NetworkLibrary* cros) { |
| 173 // Call NetworkChanged which will update the icon. |
| 174 NetworkChanged(cros); |
| 175 } |
| 176 |
| 156 void NetworkMenuButton::SetBadge(const SkBitmap& badge) { | 177 void NetworkMenuButton::SetBadge(const SkBitmap& badge) { |
| 157 badge_ = badge; | 178 badge_ = badge; |
| 158 } | 179 } |
| 159 | 180 |
| 160 //////////////////////////////////////////////////////////////////////////////// | 181 //////////////////////////////////////////////////////////////////////////////// |
| 161 // NetworkMenuButton, NetworkMenu implementation: | 182 // NetworkMenuButton, NetworkMenu implementation: |
| 162 | 183 |
| 163 bool NetworkMenuButton::IsBrowserMode() const { | 184 bool NetworkMenuButton::IsBrowserMode() const { |
| 164 return host_->IsBrowserMode(); | 185 return host_->IsBrowserMode(); |
| 165 } | 186 } |
| 166 | 187 |
| 167 gfx::NativeWindow NetworkMenuButton::GetNativeWindow() const { | 188 gfx::NativeWindow NetworkMenuButton::GetNativeWindow() const { |
| 168 return host_->GetNativeWindow(); | 189 return host_->GetNativeWindow(); |
| 169 } | 190 } |
| 170 | 191 |
| 171 void NetworkMenuButton::OpenButtonOptions() const { | 192 void NetworkMenuButton::OpenButtonOptions() const { |
| 172 host_->OpenButtonOptions(this); | 193 host_->OpenButtonOptions(this); |
| 173 } | 194 } |
| 174 | 195 |
| 175 bool NetworkMenuButton::ShouldOpenButtonOptions() const { | 196 bool NetworkMenuButton::ShouldOpenButtonOptions() const { |
| 176 return host_->ShouldOpenButtonOptions(this); | 197 return host_->ShouldOpenButtonOptions(this); |
| 177 } | 198 } |
| 178 | 199 |
| 179 } // namespace chromeos | 200 } // namespace chromeos |
| OLD | NEW |