public Screen PickScreen() { var picker = new ScreenPicker(); picker.ShowDialog(); return(picker.SelectedScreen); }
public void WhenNoModelProvided_ThenShowDialogSucceeds() { var picker = new ScreenPicker <ScreenSelectorItem>() { Dock = DockStyle.Fill }; this.form = new Form(); this.form.Controls.Add(picker); this.form.Show(); System.Windows.Forms.Application.DoEvents(); form.Close(); }
public void WhenModelHasScreensWithNegativeBounds_ThenShowDialogSucceeds() { var model = new ObservableCollection <ScreenSelectorItem>(); model.Add(new ScreenSelectorItem() { DeviceName = "first", ScreenBounds = new Rectangle() { X = -1000, Y = -1000, Width = 500, Height = 500 } }); model.Add(new ScreenSelectorItem() { DeviceName = "second", ScreenBounds = new Rectangle() { X = 500, Y = 500, Width = 500, Height = 500 } }); var picker = new ScreenPicker <ScreenSelectorItem>() { Dock = DockStyle.Fill }; picker.BindCollection(model); this.form = new Form() { Width = 400, Height = 400 }; this.form.Controls.Add(picker); this.form.Show(); System.Windows.Forms.Application.DoEvents(); Assert.AreEqual(2, picker.Screens.Count()); Assert.AreEqual(2, picker.Screens.First().Bounds.X); Assert.AreEqual(2, picker.Screens.First().Bounds.Y); Assert.AreEqual(form.ClientSize.Height - 2, picker.Screens.Last().Bounds.Y + picker.Screens.Last().Bounds.Height, 2); this.form.Close(); }
// App-wide methods public static void ConfigureShortcut(Window owner, ScreenPicker screenPicker) { // remove current shortcut during shortcut key selection var oldKeys = screenPicker.ShortcutKeys; screenPicker.ShortcutKeys = KeyCombination.None; HotKeyInputWindow hotKeyInput = new HotKeyInputWindow(oldKeys); hotKeyInput.Owner = owner; if (hotKeyInput.ShowDialog() == true) { screenPicker.ShortcutKeys = hotKeyInput.SelectedHotKey; } else { // restore previous shortcut screenPicker.ShortcutKeys = oldKeys; } }
private void Window_Loaded(object sender, RoutedEventArgs e) { // Check for updates updateChecker.CheckForUpdates(UpdateNotifyMode.Auto); // Load color history if (Settings.Default.LatestColors != null) { colorHistory = Settings.Default.LatestColors; colorHistory.MaxLength = Settings.Default.ColorHistoryLength; } else { colorHistory = new FixedColorCollection(Settings.Default.ColorHistoryLength); } lstHistory.ItemsSource = colorHistory; // Set current color CurrentColor = new NotifyColor(Settings.Default.CurrentColor); // Init screen picker ScreenPicker = new ScreenPicker(CurrentColor, imgScreen); ScreenPicker.PositionSelected += ScreenPicker_PositionSelected; // Set data context this.DataContext = this; }
public SettingsWindow(ScreenPicker screenPicker) { this.screenPicker = screenPicker; InitializeComponent(); beSet = new HashSet <BindingExpressionBase>(); }