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

Unified Diff: chrome/browser/chromeos/options/options_window_view.cc

Issue 6307019: Cleanup: remove unused internet and system pages for chrome os options. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Remove ifdef code in content_page_gtk.cc Created 9 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/options/options_window_view.cc
diff --git a/chrome/browser/chromeos/options/options_window_view.cc b/chrome/browser/chromeos/options/options_window_view.cc
deleted file mode 100644
index 1cc4a62e6a6044657e46db9a01d213b7a7ad1733..0000000000000000000000000000000000000000
--- a/chrome/browser/chromeos/options/options_window_view.cc
+++ /dev/null
@@ -1,392 +0,0 @@
-// Copyright (c) 2011 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 "base/scoped_ptr.h"
-#include "chrome/browser/browser_process.h"
-#include "chrome/browser/chromeos/options/internet_page_view.h"
-#include "chrome/browser/chromeos/options/system_page_view.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/browser_list.h"
-#include "chrome/browser/ui/browser_window.h"
-#include "chrome/browser/ui/gtk/options/advanced_page_gtk.h"
-#include "chrome/browser/ui/gtk/options/content_page_gtk.h"
-#include "chrome/browser/ui/gtk/options/general_page_gtk.h"
-#include "chrome/browser/ui/options/options_window.h"
-#include "chrome/browser/ui/views/accessible_view_helper.h"
-#include "chrome/browser/ui/views/window.h"
-#include "chrome/browser/ui/window_sizer.h"
-#include "chrome/common/chrome_constants.h"
-#include "chrome/common/pref_names.h"
-#include "grit/chromium_strings.h"
-#include "grit/generated_resources.h"
-#include "grit/locale_settings.h"
-#include "ui/base/l10n/l10n_util.h"
-#include "views/controls/native/native_view_host.h"
-#include "views/controls/tabbed_pane/native_tabbed_pane_gtk.h"
-#include "views/controls/tabbed_pane/tabbed_pane.h"
-#include "views/widget/root_view.h"
-#include "views/window/dialog_delegate.h"
-#include "views/window/window.h"
-#include "views/window/window_gtk.h"
-
-
-namespace chromeos {
-
-///////////////////////////////////////////////////////////////////////////////
-// GtkPreferencePageHost
-//
-// Hosts a GTK preference page and takes care of sizing it appropriately.
-//
-class GtkPreferencePageHost : public views::NativeViewHost {
- public:
- explicit GtkPreferencePageHost(GtkWidget* widget);
-
- private:
- // views::View overrides:
- virtual void ViewHierarchyChanged(bool is_add, View* parent, View* child);
- virtual gfx::Size GetPreferredSize();
-
- GtkWidget* widget_;
-
- DISALLOW_COPY_AND_ASSIGN(GtkPreferencePageHost);
-};
-
-GtkPreferencePageHost::GtkPreferencePageHost(GtkWidget* widget)
- : widget_(widget) {
- set_background(views::Background::CreateSolidBackground(SK_ColorWHITE));
-}
-
-void GtkPreferencePageHost::ViewHierarchyChanged(bool is_add,
- View* parent,
- View* child) {
- NativeViewHost::ViewHierarchyChanged(is_add, parent, child);
- if (is_add && child == this)
- Attach(widget_);
-}
-
-gfx::Size GtkPreferencePageHost::GetPreferredSize() {
- // We need to show the widget and its children since otherwise containers like
- // gtk_box don't compute the correct size.
- gtk_widget_show_all(widget_);
- GtkRequisition requisition = { 0, 0 };
- gtk_widget_size_request(GTK_WIDGET(widget_), &requisition);
- GtkRequisition& size(widget_->requisition);
- return gfx::Size(size.width, size.height);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// OptionsWindowView
-//
-// The contents of the Options dialog window.
-//
-class OptionsWindowView : public views::View,
- public views::DialogDelegate,
- public views::TabbedPane::Listener {
- public:
- static const int kDialogPadding;
- static const SkColor kDialogBackground;
- static OptionsWindowView* instance_;
-
- explicit OptionsWindowView(Profile* profile);
- virtual ~OptionsWindowView();
-
- // Shows the Tab corresponding to the specified OptionsPage.
- void ShowOptionsPage(OptionsPage page, OptionsGroup highlight_group);
-
- // views::DialogDelegate implementation:
- virtual int GetDialogButtons() const {
- return 0;
- }
- virtual std::wstring GetWindowTitle() const;
- virtual void WindowClosing();
- virtual bool Cancel();
- virtual views::View* GetContentsView();
- virtual bool ShouldShowClientEdge() const {
- return false;
- }
-
- // views::TabbedPane::Listener implementation:
- virtual void TabSelectedAt(int index);
-
- // views::View overrides:
- virtual void Layout();
- virtual gfx::Size GetPreferredSize();
-
- protected:
- // views::View overrides:
- virtual void ViewHierarchyChanged(bool is_add,
- views::View* parent,
- views::View* child);
- private:
- // Init the assorted Tabbed pages
- void Init();
-
- // Returns the currently selected OptionsPageView.
- OptionsPageView* GetCurrentOptionsPageView() const;
-
- // Flag of whether we are fully initialized.
- bool initialized_;
-
- // The Tab view that contains all of the options pages.
- views::TabbedPane* tabs_;
-
- // The Profile associated with these options.
- Profile* profile_;
-
- // Native Gtk options pages.
- GeneralPageGtk general_page_;
- ContentPageGtk content_page_;
- AdvancedPageGtk advanced_page_;
-
- // The last page the user was on when they opened the Options window.
- IntegerPrefMember last_selected_page_;
-
- scoped_ptr<AccessibleViewHelper> accessible_view_helper_;
-
- DISALLOW_IMPLICIT_CONSTRUCTORS(OptionsWindowView);
-};
-
-///////////////////////////////////////////////////////////////////////////////
-// OptionsWindowView, public:
-
-// No dialog padding.
-const int OptionsWindowView::kDialogPadding = 0;
-
-// Shaded frame color that matches the rendered frame. It's the result
-// of SRC_OVER frame top center image on top of frame color.
-const SkColor OptionsWindowView::kDialogBackground =
- SkColorSetRGB(0x4E, 0x7D, 0xD0);
-
-// Live instance of the options view.
-OptionsWindowView* OptionsWindowView::instance_ = NULL;
-
-OptionsWindowView::OptionsWindowView(Profile* profile)
- // Always show preferences for the original profile. Most state when off
- // the record comes from the original profile, but we explicitly use
- // the original profile to avoid potential problems.
- : initialized_(false),
- tabs_(NULL),
- profile_(profile->GetOriginalProfile()),
- general_page_(profile_),
- content_page_(profile_),
- advanced_page_(profile_) {
- // We don't need to observe changes in this value.
- last_selected_page_.Init(prefs::kOptionsWindowLastTabIndex,
- g_browser_process->local_state(), NULL);
-
- set_background(views::Background::CreateSolidBackground(kDialogBackground));
-}
-
-OptionsWindowView::~OptionsWindowView() {
-}
-
-void OptionsWindowView::ShowOptionsPage(OptionsPage page,
- OptionsGroup highlight_group) {
- // This will show invisible windows and bring visible windows to the front.
- window()->Show();
-
- // Show all controls in tab after tab's size is allocated. We have
- // to do this after size allocation otherwise WrapLabelAtAllocationHack
- // in ContentPageGtk would break.
- GtkWidget* notebook = static_cast<views::NativeTabbedPaneGtk*>(
- tabs_->native_wrapper())->native_view();
- gtk_widget_show_all(notebook);
-
- if (page == OPTIONS_PAGE_DEFAULT) {
- // Remember the last visited page from local state.
- page = static_cast<OptionsPage>(last_selected_page_.GetValue());
- if (page == OPTIONS_PAGE_DEFAULT)
- page = OPTIONS_PAGE_GENERAL;
- }
- // If the page number is out of bounds, reset to the first tab.
- if (page < 0 || page >= tabs_->GetTabCount())
- page = OPTIONS_PAGE_GENERAL;
-
- tabs_->SelectTabAt(static_cast<int>(page));
-
- // TODO(xiyuan): set highlight_group
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// OptionsWindowView, views::DialogDelegate implementation:
-
-std::wstring OptionsWindowView::GetWindowTitle() const {
- return UTF16ToWide(
- l10n_util::GetStringFUTF16(IDS_OPTIONS_DIALOG_TITLE,
- l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)));
-}
-
-void OptionsWindowView::WindowClosing() {
- // Clear the static instance so that the next time ShowOptionsWindow() is
- // called a new window is opened.
- instance_ = NULL;
-}
-
-bool OptionsWindowView::Cancel() {
- OptionsPageView* selected_option_page = GetCurrentOptionsPageView();
- if (selected_option_page) {
- return selected_option_page->CanClose();
- } else {
- // Gtk option pages does not support CanClose.
- return true;
- }
-}
-
-views::View* OptionsWindowView::GetContentsView() {
- return this;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// OptionsWindowView, views::TabbedPane::Listener implementation:
-
-void OptionsWindowView::TabSelectedAt(int index) {
- if (!initialized_)
- return;
-
- DCHECK(index > OPTIONS_PAGE_DEFAULT && index < OPTIONS_PAGE_COUNT);
- last_selected_page_.SetValue(index);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// OptionsWindowView, views::View overrides:
-
-void OptionsWindowView::Layout() {
- tabs_->SetBounds(kDialogPadding, kDialogPadding,
- width() - (2 * kDialogPadding),
- height() - (2 * kDialogPadding));
- if (!accessible_view_helper_.get()) {
- accessible_view_helper_.reset(new AccessibleViewHelper(this, profile_));
- }
-}
-
-gfx::Size OptionsWindowView::GetPreferredSize() {
- gfx::Size size(tabs_->GetPreferredSize());
- size.Enlarge(2 * kDialogPadding, 2 * kDialogPadding);
- return size;
-}
-
-void OptionsWindowView::ViewHierarchyChanged(bool is_add,
- views::View* parent,
- views::View* child) {
- // Can't init before we're inserted into a Container, because we require a
- // HWND to parent native child controls to.
- if (is_add && child == this)
- Init();
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// OptionsWindowView, private:
-
-void OptionsWindowView::Init() {
- tabs_ = new views::TabbedPane;
- tabs_->SetListener(this);
- AddChildView(tabs_);
-
- GtkWidget* notebook = static_cast<views::NativeTabbedPaneGtk*>(
- tabs_->native_wrapper())->native_view();
-
- // Set vertical padding of tab header.
- gtk_notebook_set_tab_vborder(GTK_NOTEBOOK(notebook), 5);
-
- // Set a name for notebook. Note that the name is also used in theme engine
- // to apply specific drawings for this widget.
- gtk_widget_set_name(GTK_WIDGET(notebook), "chromeos-options-tab");
-
- // Setup tab pages.
- int tab_index = 0;
-
- SystemPageView* system_page = new SystemPageView(profile_);
- system_page->set_background(views::Background::CreateSolidBackground(
- SK_ColorWHITE));
- tabs_->AddTabAtIndex(tab_index++,
- UTF16ToWide(l10n_util::GetStringUTF16(
- IDS_OPTIONS_SYSTEM_TAB_LABEL)),
- system_page, false);
-
- InternetPageView* internet_page = new InternetPageView(profile_);
- internet_page->set_background(views::Background::CreateSolidBackground(
- SK_ColorWHITE));
- tabs_->AddTabAtIndex(tab_index++,
- UTF16ToWide(l10n_util::GetStringUTF16(
- IDS_OPTIONS_INTERNET_TAB_LABEL)),
- internet_page, false);
-
- tabs_->AddTabAtIndex(tab_index++,
- UTF16ToWide(l10n_util::GetStringUTF16(
- IDS_OPTIONS_GENERAL_TAB_LABEL)),
- new GtkPreferencePageHost(
- general_page_.get_page_widget()),
- false);
-
- tabs_->AddTabAtIndex(tab_index++,
- UTF16ToWide(l10n_util::GetStringUTF16(
- IDS_OPTIONS_CONTENT_TAB_LABEL)),
- new GtkPreferencePageHost(
- content_page_.get_page_widget()),
- false);
-
- tabs_->AddTabAtIndex(tab_index++,
- UTF16ToWide(l10n_util::GetStringUTF16(
- IDS_OPTIONS_ADVANCED_TAB_LABEL)),
- new GtkPreferencePageHost(
- advanced_page_.get_page_widget()),
- false);
-
- DCHECK(tabs_->GetTabCount() == OPTIONS_PAGE_COUNT);
-
- initialized_ = true;
-}
-
-OptionsPageView* OptionsWindowView::GetCurrentOptionsPageView() const {
- int selected_option_page = tabs_->GetSelectedTabIndex();
- if (selected_option_page < OPTIONS_PAGE_GENERAL) {
- return static_cast<OptionsPageView*>(tabs_->GetSelectedTab());
- } else {
- return NULL;
- }
-}
-
-void CloseOptionsWindow() {
- if (OptionsWindowView::instance_)
- OptionsWindowView::instance_->window()->Close();
-}
-
-gfx::NativeWindow GetOptionsViewParent() {
- if (Browser* b = BrowserList::GetLastActive()) {
- if (b->type() != Browser::TYPE_NORMAL) {
- b = BrowserList::FindBrowserWithType(b->profile(),
- Browser::TYPE_NORMAL,
- true);
- }
-
- if (b)
- return b->window()->GetNativeHandle();
- }
-
- return NULL;
-}
-
-}; // namespace chromeos
-
-///////////////////////////////////////////////////////////////////////////////
-// Factory/finder method:
-
-void ShowOptionsWindow(OptionsPage page,
- OptionsGroup highlight_group,
- Profile* profile) {
- DCHECK(profile);
-
- using chromeos::OptionsWindowView;
-
- // If there's already an existing options window, close it and create
- // a new one for the current active browser.
- chromeos::CloseOptionsWindow();
-
- OptionsWindowView::instance_ = new OptionsWindowView(profile);
- browser::CreateViewsWindow(chromeos::GetOptionsViewParent(),
- gfx::Rect(),
- OptionsWindowView::instance_);
-
- OptionsWindowView::instance_->ShowOptionsPage(page, highlight_group);
-}
« no previous file with comments | « chrome/browser/chromeos/options/options_window_view.h ('k') | chrome/browser/chromeos/options/settings_page_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698