repo: Move progress interval logic to base class
This commit is contained in:
parent
1e87412f53
commit
16280826f5
|
@ -183,9 +183,6 @@ namespace SparkleLib {
|
|||
double percentage = 1.0;
|
||||
Regex progress_regex = new Regex (@"([0-9]+)%", RegexOptions.Compiled);
|
||||
|
||||
DateTime last_change = DateTime.Now;
|
||||
TimeSpan change_interval = new TimeSpan (0, 0, 0, 1);
|
||||
|
||||
while (!git.StandardError.EndOfStream) {
|
||||
string line = git.StandardError.ReadLine ();
|
||||
Match match = progress_regex.Match (line);
|
||||
|
@ -218,14 +215,7 @@ namespace SparkleLib {
|
|||
|
||||
if (number >= percentage) {
|
||||
percentage = number;
|
||||
|
||||
if (percentage == 100.0)
|
||||
percentage = 99.0;
|
||||
|
||||
if (DateTime.Compare (last_change, DateTime.Now.Subtract (change_interval)) < 0) {
|
||||
base.OnSyncProgressChanged (percentage, speed);
|
||||
last_change = DateTime.Now;
|
||||
}
|
||||
base.OnSyncProgressChanged (percentage, speed);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -249,9 +239,6 @@ namespace SparkleLib {
|
|||
double percentage = 1.0;
|
||||
Regex progress_regex = new Regex (@"([0-9]+)%", RegexOptions.Compiled);
|
||||
|
||||
DateTime last_change = DateTime.Now;
|
||||
TimeSpan change_interval = new TimeSpan (0, 0, 0, 1);
|
||||
|
||||
while (!git.StandardError.EndOfStream) {
|
||||
string line = git.StandardError.ReadLine ();
|
||||
Match match = progress_regex.Match (line);
|
||||
|
@ -284,14 +271,7 @@ namespace SparkleLib {
|
|||
|
||||
if (number >= percentage) {
|
||||
percentage = number;
|
||||
|
||||
if (percentage == 100.0)
|
||||
percentage = 99.0;
|
||||
|
||||
if (DateTime.Compare (last_change, DateTime.Now.Subtract (change_interval)) < 0) {
|
||||
base.OnSyncProgressChanged (percentage, speed);
|
||||
last_change = DateTime.Now;
|
||||
}
|
||||
base.OnSyncProgressChanged (percentage, speed);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -634,15 +634,25 @@ namespace SparkleLib {
|
|||
}
|
||||
|
||||
|
||||
private DateTime progress_last_change = DateTime.Now;
|
||||
private TimeSpan progress_change_interval = new TimeSpan (0, 0, 0, 1);
|
||||
|
||||
protected void OnSyncProgressChanged (double progress_percentage, string progress_speed)
|
||||
{
|
||||
// Console.WriteLine ("OnProgressChanged: " + progress_percentage + " " + progress_speed);
|
||||
if (DateTime.Compare (this.progress_last_change,
|
||||
DateTime.Now.Subtract (this.progress_change_interval)) < 0) {
|
||||
|
||||
this.progress_percentage = progress_percentage;
|
||||
this.progress_speed = progress_speed;
|
||||
if (SyncProgressChanged != null) {
|
||||
if (progress_percentage == 100.0)
|
||||
progress_percentage = 99.0;
|
||||
|
||||
if (SyncProgressChanged != null)
|
||||
SyncProgressChanged (progress_percentage, progress_speed);
|
||||
this.progress_percentage = progress_percentage;
|
||||
this.progress_speed = progress_speed;
|
||||
this.progress_last_change = DateTime.Now;
|
||||
|
||||
SyncProgressChanged (progress_percentage, progress_speed);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue