Home | History | Annotate | Download | only in gtk
      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_
     57