| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/gtk/first_run_bubble.h" | 5 #include "chrome/browser/ui/gtk/first_run_bubble.h" |
| 6 | 6 |
| 7 #include <gtk/gtk.h> | 7 #include <gtk/gtk.h> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/i18n/rtl.h" | 10 #include "base/i18n/rtl.h" |
| 11 #include "base/utf_string_conversions.h" | 11 #include "base/utf_string_conversions.h" |
| 12 #include "chrome/browser/search_engines/util.h" | 12 #include "chrome/browser/search_engines/util.h" |
| 13 #include "chrome/browser/ui/browser.h" | 13 #include "chrome/browser/ui/browser.h" |
| 14 #include "chrome/browser/ui/browser_list.h" | 14 #include "chrome/browser/ui/browser_list.h" |
| 15 #include "chrome/browser/ui/gtk/gtk_theme_service.h" | 15 #include "chrome/browser/ui/gtk/gtk_theme_service.h" |
| 16 #include "chrome/browser/ui/gtk/gtk_util.h" | 16 #include "chrome/browser/ui/gtk/gtk_util.h" |
| 17 #include "grit/chromium_strings.h" | 17 #include "grit/chromium_strings.h" |
| 18 #include "grit/generated_resources.h" | 18 #include "grit/generated_resources.h" |
| 19 #include "grit/locale_settings.h" | 19 #include "grit/locale_settings.h" |
| 20 #include "ui/base/gtk/gtk_hig_constants.h" | |
| 21 #include "ui/base/l10n/l10n_util.h" | 20 #include "ui/base/l10n/l10n_util.h" |
| 22 | 21 |
| 23 namespace { | 22 namespace { |
| 24 // Markup for the text of the Omnibox search label | 23 // Markup for the text of the Omnibox search label |
| 25 const char kSearchLabelMarkup[] = "<big><b>%s</b></big>"; | 24 const char kSearchLabelMarkup[] = "<big><b>%s</b></big>"; |
| 26 | 25 |
| 27 // Padding for the buttons on first run bubble. | 26 // Padding for the buttons on first run bubble. |
| 28 const int kButtonPadding = 4; | 27 const int kButtonPadding = 4; |
| 29 | 28 |
| 30 // Padding between content and edge of bubble. | 29 // Padding between content and edge of bubble. |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 NOTREACHED(); | 94 NOTREACHED(); |
| 96 return; | 95 return; |
| 97 } | 96 } |
| 98 } | 97 } |
| 99 | 98 |
| 100 FirstRunBubble::~FirstRunBubble() { | 99 FirstRunBubble::~FirstRunBubble() { |
| 101 } | 100 } |
| 102 | 101 |
| 103 void FirstRunBubble::InitializeContentForLarge( | 102 void FirstRunBubble::InitializeContentForLarge( |
| 104 std::vector<GtkWidget*>* labels) { | 103 std::vector<GtkWidget*>* labels) { |
| 105 GtkWidget* label1 = theme_service_->BuildLabel("", ui::kGdkBlack); | 104 GtkWidget* label1 = theme_service_->BuildLabel("", gtk_util::kGdkBlack); |
| 106 labels->push_back(label1); | 105 labels->push_back(label1); |
| 107 char* markup = g_markup_printf_escaped(kSearchLabelMarkup, | 106 char* markup = g_markup_printf_escaped(kSearchLabelMarkup, |
| 108 l10n_util::GetStringUTF8(IDS_FR_BUBBLE_TITLE).c_str()); | 107 l10n_util::GetStringUTF8(IDS_FR_BUBBLE_TITLE).c_str()); |
| 109 gtk_label_set_markup(GTK_LABEL(label1), markup); | 108 gtk_label_set_markup(GTK_LABEL(label1), markup); |
| 110 g_free(markup); | 109 g_free(markup); |
| 111 | 110 |
| 112 GtkWidget* label2 = theme_service_->BuildLabel( | 111 GtkWidget* label2 = theme_service_->BuildLabel( |
| 113 l10n_util::GetStringUTF8(IDS_FR_BUBBLE_SUBTEXT), ui::kGdkBlack); | 112 l10n_util::GetStringUTF8(IDS_FR_BUBBLE_SUBTEXT), gtk_util::kGdkBlack); |
| 114 labels->push_back(label2); | 113 labels->push_back(label2); |
| 115 | 114 |
| 116 string16 search_engine = GetDefaultSearchEngineName(profile_); | 115 string16 search_engine = GetDefaultSearchEngineName(profile_); |
| 117 GtkWidget* label3 = theme_service_->BuildLabel( | 116 GtkWidget* label3 = theme_service_->BuildLabel( |
| 118 l10n_util::GetStringFUTF8(IDS_FR_BUBBLE_QUESTION, search_engine), | 117 l10n_util::GetStringFUTF8(IDS_FR_BUBBLE_QUESTION, search_engine), |
| 119 ui::kGdkBlack); | 118 gtk_util::kGdkBlack); |
| 120 labels->push_back(label3); | 119 labels->push_back(label3); |
| 121 | 120 |
| 122 GtkWidget* keep_button = gtk_button_new_with_label( | 121 GtkWidget* keep_button = gtk_button_new_with_label( |
| 123 l10n_util::GetStringFUTF8(IDS_FR_BUBBLE_OK, search_engine).c_str()); | 122 l10n_util::GetStringFUTF8(IDS_FR_BUBBLE_OK, search_engine).c_str()); |
| 124 GtkWidget* change_button = gtk_button_new_with_label( | 123 GtkWidget* change_button = gtk_button_new_with_label( |
| 125 l10n_util::GetStringUTF8(IDS_FR_BUBBLE_CHANGE).c_str()); | 124 l10n_util::GetStringUTF8(IDS_FR_BUBBLE_CHANGE).c_str()); |
| 126 | 125 |
| 127 gtk_box_pack_start(GTK_BOX(content_), label1, FALSE, FALSE, 0); | 126 gtk_box_pack_start(GTK_BOX(content_), label1, FALSE, FALSE, 0); |
| 128 gtk_box_pack_start(GTK_BOX(content_), label2, FALSE, FALSE, 0); | 127 gtk_box_pack_start(GTK_BOX(content_), label2, FALSE, FALSE, 0); |
| 129 // Leave an empty line. | 128 // Leave an empty line. |
| (...skipping 18 matching lines...) Expand all Loading... |
| 148 G_CALLBACK(&HandleChangeButtonThunk), this); | 147 G_CALLBACK(&HandleChangeButtonThunk), this); |
| 149 } | 148 } |
| 150 | 149 |
| 151 void FirstRunBubble::InitializeContentForOEM(std::vector<GtkWidget*>* labels) { | 150 void FirstRunBubble::InitializeContentForOEM(std::vector<GtkWidget*>* labels) { |
| 152 NOTIMPLEMENTED() << "Falling back to minimal bubble"; | 151 NOTIMPLEMENTED() << "Falling back to minimal bubble"; |
| 153 InitializeContentForMinimal(labels); | 152 InitializeContentForMinimal(labels); |
| 154 } | 153 } |
| 155 | 154 |
| 156 void FirstRunBubble::InitializeContentForMinimal( | 155 void FirstRunBubble::InitializeContentForMinimal( |
| 157 std::vector<GtkWidget*>* labels) { | 156 std::vector<GtkWidget*>* labels) { |
| 158 GtkWidget* label1 = theme_service_->BuildLabel("", ui::kGdkBlack); | 157 GtkWidget* label1 = theme_service_->BuildLabel("", gtk_util::kGdkBlack); |
| 159 labels->push_back(label1); | 158 labels->push_back(label1); |
| 160 char* markup = g_markup_printf_escaped(kSearchLabelMarkup, | 159 char* markup = g_markup_printf_escaped(kSearchLabelMarkup, |
| 161 l10n_util::GetStringFUTF8( | 160 l10n_util::GetStringFUTF8( |
| 162 IDS_FR_SE_BUBBLE_TITLE, | 161 IDS_FR_SE_BUBBLE_TITLE, |
| 163 GetDefaultSearchEngineName(profile_)).c_str()); | 162 GetDefaultSearchEngineName(profile_)).c_str()); |
| 164 gtk_label_set_markup(GTK_LABEL(label1), markup); | 163 gtk_label_set_markup(GTK_LABEL(label1), markup); |
| 165 g_free(markup); | 164 g_free(markup); |
| 166 | 165 |
| 167 GtkWidget* label2 = theme_service_->BuildLabel( | 166 GtkWidget* label2 = theme_service_->BuildLabel( |
| 168 l10n_util::GetStringUTF8(IDS_FR_BUBBLE_SUBTEXT), ui::kGdkBlack); | 167 l10n_util::GetStringUTF8(IDS_FR_BUBBLE_SUBTEXT), gtk_util::kGdkBlack); |
| 169 labels->push_back(label2); | 168 labels->push_back(label2); |
| 170 | 169 |
| 171 gtk_box_pack_start(GTK_BOX(content_), label1, FALSE, FALSE, 0); | 170 gtk_box_pack_start(GTK_BOX(content_), label1, FALSE, FALSE, 0); |
| 172 gtk_box_pack_start(GTK_BOX(content_), label2, FALSE, FALSE, 0); | 171 gtk_box_pack_start(GTK_BOX(content_), label2, FALSE, FALSE, 0); |
| 173 } | 172 } |
| 174 | 173 |
| 175 void FirstRunBubble::InitializeLabels(int width_resource, | 174 void FirstRunBubble::InitializeLabels(int width_resource, |
| 176 std::vector<GtkWidget*>* labels) { | 175 std::vector<GtkWidget*>* labels) { |
| 177 int width = -1; | 176 int width = -1; |
| 178 | 177 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 195 void FirstRunBubble::HandleKeepButton(GtkWidget* sender) { | 194 void FirstRunBubble::HandleKeepButton(GtkWidget* sender) { |
| 196 bubble_->Close(); | 195 bubble_->Close(); |
| 197 } | 196 } |
| 198 | 197 |
| 199 void FirstRunBubble::HandleChangeButton(GtkWidget* sender) { | 198 void FirstRunBubble::HandleChangeButton(GtkWidget* sender) { |
| 200 bubble_->Close(); | 199 bubble_->Close(); |
| 201 Browser* browser = BrowserList::GetLastActiveWithProfile(profile_); | 200 Browser* browser = BrowserList::GetLastActiveWithProfile(profile_); |
| 202 DCHECK(browser); | 201 DCHECK(browser); |
| 203 browser->OpenSearchEngineOptionsDialog(); | 202 browser->OpenSearchEngineOptionsDialog(); |
| 204 } | 203 } |
| OLD | NEW |