Example #1
0
        /** Note Handling  **/
        /********************/

        // Saves all screenshots in files
        private void ScreenShot_Click(object sender, RoutedEventArgs e)
        {
            Logger.Record("[ScreenShot_Click]: Capturing screen", "SMWidget", "info");
            var edit   = Control.ModifierKeys == Keys.Shift;
            var direct = Control.ModifierKeys == Keys.Control;

            if (edit || !direct)
            {
                WindowState = WindowState.Minimized;
            }
            Image imgOut;
            var   ss = new ScreenShot();

            if (!direct && !edit)
            {
                imgOut = ss.CaptureSnippet();
            }
            else
            {
                imgOut = ss.CaptureScreenShot();
            }
            if (ss.Canceled)
            {
                if (edit || !direct)
                {
                    WindowState = WindowState.Normal;
                }
                Logger.Record("[ScreenShot_Click]: Cancelled screenshot", "SMWidget", "info");
                return;
            }
            AddScreenshot2Note(imgOut);
            Logger.Record("[ScreenShot_Click]: Captured " + _screenshotName + ", edit: " + edit, "SMWidget", "info");
            if (edit)
            {
                var paint = new Process
                {
                    StartInfo =
                    {
                        FileName  = "mspaint.exe",
                        Arguments = "\"" + _currentSession.WorkingDir + _screenshotName + "\""
                    }
                };
                paint.Start();
            }
            if (edit || !direct)
            {
                WindowState = WindowState.Normal;
            }
        }