diff options
| author | Mirta <mirta@twine-s.com> | 2020-12-30 16:39:52 +0200 |
|---|---|---|
| committer | Mirta <mirta@twine-s.com> | 2020-12-30 16:39:52 +0200 |
| commit | 00a491d93733d4625ad329b2ba8237f445364b3f (patch) | |
| tree | 4b24c6fa78d7648f4bb7cefafa464bb0b063fec4 /Software/Visual_Studio/Tango.FileSystem/FileItem.cs | |
| parent | 124ad4150f80c6846fdee41dbbda9848c105f6e5 (diff) | |
| download | Tango-00a491d9.tar.gz Tango-00a491d9.zip | |
merge
Diffstat (limited to 'Software/Visual_Studio/Tango.FileSystem/FileItem.cs')
| -rw-r--r-- | Software/Visual_Studio/Tango.FileSystem/FileItem.cs | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/Software/Visual_Studio/Tango.FileSystem/FileItem.cs b/Software/Visual_Studio/Tango.FileSystem/FileItem.cs deleted file mode 100644 index cbc90ce06..000000000 --- a/Software/Visual_Studio/Tango.FileSystem/FileItem.cs +++ /dev/null @@ -1,132 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows; -using System.Windows.Interop; -using System.Windows.Media; -using System.Windows.Media.Imaging; -using Tango.Core.IO; - -namespace Tango.FileSystem -{ - public class FileItem : FileSystemItem - { - private static Dictionary<String, BitmapSource> iconCache; - private static Dictionary<String, BitmapSource> smallIconCache; - private static Dictionary<String, String> typeDescriptionCache; - - static FileItem() - { - iconCache = new Dictionary<string, BitmapSource>(); - smallIconCache = new Dictionary<string, BitmapSource>(); - typeDescriptionCache = new Dictionary<string, string>(); - } - - public FileItem() - { - Type = FileSystemItemType.File; - } - - public String Extension - { - get { return System.IO.Path.GetExtension(Path); } - } - - private BitmapSource _icon; - public BitmapSource Icon - { - get - { - if (_icon == null) - { - _icon = GetFileIcon(); - } - - return _icon; - } - } - - private BitmapSource _smallIcon; - public BitmapSource SmallIcon - { - get - { - if (_smallIcon == null) - { - _smallIcon = GetSmallFileIcon(); - } - - return _smallIcon; - } - } - - public override string Description - { - get - { - if (typeDescriptionCache.ContainsKey(Extension)) - { - return typeDescriptionCache[Extension]; - } - else - { - var tempFile = TemporaryManager.Default.CreateFile(Extension); - var shellFile = Microsoft.WindowsAPICodePack.Shell.ShellFile.FromFilePath(tempFile); - var text = shellFile.Properties.System.ItemTypeText.Value.ToStringSafe(); - shellFile.Dispose(); - tempFile.Delete(); - typeDescriptionCache.Add(Extension, text); - return text; - } - } - } - - protected BitmapSource GetFileIcon() - { - if (iconCache.ContainsKey(Extension)) - { - return iconCache[Extension]; - } - else - { - var tempFile = TemporaryManager.Default.CreateFile(Extension); - var shellFile = Microsoft.WindowsAPICodePack.Shell.ShellFile.FromFilePath(tempFile); - var source = shellFile.Thumbnail.MediumBitmapSource; - shellFile.Dispose(); - tempFile.Delete(); - iconCache.Add(Extension, source); - return source; - } - } - - private BitmapSource GetSmallFileIcon() - { - if (smallIconCache.ContainsKey(Extension)) - { - return smallIconCache[Extension]; - } - else - { - var tempFile = TemporaryManager.Default.CreateFile(Extension); - var shellFile = Microsoft.WindowsAPICodePack.Shell.ShellFile.FromFilePath(tempFile); - var source = shellFile.Thumbnail.SmallBitmapSource; - shellFile.Dispose(); - tempFile.Delete(); - smallIconCache.Add(Extension, source); - return source; - } - } - - private BitmapSource IconToBitmapSource(Icon icon) - { - var imageSource = Imaging.CreateBitmapSourceFromHIcon( - icon.Handle, - Int32Rect.Empty, - BitmapSizeOptions.FromEmptyOptions()); - return imageSource; - } - } -} |
