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 "ash/launcher/launcher_view.h" | 5 #include "ash/launcher/launcher_view.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "ash/ash_constants.h" | 9 #include "ash/ash_constants.h" |
10 #include "ash/ash_switches.h" | 10 #include "ash/ash_switches.h" |
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
432 gfx::Rect LauncherView::GetIdealBoundsOfItemIcon(LauncherID id) { | 432 gfx::Rect LauncherView::GetIdealBoundsOfItemIcon(LauncherID id) { |
433 int index = model_->ItemIndexByID(id); | 433 int index = model_->ItemIndexByID(id); |
434 if (index == -1 || (index > last_visible_index_ && | 434 if (index == -1 || (index > last_visible_index_ && |
435 index < model_->FirstPanelIndex())) | 435 index < model_->FirstPanelIndex())) |
436 return gfx::Rect(); | 436 return gfx::Rect(); |
437 const gfx::Rect& ideal_bounds(view_model_->ideal_bounds(index)); | 437 const gfx::Rect& ideal_bounds(view_model_->ideal_bounds(index)); |
438 DCHECK_NE(TYPE_APP_LIST, model_->items()[index].type); | 438 DCHECK_NE(TYPE_APP_LIST, model_->items()[index].type); |
439 LauncherButton* button = | 439 LauncherButton* button = |
440 static_cast<LauncherButton*>(view_model_->view_at(index)); | 440 static_cast<LauncherButton*>(view_model_->view_at(index)); |
441 gfx::Rect icon_bounds = button->GetIconBounds(); | 441 gfx::Rect icon_bounds = button->GetIconBounds(); |
442 return gfx::Rect(ideal_bounds.x() + icon_bounds.x(), | 442 return gfx::Rect(GetMirroredXWithWidthInView(ideal_bounds.x(), |
443 ideal_bounds.y() + icon_bounds.y(), | 443 icon_bounds.width()), |
| 444 ideal_bounds.y(), |
444 icon_bounds.width(), | 445 icon_bounds.width(), |
445 icon_bounds.height()); | 446 icon_bounds.height()); |
446 } | 447 } |
447 | 448 |
448 void LauncherView::UpdatePanelIconPosition(LauncherID id, | 449 void LauncherView::UpdatePanelIconPosition(LauncherID id, |
449 const gfx::Point& midpoint) { | 450 const gfx::Point& midpoint) { |
450 int current_index = model_->ItemIndexByID(id); | 451 int current_index = model_->ItemIndexByID(id); |
451 int first_panel_index = model_->FirstPanelIndex(); | 452 int first_panel_index = model_->FirstPanelIndex(); |
452 if (current_index < first_panel_index) | 453 if (current_index < first_panel_index) |
453 return; | 454 return; |
454 | 455 |
| 456 gfx::Point midpoint_in_view(GetMirroredXInView(midpoint.x()), |
| 457 midpoint.y()); |
455 ShelfLayoutManager* shelf = tooltip_->shelf_layout_manager(); | 458 ShelfLayoutManager* shelf = tooltip_->shelf_layout_manager(); |
456 int target_index = current_index; | 459 int target_index = current_index; |
457 while (target_index > first_panel_index && | 460 while (target_index > first_panel_index && |
458 shelf->PrimaryAxisValue(view_model_->ideal_bounds(target_index).x(), | 461 shelf->PrimaryAxisValue(view_model_->ideal_bounds(target_index).x(), |
459 view_model_->ideal_bounds(target_index).y()) > | 462 view_model_->ideal_bounds(target_index).y()) > |
460 shelf->PrimaryAxisValue(midpoint.x(), midpoint.y())) { | 463 shelf->PrimaryAxisValue(midpoint_in_view.x(), midpoint_in_view.y())) { |
461 --target_index; | 464 --target_index; |
462 } | 465 } |
463 while (target_index < view_model_->view_size() - 1 && | 466 while (target_index < view_model_->view_size() - 1 && |
464 shelf->PrimaryAxisValue( | 467 shelf->PrimaryAxisValue( |
465 view_model_->ideal_bounds(target_index).right(), | 468 view_model_->ideal_bounds(target_index).right(), |
466 view_model_->ideal_bounds(target_index).bottom()) < | 469 view_model_->ideal_bounds(target_index).bottom()) < |
467 shelf->PrimaryAxisValue(midpoint.x(), midpoint.y())) { | 470 shelf->PrimaryAxisValue(midpoint_in_view.x(), midpoint_in_view.y())) { |
468 ++target_index; | 471 ++target_index; |
469 } | 472 } |
470 if (current_index != target_index) | 473 if (current_index != target_index) |
471 model_->Move(current_index, target_index); | 474 model_->Move(current_index, target_index); |
472 } | 475 } |
473 | 476 |
474 bool LauncherView::IsShowingMenu() const { | 477 bool LauncherView::IsShowingMenu() const { |
475 #if !defined(OS_MACOSX) | 478 #if !defined(OS_MACOSX) |
476 return (launcher_menu_runner_.get() && | 479 return (launcher_menu_runner_.get() && |
477 launcher_menu_runner_->IsRunning()); | 480 launcher_menu_runner_->IsRunning()); |
(...skipping 1017 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1495 bool LauncherView::ShouldShowTooltipForView(const views::View* view) const { | 1498 bool LauncherView::ShouldShowTooltipForView(const views::View* view) const { |
1496 if (view == GetAppListButtonView() && | 1499 if (view == GetAppListButtonView() && |
1497 Shell::GetInstance()->GetAppListWindow()) | 1500 Shell::GetInstance()->GetAppListWindow()) |
1498 return false; | 1501 return false; |
1499 const LauncherItem* item = LauncherItemForView(view); | 1502 const LauncherItem* item = LauncherItemForView(view); |
1500 return (!item || delegate_->ShouldShowTooltip(*item)); | 1503 return (!item || delegate_->ShouldShowTooltip(*item)); |
1501 } | 1504 } |
1502 | 1505 |
1503 } // namespace internal | 1506 } // namespace internal |
1504 } // namespace ash | 1507 } // namespace ash |
OLD | NEW |