void Update() { if (!Active) { return; } if (!CameraControler.IsInputFieldFocused()) { if (AllowRemove && Input.GetKeyDown(KeyCode.Delete)) { DestroySelectedObjects(); } if (Input.GetKeyDown(KeyCode.C) && Input.GetKey(KeyCode.LeftControl)) { //Copy CopyAction?.Invoke(); } else if (Input.GetKeyDown(KeyCode.V) && Input.GetKey(KeyCode.LeftControl)) { //Paste PasteAction?.Invoke(); } else if (Input.GetKeyDown(KeyCode.D) && Input.GetKey(KeyCode.LeftControl)) { //Duplicate DuplicateAction?.Invoke(); } } }
public static void ExecutePasteAction() { if (Current.Active && !CameraControler.IsInputFieldFocused()) { PasteAction?.Invoke(); } }
public frm_ActionEditor() { InitializeComponent(); this.isNew = true; this.PasteAction = new PasteAction(); updateControls(); }
public override void Execute(object parameter) { PasteAction pasteAction = new PasteAction(GlobalManagement.Instance.Clipboard, _context); pasteAction.PasteLocation = _context.MousePosition.PxToMeter(); pasteAction.Do(); GlobalManagement.Instance.UndoStack.Push(pasteAction); }
public frm_ActionEditor(PasteAction PasteAction) { InitializeComponent(); this.isNew = false; this.ExistingAction = PasteAction; this.PasteAction = PasteAction.Clone(); // Make a clone to change and validate before overwriting the reference object SetControlsFromPasteAction(); updateControls(); }
private void dgv_Actions_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (dgv_Actions.SelectedRows.Count >= 1) { selectedPasteAction = dgv_Actions.SelectedRows[0].DataBoundItem as PasteAction; } else { selectedPasteAction = null; } UpdateControls(); }
private void dgv_Actions_SelectionChanged(object sender, EventArgs e) { if (dgv_Actions.SelectedRows.Count >= 1) { selectedPasteAction = dgv_Actions.SelectedRows[0].DataBoundItem as PasteAction; } else { selectedPasteAction = null; } UpdateControls(); }
// Handle global hotkeys protected override void WndProc(ref Message m) { base.WndProc(ref m); if (m.Msg == 0x0312) { Keys key = (Keys)(((int)m.LParam >> 16) & 0xFFFF); WindowsHelper.KeyModifier modifier = (WindowsHelper.KeyModifier)((int)m.LParam & 0xFFFF); int id = m.WParam.ToInt32(); PasteAction matchedAction = new PasteAction(); foreach (PasteAction action in Global.Actions) { if (action.HotKeyRegistrationID == id) { matchedAction = action; } } if (string.IsNullOrEmpty(matchedAction.Name)) { MessageBox.Show("No action is matched to that hotkey"); this.Close(); return; } if (matchedAction.ID == "{00000000-0000-0000-0000-000000000000}") { openActionPicker(); } else if (matchedAction.ID == "{00000000-0000-0000-0000-000000000001}") { WindowsHelper.SetForegroundWindow(this.Handle); WindowsHelper.ShowWindowAsync(this.Handle, 1); } else { matchedAction.Paste(Global.LastApplications[0].WindowHandle, Global.LastApplications[0].LastActiveWindowMode); } } }
private void btn_Execute_Click(object sender, EventArgs e) { if (dgv_Actions.SelectedRows.Count <= 0) { MessageBox.Show("No action is selected", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (dgv_LastApplications.SelectedRows.Count <= 0) { MessageBox.Show("No application is selected", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } selectedPasteAction = dgv_Actions.SelectedRows[0].DataBoundItem as PasteAction; Classes.Application selectedApplication = dgv_LastApplications.SelectedRows[0].DataBoundItem as Classes.Application; if (selectedApplication.WindowHandle == IntPtr.Zero) { MessageBox.Show("There is something wrong with the selected application", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } selectedPasteAction.Paste(selectedApplication.WindowHandle, selectedApplication.LastActiveWindowMode); }
private void SetPasteActionFromControls(PasteAction action) { action.Name = txt_Name.Text; action.ReplaceNewline = chk_ConvertNLToEntry.Checked; action.ClearClipboard = chk_ClearClipboard.Checked; action.Split = txt_Split.Text; action.EntryText = txt_EntryText.Text; action.EndText = txt_EndText.Text; action.DelayMS = (int)num_DelayMS.Value; action.Hotkey = PasteAction.Hotkey; if (radio_None.Checked) { action.PastingAction = PasteAction.Action.None; } else if (radio_Autotype.Checked) { action.PastingAction = PasteAction.Action.AutoType; } else if (radio_Paste.Checked) { action.PastingAction = PasteAction.Action.Paste; } }
private void UpdateControls() { if (Clipboard.ContainsText() && dgv_LastApplications.SelectedRows.Count >= 1) { lbl_ClipboardStatus.Text = "Contains text"; lbl_ClipboardStatus.ForeColor = Color.Green; btn_Paste.Enabled = true; } else if (dgv_Actions.SelectedRows.Count == 0) { lbl_ClipboardStatus.Text = "No action is selected"; lbl_ClipboardStatus.ForeColor = Color.Red; btn_Paste.Enabled = false; } else if (dgv_LastApplications.SelectedRows.Count == 0) { lbl_ClipboardStatus.Text = "No application is selected"; lbl_ClipboardStatus.ForeColor = Color.Red; btn_Paste.Enabled = false; } else if (Clipboard.ContainsImage()) { lbl_ClipboardStatus.Text = "Contains image"; lbl_ClipboardStatus.ForeColor = Color.Red; btn_Paste.Enabled = false; } else if (Clipboard.ContainsAudio()) { lbl_ClipboardStatus.Text = "Contains audio"; lbl_ClipboardStatus.ForeColor = Color.Red; btn_Paste.Enabled = false; } else if (Clipboard.ContainsFileDropList()) { lbl_ClipboardStatus.Text = "Contains files"; lbl_ClipboardStatus.ForeColor = Color.Red; btn_Paste.Enabled = false; } else { lbl_ClipboardStatus.Text = "Clipboard is empty"; lbl_ClipboardStatus.ForeColor = Color.Red; btn_Paste.Enabled = false; } foreach (DataGridViewRow row in dgv_Actions.Rows) { if (row.DataBoundItem == null) { continue; } try { PasteAction pa = row.DataBoundItem as PasteAction; if (PasteAction.ReservedIDs.Contains(pa.ID)) { row.Visible = false; } } catch { } } }