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 |