protected override ContextMenuStrip CreateMenu() { var menu = new ContextMenuStrip(); var CopyNinjaCopy = new ToolStripMenuItem { Text = "Copy File to SkyNet" }; var CopyNinjaPaste = new ToolStripMenuItem { Text = "Paste File from SkyNet" }; CopyNinjaCopy.Click += (sender, args) => CopyFile(); CopyNinjaPaste.Click += (sender, args) => PasteFile(); CopyNinjaCopy.Enabled = SelectedItemPaths.Any(); CopyNinjaPaste.Enabled = !SelectedItemPaths.Any(); menu.Items.Add(CopyNinjaCopy); menu.Items.Add(CopyNinjaPaste); return(menu); }
private void CopyFile() { try { if (!SelectedItemPaths.Any()) { return; } var location = new Uri(Assembly.GetExecutingAssembly().CodeBase); var info = new FileInfo(location.AbsolutePath).Directory; var json = File.ReadAllText(info.FullName + @"\config.json"); var objConfig = (Config)JsonConvert.DeserializeObject(json, typeof(Config)); var client = new RestClient($"{objConfig.Url}/api/clipboard") { UserAgent = "Sia-Agent" }; var request = new RestRequest() { Method = Method.POST, RequestFormat = DataFormat.Json }; request.AddJsonBody(SelectedItemPaths.First()); var response = client.Execute(request); switch (response.StatusCode) { case System.Net.HttpStatusCode.OK: MessageBox.Show("File Copied"); break; default: MessageBox.Show("Copy Failed :" + response.StatusCode); break; } } catch (System.Exception ex) { MessageBox.Show(ex.Message + "ERROR"); } }
private void CopyWslPathToClipboard() { if (!SelectedItemPaths.Any()) { return; } try { Clipboard.SetText(GetWslPath(SelectedItemPaths.First())); } catch { // die silently } }
protected override ContextMenuStrip CreateMenu() { var menu = new ContextMenuStrip(); if (!SelectedItemPaths.Any()) { return(menu); } try { string providerName; try { var repositoryPath = _gitRepositoryService.GetRepositoryPath(SelectedItemPaths.First()); var remote = _gitRepositoryService.GetRemote(repositoryPath); var provider = _gitRepositoryService.GetProviderForRemote(remote); providerName = provider.ToString(); } catch (Exception ex) { return(menu); } var getRawGitUrlMenuItem = new ToolStripMenuItem { Text = "Copy {0} repository raw URL".FormatWith(providerName) }; getRawGitUrlMenuItem.Click += (sender, args) => ExecuteGitClicky(); menu.Items.Add(getRawGitUrlMenuItem); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } return(menu); }
protected override bool CanShowMenu() { return (SelectedItemPaths.Any() && SelectedItemPaths.All(x => _gitRepositoryService.IsPathInRepository(x))); }
protected override bool CanShowMenu() { return(SelectedItemPaths.Any()); }