diff options
author | mazda@chromium.org <mazda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-13 03:38:28 +0000 |
---|---|---|
committer | mazda@chromium.org <mazda@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-13 03:38:28 +0000 |
commit | 9459a99c6e59c2ce248985fce66f2d4712bb22a0 (patch) | |
tree | 3f5185f9b7f41bd7164bead2b8e14f7693ad6962 /chrome/browser/ui/views/keyboard_overlay_delegate.cc | |
parent | dc67f74d8dd340b050441abb3a55a257ef91c0e2 (diff) | |
download | chromium_src-9459a99c6e59c2ce248985fce66f2d4712bb22a0.zip chromium_src-9459a99c6e59c2ce248985fce66f2d4712bb22a0.tar.gz chromium_src-9459a99c6e59c2ce248985fce66f2d4712bb22a0.tar.bz2 |
Adjust the keyboard overlay size to the screen size.
BUG=chromium-os:663
TEST=manually on the chrome notebook
Review URL: http://codereview.chromium.org/6820026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81361 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/ui/views/keyboard_overlay_delegate.cc')
-rw-r--r-- | chrome/browser/ui/views/keyboard_overlay_delegate.cc | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/chrome/browser/ui/views/keyboard_overlay_delegate.cc b/chrome/browser/ui/views/keyboard_overlay_delegate.cc index 930c9f4..e12c75e 100644 --- a/chrome/browser/ui/views/keyboard_overlay_delegate.cc +++ b/chrome/browser/ui/views/keyboard_overlay_delegate.cc @@ -4,6 +4,8 @@ #include "chrome/browser/ui/views/keyboard_overlay_delegate.h" +#include <algorithm> + #include "base/memory/scoped_ptr.h" #include "base/utf_string_conversions.h" #include "chrome/browser/chromeos/frame/bubble_window.h" @@ -14,6 +16,12 @@ #include "chrome/common/url_constants.h" #include "grit/generated_resources.h" #include "ui/base/l10n/l10n_util.h" +#include "views/screen.h" + + +static const int kBaseWidth = 1252; +static const int kBaseHeight = 516; +static const int kHorizontalMargin = 28; void KeyboardOverlayDelegate::ShowDialog(gfx::NativeWindow owning_window) { Browser* browser = BrowserList::GetLastActive(); @@ -21,6 +29,7 @@ void KeyboardOverlayDelegate::ShowDialog(gfx::NativeWindow owning_window) { UTF16ToWide(l10n_util::GetStringUTF16(IDS_KEYBOARD_OVERLAY_TITLE))); HtmlDialogView* html_view = new HtmlDialogView(browser->profile(), delegate); + delegate->set_view(html_view); html_view->InitDialog(); html_view->AddAccelerator( views::Accelerator(ui::VKEY_OEM_2, false, true, true)); @@ -36,7 +45,8 @@ void KeyboardOverlayDelegate::ShowDialog(gfx::NativeWindow owning_window) { KeyboardOverlayDelegate::KeyboardOverlayDelegate( const std::wstring& title) - : title_(title) { + : title_(title), + view_(NULL) { } KeyboardOverlayDelegate::~KeyboardOverlayDelegate() { @@ -61,7 +71,13 @@ void KeyboardOverlayDelegate::GetWebUIMessageHandlers( void KeyboardOverlayDelegate::GetDialogSize( gfx::Size* size) const { - size->SetSize(1252, 516); + using std::min; + DCHECK(view_); + gfx::Rect rect = views::Screen::GetMonitorAreaNearestWindow( + view_->native_view()); + const int width = min(kBaseWidth, rect.width() - kHorizontalMargin); + const int height = width * kBaseHeight / kBaseWidth; + size->SetSize(width, height); } std::string KeyboardOverlayDelegate::GetDialogArgs() const { |