Пример #1
0
        public HotKey(Main m)
        {
            this.AssignHandle(m.Handle);
            this.m = m;

            m.HandleCreated += new EventHandler(owner_HandleCreated);
        }
Пример #2
0
        public Crop(Main m)
        {
            InitializeComponent();

            this.m = m;

            ControlBox = false;
            Text = String.Empty;

            MinimumSize = new Size(0, 0);
            Size = new Size(1, 1);
            border.Size = new Size(1, 1);
            Location = Cursor.Position;
            l = Location;

            FormClosing += (ob, ev) =>
            {
                HookManager.MouseMove -= HookManager_MouseMove;
                HookManager.MouseClick -= HookManager_MouseClick;
                m.CROP = null;
            };

            HookManager.MouseMove += HookManager_MouseMove;
            HookManager.MouseClick += HookManager_MouseClick;

            this.Resize += (ob, ev) =>
            {
                border.Invalidate();
            };

            border.Paint += (ob, ev) =>
            {
                if (FormBorderStyle == FormBorderStyle.FixedToolWindow)
                {
                    ev.Graphics.DrawRectangle(Pens.Red,
                                              ev.ClipRectangle.Left,
                                              ev.ClipRectangle.Top,
                                              ev.ClipRectangle.Width - 1,
                                              ev.ClipRectangle.Height - 1);
                }
                base.OnPaint(ev);
            };
        }
Пример #3
0
        public Options(Main m)
        {
            InitializeComponent();

            string[] mod;

            screen_key.Items.AddRange(Key);
            screen_key.SelectedItem = CONFIG.XML.PRINT_SCREEN.Key.ToString();
            mod = CONFIG.XML.PRINT_SCREEN.Modifiers.ToString().Replace(" ", "").Split(',');
            screen_mod_1.Items.AddRange(Mod);
            screen_mod_1.SelectedItem = (mod.Length > 0 ? mod[0] : "None");
            screen_mod_2.Items.AddRange(Mod);
            screen_mod_2.SelectedItem = (mod.Length > 1 ? mod[1] : "None");
            screen_mod_3.Items.AddRange(Mod);
            screen_mod_3.SelectedItem = (mod.Length > 2 ? mod[2] : "None");

            window_key.Items.AddRange(Key);
            window_key.SelectedItem = CONFIG.XML.PRINT_WINDOW.Key.ToString();
            mod = CONFIG.XML.PRINT_WINDOW.Modifiers.ToString().Replace(" ", "").Split(',');
            window_mod_1.Items.AddRange(Mod);
            window_mod_1.SelectedItem = (mod.Length > 0 ? mod[0] : "None");
            window_mod_2.Items.AddRange(Mod);
            window_mod_2.SelectedItem = (mod.Length > 1 ? mod[1] : "None");
            window_mod_3.Items.AddRange(Mod);
            window_mod_3.SelectedItem = (mod.Length > 2 ? mod[2] : "None");

            file_key.Items.AddRange(Key);
            file_key.SelectedItem = CONFIG.XML.PRINT_FILE.Key.ToString();
            mod = CONFIG.XML.PRINT_FILE.Modifiers.ToString().Replace(" ", "").Split(',');
            file_mod_1.Items.AddRange(Mod);
            file_mod_1.SelectedItem = (mod.Length > 0 ? mod[0] : "None");
            file_mod_2.Items.AddRange(Mod);
            file_mod_2.SelectedItem = (mod.Length > 1 ? mod[1] : "None");
            file_mod_3.Items.AddRange(Mod);
            file_mod_3.SelectedItem = (mod.Length > 2 ? mod[2] : "None");

            crop_key.Items.AddRange(Key);
            crop_key.SelectedItem = CONFIG.XML.PRINT_CROP.Key.ToString();
            mod = CONFIG.XML.PRINT_CROP.Modifiers.ToString().Replace(" ", "").Split(',');
            crop_mod_1.Items.AddRange(Mod);
            crop_mod_1.SelectedItem = (mod.Length > 0 ? mod[0] : "None");
            crop_mod_2.Items.AddRange(Mod);
            crop_mod_2.SelectedItem = (mod.Length > 1 ? mod[1] : "None");
            crop_mod_3.Items.AddRange(Mod);
            crop_mod_3.SelectedItem = (mod.Length > 2 ? mod[2] : "None");

            ask_on_close.Checked = CONFIG.XML.ASK_ON_CLOSE;

            start_with_windows.Checked = File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.Startup) + "\\" + Path.GetFileNameWithoutExtension(Application.ExecutablePath) + ".lnk");
            start_with_windows.Click += (ob, ev) =>
            {
                string lnk = Environment.GetFolderPath(Environment.SpecialFolder.Startup) + "\\" + Path.GetFileNameWithoutExtension(Application.ExecutablePath) + ".lnk";
                if (start_with_windows.Checked)
                    Utilitaires.Shortcut.Create(lnk, Application.ExecutablePath, "", Path.GetDirectoryName(Application.ExecutablePath), "Raccourci de démarrage", "", null);
                else if (File.Exists(lnk))
                    File.Delete(lnk);
            };

            extensions.Items.AddRange(CONFIG.ACCEPTED_EXTENSIONS.ToArray());
            for (int i = 0; i < extensions.Items.Count; i++)
            {
                if (CONFIG.XML.FILE_EXTENSIONS.Contains(extensions.Items[i].ToString()))
                    extensions.SetItemChecked(i, true);
            }

            add.Click += (ob, ev) =>
            {
                CONFIG.XML.FILE_EXTENSIONS.Clear();
                List<string> ss = new List<string>();
                foreach (string s in extensions.CheckedItems)
                    ss.Add(s);
                CONFIG.XML.FILE_EXTENSIONS.AddRange(ss);

                CONFIG.Save_Values();

                try
                {
                    Process p = new Process();
                    p.StartInfo.Verb = "runas";
                    p.StartInfo.FileName = Application.ExecutablePath;
                    p.StartInfo.Arguments = "addreg";
                    p.Start();

                    p.WaitForExit();
                }
                catch (Win32Exception) { }
            };

            del.Click += (ob, ev) =>
            {
                try
                {
                    Process p = new Process();
                    p.StartInfo.Verb = "runas";
                    p.StartInfo.FileName = Application.ExecutablePath;
                    p.StartInfo.Arguments = "delreg";
                    p.Start();

                    p.WaitForExit();
                }
                catch (Win32Exception) { }
            };

            save.Click += (ob, ev) =>
            {
                string hk_1 = screen_key.Text + ";" + ((HotKey.HotKeyModifiers)Enum.Parse(typeof(HotKey.HotKeyModifiers), screen_mod_1.Text + ", " + screen_mod_2.Text + ", " + screen_mod_3.Text, true)).ToString();
                string hk_2 = window_key.Text + ";" + ((HotKey.HotKeyModifiers)Enum.Parse(typeof(HotKey.HotKeyModifiers), window_mod_1.Text + ", " + window_mod_2.Text + ", " + window_mod_3.Text, true)).ToString();
                string hk_3 = file_key.Text + ";" + ((HotKey.HotKeyModifiers)Enum.Parse(typeof(HotKey.HotKeyModifiers), file_mod_1.Text + ", " + file_mod_2.Text + ", " + file_mod_3.Text, true)).ToString();
                string hk_4 = crop_key.Text + ";" + ((HotKey.HotKeyModifiers)Enum.Parse(typeof(HotKey.HotKeyModifiers), crop_mod_1.Text + ", " + crop_mod_2.Text + ", " + crop_mod_3.Text, true)).ToString();

                if (hk_1 == hk_2 || hk_1 == hk_3 || hk_1 == hk_4 || hk_2 == hk_3 || hk_2 == hk_4 || hk_3 == hk_4)
                {
                    MessageBox.Show("Tous les raccourcis doivent êtres différents.", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                CONFIG.XML.FILE_EXTENSIONS.Clear();
                List<string> ss = new List<string>();
                foreach (string s in extensions.CheckedItems)
                    ss.Add(s);
                CONFIG.XML.FILE_EXTENSIONS.AddRange(ss);

                CONFIG.XML.PRINT_SCREEN.SetFromString(hk_1);
                CONFIG.XML.PRINT_WINDOW.SetFromString(hk_2);
                CONFIG.XML.PRINT_FILE.SetFromString(hk_3);
                CONFIG.XML.PRINT_CROP.SetFromString(hk_4);

                CONFIG.XML.ASK_ON_CLOSE = ask_on_close.Checked;

                CONFIG.Save_Values();

                Close();
            };

            cancel.Click += (ob, ev) =>
            {
                Close();
            };

            defaut.Click += (ob, ev) =>
            {
                if (MessageBox.Show("Êtes-vous sûr de vouloir remettre les paramètres par défaut ? L'application devra aussi redémarrer.", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) != DialogResult.Yes)
                    return;

                CONFIG.XML = new CONFIG.VALUES(true);
                CONFIG.Save_Values();

                Process.Start(Application.ExecutablePath);
                Process.GetCurrentProcess().Kill();
            };

            FormClosing += (ob, ev) =>
            {
                if (ev.CloseReason != CloseReason.WindowsShutDown)
                    m.Set_Hokteys(true);
            };

            save.Select();
            m.Set_Hokteys(false);
        }
Пример #4
0
        public NotifyIcon(Main m)
        {
            this.m = m;

            components = new System.ComponentModel.Container();
            menu = new ContextMenuStrip();
            exit = new ToolStripMenuItem();
            settings = new ToolStripMenuItem();
            help = new ToolStripMenuItem();
            tobase64 = new ToolStripMenuItem();
            tolink = new ToolStripMenuItem();

            exit.Text = "Quitter";
            exit.Image = ScreenShot.Properties.Resources.close.ToBitmap();
            exit.BackColor = c;
            exit.Click += (ob, ev) =>
            {
                m.Close();
            };

            help.Text = "Aide";
            help.Image = ScreenShot.Properties.Resources.help.ToBitmap();
            help.BackColor = c;
            help.Click += (ob, ev) =>
            {
                Alert(("-" + CONFIG.XML.PRINT_SCREEN.Key + "+" + CONFIG.XML.PRINT_SCREEN.Modifiers + " : Transforme en lien l'écran actif.\n" +
                      "-" + CONFIG.XML.PRINT_WINDOW.Key + "+" + CONFIG.XML.PRINT_WINDOW.Modifiers + " : Transforme en lien la fenêtre active.\n" +
                      "-" + CONFIG.XML.PRINT_FILE.Key + "+" + CONFIG.XML.PRINT_FILE.Modifiers + " : Transforme en lien le presse-papier.\n" +
                      "-" + CONFIG.XML.PRINT_CROP.Key + "+" + CONFIG.XML.PRINT_CROP.Modifiers + " : Ouvre la fenêtre de découpage.\n")
                      .Replace("Control", "Ctrl").Replace("+None", ""), "Raccourcis", ToolTipIcon.Info, 20000);
            };

            settings.Text = "Options";
            settings.Image = ScreenShot.Properties.Resources.settings.ToBitmap();
            settings.BackColor = c;
            settings.Click += (ob, ev) =>
            {
                if (op == null || op.IsDisposed)
                {
                    op = new Options(m);
                    op.ShowDialog();
                    op.Dispose();
                }
            };

            tobase64.Text = "Transformer en texte";
            tobase64.Image = ScreenShot.Properties.Resources.tobase64.ToBitmap();
            tobase64.BackColor = c;
            tobase64.Click += (ob, ev) =>
            {
                m.GetBase64();
            };

            tolink.Text = "Tranformer en lien";
            tolink.Image = ScreenShot.Properties.Resources.tolink.ToBitmap();
            tolink.BackColor = c;
            tolink.Click += (ob, ev) =>
            {
                m.Load_Clipboard();
            };

            menu.Items.Add(tolink);
            menu.Items.Add(tobase64);
            menu.Items.Add(new ToolStripSeparator());
            menu.Items.Add(settings);
            menu.Items.Add(help);
            menu.Items.Add(new ToolStripSeparator());
            menu.Items.Add(exit);

            components.Add(menu);
            nIcon = new System.Windows.Forms.NotifyIcon(components);

            nIcon.Icon = ScreenShot.Properties.Resources.connection;
            nIcon.Text = "Connexion au serveur..";

            nIcon.ContextMenuStrip = menu;

            nIcon.Visible = true;

            nIcon.MouseDoubleClick += (ob, ev) =>
            {
                settings.PerformClick();
            };
        }