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

Unified Diff: ui/views/bubble/tray_bubble_view.cc

Issue 11377133: Customize user details in ash system bubble for public account mode (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Re-uploading to try and unstuck the CQ. Created 8 years 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
« no previous file with comments | « ui/views/bubble/tray_bubble_view.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/bubble/tray_bubble_view.cc
diff --git a/ui/views/bubble/tray_bubble_view.cc b/ui/views/bubble/tray_bubble_view.cc
index 7ff4112f38a5935db57f813b4ca2813055d72ec6..9a7b0412adfc2183b8aedc2c898b374030fa7a2e 100644
--- a/ui/views/bubble/tray_bubble_view.cc
+++ b/ui/views/bubble/tray_bubble_view.cc
@@ -4,6 +4,8 @@
#include "ui/views/bubble/tray_bubble_view.h"
+#include <algorithm>
+
#include "third_party/skia/include/core/SkCanvas.h"
#include "third_party/skia/include/core/SkColor.h"
#include "third_party/skia/include/core/SkPaint.h"
@@ -219,10 +221,12 @@ const int TrayBubbleView::InitParams::kArrowDefaultOffset = -1;
TrayBubbleView::InitParams::InitParams(AnchorType anchor_type,
AnchorAlignment anchor_alignment,
- int bubble_width)
+ int min_width,
+ int max_width)
: anchor_type(anchor_type),
anchor_alignment(anchor_alignment),
- bubble_width(bubble_width),
+ min_width(min_width),
+ max_width(max_width),
max_height(0),
can_activate(false),
close_on_deactivate(true),
@@ -262,6 +266,7 @@ TrayBubbleView::TrayBubbleView(gfx::NativeView parent_window,
: views::BubbleDelegateView(anchor, init_params.arrow_location),
params_(init_params),
delegate_(delegate),
+ preferred_width_(init_params.min_width),
bubble_border_(NULL),
is_gesture_dragging_(false) {
set_parent_window(parent_window);
@@ -306,6 +311,15 @@ void TrayBubbleView::SetMaxHeight(int height) {
SizeToContents();
}
+void TrayBubbleView::SetWidth(int width) {
+ width = std::max(std::min(width, params_.max_width), params_.min_width);
+ if (preferred_width_ == width)
+ return;
+ preferred_width_ = width;
+ if (GetWidget())
+ SizeToContents();
+}
+
void TrayBubbleView::SetPaintArrow(bool paint_arrow) {
bubble_border_->set_paint_arrow(paint_arrow);
}
@@ -354,7 +368,13 @@ gfx::Size TrayBubbleView::GetPreferredSize() {
int height = size.height();
if (params_.max_height != 0 && height > params_.max_height)
height = params_.max_height;
- return gfx::Size(params_.bubble_width, height);
+ return gfx::Size(preferred_width_, height);
+}
+
+gfx::Size TrayBubbleView::GetMaximumSize() {
+ gfx::Size size = GetPreferredSize();
+ size.set_width(params_.max_width);
+ return size;
}
void TrayBubbleView::OnMouseEntered(const ui::MouseEvent& event) {
« no previous file with comments | « ui/views/bubble/tray_bubble_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698