| Index: chrome/browser/ui/gtk/first_run_dialog.cc
|
| diff --git a/chrome/browser/ui/gtk/first_run_dialog.cc b/chrome/browser/ui/gtk/first_run_dialog.cc
|
| deleted file mode 100644
|
| index 3c5bde5c3d08798babd144266e2989358fdf5dac..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/gtk/first_run_dialog.cc
|
| +++ /dev/null
|
| @@ -1,164 +0,0 @@
|
| -// Copyright (c) 2012 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/ui/gtk/first_run_dialog.h"
|
| -
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "base/i18n/rtl.h"
|
| -#include "base/message_loop/message_loop.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "chrome/browser/first_run/first_run_dialog.h"
|
| -#include "chrome/browser/platform_util.h"
|
| -#include "chrome/browser/process_singleton.h"
|
| -#include "chrome/browser/shell_integration.h"
|
| -#include "chrome/browser/ui/gtk/gtk_chrome_link_button.h"
|
| -#include "chrome/browser/ui/gtk/gtk_util.h"
|
| -#include "chrome/common/pref_names.h"
|
| -#include "chrome/common/url_constants.h"
|
| -#include "chrome/installer/util/google_update_settings.h"
|
| -#include "components/breakpad/app/breakpad_linux.h"
|
| -#include "grit/chromium_strings.h"
|
| -#include "grit/generated_resources.h"
|
| -#include "grit/locale_settings.h"
|
| -#include "grit/theme_resources.h"
|
| -#include "ui/base/gtk/gtk_floating_container.h"
|
| -#include "ui/base/gtk/gtk_hig_constants.h"
|
| -#include "ui/base/l10n/l10n_util.h"
|
| -#include "ui/base/resource/resource_bundle.h"
|
| -
|
| -#if defined(GOOGLE_CHROME_BUILD)
|
| -#include "base/prefs/pref_service.h"
|
| -#include "chrome/browser/browser_process.h"
|
| -#endif
|
| -
|
| -namespace first_run {
|
| -
|
| -bool ShowFirstRunDialog(Profile* profile) {
|
| - return FirstRunDialog::Show(profile);
|
| -}
|
| -
|
| -} // namespace first_run
|
| -
|
| -// static
|
| -bool FirstRunDialog::Show(Profile* profile) {
|
| - bool dialog_shown = false;
|
| -#if defined(GOOGLE_CHROME_BUILD)
|
| - // If the metrics reporting is managed, we won't ask.
|
| - const PrefService::Preference* metrics_reporting_pref =
|
| - g_browser_process->local_state()->FindPreference(
|
| - prefs::kMetricsReportingEnabled);
|
| - bool show_reporting_dialog = !metrics_reporting_pref ||
|
| - !metrics_reporting_pref->IsManaged();
|
| -
|
| - if (show_reporting_dialog) {
|
| - // Object deletes itself.
|
| - new FirstRunDialog(profile);
|
| - dialog_shown = true;
|
| -
|
| - // TODO(port): it should be sufficient to just run the dialog:
|
| - // int response = gtk_dialog_run(GTK_DIALOG(dialog));
|
| - // but that spins a nested message loop and hoses us. :(
|
| - // http://code.google.com/p/chromium/issues/detail?id=12552
|
| - // Instead, run a loop directly here.
|
| - base::MessageLoop::current()->Run();
|
| - }
|
| -#endif // defined(GOOGLE_CHROME_BUILD)
|
| - return dialog_shown;
|
| -}
|
| -
|
| -FirstRunDialog::FirstRunDialog(Profile* profile)
|
| - : profile_(profile),
|
| - dialog_(NULL),
|
| - report_crashes_(NULL),
|
| - make_default_(NULL) {
|
| - ShowReportingDialog();
|
| -}
|
| -
|
| -FirstRunDialog::~FirstRunDialog() {
|
| -}
|
| -
|
| -void FirstRunDialog::ShowReportingDialog() {
|
| - dialog_ = gtk_dialog_new_with_buttons(
|
| - l10n_util::GetStringUTF8(IDS_FIRSTRUN_DLG_TITLE).c_str(),
|
| - NULL, // No parent
|
| - (GtkDialogFlags) (GTK_DIALOG_MODAL | GTK_DIALOG_NO_SEPARATOR),
|
| - NULL);
|
| - gtk_util::AddButtonToDialog(dialog_,
|
| - l10n_util::GetStringUTF8(IDS_FIRSTRUN_DLG_OK).c_str(),
|
| - GTK_STOCK_APPLY, GTK_RESPONSE_ACCEPT);
|
| - gtk_window_set_deletable(GTK_WINDOW(dialog_), FALSE);
|
| -
|
| - gtk_window_set_resizable(GTK_WINDOW(dialog_), FALSE);
|
| -
|
| - g_signal_connect(dialog_, "delete-event",
|
| - G_CALLBACK(gtk_widget_hide_on_delete), NULL);
|
| -
|
| - GtkWidget* content_area = gtk_dialog_get_content_area(GTK_DIALOG(dialog_));
|
| -
|
| - make_default_ = gtk_check_button_new_with_label(
|
| - l10n_util::GetStringUTF8(IDS_FR_CUSTOMIZE_DEFAULT_BROWSER).c_str());
|
| - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(make_default_), TRUE);
|
| - gtk_box_pack_start(GTK_BOX(content_area), make_default_, FALSE, FALSE, 0);
|
| -
|
| - report_crashes_ = gtk_check_button_new();
|
| - GtkWidget* check_label = gtk_label_new(
|
| - l10n_util::GetStringUTF8(IDS_OPTIONS_ENABLE_LOGGING).c_str());
|
| - gtk_label_set_line_wrap(GTK_LABEL(check_label), TRUE);
|
| - gtk_container_add(GTK_CONTAINER(report_crashes_), check_label);
|
| - GtkWidget* learn_more_vbox = gtk_vbox_new(FALSE, 0);
|
| - gtk_box_pack_start(GTK_BOX(learn_more_vbox), report_crashes_,
|
| - FALSE, FALSE, 0);
|
| -
|
| - GtkWidget* learn_more_link = gtk_chrome_link_button_new(
|
| - l10n_util::GetStringUTF8(IDS_LEARN_MORE).c_str());
|
| - gtk_button_set_alignment(GTK_BUTTON(learn_more_link), 0.0, 0.5);
|
| - gtk_box_pack_start(GTK_BOX(learn_more_vbox),
|
| - gtk_util::IndentWidget(learn_more_link),
|
| - FALSE, FALSE, 0);
|
| - g_signal_connect(learn_more_link, "clicked",
|
| - G_CALLBACK(OnLearnMoreLinkClickedThunk), this);
|
| -
|
| - gtk_box_pack_start(GTK_BOX(content_area), learn_more_vbox, FALSE, FALSE, 0);
|
| -
|
| - g_signal_connect(dialog_, "response",
|
| - G_CALLBACK(OnResponseDialogThunk), this);
|
| - gtk_widget_show_all(dialog_);
|
| -}
|
| -
|
| -void FirstRunDialog::OnResponseDialog(GtkWidget* widget, int response) {
|
| - if (dialog_)
|
| - gtk_widget_hide_all(dialog_);
|
| -
|
| - // Check if user has opted into reporting.
|
| - if (report_crashes_ &&
|
| - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(report_crashes_))) {
|
| - if (GoogleUpdateSettings::SetCollectStatsConsent(true))
|
| - breakpad::InitCrashReporter(std::string());
|
| - } else {
|
| - GoogleUpdateSettings::SetCollectStatsConsent(false);
|
| - }
|
| -
|
| - // If selected set as default browser.
|
| - if (make_default_ &&
|
| - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(make_default_))) {
|
| - ShellIntegration::SetAsDefaultBrowser();
|
| - }
|
| -
|
| - FirstRunDone();
|
| -}
|
| -
|
| -void FirstRunDialog::OnLearnMoreLinkClicked(GtkButton* button) {
|
| - platform_util::OpenExternal(profile_, GURL(chrome::kLearnMoreReportingURL));
|
| -}
|
| -
|
| -void FirstRunDialog::FirstRunDone() {
|
| - first_run::SetShouldShowWelcomePage();
|
| -
|
| - if (dialog_)
|
| - gtk_widget_destroy(dialog_);
|
| - base::MessageLoop::current()->Quit();
|
| - delete this;
|
| -}
|
|
|