diff --git a/ModernKeePass/Pages/GroupDetailPage.xaml b/ModernKeePass/Pages/GroupDetailPage.xaml index 73b74a3..c2c6892 100644 --- a/ModernKeePass/Pages/GroupDetailPage.xaml +++ b/ModernKeePass/Pages/GroupDetailPage.xaml @@ -7,7 +7,8 @@ xmlns:converters="using:ModernKeePass.Converters" xmlns:interactivity="using:Microsoft.Xaml.Interactivity" xmlns:core="using:Microsoft.Xaml.Interactions.Core" - xmlns:actions="using:ModernKeePass.Actions" + xmlns:actions="using:ModernKeePass.Actions" + xmlns:controls="using:ModernKeePass.Controls" x:Name="PageRoot" x:Class="ModernKeePass.Pages.GroupDetailPage" mc:Ignorable="d" > @@ -91,7 +92,7 @@ Source="{Binding Groups}" /> + Source="{Binding EntriesFiltered}" /> @@ -325,7 +326,7 @@ - + diff --git a/ModernKeePass/Pages/GroupDetailPage.xaml.cs b/ModernKeePass/Pages/GroupDetailPage.xaml.cs index 71006f3..a2c95aa 100644 --- a/ModernKeePass/Pages/GroupDetailPage.xaml.cs +++ b/ModernKeePass/Pages/GroupDetailPage.xaml.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.ObjectModel; using System.Linq; using Windows.ApplicationModel.DataTransfer; using Windows.Storage.Streams; @@ -170,5 +171,11 @@ namespace ModernKeePass.Pages e.Cancel = !Model.IsEditMode; e.Data.RequestedOperation = DataPackageOperation.Move; } + + private void TextBox_OnTextChanged(object sender, TextChangedEventArgs e) + { + //throw new NotImplementedException(); + Model.Entries = new ObservableCollection(Model.Entries.Where(entry => entry.Name.Contains((sender as TextBox).Text))); + } } } diff --git a/ModernKeePass/Pages/SettingsPage.xaml b/ModernKeePass/Pages/SettingsPage.xaml index 8be4703..8f6f34c 100644 --- a/ModernKeePass/Pages/SettingsPage.xaml +++ b/ModernKeePass/Pages/SettingsPage.xaml @@ -49,7 +49,7 @@ Style="{StaticResource NoBorderButtonStyle}"> - + Update master key + + Settings + Here, you may change the application or the database settings. diff --git a/ModernKeePass/Strings/fr-FR/CodeBehind.resw b/ModernKeePass/Strings/fr-FR/CodeBehind.resw index 8363d82..9c2bd9b 100644 --- a/ModernKeePass/Strings/fr-FR/CodeBehind.resw +++ b/ModernKeePass/Strings/fr-FR/CodeBehind.resw @@ -227,6 +227,6 @@ Nouveau - Securité + Sécurité \ No newline at end of file diff --git a/ModernKeePass/Strings/fr-FR/Resources.resw b/ModernKeePass/Strings/fr-FR/Resources.resw index d5b7a67..12e1e6e 100644 --- a/ModernKeePass/Strings/fr-FR/Resources.resw +++ b/ModernKeePass/Strings/fr-FR/Resources.resw @@ -318,6 +318,9 @@ Mettre à jour la clé maître + + Paramètres + Ici, vous pouvez changer les options de l'application ou de la base de données. diff --git a/ModernKeePass/Styles/TextBoxWithButtonStyle.xaml b/ModernKeePass/Styles/TextBoxWithButtonStyle.xaml index a75cda4..04fd067 100644 --- a/ModernKeePass/Styles/TextBoxWithButtonStyle.xaml +++ b/ModernKeePass/Styles/TextBoxWithButtonStyle.xaml @@ -83,14 +83,15 @@ Background="{ThemeResource TextBoxButtonBackgroundThemeBrush}" Margin="{TemplateBinding BorderThickness}"> + Foreground="{ThemeResource TextBoxButtonForegroundThemeBrush}" + Padding="4,0,4,0" + VerticalAlignment="Center" + HorizontalAlignment="Center" + FontStyle="Normal" + Text="{TemplateBinding Content}" + FontSize="{TemplateBinding FontSize}" + FontFamily="{ThemeResource SymbolThemeFontFamily}" + AutomationProperties.AccessibilityView="Raw"/> @@ -142,9 +143,28 @@ Storyboard.TargetProperty="Opacity" Duration="0" To="{ThemeResource TextControlPointerOverBorderThemeOpacity}" /> + + + + Visible + + + + + + + + + + + Visible + + + - @@ -199,6 +219,7 @@ IsHorizontalRailEnabled="{TemplateBinding ScrollViewer.IsHorizontalRailEnabled}" IsVerticalRailEnabled="{TemplateBinding ScrollViewer.IsVerticalRailEnabled}" IsDeferredScrollingEnabled="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}" + VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" IsTabStop="False" @@ -209,6 +230,7 @@ Foreground="{ThemeResource TextBoxPlaceholderTextThemeBrush}" Margin="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" + VerticalAlignment="{TemplateBinding VerticalContentAlignment}" IsTabStop="False" Grid.ColumnSpan="2" Content="{TemplateBinding PlaceholderText}" diff --git a/ModernKeePass/ViewModels/GroupVm.cs b/ModernKeePass/ViewModels/GroupVm.cs index d88876c..af70b9e 100644 --- a/ModernKeePass/ViewModels/GroupVm.cs +++ b/ModernKeePass/ViewModels/GroupVm.cs @@ -9,7 +9,6 @@ using Windows.UI.Xaml.Controls; using ModernKeePass.Common; using ModernKeePass.Interfaces; using ModernKeePass.Mappings; -using ModernKeePass.Services; using ModernKeePassLib; namespace ModernKeePass.ViewModels @@ -18,7 +17,13 @@ namespace ModernKeePass.ViewModels { public GroupVm ParentGroup { get; private set; } public GroupVm PreviousGroup { get; private set; } - public ObservableCollection Entries { get; set; } = new ObservableCollection(); + + public ObservableCollection Entries + { + get { return _entries; } + set { SetProperty(ref _entries, value); } + } + public ObservableCollection Groups { get; set; } = new ObservableCollection(); public int EntryCount => Entries.Count; @@ -73,6 +78,19 @@ namespace ModernKeePass.ViewModels set { SetProperty(ref _isEditMode, value); } } + public string Filter + { + get { return _filter; } + set + { + SetProperty(ref _filter, value); + OnPropertyChanged("EntriesFiltered"); + } + } + + public ObservableCollection EntriesFiltered => + new ObservableCollection(Entries.Where(e => e.Name.IndexOf(Filter, StringComparison.OrdinalIgnoreCase) >= 0)); + public string Path { get @@ -88,6 +106,8 @@ namespace ModernKeePass.ViewModels private readonly IDatabase _database; private bool _isEditMode; private PwEntry _reorderedEntry; + private ObservableCollection _entries = new ObservableCollection(); + private string _filter = string.Empty; public GroupVm() {} @@ -188,7 +208,6 @@ namespace ModernKeePass.ViewModels { _pwGroup.Entries.Sort(comparer); Entries = new ObservableCollection(Entries.OrderBy(e => e.Name)); - OnPropertyChanged("Entries"); } catch (Exception e) {