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)
{