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

Unified Diff: chrome/browser/chromeos/options/network_config_view.cc

Issue 8726008: Disable network "Connect" dialog UI in case of policy-managed networks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Split out UI data handling into separate CL. Created 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/options/network_config_view.cc
diff --git a/chrome/browser/chromeos/options/network_config_view.cc b/chrome/browser/chromeos/options/network_config_view.cc
index 595253450540c73b2ef9d9cc911d070131ecb9f3..a413966d9df2f16fdc522628e3e066fc7b8b7e90 100644
--- a/chrome/browser/chromeos/options/network_config_view.cc
+++ b/chrome/browser/chromeos/options/network_config_view.cc
@@ -13,13 +13,17 @@
#include "grit/chromium_strings.h"
#include "grit/generated_resources.h"
#include "grit/locale_settings.h"
+#include "grit/theme_resources.h"
#include "ui/base/accessibility/accessible_view_state.h"
#include "ui/base/l10n/l10n_util.h"
+#include "ui/base/resource/resource_bundle.h"
+#include "ui/gfx/image/image.h"
#include "ui/gfx/rect.h"
#include "ui/views/controls/button/text_button.h"
#include "ui/views/layout/grid_layout.h"
#include "ui/views/layout/layout_constants.h"
#include "ui/views/widget/widget.h"
+#include "views/controls/image_view.h"
namespace chromeos {
@@ -187,4 +191,69 @@ void NetworkConfigView::CreateAdvancedButton() {
layout->AddView(advanced_button_);
}
+ControlledSettingIndicatorView::ControlledSettingIndicatorView()
+ : controller_(NetworkPropertyUIData::CONTROLLER_USER),
+ image_view_(NULL) {
+ Init();
+}
+
+ControlledSettingIndicatorView::ControlledSettingIndicatorView(
+ const NetworkPropertyUIData& ui_data)
+ : controller_(NetworkPropertyUIData::CONTROLLER_USER),
+ image_view_(NULL) {
+ Init();
+ Update(ui_data);
+}
+
+ControlledSettingIndicatorView::~ControlledSettingIndicatorView() {}
+
+void ControlledSettingIndicatorView::Update(
+ const NetworkPropertyUIData& ui_data) {
+ if (controller_ == ui_data.controller())
+ return;
stevenjb 2011/11/29 17:58:28 See my comments in 8728030, but I think we should
Mattias Nissler (ping if slow) 2011/11/29 21:29:39 Done.
+
+ controller_ = ui_data.controller();
+ PreferredSizeChanged();
+}
+
+gfx::Size ControlledSettingIndicatorView::GetPreferredSize() {
+ if (!IsVisible())
+ return gfx::Size();
+
+ return image_view_->GetPreferredSize();
+}
+
+bool ControlledSettingIndicatorView::IsVisible() const {
+ return controller_ == NetworkPropertyUIData::CONTROLLER_POLICY &&
+ views::View::IsVisible();
+}
+
+void ControlledSettingIndicatorView::Layout() {
+ image_view_->SetBounds(0, 0, width(), height());
+}
+
+void ControlledSettingIndicatorView::OnMouseEntered(
+ const views::MouseEvent& event) {
+ image_view_->SetImage(color_image_);
+}
+
+void ControlledSettingIndicatorView::OnMouseExited(
+ const views::MouseEvent& event) {
+ image_view_->SetImage(gray_image_);
+}
+
+void ControlledSettingIndicatorView::Init() {
+ color_image_ = ResourceBundle::GetSharedInstance().GetImageNamed(
+ IDR_CONTROLLED_SETTING_MANDATORY).ToSkBitmap();
+ gray_image_ = ResourceBundle::GetSharedInstance().GetImageNamed(
+ IDR_CONTROLLED_SETTING_MANDATORY_GRAY).ToSkBitmap();
+ image_view_ = new views::ImageView();
+ // Disable |image_view_|, so mouse events bubble up.
stevenjb 2011/11/29 17:58:28 nit: "bubble up" may not be well understood :) Per
Mattias Nissler (ping if slow) 2011/11/29 21:29:39 Done.
+ image_view_->SetEnabled(false);
+ image_view_->SetImage(gray_image_);
+ image_view_->SetTooltipText(
+ l10n_util::GetStringUTF16(IDS_OPTIONS_CONTROLLED_SETTING_POLICY));
+ AddChildView(image_view_);
+}
+
} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698