WIP
This commit is contained in:
@@ -2,4 +2,13 @@
|
||||
x:Class="Bitvault.Avalonia.AllNavigationView"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Content="All" />
|
||||
xmlns:vm="using:Bitvault"
|
||||
x:DataType="vm:AllNavigationViewModel"
|
||||
Content="All"
|
||||
IsSelected="{Binding Selected, Mode=TwoWay}">
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding Selected}" Value="True">
|
||||
<InvokeCommandAction Command="{Binding InvokeCommand}" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</NavigationViewItem>
|
||||
|
||||
@@ -12,23 +12,10 @@ namespace Bitvault.Avalonia;
|
||||
|
||||
public partial class App : Application
|
||||
{
|
||||
public override void Initialize()
|
||||
{
|
||||
AvaloniaXamlLoader.Load(this);
|
||||
}
|
||||
public override void Initialize() => AvaloniaXamlLoader.Load(this);
|
||||
|
||||
public override async void OnFrameworkInitializationCompleted()
|
||||
{
|
||||
//var command = connection.CreateCommand();
|
||||
//command.CommandText = "SELECT quote($newPassword);";
|
||||
//command.Parameters.AddWithValue("$newPassword", "Test123");
|
||||
//var quotedNewPassword = (string)command.ExecuteScalar();
|
||||
|
||||
//command.CommandText = "PRAGMA rekey = " + quotedNewPassword;
|
||||
//command.Parameters.Clear();
|
||||
//command.ExecuteNonQuery();
|
||||
|
||||
|
||||
IHost? host = DefaultHostBuilder.Create()
|
||||
.AddConfiguration<VaultConfiguration>(args => args.Name = "Personal",
|
||||
"Vault:*")
|
||||
@@ -75,8 +62,14 @@ public partial class App : Application
|
||||
services.AddTemplate<CategoriesNavigationViewModel, CategoriesNavigationView>();
|
||||
services.AddTemplate<ArchiveNavigationViewModel, ArchiveNavigationView>();
|
||||
|
||||
services.AddTemplate<OpenVaultViewModel, OpenView>("OpenVault");
|
||||
|
||||
services.AddTemplate<VaultViewModel, VaultView>("Vault");
|
||||
services.AddTemplate<OpenVaultViewModel, OpenVaultView>("Open");
|
||||
services.AddHandler<VaultViewModelHandler>();
|
||||
|
||||
services.AddTemplate<LockerNavigationViewModel, LockerNavigationView>();
|
||||
|
||||
services.AddTemplate<VaultCommandViewModel, VaultCommandView>("VaultCommands");
|
||||
});
|
||||
})!);
|
||||
|
||||
@@ -87,7 +80,8 @@ public partial class App : Application
|
||||
services.AddInitializer<VaultCollectionInitializer>();
|
||||
|
||||
services.AddTemplate<MainViewModel, MainView>("Main");
|
||||
services.AddHandler<VaultNavigationViewModelHandler>();
|
||||
services.AddHandler<MainViewModelHandler>();
|
||||
|
||||
services.AddTransient<FooterViewModel>();
|
||||
|
||||
services.AddTemplate<ManageNavigationViewModel, ManageNavigationView>();
|
||||
|
||||
@@ -2,4 +2,13 @@
|
||||
x:Class="Bitvault.Avalonia.ArchiveNavigationView"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Content="Archive" />
|
||||
xmlns:vm="using:Bitvault"
|
||||
x:DataType="vm:ArchiveNavigationViewModel"
|
||||
Content="Archive"
|
||||
IsSelected="{Binding Selected, Mode=TwoWay}">
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding Selected}" Value="True">
|
||||
<InvokeCommandAction Command="{Binding InvokeCommand}" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</NavigationViewItem>
|
||||
|
||||
@@ -32,11 +32,14 @@
|
||||
<ProjectReference Include="..\Toolkit\Toolkit.UI.Controls.Avalonia\Toolkit.UI.Controls.Avalonia.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Update="OpenVaultView.axaml.cs">
|
||||
<DependentUpon>OpenVaultView.axaml</DependentUpon>
|
||||
<Compile Update="OpenView.axaml.cs">
|
||||
<DependentUpon>OpenView.axaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Update="ManageNavigationView.axaml.cs">
|
||||
<DependentUpon>ManageNavigationView.axaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Update="VaultNavigationView.axaml.cs">
|
||||
<DependentUpon>VaultNavigationView.axaml</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,11 @@
|
||||
<ListBoxItem
|
||||
x:Class="Bitvault.Avalonia.LockerNavigationView"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
Welcome to Avalonia!
|
||||
</ListBoxItem>
|
||||
@@ -0,0 +1,12 @@
|
||||
using Avalonia.Controls;
|
||||
|
||||
namespace Bitvault.Avalonia
|
||||
{
|
||||
public partial class LockerNavigationView : UserControl
|
||||
{
|
||||
public LockerNavigationView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
using Avalonia.Controls;
|
||||
|
||||
namespace Bitvault.Avalonia;
|
||||
|
||||
public partial class OpenVaultView : UserControl
|
||||
{
|
||||
public OpenVaultView() => InitializeComponent();
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
<UserControl
|
||||
x:Class="Bitvault.Avalonia.OpenVaultView"
|
||||
x:Class="Bitvault.Avalonia.OpenView"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:vm="using:Bitvault"
|
||||
@@ -0,0 +1,8 @@
|
||||
using Avalonia.Controls;
|
||||
|
||||
namespace Bitvault.Avalonia;
|
||||
|
||||
public partial class OpenView : UserControl
|
||||
{
|
||||
public OpenView() => InitializeComponent();
|
||||
}
|
||||
@@ -2,4 +2,14 @@
|
||||
x:Class="Bitvault.Avalonia.StarredNavigationView"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Content="Starred" />
|
||||
xmlns:vm="using:Bitvault"
|
||||
x:DataType="vm:StarredNavigationViewModel"
|
||||
Content="Starred"
|
||||
IsSelected="{Binding Selected, Mode=TwoWay}">
|
||||
<Interaction.Behaviors>
|
||||
<DataTriggerBehavior Binding="{Binding Selected}" Value="True">
|
||||
<InvokeCommandAction Command="{Binding InvokeCommand}" />
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</NavigationViewItem>
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<UserControl
|
||||
x:Class="Bitvault.Avalonia.VaultCommandView"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
Welcome to Avalonia!
|
||||
</UserControl>
|
||||
@@ -0,0 +1,8 @@
|
||||
using Avalonia.Controls;
|
||||
|
||||
namespace Bitvault.Avalonia;
|
||||
|
||||
public partial class VaultCommandView : UserControl
|
||||
{
|
||||
public VaultCommandView() => InitializeComponent();
|
||||
}
|
||||
@@ -17,7 +17,7 @@
|
||||
<ComparisonCondition LeftOperand="{Binding Selected}" RightOperand="True" />
|
||||
</ConditionalExpression>
|
||||
</ConditionAction.Condition>
|
||||
<NavigateAction Context="Main" Route="Open" />
|
||||
<NavigateAction Context="Main" Route="OpenVault" />
|
||||
</ConditionAction>
|
||||
</DataTriggerBehavior>
|
||||
<DataTriggerBehavior Binding="{Binding Opened}" Value="True">
|
||||
@@ -30,7 +30,7 @@
|
||||
<NavigateAction Context="Main" Route="Vault" />
|
||||
</ConditionAction>
|
||||
</DataTriggerBehavior>
|
||||
<EventTriggerBehavior EventName="Tapped">
|
||||
<DataTriggerBehavior Binding="{Binding Selected}" Value="True">
|
||||
<ConditionAction>
|
||||
<ConditionAction.Condition>
|
||||
<ConditionalExpression ForwardChaining="And">
|
||||
@@ -39,7 +39,7 @@
|
||||
<ComparisonCondition LeftOperand="{Binding #NavigationViewItem.IsChildSelected}" RightOperand="False" />
|
||||
</ConditionalExpression>
|
||||
</ConditionAction.Condition>
|
||||
<NavigateAction Context="Main" Route="Open" />
|
||||
<NavigateAction Context="Main" Route="OpenVault" />
|
||||
</ConditionAction>
|
||||
<ConditionAction>
|
||||
<ConditionAction.Condition>
|
||||
@@ -51,6 +51,6 @@
|
||||
</ConditionAction.Condition>
|
||||
<NavigateAction Context="Main" Route="Vault" />
|
||||
</ConditionAction>
|
||||
</EventTriggerBehavior>
|
||||
</DataTriggerBehavior>
|
||||
</Interaction.Behaviors>
|
||||
</NavigationViewItem>
|
||||
|
||||
@@ -2,10 +2,45 @@
|
||||
x:Class="Bitvault.Avalonia.VaultView"
|
||||
xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006">
|
||||
<Grid ColumnDefinitions="1*, Auto, 2*">
|
||||
<ListBox Grid.Column="0" />
|
||||
<GridSplitter Grid.Column="1" />
|
||||
xmlns:vm="using:Bitvault"
|
||||
x:DataType="vm:VaultViewModel">
|
||||
<UserControl.Resources>
|
||||
<x:Double x:Key="ButtonWidth">40</x:Double>
|
||||
<x:Double x:Key="ButtonHeight">36</x:Double>
|
||||
<SolidColorBrush x:Key="ButtonBackground" Color="{DynamicResource SubtleFillColorTransparent}" />
|
||||
<SolidColorBrush x:Key="ButtonBackgroundPointerOver" Color="{DynamicResource SubtleFillColorSecondary}" />
|
||||
<SolidColorBrush x:Key="ButtonBackgroundPressed" Color="{DynamicResource SubtleFillColorTertiary}" />
|
||||
</UserControl.Resources>
|
||||
<Grid ColumnDefinitions="1*,Auto,2*">
|
||||
<Grid Grid.Column="0" RowDefinitions="Auto,*">
|
||||
<Grid
|
||||
Height="40"
|
||||
Margin="0,4,0,0"
|
||||
ColumnDefinitions="*,Auto">
|
||||
<Button
|
||||
Grid.Column="1"
|
||||
Width="{StaticResource ButtonWidth}"
|
||||
Height="{StaticResource ButtonHeight}"
|
||||
VerticalAlignment="Center"
|
||||
BorderThickness="0"
|
||||
Content=""
|
||||
FontFamily="{DynamicResource SymbolThemeFontFamily}"
|
||||
FontSize="16" />
|
||||
</Grid>
|
||||
<ListBox
|
||||
Grid.Row="1"
|
||||
Grid.Column="0"
|
||||
Margin="0,-1,0,0"
|
||||
ItemTemplate="{ReflectionBinding Template}"
|
||||
ItemsSource="{Binding}" />
|
||||
</Grid>
|
||||
<GridSplitter Grid.Column="1" Background="Transparent" />
|
||||
<Rectangle
|
||||
Grid.Column="1"
|
||||
Width="1"
|
||||
HorizontalAlignment="Center"
|
||||
Fill="{DynamicResource DividerStrokeColorDefaultBrush}"
|
||||
IsHitTestVisible="False" />
|
||||
<Frame Grid.Row="1" Grid.Column="2" />
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using Avalonia.Controls;
|
||||
using Toolkit.Foundation;
|
||||
|
||||
namespace Bitvault.Avalonia;
|
||||
|
||||
[NavigationTarget("Header")]
|
||||
public partial class VaultView : UserControl
|
||||
{
|
||||
public VaultView() => InitializeComponent();
|
||||
|
||||
Reference in New Issue
Block a user