| Index: ui/message_center/views/notification_view.cc
|
| diff --git a/ui/message_center/views/notification_view.cc b/ui/message_center/views/notification_view.cc
|
| index 76b7827614857c9bc70cc7febf930f0f3d8a3b3d..32c477e39110cfed8aecf6b749197f5ec6180809 100644
|
| --- a/ui/message_center/views/notification_view.cc
|
| +++ b/ui/message_center/views/notification_view.cc
|
| @@ -14,6 +14,7 @@
|
| #include "ui/base/cursor/cursor.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/base/layout.h"
|
| +#include "ui/gfx/animation/slide_animation.h"
|
| #include "ui/gfx/canvas.h"
|
| #include "ui/gfx/geometry/size.h"
|
| #include "ui/gfx/skia_util.h"
|
| @@ -26,6 +27,7 @@
|
| #include "ui/message_center/views/constants.h"
|
| #include "ui/message_center/views/message_center_controller.h"
|
| #include "ui/message_center/views/notification_button.h"
|
| +#include "ui/message_center/views/notification_progress_bar.h"
|
| #include "ui/message_center/views/padded_button.h"
|
| #include "ui/message_center/views/proportional_image_view.h"
|
| #include "ui/native_theme/native_theme.h"
|
| @@ -48,8 +50,6 @@
|
| namespace {
|
|
|
| // Dimensions.
|
| -const int kProgressBarWidth = message_center::kNotificationWidth -
|
| - message_center::kTextLeftPadding - message_center::kTextRightPadding;
|
| const int kProgressBarBottomPadding = 0;
|
|
|
| // static
|
| @@ -157,67 +157,6 @@ void ItemView::SetVisible(bool visible) {
|
| child_at(i)->SetVisible(visible);
|
| }
|
|
|
| -// NotificationProgressBar /////////////////////////////////////////////////////
|
| -
|
| -class NotificationProgressBar : public views::ProgressBar {
|
| - public:
|
| - NotificationProgressBar();
|
| - ~NotificationProgressBar() override;
|
| -
|
| - private:
|
| - // Overriden from View
|
| - gfx::Size GetPreferredSize() const override;
|
| - void OnPaint(gfx::Canvas* canvas) override;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(NotificationProgressBar);
|
| -};
|
| -
|
| -NotificationProgressBar::NotificationProgressBar() {
|
| -}
|
| -
|
| -NotificationProgressBar::~NotificationProgressBar() {
|
| -}
|
| -
|
| -gfx::Size NotificationProgressBar::GetPreferredSize() const {
|
| - gfx::Size pref_size(kProgressBarWidth, message_center::kProgressBarThickness);
|
| - gfx::Insets insets = GetInsets();
|
| - pref_size.Enlarge(insets.width(), insets.height());
|
| - return pref_size;
|
| -}
|
| -
|
| -void NotificationProgressBar::OnPaint(gfx::Canvas* canvas) {
|
| - gfx::Rect content_bounds = GetContentsBounds();
|
| -
|
| - // Draw background.
|
| - SkPath background_path;
|
| - background_path.addRoundRect(gfx::RectToSkRect(content_bounds),
|
| - message_center::kProgressBarCornerRadius,
|
| - message_center::kProgressBarCornerRadius);
|
| - SkPaint background_paint;
|
| - background_paint.setStyle(SkPaint::kFill_Style);
|
| - background_paint.setFlags(SkPaint::kAntiAlias_Flag);
|
| - background_paint.setColor(message_center::kProgressBarBackgroundColor);
|
| - canvas->DrawPath(background_path, background_paint);
|
| -
|
| - // Draw slice.
|
| - const int slice_width =
|
| - static_cast<int>(content_bounds.width() * GetNormalizedValue() + 0.5);
|
| - if (slice_width < 1)
|
| - return;
|
| -
|
| - gfx::Rect slice_bounds = content_bounds;
|
| - slice_bounds.set_width(slice_width);
|
| - SkPath slice_path;
|
| - slice_path.addRoundRect(gfx::RectToSkRect(slice_bounds),
|
| - message_center::kProgressBarCornerRadius,
|
| - message_center::kProgressBarCornerRadius);
|
| - SkPaint slice_paint;
|
| - slice_paint.setStyle(SkPaint::kFill_Style);
|
| - slice_paint.setFlags(SkPaint::kAntiAlias_Flag);
|
| - slice_paint.setColor(message_center::kProgressBarSliceColor);
|
| - canvas->DrawPath(slice_path, slice_paint);
|
| -}
|
| -
|
| } // namespace
|
|
|
| namespace message_center {
|
| @@ -670,6 +609,7 @@ void NotificationView::CreateOrUpdateProgressBarView(
|
| top_view_->AddChildView(progress_bar_view_);
|
| }
|
|
|
| + progress_bar_view_->SetIndeterminate(notification.progress() < 0);
|
| progress_bar_view_->SetValue(notification.progress() / 100.0);
|
| progress_bar_view_->SetVisible(!notification.items().size());
|
| }
|
|
|