Skip to content

Commit

Permalink
Added Copy/Paste commands
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexey Murashkevich committed Jan 3, 2023
1 parent 9a91a97 commit 7a7299e
Show file tree
Hide file tree
Showing 2 changed files with 111 additions and 39 deletions.
55 changes: 42 additions & 13 deletions SSH.CommandSender/SSHCommandSender.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

95 changes: 69 additions & 26 deletions SSH.CommandSender/SSHCommandSender.cs
Original file line number Diff line number Diff line change
Expand Up @@ -331,39 +331,16 @@ private void menuMoveHostUp_Click(object sender, EventArgs e)
}
}

private void ShowHostEditorDialog(string windowTitle, SshHostDetails host, bool appedToList)
{
var hostEditorDialog = new HostEditorDialog(windowTitle, host);
var dialogResult = hostEditorDialog.ShowDialog(this);
if (dialogResult == DialogResult.OK)
{
var relevantHost = hostEditorDialog.HostDetails;
if (string.IsNullOrWhiteSpace(relevantHost.Name) == false &&
string.IsNullOrWhiteSpace(relevantHost.Host) == false &&
string.IsNullOrWhiteSpace(relevantHost.Username) == false && relevantHost.Port > 0)
{
if (appedToList)
{
this._allHosts.Add(relevantHost);
}



BindHostsCheckbox();
}
else
{
MessageBox.Show(this, "Failed to edit the host. Please fill all fields!", "Failed!", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
}
}
private void menuCreateCommandFromSelection_Click(object sender, EventArgs e)
{
var relevantRichTextBox = ctxMenuProccessOutputs.SourceControl as RichTextBox;
var selectedText = relevantRichTextBox.SelectedText;

ShowCommandEditorDialog("Add New Command", new SshCommandDetails(string.Empty, selectedText), true);
}

private void chkListHosts_MouseDoubleClick(object sender, MouseEventArgs e)
{
var checkedListBox = (sender as CheckedListBox);
Expand Down Expand Up @@ -428,6 +405,58 @@ private void menuDuplicateCommand_Click(object sender, EventArgs e)
BindCommandsCheckbox();
}

private void ctxMenuCommands_Opening(object sender, CancelEventArgs e)
{
menuPasteCommand.Enabled = GetCommandFromClipboard() != null;
}

private void menuPasteCommand_Click(object sender, EventArgs e)
{
var commandFromClipboard = GetCommandFromClipboard();
var selectedIndex = 0;
if (chkListCommands.SelectedIndex > 0)
{
selectedIndex = chkListCommands.SelectedIndex;
}
this._allCommands.Insert(selectedIndex, commandFromClipboard);

BindCommandsCheckbox();
}

private void menuCopyCommand_Click(object sender, EventArgs e)
{
var selectedCommand = chkListCommands.SelectedItem as SshCommandDetails;

Clipboard.SetText(JsonConvert.SerializeObject(selectedCommand, Formatting.Indented));
}

private void ShowHostEditorDialog(string windowTitle, SshHostDetails host, bool appedToList)
{
var hostEditorDialog = new HostEditorDialog(windowTitle, host);
var dialogResult = hostEditorDialog.ShowDialog(this);
if (dialogResult == DialogResult.OK)
{
var relevantHost = hostEditorDialog.HostDetails;
if (string.IsNullOrWhiteSpace(relevantHost.Name) == false &&
string.IsNullOrWhiteSpace(relevantHost.Host) == false &&
string.IsNullOrWhiteSpace(relevantHost.Username) == false && relevantHost.Port > 0)
{
if (appedToList)
{
this._allHosts.Add(relevantHost);
}


BindHostsCheckbox();
}
else
{
MessageBox.Show(this, "Failed to edit the host. Please fill all fields!", "Failed!", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
}
}

private void ShowCommandEditorDialog(string windowTitle, SshCommandDetails command, bool appedToList)
{
var commandEditorDialog = new CommandEditorDialog(windowTitle, command);
Expand Down Expand Up @@ -751,7 +780,21 @@ private TabPage CreateEmptyTabWithListView(string tabName)
return result;
}

private SshCommandDetails GetCommandFromClipboard()
{
SshCommandDetails result = null;
try
{
var textInClipboard = Clipboard.GetText();
result = JsonConvert.DeserializeObject<SshCommandDetails>(textInClipboard);
}
catch (Exception e)
{

}

return result;
}
private void SetUIAccordingToProgrammState()
{
if (this._taskRunning)
Expand Down Expand Up @@ -805,7 +848,7 @@ private string GetAssemblyVersion()
return fvi.FileVersion;
}


}

}

0 comments on commit 7a7299e

Please sign in to comment.