예제 #1
0
        public void Start(ScriptInfo scriptInfo)
        {
            if (!IsRunning)
            {
                IsRunning   = true;
                btnRun.Text = "Stop";

                if (Program.Settings.AutoMinimizeMainWindow)
                {
                    WindowState = FormWindowState.Minimized;
                }

                BackgroundWorker bw = new BackgroundWorker();
                bw.DoWork             += bw_DoWork;
                bw.RunWorkerCompleted += bw_RunWorkerCompleted;
                bw.RunWorkerAsync(scriptInfo);
            }
            else
            {
                Stop();
            }
        }
예제 #2
0
        private void lvScripts_SelectedIndexChanged(object sender, EventArgs e)
        {
            bool selected = lvScripts.SelectedItems.Count > 0;

            btnUpdateScript.Enabled = btnRemoveScript.Enabled = selected;

            if (selected)
            {
                ListViewItem lvi        = lvScripts.SelectedItems[0];
                ScriptInfo   scriptInfo = lvi.Tag as ScriptInfo;
                if (scriptInfo != null)
                {
                    txtScriptName.Text = scriptInfo.Name;
                    btnHotkey.UpdateHotkey(new HotkeyInfo(scriptInfo.Hotkey));
                    rtbInput.Text = scriptInfo.Script;
                    nudLineDelay.SetValue(scriptInfo.LineDelay);
                }
            }
            else
            {
                ResetFields();
            }
        }
예제 #3
0
        private void btnUpdateScript_Click(object sender, EventArgs e)
        {
            if (lvScripts.SelectedItems.Count > 0)
            {
                string scriptName = txtScriptName.Text;

                if (string.IsNullOrEmpty(scriptName))
                {
                    MessageBox.Show("Script name can't be empty.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                ListViewItem lvi        = lvScripts.SelectedItems[0];
                ScriptInfo   scriptInfo = lvi.Tag as ScriptInfo;

                scriptInfo.Name      = scriptName;
                scriptInfo.Script    = rtbInput.Text;
                scriptInfo.Hotkey    = btnHotkey.HotkeyInfo.Hotkey;
                scriptInfo.LineDelay = (int)nudLineDelay.Value;

                lvi.Text             = scriptInfo.Name;
                lvi.SubItems[1].Text = new HotkeyInfo(scriptInfo.Hotkey).ToString();
            }
        }
예제 #4
0
 private void AddScript(ScriptInfo scriptInfo)
 {
     Program.Settings.Scripts.Add(scriptInfo);
     AddScriptToList(scriptInfo);
     lvScripts.SelectedIndex = lvScripts.Items.Count - 1;
 }