private void OnLoaded(object sender, RoutedEventArgs e) { var viewModel = (MainWindowViewModel)DataContext; viewModel.ClipSelected += (s, args) => { // Stop listening to the clipboard so that we are raising a // clipboard content changed event from this application _clipboardMonitor.Stop(); // Copies the data to the clipboard if (args.Format == DataFormats.Bitmap) { Clipboard.SetImage((BitmapSource)args.Data); } else { Clipboard.SetDataObject(args.Data, true); MinimizeWindow(); // Sends a paste clipboard key to the next active application System.Windows.Forms.SendKeys.SendWait("^V"); } // Start listening to the clipboard again _clipboardMonitor.Start(); }; viewModel.MinimizeWindowRequested += (s, args) => { MinimizeWindow(); }; viewModel.Settings.HotKeyChanged += (s, hotkeyString) => { // Updates the registry HotkeyManager.Current.Remove(Properties.Resources.GlobalHotKey); var hotkey = Utils.ConvertStringToHotKey(hotkeyString); if (hotkey != null) { HotkeyManager.Current.AddOrReplace(Properties.Resources.GlobalHotKey, hotkey.Item1, hotkey.Item2, OnHotKey); } }; if (!_applicationService.IsClipboardMonitoring) { ToggleClipboardMonitor(false); } else { UpdateLocalizedToggleClipboardResource(viewModel); } }
private void stopMonitorToolStripMenuItem_Click(object sender, EventArgs e) { ClipboardMonitor.Stop(); startMonitorToolStripMenuItem.Visible = true; stopMonitorToolStripMenuItem.Visible = false; notifyIcon.Icon = Properties.Resources.stop; }
/// <summary> /// Handle the window closing finalization, stop monitoring process, deactivate hotkey, notification icon. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e) { this.Closing -= MainWindow_Closing; ClipboardMonitor.Stop(); // do not forget to stop ni.Visible = false; hotKey.Unregister(); hotKey.Dispose(); }
private void btnExit_Click(object sender, RoutedEventArgs e) { MessageBoxResult res = MessageBox.Show("This will turn off " + (Properties.Settings.Default.IsLite ? "Drop Lite" : "Drop") + " and you will lose all your data.\n\nFiles and Folders will not be deleted from their original locations.\n\n Are you sure?", "Exiting", MessageBoxButton.YesNo, MessageBoxImage.Question); if (res == MessageBoxResult.Yes) { ClipboardMonitor.Stop(); Environment.Exit(0); } }
private void DataRow_Selected(object sender, RoutedEventArgs e) { ClipboardMonitor.Stop(); var test = (sender as DataGridRow).Item as ClipboardEntity; Clipboard.SetText(test.Data.ToString()); ClipboardMonitor.Start(); Close(); }
// Inspiration: http://stackoverflow.com/a/12750325 public void Dispose() { ClipboardMonitor.Stop(); }
public static void ShutDown() { ClipboardMonitor.Stop(); Application.Exit(); }
static void Options_PropertyChanged(object sender, PropertyChangedEventArgs e) { var enabledCanged = e.PropertyName == nameof(SettingsManager.Options.MonitorsEnabled); var en = SettingsManager.Options.MonitorsEnabled; var isElevated = JocysCom.ClassLibrary.Security.PermissionHelper.IsElevated; // UDP Monitor Properties. if (e.PropertyName == nameof(SettingsManager.Options.UdpMonitorPort)) { _UdpMonitor.PortNumber = SettingsManager.Options.UdpMonitorPort; } if (e.PropertyName == nameof(SettingsManager.Options.UdpMonitorEnabled) || enabledCanged) { if (SettingsManager.Options.UdpMonitorEnabled && en) { _UdpMonitor.Start(); } else { _UdpMonitor.Stop(); } } // Clipboard Monitor Properties. if (e.PropertyName == nameof(SettingsManager.Options.ClipboardMonitorInterval)) { _ClipboardMonitor.CopyInterval = SettingsManager.Options.ClipboardMonitorInterval; } if (e.PropertyName == nameof(SettingsManager.Options.ClipboardMonitorEnabled) || enabledCanged) { if (SettingsManager.Options.ClipboardMonitorEnabled && en) { _ClipboardMonitor.Start(); } else { _ClipboardMonitor.Stop(); } } // Network Monitor Properties. if (e.PropertyName == nameof(SettingsManager.Options.NetworkMonitorCapturingType)) { _NetworkMonitor.CapturingType = SettingsManager.Options.NetworkMonitorCapturingType; } if (e.PropertyName == nameof(SettingsManager.Options.NetworkMonitorEnabled) || enabledCanged) { if (SettingsManager.Options.NetworkMonitorEnabled && en && isElevated) { _NetworkMonitor.Start(); } else { _NetworkMonitor.Stop(); } } // Display Monitor Properties. if (e.PropertyName == nameof(SettingsManager.Options.DisplayMonitorInterval)) { _DisplayMonitor.ScanInterval = SettingsManager.Options.DisplayMonitorInterval; } if (e.PropertyName == nameof(SettingsManager.Options.DisplayMonitorPrefix)) { var colors = DisplayMonitor.ColorsFromRgbs(SettingsManager.Options.DisplayMonitorPrefix); _DisplayMonitor.SetColorPrefix(Basic.ColorsToBytes(colors, false)); } if (e.PropertyName == nameof(SettingsManager.Options.DisplayMonitorEnabled) || enabledCanged) { if (SettingsManager.Options.DisplayMonitorEnabled && en) { _DisplayMonitor.Start(); } else { _DisplayMonitor.Stop(); } } if (e.PropertyName == nameof(SettingsManager.Options.AudioBitsPerSample) || e.PropertyName == nameof(SettingsManager.Options.CacheAudioChannels)) { var blockAlignment = (SettingsManager.Options.AudioBitsPerSample / 8) * (int)SettingsManager.Options.CacheAudioChannels; if (blockAlignment != SettingsManager.Options.CacheAudioBlockAlign) { SettingsManager.Options.CacheAudioBlockAlign = blockAlignment; } } }