Exemple #1
0
 public void Remove(IClosedDocument closedDocument)
 {
     if (ClosedDocuments.Remove(closedDocument))
     {
         OnHistoryChanged();
     }
 }
 public ClosedDocumentHistoryItem(IClosedDocument closedDocument, int index, BitmapSource typeIcon)
 {
     Index          = index;
     ClosedDocument = closedDocument;
     IsExists       = ClosedDocument.IsValid();
     LanguageIcon   = typeIcon;
 }
        public void ItShould_Remove_Document()
        {
            _documentHistoryManager.Add(NullDocument.Instance);
            _documentHistoryManager.Add(new ClosedDocument()
            {
                FullName = "c:\\test.cs", ClosedAt = DateTime.Now
            });
            _documentHistoryManager.Add(new ClosedDocument()
            {
                FullName = "c:\\test2.cs", ClosedAt = DateTime.Now
            });
            _documentHistoryManager.Add(new ClosedDocument()
            {
                FullName = "c:\\test3.cs", ClosedAt = DateTime.Now
            });

            IClosedDocument doc = _documentHistoryManager.Get(2).Last();             //test2.cs

            _documentHistoryManager.Remove(doc);

            var all = _documentHistoryManager.GetAll();

            Assert.True(_historyChanged);
            Assert.Equal(3, _documentHistoryManager.Count);
            Assert.Equal(3, all.Count());
            Assert.Equal("c:\\test3.cs", all.ElementAt(0).FullName);
            Assert.Equal("c:\\test.cs", all.ElementAt(1).FullName);
            Assert.Equal(NullDocument.Instance, all.ElementAt(2));
        }
        public Icon GetIcon(IClosedDocument document)
        {
            if (document.IsValid())
            {
                var iconForFile = Icon.ExtractAssociatedIcon(document.FullName);
                return(iconForFile);
            }

            return(null);
        }
        private BitmapSource GetFileTypeBitmapSource(IClosedDocument doc)
        {
            var extension = Path.GetExtension(doc.FullName).ToLower();

            if (!_fileTypeImages.ContainsKey(extension))
            {
                var bitmapSource = WpfImageSourceConverter.CreateBitmapSource(_fileExtensionIconResolver.GetIcon(doc).ToBitmap());

                _fileTypeImages.Add(extension, bitmapSource);
                return(bitmapSource);
            }

            return(_fileTypeImages[extension]);
        }
        //https://msdn.microsoft.com/en-us/library/mt628927.aspx?f=255&MSPPError=-2147217396
        public Icon GetIcon(IClosedDocument document)
        {
            Icon icon = null;

            if (!string.IsNullOrWhiteSpace(document?.Name))
            {
                IVsUIObject uIObj = _vsImageService2.GetIconForFile(document.Name, __VSUIDATAFORMAT.VSDF_WINFORMS);
                if (uIObj != null)
                {
                    icon = (Icon)GelUtilities.GetObjectData(uIObj);
                }
            }

            return(icon);
        }
        public void ItShould_Create_Command_With_Documents()
        {
            var factory = new HistoryCommandFactory <FakeCommand2>(_documentHistoryCommandsMock.Object, _documentCommandFactoryMock.Object);

            var docs = new IClosedDocument[]
            {
                NullDocument.Instance
            };

            var command = factory.CreateCommand(docs);

            Assert.NotNull(command);
            Assert.IsType <FakeCommand2>(command);
            Assert.Equal((command as FakeCommand2).ClosedDocuments, docs);
        }
Exemple #8
0
        public Icon GetIcon(IClosedDocument document)
        {
            var extension = Path.GetExtension(document?.FullName)?.ToLower() ?? NoIconKey;

            if (!Icons.ContainsKey(extension))
            {
                var icon = _fileExtensionIconResolver.GetIcon(document);
                if (icon is null)
                {
                    return(Icons[NoIconKey]);
                }

                Icons.Add(extension, icon);
                return(icon);
            }

            return(Icons[extension]);
        }
Exemple #9
0
        public void Add(IClosedDocument document)
        {
            if (document == null)
            {
                return;
            }

            //Remove duplications
            var docs = ClosedDocuments
                       .Where(x => _closedDocumentComparer.Equals(x, document))
                       .ToArray();

            //TODO: use intersect
            foreach (var doc in docs)
            {
                ClosedDocuments.Remove(doc);
            }
            //TODO: filter history by MaxAllowed Number and Days...
            ClosedDocuments.AddFirst(document);
            OnHistoryChanged();
        }
Exemple #10
0
 public IDocumentCommand CreateCommand(IClosedDocument closedDocument) => DoNothingCommand.Instance;
 public IDocumentCommand CreateCommand(IClosedDocument closedDocument)
 {
     return(new ReopenDocumentCommand(_dte, closedDocument));
 }
Exemple #12
0
 public ReopenDocumentCommand(_DTE dte, IClosedDocument closedDocument)
 {
     _dte            = dte;
     _closedDocument = closedDocument;
 }