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

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

Issue 2435903002: Move tray code from ui/chromeos/network/ (Closed)
Patch Set: Rebase Created 4 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
11 #include "ash/common/strings/grit/ash_strings.h"
12 #include "ash/common/system/chromeos/network/network_icon.h"
11 #include "base/bind.h" 13 #include "base/bind.h"
12 #include "base/logging.h" 14 #include "base/logging.h"
13 #include "base/macros.h" 15 #include "base/macros.h"
14 #include "base/strings/stringprintf.h" 16 #include "base/strings/stringprintf.h"
15 #include "base/strings/utf_string_conversions.h" 17 #include "base/strings/utf_string_conversions.h"
16 #include "chrome/browser/chromeos/mobile_config.h" 18 #include "chrome/browser/chromeos/mobile_config.h"
17 #include "chrome/browser/chromeos/options/network_config_view.h" 19 #include "chrome/browser/chromeos/options/network_config_view.h"
18 #include "chrome/browser/chromeos/sim_dialog_delegate.h" 20 #include "chrome/browser/chromeos/sim_dialog_delegate.h"
19 #include "chrome/browser/chromeos/ui/choose_mobile_network_dialog.h" 21 #include "chrome/browser/chromeos/ui/choose_mobile_network_dialog.h"
20 #include "chrome/browser/defaults.h" 22 #include "chrome/browser/defaults.h"
21 #include "chrome/browser/profiles/profile_manager.h" 23 #include "chrome/browser/profiles/profile_manager.h"
22 #include "chrome/common/url_constants.h" 24 #include "chrome/common/url_constants.h"
23 #include "chrome/grit/generated_resources.h" 25 #include "chrome/grit/generated_resources.h"
24 #include "chromeos/network/device_state.h" 26 #include "chromeos/network/device_state.h"
25 #include "chromeos/network/network_connect.h" 27 #include "chromeos/network/network_connect.h"
26 #include "chromeos/network/network_state.h" 28 #include "chromeos/network/network_state.h"
27 #include "chromeos/network/network_state_handler.h" 29 #include "chromeos/network/network_state_handler.h"
28 #include "third_party/cros_system_api/dbus/service_constants.h" 30 #include "third_party/cros_system_api/dbus/service_constants.h"
29 #include "ui/base/l10n/l10n_util.h" 31 #include "ui/base/l10n/l10n_util.h"
30 #include "ui/base/models/menu_model.h" 32 #include "ui/base/models/menu_model.h"
31 #include "ui/base/resource/resource_bundle.h" 33 #include "ui/base/resource/resource_bundle.h"
32 #include "ui/chromeos/network/network_icon.h"
33 #include "ui/chromeos/strings/grit/ui_chromeos_strings.h"
34 #include "ui/gfx/image/image_skia.h" 34 #include "ui/gfx/image/image_skia.h"
35 35
36 namespace chromeos { 36 namespace chromeos {
37 37
38 namespace { 38 namespace {
39 39
40 // Offsets for views menu ids (main menu and submenu ids use the same 40 // Offsets for views menu ids (main menu and submenu ids use the same
41 // namespace). 41 // namespace).
42 const int kMainIndexMask = 0x1000; 42 const int kMainIndexMask = 0x1000;
43 const int kMoreIndexMask = 0x4000; 43 const int kMoreIndexMask = 0x4000;
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 } else { 359 } else {
360 label = base::UTF8ToUTF16(wifi_name); 360 label = base::UTF8ToUTF16(wifi_name);
361 } 361 }
362 362
363 // We do not have convenient access to whether or not it might be possible 363 // We do not have convenient access to whether or not it might be possible
364 // to connect to a wireless network (e.g. whether certs are required), so all 364 // to connect to a wireless network (e.g. whether certs are required), so all
365 // entries are enabled. 365 // entries are enabled.
366 366
367 if (ShouldHighlightNetwork(network)) 367 if (ShouldHighlightNetwork(network))
368 flag |= FLAG_ASSOCIATED; 368 flag |= FLAG_ASSOCIATED;
369 const gfx::ImageSkia icon = ui::network_icon::GetImageForNetwork( 369 const gfx::ImageSkia icon = ash::network_icon::GetImageForNetwork(
370 network, ui::network_icon::ICON_TYPE_LIST); 370 network, ash::network_icon::ICON_TYPE_LIST);
371 menu_items_.push_back( 371 menu_items_.push_back(
372 MenuItem(ui::MenuModel::TYPE_COMMAND, 372 MenuItem(ui::MenuModel::TYPE_COMMAND,
373 label, icon, network->path(), flag)); 373 label, icon, network->path(), flag));
374 } 374 }
375 375
376 void MainMenuModel::AddMessageItem(const base::string16& msg) { 376 void MainMenuModel::AddMessageItem(const base::string16& msg) {
377 menu_items_.push_back(MenuItem( 377 menu_items_.push_back(MenuItem(
378 ui::MenuModel::TYPE_COMMAND, msg, 378 ui::MenuModel::TYPE_COMMAND, msg,
379 gfx::ImageSkia(), std::string(), FLAG_DISABLED)); 379 gfx::ImageSkia(), std::string(), FLAG_DISABLED));
380 } 380 }
(...skipping 18 matching lines...) Expand all
399 label = l10n_util::GetStringFUTF16( 399 label = l10n_util::GetStringFUTF16(
400 IDS_STATUSBAR_NETWORK_DEVICE_STATUS, 400 IDS_STATUSBAR_NETWORK_DEVICE_STATUS,
401 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET), 401 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET),
402 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING)); 402 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING));
403 } else { 403 } else {
404 label = l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET); 404 label = l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_ETHERNET);
405 } 405 }
406 int flag = FLAG_ETHERNET; 406 int flag = FLAG_ETHERNET;
407 if (ShouldHighlightNetwork(ethernet_network)) 407 if (ShouldHighlightNetwork(ethernet_network))
408 flag |= FLAG_ASSOCIATED; 408 flag |= FLAG_ASSOCIATED;
409 const gfx::ImageSkia icon = ui::network_icon::GetImageForNetwork( 409 const gfx::ImageSkia icon = ash::network_icon::GetImageForNetwork(
410 ethernet_network, ui::network_icon::ICON_TYPE_LIST); 410 ethernet_network, ash::network_icon::ICON_TYPE_LIST);
411 menu_items_.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND, 411 menu_items_.push_back(MenuItem(ui::MenuModel::TYPE_COMMAND,
412 label, icon, std::string(), flag)); 412 label, icon, std::string(), flag));
413 } 413 }
414 414
415 // Get the list of all networks. 415 // Get the list of all networks.
416 NetworkStateHandler::NetworkStateList network_list; 416 NetworkStateHandler::NetworkStateList network_list;
417 handler->GetVisibleNetworkList(&network_list); 417 handler->GetVisibleNetworkList(&network_list);
418 418
419 // Cellular Networks 419 // Cellular Networks
420 if (handler->IsTechnologyEnabled(NetworkTypePattern::Cellular())) { 420 if (handler->IsTechnologyEnabled(NetworkTypePattern::Cellular())) {
(...skipping 19 matching lines...) Expand all
440 base::UTF8ToUTF16(network_name), 440 base::UTF8ToUTF16(network_name),
441 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING)); 441 l10n_util::GetStringUTF16(IDS_STATUSBAR_NETWORK_DEVICE_CONNECTING));
442 } else { 442 } else {
443 label = base::UTF8ToUTF16(network_name); 443 label = base::UTF8ToUTF16(network_name);
444 } 444 }
445 445
446 int flag = FLAG_CELLULAR; 446 int flag = FLAG_CELLULAR;
447 bool isActive = ShouldHighlightNetwork(network); 447 bool isActive = ShouldHighlightNetwork(network);
448 if (isActive) 448 if (isActive)
449 flag |= FLAG_ASSOCIATED; 449 flag |= FLAG_ASSOCIATED;
450 const gfx::ImageSkia icon = ui::network_icon::GetImageForNetwork( 450 const gfx::ImageSkia icon = ash::network_icon::GetImageForNetwork(
451 network, ui::network_icon::ICON_TYPE_LIST); 451 network, ash::network_icon::ICON_TYPE_LIST);
452 menu_items_.push_back( 452 menu_items_.push_back(
453 MenuItem(ui::MenuModel::TYPE_COMMAND, 453 MenuItem(ui::MenuModel::TYPE_COMMAND,
454 label, icon, network->path(), flag)); 454 label, icon, network->path(), flag));
455 } 455 }
456 456
457 // For GSM add cellular network scan. 457 // For GSM add cellular network scan.
458 const DeviceState* cellular_device = 458 const DeviceState* cellular_device =
459 handler->GetDeviceStateByType(NetworkTypePattern::Cellular()); 459 handler->GetDeviceStateByType(NetworkTypePattern::Cellular());
460 if (cellular_device && cellular_device->support_network_scan()) { 460 if (cellular_device && cellular_device->support_network_scan()) {
461 const gfx::ImageSkia icon = 461 const gfx::ImageSkia icon =
462 ui::network_icon::GetImageForDisconnectedCellNetwork(); 462 ash::network_icon::GetImageForDisconnectedCellNetwork();
463 menu_items_.push_back(MenuItem( 463 menu_items_.push_back(MenuItem(
464 ui::MenuModel::TYPE_COMMAND, 464 ui::MenuModel::TYPE_COMMAND,
465 l10n_util::GetStringUTF16( 465 l10n_util::GetStringUTF16(
466 IDS_OPTIONS_SETTINGS_OTHER_CELLULAR_NETWORKS), 466 IDS_OPTIONS_SETTINGS_OTHER_CELLULAR_NETWORKS),
467 icon, std::string(), FLAG_ADD_CELLULAR)); 467 icon, std::string(), FLAG_ADD_CELLULAR));
468 } 468 }
469 } else { 469 } else {
470 int initializing_message_id = 470 int initializing_message_id =
471 ui::network_icon::GetCellularUninitializedMsg(); 471 ash::network_icon::GetCellularUninitializedMsg();
472 if (initializing_message_id) { 472 if (initializing_message_id) {
473 // Initializing cellular modem... 473 // Initializing cellular modem...
474 AddMessageItem(l10n_util::GetStringUTF16(initializing_message_id)); 474 AddMessageItem(l10n_util::GetStringUTF16(initializing_message_id));
475 } 475 }
476 } 476 }
477 477
478 // Wimax Networks 478 // Wimax Networks
479 if (handler->IsTechnologyEnabled(NetworkTypePattern::Wimax())) { 479 if (handler->IsTechnologyEnabled(NetworkTypePattern::Wimax())) {
480 // List Wimax networks. 480 // List Wimax networks.
481 for (NetworkStateHandler::NetworkStateList::const_iterator iter = 481 for (NetworkStateHandler::NetworkStateList::const_iterator iter =
(...skipping 19 matching lines...) Expand all
501 // Add 'Searching for Wi-Fi networks...' after connected networks. 501 // Add 'Searching for Wi-Fi networks...' after connected networks.
502 if (scanning_msg && !network->IsConnectedState()) { 502 if (scanning_msg && !network->IsConnectedState()) {
503 AddMessageItem(l10n_util::GetStringUTF16(scanning_msg)); 503 AddMessageItem(l10n_util::GetStringUTF16(scanning_msg));
504 scanning_msg = 0; 504 scanning_msg = 0;
505 } 505 }
506 AddWirelessNetworkMenuItem(network, FLAG_WIFI); 506 AddWirelessNetworkMenuItem(network, FLAG_WIFI);
507 } 507 }
508 if (scanning_msg) 508 if (scanning_msg)
509 AddMessageItem(l10n_util::GetStringUTF16(scanning_msg)); 509 AddMessageItem(l10n_util::GetStringUTF16(scanning_msg));
510 const gfx::ImageSkia icon = 510 const gfx::ImageSkia icon =
511 ui::network_icon::GetImageForConnectedMobileNetwork(); 511 ash::network_icon::GetImageForConnectedMobileNetwork();
512 menu_items_.push_back(MenuItem( 512 menu_items_.push_back(MenuItem(
513 ui::MenuModel::TYPE_COMMAND, 513 ui::MenuModel::TYPE_COMMAND,
514 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_OTHER_WIFI_NETWORKS), 514 l10n_util::GetStringUTF16(IDS_OPTIONS_SETTINGS_OTHER_WIFI_NETWORKS),
515 icon, std::string(), FLAG_ADD_WIFI)); 515 icon, std::string(), FLAG_ADD_WIFI));
516 } 516 }
517 517
518 if (menu_items_.empty()) { 518 if (menu_items_.empty()) {
519 // No networks available (and not initializing cellular or wifi scanning) 519 // No networks available (and not initializing cellular or wifi scanning)
520 AddMessageItem(l10n_util::GetStringFUTF16( 520 AddMessageItem(l10n_util::GetStringFUTF16(
521 IDS_STATUSBAR_NETWORK_MENU_ITEM_INDENT, 521 IDS_STATUSBAR_NETWORK_MENU_ITEM_INDENT,
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 return main_menu_model_.get(); 673 return main_menu_model_.get();
674 } 674 }
675 675
676 void NetworkMenu::UpdateMenu() { 676 void NetworkMenu::UpdateMenu() {
677 refreshing_menu_ = true; 677 refreshing_menu_ = true;
678 main_menu_model_->InitMenuItems(delegate_->ShouldOpenButtonOptions()); 678 main_menu_model_->InitMenuItems(delegate_->ShouldOpenButtonOptions());
679 refreshing_menu_ = false; 679 refreshing_menu_ = false;
680 } 680 }
681 681
682 } // namespace chromeos 682 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/status/data_promo_notification.cc ('k') | chrome/browser/ui/webui/chromeos/login/network_dropdown.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698