diff options
author | rafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-20 19:35:47 +0000 |
---|---|---|
committer | rafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-20 19:35:47 +0000 |
commit | ed18e74399a1ed95563818d53fcc9ce803d86396 (patch) | |
tree | fb2615fdde381aa9e56c6c80c925df70887bc042 /chrome/browser/views | |
parent | d45815ff63c9ef016bc52123985c7f64e5ea745e (diff) | |
download | chromium_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.cc | 48 |
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_; |