public void ReadJSON(dynamic json) { m_active = (json.active == "true" ? true : false); SettingsMacro.ReadJSON(json.settings); foreach (dynamic d in json.activators) { if (d.type == "activatorShortcut") { List <Keys> keys = new List <Keys>(); foreach (Keys k in d.keys.ToObject <Keys[]>()) { keys.Add(k); } Shortcut shortcut = new Shortcut(keys); ActivatorShortcut a = new ActivatorShortcut(shortcut, d.loop.ToObject <bool>(), this); Nodes[0].Nodes.Add(a); } else if (d.type == "activatorTime") { ActivatorTime a = new ActivatorTime( DateTime.ParseExact((string)d.time, "HH:mm:ss", CultureInfo.InvariantCulture), TimeSpan.ParseExact((string)d.interval, "dd':'hh':'mm':'ss", CultureInfo.InvariantCulture), this); Nodes[0].Nodes.Add(a); } } ReadJSONCommand(json, Nodes[1], 0); }
private void tsmiRemove_Click(object sender, EventArgs e) { if (m_selectedNode.Name == "commands" || m_selectedNode.Name == "activators" || m_selectedNode.Name == "conditions") { DialogResult result = MessageBox.Show("Mit \"Löschen\" werden in diesem Kontext alle Unterpunkte des geklicken Punktes gelöscht. Wollen Sie wirklich forfahren?", "Alle Unterpunkte löschen", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result == DialogResult.Yes) { ActivatorShortcut.RemoveEvents(m_selectedNode); ActivatorTime.CancelTimers(m_selectedNode); m_selectedNode.Nodes.Clear(); } } else if (m_selectedNode.Name == "folder") { DialogResult result = MessageBox.Show("Wollen Sie \"" + m_selectedNode.Text + "\" und smit auch alle Unterpunkte wirklich löschen?", "Löschen", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result == DialogResult.Yes) { ActivatorShortcut.RemoveEvents(m_selectedNode); ActivatorTime.CancelTimers(m_selectedNode); tvMakros.Nodes.Remove(m_selectedNode); m_selectedNode = null; } } else if (m_selectedNode.Name == "makro") { DialogResult result = MessageBox.Show("Wollen Sie \"" + m_selectedNode.Text + "\" und smit auch alle Unterpunkte wirklich löschen?", "Löschen", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result == DialogResult.Yes) { ActivatorShortcut.RemoveEvents(m_selectedNode); ActivatorTime.CancelTimers(m_selectedNode); tvMakros.Nodes.Remove(m_selectedNode); m_selectedNode = null; } } else { ActivatorShortcut.RemoveEvents(m_selectedNode); ActivatorTime.CancelTimers(m_selectedNode); tvMakros.Nodes.Remove(m_selectedNode); m_selectedNode = null; } }
private void tsmiNewActivatorShortcut_Click_1(object sender, EventArgs e) { FormActivatorShortcut frm = new FormActivatorShortcut(new Shortcut(new List <Keys>()), false); if (frm.ShowDialog() == DialogResult.OK) { Macro m = null; if (m_selectedNode.Name == "activator") { m = (Macro)m_selectedNode.Parent.Parent; ActivatorShortcut a = new ActivatorShortcut(new Shortcut(frm.Shortcut.Keys), frm.LoopExecution, m); m_selectedNode.Parent.Nodes.Add(a); } else if (m_selectedNode.Name == "activators") { m = (Macro)m_selectedNode.Parent; ActivatorShortcut a = new ActivatorShortcut(new Shortcut(frm.Shortcut.Keys), frm.LoopExecution, m); m_selectedNode.Nodes.Insert(0, a); } } }
private void tvMakros_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) { tvMakros.SelectedNode = e.Node; if (e.Button == MouseButtons.Left) { if (e.Node.GetType() == typeof(CommandWait)) { CommandWait c = (CommandWait)tvMakros.SelectedNode; FormCommandWait frm = new FormCommandWait(c.Duration); if (frm.ShowDialog() == DialogResult.OK) { c.Duration = frm.WaitDuration; } } else if (e.Node.GetType() == typeof(ActivatorShortcut)) { ActivatorShortcut a = (ActivatorShortcut)e.Node; FormActivatorShortcut frm = new FormActivatorShortcut(a.Shortcut, a.LoopexEcution); if (frm.ShowDialog() == DialogResult.OK) { a.Shortcut.Keys = frm.Shortcut.Keys; a.Shortcut = a.Shortcut; a.LoopexEcution = frm.LoopExecution; } } else if (e.Node.GetType() == typeof(ActivatorTime)) { ActivatorTime a = (ActivatorTime)e.Node; FormActivatorTime frm = new FormActivatorTime(a.TriggerTime, a.TriggerInterval); if (frm.ShowDialog() == DialogResult.OK) { a.TriggerTime = frm.TriggerTime; a.TriggerInterval = frm.TriggerInterval; } } else if (e.Node.GetType() == typeof(CommandInput)) { Macro m = Macro.GetMacroByChild(m_selectedNode); FormCommandInput frm = new FormCommandInput((CommandInput)e.Node, m); if (frm.ShowDialog() == DialogResult.OK) { e.Node.Parent.Nodes.Insert(e.Node.Index, frm.CommandInput); e.Node.Remove(); } } else if (e.Node.GetType() == typeof(ConditionNode)) { Macro m = Macro.GetMacroByChild(tvMakros.SelectedNode); ConditionNode cn = (ConditionNode)e.Node; FormCondition frm = null; if (cn.Condition != null) { frm = new FormCondition(cn.Condition, m); } else { frm = new FormCondition(m); } if (frm.ShowDialog() == DialogResult.OK) { cn.Condition = frm.Condition; } } else if (e.Node.GetType() == typeof(CommandSetVariable)) { CommandSetVariable c = (CommandSetVariable)m_selectedNode; Macro m = Macro.GetMacroByChild(c); FormCommandSetVariable frm = new FormCommandSetVariable((c.Variable != null ? c.Variable.Name : ""), c.Output, m); if (frm.ShowDialog() == DialogResult.OK) { c.Variable = frm.Variable; c.Output = frm.Output; } } else if (e.Node.GetType() == typeof(CommandReplayMakro)) { CommandReplayMakro c = (CommandReplayMakro)m_selectedNode; FormCommandReplayMacro frm = new FormCommandReplayMacro(c.MacroName); if (frm.ShowDialog() == DialogResult.OK) { c.MacroName = frm.MacroName; } } else if (e.Node.GetType() == typeof(CommandWriteFile)) { Macro m = Macro.GetMacroByChild(m_selectedNode); CommandWriteFile c = (CommandWriteFile)m_selectedNode; FormCommandWriteFile frm = new FormCommandWriteFile(c.FileName, c.FileText, c.AppendFile, m); if (frm.ShowDialog() == DialogResult.OK) { c.FileName = frm.FileName; c.FileText = frm.Text; c.AppendFile = frm.AppendFile; } } } }
private void Makros_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Delete) { ActivatorTime.CancelTimers(SelectedNode); ActivatorShortcut.RemoveEvents(SelectedNode); if (SelectedNode.GetType() == typeof(ActivatorShortcut)) { SelectedNode.Remove(); } else if (SelectedNode.GetType() == typeof(ActivatorTime)) { SelectedNode.Remove(); } else if (SelectedNode.Name == "command" || SelectedNode.Name == "activator" || SelectedNode.Name == "condition") { SelectedNode.Remove(); } else if (SelectedNode.Name == "makro" || SelectedNode.Name == "folder") { DialogResult result = MessageBox.Show("Wollen Sie \"" + SelectedNode.Text + "\" und somit auch alle Unterpunkte wirklich löschen?", "Löschen", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result == DialogResult.Yes) { Nodes.Remove(SelectedNode); } } } else if (e.KeyCode == Keys.Add) { if (SelectedNode.GetType() == typeof(CommandWait)) { CommandWait cw = (CommandWait)SelectedNode; if (cw.Duration + 50 <= 3600000) { cw.Duration += 50; } else { cw.Duration = 3600000; } } } else if (e.KeyCode == Keys.Subtract) { if (SelectedNode.GetType() == typeof(CommandWait)) { CommandWait cw = (CommandWait)SelectedNode; if (cw.Duration - 50 >= 20) { cw.Duration -= 50; } else { cw.Duration = 20; } } } else if (e.KeyCode == Keys.NumPad0) { if (SelectedNode.GetType() == typeof(CommandWait)) { CommandWait cw = (CommandWait)SelectedNode; cw.Duration = 40; } } else if (e.KeyCode == Keys.NumPad1) { if (SelectedNode.GetType() == typeof(CommandWait)) { CommandWait cw = (CommandWait)SelectedNode; cw.Duration = 100; } } else if (e.KeyCode == Keys.NumPad2) { if (SelectedNode.GetType() == typeof(CommandWait)) { CommandWait cw = (CommandWait)SelectedNode; cw.Duration = 200; } } else if (e.KeyCode == Keys.Up && m_controlPressed) { if (SelectedNode.Name == "command" || SelectedNode.Name == "condition" || SelectedNode.Name == "activator" || SelectedNode.Name == "makro" || SelectedNode.Name == "folder") { int tnIndex = SelectedNode.Index; if (tnIndex - 1 >= 0) { TreeNode parentNode = SelectedNode.Parent; TreeNode tn = SelectedNode; parentNode.Nodes.Remove(tn); parentNode.Nodes.Insert(tnIndex - 1, tn); SelectedNode = tn; } } } else if (e.KeyCode == Keys.Down && m_controlPressed) { if (SelectedNode.Name == "command" || SelectedNode.Name == "condition" || SelectedNode.Name == "activator" || SelectedNode.Name == "makro" || SelectedNode.Name == "folder") { int tnIndex = SelectedNode.Index; TreeNode parentNode = SelectedNode.Parent; if (tnIndex + 1 <= parentNode.Nodes.Count) { TreeNode tn = SelectedNode; parentNode.Nodes.Remove(tn); parentNode.Nodes.Insert(tnIndex + 1, tn); SelectedNode = tn; } } } if (e.KeyCode == Keys.ControlKey) { m_controlPressed = true; } }