OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/bookmarks/bookmark_bar_gtk.h" | 5 #include "chrome/browser/ui/gtk/bookmarks/bookmark_bar_gtk.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
444 // The event box won't stay below its children's GdkWindows unless we | 444 // The event box won't stay below its children's GdkWindows unless we |
445 // toggle the above-child property here. If the event box doesn't stay | 445 // toggle the above-child property here. If the event box doesn't stay |
446 // below its children then events will be routed to it rather than the | 446 // below its children then events will be routed to it rather than the |
447 // children. | 447 // children. |
448 gtk_event_box_set_above_child(GTK_EVENT_BOX(event_box_.get()), TRUE); | 448 gtk_event_box_set_above_child(GTK_EVENT_BOX(event_box_.get()), TRUE); |
449 gtk_event_box_set_above_child(GTK_EVENT_BOX(event_box_.get()), FALSE); | 449 gtk_event_box_set_above_child(GTK_EVENT_BOX(event_box_.get()), FALSE); |
450 } | 450 } |
451 } | 451 } |
452 } | 452 } |
453 | 453 |
454 if (sync_ui_util::ShouldShowSyncErrorButton(sync_service_)) { | 454 gtk_widget_set_visible( |
455 gtk_widget_show(sync_error_button_); | 455 sync_error_button_, |
456 } else { | 456 sync_ui_util::ShouldShowSyncErrorButton(sync_service_)); |
457 gtk_widget_hide(sync_error_button_); | |
458 } | |
459 | 457 |
460 // Maybe show the instructions | 458 // Maybe show the instructions |
461 if (show_instructions_) { | 459 gtk_widget_set_visible(bookmark_toolbar_.get(), !show_instructions_); |
462 gtk_widget_hide(bookmark_toolbar_.get()); | 460 gtk_widget_set_visible(instructions_, show_instructions_); |
463 gtk_widget_show(instructions_); | |
464 } else { | |
465 gtk_widget_hide(instructions_); | |
466 gtk_widget_show(bookmark_toolbar_.get()); | |
467 } | |
468 | 461 |
469 SetChevronState(); | 462 SetChevronState(); |
470 } | 463 } |
471 | 464 |
472 void BookmarkBarGtk::Hide(BookmarkBar::State old_state, | 465 void BookmarkBarGtk::Hide(BookmarkBar::State old_state, |
473 BookmarkBar::AnimateChangeType animate_type) { | 466 BookmarkBar::AnimateChangeType animate_type) { |
474 UpdateDetachedState(old_state); | 467 UpdateDetachedState(old_state); |
475 | 468 |
476 // After coming out of fullscreen, the browser window sets the bookmark bar | 469 // After coming out of fullscreen, the browser window sets the bookmark bar |
477 // to the "hidden" state, which means we need to show our minimum height. | 470 // to the "hidden" state, which means we need to show our minimum height. |
(...skipping 24 matching lines...) Expand all Loading... |
502 } | 495 } |
503 | 496 |
504 bookmark_utils::ConfigureButtonForNode(model_->other_node(), | 497 bookmark_utils::ConfigureButtonForNode(model_->other_node(), |
505 model_, other_bookmarks_button_, theme_service_); | 498 model_, other_bookmarks_button_, theme_service_); |
506 | 499 |
507 SetInstructionState(); | 500 SetInstructionState(); |
508 SetChevronState(); | 501 SetChevronState(); |
509 } | 502 } |
510 | 503 |
511 void BookmarkBarGtk::SetInstructionState() { | 504 void BookmarkBarGtk::SetInstructionState() { |
512 show_instructions_ = model_->GetBookmarkBarNode()->empty(); | 505 if (model_) |
513 if (show_instructions_) { | 506 show_instructions_ = model_->GetBookmarkBarNode()->empty(); |
514 gtk_widget_hide(bookmark_toolbar_.get()); | 507 |
515 gtk_widget_show_all(instructions_); | 508 gtk_widget_set_visible(bookmark_toolbar_.get(), !show_instructions_); |
516 } else { | 509 gtk_widget_set_visible(instructions_, show_instructions_); |
517 gtk_widget_hide(instructions_); | |
518 gtk_widget_show(bookmark_toolbar_.get()); | |
519 } | |
520 } | 510 } |
521 | 511 |
522 void BookmarkBarGtk::SetChevronState() { | 512 void BookmarkBarGtk::SetChevronState() { |
523 if (!GTK_WIDGET_VISIBLE(bookmark_hbox_)) | 513 if (!GTK_WIDGET_VISIBLE(bookmark_hbox_)) |
524 return; | 514 return; |
525 | 515 |
526 if (show_instructions_) { | 516 if (show_instructions_) { |
527 gtk_widget_hide(overflow_button_); | 517 gtk_widget_hide(overflow_button_); |
528 return; | 518 return; |
529 } | 519 } |
(...skipping 893 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1423 method_factory_.NewRunnableMethod( | 1413 method_factory_.NewRunnableMethod( |
1424 &BookmarkBarGtk::PaintEventBox)); | 1414 &BookmarkBarGtk::PaintEventBox)); |
1425 } | 1415 } |
1426 } | 1416 } |
1427 | 1417 |
1428 void BookmarkBarGtk::OnThrobbingWidgetDestroy(GtkWidget* widget) { | 1418 void BookmarkBarGtk::OnThrobbingWidgetDestroy(GtkWidget* widget) { |
1429 SetThrobbingWidget(NULL); | 1419 SetThrobbingWidget(NULL); |
1430 } | 1420 } |
1431 | 1421 |
1432 void BookmarkBarGtk::OnStateChanged() { | 1422 void BookmarkBarGtk::OnStateChanged() { |
1433 if (sync_ui_util::ShouldShowSyncErrorButton(sync_service_)) { | 1423 gtk_widget_set_visible( |
1434 gtk_widget_show(sync_error_button_); | 1424 sync_error_button_, |
1435 } else { | 1425 sync_ui_util::ShouldShowSyncErrorButton(sync_service_)); |
1436 gtk_widget_hide(sync_error_button_); | |
1437 } | |
1438 } | 1426 } |
1439 | 1427 |
1440 void BookmarkBarGtk::ShowImportDialog() { | 1428 void BookmarkBarGtk::ShowImportDialog() { |
1441 browser_->OpenImportSettingsDialog(); | 1429 browser_->OpenImportSettingsDialog(); |
1442 } | 1430 } |
1443 | 1431 |
1444 void BookmarkBarGtk::OnEditBookmarksEnabledChanged() { | 1432 void BookmarkBarGtk::OnEditBookmarksEnabledChanged() { |
1445 GtkDestDefaults dest_defaults = | 1433 GtkDestDefaults dest_defaults = |
1446 *edit_bookmarks_enabled_ ? GTK_DEST_DEFAULT_ALL : | 1434 *edit_bookmarks_enabled_ ? GTK_DEST_DEFAULT_ALL : |
1447 GTK_DEST_DEFAULT_DROP; | 1435 GTK_DEST_DEFAULT_DROP; |
1448 gtk_drag_dest_set(overflow_button_, dest_defaults, NULL, 0, kDragAction); | 1436 gtk_drag_dest_set(overflow_button_, dest_defaults, NULL, 0, kDragAction); |
1449 gtk_drag_dest_set(other_bookmarks_button_, dest_defaults, | 1437 gtk_drag_dest_set(other_bookmarks_button_, dest_defaults, |
1450 NULL, 0, kDragAction); | 1438 NULL, 0, kDragAction); |
1451 ui::SetDestTargetList(overflow_button_, kDestTargetList); | 1439 ui::SetDestTargetList(overflow_button_, kDestTargetList); |
1452 ui::SetDestTargetList(other_bookmarks_button_, kDestTargetList); | 1440 ui::SetDestTargetList(other_bookmarks_button_, kDestTargetList); |
1453 } | 1441 } |
OLD | NEW |