diff options
Diffstat (limited to 'chrome/browser/views/options')
8 files changed, 41 insertions, 40 deletions
diff --git a/chrome/browser/views/options/advanced_page_view.cc b/chrome/browser/views/options/advanced_page_view.cc index f47e5a6..37c6936 100644 --- a/chrome/browser/views/options/advanced_page_view.cc +++ b/chrome/browser/views/options/advanced_page_view.cc @@ -84,22 +84,24 @@ class ResetDefaultsConfirmBox : public ChromeViews::DialogDelegate { // ChromeViews::WindowDelegate virtual void WindowClosing() { delete this; } virtual bool IsModal() const { return true; } + virtual ChromeViews::View* GetContentsView() { return message_box_view_; } private: ResetDefaultsConfirmBox(HWND parent_hwnd, AdvancedPageView* page_view) : advanced_page_view_(page_view) { const int kDialogWidth = 400; // Also deleted when the window closes. - MessageBoxView* message_box_view = new MessageBoxView( + message_box_view_ = new MessageBoxView( MessageBoxView::kFlagHasMessage | MessageBoxView::kFlagHasOKButton, l10n_util::GetString(IDS_OPTIONS_RESET_MESSAGE).c_str(), std::wstring(), kDialogWidth); ChromeViews::Window::CreateChromeWindow(parent_hwnd, gfx::Rect(), - message_box_view, this)->Show(); + this)->Show(); } virtual ~ResetDefaultsConfirmBox() { } + MessageBoxView* message_box_view_; AdvancedPageView* advanced_page_view_; DISALLOW_EVIL_CONSTRUCTORS(ResetDefaultsConfirmBox); diff --git a/chrome/browser/views/options/content_page_view.cc b/chrome/browser/views/options/content_page_view.cc index 6ed056f..8814986 100644 --- a/chrome/browser/views/options/content_page_view.cc +++ b/chrome/browser/views/options/content_page_view.cc @@ -249,11 +249,10 @@ void ContentPageView::ButtonPressed(ChromeViews::NativeButton* sender) { UserMetricsRecordAction(L"Options_ShowPasswordManager", NULL); PasswordManagerView::Show(profile()); } else if (sender == change_content_fonts_button_) { - FontsLanguagesWindowView* flwv = new FontsLanguagesWindowView(profile()); - ChromeViews::Window* w = - ChromeViews::Window::CreateChromeWindow(GetRootWindow(), gfx::Rect(), - flwv, flwv); - w->Show(); + ChromeViews::Window::CreateChromeWindow( + GetRootWindow(), + gfx::Rect(), + new FontsLanguagesWindowView(profile()))->Show(); } } diff --git a/chrome/browser/views/options/cookies_view.cc b/chrome/browser/views/options/cookies_view.cc index 3b59198..bd5424d 100644 --- a/chrome/browser/views/options/cookies_view.cc +++ b/chrome/browser/views/options/cookies_view.cc @@ -561,7 +561,7 @@ void CookiesView::ShowCookiesWindow(Profile* profile) { if (!instance_) { CookiesView* cookies_view = new CookiesView(profile); instance_ = ChromeViews::Window::CreateChromeWindow( - NULL, gfx::Rect(), cookies_view, cookies_view); + NULL, gfx::Rect(), cookies_view); } if (!instance_->IsVisible()) { instance_->Show(); @@ -649,6 +649,10 @@ void CookiesView::WindowClosing() { instance_ = NULL; } +ChromeViews::View* CookiesView::GetContentsView() { + return this; +} + /////////////////////////////////////////////////////////////////////////////// // CookiesView, ChromeViews::View overrides: diff --git a/chrome/browser/views/options/cookies_view.h b/chrome/browser/views/options/cookies_view.h index 9547acc..1f72a5c 100644 --- a/chrome/browser/views/options/cookies_view.h +++ b/chrome/browser/views/options/cookies_view.h @@ -81,6 +81,7 @@ class CookiesView : public ChromeViews::View, virtual bool CanResize() const { return true; } virtual std::wstring GetWindowTitle() const; virtual void WindowClosing(); + virtual ChromeViews::View* GetContentsView(); // ChromeViews::View overrides: virtual void Layout(); diff --git a/chrome/browser/views/options/fonts_languages_window_view.cc b/chrome/browser/views/options/fonts_languages_window_view.cc index 7b7788d..a6d9948 100644 --- a/chrome/browser/views/options/fonts_languages_window_view.cc +++ b/chrome/browser/views/options/fonts_languages_window_view.cc @@ -63,15 +63,22 @@ FontsLanguagesWindowView::~FontsLanguagesWindowView() { /////////////////////////////////////////////////////////////////////////////// // FontsLanguagesWindowView, ChromeViews::DialogDelegate implementation: +bool FontsLanguagesWindowView::Accept() { + fonts_page_->SaveChanges(); + languages_page_->SaveChanges(); + return true; +} + +/////////////////////////////////////////////////////////////////////////////// +// FontsLanguagesWindowView, ChromeViews::WindowDelegate implementation: + std::wstring FontsLanguagesWindowView::GetWindowTitle() const { return l10n_util::GetStringF(IDS_FONT_LANGUAGE_SETTING_WINDOWS_TITLE, l10n_util::GetString(IDS_PRODUCT_NAME)); } -bool FontsLanguagesWindowView::Accept() { - fonts_page_->SaveChanges(); - languages_page_->SaveChanges(); - return true; +ChromeViews::View* FontsLanguagesWindowView::GetContentsView() { + return this; } /////////////////////////////////////////////////////////////////////////////// diff --git a/chrome/browser/views/options/fonts_languages_window_view.h b/chrome/browser/views/options/fonts_languages_window_view.h index bdae5ea..c3e6a40 100644 --- a/chrome/browser/views/options/fonts_languages_window_view.h +++ b/chrome/browser/views/options/fonts_languages_window_view.h @@ -50,17 +50,13 @@ class FontsLanguagesWindowView : public ChromeViews::View, explicit FontsLanguagesWindowView(Profile* profile); virtual ~FontsLanguagesWindowView(); - ChromeViews::Window* container() const { return container_; } - void set_container(ChromeViews::Window* container) { - container_ = container; - } - // ChromeViews::DialogDelegate implementation: virtual bool Accept(); - virtual std::wstring GetWindowTitle() const; // ChromeViews::WindowDelegate Methods: virtual bool IsModal() const { return true; } + virtual std::wstring GetWindowTitle() const; + virtual ChromeViews::View* GetContentsView(); // ChromeViews::View overrides: virtual void Layout(); @@ -78,9 +74,6 @@ class FontsLanguagesWindowView : public ChromeViews::View, // The Tab view that contains all of the options pages. ChromeViews::TabbedPane* tabs_; - // The Options dialog window. - ChromeViews::Window* container_; - // Fonts Page View handle remembered so that prefs is updated only when // OK is pressed. FontsPageView* fonts_page_; diff --git a/chrome/browser/views/options/languages_page_view.cc b/chrome/browser/views/options/languages_page_view.cc index 2c9ef19..fb449fc 100644 --- a/chrome/browser/views/options/languages_page_view.cc +++ b/chrome/browser/views/options/languages_page_view.cc @@ -243,6 +243,7 @@ class AddLanguageWindowView : public ChromeViews::View, // ChromeViews::WindowDelegate method. virtual bool IsModal() const { return true; } + virtual ChromeViews::View* GetContentsView() { return this; } // ChromeViews::ComboBox::Listener implementation: virtual void ItemChanged(ChromeViews::ComboBox* combo_box, @@ -525,12 +526,10 @@ void LanguagesPageView::ButtonPressed(ChromeViews::NativeButton* sender) { OnRemoveLanguage(); language_table_edited_ = true; } else if (sender == add_button_) { - AddLanguageWindowView* instance = new AddLanguageWindowView(this, profile()); - HWND parent_hwnd = GetViewContainer()->GetHWND(); - ChromeViews::Window* w = - ChromeViews::Window::CreateChromeWindow(parent_hwnd, gfx::Rect(), - instance, instance); - w->Show(); + ChromeViews::Window::CreateChromeWindow( + GetViewContainer()->GetHWND(), + gfx::Rect(), + new AddLanguageWindowView(this, profile()))->Show(); language_table_edited_ = true; } } diff --git a/chrome/browser/views/options/options_window_view.cc b/chrome/browser/views/options/options_window_view.cc index 72c7029..5b29fdb 100644 --- a/chrome/browser/views/options/options_window_view.cc +++ b/chrome/browser/views/options/options_window_view.cc @@ -60,11 +60,6 @@ class OptionsWindowView : public ChromeViews::View, explicit OptionsWindowView(Profile* profile); virtual ~OptionsWindowView(); - ChromeViews::Window* container() const { return container_; } - void set_container(ChromeViews::Window* container) { - container_ = container; - } - // Shows the Tab corresponding to the specified OptionsPage. void ShowOptionsPage(OptionsPage page, OptionsGroup highlight_group); @@ -73,6 +68,7 @@ class OptionsWindowView : public ChromeViews::View, virtual std::wstring GetWindowTitle() const; virtual void WindowClosing(); virtual bool Cancel(); + virtual ChromeViews::View* GetContentsView(); // ChromeViews::TabbedPane::Listener implementation: virtual void TabSelectedAt(int index); @@ -96,9 +92,6 @@ class OptionsWindowView : public ChromeViews::View, // The Tab view that contains all of the options pages. ChromeViews::TabbedPane* tabs_; - // The Options dialog window. - ChromeViews::Window* container_; - // The Profile associated with these options. Profile* profile_; @@ -135,10 +128,10 @@ void OptionsWindowView::ShowOptionsPage(OptionsPage page, OptionsGroup highlight_group) { // If the window is not yet visible, we need to show it (it will become // active), otherwise just bring it to the front. - if (!container_->IsVisible()) { - container_->Show(); + if (!window()->IsVisible()) { + window()->Show(); } else { - container_->Activate(); + window()->Activate(); } if (page == OPTIONS_PAGE_DEFAULT) { @@ -171,6 +164,10 @@ bool OptionsWindowView::Cancel() { return GetCurrentOptionsPageView()->CanClose(); } +ChromeViews::View* OptionsWindowView::GetContentsView() { + return this; +} + /////////////////////////////////////////////////////////////////////////////// // OptionsWindowView, ChromeViews::TabbedPane::Listener implementation: @@ -246,8 +243,7 @@ void ShowOptionsWindow(OptionsPage page, // about this case this will have to be fixed. if (!instance_) { instance_ = new OptionsWindowView(profile); - instance_->set_container(ChromeViews::Window::CreateChromeWindow( - NULL, gfx::Rect(), instance_, instance_)); + ChromeViews::Window::CreateChromeWindow(NULL, gfx::Rect(), instance_); // The window is alive by itself now... } instance_->ShowOptionsPage(page, highlight_group); |