Browse Source

Move dialog details of implementation to the internal folder

pull/9443/head
Max Katz 4 years ago
parent
commit
cb753b3a2b
  1. 4
      src/Avalonia.Dialogs/Internal/ChildFitter.cs
  2. 6
      src/Avalonia.Dialogs/Internal/FileSizeStringConverter.cs
  3. 0
      src/Avalonia.Dialogs/Internal/InternalViewModelBase.cs
  4. 3
      src/Avalonia.Dialogs/Internal/ManagedFileChooserFilterViewModel.cs
  5. 2
      src/Avalonia.Dialogs/Internal/ManagedFileChooserItemType.cs
  6. 3
      src/Avalonia.Dialogs/Internal/ManagedFileChooserItemViewModel.cs
  7. 2
      src/Avalonia.Dialogs/Internal/ManagedFileChooserNavigationItem.cs
  8. 5
      src/Avalonia.Dialogs/Internal/ManagedFileChooserSources.cs
  9. 3
      src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs
  10. 2
      src/Avalonia.Dialogs/Internal/ResourceSelectorConverter.cs
  11. 1
      src/Avalonia.Dialogs/ManagedFileChooser.cs
  12. 1
      src/Avalonia.Dialogs/ManagedStorageProvider.cs
  13. 13
      src/Avalonia.Themes.Fluent/Controls/ManagedFileChooser.xaml
  14. 15
      src/Avalonia.Themes.Simple/Controls/ManagedFileChooser.xaml

4
src/Avalonia.Dialogs/ChildFitter.cs → src/Avalonia.Dialogs/Internal/ChildFitter.cs

@ -1,8 +1,6 @@
using Avalonia;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Layout;
namespace Avalonia.Dialogs namespace Avalonia.Dialogs.Internal
{ {
public class ChildFitter : Decorator public class ChildFitter : Decorator
{ {

6
src/Avalonia.Dialogs/FileSizeStringConverter.cs → src/Avalonia.Dialogs/Internal/FileSizeStringConverter.cs

@ -1,10 +1,8 @@
using Avalonia.Data.Converters;
using System; using System;
using System.Collections.Generic;
using System.Globalization; using System.Globalization;
using System.Text; using Avalonia.Data.Converters;
namespace Avalonia.Dialogs namespace Avalonia.Dialogs.Internal
{ {
public class FileSizeStringConverter : IValueConverter public class FileSizeStringConverter : IValueConverter
{ {

0
src/Avalonia.Dialogs/InternalViewModelBase.cs → src/Avalonia.Dialogs/Internal/InternalViewModelBase.cs

3
src/Avalonia.Dialogs/ManagedFileChooserFilterViewModel.cs → src/Avalonia.Dialogs/Internal/ManagedFileChooserFilterViewModel.cs

@ -1,9 +1,8 @@
using System.Linq; using System.Linq;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using Avalonia.Dialogs.Internal;
using Avalonia.Platform.Storage; using Avalonia.Platform.Storage;
namespace Avalonia.Dialogs namespace Avalonia.Dialogs.Internal
{ {
public class ManagedFileChooserFilterViewModel : InternalViewModelBase public class ManagedFileChooserFilterViewModel : InternalViewModelBase
{ {

2
src/Avalonia.Dialogs/ManagedFileChooserItemType.cs → src/Avalonia.Dialogs/Internal/ManagedFileChooserItemType.cs

@ -1,4 +1,4 @@
namespace Avalonia.Dialogs namespace Avalonia.Dialogs.Internal
{ {
public enum ManagedFileChooserItemType public enum ManagedFileChooserItemType
{ {

3
src/Avalonia.Dialogs/ManagedFileChooserItemViewModel.cs → src/Avalonia.Dialogs/Internal/ManagedFileChooserItemViewModel.cs

@ -1,7 +1,6 @@
using System; using System;
using Avalonia.Dialogs.Internal;
namespace Avalonia.Dialogs namespace Avalonia.Dialogs.Internal
{ {
public class ManagedFileChooserItemViewModel : InternalViewModelBase public class ManagedFileChooserItemViewModel : InternalViewModelBase
{ {

2
src/Avalonia.Dialogs/ManagedFileChooserNavigationItem.cs → src/Avalonia.Dialogs/Internal/ManagedFileChooserNavigationItem.cs

@ -1,4 +1,4 @@
namespace Avalonia.Dialogs namespace Avalonia.Dialogs.Internal
{ {
public class ManagedFileChooserNavigationItem public class ManagedFileChooserNavigationItem
{ {

5
src/Avalonia.Dialogs/ManagedFileChooserSources.cs → src/Avalonia.Dialogs/Internal/ManagedFileChooserSources.cs

@ -2,13 +2,10 @@ using System;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Reactive.Linq;
using System.Runtime.InteropServices;
using Avalonia.Controls.Platform; using Avalonia.Controls.Platform;
using Avalonia.Threading;
using Avalonia.Utilities; using Avalonia.Utilities;
namespace Avalonia.Dialogs namespace Avalonia.Dialogs.Internal
{ {
internal class ManagedFileChooserSources internal class ManagedFileChooserSources
{ {

3
src/Avalonia.Dialogs/ManagedFileChooserViewModel.cs → src/Avalonia.Dialogs/Internal/ManagedFileChooserViewModel.cs

@ -8,11 +8,10 @@ using System.Runtime.InteropServices;
using Avalonia.Collections; using Avalonia.Collections;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Controls.Platform; using Avalonia.Controls.Platform;
using Avalonia.Dialogs.Internal;
using Avalonia.Platform.Storage; using Avalonia.Platform.Storage;
using Avalonia.Threading; using Avalonia.Threading;
namespace Avalonia.Dialogs namespace Avalonia.Dialogs.Internal
{ {
public class ManagedFileChooserViewModel : InternalViewModelBase public class ManagedFileChooserViewModel : InternalViewModelBase
{ {

2
src/Avalonia.Dialogs/ResourceSelectorConverter.cs → src/Avalonia.Dialogs/Internal/ResourceSelectorConverter.cs

@ -3,7 +3,7 @@ using System.Globalization;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Data.Converters; using Avalonia.Data.Converters;
namespace Avalonia.Dialogs namespace Avalonia.Dialogs.Internal
{ {
public class ResourceSelectorConverter : ResourceDictionary, IValueConverter public class ResourceSelectorConverter : ResourceDictionary, IValueConverter
{ {

1
src/Avalonia.Dialogs/ManagedFileChooser.cs

@ -4,6 +4,7 @@ using System.Threading.Tasks;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Controls.Metadata; using Avalonia.Controls.Metadata;
using Avalonia.Controls.Primitives; using Avalonia.Controls.Primitives;
using Avalonia.Dialogs.Internal;
using Avalonia.Input; using Avalonia.Input;
using Avalonia.Interactivity; using Avalonia.Interactivity;
using Avalonia.LogicalTree; using Avalonia.LogicalTree;

1
src/Avalonia.Dialogs/ManagedStorageProvider.cs

@ -5,6 +5,7 @@ using System.IO;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Dialogs.Internal;
using Avalonia.Platform.Storage; using Avalonia.Platform.Storage;
using Avalonia.Platform.Storage.FileIO; using Avalonia.Platform.Storage.FileIO;

13
src/Avalonia.Themes.Fluent/Controls/ManagedFileChooser.xaml

@ -1,6 +1,7 @@
<ResourceDictionary xmlns="https://github.com/avaloniaui" <ResourceDictionary xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dialogs="using:Avalonia.Dialogs"> xmlns:dialogs="using:Avalonia.Dialogs"
xmlns:internal="using:Avalonia.Dialogs.Internal">
<Design.PreviewWith> <Design.PreviewWith>
<Border Padding="20" Width="800" Height="500"> <Border Padding="20" Width="800" Height="500">
<dialogs:ManagedFileChooser/> <dialogs:ManagedFileChooser/>
@ -23,7 +24,7 @@
<GeometryDrawing Brush="#FF00529C" Geometry="F1M8,11L5,8 2,11 2,13 4,11 4,15 6,15 6,11 8,13z" /> <GeometryDrawing Brush="#FF00529C" Geometry="F1M8,11L5,8 2,11 2,13 4,11 4,15 6,15 6,11 8,13z" />
<GeometryDrawing Brush="#FFF0EFF1" Geometry="F1M8.0001,1.9996L7.5001,3.0006 14.0001,3.0006 14.0001,1.9996z" /> <GeometryDrawing Brush="#FFF0EFF1" Geometry="F1M8.0001,1.9996L7.5001,3.0006 14.0001,3.0006 14.0001,1.9996z" />
</DrawingGroup> </DrawingGroup>
<dialogs:ResourceSelectorConverter x:Key="Icons"> <internal:ResourceSelectorConverter x:Key="Icons">
<DrawingGroup x:Key="Icon_Folder"> <DrawingGroup x:Key="Icon_Folder">
<GeometryDrawing Geometry="M 0 0 L 16 16"/> <GeometryDrawing Geometry="M 0 0 L 16 16"/>
<GeometryDrawing Geometry="M 0 3 C 0,1 0,1 2,1 L 5 1 C 5.5,1 6,1 6.5,1.5 L 8 3 L 14 3 C 16,3 16,3 16,5 <GeometryDrawing Geometry="M 0 3 C 0,1 0,1 2,1 L 5 1 C 5.5,1 6,1 6.5,1.5 L 8 3 L 14 3 C 16,3 16,3 16,5
@ -128,11 +129,11 @@
</GeometryDrawing> </GeometryDrawing>
<GeometryDrawing Geometry="M 3.23483495705 9.76516504295 A 0.375,0.375 180 1 0 3.76516504295,9.23483495705 A 0.4375,0.4375 135 0 1 3.23483495705,9.76516504295 Z" Brush="#FF00B300"/> <GeometryDrawing Geometry="M 3.23483495705 9.76516504295 A 0.375,0.375 180 1 0 3.76516504295,9.23483495705 A 0.4375,0.4375 135 0 1 3.23483495705,9.76516504295 Z" Brush="#FF00B300"/>
</DrawingGroup> </DrawingGroup>
</dialogs:ResourceSelectorConverter> </internal:ResourceSelectorConverter>
</ResourceDictionary> </ResourceDictionary>
</ControlTheme.Resources> </ControlTheme.Resources>
<Setter Property="Template" <Setter Property="Template"
x:DataType="dialogs:ManagedFileChooserViewModel"> x:DataType="internal:ManagedFileChooserViewModel">
<ControlTemplate> <ControlTemplate>
<DockPanel> <DockPanel>
<ListBox x:Name="PART_QuickLinks" DockPanel.Dock="Left" Items="{Binding QuickLinks}" SelectedIndex="{Binding QuickLinksSelectedIndex}" Focusable="False"> <ListBox x:Name="PART_QuickLinks" DockPanel.Dock="Left" Items="{Binding QuickLinks}" SelectedIndex="{Binding QuickLinksSelectedIndex}" Focusable="False">
@ -223,7 +224,7 @@
Background="Transparent" Background="Transparent"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"> ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemTemplate> <ListBox.ItemTemplate>
<DataTemplate x:DataType="dialogs:ManagedFileChooserItemViewModel"> <DataTemplate x:DataType="internal:ManagedFileChooserItemViewModel">
<Grid Background="Transparent"> <Grid Background="Transparent">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="Icon" /> <ColumnDefinition SharedSizeGroup="Icon" />
@ -248,7 +249,7 @@
<TextBlock.Text> <TextBlock.Text>
<Binding Path="Size"> <Binding Path="Size">
<Binding.Converter> <Binding.Converter>
<dialogs:FileSizeStringConverter/> <internal:FileSizeStringConverter/>
</Binding.Converter> </Binding.Converter>
</Binding> </Binding>
</TextBlock.Text> </TextBlock.Text>

15
src/Avalonia.Themes.Simple/Controls/ManagedFileChooser.xaml

@ -1,6 +1,7 @@
<ResourceDictionary xmlns="https://github.com/avaloniaui" <ResourceDictionary xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dialogs="using:Avalonia.Dialogs"> xmlns:dialogs="using:Avalonia.Dialogs"
xmlns:internal="using:Avalonia.Dialogs.Internal">
<DrawingGroup x:Key="LevelUp"> <DrawingGroup x:Key="LevelUp">
<GeometryDrawing Brush="#00FFFFFF" Geometry="F1M16,16L0,16 0,0 16,0z" /> <GeometryDrawing Brush="#00FFFFFF" Geometry="F1M16,16L0,16 0,0 16,0z" />
<GeometryDrawing Brush="#FFF6F6F6" <GeometryDrawing Brush="#FFF6F6F6"
@ -10,7 +11,7 @@
<GeometryDrawing Brush="#FF00529C" Geometry="F1M8,11L5,8 2,11 2,13 4,11 4,15 6,15 6,11 8,13z" /> <GeometryDrawing Brush="#FF00529C" Geometry="F1M8,11L5,8 2,11 2,13 4,11 4,15 6,15 6,11 8,13z" />
<GeometryDrawing Brush="#FFF0EFF1" Geometry="F1M8.0001,1.9996L7.5001,3.0006 14.0001,3.0006 14.0001,1.9996z" /> <GeometryDrawing Brush="#FFF0EFF1" Geometry="F1M8.0001,1.9996L7.5001,3.0006 14.0001,3.0006 14.0001,1.9996z" />
</DrawingGroup> </DrawingGroup>
<dialogs:ResourceSelectorConverter x:Key="Icons"> <internal:ResourceSelectorConverter x:Key="Icons">
<DrawingGroup x:Key="Icon_Folder"> <DrawingGroup x:Key="Icon_Folder">
<GeometryDrawing Brush="#00FFFFFF" Geometry="F1M0,0L16,0 16,16 0,16z" /> <GeometryDrawing Brush="#00FFFFFF" Geometry="F1M0,0L16,0 16,16 0,16z" />
<GeometryDrawing Brush="#FFF6F6F6" <GeometryDrawing Brush="#FFF6F6F6"
@ -36,23 +37,23 @@
<GeometryDrawing Brush="#FF424242" <GeometryDrawing Brush="#FF424242"
Geometry="F1M13,7L12,7 12,8 13,8z M11,7L10,7 10,8 11,8z M2,10L14,10 14,6.5C14,6.224,13.775,6,13.5,6L2.5,6C2.224,6,2,6.224,2,6.5z M15,11L1,11 1,6.5C1,5.673,1.673,5,2.5,5L13.5,5C14.327,5,15,5.673,15,6.5z" /> Geometry="F1M13,7L12,7 12,8 13,8z M11,7L10,7 10,8 11,8z M2,10L14,10 14,6.5C14,6.224,13.775,6,13.5,6L2.5,6C2.224,6,2,6.224,2,6.5z M15,11L1,11 1,6.5C1,5.673,1.673,5,2.5,5L13.5,5C14.327,5,15,5.673,15,6.5z" />
</DrawingGroup> </DrawingGroup>
</dialogs:ResourceSelectorConverter> </internal:ResourceSelectorConverter>
<ControlTheme x:Key="{x:Type dialogs:ManagedFileChooser}" <ControlTheme x:Key="{x:Type dialogs:ManagedFileChooser}"
TargetType="dialogs:ManagedFileChooser"> TargetType="dialogs:ManagedFileChooser">
<Setter Property="Template"> <Setter Property="Template">
<ControlTemplate x:DataType="dialogs:ManagedFileChooserViewModel"> <ControlTemplate x:DataType="internal:ManagedFileChooserViewModel">
<DockPanel> <DockPanel>
<DockPanel Margin="0,0,0,5" <DockPanel Margin="0,0,0,5"
DockPanel.Dock="Top"> DockPanel.Dock="Top">
<dialogs:ChildFitter Width="{Binding ElementName=Location, Path=Bounds.Height}" <internal:ChildFitter Width="{Binding ElementName=Location, Path=Bounds.Height}"
DockPanel.Dock="Right"> DockPanel.Dock="Right">
<Button Command="{Binding GoUp}"> <Button Command="{Binding GoUp}">
<Image Stretch="Fill"> <Image Stretch="Fill">
<DrawingImage Drawing="{StaticResource LevelUp}" /> <DrawingImage Drawing="{StaticResource LevelUp}" />
</Image> </Image>
</Button> </Button>
</dialogs:ChildFitter> </internal:ChildFitter>
<TextBox x:Name="Location" <TextBox x:Name="Location"
Margin="0,0,5,0" Margin="0,0,5,0"
Text="{Binding Location}"> Text="{Binding Location}">
@ -179,7 +180,7 @@
<TextBlock.Text> <TextBlock.Text>
<Binding Path="Size"> <Binding Path="Size">
<Binding.Converter> <Binding.Converter>
<dialogs:FileSizeStringConverter /> <internal:FileSizeStringConverter />
</Binding.Converter> </Binding.Converter>
</Binding> </Binding>
</TextBlock.Text> </TextBlock.Text>

Loading…
Cancel
Save