70 lines
1.9 KiB
C#
70 lines
1.9 KiB
C#
using BeWoLauncher.Logic.Controller;
|
|
using BS.SharedLauncher.Update;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace BeWoLauncher.View.Frames
|
|
{
|
|
public class UninstallProgressInfoFrame : GenericProgressInfo
|
|
{
|
|
public event EventHandler UninstallSuccessful;
|
|
|
|
public UninstallProgressInfoFrame()
|
|
{
|
|
Bar1Deactivate();
|
|
Bar2Hide();
|
|
}
|
|
|
|
public override void Start()
|
|
{
|
|
Worker.DoWork += worker_DoWork;
|
|
Worker.ProgressChanged += worker_ProgressChanged;
|
|
Worker.RunWorkerCompleted += worker_completed;
|
|
|
|
Worker.WorkerReportsProgress = true;
|
|
|
|
Worker.RunWorkerAsync();
|
|
}
|
|
|
|
void worker_DoWork(object sender, DoWorkEventArgs e)
|
|
{
|
|
BackgroundWorker worker = sender as BackgroundWorker;
|
|
|
|
DownloadController.Manager.StartUninstall(worker.ReportProgress);
|
|
}
|
|
|
|
private void worker_completed(object sender, RunWorkerCompletedEventArgs e)
|
|
{
|
|
if (e.Error != null)
|
|
{
|
|
ViewController.ViewBehavior.UninstallFailed(e.Error);
|
|
}
|
|
else
|
|
{
|
|
UninstallSuccessful.Invoke(this, new EventArgs());
|
|
}
|
|
}
|
|
|
|
private void worker_ProgressChanged(object sender, ProgressChangedEventArgs e)
|
|
{
|
|
if (e.ProgressPercentage == 3)
|
|
{
|
|
Bar1Deactivate();
|
|
|
|
Message = "Alte Dateien werden entfernt.";
|
|
SubMessage = "";
|
|
}
|
|
else if (e.ProgressPercentage == 4)
|
|
{
|
|
var args = e.UserState as string;
|
|
SubMessage = $"{args} wurde entfernt!";
|
|
}
|
|
}
|
|
}
|
|
}
|