summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-16 23:31:55 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-16 23:31:55 +0000
commit20de26673dfe5e96ca750913bfef83c0e0890fa0 (patch)
tree98187d0e23773b86d4fbbac42a3066f3be0321fa /chrome
parent9cc060b5bbf42f91aac1ed816589fa7c527122c9 (diff)
downloadchromium_src-20de26673dfe5e96ca750913bfef83c0e0890fa0.zip
chromium_src-20de26673dfe5e96ca750913bfef83c0e0890fa0.tar.gz
chromium_src-20de26673dfe5e96ca750913bfef83c0e0890fa0.tar.bz2
GTK: let the extension install prompt permissions line wrap.
Changed from GtkEntry's to GtkTextViews. BUG=41364 TEST=manual Review URL: http://codereview.chromium.org/1582028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44858 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/gtk/extension_install_prompt2_gtk.cc50
1 files changed, 35 insertions, 15 deletions
diff --git a/chrome/browser/gtk/extension_install_prompt2_gtk.cc b/chrome/browser/gtk/extension_install_prompt2_gtk.cc
index 5714414..b49dcbb 100644
--- a/chrome/browser/gtk/extension_install_prompt2_gtk.cc
+++ b/chrome/browser/gtk/extension_install_prompt2_gtk.cc
@@ -118,23 +118,43 @@ void ShowInstallPromptDialog2(GtkWindow* parent, SkBitmap* skia_icon,
GtkWidget* frame = gtk_frame_new(NULL);
gtk_box_pack_start(GTK_BOX(right_column_area), frame, FALSE, FALSE, 0);
- GtkWidget* table = gtk_table_new(permissions.size(), 1, false);
- gtk_container_add(GTK_CONTAINER(frame), table);
- int row = 0;
+ GtkWidget* text_view = gtk_text_view_new();
+ gtk_container_add(GTK_CONTAINER(frame), text_view);
+ gtk_text_view_set_editable(GTK_TEXT_VIEW(text_view), FALSE);
+ gtk_text_view_set_left_margin(GTK_TEXT_VIEW(text_view),
+ kPermissionsPadding);
+ gtk_text_view_set_right_margin(GTK_TEXT_VIEW(text_view),
+ kPermissionsPadding);
+ gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(text_view), GTK_WRAP_WORD);
+ GtkTextBuffer* buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_view));
+ GtkTextTagTable* tag_table = gtk_text_buffer_get_tag_table(buffer);
+
+ GtkTextTag* padding_below_tag = gtk_text_tag_new(NULL);
+ g_object_set(G_OBJECT(padding_below_tag), "pixels-below-lines",
+ kPermissionsPadding, NULL);
+ g_object_set(G_OBJECT(padding_below_tag), "pixels-below-lines-set",
+ TRUE, NULL);
+ gtk_text_tag_table_add(tag_table, padding_below_tag);
+ g_object_unref(padding_below_tag);
+ GtkTextTag* padding_above_tag = gtk_text_tag_new(NULL);
+ g_object_set(G_OBJECT(padding_above_tag), "pixels-above-lines",
+ kPermissionsPadding, NULL);
+ g_object_set(G_OBJECT(padding_above_tag), "pixels-above-lines-set",
+ TRUE, NULL);
+ gtk_text_tag_table_add(tag_table, padding_above_tag);
+ g_object_unref(padding_above_tag);
+
+ GtkTextIter end_iter;
+ gtk_text_buffer_get_end_iter(buffer, &end_iter);
for (std::vector<string16>::const_iterator iter = permissions.begin();
iter != permissions.end(); ++iter) {
- GtkWidget* entry = gtk_entry_new();
- GtkBorder border = { kPermissionsPadding, kPermissionsPadding,
- row == 0 ? kPermissionsPadding : 0,
- kPermissionsPadding };
- gtk_entry_set_inner_border(GTK_ENTRY(entry), &border);
- gtk_entry_set_text(GTK_ENTRY(entry), UTF16ToUTF8(*iter).c_str());
- gtk_entry_set_editable(GTK_ENTRY(entry), FALSE);
- gtk_entry_set_has_frame(GTK_ENTRY(entry), FALSE);
-
- gtk_table_attach_defaults(GTK_TABLE(table), entry,
- 0, 1, row, row + 1);
- ++row;
+ if (iter != permissions.begin())
+ gtk_text_buffer_insert(buffer, &end_iter, "\n", -1);
+ gtk_text_buffer_insert_with_tags(
+ buffer, &end_iter, UTF16ToUTF8(*iter).c_str(), -1,
+ padding_below_tag,
+ iter == permissions.begin() ? padding_above_tag : NULL,
+ NULL);
}
}