summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-27 19:29:47 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-27 19:29:47 +0000
commitf039dcd91912b8bf68ec73d744ad38ff4b4d1398 (patch)
treeac742b926916f8c463d56ba986452b74665c76c0 /chrome/browser/chromeos
parentf7319dd6e64e34e091de48d210fb6870a6cfd586 (diff)
downloadchromium_src-f039dcd91912b8bf68ec73d744ad38ff4b4d1398.zip
chromium_src-f039dcd91912b8bf68ec73d744ad38ff4b4d1398.tar.gz
chromium_src-f039dcd91912b8bf68ec73d744ad38ff4b4d1398.tar.bz2
Adds the settings tab to options on chrome os. The contents is just a place
holder at this point. BUG=none TEST=none Review URL: http://codereview.chromium.org/174596 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24642 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos')
-rw-r--r--chrome/browser/chromeos/settings_page_view.cc35
-rw-r--r--chrome/browser/chromeos/settings_page_view.h29
2 files changed, 64 insertions, 0 deletions
diff --git a/chrome/browser/chromeos/settings_page_view.cc b/chrome/browser/chromeos/settings_page_view.cc
new file mode 100644
index 0000000..bfbb46f
--- /dev/null
+++ b/chrome/browser/chromeos/settings_page_view.cc
@@ -0,0 +1,35 @@
+// Copyright (c) 2009 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 "chrome/browser/chromeos/settings_page_view.h"
+
+#include "views/controls/label.h"
+#include "views/fill_layout.h"
+#include "views/widget/widget_gtk.h"
+
+SettingsPageView::SettingsPageView(Profile* profile)
+ : OptionsPageView(profile) {
+ SetLayoutManager(new views::FillLayout());
+}
+
+GtkWidget* SettingsPageView::WrapInGtkWidget() {
+ views::WidgetGtk* widget =
+ new views::WidgetGtk(views::WidgetGtk::TYPE_CHILD);
+ widget->Init(NULL, gfx::Rect());
+ widget->SetContentsView(this);
+ widget->Show();
+ // Removing the widget from the container results in unref'ing the widget. We
+ // need to ref here otherwise the removal deletes the widget. The caller ends
+ // up taking ownership.
+ g_object_ref(widget->GetNativeView());
+ GtkWidget* parent = gtk_widget_get_parent(widget->GetNativeView());
+ gtk_container_remove(GTK_CONTAINER(parent), widget->GetNativeView());
+ return widget->GetNativeView();
+}
+
+void SettingsPageView::InitControlLayout() {
+ // Remove this and add the real views we want. We'll likely need to make this
+ // scrollable as well.
+ AddChildView(new views::Label(L"Implement me"));
+}
diff --git a/chrome/browser/chromeos/settings_page_view.h b/chrome/browser/chromeos/settings_page_view.h
new file mode 100644
index 0000000..b512fea
--- /dev/null
+++ b/chrome/browser/chromeos/settings_page_view.h
@@ -0,0 +1,29 @@
+// Copyright (c) 2009 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.
+
+#ifndef CHROME_BROWSER_CHROMEOS_SETTINGS_PAGE_VIEW_H_
+#define CHROME_BROWSER_CHROMEOS_SETTINGS_PAGE_VIEW_H_
+
+#include "chrome/browser/views/options/options_page_view.h"
+
+#include <gtk/gtk.h>
+
+// Settings page for Chrome OS.
+class SettingsPageView : public OptionsPageView {
+ public:
+ explicit SettingsPageView(Profile* profile);
+
+ // Wraps the SettingsPageView in a GtkWidget and returns it. It's up to the
+ // caller to delete (unref) the returned widget, which in turn deletes this
+ // SettingsPageView.
+ GtkWidget* WrapInGtkWidget();
+
+ protected:
+ virtual void InitControlLayout();
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(SettingsPageView);
+};
+
+#endif // CHROME_BROWSER_CHROMEOS_SETTINGS_PAGE_VIEW_H_