public void UpdateLastDetectedChangedPath(ChangedPath fullPath) { Dispatcher.Invoke(() => { PathLabel.Content = fullPath; }); }
public bool PathExists(ChangedPath fullPath) { _fileExists = fullPath.ToFileInfo().Exists; if (!_fileExists) { MessageBox.Show(fullPath + " does not exist anymore"); MessageBox.Show(fullPath + " does not exist anymore"); } return(_fileExists); }
public void AddToClipboard(ChangedPath fullPath) { using (var stream = CreateCopyDescription()) { IDataObject data = new DataObject(); data.SetData(DataFormats.FileDrop, new[] { fullPath.ToString() }, true); data.SetData("Preferred DropEffect", stream); Clipboard.Clear(); Clipboard.SetDataObject(data, true); } }
public void OnChanged(ChangedPath changedPath) { try { _pathContext.Save(changedPath); } catch (Exception ex) { _diagnosticMessages.NotifyOnError(ex); } }
public void OnChanged(ChangedPath changedPath) { if (_globs.Any(Matches(changedPath))) { _applicationUseCases.OnChanged(changedPath); } else { Console.WriteLine("None of the " + _globs.Count + " globs matched " + changedPath); //bug change this to logging } }
public void ShouldAllowAllPathsWhenPassedBlob(string blob, string extension, int expectedInnerObserverCallCount) { //GIVEN var innerObserver = Substitute.For <PathChangesObserver>(); var filter = new FilteringObserver(innerObserver, blob); var changedPath = new ChangedPath(Any.String() + extension); //WHEN filter.OnChanged(changedPath); //THEN innerObserver.Received(expectedInnerObserverCallCount).OnChanged(changedPath); }
internal ChangeArgs PrependViewModel(IViewModel viewModel) { return(new ChangeArgs( ChangeType, Stage, ChangedProperty, ChangedPath.Prepend(viewModel), Reason ) { NewItems = NewItems, OldItems = OldItems }); }
public void ShouldNotIssueNotificationWhenNoneOfThePatternsIsMatchedByInput() { //GIVEN var nonMatchablePattern = "*.lolokimono"; var innerObserver = Substitute.For <PathChangesObserver>(); var filter = new FilteringObserver(innerObserver, nonMatchablePattern); var changedPath = new ChangedPath(Any.String()); //WHEN filter.OnChanged(changedPath); //THEN innerObserver.Received(0).OnChanged(changedPath); }
public void ShouldDisplayInformationAndUpdateLastPathChangedInfoOnPathChangeEvent() { //GIVEN var context = new ArtifactNotificationDriver(); context.StartApplication().ClearRecordedEvents(); var changedPathDir = Any.String(); var changedPathFile = Any.String(); var changedPath = new ChangedPath(changedPathDir, changedPathFile); //WHEN context.FileSystem.ChangeOccursTo(changedPathDir, changedPathFile); //THEN context.DiagnosticBubble.ShouldDisplayMessageThatThereWasChangeTo(changedPath); context.LastDetectedPathChange.ShouldBeUpdatedTo(changedPath); }
public void Setup() { _context = new ArtifactNotificationDriver(); //GIVEN _context = new ArtifactNotificationDriver(); _context.StartApplication(); var changedPathDir = Any.String(); var changedPathFile = Any.String(); _changedPath = PathTo(changedPathDir, changedPathFile); _context.FileSystem.ChangeOccursTo(changedPathDir, changedPathFile); _context.ClearRecordedEvents(); _context.FileSystem.Has(_changedPath); }
public void Save(ChangedPath fullPath) { _currentState = _pathStates.ForDetectedChangeTo(fullPath); _diagnosticMessages.NotifyMonitoredPathChanged(fullPath); _applicationEventsPresenter.UpdateLastDetectedChangedPath(fullPath); }
void RevisionListViewSelectionChanged(object sender, EventArgs e) { changesList.Items.Clear(); if (revisionList.SelectedItems.Count == 0) { commentRichTextBox.Text = ""; commentRichTextBox.Enabled = false; return; } commentRichTextBox.Enabled = true; ListViewItem item = revisionList.SelectedItems[0]; LogMessage logMessage = item.Tag as LogMessage; commentRichTextBox.Text = logMessage.Message; ChangedPathDictionary changes = logMessage.ChangedPaths; if (changes == null) { changesList.Items.Add("Loading..."); if (!isLoadingChangedPaths) { isLoadingChangedPaths = true; loadChangedPathsItem = item; ThreadPool.QueueUserWorkItem(LoadChangedPaths); } } else { int pathWidth = 70; int copyFromWidth = 70; using (Graphics g = CreateGraphics()) { foreach (DictionaryEntry entry in changes) { string path = (string)entry.Key; path = path.Replace('\\', '/'); SizeF size = g.MeasureString(path, changesList.Font); if (size.Width + 4 > pathWidth) { pathWidth = (int)size.Width + 4; } ChangedPath change = (ChangedPath)entry.Value; string copyFrom = change.CopyFromPath; if (copyFrom == null) { copyFrom = string.Empty; } else { copyFrom = copyFrom + " : r" + change.CopyFromRevision; size = g.MeasureString(copyFrom, changesList.Font); if (size.Width + 4 > copyFromWidth) { copyFromWidth = (int)size.Width + 4; } } ListViewItem newItem = new ListViewItem(new string[] { SvnClient.GetActionString(change.Action), path, copyFrom }); changesList.Items.Add(newItem); } } changesList.Columns[1].Width = pathWidth; changesList.Columns[2].Width = copyFromWidth; } }
public void ShouldDisplayMessageThatThereWasChangeTo(ChangedPath changedPath) { _diagnosticMessages.Received(1).NotifyMonitoredPathChanged(changedPath); }
public void ShouldReceiveItemFrom(ChangedPath changedPath) { _systemServices.Received(1).AddToClipboard(changedPath); }
private static Func <Minimatcher, bool> Matches(ChangedPath changedPath) { return(g => g.IsMatch(changedPath.ToString())); }
public void ShouldBeUpdatedTo(ChangedPath changedPath) { _presenter.Received(1).UpdateLastDetectedChangedPath(changedPath); }
public void ShouldOpenPathView(ChangedPath path) { _systemServices.Received(1).StartExplorer(path); }
public void NotifyMonitoredPathChanged(ChangedPath fullPath) { _taskbarIcon.ShowBalloonTipInfo("Changed", fullPath.ToString()); }
public PathDetectedState ForDetectedChangeTo(ChangedPath fullPath) { return(new PathDetectedState(fullPath, _systemServices, _applicationEventsPresenter)); }
public void UpdateLastPathCopiedToClipboard(ChangedPath fullPath) { FileInClipboard.Content = fullPath; }
public void StartExplorer(ChangedPath fullPath) { Process.Start("explorer.exe", "/select," + fullPath + "\""); }
public void Has(ChangedPath anyPath) { _systemServices.PathExists(anyPath).Returns(true); }
public PathDetectedState(ChangedPath fullPath, SystemServices systemServices, ApplicationEventsPresenter applicationEventsPresenter) { _fullPath = fullPath; _systemServices = systemServices; _applicationEventsPresenter = applicationEventsPresenter; }
void OnPathChanged() { ChangedPath?.Invoke(); }