Update master key works

Key file creation works
Code cleanup
This commit is contained in:
Geoffroy BONNEVILLE
2020-04-22 17:06:16 +02:00
parent a7da427ded
commit 61f5e9df0b
19 changed files with 78 additions and 925 deletions

View File

@@ -1,368 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<StoreAssociation xmlns="http://schemas.microsoft.com/appx/2010/storeassociation">
<Publisher>CN=0719A91A-C322-4EE0-A257-E60733EECF06</Publisher>
<PublisherDisplayName>wismna</PublisherDisplayName>
<GeneratePackageHash>http://www.w3.org/2001/04/xmlenc#sha256</GeneratePackageHash>
<SupportedLocales>
<Language Code="af" InMinimumRequirementSet="true" />
<Language Code="af-za" InMinimumRequirementSet="true" />
<Language Code="am" InMinimumRequirementSet="true" />
<Language Code="am-et" InMinimumRequirementSet="true" />
<Language Code="ar" InMinimumRequirementSet="true" />
<Language Code="ar-ae" InMinimumRequirementSet="true" />
<Language Code="ar-bh" InMinimumRequirementSet="true" />
<Language Code="ar-dz" InMinimumRequirementSet="true" />
<Language Code="ar-eg" InMinimumRequirementSet="true" />
<Language Code="ar-iq" InMinimumRequirementSet="true" />
<Language Code="ar-jo" InMinimumRequirementSet="true" />
<Language Code="ar-kw" InMinimumRequirementSet="true" />
<Language Code="ar-lb" InMinimumRequirementSet="true" />
<Language Code="ar-ly" InMinimumRequirementSet="true" />
<Language Code="ar-ma" InMinimumRequirementSet="true" />
<Language Code="ar-om" InMinimumRequirementSet="true" />
<Language Code="ar-qa" InMinimumRequirementSet="true" />
<Language Code="ar-sa" InMinimumRequirementSet="true" />
<Language Code="ar-sy" InMinimumRequirementSet="true" />
<Language Code="ar-tn" InMinimumRequirementSet="true" />
<Language Code="ar-ye" InMinimumRequirementSet="true" />
<Language Code="as" InMinimumRequirementSet="true" />
<Language Code="as-in" InMinimumRequirementSet="true" />
<Language Code="az" InMinimumRequirementSet="true" />
<Language Code="az-arab" InMinimumRequirementSet="true" />
<Language Code="az-arab-az" InMinimumRequirementSet="true" />
<Language Code="az-cyrl" InMinimumRequirementSet="true" />
<Language Code="az-cyrl-az" InMinimumRequirementSet="true" />
<Language Code="az-latn" InMinimumRequirementSet="true" />
<Language Code="az-latn-az" InMinimumRequirementSet="true" />
<Language Code="be" InMinimumRequirementSet="true" />
<Language Code="be-by" InMinimumRequirementSet="true" />
<Language Code="bg" InMinimumRequirementSet="true" />
<Language Code="bg-bg" InMinimumRequirementSet="true" />
<Language Code="bn" InMinimumRequirementSet="true" />
<Language Code="bn-bd" InMinimumRequirementSet="true" />
<Language Code="bn-in" InMinimumRequirementSet="true" />
<Language Code="bs" InMinimumRequirementSet="true" />
<Language Code="bs-cyrl" InMinimumRequirementSet="true" />
<Language Code="bs-cyrl-ba" InMinimumRequirementSet="true" />
<Language Code="bs-latn" InMinimumRequirementSet="true" />
<Language Code="bs-latn-ba" InMinimumRequirementSet="true" />
<Language Code="ca" InMinimumRequirementSet="true" />
<Language Code="ca-es" InMinimumRequirementSet="true" />
<Language Code="ca-es-valencia" InMinimumRequirementSet="true" />
<Language Code="chr-cher" InMinimumRequirementSet="true" />
<Language Code="chr-cher-us" InMinimumRequirementSet="true" />
<Language Code="chr-latn" InMinimumRequirementSet="true" />
<Language Code="cs" InMinimumRequirementSet="true" />
<Language Code="cs-cz" InMinimumRequirementSet="true" />
<Language Code="cy" InMinimumRequirementSet="true" />
<Language Code="cy-gb" InMinimumRequirementSet="true" />
<Language Code="da" InMinimumRequirementSet="true" />
<Language Code="da-dk" InMinimumRequirementSet="true" />
<Language Code="de" InMinimumRequirementSet="true" />
<Language Code="de-at" InMinimumRequirementSet="true" />
<Language Code="de-ch" InMinimumRequirementSet="true" />
<Language Code="de-de" InMinimumRequirementSet="true" />
<Language Code="de-li" InMinimumRequirementSet="true" />
<Language Code="de-lu" InMinimumRequirementSet="true" />
<Language Code="el" InMinimumRequirementSet="true" />
<Language Code="el-gr" InMinimumRequirementSet="true" />
<Language Code="en" InMinimumRequirementSet="true" />
<Language Code="en-011" InMinimumRequirementSet="true" />
<Language Code="en-014" InMinimumRequirementSet="true" />
<Language Code="en-018" InMinimumRequirementSet="true" />
<Language Code="en-021" InMinimumRequirementSet="true" />
<Language Code="en-029" InMinimumRequirementSet="true" />
<Language Code="en-053" InMinimumRequirementSet="true" />
<Language Code="en-au" InMinimumRequirementSet="true" />
<Language Code="en-bz" InMinimumRequirementSet="true" />
<Language Code="en-ca" InMinimumRequirementSet="true" />
<Language Code="en-gb" InMinimumRequirementSet="true" />
<Language Code="en-hk" InMinimumRequirementSet="true" />
<Language Code="en-id" InMinimumRequirementSet="true" />
<Language Code="en-ie" InMinimumRequirementSet="true" />
<Language Code="en-in" InMinimumRequirementSet="true" />
<Language Code="en-jm" InMinimumRequirementSet="true" />
<Language Code="en-kz" InMinimumRequirementSet="true" />
<Language Code="en-mt" InMinimumRequirementSet="true" />
<Language Code="en-my" InMinimumRequirementSet="true" />
<Language Code="en-nz" InMinimumRequirementSet="true" />
<Language Code="en-ph" InMinimumRequirementSet="true" />
<Language Code="en-pk" InMinimumRequirementSet="true" />
<Language Code="en-sg" InMinimumRequirementSet="true" />
<Language Code="en-tt" InMinimumRequirementSet="true" />
<Language Code="en-us" InMinimumRequirementSet="true" />
<Language Code="en-vn" InMinimumRequirementSet="true" />
<Language Code="en-za" InMinimumRequirementSet="true" />
<Language Code="en-zw" InMinimumRequirementSet="true" />
<Language Code="es" InMinimumRequirementSet="true" />
<Language Code="es-019" InMinimumRequirementSet="true" />
<Language Code="es-419" InMinimumRequirementSet="true" />
<Language Code="es-ar" InMinimumRequirementSet="true" />
<Language Code="es-bo" InMinimumRequirementSet="true" />
<Language Code="es-cl" InMinimumRequirementSet="true" />
<Language Code="es-co" InMinimumRequirementSet="true" />
<Language Code="es-cr" InMinimumRequirementSet="true" />
<Language Code="es-do" InMinimumRequirementSet="true" />
<Language Code="es-ec" InMinimumRequirementSet="true" />
<Language Code="es-es" InMinimumRequirementSet="true" />
<Language Code="es-gt" InMinimumRequirementSet="true" />
<Language Code="es-hn" InMinimumRequirementSet="true" />
<Language Code="es-mx" InMinimumRequirementSet="true" />
<Language Code="es-ni" InMinimumRequirementSet="true" />
<Language Code="es-pa" InMinimumRequirementSet="true" />
<Language Code="es-pe" InMinimumRequirementSet="true" />
<Language Code="es-pr" InMinimumRequirementSet="true" />
<Language Code="es-py" InMinimumRequirementSet="true" />
<Language Code="es-sv" InMinimumRequirementSet="true" />
<Language Code="es-us" InMinimumRequirementSet="true" />
<Language Code="es-uy" InMinimumRequirementSet="true" />
<Language Code="es-ve" InMinimumRequirementSet="true" />
<Language Code="et" InMinimumRequirementSet="true" />
<Language Code="et-ee" InMinimumRequirementSet="true" />
<Language Code="eu" InMinimumRequirementSet="true" />
<Language Code="eu-es" InMinimumRequirementSet="true" />
<Language Code="fa" InMinimumRequirementSet="true" />
<Language Code="fa-ir" InMinimumRequirementSet="true" />
<Language Code="fi" InMinimumRequirementSet="true" />
<Language Code="fi-fi" InMinimumRequirementSet="true" />
<Language Code="fil" InMinimumRequirementSet="true" />
<Language Code="fil-latn" InMinimumRequirementSet="true" />
<Language Code="fil-ph" InMinimumRequirementSet="true" />
<Language Code="fr" InMinimumRequirementSet="true" />
<Language Code="fr-011" InMinimumRequirementSet="true" />
<Language Code="fr-015" InMinimumRequirementSet="true" />
<Language Code="fr-021" InMinimumRequirementSet="true" />
<Language Code="fr-029" InMinimumRequirementSet="true" />
<Language Code="fr-155" InMinimumRequirementSet="true" />
<Language Code="fr-be" InMinimumRequirementSet="true" />
<Language Code="fr-ca" InMinimumRequirementSet="true" />
<Language Code="fr-cd" InMinimumRequirementSet="true" />
<Language Code="fr-ch" InMinimumRequirementSet="true" />
<Language Code="fr-ci" InMinimumRequirementSet="true" />
<Language Code="fr-cm" InMinimumRequirementSet="true" />
<Language Code="fr-fr" InMinimumRequirementSet="true" />
<Language Code="fr-ht" InMinimumRequirementSet="true" />
<Language Code="fr-lu" InMinimumRequirementSet="true" />
<Language Code="fr-ma" InMinimumRequirementSet="true" />
<Language Code="fr-mc" InMinimumRequirementSet="true" />
<Language Code="fr-ml" InMinimumRequirementSet="true" />
<Language Code="fr-re" InMinimumRequirementSet="true" />
<Language Code="frc-latn" InMinimumRequirementSet="true" />
<Language Code="frp-latn" InMinimumRequirementSet="true" />
<Language Code="ga" InMinimumRequirementSet="true" />
<Language Code="ga-ie" InMinimumRequirementSet="true" />
<Language Code="gd-gb" InMinimumRequirementSet="true" />
<Language Code="gd-latn" InMinimumRequirementSet="true" />
<Language Code="gl" InMinimumRequirementSet="true" />
<Language Code="gl-es" InMinimumRequirementSet="true" />
<Language Code="gu" InMinimumRequirementSet="true" />
<Language Code="gu-in" InMinimumRequirementSet="true" />
<Language Code="ha" InMinimumRequirementSet="true" />
<Language Code="ha-latn" InMinimumRequirementSet="true" />
<Language Code="ha-latn-ng" InMinimumRequirementSet="true" />
<Language Code="he" InMinimumRequirementSet="true" />
<Language Code="he-il" InMinimumRequirementSet="true" />
<Language Code="hi" InMinimumRequirementSet="true" />
<Language Code="hi-in" InMinimumRequirementSet="true" />
<Language Code="hr" InMinimumRequirementSet="true" />
<Language Code="hr-ba" InMinimumRequirementSet="true" />
<Language Code="hr-hr" InMinimumRequirementSet="true" />
<Language Code="hu" InMinimumRequirementSet="true" />
<Language Code="hu-hu" InMinimumRequirementSet="true" />
<Language Code="hy" InMinimumRequirementSet="true" />
<Language Code="hy-am" InMinimumRequirementSet="true" />
<Language Code="id" InMinimumRequirementSet="true" />
<Language Code="id-id" InMinimumRequirementSet="true" />
<Language Code="ig-latn" InMinimumRequirementSet="true" />
<Language Code="ig-ng" InMinimumRequirementSet="true" />
<Language Code="is" InMinimumRequirementSet="true" />
<Language Code="is-is" InMinimumRequirementSet="true" />
<Language Code="it" InMinimumRequirementSet="true" />
<Language Code="it-ch" InMinimumRequirementSet="true" />
<Language Code="it-it" InMinimumRequirementSet="true" />
<Language Code="iu-cans" InMinimumRequirementSet="true" />
<Language Code="iu-latn" InMinimumRequirementSet="true" />
<Language Code="iu-latn-ca" InMinimumRequirementSet="true" />
<Language Code="ja" InMinimumRequirementSet="true" />
<Language Code="ja-jp" InMinimumRequirementSet="true" />
<Language Code="ka" InMinimumRequirementSet="true" />
<Language Code="ka-ge" InMinimumRequirementSet="true" />
<Language Code="kk" InMinimumRequirementSet="true" />
<Language Code="kk-kz" InMinimumRequirementSet="true" />
<Language Code="km" InMinimumRequirementSet="true" />
<Language Code="km-kh" InMinimumRequirementSet="true" />
<Language Code="kn" InMinimumRequirementSet="true" />
<Language Code="kn-in" InMinimumRequirementSet="true" />
<Language Code="ko" InMinimumRequirementSet="true" />
<Language Code="ko-kr" InMinimumRequirementSet="true" />
<Language Code="kok" InMinimumRequirementSet="true" />
<Language Code="kok-in" InMinimumRequirementSet="true" />
<Language Code="ku-arab" InMinimumRequirementSet="true" />
<Language Code="ku-arab-iq" InMinimumRequirementSet="true" />
<Language Code="ky-cyrl" InMinimumRequirementSet="true" />
<Language Code="ky-kg" InMinimumRequirementSet="true" />
<Language Code="lb" InMinimumRequirementSet="true" />
<Language Code="lb-lu" InMinimumRequirementSet="true" />
<Language Code="lo" InMinimumRequirementSet="true" />
<Language Code="lo-la" InMinimumRequirementSet="true" />
<Language Code="lt" InMinimumRequirementSet="true" />
<Language Code="lt-lt" InMinimumRequirementSet="true" />
<Language Code="lv" InMinimumRequirementSet="true" />
<Language Code="lv-lv" InMinimumRequirementSet="true" />
<Language Code="mi" InMinimumRequirementSet="true" />
<Language Code="mi-latn" InMinimumRequirementSet="true" />
<Language Code="mi-nz" InMinimumRequirementSet="true" />
<Language Code="mk" InMinimumRequirementSet="true" />
<Language Code="mk-mk" InMinimumRequirementSet="true" />
<Language Code="ml" InMinimumRequirementSet="true" />
<Language Code="ml-in" InMinimumRequirementSet="true" />
<Language Code="mn-cyrl" InMinimumRequirementSet="true" />
<Language Code="mn-mn" InMinimumRequirementSet="true" />
<Language Code="mn-mong" InMinimumRequirementSet="true" />
<Language Code="mn-phag" InMinimumRequirementSet="true" />
<Language Code="mr" InMinimumRequirementSet="true" />
<Language Code="mr-in" InMinimumRequirementSet="true" />
<Language Code="ms" InMinimumRequirementSet="true" />
<Language Code="ms-bn" InMinimumRequirementSet="true" />
<Language Code="ms-my" InMinimumRequirementSet="true" />
<Language Code="mt" InMinimumRequirementSet="true" />
<Language Code="mt-mt" InMinimumRequirementSet="true" />
<Language Code="nb" InMinimumRequirementSet="true" />
<Language Code="nb-no" InMinimumRequirementSet="true" />
<Language Code="ne" InMinimumRequirementSet="true" />
<Language Code="ne-np" InMinimumRequirementSet="true" />
<Language Code="nl" InMinimumRequirementSet="true" />
<Language Code="nl-be" InMinimumRequirementSet="true" />
<Language Code="nl-nl" InMinimumRequirementSet="true" />
<Language Code="nn" InMinimumRequirementSet="true" />
<Language Code="nn-no" InMinimumRequirementSet="true" />
<Language Code="no" InMinimumRequirementSet="true" />
<Language Code="no-no" InMinimumRequirementSet="true" />
<Language Code="nso" InMinimumRequirementSet="true" />
<Language Code="nso-za" InMinimumRequirementSet="true" />
<Language Code="or" InMinimumRequirementSet="true" />
<Language Code="or-in" InMinimumRequirementSet="true" />
<Language Code="pa" InMinimumRequirementSet="true" />
<Language Code="pa-arab" InMinimumRequirementSet="true" />
<Language Code="pa-arab-pk" InMinimumRequirementSet="true" />
<Language Code="pa-deva" InMinimumRequirementSet="true" />
<Language Code="pa-in" InMinimumRequirementSet="true" />
<Language Code="pl" InMinimumRequirementSet="true" />
<Language Code="pl-pl" InMinimumRequirementSet="true" />
<Language Code="prs" InMinimumRequirementSet="true" />
<Language Code="prs-af" InMinimumRequirementSet="true" />
<Language Code="prs-arab" InMinimumRequirementSet="true" />
<Language Code="pt" InMinimumRequirementSet="true" />
<Language Code="pt-br" InMinimumRequirementSet="true" />
<Language Code="pt-pt" InMinimumRequirementSet="true" />
<Language Code="quc-latn" InMinimumRequirementSet="true" />
<Language Code="qut-gt" InMinimumRequirementSet="true" />
<Language Code="qut-latn" InMinimumRequirementSet="true" />
<Language Code="quz" InMinimumRequirementSet="true" />
<Language Code="quz-bo" InMinimumRequirementSet="true" />
<Language Code="quz-ec" InMinimumRequirementSet="true" />
<Language Code="quz-pe" InMinimumRequirementSet="true" />
<Language Code="ro" InMinimumRequirementSet="true" />
<Language Code="ro-ro" InMinimumRequirementSet="true" />
<Language Code="ru" InMinimumRequirementSet="true" />
<Language Code="ru-ru" InMinimumRequirementSet="true" />
<Language Code="rw" InMinimumRequirementSet="true" />
<Language Code="rw-rw" InMinimumRequirementSet="true" />
<Language Code="sd-arab" InMinimumRequirementSet="true" />
<Language Code="sd-arab-pk" InMinimumRequirementSet="true" />
<Language Code="sd-deva" InMinimumRequirementSet="true" />
<Language Code="si" InMinimumRequirementSet="true" />
<Language Code="si-lk" InMinimumRequirementSet="true" />
<Language Code="sk" InMinimumRequirementSet="true" />
<Language Code="sk-sk" InMinimumRequirementSet="true" />
<Language Code="sl" InMinimumRequirementSet="true" />
<Language Code="sl-si" InMinimumRequirementSet="true" />
<Language Code="sq" InMinimumRequirementSet="true" />
<Language Code="sq-al" InMinimumRequirementSet="true" />
<Language Code="sr" InMinimumRequirementSet="true" />
<Language Code="sr-cyrl" InMinimumRequirementSet="true" />
<Language Code="sr-cyrl-ba" InMinimumRequirementSet="true" />
<Language Code="sr-cyrl-cs" InMinimumRequirementSet="true" />
<Language Code="sr-cyrl-me" InMinimumRequirementSet="true" />
<Language Code="sr-cyrl-rs" InMinimumRequirementSet="true" />
<Language Code="sr-latn" InMinimumRequirementSet="true" />
<Language Code="sr-latn-ba" InMinimumRequirementSet="true" />
<Language Code="sr-latn-cs" InMinimumRequirementSet="true" />
<Language Code="sr-latn-me" InMinimumRequirementSet="true" />
<Language Code="sr-latn-rs" InMinimumRequirementSet="true" />
<Language Code="sv" InMinimumRequirementSet="true" />
<Language Code="sv-fi" InMinimumRequirementSet="true" />
<Language Code="sv-se" InMinimumRequirementSet="true" />
<Language Code="sw" InMinimumRequirementSet="true" />
<Language Code="sw-ke" InMinimumRequirementSet="true" />
<Language Code="ta" InMinimumRequirementSet="true" />
<Language Code="ta-in" InMinimumRequirementSet="true" />
<Language Code="te" InMinimumRequirementSet="true" />
<Language Code="te-in" InMinimumRequirementSet="true" />
<Language Code="tg-arab" InMinimumRequirementSet="true" />
<Language Code="tg-cyrl" InMinimumRequirementSet="true" />
<Language Code="tg-cyrl-tj" InMinimumRequirementSet="true" />
<Language Code="tg-latn" InMinimumRequirementSet="true" />
<Language Code="th" InMinimumRequirementSet="true" />
<Language Code="th-th" InMinimumRequirementSet="true" />
<Language Code="ti" InMinimumRequirementSet="true" />
<Language Code="ti-et" InMinimumRequirementSet="true" />
<Language Code="tk-cyrl" InMinimumRequirementSet="true" />
<Language Code="tk-cyrl-tr" InMinimumRequirementSet="true" />
<Language Code="tk-latn" InMinimumRequirementSet="true" />
<Language Code="tk-latn-tr" InMinimumRequirementSet="true" />
<Language Code="tk-tm" InMinimumRequirementSet="true" />
<Language Code="tn" InMinimumRequirementSet="true" />
<Language Code="tn-bw" InMinimumRequirementSet="true" />
<Language Code="tn-za" InMinimumRequirementSet="true" />
<Language Code="tr" InMinimumRequirementSet="true" />
<Language Code="tr-tr" InMinimumRequirementSet="true" />
<Language Code="tt-arab" InMinimumRequirementSet="true" />
<Language Code="tt-cyrl" InMinimumRequirementSet="true" />
<Language Code="tt-latn" InMinimumRequirementSet="true" />
<Language Code="tt-ru" InMinimumRequirementSet="true" />
<Language Code="ug-arab" InMinimumRequirementSet="true" />
<Language Code="ug-cn" InMinimumRequirementSet="true" />
<Language Code="ug-cyrl" InMinimumRequirementSet="true" />
<Language Code="ug-latn" InMinimumRequirementSet="true" />
<Language Code="uk" InMinimumRequirementSet="true" />
<Language Code="uk-ua" InMinimumRequirementSet="true" />
<Language Code="ur" InMinimumRequirementSet="true" />
<Language Code="ur-pk" InMinimumRequirementSet="true" />
<Language Code="uz" InMinimumRequirementSet="true" />
<Language Code="uz-cyrl" InMinimumRequirementSet="true" />
<Language Code="uz-latn" InMinimumRequirementSet="true" />
<Language Code="uz-latn-uz" InMinimumRequirementSet="true" />
<Language Code="vi" InMinimumRequirementSet="true" />
<Language Code="vi-vn" InMinimumRequirementSet="true" />
<Language Code="wo" InMinimumRequirementSet="true" />
<Language Code="wo-sn" InMinimumRequirementSet="true" />
<Language Code="xh" InMinimumRequirementSet="true" />
<Language Code="xh-za" InMinimumRequirementSet="true" />
<Language Code="yo-latn" InMinimumRequirementSet="true" />
<Language Code="yo-ng" InMinimumRequirementSet="true" />
<Language Code="zh" InMinimumRequirementSet="true" />
<Language Code="zh-cn" InMinimumRequirementSet="true" />
<Language Code="zh-hans" InMinimumRequirementSet="true" />
<Language Code="zh-hans-cn" InMinimumRequirementSet="true" />
<Language Code="zh-hans-sg" InMinimumRequirementSet="true" />
<Language Code="zh-hant" InMinimumRequirementSet="true" />
<Language Code="zh-hant-hk" InMinimumRequirementSet="true" />
<Language Code="zh-hant-mo" InMinimumRequirementSet="true" />
<Language Code="zh-hant-tw" InMinimumRequirementSet="true" />
<Language Code="zh-hk" InMinimumRequirementSet="true" />
<Language Code="zh-mo" InMinimumRequirementSet="true" />
<Language Code="zh-sg" InMinimumRequirementSet="true" />
<Language Code="zh-tw" InMinimumRequirementSet="true" />
<Language Code="zu" InMinimumRequirementSet="true" />
<Language Code="zu-za" InMinimumRequirementSet="true" />
</SupportedLocales>
<ProductReservedInfo>
<MainPackageIdentityName>wismna.ModernKeePass</MainPackageIdentityName>
<ReservedNames>
<ReservedName>ModernKeePass</ReservedName>
</ReservedNames>
</ProductReservedInfo>
<AccountPackageIdentityNames />
<PackageInfoList LandingUrl="https://developer.microsoft.com/dashboard/Application?appId=9MWQ48ZK8NHV" />
</StoreAssociation>

View File

@@ -1,27 +0,0 @@
using Windows.ApplicationModel;
namespace ModernKeePass.ViewModels
{
public class AboutViewModel
{
private readonly Package _package;
public string Name => _package.DisplayName;
public string Version
{
get
{
var version = _package.Id.Version;
return $"{version.Major}.{version.Minor}";
}
}
public AboutViewModel() : this(Package.Current) { }
public AboutViewModel(Package package)
{
_package = package;
}
}
}

View File

@@ -1,99 +0,0 @@
using System;
using Windows.Storage;
using Windows.Storage.AccessCache;
using ModernKeePass.Converters;
using ModernKeePass.Domain.Entities;
using ModernKeePass.Domain.Enums;
using ModernKeePass.Domain.Interfaces;
namespace ModernKeePass.ViewModels
{
public class NewViewModel : OpenViewModel
{
private string _importFormatHelp;
private readonly IDatabaseService _databaseService;
private readonly IImportService _importService;
private readonly ISettingsService _settingsService;
public string Password { get; set; }
public bool IsImportChecked { get; set; }
public IStorageFile ImportFile { get; set; }
public string ImportFileExtensionFilter { get; set; } = "*";
public ImportFormat ImportFormat { get; set; }
public string ImportFormatHelp
{
get => _importFormatHelp;
set
{
_importFormatHelp = value;
OnPropertyChanged(nameof(ImportFormatHelp));
}
}
public NewViewModel()
{ }
public NewViewModel(IDatabaseService databaseService, IImportService importService, ISettingsService settingsService)
{
_databaseService = databaseService;
_importService = importService;
_settingsService = settingsService;
}
public void PopulateInitialData()
{
if (_settingsService.GetSetting<bool>("Sample") && !IsImportChecked) CreateSampleData(_databaseService.RootGroupEntity);
else if (IsImportChecked && ImportFile != null)
{
var token = StorageApplicationPermissions.FutureAccessList.Add(ImportFile);
_importService.Import(ImportFormat, token, _databaseService.RootGroupEntity);
StorageApplicationPermissions.FutureAccessList.Remove(token);
}
}
private void CreateSampleData(GroupEntity groupEntity)
{
var converter = new IconToSymbolConverter();
groupEntity.SubGroups.Add(new GroupEntity
{
Name = "Banking",
Icon = Icon.Calculator
});
groupEntity.SubGroups.Add(new GroupEntity
{
Name = "Email",
Icon = Icon.Mail
});
groupEntity.SubGroups.Add(new GroupEntity
{
Name = "Internet",
Icon = Icon.World
});
groupEntity.Entries.Add(new EntryEntity
{
Name = "Sample Entry",
UserName = "Username",
Url = new Uri("https://keepass.info"),
Password = "Password",
Notes = "You may safely delete this sample"
});
groupEntity.Entries.Add(new EntryEntity
{
Name = "Sample Entry #2",
UserName = "Michael321",
Url = new Uri("https://keepass.info/help/base/kb/testform.html"),
Password = "12345"
});
}
}
}

View File

@@ -1,44 +0,0 @@
using System.Threading.Tasks;
using Autofac;
using ModernKeePass.Domain.AOP;
using ModernKeePass.Domain.Dtos;
using ModernKeePass.Domain.Interfaces;
namespace ModernKeePass.ViewModels
{
public class OpenViewModel: NotifyPropertyChangedBase
{
private readonly IRecentService _recentService;
private string _name;
private string _databaseFilePath;
public bool IsFileSelected => !string.IsNullOrEmpty(DatabaseFilePath);
public string Name
{
get => _name;
private set => SetProperty(ref _name, value);
}
public string DatabaseFilePath
{
get => _databaseFilePath;
private set => SetProperty(ref _databaseFilePath, value);
}
public OpenViewModel(): this(App.Container.Resolve<IRecentService>())
{ }
public OpenViewModel(IRecentService recentService)
{
_recentService = recentService;
}
public async Task OpenFile(FileInfo fileInfo)
{
Name = fileInfo.Name;
DatabaseFilePath = fileInfo.Path;
OnPropertyChanged(nameof(IsFileSelected));
await _recentService.Add(fileInfo);
}
}
}

View File

@@ -1,69 +0,0 @@
using System.Collections.ObjectModel;
using System.Linq;
using System.Windows.Input;
using Autofac;
using ModernKeePass.Application.Common.Interfaces;
using ModernKeePass.Common;
using ModernKeePass.Domain.AOP;
using ModernKeePass.Domain.Interfaces;
using ModernKeePass.ViewModels.ListItems;
namespace ModernKeePass.ViewModels
{
public class RecentViewModel : NotifyPropertyChangedBase, IHasSelectableObject
{
private readonly IRecentService _recentService;
private ISelectableModel _selectedItem;
private ObservableCollection<RecentItemViewModel> _recentItems = new ObservableCollection<RecentItemViewModel>();
public ObservableCollection<RecentItemViewModel> RecentItems
{
get => _recentItems;
set => SetProperty(ref _recentItems, value);
}
public ISelectableModel SelectedItem
{
get => _selectedItem;
set
{
if (_selectedItem == value) return;
if (_selectedItem != null)
{
_selectedItem.IsSelected = false;
}
SetProperty(ref _selectedItem, value);
if (_selectedItem == null) return;
_selectedItem.IsSelected = true;
}
}
public ICommand ClearAllCommand { get; }
public RecentViewModel() : this (App.Container.Resolve<IRecentService>())
{ }
public RecentViewModel(IRecentService recentService)
{
_recentService = recentService;
ClearAllCommand = new RelayCommand(ClearAll);
RecentItems = new ObservableCollection<RecentItemViewModel>(
_recentService.GetAll().GetAwaiter().GetResult().Select(r => new RecentItemViewModel
{
Name = r.Name,
Token = r.Path
})
);
if (RecentItems.Count > 0) SelectedItem = RecentItems[0];
}
private void ClearAll()
{
_recentService.ClearAll();
RecentItems.Clear();
}
}
}

View File

@@ -1,31 +0,0 @@
using Autofac;
using ModernKeePass.Domain.Dtos;
using ModernKeePass.Domain.Interfaces;
namespace ModernKeePass.ViewModels
{
public class SaveViewModel
{
private readonly IDatabaseService _database;
public SaveViewModel() : this(App.Container.Resolve<IDatabaseService>()) { }
public SaveViewModel(IDatabaseService database)
{
_database = database;
}
public void Save(bool close = true)
{
_database.Save();
if (close) _database.Close();
}
public void Save(string token)
{
_database.SaveAs(new FileInfo
{
Path = token
});
}
}
}

View File

@@ -101,7 +101,6 @@
<DependentUpon>UpdateCredentialsUserControl.xaml</DependentUpon>
</Compile>
<Compile Include="Properties\Annotations.cs" />
<Compile Include="ViewModels\AboutViewModel.cs" />
<Compile Include="ViewModels\MainViewModel.cs" />
<Compile Include="ViewModels\EntriesViewModel.cs" />
<Compile Include="ViewModels\ListItems\EntryItemViewModel.cs" />
@@ -185,10 +184,6 @@
<DependentUpon>SaveDatabasePage.xaml</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ViewModels\NewViewModel.cs" />
<Compile Include="ViewModels\OpenViewModel.cs" />
<Compile Include="ViewModels\RecentViewModel.cs" />
<Compile Include="ViewModels\SaveViewModel.cs" />
<Compile Include="Views\UserControls\HamburgerMenuUserControl.xaml.cs">
<DependentUpon>HamburgerMenuUserControl.xaml</DependentUpon>
</Compile>
@@ -208,9 +203,6 @@
<PRIResource Include="Strings\en-US\CodeBehind.resw" />
<PRIResource Include="Strings\en-US\Resources.resw" />
</ItemGroup>
<ItemGroup>
<None Include="Package.StoreAssociation.xml" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
<Generator>MSBuild:Compile</Generator>