private void Uri_TextChanged(object sender, TextChangedEventArgs e) { var textBox = (TextBox)sender; var border = (Border)textBox.Parent; // Validate if specified URI is valid border.BorderBrush = AppConfigurationWindow.GetUriSetting(textBox.Text) == null ? Brushes.Red : Brushes.Transparent; }
private void SafeUri_TextChanged(object sender, TextChangedEventArgs e) { var textBox = (TextBox)sender; var border = (Border)textBox.Parent; var uris = textBox.Text.Split(new [] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); var errorFound = false; foreach (var uri in uris) { errorFound |= AppConfigurationWindow.GetUriSetting(uri) == null; } // Validate if specified URI is valid border.BorderBrush = errorFound ? Brushes.Red : Brushes.Transparent; }
private void Application_Startup(object sender, StartupEventArgs startupEventArgs) { AppConfiguration config; try { config = AppConfiguration.FromString(Settings.Default.Config); } catch (Exception ex) { MessageBox.Show($"Failed to read config: {ex.ToString()}"); config = new AppConfiguration(); } if (!BrowserEmulationHelper.IsBrowserEmulationSet()) { BrowserEmulationHelper.SetBrowserEmulationVersion(); } if (startupEventArgs.Args[0].ToLower().StartsWith("/p")) { var previewHandle = Convert.ToInt32(startupEventArgs.Args[1]); LaunchPreviewWinodw(previewHandle: previewHandle, config: config); } else if (startupEventArgs.Args[0].ToLower().StartsWith("/s")) { LaunchScreensaverWindows(config); } else if (startupEventArgs.Args[0].ToLower().StartsWith("/c")) { var win = new AppConfigurationWindow(); win.InitializeConfig(config); win.Closed += delegate { Settings.Default.Config = config.ToString(); Settings.Default.Save(); }; win.Show(); } else { Application.Current.Shutdown(); } Current.ShutdownMode = ShutdownMode.OnMainWindowClose; }
private void OKButton_OnClick(object sender, RoutedEventArgs e) { // Only persist values back upon "OK" for (int monitorIdx = 0; monitorIdx < monitorUris.Length && monitorIdx < config.Windows.Count; monitorIdx++) { for (int i = 0; i < 4; i++) { config.Windows[monitorIdx].Panes[i].Uri = AppConfigurationWindow.GetUriSetting(monitorUris[monitorIdx][i].Text) ?? config.Windows[monitorIdx].Panes[i].Uri; } } uint startupDelaySec = 0; uint.TryParse(this.PreStartupDelay.Text, out startupDelaySec); this.config.SharedWindowConfig.OnResumeDisplayLogon = this.OnResume.IsChecked ?? true; this.config.SharedWindowConfig.StartupDelaySec = startupDelaySec; this.config.SharedPanelConfig.SafeUris.Clear(); var uris = this.SafeUris.Text.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries).Select(s => new Uri(s, UriKind.Absolute)).ToArray(); this.config.SharedPanelConfig.AddSafeUris(uris); this.Close(); }