using System; using System.Globalization; using System.Windows; using System.Windows.Controls; using TwitchDownloaderCore; namespace TwitchDownloaderWPF { /// /// Interaction logic for WindowRangeSelect.xaml /// public partial class WindowRangeSelect : Window { public ChatRenderer CurrentRender { get; set; } public bool OK { get; set; } = false; public bool Invalid { get; set; } = false; public int startSeconds { get; set; } public int endSeconds { get; set; } public WindowRangeSelect(ChatRenderer currentRender) { CurrentRender = currentRender; InitializeComponent(); } private void Window_Initialized(object sender, EventArgs e) { startSeconds = (int)Math.Floor(CurrentRender.chatRoot.video.start); endSeconds = (int)Math.Ceiling(CurrentRender.chatRoot.video.end); numStart.Text = startSeconds.ToString(CultureInfo.CurrentCulture); numEnd.Text = endSeconds.ToString(CultureInfo.CurrentCulture); rangeTime.Maximum = endSeconds; rangeTime.Minimum = startSeconds; rangeTime.ValueEnd = endSeconds; } private void rangeTime_ValueChanged(object sender, RoutedPropertyChangedEventArgs e) { numStart.Text = rangeTime.ValueStart.ToString(CultureInfo.CurrentCulture); numEnd.Text = rangeTime.ValueEnd.ToString(CultureInfo.CurrentCulture); } private void Button_Click(object sender, RoutedEventArgs e) { try { startSeconds = int.Parse(numStart.Text, CultureInfo.CurrentCulture); endSeconds = int.Parse(numEnd.Text, CultureInfo.CurrentCulture); OK = true; } catch { Invalid = true; } this.Close(); } private void numStart_TextChanged(object sender, TextChangedEventArgs e) { try { rangeTime.ValueStart = int.Parse(numStart.Text, CultureInfo.CurrentCulture); } catch (FormatException) { } catch (OverflowException) { } } private void numEnd_TextChanged(object sender, TextChangedEventArgs e) { try { rangeTime.ValueEnd = int.Parse(numEnd.Text, CultureInfo.CurrentCulture); } catch (FormatException) { } catch (OverflowException) { } } private void Window_OnSourceInitialized(object sender, EventArgs e) { App.RequestTitleBarChange(); } } }