Index: chrome/browser/ui/gtk/sad_tab_gtk.cc |
diff --git a/chrome/browser/ui/gtk/sad_tab_gtk.cc b/chrome/browser/ui/gtk/sad_tab_gtk.cc |
index d8187296390fe5ff274de1c31b03c8bd24cd3741..884431f0dc4cf39297df94a4352df508295a2bdf 100644 |
--- a/chrome/browser/ui/gtk/sad_tab_gtk.cc |
+++ b/chrome/browser/ui/gtk/sad_tab_gtk.cc |
@@ -4,8 +4,7 @@ |
#include "chrome/browser/ui/gtk/sad_tab_gtk.h" |
-#include <string> |
- |
+#include "base/utf_string_conversions.h" |
#include "chrome/browser/google/google_util.h" |
#include "chrome/browser/ui/gtk/gtk_chrome_link_button.h" |
#include "chrome/common/url_constants.h" |
@@ -109,15 +108,42 @@ SadTabGtk::SadTabGtk(TabContents* tab_contents, Kind kind) |
gtk_box_pack_start(GTK_BOX(vbox), spacer, FALSE, FALSE, 0); |
if (tab_contents_ != NULL) { |
- // Add the learn-more link and center-align it in an alignment. |
- GtkWidget* link = gtk_chrome_link_button_new( |
- l10n_util::GetStringUTF8(IDS_LEARN_MORE).c_str()); |
+ // Create the help link and alignment. |
+ std::string link_text(l10n_util::GetStringUTF8( |
+ kind == CRASHED ? IDS_SAD_TAB_HELP_LINK : IDS_LEARN_MORE)); |
+ GtkWidget* link = gtk_chrome_link_button_new(link_text.c_str()); |
gtk_chrome_link_button_set_normal_color(GTK_CHROME_LINK_BUTTON(link), |
&ui::kGdkWhite); |
g_signal_connect(link, "clicked", G_CALLBACK(OnLinkButtonClickThunk), this); |
- GtkWidget* link_alignment = gtk_alignment_new(0.5, 0.5, 0.0, 0.0); |
- gtk_container_add(GTK_CONTAINER(link_alignment), link); |
- gtk_box_pack_start(GTK_BOX(vbox), link_alignment, FALSE, FALSE, 0); |
+ GtkWidget* help_alignment = gtk_alignment_new(0.5, 0.5, 0.0, 0.0); |
+ |
+ if (kind == CRASHED) { |
+ // Use a horizontal box to contain the help text and link. |
+ GtkWidget* help_hbox = gtk_hbox_new(FALSE, 0); |
+ gtk_container_add(GTK_CONTAINER(vbox), help_hbox); |
+ |
+ size_t offset = 0; |
+ string16 help_text(l10n_util::GetStringFUTF16(IDS_SAD_TAB_HELP_MESSAGE, |
+ string16(), &offset)); |
+ std::string help_prefix_text(UTF16ToUTF8(help_text.substr(0, offset))); |
+ std::string help_suffix_text(UTF16ToUTF8(help_text.substr(offset))); |
+ |
+ GtkWidget* help_prefix = MakeWhiteMarkupLabel( |
+ "<span style=\"normal\">%s</span>", help_prefix_text); |
+ GtkWidget* help_suffix = MakeWhiteMarkupLabel( |
+ "<span style=\"normal\">%s</span>", help_suffix_text); |
+ |
+ // Add the help link and text to the horizontal box. |
+ gtk_box_pack_start(GTK_BOX(help_hbox), help_prefix, FALSE, FALSE, 0); |
+ GtkWidget* link_alignment = gtk_alignment_new(0.5, 0.5, 0.0, 0.0); |
+ gtk_container_add(GTK_CONTAINER(link_alignment), link); |
+ gtk_box_pack_start(GTK_BOX(help_hbox), link_alignment, FALSE, FALSE, 0); |
+ gtk_box_pack_start(GTK_BOX(help_hbox), help_suffix, FALSE, FALSE, 0); |
+ } else { |
+ // Add just the help link to a centered alignment. |
+ gtk_container_add(GTK_CONTAINER(help_alignment), link); |
+ } |
+ gtk_box_pack_start(GTK_BOX(vbox), help_alignment, FALSE, FALSE, 0); |
} |
gtk_widget_show_all(event_box_.get()); |