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

Side by Side Diff: ui/views/window/dialog_client_view.cc

Issue 12225095: Interactive autofill: Adds footnote view to accept legal documents in the UI. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sky@ review Created 7 years, 10 months 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/views/autofill/autofill_dialog_views.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/views/window/dialog_client_view.h" 5 #include "ui/views/window/dialog_client_view.h"
6 6
7 #include "build/build_config.h" 7 #include "build/build_config.h"
8 8
9 #if defined(OS_WIN) 9 #if defined(OS_WIN)
10 #include <windows.h> 10 #include <windows.h>
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 if (cancel_button_ || ok_button_) 364 if (cancel_button_ || ok_button_)
365 width += style_params_.related_button_hspacing; 365 width += style_params_.related_button_hspacing;
366 } 366 }
367 if (width > 0) { 367 if (width > 0) {
368 width += 2 * style_params_.button_hedge_margin; 368 width += 2 * style_params_.button_hedge_margin;
369 prefsize.set_width(std::max(prefsize.width(), width)); 369 prefsize.set_width(std::max(prefsize.width(), width));
370 } 370 }
371 } 371 }
372 prefsize.Enlarge(0, button_height); 372 prefsize.Enlarge(0, button_height);
373 373
374 if (footnote_view_) { 374 if (footnote_view_ && footnote_view_->visible()) {
375 gfx::Size footnote_size = footnote_view_->GetPreferredSize(); 375 const gfx::Size& footnote_size = footnote_view_->GetPreferredSize();
376 prefsize.Enlarge(0, footnote_size.height()); 376 prefsize.Enlarge(0, footnote_size.height());
377 prefsize.set_width(std::max(prefsize.width(), footnote_size.width())); 377 prefsize.set_width(std::max(prefsize.width(), footnote_size.width()));
378 } 378 }
379 379
380 return prefsize; 380 return prefsize;
381 } 381 }
382 382
383 bool DialogClientView::AcceleratorPressed(const ui::Accelerator& accelerator) { 383 bool DialogClientView::AcceleratorPressed(const ui::Accelerator& accelerator) {
384 // We only expect Escape key. 384 // We only expect Escape key.
385 DCHECK(accelerator.key_code() == ui::VKEY_ESCAPE); 385 DCHECK(accelerator.key_code() == ui::VKEY_ESCAPE);
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 return button_height; 487 return button_height;
488 } 488 }
489 489
490 int DialogClientView::GetDialogButtonsAreaHeight() const { 490 int DialogClientView::GetDialogButtonsAreaHeight() const {
491 return !has_dialog_buttons() ? 0 : 491 return !has_dialog_buttons() ? 0 :
492 GetButtonsHeight() + style_params_.button_content_spacing + 492 GetButtonsHeight() + style_params_.button_content_spacing +
493 style_params_.button_vedge_margin; 493 style_params_.button_vedge_margin;
494 } 494 }
495 495
496 int DialogClientView::GetFootnoteViewHeight() const { 496 int DialogClientView::GetFootnoteViewHeight() const {
497 return footnote_view_ ? footnote_view_->GetPreferredSize().height() : 0; 497 return footnote_view_ && footnote_view_->visible() ?
498 footnote_view_->GetPreferredSize().height() : 0;
498 } 499 }
499 500
500 void DialogClientView::LayoutDialogButtons() { 501 void DialogClientView::LayoutDialogButtons() {
501 gfx::Rect lb = GetContentsBounds(); 502 gfx::Rect lb = GetContentsBounds();
502 gfx::Rect extra_bounds; 503 gfx::Rect extra_bounds;
503 int bottom_y = lb.bottom() - style_params_.button_vedge_margin; 504 int bottom_y = lb.bottom() - style_params_.button_vedge_margin -
504 if (footnote_view_) 505 GetFootnoteViewHeight();
505 bottom_y -= footnote_view_->GetPreferredSize().height();
506 506
507 int button_height = GetButtonsHeight(); 507 int button_height = GetButtonsHeight();
508 if (cancel_button_) { 508 if (cancel_button_) {
509 gfx::Size ps = cancel_button_->GetPreferredSize(); 509 gfx::Size ps = cancel_button_->GetPreferredSize();
510 int button_x = lb.right() - ps.width() - style_params_.button_hedge_margin; 510 int button_x = lb.right() - ps.width() - style_params_.button_hedge_margin;
511 int button_y = bottom_y - ps.height(); 511 int button_y = bottom_y - ps.height();
512 cancel_button_->SetBounds(button_x, button_y, ps.width(), ps.height()); 512 cancel_button_->SetBounds(button_x, button_y, ps.width(), ps.height());
513 // The extra view bounds are dependent on this button. 513 // The extra view bounds are dependent on this button.
514 extra_bounds.set_width(std::max(0, cancel_button_->x())); 514 extra_bounds.set_width(std::max(0, cancel_button_->x()));
515 extra_bounds.set_y(cancel_button_->y()); 515 extra_bounds.set_y(cancel_button_->y());
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
600 } 600 }
601 saved_focus_manager_ = focus_manager; 601 saved_focus_manager_ = focus_manager;
602 // Listen for focus change events so we can update the default button. 602 // Listen for focus change events so we can update the default button.
603 if (focus_manager) { 603 if (focus_manager) {
604 focus_manager->AddFocusChangeListener(this); 604 focus_manager->AddFocusChangeListener(this);
605 listening_to_focus_ = true; 605 listening_to_focus_ = true;
606 } 606 }
607 } 607 }
608 608
609 } // namespace views 609 } // namespace views
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/autofill/autofill_dialog_views.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698