summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views
diff options
context:
space:
mode:
authorrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-20 19:35:47 +0000
committerrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-20 19:35:47 +0000
commited18e74399a1ed95563818d53fcc9ce803d86396 (patch)
treefb2615fdde381aa9e56c6c80c925df70887bc042 /chrome/browser/views
parentd45815ff63c9ef016bc52123985c7f64e5ea745e (diff)
downloadchromium_src-ed18e74399a1ed95563818d53fcc9ce803d86396.zip
chromium_src-ed18e74399a1ed95563818d53fcc9ce803d86396.tar.gz
chromium_src-ed18e74399a1ed95563818d53fcc9ce803d86396.tar.bz2
ExtensionInstalledBubble border/sizing polish
BUG=27921 TEST=None Review URL: http://codereview.chromium.org/413005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32644 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views')
-rw-r--r--chrome/browser/views/extensions/extension_installed_bubble.cc48
1 files changed, 28 insertions, 20 deletions
diff --git a/chrome/browser/views/extensions/extension_installed_bubble.cc b/chrome/browser/views/extensions/extension_installed_bubble.cc
index 5562a31..3c198b3 100644
--- a/chrome/browser/views/extensions/extension_installed_bubble.cc
+++ b/chrome/browser/views/extensions/extension_installed_bubble.cc
@@ -30,14 +30,21 @@ const int kRightColumnWidth = 285;
// The InfoBubble uses a BubbleBorder which adds about 6 pixels of whitespace
// around the content view. We compensate by reducing our outer borders by this
-// amount.
-const int kBubbleBorderInsert = 6;
-const int kHorizOuterMargin = kPanelHorizMargin - kBubbleBorderInsert;
-const int kVertOuterMargin = kPanelVertMargin - kBubbleBorderInsert;
+// amount + 4px.
+const int kOuterMarginInset = 10;
+const int kHorizOuterMargin = kPanelHorizMargin - kOuterMarginInset;
+const int kVertOuterMargin = kPanelVertMargin - kOuterMarginInset;
+
+// Interior vertical margin is 8px smaller than standard
+const int kVertInnerMargin = kPanelVertMargin - 8;
// The image we use for the close button has three pixels of whitespace padding.
const int kCloseButtonPadding = 3;
+// We want to shift the right column (which contains the header and text) up
+// 4px to align with icon.
+const int kRightcolumnVerticalShift = -4;
+
// InstalledBubbleContent is the content view which is placed in the
// ExtensionInstalledBubble. It displays the install icon and explanatory
// text about the installed extension.
@@ -103,23 +110,23 @@ class InstalledBubbleContent : public views::View,
private:
virtual gfx::Size GetPreferredSize() {
- int width = kRightColumnWidth + kHorizOuterMargin + kHorizOuterMargin;
+ int width = kHorizOuterMargin;
width += kIconSize;
width += kPanelHorizMargin;
- width += close_button_->GetPreferredSize().width();
- width -= 2 * kCloseButtonPadding;
- width += kPanelHorizMargin;
+ width += kRightColumnWidth;
+ width += 2*kPanelHorizMargin;
+ width += kHorizOuterMargin;
- int height = kVertOuterMargin * 2;
+ int height = kVertOuterMargin;
height += heading_->GetHeightForWidth(kRightColumnWidth);
- height += kPanelVertMargin;
+ height += kVertInnerMargin;
if (type_ == ExtensionInstalledBubble::PAGE_ACTION) {
height += info_->GetHeightForWidth(kRightColumnWidth);
- height += kPanelVertMargin;
+ height += kVertInnerMargin;
}
height += manage_->GetHeightForWidth(kRightColumnWidth);
-
- return gfx::Size(width, std::max(height, kIconSize + kVertOuterMargin * 2));
+ height += kVertOuterMargin;
+ return gfx::Size(width, std::max(height, kIconSize + 2 * kVertOuterMargin));
}
virtual void Layout() {
@@ -130,31 +137,32 @@ class InstalledBubbleContent : public views::View,
x += kIconSize;
x += kPanelHorizMargin;
+ y += kRightcolumnVerticalShift;
heading_->SizeToFit(kRightColumnWidth);
heading_->SetX(x);
heading_->SetY(y);
y += heading_->height();
- y += kPanelVertMargin;
+ y += kVertInnerMargin;
if (type_ == ExtensionInstalledBubble::PAGE_ACTION) {
info_->SizeToFit(kRightColumnWidth);
info_->SetX(x);
info_->SetY(y);
y += info_->height();
- y += kPanelVertMargin;
+ y += kVertInnerMargin;
}
manage_->SizeToFit(kRightColumnWidth);
manage_->SetX(x);
manage_->SetY(y);
- x += kRightColumnWidth + kPanelHorizMargin;
+ x += kRightColumnWidth + 2*kPanelHorizMargin + kHorizOuterMargin -
+ close_button_->GetPreferredSize().width();
y = kVertOuterMargin;
gfx::Size sz = close_button_->GetPreferredSize();
- close_button_->SetBounds(x - kCloseButtonPadding,
- y - kCloseButtonPadding,
- sz.width(),
- sz.height());
+ // x-1 & y-1 is just slop to get the close button visually aligned with the
+ // title text and bubble arrow.
+ close_button_->SetBounds(x - 1, y - 1, sz.width(), sz.height());
}
ExtensionInstalledBubble::BubbleType type_;