mirror of
https://github.com/wismna/ModernKeePass.git
synced 2025-10-03 15:40:18 -04:00
Create entries and groups put them in Edit mode (as before)
Search now uses KeePassLib search Code cleanup
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
using Windows.UI.Xaml.Controls;
|
||||
using Windows.UI.Xaml.Navigation;
|
||||
using ModernKeePass.Common;
|
||||
using ModernKeePass.Models;
|
||||
using ModernKeePass.ViewModels;
|
||||
|
||||
// Pour en savoir plus sur le modèle d'élément Page Détail de l'élément, consultez la page http://go.microsoft.com/fwlink/?LinkId=234232
|
||||
@@ -39,11 +40,15 @@ namespace ModernKeePass.Views
|
||||
/// Le paramètre de navigation est disponible dans la méthode LoadState
|
||||
/// en plus de l'état de page conservé durant une session antérieure.
|
||||
|
||||
protected override void OnNavigatedTo(NavigationEventArgs e)
|
||||
protected override async void OnNavigatedTo(NavigationEventArgs e)
|
||||
{
|
||||
NavigationHelper.OnNavigatedTo(e);
|
||||
var args = e.Parameter as string;
|
||||
if (args != null) DataContext = new EntryDetailVm(args);
|
||||
var args = e.Parameter as NavigationItem;
|
||||
if (args != null)
|
||||
{
|
||||
DataContext = new EntryDetailVm(args.Id) { IsEditMode = args.IsNew };
|
||||
await Model.GeneratePassword();
|
||||
}
|
||||
}
|
||||
|
||||
protected override async void OnNavigatedFrom(NavigationEventArgs e)
|
||||
|
@@ -48,7 +48,7 @@
|
||||
<ColumnDefinition Width="{StaticResource ExpandedMenuGridLength}" x:Name="LeftListViewColumn" />
|
||||
<ColumnDefinition Width="*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<userControls:HamburgerMenuUserControl x:Uid="GroupsLeftListView" ItemsSource="{Binding Groups}" SelectionChanged="groups_SelectionChanged" ButtonClicked="CreateGroup_ButtonClick" ResizeTarget="{Binding ElementName=LeftListViewColumn}" IsOpen="True" />
|
||||
<userControls:HamburgerMenuUserControl x:Uid="GroupsLeftListView" ItemsSource="{Binding Groups}" SelectionChanged="groups_SelectionChanged" ButtonClicked="CreateGroup_ButtonClick" ResizeTarget="{Binding ElementName=LeftListViewColumn}" IsOpen="True" IsButtonVisible="Visible" />
|
||||
<Grid Grid.Column="1">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
|
@@ -7,6 +7,7 @@ using Windows.UI.Xaml.Controls;
|
||||
using Windows.UI.Xaml.Navigation;
|
||||
using ModernKeePass.Common;
|
||||
using ModernKeePass.Events;
|
||||
using ModernKeePass.Models;
|
||||
using ModernKeePass.ViewModels;
|
||||
using EntryVm = ModernKeePass.Application.Entry.Models.EntryVm;
|
||||
|
||||
@@ -53,9 +54,9 @@ namespace ModernKeePass.Views
|
||||
DataContext = new GroupDetailVm(args.RootGroupId);
|
||||
else
|
||||
{
|
||||
var id = e.Parameter as string;
|
||||
if (id != null)
|
||||
DataContext = new GroupDetailVm(id);
|
||||
var navigationItem = e.Parameter as NavigationItem;
|
||||
if (navigationItem != null)
|
||||
DataContext = new GroupDetailVm(navigationItem.Id) { IsEditMode = navigationItem.IsNew };
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,7 +78,7 @@ namespace ModernKeePass.Views
|
||||
return;
|
||||
default:
|
||||
var group = listView?.SelectedItem as Application.Group.Models.GroupVm;
|
||||
Frame.Navigate(typeof(GroupDetailPage), group?.Id);
|
||||
Frame.Navigate(typeof(GroupDetailPage), new NavigationItem { Id = group?.Id });
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -90,7 +91,7 @@ namespace ModernKeePass.Views
|
||||
return;
|
||||
default:
|
||||
var entry = GridView.SelectedItem as EntryVm;
|
||||
Frame.Navigate(typeof(EntryDetailPage), entry?.Id);
|
||||
Frame.Navigate(typeof(EntryDetailPage), new NavigationItem { Id = entry?.Id });
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -105,11 +106,19 @@ namespace ModernKeePass.Views
|
||||
}
|
||||
private async void CreateEntry_ButtonClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Frame.Navigate(typeof(EntryDetailPage), await Model.AddNewEntry());
|
||||
Frame.Navigate(typeof(EntryDetailPage), new NavigationItem
|
||||
{
|
||||
Id = await Model.AddNewEntry(),
|
||||
IsNew = true
|
||||
});
|
||||
}
|
||||
private async void CreateGroup_ButtonClick(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Frame.Navigate(typeof(GroupDetailPage), await Model.AddNewGroup());
|
||||
Frame.Navigate(typeof(GroupDetailPage), new NavigationItem
|
||||
{
|
||||
Id = await Model.AddNewGroup(),
|
||||
IsNew = true
|
||||
});
|
||||
}
|
||||
|
||||
private void GridView_DragItemsStarting(object sender, DragItemsStartingEventArgs e)
|
||||
@@ -118,10 +127,10 @@ namespace ModernKeePass.Views
|
||||
e.Data.RequestedOperation = DataPackageOperation.Move;
|
||||
}
|
||||
|
||||
private void SearchBox_OnSuggestionsRequested(SearchBox sender, SearchBoxSuggestionsRequestedEventArgs args)
|
||||
private async void SearchBox_OnSuggestionsRequested(SearchBox sender, SearchBoxSuggestionsRequestedEventArgs args)
|
||||
{
|
||||
var imageUri = RandomAccessStreamReference.CreateFromUri(new Uri("ms-appdata://Assets/ModernKeePass-SmallLogo.scale-80.png"));
|
||||
var results = Model.SubEntries.Where(e => e.Title.IndexOf(args.QueryText, StringComparison.OrdinalIgnoreCase) >= 0).Take(5);
|
||||
var results = (await Model.Search(args.QueryText)).Take(5);
|
||||
foreach (var result in results)
|
||||
{
|
||||
args.Request.SearchSuggestionCollection.AppendResultSuggestion(result.Title, result.ParentGroupName, result.Id, imageUri, string.Empty);
|
||||
@@ -130,7 +139,7 @@ namespace ModernKeePass.Views
|
||||
|
||||
private void SearchBox_OnResultSuggestionChosen(SearchBox sender, SearchBoxResultSuggestionChosenEventArgs args)
|
||||
{
|
||||
Frame.Navigate(typeof(EntryDetailPage), args.Tag);
|
||||
Frame.Navigate(typeof(EntryDetailPage), new NavigationItem { Id = args.Tag });
|
||||
}
|
||||
|
||||
private void GroupDetailPage_OnSizeChanged(object sender, SizeChangedEventArgs e)
|
||||
|
Reference in New Issue
Block a user