Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/content_setting_bubble_gtk.h" | 5 #include "chrome/browser/ui/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 274 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 285 menu_width = std::min(kMaxMediaMenuButtonWidth, menu_width); | 285 menu_width = std::min(kMaxMediaMenuButtonWidth, menu_width); |
| 286 | 286 |
| 287 // Set all the menu buttons to the width we calculated above. | 287 // Set all the menu buttons to the width we calculated above. |
| 288 for (GtkMediaMenuMap::const_iterator i = media_menus_.begin(); | 288 for (GtkMediaMenuMap::const_iterator i = media_menus_.begin(); |
| 289 i != media_menus_.end(); ++i) | 289 i != media_menus_.end(); ++i) |
| 290 gtk_widget_set_size_request(i->first, menu_width, -1); | 290 gtk_widget_set_size_request(i->first, menu_width, -1); |
| 291 | 291 |
| 292 gtk_box_pack_start(GTK_BOX(bubble_content), table, FALSE, FALSE, 0); | 292 gtk_box_pack_start(GTK_BOX(bubble_content), table, FALSE, FALSE, 0); |
| 293 } | 293 } |
| 294 | 294 |
| 295 if (content_setting_bubble_model_->content_type() == | |
| 296 CONTENT_SETTINGS_TYPE_SAVE_PASSWORD) { | |
| 297 GtkWidget* button_content = gtk_hbox_new(FALSE, 0); | |
| 298 GtkWidget* never_button = | |
| 299 gtk_button_new_with_label(l10n_util::GetStringUTF8( | |
| 300 IDS_PASSWORD_MANAGER_BLACKLIST_BUTTON).c_str()); | |
| 301 g_signal_connect(never_button, "clicked", | |
| 302 G_CALLBACK(OnCancelButtonClickedThunk), this); | |
| 303 GtkWidget* save_button = gtk_button_new_with_label( | |
| 304 l10n_util::GetStringUTF8(IDS_PASSWORD_MANAGER_SAVE_BUTTON).c_str()); | |
| 305 g_signal_connect(save_button, "clicked", | |
| 306 G_CALLBACK(OnSaveButtonClickedThunk), this); | |
| 307 | |
| 308 gtk_box_pack_start(GTK_BOX(button_content), never_button, FALSE, FALSE, 4); | |
| 309 gtk_box_pack_start(GTK_BOX(button_content), save_button, FALSE, FALSE, 0); | |
| 310 | |
| 311 gtk_box_pack_start(GTK_BOX(bubble_content), button_content, FALSE, FALSE, | |
| 312 0); | |
| 313 gtk_widget_grab_focus(save_button); | |
| 314 } | |
| 315 | |
| 295 for (std::vector<ContentSettingBubbleModel::DomainList>::const_iterator i = | 316 for (std::vector<ContentSettingBubbleModel::DomainList>::const_iterator i = |
| 296 content.domain_lists.begin(); | 317 content.domain_lists.begin(); |
| 297 i != content.domain_lists.end(); ++i) { | 318 i != content.domain_lists.end(); ++i) { |
| 298 // Put each list into its own vbox to allow spacing between lists. | 319 // Put each list into its own vbox to allow spacing between lists. |
| 299 GtkWidget* list_content = gtk_vbox_new(FALSE, ui::kControlSpacing); | 320 GtkWidget* list_content = gtk_vbox_new(FALSE, ui::kControlSpacing); |
| 300 | 321 |
| 301 GtkWidget* label = theme_provider->BuildLabel( | 322 GtkWidget* label = theme_provider->BuildLabel( |
| 302 BuildElidedText(i->title).c_str(), ui::kGdkBlack); | 323 BuildElidedText(i->title).c_str(), ui::kGdkBlack); |
| 303 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | 324 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); |
| 304 GtkWidget* label_box = gtk_hbox_new(FALSE, 0); | 325 GtkWidget* label_box = gtk_hbox_new(FALSE, 0); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 336 gtk_box_pack_start(GTK_BOX(bubble_content), gtk_hseparator_new(), | 357 gtk_box_pack_start(GTK_BOX(bubble_content), gtk_hseparator_new(), |
| 337 FALSE, FALSE, 0); | 358 FALSE, FALSE, 0); |
| 338 | 359 |
| 339 GtkWidget* bottom_box = gtk_hbox_new(FALSE, 0); | 360 GtkWidget* bottom_box = gtk_hbox_new(FALSE, 0); |
| 340 | 361 |
| 341 GtkWidget* manage_link = | 362 GtkWidget* manage_link = |
| 342 theme_provider->BuildChromeLinkButton(content.manage_link.c_str()); | 363 theme_provider->BuildChromeLinkButton(content.manage_link.c_str()); |
| 343 g_signal_connect(manage_link, "clicked", G_CALLBACK(OnManageLinkClickedThunk), | 364 g_signal_connect(manage_link, "clicked", G_CALLBACK(OnManageLinkClickedThunk), |
| 344 this); | 365 this); |
| 345 gtk_box_pack_start(GTK_BOX(bottom_box), manage_link, FALSE, FALSE, 0); | 366 gtk_box_pack_start(GTK_BOX(bottom_box), manage_link, FALSE, FALSE, 0); |
| 346 | 367 if (content_setting_bubble_model_->content_type() != |
| 347 GtkWidget* button = gtk_button_new_with_label( | 368 CONTENT_SETTINGS_TYPE_SAVE_PASSWORD) { |
| 348 l10n_util::GetStringUTF8(IDS_DONE).c_str()); | 369 GtkWidget* button = gtk_button_new_with_label( |
| 349 g_signal_connect(button, "clicked", G_CALLBACK(OnCloseButtonClickedThunk), | 370 l10n_util::GetStringUTF8(IDS_DONE).c_str()); |
| 371 g_signal_connect(button, "clicked", G_CALLBACK(OnCloseButtonClickedThunk), | |
| 350 this); | 372 this); |
|
Evan Stade
2013/09/11 16:56:27
indent
| |
| 351 gtk_box_pack_end(GTK_BOX(bottom_box), button, FALSE, FALSE, 0); | 373 gtk_box_pack_end(GTK_BOX(bottom_box), button, FALSE, FALSE, 0); |
| 374 gtk_widget_grab_focus(button); | |
| 375 } | |
| 352 gtk_box_pack_start(GTK_BOX(bubble_content), bottom_box, FALSE, FALSE, 0); | 376 gtk_box_pack_start(GTK_BOX(bubble_content), bottom_box, FALSE, FALSE, 0); |
| 353 gtk_widget_grab_focus(bottom_box); | |
| 354 gtk_widget_grab_focus(button); | |
| 355 | 377 |
| 356 bubble_ = BubbleGtk::Show(anchor_, | 378 bubble_ = BubbleGtk::Show(anchor_, |
| 357 NULL, | 379 NULL, |
| 358 bubble_content, | 380 bubble_content, |
| 359 BubbleGtk::ANCHOR_TOP_RIGHT, | 381 BubbleGtk::ANCHOR_TOP_RIGHT, |
| 360 BubbleGtk::MATCH_SYSTEM_THEME | | 382 BubbleGtk::MATCH_SYSTEM_THEME | |
| 361 BubbleGtk::POPUP_WINDOW | | 383 BubbleGtk::POPUP_WINDOW | |
| 362 BubbleGtk::GRAB_INPUT, | 384 BubbleGtk::GRAB_INPUT, |
| 363 theme_provider, | 385 theme_provider, |
| 364 this); | 386 this); |
| (...skipping 25 matching lines...) Expand all Loading... | |
| 390 i != radio_group_gtk_.end(); ++i) { | 412 i != radio_group_gtk_.end(); ++i) { |
| 391 if (widget == *i) { | 413 if (widget == *i) { |
| 392 content_setting_bubble_model_->OnRadioClicked( | 414 content_setting_bubble_model_->OnRadioClicked( |
| 393 i - radio_group_gtk_.begin()); | 415 i - radio_group_gtk_.begin()); |
| 394 return; | 416 return; |
| 395 } | 417 } |
| 396 } | 418 } |
| 397 NOTREACHED() << "unknown radio toggled"; | 419 NOTREACHED() << "unknown radio toggled"; |
| 398 } | 420 } |
| 399 | 421 |
| 400 void ContentSettingBubbleGtk::OnCloseButtonClicked(GtkWidget *button) { | 422 void ContentSettingBubbleGtk::OnCloseButtonClicked(GtkWidget* button) { |
| 401 content_setting_bubble_model_->OnDoneClicked(); | 423 content_setting_bubble_model_->OnDoneClicked(); |
| 402 Close(); | 424 Close(); |
| 403 } | 425 } |
| 404 | 426 |
| 427 void ContentSettingBubbleGtk::OnSaveButtonClicked(GtkWidget* button) { | |
| 428 content_setting_bubble_model_->OnSaveClicked(); | |
| 429 Close(); | |
| 430 } | |
| 431 | |
| 432 void ContentSettingBubbleGtk::OnCancelButtonClicked(GtkWidget* button) { | |
| 433 content_setting_bubble_model_->OnCancelClicked(); | |
| 434 Close(); | |
| 435 } | |
| 436 | |
| 405 void ContentSettingBubbleGtk::OnCustomLinkClicked(GtkWidget* button) { | 437 void ContentSettingBubbleGtk::OnCustomLinkClicked(GtkWidget* button) { |
| 406 content_setting_bubble_model_->OnCustomLinkClicked(); | 438 content_setting_bubble_model_->OnCustomLinkClicked(); |
| 407 Close(); | 439 Close(); |
| 408 } | 440 } |
| 409 | 441 |
| 410 void ContentSettingBubbleGtk::OnManageLinkClicked(GtkWidget* button) { | 442 void ContentSettingBubbleGtk::OnManageLinkClicked(GtkWidget* button) { |
| 411 content_setting_bubble_model_->OnManageLinkClicked(); | 443 content_setting_bubble_model_->OnManageLinkClicked(); |
| 412 Close(); | 444 Close(); |
| 413 } | 445 } |
| 414 | 446 |
| 415 void ContentSettingBubbleGtk::OnMenuButtonClicked(GtkWidget* button) { | 447 void ContentSettingBubbleGtk::OnMenuButtonClicked(GtkWidget* button) { |
| 416 GtkMediaMenuMap::iterator i(media_menus_.find(button)); | 448 GtkMediaMenuMap::iterator i(media_menus_.find(button)); |
| 417 DCHECK(i != media_menus_.end()); | 449 DCHECK(i != media_menus_.end()); |
| 418 i->second->menu->PopupForWidget(button, 1, gtk_get_current_event_time()); | 450 i->second->menu->PopupForWidget(button, 1, gtk_get_current_event_time()); |
| 419 } | 451 } |
| 420 | 452 |
| 421 ContentSettingBubbleGtk::MediaMenuGtk::MediaMenuGtk( | 453 ContentSettingBubbleGtk::MediaMenuGtk::MediaMenuGtk( |
| 422 content::MediaStreamType type) | 454 content::MediaStreamType type) |
| 423 : type(type) {} | 455 : type(type) {} |
| 424 | 456 |
| 425 ContentSettingBubbleGtk::MediaMenuGtk::~MediaMenuGtk() {} | 457 ContentSettingBubbleGtk::MediaMenuGtk::~MediaMenuGtk() {} |
| OLD | NEW |