diff --git a/ModernKeePass/Controls/PasswordUserControl.xaml b/ModernKeePass/Controls/PasswordUserControl.xaml index d27b6e6..07f9ffd 100644 --- a/ModernKeePass/Controls/PasswordUserControl.xaml +++ b/ModernKeePass/Controls/PasswordUserControl.xaml @@ -6,7 +6,7 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" - d:DesignHeight="60" + d:DesignHeight="65" d:DesignWidth="400"> @@ -15,6 +15,6 @@ - + diff --git a/ModernKeePass/Controls/PasswordUserControl.xaml.cs b/ModernKeePass/Controls/PasswordUserControl.xaml.cs index 904e272..a01e74b 100644 --- a/ModernKeePass/Controls/PasswordUserControl.xaml.cs +++ b/ModernKeePass/Controls/PasswordUserControl.xaml.cs @@ -1,17 +1,8 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.Foundation; -using Windows.Foundation.Collections; +using Windows.System; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; +using ModernKeePass.Events; // Pour en savoir plus sur le modèle d'élément Contrôle utilisateur, consultez la page http://go.microsoft.com/fwlink/?LinkId=234236 @@ -21,7 +12,23 @@ namespace ModernKeePass.Controls { public PasswordUserControl() { - this.InitializeComponent(); + InitializeComponent(); + PasswordBox.Focus(FocusState.Programmatic); + } + + public delegate void PasswordCheckedEventHandler(object sender, DatabaseEventArgs e); + public event PasswordCheckedEventHandler PasswordChecked; + + private void OpenButton_OnClick(object sender, RoutedEventArgs e) + { + var app = (App)Application.Current; + StatusTextBlock.Text = app.Database.Open(PasswordBox.Password); + PasswordChecked(this, new DatabaseEventArgs { IsOpen = app.Database.IsOpen }); + } + + private void PasswordBox_KeyDown(object sender, KeyRoutedEventArgs e) + { + if (e.Key == VirtualKey.Enter) OpenButton_OnClick(null, null); } } } diff --git a/ModernKeePass/Events/DatabaseEventArgs.cs b/ModernKeePass/Events/DatabaseEventArgs.cs new file mode 100644 index 0000000..06a6960 --- /dev/null +++ b/ModernKeePass/Events/DatabaseEventArgs.cs @@ -0,0 +1,9 @@ +using System; + +namespace ModernKeePass.Events +{ + public class DatabaseEventArgs: EventArgs + { + public bool IsOpen { get; set; } + } +} diff --git a/ModernKeePass/Models/RecentItem.cs b/ModernKeePass/Models/RecentItem.cs index 72e3d72..8d996c5 100644 --- a/ModernKeePass/Models/RecentItem.cs +++ b/ModernKeePass/Models/RecentItem.cs @@ -1,8 +1,19 @@ -namespace ModernKeePass.Models +using System.ComponentModel; +using Windows.UI.Xaml; + +namespace ModernKeePass.Models { - public class RecentItem + public class RecentItem: INotifyPropertyChanged { public string Token { get; set; } public string Name { get; set; } + public Visibility PasswordVisibility { get; set; } = Visibility.Collapsed; + + public event PropertyChangedEventHandler PropertyChanged; + + public void NotifyPropertyChanged(string propertyName) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } } } diff --git a/ModernKeePass/ModernKeePass.csproj b/ModernKeePass/ModernKeePass.csproj index 42c6d77..7e60fe7 100644 --- a/ModernKeePass/ModernKeePass.csproj +++ b/ModernKeePass/ModernKeePass.csproj @@ -120,6 +120,7 @@ PasswordUserControl.xaml + MainPage.xaml diff --git a/ModernKeePass/Pages/OpenDatabasePage.xaml b/ModernKeePass/Pages/OpenDatabasePage.xaml index 2c008ad..2f13e0b 100644 --- a/ModernKeePass/Pages/OpenDatabasePage.xaml +++ b/ModernKeePass/Pages/OpenDatabasePage.xaml @@ -4,36 +4,17 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:viewModels="using:ModernKeePass.ViewModels" + xmlns:local="using:ModernKeePass.Controls" x:Class="ModernKeePass.Pages.OpenDatabasePage" mc:Ignorable="d"> - - - - - - - - - - - - - - - - - - - - - - - - -