protected override void Execute() { if (!_isTranscreateDocument) { return; } var selectedSegmentPair = _studioDocument?.GetActiveSegmentPair(); var selectedContextType = GetContextType(selectedSegmentPair); if (selectedContextType == null) { return; } var slectedSegmentPairs = GetSegmentPairs(selectedContextType); var selectedIndex = GetSelectedIndex(slectedSegmentPairs, selectedSegmentPair); if (selectedIndex <= -1) { return; } var recommendedSegmentPairs = GetSegmentPairs("Recommended"); var recommendedSegmentPair = recommendedSegmentPairs[selectedIndex]; //switch var recommendedTargetClone = recommendedSegmentPair.Target.Clone() as ISegment; var recommendedPropertiesClone = recommendedSegmentPair.Properties.Clone() as ISegmentPairProperties; SwitchTranslation(recommendedSegmentPair, selectedSegmentPair?.Target, selectedSegmentPair?.Properties); SwitchTranslation(selectedSegmentPair, recommendedTargetClone, recommendedPropertiesClone); }
public List <ISegmentPair> GetSegmentPairs(IStudioDocument document, bool exportSelectedSegments) { List <ISegmentPair> segmentPairs; if (exportSelectedSegments) { segmentPairs = document.GetSelectedSegmentPairs().ToList(); if (segmentPairs.Count == 0) { var activeSegmentPair = document.GetActiveSegmentPair(); if (activeSegmentPair != null) { segmentPairs = new List <ISegmentPair> { document.GetActiveSegmentPair() }; } } } else { segmentPairs = document.FilteredSegmentPairs.ToList(); } return(segmentPairs); }
private void DocumentChanged(IStudioDocument document) { if (_studioDocument != null) { _studioDocument.ActiveSegmentChanged -= StudioDocumentOnActiveSegmentChanged; } _studioDocument = document; _isTranscreateDocument = IsTranscreateDocument(document); if (_isTranscreateDocument) { _studioDocument.ActiveSegmentChanged += StudioDocumentOnActiveSegmentChanged; } SetEnabled(_studioDocument?.GetActiveSegmentPair()); }
private void searchButton_Click(object sender, EventArgs e) { var editorController = GetEditorController(); editorController.Activate(); if (editorController.ActiveDocument == null || string.IsNullOrEmpty(findWhatComboBox.Text) || (!inSourceCheckBox.Checked && !inTargetCheckBox.Checked)) { return; } if (useRegexCheckBox.Checked) { try { Regex.IsMatch("DummyText", findWhatComboBox.Text); } catch (Exception ex) { MessageBox.Show(ex.Message); return; } } AddFindWhatHisotry(); _currentDoc = editorController.ActiveDocument; _currentSegmentPair = _currentDoc.GetActiveSegmentPair(); var search = GetSearchSettings(); var xhtml = ExecuteSearch(search); var path = SaveXhtml(xhtml); searchResultsWebBrowser.Url = new Uri(path); }