Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
 private void stopMonitorToolStripMenuItem_Click(object sender, EventArgs e)
 {
     ClipboardMonitor.Stop();
     startMonitorToolStripMenuItem.Visible = true;
     stopMonitorToolStripMenuItem.Visible  = false;
     notifyIcon.Icon = Properties.Resources.stop;
 }
Beispiel #3
0
 /// <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();
 }
Beispiel #4
0
        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();
        }
Beispiel #6
0
 // Inspiration: http://stackoverflow.com/a/12750325
 public void Dispose()
 {
     ClipboardMonitor.Stop();
 }
 public static void ShutDown()
 {
     ClipboardMonitor.Stop();
     Application.Exit();
 }
Beispiel #8
0
        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;
                }
            }
        }