Exemple #1
0
        public void TestCancelDownloadFromRequest()
        {
            AddStep("download beatmap", () => beatmaps.Download(test_db_model));

            AddStep("cancel download from request", () => beatmaps.GetExistingDownload(test_db_model).Cancel());

            AddUntilStep("is removed from download list", () => beatmaps.GetExistingDownload(test_db_model) == null);
            AddAssert("is notification cancelled", () => recentNotification.State == ProgressNotificationState.Cancelled);
        }
        private void load(BeatmapManager beatmaps)
        {
            this.beatmaps = beatmaps;

            BeatmapSet.BindValueChanged(set =>
            {
                if (set == null)
                {
                    attachDownload(null);
                }
                else if (beatmaps.QueryBeatmapSets(s => s.OnlineBeatmapSetID == set.OnlineBeatmapSetID).Any())
                {
                    State.Value = DownloadState.LocallyAvailable;
                }
                else
                {
                    attachDownload(beatmaps.GetExistingDownload(set));
                }
            }, true);

            beatmaps.BeatmapDownloadBegan += download =>
            {
                if (download.BeatmapSet.OnlineBeatmapSetID == BeatmapSet.Value?.OnlineBeatmapSetID)
                {
                    attachDownload(download);
                }
            };

            beatmaps.ItemAdded += setAdded;
        }
Exemple #3
0
        private void load(BeatmapManager beatmaps, OsuColour colours, BeatmapSetOverlay beatmapSetOverlay)
        {
            this.beatmaps = beatmaps;
            this.beatmapSetOverlay = beatmapSetOverlay;
            this.colours = colours;

            AddInternal(content = new Container
            {
                RelativeSizeAxes = Axes.Both,
                Masking = true,
                EdgeEffect = edgeEffectNormal,
                Children = new[]
                {
                    CreateBackground(),
                    progressBar = new ProgressBar
                    {
                        Anchor = Anchor.BottomLeft,
                        Origin = Anchor.BottomLeft,
                        Height = 0,
                        Alpha = 0,
                        BackgroundColour = Color4.Black.Opacity(0.7f),
                        FillColour = colours.Blue,
                        Depth = -1,
                    },
                }
            });

            var downloadRequest = beatmaps.GetExistingDownload(SetInfo);

            if (downloadRequest != null)
                attachDownload(downloadRequest);

            beatmaps.BeatmapDownloadBegan += attachDownload;
            beatmaps.ItemAdded += setAdded;
        }
        private void load(BeatmapManager beatmaps)
        {
            this.beatmaps = beatmaps;

            BeatmapSet.BindValueChanged(setInfo =>
            {
                if (setInfo.NewValue == null)
                {
                    attachDownload(null);
                }
                else if (beatmaps.GetAllUsableBeatmapSetsEnumerable().Any(s => s.OnlineBeatmapSetID == setInfo.NewValue.OnlineBeatmapSetID))
                {
                    State.Value = DownloadState.LocallyAvailable;
                }
                else
                {
                    attachDownload(beatmaps.GetExistingDownload(setInfo.NewValue));
                }
            }, true);

            beatmaps.BeatmapDownloadBegan += download =>
            {
                if (download.BeatmapSet.OnlineBeatmapSetID == BeatmapSet.Value?.OnlineBeatmapSetID)
                {
                    attachDownload(download);
                }
            };

            beatmaps.ItemAdded   += setAdded;
            beatmaps.ItemRemoved += setRemoved;
        }
Exemple #5
0
        private void download(bool noVideo)
        {
            if (beatmaps.GetExistingDownload(BeatmapSet) != null)
            {
                downloadButtonsContainer.MoveToX(-5, 50, Easing.OutSine).Then()
                       .MoveToX(5, 100, Easing.InOutSine).Then()
                       .MoveToX(-5, 100, Easing.InOutSine).Then()
                       .MoveToX(0, 50, Easing.InSine).Then();

                return;
            }

            beatmaps.Download(BeatmapSet, noVideo);
        }
Exemple #6
0
        /// <summary>
        /// Begin downloading the associated beatmap set.
        /// </summary>
        /// <returns>True if downloading began. False if an existing download is active or completed.</returns>
        public bool Download()
        {
            if (Downloaded.Value)
            {
                return(false);
            }

            if (beatmaps.GetExistingDownload(set) != null)
            {
                return(false);
            }

            beatmaps.Download(set, noVideo);
            return(true);
        }
Exemple #7
0
        private void load(APIAccess api, BeatmapManager beatmaps, OsuColour colours, NotificationOverlay notifications, BeatmapSetOverlay beatmapSetOverlay)
        {
            this.api               = api;
            this.beatmaps          = beatmaps;
            this.notifications     = notifications;
            this.beatmapSetOverlay = beatmapSetOverlay;

            AddInternal(content = new Container
            {
                RelativeSizeAxes = Axes.Both,
                Masking          = true,
                EdgeEffect       = edgeEffectNormal,
                Children         = new[]
                {
                    // temporary blackness until the actual background loads.
                    BlackBackground = new Box
                    {
                        RelativeSizeAxes = Axes.Both,
                        Colour           = Color4.Black,
                    },
                    CreateBackground(),
                    progressBar = new ProgressBar
                    {
                        Anchor           = Anchor.BottomLeft,
                        Origin           = Anchor.BottomLeft,
                        Height           = 0,
                        Alpha            = 0,
                        BackgroundColour = Color4.Black.Opacity(0.7f),
                        FillColour       = colours.Blue,
                        Depth            = -1,
                    },
                }
            });

            var downloadRequest = beatmaps.GetExistingDownload(SetInfo);

            if (downloadRequest != null)
            {
                attachDownload(downloadRequest);
            }
        }
Exemple #8
0
        private void load(BeatmapManager beatmaps)
        {
            this.beatmaps = beatmaps;

            beatmaps.ItemAdded             += setAdded;
            beatmaps.ItemRemoved           += setRemoved;
            beatmaps.BeatmapDownloadBegan  += downloadBegan;
            beatmaps.BeatmapDownloadFailed += downloadFailed;

            // initial value
            if (set.OnlineBeatmapSetID != null && beatmaps.QueryBeatmapSets(s => s.OnlineBeatmapSetID == set.OnlineBeatmapSetID && !s.DeletePending).Any())
            {
                DownloadState.Value = DownloadStatus.Downloaded;
            }
            else if (beatmaps.GetExistingDownload(set) != null)
            {
                DownloadState.Value = DownloadStatus.Downloading;
            }
            else
            {
                DownloadState.Value = DownloadStatus.NotDownloaded;
            }
        }