| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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/views/download_item_view.h" | 5 #include "chrome/browser/views/download_item_view.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
| 10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
| (...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 592 bool DownloadItemView::OnMousePressed(const ChromeViews::MouseEvent& event) { | 592 bool DownloadItemView::OnMousePressed(const ChromeViews::MouseEvent& event) { |
| 593 // Mouse should not activate us in dangerous mode. | 593 // Mouse should not activate us in dangerous mode. |
| 594 if (IsDangerousMode()) | 594 if (IsDangerousMode()) |
| 595 return true; | 595 return true; |
| 596 | 596 |
| 597 // Stop any completion animation. | 597 // Stop any completion animation. |
| 598 if (complete_animation_.get() && complete_animation_->IsAnimating()) | 598 if (complete_animation_.get() && complete_animation_->IsAnimating()) |
| 599 complete_animation_->End(); | 599 complete_animation_->End(); |
| 600 | 600 |
| 601 if (event.IsOnlyLeftMouseButton()) { | 601 if (event.IsOnlyLeftMouseButton()) { |
| 602 WTL::CPoint point(event.x(), event.y()); | 602 gfx::Point point(event.location()); |
| 603 if (event.x() < drop_down_x_) { | 603 if (event.x() < drop_down_x_) { |
| 604 SetState(PUSHED, NORMAL); | 604 SetState(PUSHED, NORMAL); |
| 605 return true; | 605 return true; |
| 606 } | 606 } |
| 607 | 607 |
| 608 drop_down_pressed_ = true; | 608 drop_down_pressed_ = true; |
| 609 SetState(NORMAL, PUSHED); | 609 SetState(NORMAL, PUSHED); |
| 610 | 610 |
| 611 // Similar hack as in MenuButton. | 611 // Similar hack as in MenuButton. |
| 612 // We're about to show the menu from a mouse press. By showing from the | 612 // We're about to show the menu from a mouse press. By showing from the |
| 613 // mouse press event we block RootView in mouse dispatching. This also | 613 // mouse press event we block RootView in mouse dispatching. This also |
| 614 // appears to cause RootView to get a mouse pressed BEFORE the mouse | 614 // appears to cause RootView to get a mouse pressed BEFORE the mouse |
| 615 // release is seen, which means RootView sends us another mouse press no | 615 // release is seen, which means RootView sends us another mouse press no |
| 616 // matter where the user pressed. To force RootView to recalculate the | 616 // matter where the user pressed. To force RootView to recalculate the |
| 617 // mouse target during the mouse press we explicitly set the mouse handler | 617 // mouse target during the mouse press we explicitly set the mouse handler |
| 618 // to NULL. | 618 // to NULL. |
| 619 GetRootView()->SetMouseHandler(NULL); | 619 GetRootView()->SetMouseHandler(NULL); |
| 620 | 620 |
| 621 // The menu's position is different depending on the UI layout. | 621 // The menu's position is different depending on the UI layout. |
| 622 // DownloadShelfContextMenu will take care of setting the right anchor for | 622 // DownloadShelfContextMenu will take care of setting the right anchor for |
| 623 // the menu depending on the locale. | 623 // the menu depending on the locale. |
| 624 // | 624 // |
| 625 // TODO(idana): when bug# 1163334 is fixed the following check should be | 625 // TODO(idana): when bug# 1163334 is fixed the following check should be |
| 626 // replaced with UILayoutIsRightToLeft(). | 626 // replaced with UILayoutIsRightToLeft(). |
| 627 point.y = height(); | 627 point.set_y(height()); |
| 628 if (l10n_util::GetTextDirection() == l10n_util::RIGHT_TO_LEFT) { | 628 if (l10n_util::GetTextDirection() == l10n_util::RIGHT_TO_LEFT) { |
| 629 point.x = width(); | 629 point.set_x(width()); |
| 630 } else { | 630 } else { |
| 631 point.x = drop_down_x_; | 631 point.set_x(drop_down_x_); |
| 632 } | 632 } |
| 633 | 633 |
| 634 ChromeViews::View::ConvertPointToScreen(this, &point); | 634 ChromeViews::View::ConvertPointToScreen(this, &point); |
| 635 download_util::DownloadShelfContextMenu menu(download_, | 635 download_util::DownloadShelfContextMenu menu(download_, |
| 636 GetViewContainer()->GetHWND(), | 636 GetViewContainer()->GetHWND(), |
| 637 model_.get(), | 637 model_.get(), |
| 638 point); | 638 point.ToPOINT()); |
| 639 drop_down_pressed_ = false; | 639 drop_down_pressed_ = false; |
| 640 // Showing the menu blocks. Here we revert the state. | 640 // Showing the menu blocks. Here we revert the state. |
| 641 SetState(NORMAL, NORMAL); | 641 SetState(NORMAL, NORMAL); |
| 642 } | 642 } |
| 643 return true; | 643 return true; |
| 644 } | 644 } |
| 645 | 645 |
| 646 void DownloadItemView::OnMouseMoved(const ChromeViews::MouseEvent& event) { | 646 void DownloadItemView::OnMouseMoved(const ChromeViews::MouseEvent& event) { |
| 647 // Mouse should not activate us in dangerous mode. | 647 // Mouse should not activate us in dangerous mode. |
| 648 if (IsDangerousMode()) | 648 if (IsDangerousMode()) |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 789 sp_index = text.find(L" ", sp_index + 1); | 789 sp_index = text.find(L" ", sp_index + 1); |
| 790 } | 790 } |
| 791 | 791 |
| 792 // If we have a line with no space, we won't cut it. | 792 // If we have a line with no space, we won't cut it. |
| 793 if (min_width == -1) | 793 if (min_width == -1) |
| 794 dangerous_download_label_->GetPreferredSize(&size); | 794 dangerous_download_label_->GetPreferredSize(&size); |
| 795 | 795 |
| 796 dangerous_download_label_->SetBounds(0, 0, size.cx, size.cy); | 796 dangerous_download_label_->SetBounds(0, 0, size.cx, size.cy); |
| 797 dangerous_download_label_sized_ = true; | 797 dangerous_download_label_sized_ = true; |
| 798 } | 798 } |
| OLD | NEW |