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

Side by Side Diff: chrome/browser/ui/views/download/download_item_view.cc

Issue 16018005: Use DownloadItem::GetState() in chrome/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Stopping complete_animation_ when download is cancelled Created 7 years, 6 months 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
OLDNEW
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/views/download/download_item_view.h" 5 #include "chrome/browser/ui/views/download/download_item_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 StopDownloadProgress(); 279 StopDownloadProgress();
280 complete_animation_.reset(new ui::SlideAnimation(this)); 280 complete_animation_.reset(new ui::SlideAnimation(this));
281 complete_animation_->SetSlideDuration(kCompleteAnimationDurationMs); 281 complete_animation_->SetSlideDuration(kCompleteAnimationDurationMs);
282 complete_animation_->SetTweenType(ui::Tween::LINEAR); 282 complete_animation_->SetTweenType(ui::Tween::LINEAR);
283 complete_animation_->Show(); 283 complete_animation_->Show();
284 SchedulePaint(); 284 SchedulePaint();
285 LoadIcon(); 285 LoadIcon();
286 break; 286 break;
287 case DownloadItem::CANCELLED: 287 case DownloadItem::CANCELLED:
288 StopDownloadProgress(); 288 StopDownloadProgress();
289 if (complete_animation_)
290 complete_animation_->Stop();
289 LoadIcon(); 291 LoadIcon();
290 break; 292 break;
291 default: 293 default:
292 NOTREACHED(); 294 NOTREACHED();
293 } 295 }
294 status_text_ = status_text; 296 status_text_ = status_text;
295 } 297 }
296 298
297 string16 new_tip = model_.GetTooltipText(font_, kTooltipMaxWidth); 299 string16 new_tip = model_.GetTooltipText(font_, kTooltipMaxWidth);
298 if (new_tip != tooltip_text_) { 300 if (new_tip != tooltip_text_) {
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 bool DownloadItemView::OnMouseDragged(const ui::MouseEvent& event) { 400 bool DownloadItemView::OnMouseDragged(const ui::MouseEvent& event) {
399 // Mouse should not activate us in dangerous mode. 401 // Mouse should not activate us in dangerous mode.
400 if (IsShowingWarningDialog()) 402 if (IsShowingWarningDialog())
401 return true; 403 return true;
402 404
403 if (!starting_drag_) { 405 if (!starting_drag_) {
404 starting_drag_ = true; 406 starting_drag_ = true;
405 drag_start_point_ = event.location(); 407 drag_start_point_ = event.location();
406 } 408 }
407 if (dragging_) { 409 if (dragging_) {
408 if (download()->IsComplete()) { 410 if (download()->GetState() == DownloadItem::COMPLETE) {
409 IconManager* im = g_browser_process->icon_manager(); 411 IconManager* im = g_browser_process->icon_manager();
410 gfx::Image* icon = im->LookupIconFromFilepath( 412 gfx::Image* icon = im->LookupIconFromFilepath(
411 download()->GetTargetFilePath(), IconLoader::SMALL); 413 download()->GetTargetFilePath(), IconLoader::SMALL);
412 if (icon) { 414 if (icon) {
413 views::Widget* widget = GetWidget(); 415 views::Widget* widget = GetWidget();
414 download_util::DragDownload(download(), icon, 416 download_util::DragDownload(download(), icon,
415 widget ? widget->GetNativeView() : NULL); 417 widget ? widget->GetNativeView() : NULL);
416 } 418 }
417 } 419 }
418 } else if (ExceededDragThreshold(event.location() - drag_start_point_)) { 420 } else if (ExceededDragThreshold(event.location() - drag_start_point_)) {
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after
780 else if (image) 782 else if (image)
781 icon = image->ToImageSkia(); 783 icon = image->ToImageSkia();
782 784
783 // We count on the fact that the icon manager will cache the icons and if one 785 // We count on the fact that the icon manager will cache the icons and if one
784 // is available, it will be cached here. We *don't* want to request the icon 786 // is available, it will be cached here. We *don't* want to request the icon
785 // to be loaded here, since this will also get called if the icon can't be 787 // to be loaded here, since this will also get called if the icon can't be
786 // loaded, in which case LookupIcon will always be NULL. The loading will be 788 // loaded, in which case LookupIcon will always be NULL. The loading will be
787 // triggered only when we think the status might change. 789 // triggered only when we think the status might change.
788 if (icon) { 790 if (icon) {
789 if (!IsShowingWarningDialog()) { 791 if (!IsShowingWarningDialog()) {
790 if (download()->IsInProgress()) { 792 DownloadItem::DownloadState state = download()->GetState();
793 if (state == DownloadItem::IN_PROGRESS) {
791 download_util::PaintDownloadProgress(canvas, this, 0, 0, 794 download_util::PaintDownloadProgress(canvas, this, 0, 0,
792 progress_angle_, 795 progress_angle_,
793 model_.PercentComplete(), 796 model_.PercentComplete(),
794 download_util::SMALL); 797 download_util::SMALL);
795 } else if (download()->IsComplete() && 798 } else if (complete_animation_.get() &&
796 complete_animation_.get() &&
797 complete_animation_->is_animating()) { 799 complete_animation_->is_animating()) {
798 if (download()->IsInterrupted()) { 800 if (state == DownloadItem::INTERRUPTED) {
799 download_util::PaintDownloadInterrupted(canvas, this, 0, 0, 801 download_util::PaintDownloadInterrupted(canvas, this, 0, 0,
800 complete_animation_->GetCurrentValue(), 802 complete_animation_->GetCurrentValue(),
801 download_util::SMALL); 803 download_util::SMALL);
802 } else { 804 } else {
805 DCHECK_EQ(DownloadItem::COMPLETE, state);
803 download_util::PaintDownloadComplete(canvas, this, 0, 0, 806 download_util::PaintDownloadComplete(canvas, this, 0, 0,
804 complete_animation_->GetCurrentValue(), 807 complete_animation_->GetCurrentValue(),
805 download_util::SMALL); 808 download_util::SMALL);
806 } 809 }
807 } 810 }
808 } 811 }
809 812
810 // Draw the icon image. 813 // Draw the icon image.
811 int icon_x, icon_y; 814 int icon_x, icon_y;
812 815
(...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after
1210 void DownloadItemView::AnimateStateTransition(State from, State to, 1213 void DownloadItemView::AnimateStateTransition(State from, State to,
1211 ui::SlideAnimation* animation) { 1214 ui::SlideAnimation* animation) {
1212 if (from == NORMAL && to == HOT) { 1215 if (from == NORMAL && to == HOT) {
1213 animation->Show(); 1216 animation->Show();
1214 } else if (from == HOT && to == NORMAL) { 1217 } else if (from == HOT && to == NORMAL) {
1215 animation->Hide(); 1218 animation->Hide();
1216 } else if (from != to) { 1219 } else if (from != to) {
1217 animation->Reset((to == HOT) ? 1.0 : 0.0); 1220 animation->Reset((to == HOT) ? 1.0 : 0.0);
1218 } 1221 }
1219 } 1222 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/gtk/download/download_shelf_gtk.cc ('k') | chrome/browser/ui/views/download/download_shelf_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698