summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/first_run_dialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/gtk/first_run_dialog.h')
-rw-r--r--chrome/browser/gtk/first_run_dialog.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/chrome/browser/gtk/first_run_dialog.h b/chrome/browser/gtk/first_run_dialog.h
new file mode 100644
index 0000000..a2b2a70
--- /dev/null
+++ b/chrome/browser/gtk/first_run_dialog.h
@@ -0,0 +1,67 @@
+// Copyright (c) 2010 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_GTK_FIRST_RUN_DIALOG_H_
+#define CHROME_BROWSER_GTK_FIRST_RUN_DIALOG_H_
+
+typedef struct _GtkButton GtkButton;
+typedef struct _GtkWidget GtkWidget;
+
+#include "app/gtk_signal.h"
+#include "chrome/browser/first_run.h"
+#include "chrome/browser/importer/importer.h"
+
+class FirstRunDialog : public ImportObserver {
+ public:
+ // Displays the first run UI for reporting opt-in, import data etc.
+ static bool Show(Profile* profile, ProcessSingleton* process_singleton);
+
+ // Overridden from ImportObserver:
+ virtual void ImportCanceled() {
+ FirstRunDone();
+ }
+ virtual void ImportComplete() {
+ FirstRunDone();
+ }
+
+ private:
+ FirstRunDialog(Profile* profile, int& response);
+ ~FirstRunDialog() {}
+
+ CHROMEGTK_CALLBACK_1(FirstRunDialog, void, OnResponseDialog, int);
+ CHROMEG_CALLBACK_0(FirstRunDialog, void, OnLearnMoreLinkClicked, GtkButton*);
+
+ // This method closes the first run window and quits the message loop so that
+ // the Chrome startup can continue. This should be called when all the
+ // first run tasks are done.
+ void FirstRunDone();
+
+ // First Run UI Dialog
+ GtkWidget* dialog_;
+
+ // Crash reporting checkbox
+ GtkWidget* report_crashes_;
+
+ // Make browser default checkbox
+ GtkWidget* make_default_;
+
+ // Import data checkbox
+ GtkWidget* import_data_;
+
+ // Combo box that displays list of profiles from which we can import.
+ GtkWidget* import_profile_;
+
+ // Our current profile
+ Profile* profile_;
+
+ // User response (accept or cancel) is returned through this.
+ int& response_;
+
+ // Utility class that does the actual import.
+ scoped_refptr<ImporterHost> importer_host_;
+
+ DISALLOW_COPY_AND_ASSIGN(FirstRunDialog);
+};
+
+#endif // CHROME_BROWSER_GTK_FIRST_RUN_DIALOG_H_