protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
{
base.OnMouseLeftButtonDown(e);
if (e.OriginalSource == this.UpImage)
{
if (this.messageCollection.Count > 0 && this.historyPoint.HasValue && this.historyPoint.Value < this.messageCollection.Count)
{
if (this.enableFilter)
{
Message message = this.messageCollection[this.historyPoint.Value];
if (message.HasAttachments)
{
double interval = GetNextInterval(message.Attachments, this.nextThresholdScore, 1, true);
if (this.nextThresholdScore - interval < this.minScore)
{
this.thresholdQueue.Enqueue(this.minScore - this.nextThresholdScore);
this.nextThresholdScore = this.minScore;
}
else
{
this.thresholdQueue.Enqueue(-interval);
this.nextThresholdScore -= interval;
}
}
}
else
{
if (this.selectedPosition.HasValue)
{
this.selectedPositionQueue.Enqueue(-1);
}
else
{
this.scrollQueue.Enqueue(-1);
}
}
}
}
else if (e.OriginalSource == this.DownImage)
{
if (this.messageCollection.Count > 0 && this.historyPoint.HasValue && this.historyPoint.Value < this.messageCollection.Count)
{
if (this.enableFilter)
{
Message message = this.messageCollection[this.historyPoint.Value];
if (message.HasAttachments)
{
double interval = GetNextInterval(message.Attachments, this.nextThresholdScore, 1, false);
if (this.nextThresholdScore + interval > this.maxScore)
{
this.thresholdQueue.Enqueue(this.maxScore - this.nextThresholdScore);
this.nextThresholdScore = this.maxScore;
}
else
{
this.thresholdQueue.Enqueue(interval);
this.nextThresholdScore += interval;
}
}
}
else
{
if (this.selectedPosition.HasValue)
{
this.selectedPositionQueue.Enqueue(1);
}
else
{
this.scrollQueue.Enqueue(1);
}
}
}
}
}