private void NewCSharpFromClipboard() { string code = clipboardService.GetText(); if (!string.IsNullOrEmpty(code)) { NewCore(DocumentType.CSharp, code); } }
private Result CreateTemplateLink(string shortCut, string description) { return(new Result { Title = $"Save template '{shortCut}'", SubTitle = _clipboardService.GetText()?.Replace(Environment.NewLine, " ↵ "), IcoPath = @"icon.png", Action = context => { var text = _clipboardService.GetText(); _storage.Set(shortCut, LinkType.ClipboardTemplate, text, description); return true; } }); }
public string Run(string code, string template, Dictionary <string, string> variables) { using (Py.GIL()) { using (var scope = Py.CreateScope()) { scope.Set("result", ""); scope.Set("template", template); using (var pyVariables = new PyDict()) { foreach (var variable in variables) { pyVariables[variable.Key] = variable.Value.ToPython(); } scope.Set("variables", pyVariables); scope.Set("get_clipboard_text", (Func <string>)(() => _clipboardService.GetText())); scope.Set("set_clipboard_text", (Action <string>)((text) => _clipboardService.SetText(text))); scope.Exec(code); return(scope.Get <string>("result")); } } } }
public void DownloadImage() { var clipboardText = _clipboardService.GetText(); try { if (!IsImageUrl(clipboardText)) { throw new Exception("Link not contains image."); } GetImageStart(clipboardText); var message = new NotificationMessage(ViewsManager.NotificationOpenWindow); Messenger.Default.Send(message); } catch (Exception ex) { //TODO: get system notification var message = new BallonNotificationMessage(ex.Message) { Title = "DOWNLOAD ERROR" }; Messenger.Default.Send(message); } }
private void ExecuteAddPodcastCommand(object parameter) { var dataObject = parameter as IDataObject; var newPodcast = (dataObject != null) ? CreateNewPodcast(_dataObjectUriExtractor.GetUri(dataObject)) : CreateNewPodcast(_clipboardService.GetText()); var newPodcastViewModel = new PodcastViewModel(newPodcast); if (EditPodcast(newPodcastViewModel)) { Podcasts.Add(newPodcastViewModel); } }
public void LinkTemplate() { const string template = @"Select * from player"; _clipboard.GetText().Returns(template); _saveParser.TryParse("link -t SelectAllPlayers".AsQuery(), out var results) .Should() .BeTrue(); results.Should().HaveCount(1); var link = results.Single(); link.Title.Should().Be("Save template 'SelectAllPlayers'"); link.SubTitle.Should().Be(template); link.Action(new ActionContext()); _storage.Received(1).Set("SelectAllPlayers", LinkType.ClipboardTemplate, template, Arg.Any <string>()); }
public PacketFilterDialogViewModel(IClipboardService clipboardService, IReadOnlyFilterData?filterData) { this.clipboardService = clipboardService; Accept = new DelegateCommand(() => CloseOk?.Invoke()); Cancel = new DelegateCommand(() => CloseCancel?.Invoke()); ClearFiltersCommand = new AsyncAutoCommand(async() => { ExcludedEntries = ""; IncludedEntries = ""; ExcludedOpcodes = ""; IncludedOpcodes = ""; ExcludedGuids.Clear(); IncludedGuids.Clear(); CommaSeparatedPackets = ""; HasMaxPacketNumber = false; HasMinPacketNumber = false; MinPacketNumber = 0; MaxPacketNumber = 0; }); CopyFiltersCommand = new AsyncAutoCommand(async() => { var data = new SerializedClipboardData() { ExcludedEntries = GenerateList(excludedEntries, s => uint.TryParse(s, out _), uint.Parse), IncludedEntries = GenerateList(includedOpcodes, s => uint.TryParse(s, out _), uint.Parse), ExcludedGuids = ExcludedGuids.Count == 0 ? null : ExcludedGuids.Select(s => s.ToHexWithTypeString()).ToList(), IncludedGuids = IncludedGuids.Count == 0 ? null : IncludedGuids.Select(s => s.ToHexWithTypeString()).ToList(), ExcludedOpcodes = GenerateList(excludedOpcodes, _ => true, s => s.ToUpper()), IncludedOpcodes = GenerateList(includedOpcodes, _ => true, s => s.ToUpper()), ForceIncludedNumbers = GenerateList(commaSeparatedPackets, s => int.TryParse(s, out var x) && x >= 0, int.Parse), MinPacket = HasMinPacketNumber ? MinPacketNumber : null, MaxPacket = HasMaxPacketNumber ? MaxPacketNumber : null, }; var serialized = JsonConvert.SerializeObject(data, Formatting.Indented, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }); clipboardService.SetText(serialized); }); PasteFiltersCommand = new AsyncAutoCommand(async() => { var text = await clipboardService.GetText(); if (string.IsNullOrEmpty(text)) { return; } SerializedClipboardData?serialized = null; try { serialized = JsonConvert.DeserializeObject <SerializedClipboardData>(text); } catch (Exception _) { // ignored } if (!serialized.HasValue) { return; } HasMinPacketNumber = serialized.Value.MinPacket.HasValue; HasMaxPacketNumber = serialized.Value.MaxPacket.HasValue; MinPacketNumber = serialized.Value.MinPacket ?? 0; MaxPacketNumber = serialized.Value.MaxPacket ?? 0; if (serialized.Value.ExcludedEntries != null) { ExcludedEntries = string.Join(", ", serialized.Value.ExcludedEntries); } if (serialized.Value.IncludedEntries != null) { IncludedEntries = string.Join(", ", serialized.Value.IncludedEntries); } if (serialized.Value.ExcludedGuids != null) { ExcludedGuids.AddRange(serialized.Value.ExcludedGuids.StringToGuids()); } if (serialized.Value.IncludedGuids != null) { IncludedGuids.AddRange(serialized.Value.IncludedGuids.StringToGuids()); } if (serialized.Value.ExcludedOpcodes != null) { ExcludedOpcodes = string.Join(", ", serialized.Value.ExcludedOpcodes); } if (serialized.Value.IncludedOpcodes != null) { IncludedOpcodes = string.Join(", ", serialized.Value.IncludedOpcodes); } if (serialized.Value.ForceIncludedNumbers != null) { CommaSeparatedPackets = string.Join(", ", serialized.Value.ForceIncludedNumbers); } }); if (filterData != null) { HasMinPacketNumber = filterData.MinPacketNumber.HasValue; HasMaxPacketNumber = filterData.MaxPacketNumber.HasValue; MinPacketNumber = filterData.MinPacketNumber ?? 0; MaxPacketNumber = filterData.MaxPacketNumber ?? 0; if (filterData.ExcludedEntries != null) { ExcludedEntries = string.Join(", ", filterData.ExcludedEntries); } if (filterData.IncludedEntries != null) { IncludedEntries = string.Join(", ", filterData.IncludedEntries); } if (filterData.ExcludedGuids != null) { ExcludedGuids.AddRange(filterData.ExcludedGuids); } if (filterData.IncludedGuids != null) { IncludedGuids.AddRange(filterData.IncludedGuids); } if (filterData.ExcludedOpcodes != null) { ExcludedOpcodes = string.Join(", ", filterData.ExcludedOpcodes); } if (filterData.IncludedOpcodes != null) { IncludedOpcodes = string.Join(", ", filterData.IncludedOpcodes); } if (filterData.ForceIncludePacketNumbers != null) { CommaSeparatedPackets = string.Join(", ", filterData.ForceIncludePacketNumbers); } } DeleteIncludedGuid = new DelegateCommand <UniversalGuid?>(guid => { if (guid != null) { IncludedGuids.Remove(guid); } }); DeleteExcludedGuid = new DelegateCommand <UniversalGuid?>(guid => { if (guid != null) { ExcludedGuids.Remove(guid); } }); AutoDispose(this.ToObservable(o => o.ExcludedEntries).SubscribeAction(_ => RaisePropertyChanged(nameof(EntriesHeader)))); AutoDispose(this.ToObservable(o => o.IncludedEntries).SubscribeAction(_ => RaisePropertyChanged(nameof(EntriesHeader)))); AutoDispose(ExcludedGuids.ToCountChangedObservable().SubscribeAction(_ => RaisePropertyChanged(nameof(GuidsHeader)))); AutoDispose(IncludedGuids.ToCountChangedObservable().SubscribeAction(_ => RaisePropertyChanged(nameof(GuidsHeader)))); AutoDispose(this.ToObservable(o => o.ExcludedOpcodes).SubscribeAction(_ => RaisePropertyChanged(nameof(OpcodesHeader)))); AutoDispose(this.ToObservable(o => o.IncludedOpcodes).SubscribeAction(_ => RaisePropertyChanged(nameof(OpcodesHeader)))); }