| 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 25 matching lines...) Expand all Loading... |
| 36 static const char* kNetworkStatusDisconnected = "disconnected"; | 36 static const char* kNetworkStatusDisconnected = "disconnected"; |
| 37 static const char* kNetworkStatusError = "error"; | 37 static const char* kNetworkStatusError = "error"; |
| 38 } | 38 } |
| 39 | 39 |
| 40 namespace chromeos { | 40 namespace chromeos { |
| 41 | 41 |
| 42 //////////////////////////////////////////////////////////////////////////////// | 42 //////////////////////////////////////////////////////////////////////////////// |
| 43 // NetworkMenu | 43 // NetworkMenu |
| 44 | 44 |
| 45 // static | 45 // static |
| 46 const int NetworkMenu::kNumWifiImages = 9; | 46 const int NetworkMenu::kNumWifiImages = 4; |
| 47 | 47 |
| 48 // NOTE: Use an array rather than just calculating a resource number to avoid | 48 // NOTE: Use an array rather than just calculating a resource number to avoid |
| 49 // creating implicit ordering dependencies on the resource values. | 49 // creating implicit ordering dependencies on the resource values. |
| 50 // static | 50 // static |
| 51 const int NetworkMenu::kBarsImages[kNumWifiImages] = { | 51 const int NetworkMenu::kBarsImages[kNumWifiImages] = { |
| 52 IDR_STATUSBAR_NETWORK_BARS1, | 52 IDR_STATUSBAR_NETWORK_BARS1, |
| 53 IDR_STATUSBAR_NETWORK_BARS2, | 53 IDR_STATUSBAR_NETWORK_BARS2, |
| 54 IDR_STATUSBAR_NETWORK_BARS3, | 54 IDR_STATUSBAR_NETWORK_BARS3, |
| 55 IDR_STATUSBAR_NETWORK_BARS4, | 55 IDR_STATUSBAR_NETWORK_BARS4, |
| 56 IDR_STATUSBAR_NETWORK_BARS5, | |
| 57 IDR_STATUSBAR_NETWORK_BARS6, | |
| 58 IDR_STATUSBAR_NETWORK_BARS7, | |
| 59 IDR_STATUSBAR_NETWORK_BARS8, | |
| 60 IDR_STATUSBAR_NETWORK_BARS9, | |
| 61 }; | 56 }; |
| 62 // static | 57 // static |
| 63 const int NetworkMenu::kBarsImagesBlack[kNumWifiImages] = { | 58 const int NetworkMenu::kBarsImagesBlack[kNumWifiImages] = { |
| 64 IDR_STATUSBAR_NETWORK_BARS1_BLACK, | 59 IDR_STATUSBAR_NETWORK_BARS1_BLACK, |
| 65 IDR_STATUSBAR_NETWORK_BARS2_BLACK, | 60 IDR_STATUSBAR_NETWORK_BARS2_BLACK, |
| 66 IDR_STATUSBAR_NETWORK_BARS3_BLACK, | 61 IDR_STATUSBAR_NETWORK_BARS3_BLACK, |
| 67 IDR_STATUSBAR_NETWORK_BARS4_BLACK, | 62 IDR_STATUSBAR_NETWORK_BARS4_BLACK, |
| 68 IDR_STATUSBAR_NETWORK_BARS5_BLACK, | |
| 69 IDR_STATUSBAR_NETWORK_BARS6_BLACK, | |
| 70 IDR_STATUSBAR_NETWORK_BARS7_BLACK, | |
| 71 IDR_STATUSBAR_NETWORK_BARS8_BLACK, | |
| 72 IDR_STATUSBAR_NETWORK_BARS9_BLACK, | |
| 73 }; | 63 }; |
| 74 // static | 64 // static |
| 75 const int NetworkMenu::kBarsImagesLowData[kNumWifiImages] = { | 65 const int NetworkMenu::kBarsImagesLowData[kNumWifiImages] = { |
| 76 IDR_STATUSBAR_NETWORK_BARS1_LOWDATA, | 66 IDR_STATUSBAR_NETWORK_BARS1_ORANGE, |
| 77 IDR_STATUSBAR_NETWORK_BARS2_LOWDATA, | 67 IDR_STATUSBAR_NETWORK_BARS2_ORANGE, |
| 78 IDR_STATUSBAR_NETWORK_BARS3_LOWDATA, | 68 IDR_STATUSBAR_NETWORK_BARS3_ORANGE, |
| 79 IDR_STATUSBAR_NETWORK_BARS4_LOWDATA, | 69 IDR_STATUSBAR_NETWORK_BARS4_ORANGE, |
| 80 IDR_STATUSBAR_NETWORK_BARS5_LOWDATA, | |
| 81 IDR_STATUSBAR_NETWORK_BARS6_LOWDATA, | |
| 82 IDR_STATUSBAR_NETWORK_BARS7_LOWDATA, | |
| 83 IDR_STATUSBAR_NETWORK_BARS8_LOWDATA, | |
| 84 IDR_STATUSBAR_NETWORK_BARS9_LOWDATA, | |
| 85 }; | 70 }; |
| 86 // static | 71 // static |
| 87 const int NetworkMenu::kBarsImagesVLowData[kNumWifiImages] = { | 72 const int NetworkMenu::kBarsImagesVLowData[kNumWifiImages] = { |
| 88 IDR_STATUSBAR_NETWORK_BARS1_VLOWDATA, | 73 IDR_STATUSBAR_NETWORK_BARS1_RED, |
| 89 IDR_STATUSBAR_NETWORK_BARS2_VLOWDATA, | 74 IDR_STATUSBAR_NETWORK_BARS2_RED, |
| 90 IDR_STATUSBAR_NETWORK_BARS3_VLOWDATA, | 75 IDR_STATUSBAR_NETWORK_BARS3_RED, |
| 91 IDR_STATUSBAR_NETWORK_BARS4_VLOWDATA, | 76 IDR_STATUSBAR_NETWORK_BARS4_RED, |
| 92 IDR_STATUSBAR_NETWORK_BARS5_VLOWDATA, | |
| 93 IDR_STATUSBAR_NETWORK_BARS6_VLOWDATA, | |
| 94 IDR_STATUSBAR_NETWORK_BARS7_VLOWDATA, | |
| 95 IDR_STATUSBAR_NETWORK_BARS8_VLOWDATA, | |
| 96 IDR_STATUSBAR_NETWORK_BARS9_VLOWDATA, | |
| 97 }; | 77 }; |
| 98 | 78 |
| 99 NetworkMenu::NetworkMenu() | 79 NetworkMenu::NetworkMenu() |
| 100 : min_width_(-1) { | 80 : min_width_(-1) { |
| 101 network_menu_.reset(NetworkMenuUI::CreateMenu2(this)); | 81 network_menu_.reset(NetworkMenuUI::CreateMenu2(this)); |
| 102 } | 82 } |
| 103 | 83 |
| 104 NetworkMenu::~NetworkMenu() { | 84 NetworkMenu::~NetworkMenu() { |
| 105 } | 85 } |
| 106 | 86 |
| (...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 394 break; | 374 break; |
| 395 case CellularNetwork::DATA_NORMAL: | 375 case CellularNetwork::DATA_NORMAL: |
| 396 images = kBarsImages; | 376 images = kBarsImages; |
| 397 break; | 377 break; |
| 398 } | 378 } |
| 399 return *ResourceBundle::GetSharedInstance().GetBitmapNamed(images[index]); | 379 return *ResourceBundle::GetSharedInstance().GetBitmapNamed(images[index]); |
| 400 } | 380 } |
| 401 | 381 |
| 402 // static | 382 // static |
| 403 SkBitmap NetworkMenu::IconForDisplay(SkBitmap icon, SkBitmap badge) { | 383 SkBitmap NetworkMenu::IconForDisplay(SkBitmap icon, SkBitmap badge) { |
| 404 // Icons are 24x24. | |
| 405 static const int kIconWidth = 24; | |
| 406 static const int kIconHeight = 24; | |
| 407 // Draw the network icon 3 pixels down to center it. | |
| 408 static const int kIconX = 0; | |
| 409 static const int kIconY = 3; | |
| 410 // Draw badge at (14,14). | 384 // Draw badge at (14,14). |
| 411 static const int kBadgeX = 14; | 385 static const int kBadgeX = 14; |
| 412 static const int kBadgeY = 14; | 386 static const int kBadgeY = 14; |
| 413 | 387 |
| 414 gfx::CanvasSkia canvas(kIconWidth, kIconHeight, false); | 388 gfx::CanvasSkia canvas(icon.width(), icon.height(), false); |
| 415 canvas.DrawBitmapInt(icon, kIconX, kIconY); | 389 canvas.DrawBitmapInt(icon, 0, 0); |
| 416 if (!badge.empty()) | 390 if (!badge.empty()) |
| 417 canvas.DrawBitmapInt(badge, kBadgeX, kBadgeY); | 391 canvas.DrawBitmapInt(badge, kBadgeX, kBadgeY); |
| 418 return canvas.ExtractBitmap(); | 392 return canvas.ExtractBitmap(); |
| 419 } | 393 } |
| 420 | 394 |
| 421 //////////////////////////////////////////////////////////////////////////////// | 395 //////////////////////////////////////////////////////////////////////////////// |
| 422 // NetworkMenu, views::ViewMenuDelegate implementation: | 396 // NetworkMenu, views::ViewMenuDelegate implementation: |
| 423 | 397 |
| 424 void NetworkMenu::RunMenu(views::View* source, const gfx::Point& pt) { | 398 void NetworkMenu::RunMenu(views::View* source, const gfx::Point& pt) { |
| 425 refreshing_menu_ = true; | 399 refreshing_menu_ = true; |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 497 if (wifi_networks.empty() && cell_networks.empty()) { | 471 if (wifi_networks.empty() && cell_networks.empty()) { |
| 498 label = l10n_util::GetStringFUTF16(IDS_STATUSBAR_NETWORK_MENU_ITEM_INDENT, | 472 label = l10n_util::GetStringFUTF16(IDS_STATUSBAR_NETWORK_MENU_ITEM_INDENT, |
| 499 l10n_util::GetStringUTF16(IDS_STATUSBAR_NO_NETWORKS_MESSAGE)); | 473 l10n_util::GetStringUTF16(IDS_STATUSBAR_NO_NETWORKS_MESSAGE)); |
| 500 menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, | 474 menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, label, |
| 501 SkBitmap(), std::string(), FLAG_DISABLED)); | 475 SkBitmap(), std::string(), FLAG_DISABLED)); |
| 502 } | 476 } |
| 503 | 477 |
| 504 // Other networks | 478 // Other networks |
| 505 menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, | 479 menu_items_.push_back(MenuItem(menus::MenuModel::TYPE_COMMAND, |
| 506 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_OTHER_NETWORKS), | 480 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_OTHER_NETWORKS), |
| 507 IconForDisplay(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_BARS0), | 481 IconForDisplay(*rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_BARS0_BLACK), |
| 508 SkBitmap()), | 482 SkBitmap()), |
| 509 std::string(), FLAG_OTHER_NETWORK)); | 483 std::string(), FLAG_OTHER_NETWORK)); |
| 510 | 484 |
| 511 bool wifi_available = cros->wifi_available(); | 485 bool wifi_available = cros->wifi_available(); |
| 512 bool cellular_available = cros->cellular_available(); | 486 bool cellular_available = cros->cellular_available(); |
| 513 if (wifi_available || cellular_available) { | 487 if (wifi_available || cellular_available) { |
| 514 // Separator. | 488 // Separator. |
| 515 menu_items_.push_back(MenuItem()); | 489 menu_items_.push_back(MenuItem()); |
| 516 | 490 |
| 517 // Turn Wifi Off. (only if wifi available) | 491 // Turn Wifi Off. (only if wifi available) |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 618 chromeos::TYPE_WIFI); | 592 chromeos::TYPE_WIFI); |
| 619 browser->ShowOptionsTab(page); | 593 browser->ShowOptionsTab(page); |
| 620 } | 594 } |
| 621 } else { | 595 } else { |
| 622 const bool kFocusLogin = true; | 596 const bool kFocusLogin = true; |
| 623 ShowNetworkConfigView(new NetworkConfigView(), kFocusLogin); | 597 ShowNetworkConfigView(new NetworkConfigView(), kFocusLogin); |
| 624 } | 598 } |
| 625 } | 599 } |
| 626 | 600 |
| 627 } // namespace chromeos | 601 } // namespace chromeos |
| OLD | NEW |