| 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.h" | 5 #include "chrome/browser/chromeos/status/network_menu.h" |
| 6 | 6 |
| 7 #include "app/l10n_util.h" | 7 #include "app/l10n_util.h" |
| 8 #include "app/resource_bundle.h" | 8 #include "app/resource_bundle.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/stringprintf.h" | 10 #include "base/stringprintf.h" |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 65 info->ip_address = cros->ethernet_network().ip_address(); | 65 info->ip_address = cros->ethernet_network().ip_address(); |
| 66 } | 66 } |
| 67 info->need_passphrase = false; | 67 info->need_passphrase = false; |
| 68 info->remembered = true; | 68 info->remembered = true; |
| 69 } else if (flags & FLAG_WIFI) { | 69 } else if (flags & FLAG_WIFI) { |
| 70 WifiNetwork wifi; | 70 WifiNetwork wifi; |
| 71 bool found = cros->FindWifiNetworkByPath( | 71 bool found = cros->FindWifiNetworkByPath( |
| 72 menu_items_[index].wireless_path, &wifi); | 72 menu_items_[index].wireless_path, &wifi); |
| 73 if (found) { | 73 if (found) { |
| 74 info->network_type = kNetworkTypeWifi; | 74 info->network_type = kNetworkTypeWifi; |
| 75 if (wifi.name() == cros->wifi_name()) { | 75 if (wifi.service_path() == cros->wifi_network().service_path()) { |
| 76 if (cros->wifi_connected()) { | 76 if (cros->wifi_connected()) { |
| 77 info->status = kNetworkStatusConnected; | 77 info->status = kNetworkStatusConnected; |
| 78 info->message = l10n_util::GetStringUTF8( | 78 info->message = l10n_util::GetStringUTF8( |
| 79 IDS_STATUSBAR_NETWORK_DEVICE_CONNECTED); | 79 IDS_STATUSBAR_NETWORK_DEVICE_CONNECTED); |
| 80 } else if (cros->wifi_connecting()) { | 80 } else if (cros->wifi_connecting()) { |
| 81 info->status = kNetworkStatusConnecting; | 81 info->status = kNetworkStatusConnecting; |
| 82 // TODO(stevenjb): Eliminate status message, or localize properly. | 82 // TODO(stevenjb): Eliminate status message, or localize properly. |
| 83 info->message = l10n_util::GetStringUTF8( | 83 info->message = l10n_util::GetStringUTF8( |
| 84 IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING) | 84 IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING) |
| 85 + ": " + wifi.GetStateString(); | 85 + ": " + wifi.GetStateString(); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 110 info->remembered = wifi.favorite(); | 110 info->remembered = wifi.favorite(); |
| 111 } else { | 111 } else { |
| 112 res = false; // Network not found, hide entry. | 112 res = false; // Network not found, hide entry. |
| 113 } | 113 } |
| 114 } else if (flags & FLAG_CELLULAR) { | 114 } else if (flags & FLAG_CELLULAR) { |
| 115 CellularNetwork cellular; | 115 CellularNetwork cellular; |
| 116 bool found = cros->FindCellularNetworkByPath( | 116 bool found = cros->FindCellularNetworkByPath( |
| 117 menu_items_[index].wireless_path, &cellular); | 117 menu_items_[index].wireless_path, &cellular); |
| 118 if (found) { | 118 if (found) { |
| 119 info->network_type = kNetworkTypeCellular; | 119 info->network_type = kNetworkTypeCellular; |
| 120 if (cellular.name() == cros->cellular_name()) { | 120 if (cellular.service_path() == |
| 121 cros->cellular_network().service_path()) { |
| 121 if (cros->cellular_connected()) { | 122 if (cros->cellular_connected()) { |
| 122 info->status = kNetworkStatusConnected; | 123 info->status = kNetworkStatusConnected; |
| 123 info->message = l10n_util::GetStringUTF8( | 124 info->message = l10n_util::GetStringUTF8( |
| 124 IDS_STATUSBAR_NETWORK_DEVICE_CONNECTED); | 125 IDS_STATUSBAR_NETWORK_DEVICE_CONNECTED); |
| 125 } else if (cros->cellular_connecting()) { | 126 } else if (cros->cellular_connecting()) { |
| 126 // TODO(stevenjb): Eliminate status message, or localize properly. | 127 // TODO(stevenjb): Eliminate status message, or localize properly. |
| 127 info->status = kNetworkStatusConnecting; | 128 info->status = kNetworkStatusConnecting; |
| 128 info->message = l10n_util::GetStringUTF8( | 129 info->message = l10n_util::GetStringUTF8( |
| 129 IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING) | 130 IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING) |
| 130 + ": " + cellular.GetStateString(); | 131 + ": " + cellular.GetStateString(); |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 268 ShowEthernet(cros->ethernet_network()); | 269 ShowEthernet(cros->ethernet_network()); |
| 269 } | 270 } |
| 270 } else if (flags & FLAG_WIFI) { | 271 } else if (flags & FLAG_WIFI) { |
| 271 WifiNetwork wifi; | 272 WifiNetwork wifi; |
| 272 bool wifi_exists = cros->FindWifiNetworkByPath( | 273 bool wifi_exists = cros->FindWifiNetworkByPath( |
| 273 menu_items_[index].wireless_path, &wifi); | 274 menu_items_[index].wireless_path, &wifi); |
| 274 if (!wifi_exists) { | 275 if (!wifi_exists) { |
| 275 // If we are attempting to connect to a network that no longer exists, | 276 // If we are attempting to connect to a network that no longer exists, |
| 276 // display a notification. | 277 // display a notification. |
| 277 // TODO(stevenjb): Show notification. | 278 // TODO(stevenjb): Show notification. |
| 278 } else if (wifi.name() == cros->wifi_name()) { | 279 } else if (wifi.service_path() == cros->wifi_network().service_path()) { |
| 279 // Show the config settings for the active network. | 280 // Show the config settings for the active network. |
| 280 ShowWifi(wifi, false); | 281 ShowWifi(wifi, false); |
| 281 } else { | 282 } else { |
| 282 ConnectToNetworkAt(index, std::string(), std::string(), -1); | 283 ConnectToNetworkAt(index, std::string(), std::string(), -1); |
| 283 } | 284 } |
| 284 } else if (flags & FLAG_CELLULAR) { | 285 } else if (flags & FLAG_CELLULAR) { |
| 285 CellularNetwork cellular; | 286 CellularNetwork cellular; |
| 286 bool cellular_exists = cros->FindCellularNetworkByPath( | 287 bool cellular_exists = cros->FindCellularNetworkByPath( |
| 287 menu_items_[index].wireless_path, &cellular); | 288 menu_items_[index].wireless_path, &cellular); |
| 288 if (!cellular_exists) { | 289 if (!cellular_exists) { |
| 289 // If we are attempting to connect to a network that no longer exists, | 290 // If we are attempting to connect to a network that no longer exists, |
| 290 // display a notification. | 291 // display a notification. |
| 291 // TODO(stevenjb): Show notification. | 292 // TODO(stevenjb): Show notification. |
| 292 } else if (cellular.name() == cros->cellular_name()) { | 293 } else if (cellular.service_path() == |
| 294 cros->cellular_network().service_path()) { |
| 293 // Show the config settings for the cellular network. | 295 // Show the config settings for the cellular network. |
| 294 ShowCellular(cellular, false); | 296 ShowCellular(cellular, false); |
| 295 } else { | 297 } else { |
| 296 ConnectToNetworkAt(index, std::string(), std::string(), -1); | 298 ConnectToNetworkAt(index, std::string(), std::string(), -1); |
| 297 } | 299 } |
| 298 } | 300 } |
| 299 } | 301 } |
| 300 | 302 |
| 301 void NetworkMenu::SetFirstLevelMenuWidth(int width) { | 303 void NetworkMenu::SetFirstLevelMenuWidth(int width) { |
| 302 min_width_ = width; | 304 min_width_ = width; |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 398 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 400 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
| 399 | 401 |
| 400 // Ethernet | 402 // Ethernet |
| 401 bool ethernet_connected = cros->ethernet_connected(); | 403 bool ethernet_connected = cros->ethernet_connected(); |
| 402 bool ethernet_connecting = cros->ethernet_connecting(); | 404 bool ethernet_connecting = cros->ethernet_connecting(); |
| 403 string16 label = l10n_util::GetStringUTF16( | 405 string16 label = l10n_util::GetStringUTF16( |
| 404 IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET); | 406 IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET); |
| 405 SkBitmap icon = *rb.GetBitmapNamed(IDR_STATUSBAR_WIRED_BLACK); | 407 SkBitmap icon = *rb.GetBitmapNamed(IDR_STATUSBAR_WIRED_BLACK); |
| 406 SkBitmap badge = ethernet_connecting || ethernet_connected ? | 408 SkBitmap badge = ethernet_connecting || ethernet_connected ? |
| 407 SkBitmap() : *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_DISCONNECTED); | 409 SkBitmap() : *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_DISCONNECTED); |
| 408 int flag = (ethernet_connecting || ethernet_connected) ? | 410 int flag = FLAG_ETHERNET; |
| 409 FLAG_ETHERNET | FLAG_ASSOCIATED : FLAG_ETHERNET; | 411 if (ethernet_connecting || ethernet_connected) |
| 412 flag |= FLAG_ASSOCIATED; |
| 410 menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, | 413 menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, |
| 411 IconForDisplay(icon, badge), std::string(), flag)); | 414 IconForDisplay(icon, badge), std::string(), flag)); |
| 412 | 415 |
| 413 // Wifi | 416 // Wifi |
| 414 const WifiNetworkVector& wifi_networks = cros->wifi_networks(); | 417 const WifiNetworkVector& wifi_networks = cros->wifi_networks(); |
| 415 const std::string& active_wifi_name = cros->wifi_name(); | 418 const WifiNetwork& active_wifi = cros->wifi_network(); |
| 416 // Wifi networks ssids. | 419 // Wifi networks ssids. |
| 417 for (size_t i = 0; i < wifi_networks.size(); ++i) { | 420 for (size_t i = 0; i < wifi_networks.size(); ++i) { |
| 418 label = ASCIIToUTF16(wifi_networks[i].name()); | 421 label = ASCIIToUTF16(wifi_networks[i].name()); |
| 419 SkBitmap icon = IconForNetworkStrength(wifi_networks[i].strength(), true); | 422 SkBitmap icon = IconForNetworkStrength(wifi_networks[i].strength(), true); |
| 420 SkBitmap badge = wifi_networks[i].encrypted() ? | 423 SkBitmap badge = wifi_networks[i].encrypted() ? |
| 421 *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_SECURE) : SkBitmap(); | 424 *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_SECURE) : SkBitmap(); |
| 422 flag = (wifi_networks[i].name() == active_wifi_name) ? | 425 flag = FLAG_WIFI; |
| 423 FLAG_WIFI | FLAG_ASSOCIATED : FLAG_WIFI; | 426 if (wifi_networks[i].service_path() == active_wifi.service_path()) |
| 427 flag |= FLAG_ASSOCIATED; |
| 424 menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, | 428 menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, |
| 425 IconForDisplay(icon, badge), wifi_networks[i].service_path(), flag)); | 429 IconForDisplay(icon, badge), wifi_networks[i].service_path(), flag)); |
| 426 } | 430 } |
| 427 | 431 |
| 428 // Cellular | 432 // Cellular |
| 429 const CellularNetworkVector& cell_networks = cros->cellular_networks(); | 433 const CellularNetworkVector& cell_networks = cros->cellular_networks(); |
| 430 const std::string& active_cellular_name = cros->cellular_name(); | 434 const CellularNetwork& active_cellular = cros->cellular_network(); |
| 431 // Cellular networks ssids. | 435 // Cellular networks ssids. |
| 432 for (size_t i = 0; i < cell_networks.size(); ++i) { | 436 for (size_t i = 0; i < cell_networks.size(); ++i) { |
| 433 label = ASCIIToUTF16(cell_networks[i].name()); | 437 label = ASCIIToUTF16(cell_networks[i].name()); |
| 434 SkBitmap icon = IconForNetworkStrength(cell_networks[i].strength(), true); | 438 SkBitmap icon = IconForNetworkStrength(cell_networks[i].strength(), true); |
| 435 // TODO(chocobo): Check cellular network 3g/edge. | 439 // TODO(chocobo): Check cellular network 3g/edge. |
| 436 SkBitmap badge = *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_3G); | 440 SkBitmap badge = *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_3G); |
| 437 // SkBitmap badge = *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_EDGE); | 441 // SkBitmap badge = *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_EDGE); |
| 438 flag = (cell_networks[i].name() == active_cellular_name) ? | 442 flag = FLAG_CELLULAR; |
| 439 FLAG_CELLULAR | FLAG_ASSOCIATED : FLAG_CELLULAR; | 443 if (cell_networks[i].service_path() == active_cellular.service_path()) |
| 444 flag |= FLAG_ASSOCIATED; |
| 440 menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, | 445 menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, |
| 441 IconForDisplay(icon, badge), cell_networks[i].service_path(), flag)); | 446 IconForDisplay(icon, badge), cell_networks[i].service_path(), flag)); |
| 442 } | 447 } |
| 443 | 448 |
| 444 // No networks available message. | 449 // No networks available message. |
| 445 if (wifi_networks.empty() && cell_networks.empty()) { | 450 if (wifi_networks.empty() && cell_networks.empty()) { |
| 446 label = l10n_util::GetStringFUTF16(IDS_STATUSBAR_NETWORK_MENU_ITEM_INDENT, | 451 label = l10n_util::GetStringFUTF16(IDS_STATUSBAR_NETWORK_MENU_ITEM_INDENT, |
| 447 l10n_util::GetStringUTF16(IDS_STATUSBAR_NO_NETWORKS_MESSAGE)); | 452 l10n_util::GetStringUTF16(IDS_STATUSBAR_NO_NETWORKS_MESSAGE)); |
| 448 menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, | 453 menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, |
| 449 SkBitmap(), std::string(), FLAG_DISABLED)); | 454 SkBitmap(), std::string(), FLAG_DISABLED)); |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 566 chromeos::TYPE_WIFI); | 571 chromeos::TYPE_WIFI); |
| 567 browser->ShowOptionsTab(page); | 572 browser->ShowOptionsTab(page); |
| 568 } | 573 } |
| 569 } else { | 574 } else { |
| 570 const bool kFocusLogin = true; | 575 const bool kFocusLogin = true; |
| 571 ShowNetworkConfigView(new NetworkConfigView(), kFocusLogin); | 576 ShowNetworkConfigView(new NetworkConfigView(), kFocusLogin); |
| 572 } | 577 } |
| 573 } | 578 } |
| 574 | 579 |
| 575 } // namespace chromeos | 580 } // namespace chromeos |
| OLD | NEW |