Files
Terminal.Gui/Terminal.Gui/Views/FileDialog.cd
Thomas Nind c04703f5d6 Fixes #2617 - Support for Nerd icons for FileDialog (#2613)
* Add explicit file name unicode mappings

* Added nerd file extensions

* Add folder icon

* Added tests and attribution

* Fix tree view not using System.IO.Abstractions

* Make FileDialog tree use IconGetter

* Added context to IconGetter

* Make Nerd a config setting

* Fix typo in attribution

* tidy up

* Change open folder check to null or whitespace

* Update class diagram to show new classes

* Rename configuration property NerdFonts and set it to ThemeScope

* Move NerdFonts setting to ConsoleDriver

* Move NerdFonts setting to NerdFonts class and rename Enable

---------

Co-authored-by: Tig <tig@users.noreply.github.com>
2023-05-13 08:14:19 +02:00

197 lines
7.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<ClassDiagram MajorVersion="1" MinorVersion="1">
<Class Name="Terminal.Gui.FileDialog">
<Position X="0.5" Y="0.5" Width="2.75" />
<Compartments>
<Compartment Name="Fields" Collapsed="true" />
<Compartment Name="Methods" Collapsed="true" />
<Compartment Name="Nested Types" Collapsed="false" />
</Compartments>
<NestedTypes>
<Class Name="Terminal.Gui.FileDialog.SearchState" Collapsed="true">
<TypeIdentifier>
<NewMemberFileName>Windows\FileDialog.cs</NewMemberFileName>
</TypeIdentifier>
</Class>
<Class Name="Terminal.Gui.FileDialog.FileDialogCollectionNavigator" Collapsed="true">
<TypeIdentifier>
<NewMemberFileName>Views\FileDialog.cs</NewMemberFileName>
</TypeIdentifier>
</Class>
</NestedTypes>
<TypeIdentifier>
<HashCode>g4YYDAEXEDKZgHMFyFAikQCFSKUQhRDABqJIlBSAwgw=</HashCode>
<FileName>Views\FileDialog.cs</FileName>
</TypeIdentifier>
<ShowAsAssociation>
<Field Name="history" />
<Property Name="Style" />
<Property Name="OpenMode" />
</ShowAsAssociation>
<ShowAsCollectionAssociation>
<Property Name="AllowedTypes" />
</ShowAsCollectionAssociation>
</Class>
<Class Name="Terminal.Gui.AllowedTypeAny" BaseTypeListCollapsed="true">
<Position X="11.75" Y="5.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAABAA=</HashCode>
<FileName>FileServices\AllowedType.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" />
</Class>
<Class Name="Terminal.Gui.AllowedType" BaseTypeListCollapsed="true">
<Position X="13.25" Y="5.75" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAgAAAEAAAAAAAAAAAAAAAAAAgAAAAABAA=</HashCode>
<FileName>FileServices\AllowedType.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" />
</Class>
<Class Name="Terminal.Gui.DefaultFileOperations" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="7" Y="6" Width="2" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAACAAAAAAACAAAAEAAAAAAAAAAAAAgAA=</HashCode>
<FileName>FileServices\DefaultFileOperations.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" />
</Class>
<Class Name="Terminal.Gui.DefaultSearchMatcher" Collapsed="true" BaseTypeListCollapsed="true">
<Position X="9.25" Y="6" Width="2" />
<TypeIdentifier>
<HashCode>AAACAAAAAAgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>FileServices\DefaultSearchMatcher.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" />
</Class>
<Class Name="Terminal.Gui.FileDialogHistory">
<Position X="9.25" Y="0.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AQABAgEAAAAAAAAAIACAAAAAAAAAAQAAAAAAAAAADAI=</HashCode>
<FileName>FileServices\FileDialogHistory.cs</FileName>
</TypeIdentifier>
<ShowAsCollectionAssociation>
<Field Name="back" />
</ShowAsCollectionAssociation>
</Class>
<Class Name="Terminal.Gui.FileDialogRootTreeNode" Collapsed="true">
<Position X="2.5" Y="9" Width="2" />
<TypeIdentifier>
<HashCode>AAAAEAAAAAAAAAIEAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>FileServices\FileDialogRootTreeNode.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="Terminal.Gui.FileDialogState">
<Position X="11.5" Y="0.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AABAABAAAAAAAAIAAAAEQAAAAAAAQAAAAgAAAAAAAAI=</HashCode>
<FileName>FileServices\FileDialogState.cs</FileName>
</TypeIdentifier>
<ShowAsCollectionAssociation>
<Property Name="Children" />
</ShowAsCollectionAssociation>
</Class>
<Class Name="Terminal.Gui.FileDialogStyle">
<Position X="3.5" Y="0.5" Width="2.75" />
<TypeIdentifier>
<HashCode>GgBIAAFEAAAAuAAAAgAEEASABQACKRkAAAEYACCAAAA=</HashCode>
<FileName>FileServices\FileDialogStyle.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="Terminal.Gui.FileDialogTreeBuilder" BaseTypeListCollapsed="true">
<Position X="0.5" Y="6.75" Width="1.75" />
<TypeIdentifier>
<HashCode>EAAACAAAAAAAAAAAQAAAAAQAAAAAQAAAAAAAAAQACAA=</HashCode>
<FileName>FileServices\FileDialogTreeBuilder.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" />
</Class>
<Class Name="Terminal.Gui.FilesSelectedEventArgs">
<Position X="6.5" Y="0.5" Width="2" />
<Compartments>
<Compartment Name="Methods" Collapsed="true" />
</Compartments>
<TypeIdentifier>
<HashCode>AAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAA=</HashCode>
<FileName>FileServices\FilesSelectedEventArgs.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="Terminal.Gui.FileSystemInfoStats">
<Position X="14" Y="0.5" Width="2.5" />
<TypeIdentifier>
<HashCode>ABAIQAIIIAAAAAACQAAAAIQAAAQAAIAAAQAAAAAIAAI=</HashCode>
<FileName>FileServices\FileSystemInfoStats.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="Terminal.Gui.NerdFonts">
<Position X="9.25" Y="6.75" Width="2" />
<Compartments>
<Compartment Name="Fields" Collapsed="true" />
</Compartments>
<TypeIdentifier>
<HashCode>AIACAAABQAAAAAAAAAAAAAAAIACAAAAAAAIAAAQAAAA=</HashCode>
<FileName>Views\NerdFonts.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="Terminal.Gui.FileDialogIconGetterArgs" Collapsed="true">
<Position X="6.75" Y="6.75" Width="2" />
<TypeIdentifier>
<HashCode>AAAAAAAAAgAAAAAAAAAQAAAAAAAEAAAAAAAAAAAAAAA=</HashCode>
<FileName>FileServices\FileDialogIconGetterArgs.cs</FileName>
</TypeIdentifier>
</Class>
<Class Name="Terminal.Gui.FileDialogTableSource" Collapsed="true">
<Position X="4.75" Y="9" Width="2" />
<Compartments>
<Compartment Name="Fields" Collapsed="true" />
</Compartments>
<TypeIdentifier>
<HashCode>AQAAAAAAIAACAEAACAAAAAACAAAEAAAEAAAAgAgBBAA=</HashCode>
<FileName>Views\FileDialogTableSource.cs</FileName>
</TypeIdentifier>
<Lollipop Position="0.2" />
</Class>
<Interface Name="Terminal.Gui.IAllowedType" Collapsed="true">
<Position X="12" Y="4.25" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAA=</HashCode>
<FileName>FileServices\AllowedType.cs</FileName>
</TypeIdentifier>
</Interface>
<Interface Name="Terminal.Gui.IFileOperations">
<Position X="7" Y="4.25" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAACAAAAAAAAAAAAEAAAAAAAAAAAAAgAA=</HashCode>
<FileName>FileServices\IFileOperations.cs</FileName>
</TypeIdentifier>
</Interface>
<Interface Name="Terminal.Gui.ISearchMatcher">
<Position X="9.25" Y="4.25" Width="1.5" />
<TypeIdentifier>
<HashCode>AAACAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>FileServices\ISearchMatcher.cs</FileName>
</TypeIdentifier>
</Interface>
<Enum Name="Terminal.Gui.OpenMode">
<Position X="7.5" Y="2.5" Width="1.5" />
<TypeIdentifier>
<HashCode>AAAAABAAAAAAACAAAAAAAAAAAAAEAAAAAAAAAAAAAAA=</HashCode>
<FileName>Views\OpenDialog.cs</FileName>
</TypeIdentifier>
</Enum>
<Enum Name="Terminal.Gui.FileDialogIconGetterContext">
<Position X="6.75" Y="7.25" Width="2.25" />
<TypeIdentifier>
<HashCode>AAAAAAAAAACAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
<FileName>FileServices\FileDialogIconGetterContext.cs</FileName>
</TypeIdentifier>
</Enum>
<Delegate Name="Terminal.Gui.FileDialogTreeRootGetter" Collapsed="true">
<Position X="2.5" Y="8.25" Width="2" />
<TypeIdentifier>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAA=</HashCode>
<FileName>FileServices\FileDialogRootTreeNode.cs</FileName>
</TypeIdentifier>
</Delegate>
<Font Name="Segoe UI" Size="9" />
</ClassDiagram>