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

Unified Diff: ash/system/tray/tray_details_view.cc

Issue 2957043002: Add a row in the network tray to inform users to turn Bluetooth on to enable Tether. (Closed)
Patch Set: added actions and slightly refactored the infolabel class Created 3 years, 6 months 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 side-by-side diff with in-line comments
Download patch
Index: ash/system/tray/tray_details_view.cc
diff --git a/ash/system/tray/tray_details_view.cc b/ash/system/tray/tray_details_view.cc
index f4507f0779185c5f8924c021d5a87d7975fa7729..60a9c24ee3dd19c20e35c79478911ecc9ac6637f 100644
--- a/ash/system/tray/tray_details_view.cc
+++ b/ash/system/tray/tray_details_view.cc
@@ -5,10 +5,12 @@
#include "ash/system/tray/tray_details_view.h"
#include "ash/ash_view_ids.h"
+#include "ash/shell.h"
#include "ash/strings/grit/ash_strings.h"
#include "ash/system/tray/hover_highlight_view.h"
#include "ash/system/tray/system_menu_button.h"
#include "ash/system/tray/system_tray.h"
+#include "ash/system/tray/system_tray_controller.h"
#include "ash/system/tray/system_tray_item.h"
#include "ash/system/tray/tray_constants.h"
#include "ash/system/tray/tray_popup_item_style.h"
@@ -241,12 +243,10 @@ const int kTitleRowPaddingBottom =
// TrayDetailsView::InfoLabel:
TrayDetailsView::InfoLabel::InfoLabel(int message_id)
- : label_(TrayPopupUtils::CreateDefaultLabel()) {
+ : ActionableView(nullptr, TrayPopupInkDropStyle::FILL_BOUNDS),
Kyle Horimoto 2017/06/27 19:36:57 /* owner */
+ label_(TrayPopupUtils::CreateDefaultLabel()) {
SetLayoutManager(new views::FillLayout);
- TrayPopupItemStyle style(TrayPopupItemStyle::FontStyle::SYSTEM_INFO);
- style.SetupLabel(label_);
-
TriView* tri_view = TrayPopupUtils::CreateMultiTargetRowView();
tri_view->SetInsets(gfx::Insets(0,
kMenuExtraMarginFromLeftEdge +
@@ -258,15 +258,55 @@ TrayDetailsView::InfoLabel::InfoLabel(int message_id)
tri_view->AddView(TriView::Container::CENTER, label_);
AddChildView(tri_view);
+ Update(message_id);
+}
+
+void TrayDetailsView::InfoLabel::Update(int message_id) {
+ SetAction(message_id);
+ SetStyle();
SetMessage(message_id);
}
-TrayDetailsView::InfoLabel::~InfoLabel() {}
+void TrayDetailsView::InfoLabel::SetAction(int message_id) {
+ if (message_id == IDS_ASH_STATUS_TRAY_ENABLE_BLUETOOTH)
tdanderson 2017/06/27 19:33:21 TrayDetailsView::InfoLabel is a class used (or can
+ action_ = Action::OPEN_BLUETOOTH_SETTINGS;
+ else
+ action_ = Action::NONE;
+
+ if (action_ == Action::NONE)
Kyle Horimoto 2017/06/27 19:36:57 Just put these SetInkDropMode() calls in the if/el
+ SetInkDropMode(InkDropHostView::InkDropMode::OFF);
+ else
+ SetInkDropMode(InkDropHostView::InkDropMode::ON);
+}
+
+void TrayDetailsView::InfoLabel::SetStyle() {
+ TrayPopupItemStyle::FontStyle font_style;
+
+ if (action_ == Action::NONE)
Kyle Horimoto 2017/06/27 19:36:56 You can also just merge this into the above functi
+ font_style = TrayPopupItemStyle::FontStyle::SYSTEM_INFO;
+ else
+ font_style = TrayPopupItemStyle::FontStyle::CLICKABLE_SYSTEM_INFO;
+
+ TrayPopupItemStyle style(font_style);
+ style.SetupLabel(label_);
+}
void TrayDetailsView::InfoLabel::SetMessage(int message_id) {
label_->SetText(l10n_util::GetStringUTF16(message_id));
}
+bool TrayDetailsView::InfoLabel::PerformAction(const ui::Event& event) {
+ switch (action_) {
+ case Action::OPEN_BLUETOOTH_SETTINGS:
tdanderson 2017/06/27 19:33:21 Side note: please check with your PM as to whether
Kyle Horimoto 2017/06/27 19:36:57 You can just use an if() instead of a switch() sin
Kyle Horimoto 2017/06/27 20:37:10 Good point. Leslie, please talk to hansberry@ rega
lesliewatkins 2017/07/07 16:19:19 Sent him a message, will follow up when I get a re
+ Shell::Get()->system_tray_controller()->ShowBluetoothSettings();
+ break;
+ case Action::NONE:
+ default:
+ break;
+ }
+ return true;
+}
+
////////////////////////////////////////////////////////////////////////////////
// TrayDetailsView:

Powered by Google App Engine
This is Rietveld 408576698