summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-14 22:53:50 +0000
committerrafaelw@chromium.org <rafaelw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-14 22:53:50 +0000
commit2687c3851d571aaa63e33332308706185c3119ec (patch)
treea23f7a4097bf15f45625b326f8c7c5d350f77cc1
parent314667782d2b9226b0752878b7f2bd734814790f (diff)
downloadchromium_src-2687c3851d571aaa63e33332308706185c3119ec.zip
chromium_src-2687c3851d571aaa63e33332308706185c3119ec.tar.gz
chromium_src-2687c3851d571aaa63e33332308706185c3119ec.tar.bz2
Update Linux extension install prompt
BUG=21416 Review URL: http://codereview.chromium.org/203058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26170 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/gtk/extension_install_prompt_gtk.cc66
1 files changed, 22 insertions, 44 deletions
diff --git a/chrome/browser/gtk/extension_install_prompt_gtk.cc b/chrome/browser/gtk/extension_install_prompt_gtk.cc
index c49102e..28f4c56 100644
--- a/chrome/browser/gtk/extension_install_prompt_gtk.cc
+++ b/chrome/browser/gtk/extension_install_prompt_gtk.cc
@@ -50,7 +50,8 @@ void OnDialogResponse(GtkDialog* dialog, int response_id,
void ShowInstallPromptDialog(GtkWindow* parent, SkBitmap* skia_icon,
Extension *extension,
- ExtensionInstallUI::Delegate *delegate) {
+ ExtensionInstallUI::Delegate *delegate,
+ const std::string& warning_text) {
// Build the dialog.
GtkWidget* dialog = gtk_dialog_new_with_buttons(
l10n_util::GetStringUTF8(IDS_EXTENSION_PROMPT_TITLE).c_str(),
@@ -63,44 +64,30 @@ void ShowInstallPromptDialog(GtkWindow* parent, SkBitmap* skia_icon,
NULL);
gtk_dialog_set_has_separator(GTK_DIALOG(dialog), FALSE);
+ // Create a two column layout.
GtkWidget* content_area = GTK_DIALOG(dialog)->vbox;
gtk_box_set_spacing(GTK_BOX(content_area), gtk_util::kContentAreaSpacing);
- GtkWidget* right_column_area;
- if (skia_icon) {
- // Create a two column layout.
- GtkWidget* icon_hbox = gtk_hbox_new(FALSE, gtk_util::kContentAreaSpacing);
- gtk_box_pack_start(GTK_BOX(content_area), icon_hbox, TRUE, TRUE, 0);
+ GtkWidget* icon_hbox = gtk_hbox_new(FALSE, gtk_util::kContentAreaSpacing);
+ gtk_box_pack_start(GTK_BOX(content_area), icon_hbox, TRUE, TRUE, 0);
- // Put Icon in the left column.
- GdkPixbuf* pixbuf = gfx::GdkPixbufFromSkBitmap(skia_icon);
- GtkWidget* icon = gtk_image_new_from_pixbuf(pixbuf);
- gtk_box_pack_start(GTK_BOX(icon_hbox), icon, TRUE, TRUE, 0);
+ // Put Icon in the left column.
+ GdkPixbuf* pixbuf = gfx::GdkPixbufFromSkBitmap(skia_icon);
+ GtkWidget* icon = gtk_image_new_from_pixbuf(pixbuf);
+ gtk_box_pack_start(GTK_BOX(icon_hbox), icon, TRUE, TRUE, 0);
- // Create a new vbox for the right column.
- right_column_area = gtk_vbox_new(FALSE, 0);
- gtk_box_pack_start(GTK_BOX(icon_hbox), right_column_area, TRUE, TRUE, 0);
- } else {
- right_column_area = content_area;
- }
+ // Create a new vbox for the right column.
+ GtkWidget* right_column_area = gtk_vbox_new(FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(icon_hbox), right_column_area, TRUE, TRUE, 0);
- // Prompt.
- std::string prompt_text = WideToUTF8(l10n_util::GetStringF(
+ std::string heading_text = WideToUTF8(l10n_util::GetStringF(
IDS_EXTENSION_PROMPT_HEADING, UTF8ToWide(extension->name())));
- GtkWidget* prompt_label = MakeMarkupLabel("<span weight=\"bold\">%s</span>",
- prompt_text);
- gtk_misc_set_alignment(GTK_MISC(prompt_label), 0.0, 0.5);
- gtk_label_set_selectable(GTK_LABEL(prompt_label), TRUE);
- gtk_box_pack_start(GTK_BOX(right_column_area), prompt_label, TRUE, TRUE, 0);
-
- // Pick a random warning.
- std::string warnings[] = {
- l10n_util::GetStringUTF8(IDS_EXTENSION_PROMPT_WARNING_1),
- l10n_util::GetStringUTF8(IDS_EXTENSION_PROMPT_WARNING_2),
- l10n_util::GetStringUTF8(IDS_EXTENSION_PROMPT_WARNING_3)
- };
- std::string warning_text = warnings[
- base::RandInt(0, arraysize(warnings) - 1)];
+ GtkWidget* heading_label = MakeMarkupLabel("<span weight=\"bold\">%s</span>",
+ heading_text);
+ gtk_misc_set_alignment(GTK_MISC(heading_label), 0.0, 0.5);
+ gtk_label_set_selectable(GTK_LABEL(heading_label), TRUE);
+ gtk_box_pack_start(GTK_BOX(right_column_area), heading_label, TRUE, TRUE, 0);
+
GtkWidget* warning_label = gtk_label_new(warning_text.c_str());
gtk_label_set_line_wrap(GTK_LABEL(warning_label), TRUE);
gtk_widget_set_size_request(warning_label, kRightColumnWidth, -1);
@@ -108,17 +95,6 @@ void ShowInstallPromptDialog(GtkWindow* parent, SkBitmap* skia_icon,
gtk_label_set_selectable(GTK_LABEL(warning_label), TRUE);
gtk_box_pack_start(GTK_BOX(right_column_area), warning_label, TRUE, TRUE, 0);
- // Severe label
- std::string severe_text = l10n_util::GetStringUTF8(
- IDS_EXTENSION_PROMPT_WARNING_SEVERE);
- GtkWidget* severe_label = MakeMarkupLabel("<span weight=\"bold\">%s</span>",
- severe_text);
- GdkColor red = GDK_COLOR_RGB(0xff, 0x00, 0x00);
- gtk_widget_modify_fg(severe_label, GTK_STATE_NORMAL, &red);
- gtk_misc_set_alignment(GTK_MISC(severe_label), 0.0, 0.5);
- gtk_label_set_selectable(GTK_LABEL(severe_label), TRUE);
- gtk_box_pack_start(GTK_BOX(right_column_area), severe_label, TRUE, TRUE, 0);
-
g_signal_connect(dialog, "response", G_CALLBACK(OnDialogResponse), delegate);
gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE);
gtk_widget_show_all(dialog);
@@ -142,5 +118,7 @@ void ExtensionInstallUI::ShowExtensionInstallPrompt(
return;
}
- ShowInstallPromptDialog(browser_window->window(), icon, extension, delegate);
+ std::string warning_ascii = WideToASCII(warning_text);
+ ShowInstallPromptDialog(browser_window->window(), icon, extension, delegate,
+ warning_ascii);
}