source: trunk/CrypPlugins/KeySearcher/Converter/TimeSpanToStringConverter.cs @ 1709

Last change on this file since 1709 was 1709, checked in by Paul Lelgemann, 11 years ago

o KeySearcher: small visualization fixes

File size: 1.2 KB
Line 
1using System;
2using System.Globalization;
3using System.Windows.Data;
4
5namespace KeySearcherConverter
6{
7    public class TimeSpanToStringConverter : IValueConverter
8    {
9        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
10        {
11            if (value == null)
12            {
13                return "-";
14            }
15
16            var timeSpan = (TimeSpan) value;
17
18            if (timeSpan == new TimeSpan(-1))
19                return "~";
20
21            var seconds = timeSpan.Seconds;
22            if (seconds == 0 && timeSpan.Milliseconds > 0)
23                seconds = 1;
24
25            if (timeSpan.Days > 999999)
26                return string.Format("> {0:D2} days", timeSpan.Days);
27
28            if (timeSpan.Days > 0)
29                return string.Format("{0:D2} days, {1:D2}:{2:D2}:{3:D2}", timeSpan.Days, timeSpan.Hours,
30                                     timeSpan.Minutes, seconds);
31
32            return string.Format("{0:D2}:{1:D2}:{2:D2}", timeSpan.Hours, timeSpan.Minutes, seconds);
33        }
34
35        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
36        {
37            throw new NotImplementedException();
38        }
39    }
40}
Note: See TracBrowser for help on using the repository browser.