mirror of
https://github.com/wismna/ModernKeePass.git
synced 2025-10-03 15:40:18 -04:00
Updated release notes
Moved ViewModelLocator WIP ModernKeePass10
This commit is contained in:
@@ -103,8 +103,8 @@ Global
|
|||||||
{42353562-5E43-459C-8E3E-2F21E575261D}.Debug|ARM.Build.0 = Debug|ARM
|
{42353562-5E43-459C-8E3E-2F21E575261D}.Debug|ARM.Build.0 = Debug|ARM
|
||||||
{42353562-5E43-459C-8E3E-2F21E575261D}.Debug|x64.ActiveCfg = Debug|x64
|
{42353562-5E43-459C-8E3E-2F21E575261D}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{42353562-5E43-459C-8E3E-2F21E575261D}.Debug|x64.Build.0 = Debug|x64
|
{42353562-5E43-459C-8E3E-2F21E575261D}.Debug|x64.Build.0 = Debug|x64
|
||||||
{42353562-5E43-459C-8E3E-2F21E575261D}.Debug|x86.ActiveCfg = Debug|Any CPU
|
{42353562-5E43-459C-8E3E-2F21E575261D}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
{42353562-5E43-459C-8E3E-2F21E575261D}.Debug|x86.Build.0 = Debug|Any CPU
|
{42353562-5E43-459C-8E3E-2F21E575261D}.Debug|x86.Build.0 = Debug|x86
|
||||||
{42353562-5E43-459C-8E3E-2F21E575261D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{42353562-5E43-459C-8E3E-2F21E575261D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{42353562-5E43-459C-8E3E-2F21E575261D}.Release|Any CPU.Build.0 = Release|Any CPU
|
{42353562-5E43-459C-8E3E-2F21E575261D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{42353562-5E43-459C-8E3E-2F21E575261D}.Release|ARM.ActiveCfg = Release|ARM
|
{42353562-5E43-459C-8E3E-2F21E575261D}.Release|ARM.ActiveCfg = Release|ARM
|
||||||
@@ -119,8 +119,8 @@ Global
|
|||||||
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Debug|ARM.Build.0 = Debug|ARM
|
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Debug|ARM.Build.0 = Debug|ARM
|
||||||
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Debug|x64.ActiveCfg = Debug|x64
|
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Debug|x64.Build.0 = Debug|x64
|
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Debug|x64.Build.0 = Debug|x64
|
||||||
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Debug|x86.ActiveCfg = Debug|Any CPU
|
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Debug|x86.Build.0 = Debug|Any CPU
|
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Debug|x86.Build.0 = Debug|x86
|
||||||
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Release|Any CPU.Build.0 = Release|Any CPU
|
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Release|ARM.ActiveCfg = Release|ARM
|
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Release|ARM.ActiveCfg = Release|ARM
|
||||||
@@ -135,8 +135,8 @@ Global
|
|||||||
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Debug|ARM.Build.0 = Debug|ARM
|
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Debug|ARM.Build.0 = Debug|ARM
|
||||||
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Debug|x64.ActiveCfg = Debug|x64
|
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Debug|x64.Build.0 = Debug|x64
|
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Debug|x64.Build.0 = Debug|x64
|
||||||
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Debug|x86.ActiveCfg = Debug|Any CPU
|
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Debug|x86.Build.0 = Debug|Any CPU
|
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Debug|x86.Build.0 = Debug|x86
|
||||||
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Release|Any CPU.Build.0 = Release|Any CPU
|
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Release|ARM.ActiveCfg = Release|ARM
|
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Release|ARM.ActiveCfg = Release|ARM
|
||||||
|
@@ -24,7 +24,6 @@ using ModernKeePass.Common;
|
|||||||
using ModernKeePass.Domain.Dtos;
|
using ModernKeePass.Domain.Dtos;
|
||||||
using ModernKeePass.Domain.Exceptions;
|
using ModernKeePass.Domain.Exceptions;
|
||||||
using ModernKeePass.Infrastructure;
|
using ModernKeePass.Infrastructure;
|
||||||
using ModernKeePass.Views;
|
|
||||||
|
|
||||||
// The Blank Application template is documented at http://go.microsoft.com/fwlink/?LinkId=234227
|
// The Blank Application template is documented at http://go.microsoft.com/fwlink/?LinkId=234227
|
||||||
|
|
||||||
@@ -187,7 +186,7 @@ namespace ModernKeePass
|
|||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
currentFrame?.Navigate(typeof(MainPage));
|
_navigation.NavigateTo(Constants.Navigation.MainPage);
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
_notification.Show("App resumed", "Nothing to do, no previous database opened");
|
_notification.Show("App resumed", "Nothing to do, no previous database opened");
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using AutoMapper;
|
using AutoMapper;
|
||||||
using GalaSoft.MvvmLight.Messaging;
|
|
||||||
using GalaSoft.MvvmLight.Views;
|
using GalaSoft.MvvmLight.Views;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.HockeyApp;
|
using Microsoft.HockeyApp;
|
||||||
|
@@ -94,6 +94,7 @@
|
|||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="DependencyInjection.cs" />
|
<Compile Include="DependencyInjection.cs" />
|
||||||
<Compile Include="Models\NavigationItem.cs" />
|
<Compile Include="Models\NavigationItem.cs" />
|
||||||
|
<Compile Include="ViewModels\ViewModelLocator.cs" />
|
||||||
<Compile Include="Views\MainPageFrames\DonatePage.xaml.cs">
|
<Compile Include="Views\MainPageFrames\DonatePage.xaml.cs">
|
||||||
<DependentUpon>DonatePage.xaml</DependentUpon>
|
<DependentUpon>DonatePage.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
Database corruption issues should now be a thing of the past !
|
Database corruption issues should now be a thing of the past:
|
||||||
|
Database integrity is checked after each save
|
||||||
|
Data is written to the filesystem using a transactional model (meaning: if an error occurs, the original file is left untouched)
|
||||||
|
Auto-save on suspend/exit is now only active when database has changes and its size is under 1MB
|
||||||
Added the ability to move entries and groups
|
Added the ability to move entries and groups
|
||||||
Edits are now in a popup instead of inline
|
|
||||||
Allows restoring and deleting from entry history
|
Allows restoring and deleting from entry history
|
||||||
Updated KeePass lib to version 2.44
|
Updated KeePass lib to version 2.44
|
@@ -1,5 +1,7 @@
|
|||||||
Amelioration de la recherche
|
Les problemes de corruption de bases de donn<6E>es sont maintenant totalement corrigees :
|
||||||
Changer l'icone d'une entree cree un historique
|
L'integrite de la base de donnees est verfiee apres chaque sauvegarde
|
||||||
Correction de crash lors du lancement avec certaines versions de Windows
|
Les donnees sont ecrites dans le systeme de fichiers en utilisant un modele transactionnel (autrement dit, s'il y a une erreur, le fichier original n'est pas modifie)
|
||||||
Le bouton de suppression d'une entree apparait bien desormais
|
L'auto-sauvegarde lors de la suspension/sortie ne se fait que lorsqu'il y a eu des changements et que la taille de la base de donnees est inferieure a 1MB
|
||||||
La liste des icones n'affiche desormais que des valeurs valables
|
Possibilite de deplacer des groupes et des entree
|
||||||
|
Possibilite de supprimer et restaurer des versions de l'historique d'entrees
|
||||||
|
Libraire mise a jour en version 2.44
|
@@ -10,13 +10,22 @@ using Windows.Storage.Pickers;
|
|||||||
using Windows.UI.Xaml;
|
using Windows.UI.Xaml;
|
||||||
using Windows.UI.Xaml.Controls;
|
using Windows.UI.Xaml.Controls;
|
||||||
using Windows.UI.Xaml.Navigation;
|
using Windows.UI.Xaml.Navigation;
|
||||||
using UnhandledExceptionEventArgs = Windows.UI.Xaml.UnhandledExceptionEventArgs;
|
using GalaSoft.MvvmLight.Views;
|
||||||
|
using MediatR;
|
||||||
using Microsoft.AppCenter;
|
using Microsoft.AppCenter;
|
||||||
using Microsoft.AppCenter.Analytics;
|
using Microsoft.AppCenter.Analytics;
|
||||||
|
using Microsoft.AppCenter.Crashes;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using ModernKeePass.Application;
|
||||||
|
using ModernKeePass.Application.Common.Interfaces;
|
||||||
|
using ModernKeePass.Application.Database.Commands.CloseDatabase;
|
||||||
|
using ModernKeePass.Application.Database.Commands.SaveDatabase;
|
||||||
|
using ModernKeePass.Application.Database.Queries.GetDatabase;
|
||||||
|
using ModernKeePass.Application.Database.Queries.ReOpenDatabase;
|
||||||
using ModernKeePass.Common;
|
using ModernKeePass.Common;
|
||||||
using ModernKeePass.Domain.Dtos;
|
using ModernKeePass.Domain.Dtos;
|
||||||
using ModernKeePass.Domain.Exceptions;
|
using ModernKeePass.Domain.Exceptions;
|
||||||
using ModernKeePass.Domain.Interfaces;
|
using ModernKeePass.Infrastructure;
|
||||||
using ModernKeePass.Views;
|
using ModernKeePass.Views;
|
||||||
|
|
||||||
// The Blank Application template is documented at http://go.microsoft.com/fwlink/?LinkId=234227
|
// The Blank Application template is documented at http://go.microsoft.com/fwlink/?LinkId=234227
|
||||||
@@ -28,26 +37,53 @@ namespace ModernKeePass
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
sealed partial class App
|
sealed partial class App
|
||||||
{
|
{
|
||||||
|
private readonly IResourceProxy _resource;
|
||||||
|
private readonly IMediator _mediator;
|
||||||
|
private readonly ISettingsProxy _settings;
|
||||||
|
private readonly INavigationService _navigation;
|
||||||
|
private readonly IAppCenterService _appCenter;
|
||||||
|
private readonly IDialogService _dialog;
|
||||||
|
private readonly INotificationService _notification;
|
||||||
|
|
||||||
|
public static IServiceProvider Services { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes the singleton application object. This is the first line of authored code
|
/// Initializes the singleton application object. This is the first line of authored code
|
||||||
/// executed, and as such is the logical equivalent of main() or WinMain().
|
/// executed, and as such is the logical equivalent of main() or WinMain().
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public App()
|
public App()
|
||||||
{
|
{
|
||||||
AppCenter.Start("79d23520-a486-4f63-af81-8d90bf4e1bea", typeof(Analytics));
|
// Setup DI
|
||||||
|
IServiceCollection serviceCollection = new ServiceCollection();
|
||||||
|
serviceCollection.AddApplication();
|
||||||
|
serviceCollection.AddInfrastructureCommon();
|
||||||
|
serviceCollection.AddInfrastructureKeePass();
|
||||||
|
serviceCollection.AddInfrastructureUwp();
|
||||||
|
serviceCollection.AddWin10App();
|
||||||
|
Services = serviceCollection.BuildServiceProvider();
|
||||||
|
|
||||||
|
_mediator = Services.GetService<IMediator>();
|
||||||
|
_resource = Services.GetService<IResourceProxy>();
|
||||||
|
_settings = Services.GetService<ISettingsProxy>();
|
||||||
|
_navigation = Services.GetService<INavigationService>();
|
||||||
|
_dialog = Services.GetService<IDialogService>();
|
||||||
|
_notification = Services.GetService<INotificationService>();
|
||||||
|
|
||||||
|
#if DEBUG
|
||||||
|
AppCenter.Start("029ab91d-1e4b-4d4d-9661-5d438dd671a5",
|
||||||
|
typeof(Analytics), typeof(Crashes));
|
||||||
|
#else
|
||||||
|
AppCenter.Start("79d23520-a486-4f63-af81-8d90bf4e1bea", typeof(Analytics));
|
||||||
|
#endif
|
||||||
|
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
Suspending += OnSuspending;
|
Suspending += OnSuspending;
|
||||||
Resuming += OnResuming;
|
Resuming += OnResuming;
|
||||||
UnhandledException += OnUnhandledException;
|
UnhandledException += OnUnhandledException;
|
||||||
|
|
||||||
// Setup DI
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Event Handlers
|
#region Event Handlers
|
||||||
|
|
||||||
// TODO: do something else here instead of showing dialog and handle save issues directly where it happens
|
|
||||||
private async void OnUnhandledException(object sender, UnhandledExceptionEventArgs unhandledExceptionEventArgs)
|
private async void OnUnhandledException(object sender, UnhandledExceptionEventArgs unhandledExceptionEventArgs)
|
||||||
{
|
{
|
||||||
// Save the argument exception because it's cleared on first access
|
// Save the argument exception because it's cleared on first access
|
||||||
@@ -58,33 +94,40 @@ namespace ModernKeePass
|
|||||||
? exception.InnerException
|
? exception.InnerException
|
||||||
: exception;
|
: exception;
|
||||||
|
|
||||||
var resource = Container.Resolve<IResourceService>();
|
|
||||||
if (realException is SaveException)
|
if (realException is SaveException)
|
||||||
{
|
{
|
||||||
unhandledExceptionEventArgs.Handled = true;
|
unhandledExceptionEventArgs.Handled = true;
|
||||||
await MessageDialogHelper.ShowActionDialog(resource.GetResourceValue("MessageDialogSaveErrorTitle"),
|
//_hockey.TrackException(realException);
|
||||||
realException.InnerException.Message,
|
await _dialog.ShowMessage(realException.Message,
|
||||||
resource.GetResourceValue("MessageDialogSaveErrorButtonSaveAs"),
|
_resource.GetResourceValue("MessageDialogSaveErrorTitle"),
|
||||||
resource.GetResourceValue("MessageDialogSaveErrorButtonDiscard"),
|
_resource.GetResourceValue("MessageDialogSaveErrorButtonSaveAs"),
|
||||||
async command =>
|
_resource.GetResourceValue("MessageDialogSaveErrorButtonDiscard"),
|
||||||
|
async isOk =>
|
||||||
{
|
{
|
||||||
var savePicker = new FileSavePicker
|
if (isOk)
|
||||||
{
|
{
|
||||||
SuggestedStartLocation = PickerLocationId.DocumentsLibrary,
|
var database = await _mediator.Send(new GetDatabaseQuery());
|
||||||
SuggestedFileName = $"{_databaseService.Name} - copy"
|
var savePicker = new FileSavePicker
|
||||||
};
|
{
|
||||||
savePicker.FileTypeChoices.Add(resource.GetResourceValue("MessageDialogSaveErrorFileTypeDesc"),
|
SuggestedStartLocation = PickerLocationId.DocumentsLibrary,
|
||||||
new List<string> {".kdbx"});
|
SuggestedFileName = $"{database.Name} - copy"
|
||||||
|
};
|
||||||
|
savePicker.FileTypeChoices.Add(
|
||||||
|
_resource.GetResourceValue("MessageDialogSaveErrorFileTypeDesc"),
|
||||||
|
new List<string> { ".kdbx" });
|
||||||
|
|
||||||
var file = await savePicker.PickSaveFileAsync();
|
var file = await savePicker.PickSaveFileAsync().AsTask();
|
||||||
var token = StorageApplicationPermissions.FutureAccessList.Add(file);
|
if (file != null)
|
||||||
var fileInfo = new FileInfo
|
{
|
||||||
{
|
var token = StorageApplicationPermissions.FutureAccessList.Add(file, file.Name);
|
||||||
Path = token,
|
await _mediator.Send(new SaveDatabaseCommand { FilePath = token });
|
||||||
Name = file.DisplayName
|
}
|
||||||
};
|
}
|
||||||
await _databaseService.SaveAs(fileInfo);
|
});
|
||||||
}, null);
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
await _dialog.ShowError(realException, realException.Message, "OK", () => { });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,6 +139,7 @@ namespace ModernKeePass
|
|||||||
protected override async void OnLaunched(LaunchActivatedEventArgs args)
|
protected override async void OnLaunched(LaunchActivatedEventArgs args)
|
||||||
{
|
{
|
||||||
await OnLaunchOrActivated(args);
|
await OnLaunchOrActivated(args);
|
||||||
|
//await _hockey.SendCrashesAsync(/* sendWithoutAsking: true */);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override async void OnActivated(IActivatedEventArgs args)
|
protected override async void OnActivated(IActivatedEventArgs args)
|
||||||
@@ -105,12 +149,14 @@ namespace ModernKeePass
|
|||||||
|
|
||||||
private async Task OnLaunchOrActivated(IActivatedEventArgs e)
|
private async Task OnLaunchOrActivated(IActivatedEventArgs e)
|
||||||
{
|
{
|
||||||
|
var rootFrame = Window.Current.Content as Frame;
|
||||||
|
|
||||||
// Do not repeat app initialization when the Window already has content,
|
// Do not repeat app initialization when the Window already has content,
|
||||||
// just ensure that the window is active
|
// just ensure that the window is active
|
||||||
if (!(Window.Current.Content is Frame rootFrame))
|
if (rootFrame == null)
|
||||||
{
|
{
|
||||||
// Create a Frame to act as the navigation context and navigate to the first page
|
// Create a Frame to act as the navigation context and navigate to the first page
|
||||||
rootFrame = new Frame();
|
rootFrame = new Frame { Language = Windows.Globalization.ApplicationLanguages.Languages[0] };
|
||||||
// Set the default language
|
// Set the default language
|
||||||
|
|
||||||
rootFrame.NavigationFailed += OnNavigationFailed;
|
rootFrame.NavigationFailed += OnNavigationFailed;
|
||||||
@@ -120,7 +166,7 @@ namespace ModernKeePass
|
|||||||
// Load state from previously terminated application
|
// Load state from previously terminated application
|
||||||
await SuspensionManager.RestoreAsync();
|
await SuspensionManager.RestoreAsync();
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
await MessageDialogHelper.ShowNotificationDialog("App terminated", "Windows or an error made the app terminate");
|
await _dialog.ShowMessage("Windows or an error made the app terminate", "App terminated");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -128,31 +174,30 @@ namespace ModernKeePass
|
|||||||
Window.Current.Content = rootFrame;
|
Window.Current.Content = rootFrame;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (e is LaunchActivatedEventArgs lauchActivatedEventArgs && rootFrame.Content == null)
|
var launchActivatedEventArgs = e as LaunchActivatedEventArgs;
|
||||||
{
|
if (launchActivatedEventArgs != null && rootFrame.Content == null)
|
||||||
rootFrame.Navigate(typeof(MainPage10), lauchActivatedEventArgs.Arguments);
|
_navigation.NavigateTo(Constants.Navigation.MainPage, launchActivatedEventArgs.Arguments);
|
||||||
}
|
|
||||||
|
|
||||||
// Ensure the current window is active
|
// Ensure the current window is active
|
||||||
Window.Current.Activate();
|
Window.Current.Activate();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnResuming(object sender, object e)
|
private async void OnResuming(object sender, object e)
|
||||||
{
|
{
|
||||||
var currentFrame = Window.Current.Content as Frame;
|
var currentFrame = Window.Current.Content as Frame;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//_databaseService.ReOpen();
|
await _mediator.Send(new ReOpenDatabaseQuery());
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
ToastNotificationHelper.ShowGenericToast(_databaseService.Name, "Database reopened (changes were saved)");
|
_notification.Show("App resumed", "Database reopened (changes were saved)");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
currentFrame?.Navigate(typeof(MainPage10));
|
currentFrame?.Navigate(typeof(MainPage10));
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
ToastNotificationHelper.ShowGenericToast("App resumed", "Nothing to do, no previous database opened");
|
_notification.Show("App resumed", "Nothing to do, no previous database opened");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -177,21 +222,31 @@ namespace ModernKeePass
|
|||||||
private async void OnSuspending(object sender, SuspendingEventArgs e)
|
private async void OnSuspending(object sender, SuspendingEventArgs e)
|
||||||
{
|
{
|
||||||
var deferral = e.SuspendingOperation.GetDeferral();
|
var deferral = e.SuspendingOperation.GetDeferral();
|
||||||
var settings = Container.Resolve<ISettingsService>();
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// TODO: definitely do something about this to avoid DB corruption if app closes before save has completed
|
var database = await _mediator.Send(new GetDatabaseQuery());
|
||||||
if (settings.GetSetting("SaveSuspend", true)) await _databaseService.Save();
|
if (database.IsOpen)
|
||||||
_databaseService.Close();
|
{
|
||||||
|
if (database.Size < Constants.File.OneMegaByte && database.IsDirty &&
|
||||||
|
_settings.GetSetting(Constants.Settings.SaveSuspend, true))
|
||||||
|
{
|
||||||
|
await _mediator.Send(new SaveDatabaseCommand()).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
await _mediator.Send(new CloseDatabaseCommand()).ConfigureAwait(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (Exception exception)
|
catch (Exception exception)
|
||||||
{
|
{
|
||||||
ToastNotificationHelper.ShowErrorToast(exception);
|
_notification.Show(exception.Source, exception.Message);
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
await SuspensionManager.SaveAsync().ConfigureAwait(false);
|
||||||
|
deferral.Complete();
|
||||||
}
|
}
|
||||||
await SuspensionManager.SaveAsync();
|
|
||||||
deferral.Complete();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Invoked when application is launched from opening a file in Windows Explorer
|
/// Invoked when application is launched from opening a file in Windows Explorer
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -200,11 +255,30 @@ namespace ModernKeePass
|
|||||||
{
|
{
|
||||||
base.OnFileActivated(args);
|
base.OnFileActivated(args);
|
||||||
var rootFrame = new Frame();
|
var rootFrame = new Frame();
|
||||||
rootFrame.Navigate(typeof(MainPage10), args.Files[0] as StorageFile);
|
var file = args.Files[0] as StorageFile;
|
||||||
|
|
||||||
Window.Current.Content = rootFrame;
|
Window.Current.Content = rootFrame;
|
||||||
|
|
||||||
|
if (file != null)
|
||||||
|
{
|
||||||
|
// TODO: use service
|
||||||
|
var token = StorageApplicationPermissions.MostRecentlyUsedList.Add(file, file.Path);
|
||||||
|
var fileInfo = new FileInfo
|
||||||
|
{
|
||||||
|
Id = token,
|
||||||
|
Name = file.DisplayName,
|
||||||
|
Path = file.Path
|
||||||
|
};
|
||||||
|
_navigation.NavigateTo(Constants.Navigation.MainPage, fileInfo);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_navigation.NavigateTo(Constants.Navigation.MainPage);
|
||||||
|
}
|
||||||
|
|
||||||
Window.Current.Activate();
|
Window.Current.Activate();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
39
ModernKeePass10/DependencyInjection.cs
Normal file
39
ModernKeePass10/DependencyInjection.cs
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using AutoMapper;
|
||||||
|
using GalaSoft.MvvmLight.Views;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using Microsoft.AppCenter;
|
||||||
|
using Microsoft.AppCenter.Analytics;
|
||||||
|
using Microsoft.AppCenter.Crashes;
|
||||||
|
using ModernKeePass.Common;
|
||||||
|
using ModernKeePass.Views;
|
||||||
|
|
||||||
|
namespace ModernKeePass
|
||||||
|
{
|
||||||
|
public static class DependencyInjection
|
||||||
|
{
|
||||||
|
public static IServiceCollection AddWin10App(this IServiceCollection services)
|
||||||
|
{
|
||||||
|
var applicationAssembly = typeof(Application.DependencyInjection).GetTypeInfo().Assembly;
|
||||||
|
var infrastructureAssembly = typeof(Infrastructure.DependencyInjection).GetTypeInfo().Assembly;
|
||||||
|
services.AddAutoMapper(applicationAssembly, infrastructureAssembly);
|
||||||
|
|
||||||
|
services.AddSingleton<INavigationService>(provider =>
|
||||||
|
{
|
||||||
|
var nav = new NavigationService();
|
||||||
|
nav.Configure(Constants.Navigation.MainPage, typeof(MainPage10));
|
||||||
|
nav.Configure(Constants.Navigation.EntryPage, typeof(EntryPage));
|
||||||
|
nav.Configure(Constants.Navigation.GroupPage, typeof(EntriesPage));
|
||||||
|
return nav;
|
||||||
|
});
|
||||||
|
services.AddTransient(typeof(IDialogService), typeof(DialogService));
|
||||||
|
|
||||||
|
services.AddSingleton(provider =>
|
||||||
|
{
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
return services;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -1,5 +1,19 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="..\packages\runtime.win10-arm64.Microsoft.Net.Native.Compiler.2.2.4\build\runtime.win10-arm64.Microsoft.Net.Native.Compiler.props" Condition="Exists('..\packages\runtime.win10-arm64.Microsoft.Net.Native.Compiler.2.2.4\build\runtime.win10-arm64.Microsoft.Net.Native.Compiler.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\Microsoft.Net.UWPCoreRuntimeSdk.props" Condition="Exists('..\packages\Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\Microsoft.Net.UWPCoreRuntimeSdk.props')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.props" Condition="Exists('..\packages\runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.props')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-x64.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-x64.Microsoft.Net.UWPCoreRuntimeSdk.props" Condition="Exists('..\packages\runtime.win10-x64.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-x64.Microsoft.Net.UWPCoreRuntimeSdk.props')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-arm.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-arm.Microsoft.Net.UWPCoreRuntimeSdk.props" Condition="Exists('..\packages\runtime.win10-arm.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-arm.Microsoft.Net.UWPCoreRuntimeSdk.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.NETCore.UniversalWindowsPlatform.6.2.8\build\Microsoft.NETCore.UniversalWindowsPlatform.props" Condition="Exists('..\packages\Microsoft.NETCore.UniversalWindowsPlatform.6.2.8\build\Microsoft.NETCore.UniversalWindowsPlatform.props')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Net.Native.Compiler.2.2.3\build\Microsoft.Net.Native.Compiler.props" Condition="Exists('..\packages\Microsoft.Net.Native.Compiler.2.2.3\build\Microsoft.Net.Native.Compiler.props')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-x86.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-x86.Microsoft.Net.Native.Compiler.props" Condition="Exists('..\packages\runtime.win10-x86.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-x86.Microsoft.Net.Native.Compiler.props')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.props" Condition="Exists('..\packages\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.props')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-x64.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-x64.Microsoft.Net.Native.Compiler.props" Condition="Exists('..\packages\runtime.win10-x64.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-x64.Microsoft.Net.Native.Compiler.props')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-x64.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-x64.Microsoft.Net.Native.SharedLibrary.props" Condition="Exists('..\packages\runtime.win10-x64.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-x64.Microsoft.Net.Native.SharedLibrary.props')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-arm64.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-arm64.Microsoft.Net.Native.SharedLibrary.props" Condition="Exists('..\packages\runtime.win10-arm64.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-arm64.Microsoft.Net.Native.SharedLibrary.props')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-arm.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-arm.Microsoft.Net.Native.Compiler.props" Condition="Exists('..\packages\runtime.win10-arm.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-arm.Microsoft.Net.Native.Compiler.props')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-arm.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-arm.Microsoft.Net.Native.SharedLibrary.props" Condition="Exists('..\packages\runtime.win10-arm.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-arm.Microsoft.Net.Native.SharedLibrary.props')" />
|
||||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
@@ -12,8 +26,8 @@
|
|||||||
<AssemblyName>ModernKeePass</AssemblyName>
|
<AssemblyName>ModernKeePass</AssemblyName>
|
||||||
<DefaultLanguage>en-US</DefaultLanguage>
|
<DefaultLanguage>en-US</DefaultLanguage>
|
||||||
<EnableDotNetNativeCompatibleProfile>true</EnableDotNetNativeCompatibleProfile>
|
<EnableDotNetNativeCompatibleProfile>true</EnableDotNetNativeCompatibleProfile>
|
||||||
<TargetPlatformVersion>10.0.14393.0</TargetPlatformVersion>
|
<TargetPlatformVersion>10.0.18362.0</TargetPlatformVersion>
|
||||||
<TargetPlatformMinVersion>10.0.14393.0</TargetPlatformMinVersion>
|
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
||||||
<MinimumVisualStudioVersion>14</MinimumVisualStudioVersion>
|
<MinimumVisualStudioVersion>14</MinimumVisualStudioVersion>
|
||||||
<FileAlignment>512</FileAlignment>
|
<FileAlignment>512</FileAlignment>
|
||||||
<ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
<ProjectTypeGuids>{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||||
@@ -99,6 +113,7 @@
|
|||||||
<Compile Include="App.xaml.cs">
|
<Compile Include="App.xaml.cs">
|
||||||
<DependentUpon>App.xaml</DependentUpon>
|
<DependentUpon>App.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="DependencyInjection.cs" />
|
||||||
<Compile Include="Views\UserControls\UpdateCredentialsUserControl.xaml.cs">
|
<Compile Include="Views\UserControls\UpdateCredentialsUserControl.xaml.cs">
|
||||||
<DependentUpon>UpdateCredentialsUserControl.xaml</DependentUpon>
|
<DependentUpon>UpdateCredentialsUserControl.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -448,11 +463,91 @@
|
|||||||
<Name>Infrastructure</Name>
|
<Name>Infrastructure</Name>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="packages.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="AutoMapper.Extensions.Microsoft.DependencyInjection, Version=0.0.0.0, Culture=neutral, PublicKeyToken=e767ac9c89543656, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\AutoMapper.Extensions.Microsoft.DependencyInjection.7.0.0\lib\netstandard2.0\AutoMapper.Extensions.Microsoft.DependencyInjection.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.AppCenter.Crashes, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.AppCenter.Crashes.3.2.1\lib\uap10.0\Microsoft.AppCenter.Crashes.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="SQLitePCLRaw.batteries_v2, Version=2.0.2.669, Culture=neutral, PublicKeyToken=8226ea5df37bcae9, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\SQLitePCLRaw.bundle_green.2.0.2\lib\netstandard2.0\SQLitePCLRaw.batteries_v2.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="SQLitePCLRaw.core, Version=2.0.2.669, Culture=neutral, PublicKeyToken=1488e028ca7ab535, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\SQLitePCLRaw.core.2.0.2\lib\netstandard2.0\SQLitePCLRaw.core.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="SQLitePCLRaw.provider.e_sqlite3, Version=2.0.2.669, Culture=neutral, PublicKeyToken=9c301db686d0bd12, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\SQLitePCLRaw.provider.e_sqlite3.2.0.2\lib\uap10.0\SQLitePCLRaw.provider.e_sqlite3.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Reflection.Emit, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Reflection.Emit.4.7.0\lib\netcore50\System.Reflection.Emit.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Reflection.Emit.ILGeneration, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Reflection.Emit.ILGeneration.4.7.0\lib\netcore50\System.Reflection.Emit.ILGeneration.dll</HintPath>
|
||||||
|
<Private>True</Private>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="..\WinAppCommon\WinAppCommon.projitems" Label="Shared" />
|
<Import Project="..\WinAppCommon\WinAppCommon.projitems" Label="Shared" />
|
||||||
<PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '14.0' ">
|
<PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' < '14.0' ">
|
||||||
<VisualStudioVersion>14.0</VisualStudioVersion>
|
<VisualStudioVersion>14.0</VisualStudioVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
|
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
|
||||||
|
<Import Project="..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-arm.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-arm.Microsoft.Net.Native.SharedLibrary.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-arm.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-arm.Microsoft.Net.Native.SharedLibrary.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-arm.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-arm.Microsoft.Net.Native.SharedLibrary.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-arm.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-arm.Microsoft.Net.Native.SharedLibrary.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-arm.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-arm.Microsoft.Net.Native.Compiler.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-arm.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-arm.Microsoft.Net.Native.Compiler.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-arm.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-arm.Microsoft.Net.Native.Compiler.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-arm.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-arm.Microsoft.Net.Native.Compiler.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-arm64.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-arm64.Microsoft.Net.Native.SharedLibrary.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-arm64.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-arm64.Microsoft.Net.Native.SharedLibrary.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-arm64.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-arm64.Microsoft.Net.Native.SharedLibrary.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-arm64.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-arm64.Microsoft.Net.Native.SharedLibrary.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-x64.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-x64.Microsoft.Net.Native.SharedLibrary.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-x64.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-x64.Microsoft.Net.Native.SharedLibrary.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-x64.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-x64.Microsoft.Net.Native.SharedLibrary.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-x64.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-x64.Microsoft.Net.Native.SharedLibrary.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-x64.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-x64.Microsoft.Net.Native.Compiler.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-x64.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-x64.Microsoft.Net.Native.Compiler.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-x64.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-x64.Microsoft.Net.Native.Compiler.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-x64.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-x64.Microsoft.Net.Native.Compiler.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-x86.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-x86.Microsoft.Net.Native.Compiler.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-x86.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-x86.Microsoft.Net.Native.Compiler.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-x86.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-x86.Microsoft.Net.Native.Compiler.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-x86.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-x86.Microsoft.Net.Native.Compiler.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Net.Native.Compiler.2.2.3\build\Microsoft.Net.Native.Compiler.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Native.Compiler.2.2.3\build\Microsoft.Net.Native.Compiler.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Net.Native.Compiler.2.2.3\build\Microsoft.Net.Native.Compiler.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Native.Compiler.2.2.3\build\Microsoft.Net.Native.Compiler.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.NETCore.UniversalWindowsPlatform.6.2.8\build\Microsoft.NETCore.UniversalWindowsPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.NETCore.UniversalWindowsPlatform.6.2.8\build\Microsoft.NETCore.UniversalWindowsPlatform.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.NETCore.UniversalWindowsPlatform.6.2.8\build\Microsoft.NetCore.UniversalWindowsPlatform.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.NETCore.UniversalWindowsPlatform.6.2.8\build\Microsoft.NetCore.UniversalWindowsPlatform.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-arm.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-arm.Microsoft.Net.UWPCoreRuntimeSdk.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-arm.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-arm.Microsoft.Net.UWPCoreRuntimeSdk.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-arm.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-arm.Microsoft.Net.UWPCoreRuntimeSdk.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-arm.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-arm.Microsoft.Net.UWPCoreRuntimeSdk.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-x64.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-x64.Microsoft.Net.UWPCoreRuntimeSdk.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-x64.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-x64.Microsoft.Net.UWPCoreRuntimeSdk.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-x64.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-x64.Microsoft.Net.UWPCoreRuntimeSdk.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-x64.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-x64.Microsoft.Net.UWPCoreRuntimeSdk.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.targets'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\Microsoft.Net.UWPCoreRuntimeSdk.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\Microsoft.Net.UWPCoreRuntimeSdk.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-arm64.Microsoft.Net.Native.Compiler.2.2.4\build\runtime.win10-arm64.Microsoft.Net.Native.Compiler.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-arm64.Microsoft.Net.Native.Compiler.2.2.4\build\runtime.win10-arm64.Microsoft.Net.Native.Compiler.props'))" />
|
||||||
|
<Error Condition="!Exists('..\packages\runtime.win10-arm64.Microsoft.Net.Native.Compiler.2.2.4\build\runtime.win10-arm64.Microsoft.Net.Native.Compiler.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\runtime.win10-arm64.Microsoft.Net.Native.Compiler.2.2.4\build\runtime.win10-arm64.Microsoft.Net.Native.Compiler.targets'))" />
|
||||||
|
</Target>
|
||||||
|
<Import Project="..\packages\runtime.win10-arm.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-arm.Microsoft.Net.Native.SharedLibrary.targets" Condition="Exists('..\packages\runtime.win10-arm.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-arm.Microsoft.Net.Native.SharedLibrary.targets')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-arm.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-arm.Microsoft.Net.Native.Compiler.targets" Condition="Exists('..\packages\runtime.win10-arm.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-arm.Microsoft.Net.Native.Compiler.targets')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-arm64.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-arm64.Microsoft.Net.Native.SharedLibrary.targets" Condition="Exists('..\packages\runtime.win10-arm64.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-arm64.Microsoft.Net.Native.SharedLibrary.targets')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-x64.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-x64.Microsoft.Net.Native.SharedLibrary.targets" Condition="Exists('..\packages\runtime.win10-x64.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-x64.Microsoft.Net.Native.SharedLibrary.targets')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-x64.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-x64.Microsoft.Net.Native.Compiler.targets" Condition="Exists('..\packages\runtime.win10-x64.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-x64.Microsoft.Net.Native.Compiler.targets')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.targets" Condition="Exists('..\packages\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.2.2.3\build\runtime.win10-x86.Microsoft.Net.Native.SharedLibrary.targets')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-x86.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-x86.Microsoft.Net.Native.Compiler.targets" Condition="Exists('..\packages\runtime.win10-x86.Microsoft.Net.Native.Compiler.2.2.3\build\runtime.win10-x86.Microsoft.Net.Native.Compiler.targets')" />
|
||||||
|
<Import Project="..\packages\Microsoft.Net.Native.Compiler.2.2.3\build\Microsoft.Net.Native.Compiler.targets" Condition="Exists('..\packages\Microsoft.Net.Native.Compiler.2.2.3\build\Microsoft.Net.Native.Compiler.targets')" />
|
||||||
|
<Import Project="..\packages\Microsoft.NETCore.UniversalWindowsPlatform.6.2.8\build\Microsoft.NetCore.UniversalWindowsPlatform.targets" Condition="Exists('..\packages\Microsoft.NETCore.UniversalWindowsPlatform.6.2.8\build\Microsoft.NetCore.UniversalWindowsPlatform.targets')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-arm.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-arm.Microsoft.Net.UWPCoreRuntimeSdk.targets" Condition="Exists('..\packages\runtime.win10-arm.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-arm.Microsoft.Net.UWPCoreRuntimeSdk.targets')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-x64.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-x64.Microsoft.Net.UWPCoreRuntimeSdk.targets" Condition="Exists('..\packages\runtime.win10-x64.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-x64.Microsoft.Net.UWPCoreRuntimeSdk.targets')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.targets" Condition="Exists('..\packages\runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.2.2.10\build\runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.targets')" />
|
||||||
|
<Import Project="..\packages\runtime.win10-arm64.Microsoft.Net.Native.Compiler.2.2.4\build\runtime.win10-arm64.Microsoft.Net.Native.Compiler.targets" Condition="Exists('..\packages\runtime.win10-arm64.Microsoft.Net.Native.Compiler.2.2.4\build\runtime.win10-arm64.Microsoft.Net.Native.Compiler.targets')" />
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
<Target Name="BeforeBuild">
|
<Target Name="BeforeBuild">
|
||||||
|
45
ModernKeePass10/packages.config
Normal file
45
ModernKeePass10/packages.config
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="AutoMapper" version="9.0.0" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="AutoMapper.Extensions.Microsoft.DependencyInjection" version="7.0.0" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="MediatR" version="8.0.1" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="Microsoft.AppCenter" version="3.2.1" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="Microsoft.AppCenter.Analytics" version="3.2.1" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="Microsoft.AppCenter.Crashes" version="3.2.1" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="Microsoft.CSharp" version="4.7.0" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="3.1.3" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="Microsoft.Net.Native.Compiler" version="2.2.3" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||||
|
<package id="Microsoft.Net.UWPCoreRuntimeSdk" version="2.2.10" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="Microsoft.NETCore.Platforms" version="3.1.0" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="Microsoft.NETCore.Targets" version="3.1.0" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="Microsoft.NETCore.UniversalWindowsPlatform" version="6.2.8" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="NETStandard.Library" version="2.0.3" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="runtime.win10-arm.Microsoft.Net.Native.Compiler" version="2.2.3" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||||
|
<package id="runtime.win10-arm.Microsoft.Net.Native.SharedLibrary" version="2.2.3" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||||
|
<package id="runtime.win10-arm.Microsoft.Net.UWPCoreRuntimeSdk" version="2.2.10" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="runtime.win10-arm64.Microsoft.Net.Native.Compiler" version="2.2.4" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||||
|
<package id="runtime.win10-arm64.Microsoft.Net.Native.SharedLibrary" version="2.2.3" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||||
|
<package id="runtime.win10-x64.Microsoft.Net.Native.Compiler" version="2.2.3" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||||
|
<package id="runtime.win10-x64.Microsoft.Net.Native.SharedLibrary" version="2.2.3" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||||
|
<package id="runtime.win10-x64.Microsoft.Net.UWPCoreRuntimeSdk" version="2.2.10" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="runtime.win10-x86.Microsoft.Net.Native.Compiler" version="2.2.3" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||||
|
<package id="runtime.win10-x86.Microsoft.Net.Native.SharedLibrary" version="2.2.3" targetFramework="uap10.0.17763" developmentDependency="true" />
|
||||||
|
<package id="runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk" version="2.2.10" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="SQLitePCLRaw.bundle_green" version="2.0.2" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="SQLitePCLRaw.core" version="2.0.2" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="SQLitePCLRaw.lib.e_sqlite3" version="2.0.2" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="SQLitePCLRaw.provider.e_sqlite3" version="2.0.2" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="System.Collections.Immutable" version="1.7.0" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="System.IO" version="4.3.0" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="System.Memory" version="4.5.4" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="System.Reflection" version="4.3.0" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="System.Reflection.Emit" version="4.7.0" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="System.Reflection.Emit.ILGeneration" version="4.7.0" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="System.Reflection.Metadata" version="1.8.0" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="System.Reflection.Primitives" version="4.3.0" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="System.Runtime" version="4.3.1" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="System.Runtime.CompilerServices.Unsafe" version="4.7.1" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="System.Text.Encoding" version="4.3.0" targetFramework="uap10.0.17763" />
|
||||||
|
<package id="System.Threading.Tasks" version="4.3.0" targetFramework="uap10.0.17763" />
|
||||||
|
</packages>
|
@@ -56,6 +56,5 @@
|
|||||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModels\UserControls\OpenDatabaseControlVm.cs" />
|
<Compile Include="$(MSBuildThisFileDirectory)ViewModels\UserControls\OpenDatabaseControlVm.cs" />
|
||||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModels\UserControls\SetCredentialsVm.cs" />
|
<Compile Include="$(MSBuildThisFileDirectory)ViewModels\UserControls\SetCredentialsVm.cs" />
|
||||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModels\UserControls\TopMenuVm.cs" />
|
<Compile Include="$(MSBuildThisFileDirectory)ViewModels\UserControls\TopMenuVm.cs" />
|
||||||
<Compile Include="$(MSBuildThisFileDirectory)ViewModels\ViewModelLocator.cs" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
Reference in New Issue
Block a user