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();
     20 
     21  private:
     22   FirstRunDialog();
     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   // Dialog that holds the bug reporting and default browser checkboxes.
     36   GtkWidget* dialog_;
     37 
     38   // Crash reporting checkbox
     39   GtkWidget* report_crashes_;
     40 
     41   // Make browser default checkbox
     42   GtkWidget* make_default_;
     43 
     44   // Whether we should show the dialog asking the user whether to report
     45   // crashes and usage stats.
     46   bool show_reporting_dialog_;
     47 
     48   // User response (accept or cancel) is returned through this.
     49   int* response_;
     50 
     51   DISALLOW_COPY_AND_ASSIGN(FirstRunDialog);
     52 };
     53 
     54 #endif  // CHROME_BROWSER_UI_GTK_FIRST_RUN_DIALOG_H_
     55