| Index: ui/views/window/dialog_delegate.cc
|
| diff --git a/ui/views/window/dialog_delegate.cc b/ui/views/window/dialog_delegate.cc
|
| deleted file mode 100644
|
| index 1627a8f2272c898457819b4b22237ff01646ff48..0000000000000000000000000000000000000000
|
| --- a/ui/views/window/dialog_delegate.cc
|
| +++ /dev/null
|
| @@ -1,241 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "ui/views/window/dialog_delegate.h"
|
| -
|
| -#include "base/logging.h"
|
| -#include "ui/base/l10n/l10n_util.h"
|
| -#include "ui/strings/grit/ui_strings.h"
|
| -#include "ui/views/bubble/bubble_border.h"
|
| -#include "ui/views/bubble/bubble_frame_view.h"
|
| -#include "ui/views/controls/button/label_button.h"
|
| -#include "ui/views/widget/widget.h"
|
| -#include "ui/views/widget/widget_observer.h"
|
| -#include "ui/views/window/dialog_client_view.h"
|
| -
|
| -#if defined(OS_WIN)
|
| -#include "ui/base/win/shell.h"
|
| -#endif
|
| -
|
| -namespace views {
|
| -
|
| -////////////////////////////////////////////////////////////////////////////////
|
| -// DialogDelegate:
|
| -
|
| -DialogDelegate::DialogDelegate() : supports_new_style_(true) {
|
| -}
|
| -
|
| -DialogDelegate::~DialogDelegate() {
|
| -}
|
| -
|
| -// static
|
| -Widget* DialogDelegate::CreateDialogWidget(WidgetDelegate* delegate,
|
| - gfx::NativeWindow context,
|
| - gfx::NativeView parent) {
|
| - return CreateDialogWidgetWithBounds(delegate, context, parent, gfx::Rect());
|
| -}
|
| -
|
| -// static
|
| -Widget* DialogDelegate::CreateDialogWidgetWithBounds(WidgetDelegate* delegate,
|
| - gfx::NativeWindow context,
|
| - gfx::NativeView parent,
|
| - const gfx::Rect& bounds) {
|
| - views::Widget* widget = new views::Widget;
|
| - views::Widget::InitParams params;
|
| - params.delegate = delegate;
|
| - params.bounds = bounds;
|
| - DialogDelegate* dialog = delegate->AsDialogDelegate();
|
| -
|
| -#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
|
| - // The new style doesn't support unparented dialogs on Linux desktop.
|
| - if (dialog)
|
| - dialog->supports_new_style_ &= parent != NULL;
|
| -#elif defined(OS_WIN)
|
| - // The new style doesn't support unparented dialogs on Windows Classic themes.
|
| - if (dialog && !ui::win::IsAeroGlassEnabled())
|
| - dialog->supports_new_style_ &= parent != NULL;
|
| -#endif
|
| -
|
| - if (!dialog || dialog->UseNewStyleForThisDialog()) {
|
| - params.opacity = Widget::InitParams::TRANSLUCENT_WINDOW;
|
| - params.remove_standard_frame = true;
|
| - // The bubble frame includes its own shadow; remove any native shadowing.
|
| - params.shadow_type = views::Widget::InitParams::SHADOW_TYPE_NONE;
|
| - }
|
| - params.context = context;
|
| - params.parent = parent;
|
| - // Web-modal (ui::MODAL_TYPE_CHILD) dialogs with parents are marked as child
|
| - // widgets to prevent top-level window behavior (independent movement, etc).
|
| - params.child = parent && (delegate->GetModalType() == ui::MODAL_TYPE_CHILD);
|
| - widget->Init(params);
|
| - return widget;
|
| -}
|
| -
|
| -View* DialogDelegate::CreateExtraView() {
|
| - return NULL;
|
| -}
|
| -
|
| -View* DialogDelegate::CreateTitlebarExtraView() {
|
| - return NULL;
|
| -}
|
| -
|
| -View* DialogDelegate::CreateFootnoteView() {
|
| - return NULL;
|
| -}
|
| -
|
| -bool DialogDelegate::Cancel() {
|
| - return true;
|
| -}
|
| -
|
| -bool DialogDelegate::Accept(bool window_closing) {
|
| - return Accept();
|
| -}
|
| -
|
| -bool DialogDelegate::Accept() {
|
| - return true;
|
| -}
|
| -
|
| -bool DialogDelegate::Close() {
|
| - int buttons = GetDialogButtons();
|
| - if ((buttons & ui::DIALOG_BUTTON_CANCEL) ||
|
| - (buttons == ui::DIALOG_BUTTON_NONE)) {
|
| - return Cancel();
|
| - }
|
| - return Accept(true);
|
| -}
|
| -
|
| -base::string16 DialogDelegate::GetDialogLabel() const {
|
| - return base::string16();
|
| -}
|
| -
|
| -base::string16 DialogDelegate::GetDialogTitle() const {
|
| - return GetWindowTitle();
|
| -}
|
| -
|
| -int DialogDelegate::GetDialogButtons() const {
|
| - return ui::DIALOG_BUTTON_OK | ui::DIALOG_BUTTON_CANCEL;
|
| -}
|
| -
|
| -int DialogDelegate::GetDefaultDialogButton() const {
|
| - if (GetDialogButtons() & ui::DIALOG_BUTTON_OK)
|
| - return ui::DIALOG_BUTTON_OK;
|
| - if (GetDialogButtons() & ui::DIALOG_BUTTON_CANCEL)
|
| - return ui::DIALOG_BUTTON_CANCEL;
|
| - return ui::DIALOG_BUTTON_NONE;
|
| -}
|
| -
|
| -bool DialogDelegate::ShouldDefaultButtonBeBlue() const {
|
| - return false;
|
| -}
|
| -
|
| -base::string16 DialogDelegate::GetDialogButtonLabel(
|
| - ui::DialogButton button) const {
|
| - if (button == ui::DIALOG_BUTTON_OK)
|
| - return l10n_util::GetStringUTF16(IDS_APP_OK);
|
| - if (button == ui::DIALOG_BUTTON_CANCEL) {
|
| - if (GetDialogButtons() & ui::DIALOG_BUTTON_OK)
|
| - return l10n_util::GetStringUTF16(IDS_APP_CANCEL);
|
| - return l10n_util::GetStringUTF16(IDS_APP_CLOSE);
|
| - }
|
| - NOTREACHED();
|
| - return base::string16();
|
| -}
|
| -
|
| -bool DialogDelegate::IsDialogButtonEnabled(ui::DialogButton button) const {
|
| - return true;
|
| -}
|
| -
|
| -View* DialogDelegate::GetInitiallyFocusedView() {
|
| - // Focus the default button if any.
|
| - const DialogClientView* dcv = GetDialogClientView();
|
| - int default_button = GetDefaultDialogButton();
|
| - if (default_button == ui::DIALOG_BUTTON_NONE)
|
| - return NULL;
|
| -
|
| - if ((default_button & GetDialogButtons()) == 0) {
|
| - // The default button is a button we don't have.
|
| - NOTREACHED();
|
| - return NULL;
|
| - }
|
| -
|
| - if (default_button & ui::DIALOG_BUTTON_OK)
|
| - return dcv->ok_button();
|
| - if (default_button & ui::DIALOG_BUTTON_CANCEL)
|
| - return dcv->cancel_button();
|
| - return NULL;
|
| -}
|
| -
|
| -DialogDelegate* DialogDelegate::AsDialogDelegate() {
|
| - return this;
|
| -}
|
| -
|
| -ClientView* DialogDelegate::CreateClientView(Widget* widget) {
|
| - return new DialogClientView(widget, GetContentsView());
|
| -}
|
| -
|
| -NonClientFrameView* DialogDelegate::CreateNonClientFrameView(Widget* widget) {
|
| - if (UseNewStyleForThisDialog())
|
| - return CreateDialogFrameView(widget);
|
| - return WidgetDelegate::CreateNonClientFrameView(widget);
|
| -}
|
| -
|
| -// static
|
| -NonClientFrameView* DialogDelegate::CreateDialogFrameView(Widget* widget) {
|
| - BubbleFrameView* frame = new BubbleFrameView(gfx::Insets());
|
| - scoped_ptr<BubbleBorder> border(new BubbleBorder(
|
| - BubbleBorder::FLOAT, BubbleBorder::SMALL_SHADOW, SK_ColorRED));
|
| - border->set_use_theme_background_color(true);
|
| - frame->SetBubbleBorder(border.Pass());
|
| - DialogDelegate* delegate = widget->widget_delegate()->AsDialogDelegate();
|
| - if (delegate) {
|
| - View* titlebar_view = delegate->CreateTitlebarExtraView();
|
| - if (titlebar_view)
|
| - frame->SetTitlebarExtraView(titlebar_view);
|
| - }
|
| - return frame;
|
| -}
|
| -
|
| -bool DialogDelegate::UseNewStyleForThisDialog() const {
|
| - return supports_new_style_;
|
| -}
|
| -
|
| -const DialogClientView* DialogDelegate::GetDialogClientView() const {
|
| - return GetWidget()->client_view()->AsDialogClientView();
|
| -}
|
| -
|
| -DialogClientView* DialogDelegate::GetDialogClientView() {
|
| - return GetWidget()->client_view()->AsDialogClientView();
|
| -}
|
| -
|
| -ui::AXRole DialogDelegate::GetAccessibleWindowRole() const {
|
| - return ui::AX_ROLE_DIALOG;
|
| -}
|
| -
|
| -////////////////////////////////////////////////////////////////////////////////
|
| -// DialogDelegateView:
|
| -
|
| -DialogDelegateView::DialogDelegateView() {
|
| - // A WidgetDelegate should be deleted on DeleteDelegate.
|
| - set_owned_by_client();
|
| -}
|
| -
|
| -DialogDelegateView::~DialogDelegateView() {}
|
| -
|
| -void DialogDelegateView::DeleteDelegate() {
|
| - delete this;
|
| -}
|
| -
|
| -Widget* DialogDelegateView::GetWidget() {
|
| - return View::GetWidget();
|
| -}
|
| -
|
| -const Widget* DialogDelegateView::GetWidget() const {
|
| - return View::GetWidget();
|
| -}
|
| -
|
| -View* DialogDelegateView::GetContentsView() {
|
| - return this;
|
| -}
|
| -
|
| -} // namespace views
|
|
|