Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(390)

Side by Side Diff: chrome/browser/gtk/content_setting_bubble_gtk.cc

Issue 5564007: Update Content Settings Bubbles (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Address additional CR feedback Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/gtk/content_setting_bubble_gtk.h" 5 #include "chrome/browser/gtk/content_setting_bubble_gtk.h"
6 6
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 // or pain occurs. 185 // or pain occurs.
186 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio), TRUE); 186 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio), TRUE);
187 } 187 }
188 radio_group_gtk_.push_back(radio); 188 radio_group_gtk_.push_back(radio);
189 } 189 }
190 for (std::vector<GtkWidget*>::const_iterator i = radio_group_gtk_.begin(); 190 for (std::vector<GtkWidget*>::const_iterator i = radio_group_gtk_.begin();
191 i != radio_group_gtk_.end(); ++i) { 191 i != radio_group_gtk_.end(); ++i) {
192 // We can attach signal handlers now that all defaults are set. 192 // We can attach signal handlers now that all defaults are set.
193 g_signal_connect(*i, "toggled", G_CALLBACK(OnRadioToggledThunk), this); 193 g_signal_connect(*i, "toggled", G_CALLBACK(OnRadioToggledThunk), this);
194 } 194 }
195 if (!radio_group_gtk_.empty()) {
196 gtk_box_pack_start(GTK_BOX(bubble_content), gtk_hseparator_new(), FALSE,
197 FALSE, 0);
198 }
199 } 195 }
200 196
201 for (std::vector<ContentSettingBubbleModel::DomainList>::const_iterator i = 197 for (std::vector<ContentSettingBubbleModel::DomainList>::const_iterator i =
202 content.domain_lists.begin(); 198 content.domain_lists.begin();
203 i != content.domain_lists.end(); ++i) { 199 i != content.domain_lists.end(); ++i) {
204 // Put each list into its own vbox to allow spacing between lists. 200 // Put each list into its own vbox to allow spacing between lists.
205 GtkWidget* list_content = gtk_vbox_new(FALSE, gtk_util::kControlSpacing); 201 GtkWidget* list_content = gtk_vbox_new(FALSE, gtk_util::kControlSpacing);
206 202
207 GtkWidget* label = gtk_label_new(BuildElidedText(i->title).c_str()); 203 GtkWidget* label = gtk_label_new(BuildElidedText(i->title).c_str());
208 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); 204 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
209 GtkWidget* label_box = gtk_hbox_new(FALSE, 0); 205 GtkWidget* label_box = gtk_hbox_new(FALSE, 0);
210 gtk_box_pack_start(GTK_BOX(label_box), label, FALSE, FALSE, 0); 206 gtk_box_pack_start(GTK_BOX(label_box), label, FALSE, FALSE, 0);
211 gtk_box_pack_start(GTK_BOX(list_content), label_box, FALSE, FALSE, 0); 207 gtk_box_pack_start(GTK_BOX(list_content), label_box, FALSE, FALSE, 0);
212 for (std::set<std::string>::const_iterator j = i->hosts.begin(); 208 for (std::set<std::string>::const_iterator j = i->hosts.begin();
213 j != i->hosts.end(); ++j) { 209 j != i->hosts.end(); ++j) {
214 gtk_box_pack_start(GTK_BOX(list_content), 210 gtk_box_pack_start(GTK_BOX(list_content),
215 gtk_util::IndentWidget(gtk_util::CreateBoldLabel(*j)), 211 gtk_util::IndentWidget(gtk_util::CreateBoldLabel(*j)),
216 FALSE, FALSE, 0); 212 FALSE, FALSE, 0);
217 } 213 }
218 gtk_box_pack_start(GTK_BOX(bubble_content), list_content, FALSE, FALSE, 214 gtk_box_pack_start(GTK_BOX(bubble_content), list_content, FALSE, FALSE,
219 gtk_util::kControlSpacing); 215 gtk_util::kControlSpacing);
220 } 216 }
221 217
222 if (!content.clear_link.empty()) { 218 if (!content.custom_link.empty()) {
223 GtkWidget* clear_link_box = gtk_hbox_new(FALSE, 0); 219 GtkWidget* custom_link_box = gtk_hbox_new(FALSE, 0);
224 GtkWidget* clear_link = gtk_chrome_link_button_new( 220 GtkWidget* custom_link = NULL;
225 content.clear_link.c_str()); 221 if (content.custom_link_enabled) {
226 g_signal_connect(clear_link, "clicked", G_CALLBACK(OnClearLinkClickedThunk), 222 custom_link = gtk_chrome_link_button_new(content.custom_link.c_str());
227 this); 223 g_signal_connect(custom_link, "clicked",
228 gtk_box_pack_start(GTK_BOX(clear_link_box), clear_link, FALSE, FALSE, 0); 224 G_CALLBACK(OnCustomLinkClickedThunk), this);
229 gtk_box_pack_start(GTK_BOX(bubble_content), clear_link_box, 225 } else {
230 FALSE, FALSE, 0); 226 custom_link = gtk_label_new(content.custom_link.c_str());
231 gtk_box_pack_start(GTK_BOX(bubble_content), gtk_hseparator_new(), 227 gtk_misc_set_alignment(GTK_MISC(custom_link), 0, 0.5);
228 }
229 DCHECK(custom_link);
230 gtk_box_pack_start(GTK_BOX(custom_link_box), custom_link, FALSE, FALSE, 0);
231 gtk_box_pack_start(GTK_BOX(bubble_content), custom_link_box,
232 FALSE, FALSE, 0); 232 FALSE, FALSE, 0);
233 } 233 }
234 234
235 if (!content.info_link.empty()) { 235 gtk_box_pack_start(GTK_BOX(bubble_content), gtk_hseparator_new(),
236 GtkWidget* info_link_box = gtk_hbox_new(FALSE, 0); 236 FALSE, FALSE, 0);
237 GtkWidget* info_link = gtk_chrome_link_button_new(
238 content.info_link.c_str());
239 g_signal_connect(info_link, "clicked", G_CALLBACK(OnInfoLinkClickedThunk),
240 this);
241 gtk_box_pack_start(GTK_BOX(info_link_box), info_link, FALSE, FALSE, 0);
242 gtk_box_pack_start(GTK_BOX(bubble_content), info_link_box,
243 FALSE, FALSE, 0);
244 gtk_box_pack_start(GTK_BOX(bubble_content), gtk_hseparator_new(),
245 FALSE, FALSE, 0);
246 }
247
248 if (!content.load_plugins_link_title.empty()) {
249 GtkWidget* load_plugins_link_box = gtk_hbox_new(FALSE, 0);
250 GtkWidget* load_plugins_link = gtk_chrome_link_button_new(
251 content.load_plugins_link_title.c_str());
252 gtk_widget_set_sensitive(load_plugins_link,
253 content.load_plugins_link_enabled);
254 g_signal_connect(load_plugins_link, "clicked",
255 G_CALLBACK(OnLoadPluginsLinkClickedThunk), this);
256 gtk_box_pack_start(GTK_BOX(load_plugins_link_box), load_plugins_link,
257 FALSE, FALSE, 0);
258 gtk_box_pack_start(GTK_BOX(bubble_content), load_plugins_link_box,
259 FALSE, FALSE, 0);
260 gtk_box_pack_start(GTK_BOX(bubble_content), gtk_hseparator_new(),
261 FALSE, FALSE, 0);
262 }
263 237
264 GtkWidget* bottom_box = gtk_hbox_new(FALSE, 0); 238 GtkWidget* bottom_box = gtk_hbox_new(FALSE, 0);
265 239
266 GtkWidget* manage_link = 240 GtkWidget* manage_link =
267 gtk_chrome_link_button_new(content.manage_link.c_str()); 241 gtk_chrome_link_button_new(content.manage_link.c_str());
268 g_signal_connect(manage_link, "clicked", G_CALLBACK(OnManageLinkClickedThunk), 242 g_signal_connect(manage_link, "clicked", G_CALLBACK(OnManageLinkClickedThunk),
269 this); 243 this);
270 gtk_box_pack_start(GTK_BOX(bottom_box), manage_link, FALSE, FALSE, 0); 244 gtk_box_pack_start(GTK_BOX(bottom_box), manage_link, FALSE, FALSE, 0);
271 245
272 GtkWidget* button = gtk_button_new_with_label( 246 GtkWidget* button = gtk_button_new_with_label(
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 return; 298 return;
325 } 299 }
326 } 300 }
327 NOTREACHED() << "unknown radio toggled"; 301 NOTREACHED() << "unknown radio toggled";
328 } 302 }
329 303
330 void ContentSettingBubbleGtk::OnCloseButtonClicked(GtkWidget *button) { 304 void ContentSettingBubbleGtk::OnCloseButtonClicked(GtkWidget *button) {
331 Close(); 305 Close();
332 } 306 }
333 307
308 void ContentSettingBubbleGtk::OnCustomLinkClicked(GtkWidget* button) {
309 content_setting_bubble_model_->OnCustomLinkClicked();
310 Close();
311 }
312
334 void ContentSettingBubbleGtk::OnManageLinkClicked(GtkWidget* button) { 313 void ContentSettingBubbleGtk::OnManageLinkClicked(GtkWidget* button) {
335 content_setting_bubble_model_->OnManageLinkClicked(); 314 content_setting_bubble_model_->OnManageLinkClicked();
336 Close(); 315 Close();
337 } 316 }
338
339 void ContentSettingBubbleGtk::OnClearLinkClicked(GtkWidget* button) {
340 content_setting_bubble_model_->OnClearLinkClicked();
341 Close();
342 }
343
344 void ContentSettingBubbleGtk::OnInfoLinkClicked(GtkWidget* button) {
345 content_setting_bubble_model_->OnInfoLinkClicked();
346 Close();
347 }
348
349 void ContentSettingBubbleGtk::OnLoadPluginsLinkClicked(GtkWidget* button) {
350 content_setting_bubble_model_->OnLoadPluginsLinkClicked();
351 Close();
352 }
OLDNEW
« no previous file with comments | « chrome/browser/gtk/content_setting_bubble_gtk.h ('k') | chrome/browser/ui/cocoa/content_setting_bubble_cocoa.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698