// Copyright © 2017 Paddy Xu // // This file is part of QuickLook program. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . using System; using System.Globalization; using System.Windows; using System.Windows.Data; namespace QuickLook.Plugin.VideoViewer { public sealed class DecimalToTimeSpanConverter : DependencyObject, IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == null) return "00:00:00"; var time = TimeSpan.FromSeconds((double) (decimal) value); return time.ToString(@"hh\:mm\:ss"); } object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } public sealed class DoubleToTimeSpanConverter : DependencyObject, IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == null) return "00:00:00"; var time = TimeSpan.FromSeconds((double) value); return time.ToString(@"hh\:mm\:ss"); } object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } public sealed class BooleanToVisibilityHiddenConverter : DependencyObject, IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == null) return Visibility.Hidden; var v = (bool) value; return v ? Visibility.Hidden : Visibility.Visible; } object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } }