Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Side by Side Diff: chrome/browser/chromeos/status/network_menu.cc

Issue 4482003: Landing change for ers@chromium.org: http://codereview.chromium.org/4134012/s... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 <algorithm>
8
7 #include "app/l10n_util.h" 9 #include "app/l10n_util.h"
8 #include "app/resource_bundle.h" 10 #include "app/resource_bundle.h"
9 #include "base/command_line.h" 11 #include "base/command_line.h"
10 #include "base/stringprintf.h" 12 #include "base/stringprintf.h"
11 #include "base/utf_string_conversions.h" 13 #include "base/utf_string_conversions.h"
12 #include "chrome/browser/browser.h" 14 #include "chrome/browser/browser.h"
13 #include "chrome/browser/browser_list.h" 15 #include "chrome/browser/browser_list.h"
14 #include "chrome/browser/chromeos/cros/cros_library.h" 16 #include "chrome/browser/chromeos/cros/cros_library.h"
15 #include "chrome/browser/chromeos/dom_ui/network_menu_ui.h" 17 #include "chrome/browser/chromeos/dom_ui/network_menu_ui.h"
16 #include "chrome/common/chrome_switches.h" 18 #include "chrome/common/chrome_switches.h"
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 images = kBarsImagesLowData; 385 images = kBarsImagesLowData;
384 break; 386 break;
385 case CellularNetwork::DATA_NORMAL: 387 case CellularNetwork::DATA_NORMAL:
386 images = kBarsImages; 388 images = kBarsImages;
387 break; 389 break;
388 } 390 }
389 return *ResourceBundle::GetSharedInstance().GetBitmapNamed(images[index]); 391 return *ResourceBundle::GetSharedInstance().GetBitmapNamed(images[index]);
390 } 392 }
391 393
392 // static 394 // static
395 // TODO(ers) update for GSM when we have the necessary images
396 SkBitmap NetworkMenu::BadgeForNetworkTechnology(
397 const CellularNetwork* cellular) {
398
399 int id = -1;
400 if (cellular->network_technology() == NETWORK_TECHNOLOGY_EVDO) {
401 switch (cellular->data_left()) {
402 case CellularNetwork::DATA_NONE:
403 case CellularNetwork::DATA_VERY_LOW:
404 id = IDR_STATUSBAR_NETWORK_3G_ERROR;
405 break;
406 case CellularNetwork::DATA_LOW:
407 id = IDR_STATUSBAR_NETWORK_3G_WARN;
408 break;
409 case CellularNetwork::DATA_NORMAL:
410 id = IDR_STATUSBAR_NETWORK_3G;
411 break;
412 }
413 } else if (cellular->network_technology() == NETWORK_TECHNOLOGY_1XRTT) {
414 switch (cellular->data_left()) {
415 case CellularNetwork::DATA_NONE:
416 case CellularNetwork::DATA_VERY_LOW:
417 id = IDR_STATUSBAR_NETWORK_1X_ERROR;
418 break;
419 case CellularNetwork::DATA_LOW:
420 id = IDR_STATUSBAR_NETWORK_1X_WARN;
421 break;
422 case CellularNetwork::DATA_NORMAL:
423 id = IDR_STATUSBAR_NETWORK_1X;
424 break;
425 }
426 } else {
427 id = -1;
428 }
429 if (id == -1)
430 return SkBitmap();
431 else
432 return *ResourceBundle::GetSharedInstance().GetBitmapNamed(id);
433 }
434
435 // static
393 SkBitmap NetworkMenu::IconForDisplay(SkBitmap icon, SkBitmap badge) { 436 SkBitmap NetworkMenu::IconForDisplay(SkBitmap icon, SkBitmap badge) {
394 // Draw badge at (14,14). 437 // Draw badge at (14,14).
395 static const int kBadgeX = 14; 438 static const int kBadgeX = 14;
396 static const int kBadgeY = 14; 439 static const int kBadgeY = 14;
397 440
398 gfx::CanvasSkia canvas(icon.width(), icon.height(), false); 441 gfx::CanvasSkia canvas(icon.width(), icon.height(), false);
399 canvas.DrawBitmapInt(icon, 0, 0); 442 canvas.DrawBitmapInt(icon, 0, 0);
400 if (!badge.empty()) 443 if (!badge.empty())
401 canvas.DrawBitmapInt(badge, kBadgeX, kBadgeY); 444 canvas.DrawBitmapInt(badge, kBadgeX, kBadgeY);
402 return canvas.ExtractBitmap(); 445 return canvas.ExtractBitmap();
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
523 } else if (cell_networks[i]->connecting()) { 566 } else if (cell_networks[i]->connecting()) {
524 label = l10n_util::GetStringFUTF16( 567 label = l10n_util::GetStringFUTF16(
525 IDS_STATUSBAR_NETWORK_DEVICE_STATUS, 568 IDS_STATUSBAR_NETWORK_DEVICE_STATUS,
526 ASCIIToUTF16(cell_networks[i]->name()), 569 ASCIIToUTF16(cell_networks[i]->name()),
527 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING)); 570 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING));
528 } else { 571 } else {
529 label = ASCIIToUTF16(cell_networks[i]->name()); 572 label = ASCIIToUTF16(cell_networks[i]->name());
530 } 573 }
531 SkBitmap icon = IconForNetworkStrength(cell_networks[i]->strength(), 574 SkBitmap icon = IconForNetworkStrength(cell_networks[i]->strength(),
532 true); 575 true);
533 // TODO(chocobo): Check cellular network 3g/edge. 576 SkBitmap badge = BadgeForNetworkTechnology(cell_networks[i]);
534 SkBitmap badge = *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_3G);
535 // SkBitmap badge = *rb.GetBitmapNamed(IDR_STATUSBAR_NETWORK_EDGE);
536 int flag = FLAG_CELLULAR; 577 int flag = FLAG_CELLULAR;
537 if (active_cellular && 578 if (active_cellular &&
538 cell_networks[i]->service_path() == 579 cell_networks[i]->service_path() ==
539 active_cellular->service_path() && 580 active_cellular->service_path() &&
540 (cell_networks[i]->connecting() || cell_networks[i]->connected())) 581 (cell_networks[i]->connecting() || cell_networks[i]->connected()))
541 flag |= FLAG_ASSOCIATED; 582 flag |= FLAG_ASSOCIATED;
542 menu_items_.push_back( 583 menu_items_.push_back(
543 MenuItem(menus::MenuModel::TYPE_COMMAND, label, 584 MenuItem(menus::MenuModel::TYPE_COMMAND, label,
544 IconForDisplay(icon, badge), 585 IconForDisplay(icon, badge),
545 cell_networks[i]->service_path(), flag)); 586 cell_networks[i]->service_path(), flag));
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 bool focus_login) const { 676 bool focus_login) const {
636 view->set_browser_mode(IsBrowserMode()); 677 view->set_browser_mode(IsBrowserMode());
637 views::Window* window = browser::CreateViewsWindow( 678 views::Window* window = browser::CreateViewsWindow(
638 GetNativeWindow(), gfx::Rect(), view); 679 GetNativeWindow(), gfx::Rect(), view);
639 window->SetIsAlwaysOnTop(true); 680 window->SetIsAlwaysOnTop(true);
640 window->Show(); 681 window->Show();
641 if (focus_login) 682 if (focus_login)
642 view->SetLoginTextfieldFocus(); 683 view->SetLoginTextfieldFocus();
643 } 684 }
644 685
645 void NetworkMenu::ShowWifi(const WifiNetwork* wifi, bool focus_login) const{ 686 void NetworkMenu::ShowWifi(const WifiNetwork* wifi, bool focus_login) const {
646 DCHECK(wifi); 687 DCHECK(wifi);
647 if (use_settings_ui_ && 688 if (use_settings_ui_ &&
648 (MenuUI::IsEnabled() || wifi->connected() || wifi->connecting())) { 689 (MenuUI::IsEnabled() || wifi->connected() || wifi->connecting())) {
649 ShowTabbedNetworkSettings(wifi); 690 ShowTabbedNetworkSettings(wifi);
650 } else { 691 } else {
651 ShowNetworkConfigView(new NetworkConfigView(wifi, true), focus_login); 692 ShowNetworkConfigView(new NetworkConfigView(wifi, true), focus_login);
652 } 693 }
653 } 694 }
654 695
655 void NetworkMenu::ShowCellular(const CellularNetwork* cellular, 696 void NetworkMenu::ShowCellular(const CellularNetwork* cellular,
656 bool focus_login) const { 697 bool focus_login) const {
657 DCHECK(cellular); 698 DCHECK(cellular);
658 if (use_settings_ui_ && 699 if (use_settings_ui_ &&
659 (MenuUI::IsEnabled() || cellular->connected() || 700 (MenuUI::IsEnabled() || cellular->connected() ||
660 cellular->connecting())) { 701 cellular->connecting())) {
661 ShowTabbedNetworkSettings(cellular); 702 ShowTabbedNetworkSettings(cellular);
662 } else { 703 } else {
663 ShowNetworkConfigView(new NetworkConfigView(cellular), focus_login); 704 ShowNetworkConfigView(new NetworkConfigView(cellular), focus_login);
664 } 705 }
665 } 706 }
666 707
667 void NetworkMenu::ActivateCellular(const CellularNetwork* cellular) const { 708 void NetworkMenu::ActivateCellular(const CellularNetwork* cellular) const {
668 DCHECK(cellular); 709 DCHECK(cellular);
669 Browser* browser = BrowserList::GetLastActive(); 710 Browser* browser = BrowserList::GetLastActive();
670 // TODO?(stevenjb) : specify which service to activate. 711 // TODO(stevenjb) : specify which service to activate.
671 browser->ShowSingletonTab(GURL(chrome::kChromeUIMobileSetupURL)); 712 browser->ShowSingletonTab(GURL(chrome::kChromeUIMobileSetupURL));
672 } 713 }
673 714
674 void NetworkMenu::ShowEthernet(const EthernetNetwork* ethernet) const { 715 void NetworkMenu::ShowEthernet(const EthernetNetwork* ethernet) const {
675 DCHECK(ethernet); 716 DCHECK(ethernet);
676 if (use_settings_ui_ && 717 if (use_settings_ui_ &&
677 (MenuUI::IsEnabled() || ethernet->connected() || 718 (MenuUI::IsEnabled() || ethernet->connected() ||
678 ethernet->connecting())) { 719 ethernet->connecting())) {
679 ShowTabbedNetworkSettings(ethernet); 720 ShowTabbedNetworkSettings(ethernet);
680 } else { 721 } else {
(...skipping 10 matching lines...) Expand all
691 chromeos::TYPE_WIFI); 732 chromeos::TYPE_WIFI);
692 browser->ShowOptionsTab(page); 733 browser->ShowOptionsTab(page);
693 } 734 }
694 } else { 735 } else {
695 const bool kFocusLogin = true; 736 const bool kFocusLogin = true;
696 ShowNetworkConfigView(new NetworkConfigView(), kFocusLogin); 737 ShowNetworkConfigView(new NetworkConfigView(), kFocusLogin);
697 } 738 }
698 } 739 }
699 740
700 } // namespace chromeos 741 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/status/network_menu.h ('k') | chrome/browser/chromeos/status/network_menu_button.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698