Upstream version 7.35.144.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / gtk / first_run_dialog.h
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_UI_GTK_FIRST_RUN_DIALOG_H_
6 #define CHROME_BROWSER_UI_GTK_FIRST_RUN_DIALOG_H_
7
8 typedef struct _GtkButton GtkButton;
9 typedef struct _GtkWidget GtkWidget;
10
11 #include "base/compiler_specific.h"
12 #include "chrome/browser/first_run/first_run.h"
13 #include "ui/base/gtk/gtk_signal.h"
14
15 class FirstRunDialog {
16  public:
17   // Displays the first run UI for reporting opt-in, import data etc.
18   // Returns true if the dialog was shown.
19   static bool Show(Profile* profile);
20
21  private:
22   explicit FirstRunDialog(Profile* profile);
23   virtual ~FirstRunDialog();
24
25   CHROMEGTK_CALLBACK_1(FirstRunDialog, void, OnResponseDialog, int);
26   CHROMEG_CALLBACK_0(FirstRunDialog, void, OnLearnMoreLinkClicked, GtkButton*);
27
28   void ShowReportingDialog();
29
30   // This method closes the first run window and quits the message loop so that
31   // the Chrome startup can continue. This should be called when all the
32   // first run tasks are done.
33   void FirstRunDone();
34
35   Profile* profile_;
36
37   // Dialog that holds the bug reporting and default browser checkboxes.
38   GtkWidget* dialog_;
39
40   // Crash reporting checkbox
41   GtkWidget* report_crashes_;
42
43   // Make browser default checkbox
44   GtkWidget* make_default_;
45
46   // Whether we should show the dialog asking the user whether to report
47   // crashes and usage stats.
48   bool show_reporting_dialog_;
49
50   // User response (accept or cancel) is returned through this.
51   int* response_;
52
53   DISALLOW_COPY_AND_ASSIGN(FirstRunDialog);
54 };
55
56 #endif  // CHROME_BROWSER_UI_GTK_FIRST_RUN_DIALOG_H_