diff --git a/ModernKeePass.ViewModelTest/ModernKeePassApp.ViewModelTest.csproj b/ModernKeePass.ViewModelTest/ModernKeePassApp.ViewModelTest.csproj
index 13af2bb..4759d35 100644
--- a/ModernKeePass.ViewModelTest/ModernKeePassApp.ViewModelTest.csproj
+++ b/ModernKeePass.ViewModelTest/ModernKeePassApp.ViewModelTest.csproj
@@ -12,10 +12,6 @@
-
-
-
-
C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.18362.0\Windows.winmd
diff --git a/ModernKeePass.sln b/ModernKeePass.sln
index 9b93f70..982dc98 100644
--- a/ModernKeePass.sln
+++ b/ModernKeePass.sln
@@ -30,25 +30,27 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Infrastructure", "ModernKee
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ModernKeePass.KeePassDatabaseTests", "ModernKeePass.KeePassDatabaseTests\ModernKeePass.KeePassDatabaseTests.csproj", "{52FEA1EE-2FA7-4862-85FE-CB05893D439E}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Win10App", "ModernKeePass10\Win10App.csproj", "{D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ModernKeePassApp.ViewModelTest", "ModernKeePass.ViewModelTest\ModernKeePassApp.ViewModelTest.csproj", "{D978E25B-028C-446C-8143-D85563ECA914}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "WinAppCommon", "WinAppCommon\WinAppCommon.shproj", "{A66B7A53-1D8F-41E2-A8AB-840C81B1AA92}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Win10App", "Win10App\Win10App.csproj", "{9E44D7C8-AC6A-4331-B1BC-410B95032F7F}"
+EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
+ WinAppCommon\WinAppCommon.projitems*{9e44d7c8-ac6a-4331-b1bc-410b95032f7f}*SharedItemsImports = 4
WinAppCommon\WinAppCommon.projitems*{a0cfc681-769b-405a-8482-0cdee595a91f}*SharedItemsImports = 4
WinAppCommon\WinAppCommon.projitems*{a66b7a53-1d8f-41e2-a8ab-840c81b1aa92}*SharedItemsImports = 13
- WinAppCommon\WinAppCommon.projitems*{d16caff7-4187-45a8-a69e-d0658b7ac5bf}*SharedItemsImports = 4
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|ARM = Debug|ARM
+ Debug|ARM64 = Debug|ARM64
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|ARM = Release|ARM
+ Release|ARM64 = Release|ARM64
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
@@ -57,6 +59,7 @@ Global
{A0CFC681-769B-405A-8482-0CDEE595A91F}.Debug|ARM.ActiveCfg = Debug|ARM
{A0CFC681-769B-405A-8482-0CDEE595A91F}.Debug|ARM.Build.0 = Debug|ARM
{A0CFC681-769B-405A-8482-0CDEE595A91F}.Debug|ARM.Deploy.0 = Debug|ARM
+ {A0CFC681-769B-405A-8482-0CDEE595A91F}.Debug|ARM64.ActiveCfg = Debug|x86
{A0CFC681-769B-405A-8482-0CDEE595A91F}.Debug|x64.ActiveCfg = Debug|x64
{A0CFC681-769B-405A-8482-0CDEE595A91F}.Debug|x64.Build.0 = Debug|x64
{A0CFC681-769B-405A-8482-0CDEE595A91F}.Debug|x64.Deploy.0 = Debug|x64
@@ -67,6 +70,7 @@ Global
{A0CFC681-769B-405A-8482-0CDEE595A91F}.Release|ARM.ActiveCfg = Release|ARM
{A0CFC681-769B-405A-8482-0CDEE595A91F}.Release|ARM.Build.0 = Release|ARM
{A0CFC681-769B-405A-8482-0CDEE595A91F}.Release|ARM.Deploy.0 = Release|ARM
+ {A0CFC681-769B-405A-8482-0CDEE595A91F}.Release|ARM64.ActiveCfg = Release|x86
{A0CFC681-769B-405A-8482-0CDEE595A91F}.Release|x64.ActiveCfg = Release|x64
{A0CFC681-769B-405A-8482-0CDEE595A91F}.Release|x64.Build.0 = Release|x64
{A0CFC681-769B-405A-8482-0CDEE595A91F}.Release|x64.Deploy.0 = Release|x64
@@ -79,6 +83,7 @@ Global
{7E80F5E7-724A-4668-9333-B10F5D75C6D0}.Debug|ARM.ActiveCfg = Debug|ARM
{7E80F5E7-724A-4668-9333-B10F5D75C6D0}.Debug|ARM.Build.0 = Debug|ARM
{7E80F5E7-724A-4668-9333-B10F5D75C6D0}.Debug|ARM.Deploy.0 = Debug|ARM
+ {7E80F5E7-724A-4668-9333-B10F5D75C6D0}.Debug|ARM64.ActiveCfg = Debug|Any CPU
{7E80F5E7-724A-4668-9333-B10F5D75C6D0}.Debug|x64.ActiveCfg = Debug|x64
{7E80F5E7-724A-4668-9333-B10F5D75C6D0}.Debug|x64.Build.0 = Debug|x64
{7E80F5E7-724A-4668-9333-B10F5D75C6D0}.Debug|x64.Deploy.0 = Debug|x64
@@ -91,6 +96,7 @@ Global
{7E80F5E7-724A-4668-9333-B10F5D75C6D0}.Release|ARM.ActiveCfg = Release|ARM
{7E80F5E7-724A-4668-9333-B10F5D75C6D0}.Release|ARM.Build.0 = Release|ARM
{7E80F5E7-724A-4668-9333-B10F5D75C6D0}.Release|ARM.Deploy.0 = Release|ARM
+ {7E80F5E7-724A-4668-9333-B10F5D75C6D0}.Release|ARM64.ActiveCfg = Release|Any CPU
{7E80F5E7-724A-4668-9333-B10F5D75C6D0}.Release|x64.ActiveCfg = Release|x64
{7E80F5E7-724A-4668-9333-B10F5D75C6D0}.Release|x64.Build.0 = Release|x64
{7E80F5E7-724A-4668-9333-B10F5D75C6D0}.Release|x64.Deploy.0 = Release|x64
@@ -101,6 +107,8 @@ Global
{42353562-5E43-459C-8E3E-2F21E575261D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{42353562-5E43-459C-8E3E-2F21E575261D}.Debug|ARM.ActiveCfg = Debug|ARM
{42353562-5E43-459C-8E3E-2F21E575261D}.Debug|ARM.Build.0 = Debug|ARM
+ {42353562-5E43-459C-8E3E-2F21E575261D}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {42353562-5E43-459C-8E3E-2F21E575261D}.Debug|ARM64.Build.0 = Debug|Any CPU
{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|x86.ActiveCfg = Debug|x86
@@ -109,6 +117,8 @@ Global
{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.Build.0 = Release|ARM
+ {42353562-5E43-459C-8E3E-2F21E575261D}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {42353562-5E43-459C-8E3E-2F21E575261D}.Release|ARM64.Build.0 = Release|Any CPU
{42353562-5E43-459C-8E3E-2F21E575261D}.Release|x64.ActiveCfg = Release|x64
{42353562-5E43-459C-8E3E-2F21E575261D}.Release|x64.Build.0 = Release|x64
{42353562-5E43-459C-8E3E-2F21E575261D}.Release|x86.ActiveCfg = Release|Any CPU
@@ -117,6 +127,8 @@ Global
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Debug|ARM.ActiveCfg = Debug|ARM
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Debug|ARM.Build.0 = Debug|ARM
+ {9A0759F1-9069-4841-99E3-3BEC44E17356}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {9A0759F1-9069-4841-99E3-3BEC44E17356}.Debug|ARM64.Build.0 = Debug|Any CPU
{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|x86.ActiveCfg = Debug|x86
@@ -125,6 +137,8 @@ Global
{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.Build.0 = Release|ARM
+ {9A0759F1-9069-4841-99E3-3BEC44E17356}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {9A0759F1-9069-4841-99E3-3BEC44E17356}.Release|ARM64.Build.0 = Release|Any CPU
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Release|x64.ActiveCfg = Release|x64
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Release|x64.Build.0 = Release|x64
{9A0759F1-9069-4841-99E3-3BEC44E17356}.Release|x86.ActiveCfg = Release|Any CPU
@@ -133,6 +147,8 @@ Global
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Debug|ARM.ActiveCfg = Debug|ARM
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Debug|ARM.Build.0 = Debug|ARM
+ {09577E4C-4899-45B9-BF80-1803D617CCAE}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {09577E4C-4899-45B9-BF80-1803D617CCAE}.Debug|ARM64.Build.0 = Debug|Any CPU
{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|x86.ActiveCfg = Debug|x86
@@ -141,6 +157,8 @@ Global
{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.Build.0 = Release|ARM
+ {09577E4C-4899-45B9-BF80-1803D617CCAE}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {09577E4C-4899-45B9-BF80-1803D617CCAE}.Release|ARM64.Build.0 = Release|Any CPU
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Release|x64.ActiveCfg = Release|x64
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Release|x64.Build.0 = Release|x64
{09577E4C-4899-45B9-BF80-1803D617CCAE}.Release|x86.ActiveCfg = Release|Any CPU
@@ -149,6 +167,8 @@ Global
{52FEA1EE-2FA7-4862-85FE-CB05893D439E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{52FEA1EE-2FA7-4862-85FE-CB05893D439E}.Debug|ARM.ActiveCfg = Debug|Any CPU
{52FEA1EE-2FA7-4862-85FE-CB05893D439E}.Debug|ARM.Build.0 = Debug|Any CPU
+ {52FEA1EE-2FA7-4862-85FE-CB05893D439E}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {52FEA1EE-2FA7-4862-85FE-CB05893D439E}.Debug|ARM64.Build.0 = Debug|Any CPU
{52FEA1EE-2FA7-4862-85FE-CB05893D439E}.Debug|x64.ActiveCfg = Debug|Any CPU
{52FEA1EE-2FA7-4862-85FE-CB05893D439E}.Debug|x64.Build.0 = Debug|Any CPU
{52FEA1EE-2FA7-4862-85FE-CB05893D439E}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -157,34 +177,18 @@ Global
{52FEA1EE-2FA7-4862-85FE-CB05893D439E}.Release|Any CPU.Build.0 = Release|Any CPU
{52FEA1EE-2FA7-4862-85FE-CB05893D439E}.Release|ARM.ActiveCfg = Release|Any CPU
{52FEA1EE-2FA7-4862-85FE-CB05893D439E}.Release|ARM.Build.0 = Release|Any CPU
+ {52FEA1EE-2FA7-4862-85FE-CB05893D439E}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {52FEA1EE-2FA7-4862-85FE-CB05893D439E}.Release|ARM64.Build.0 = Release|Any CPU
{52FEA1EE-2FA7-4862-85FE-CB05893D439E}.Release|x64.ActiveCfg = Release|Any CPU
{52FEA1EE-2FA7-4862-85FE-CB05893D439E}.Release|x64.Build.0 = Release|Any CPU
{52FEA1EE-2FA7-4862-85FE-CB05893D439E}.Release|x86.ActiveCfg = Release|Any CPU
{52FEA1EE-2FA7-4862-85FE-CB05893D439E}.Release|x86.Build.0 = Release|Any CPU
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Debug|Any CPU.ActiveCfg = Debug|x86
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Debug|ARM.ActiveCfg = Debug|ARM
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Debug|ARM.Build.0 = Debug|ARM
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Debug|ARM.Deploy.0 = Debug|ARM
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Debug|x64.ActiveCfg = Debug|x64
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Debug|x64.Build.0 = Debug|x64
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Debug|x64.Deploy.0 = Debug|x64
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Debug|x86.ActiveCfg = Debug|x86
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Debug|x86.Build.0 = Debug|x86
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Debug|x86.Deploy.0 = Debug|x86
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Release|Any CPU.ActiveCfg = Release|x86
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Release|ARM.ActiveCfg = Release|ARM
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Release|ARM.Build.0 = Release|ARM
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Release|ARM.Deploy.0 = Release|ARM
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Release|x64.ActiveCfg = Release|x64
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Release|x64.Build.0 = Release|x64
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Release|x64.Deploy.0 = Release|x64
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Release|x86.ActiveCfg = Release|x86
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Release|x86.Build.0 = Release|x86
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}.Release|x86.Deploy.0 = Release|x86
{D978E25B-028C-446C-8143-D85563ECA914}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D978E25B-028C-446C-8143-D85563ECA914}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D978E25B-028C-446C-8143-D85563ECA914}.Debug|ARM.ActiveCfg = Debug|Any CPU
{D978E25B-028C-446C-8143-D85563ECA914}.Debug|ARM.Build.0 = Debug|Any CPU
+ {D978E25B-028C-446C-8143-D85563ECA914}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {D978E25B-028C-446C-8143-D85563ECA914}.Debug|ARM64.Build.0 = Debug|Any CPU
{D978E25B-028C-446C-8143-D85563ECA914}.Debug|x64.ActiveCfg = Debug|Any CPU
{D978E25B-028C-446C-8143-D85563ECA914}.Debug|x64.Build.0 = Debug|Any CPU
{D978E25B-028C-446C-8143-D85563ECA914}.Debug|x86.ActiveCfg = Debug|Any CPU
@@ -193,10 +197,38 @@ Global
{D978E25B-028C-446C-8143-D85563ECA914}.Release|Any CPU.Build.0 = Release|Any CPU
{D978E25B-028C-446C-8143-D85563ECA914}.Release|ARM.ActiveCfg = Release|Any CPU
{D978E25B-028C-446C-8143-D85563ECA914}.Release|ARM.Build.0 = Release|Any CPU
+ {D978E25B-028C-446C-8143-D85563ECA914}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {D978E25B-028C-446C-8143-D85563ECA914}.Release|ARM64.Build.0 = Release|Any CPU
{D978E25B-028C-446C-8143-D85563ECA914}.Release|x64.ActiveCfg = Release|Any CPU
{D978E25B-028C-446C-8143-D85563ECA914}.Release|x64.Build.0 = Release|Any CPU
{D978E25B-028C-446C-8143-D85563ECA914}.Release|x86.ActiveCfg = Release|Any CPU
{D978E25B-028C-446C-8143-D85563ECA914}.Release|x86.Build.0 = Release|Any CPU
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Debug|Any CPU.ActiveCfg = Debug|x86
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Debug|ARM.ActiveCfg = Debug|ARM
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Debug|ARM.Build.0 = Debug|ARM
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Debug|ARM.Deploy.0 = Debug|ARM
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Debug|ARM64.ActiveCfg = Debug|ARM64
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Debug|ARM64.Build.0 = Debug|ARM64
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Debug|ARM64.Deploy.0 = Debug|ARM64
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Debug|x64.ActiveCfg = Debug|x64
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Debug|x64.Build.0 = Debug|x64
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Debug|x64.Deploy.0 = Debug|x64
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Debug|x86.ActiveCfg = Debug|x86
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Debug|x86.Build.0 = Debug|x86
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Debug|x86.Deploy.0 = Debug|x86
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Release|Any CPU.ActiveCfg = Release|x86
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Release|ARM.ActiveCfg = Release|ARM
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Release|ARM.Build.0 = Release|ARM
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Release|ARM.Deploy.0 = Release|ARM
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Release|ARM64.ActiveCfg = Release|ARM64
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Release|ARM64.Build.0 = Release|ARM64
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Release|ARM64.Deploy.0 = Release|ARM64
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Release|x64.ActiveCfg = Release|x64
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Release|x64.Build.0 = Release|x64
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Release|x64.Deploy.0 = Release|x64
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Release|x86.ActiveCfg = Release|x86
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Release|x86.Build.0 = Release|x86
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}.Release|x86.Deploy.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -209,9 +241,9 @@ Global
{9A0759F1-9069-4841-99E3-3BEC44E17356} = {0B30588B-07B8-4A88-A268-F58D06EA1627}
{09577E4C-4899-45B9-BF80-1803D617CCAE} = {0B30588B-07B8-4A88-A268-F58D06EA1627}
{52FEA1EE-2FA7-4862-85FE-CB05893D439E} = {107C7C00-56F4-41B0-A8CC-0156C46A3650}
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF} = {C7DB9A6F-77A8-4FE5-83CB-9C11F7100647}
{D978E25B-028C-446C-8143-D85563ECA914} = {107C7C00-56F4-41B0-A8CC-0156C46A3650}
{A66B7A53-1D8F-41E2-A8AB-840C81B1AA92} = {C7DB9A6F-77A8-4FE5-83CB-9C11F7100647}
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F} = {C7DB9A6F-77A8-4FE5-83CB-9C11F7100647}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0ADC1BC6-B1CA-427D-A97C-3CA40AAB0428}
diff --git a/ModernKeePass/App.xaml.cs b/ModernKeePass/App.xaml.cs
index 61019f2..45ec9cb 100644
--- a/ModernKeePass/App.xaml.cs
+++ b/ModernKeePass/App.xaml.cs
@@ -175,8 +175,6 @@ namespace ModernKeePass
private async void OnResuming(object sender, object e)
{
- var currentFrame = Window.Current.Content as Frame;
-
try
{
await _mediator.Send(new ReOpenDatabaseQuery());
diff --git a/ModernKeePass/ResourceDictionaries/NoBorderButtonStyle.xaml b/ModernKeePass/ResourceDictionaries/NoBorderButtonStyle.xaml
index 340fedc..1145921 100644
--- a/ModernKeePass/ResourceDictionaries/NoBorderButtonStyle.xaml
+++ b/ModernKeePass/ResourceDictionaries/NoBorderButtonStyle.xaml
@@ -3,8 +3,8 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/ModernKeePass/ResourceDictionaries/TextBoxWithButtonStyle.xaml b/ModernKeePass/ResourceDictionaries/TextBoxWithButtonStyle.xaml
index c494d7c..07c518f 100644
--- a/ModernKeePass/ResourceDictionaries/TextBoxWithButtonStyle.xaml
+++ b/ModernKeePass/ResourceDictionaries/TextBoxWithButtonStyle.xaml
@@ -5,8 +5,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Visible
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ BorderThickness="{TemplateBinding BorderThickness}">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -413,7 +402,7 @@
-
+
@@ -446,8 +435,8 @@
-
-
+
+
@@ -497,18 +486,15 @@
+ VerticalAlignment="Center">
@@ -521,9 +507,7 @@
-
+
@@ -105,9 +105,9 @@
-
+
-
+
@@ -116,7 +116,7 @@
-
+
@@ -169,7 +169,7 @@
-
+
@@ -213,19 +213,16 @@
-
+ VerticalAlignment="Center">
@@ -238,10 +235,8 @@
+ Command="{Binding GoToParentCommand}" />
-
+
diff --git a/ModernKeePass/Views/MainPageFrames/AboutPage.xaml b/ModernKeePass/Views/MainPageFrames/AboutPage.xaml
index 8592766..f4db0f7 100644
--- a/ModernKeePass/Views/MainPageFrames/AboutPage.xaml
+++ b/ModernKeePass/Views/MainPageFrames/AboutPage.xaml
@@ -22,7 +22,7 @@
-
+
diff --git a/ModernKeePass/Views/MainPageFrames/NewDatabasePage.xaml b/ModernKeePass/Views/MainPageFrames/NewDatabasePage.xaml
index 756cd32..0b94592 100644
--- a/ModernKeePass/Views/MainPageFrames/NewDatabasePage.xaml
+++ b/ModernKeePass/Views/MainPageFrames/NewDatabasePage.xaml
@@ -13,7 +13,7 @@
-
+
diff --git a/ModernKeePass/Views/MainPageFrames/OpenDatabasePage.xaml b/ModernKeePass/Views/MainPageFrames/OpenDatabasePage.xaml
index f75ecf2..0e595c2 100644
--- a/ModernKeePass/Views/MainPageFrames/OpenDatabasePage.xaml
+++ b/ModernKeePass/Views/MainPageFrames/OpenDatabasePage.xaml
@@ -13,7 +13,7 @@
-
+
diff --git a/ModernKeePass/Views/MainPageFrames/RecentDatabasesPage.xaml b/ModernKeePass/Views/MainPageFrames/RecentDatabasesPage.xaml
index 62f31af..23b77fe 100644
--- a/ModernKeePass/Views/MainPageFrames/RecentDatabasesPage.xaml
+++ b/ModernKeePass/Views/MainPageFrames/RecentDatabasesPage.xaml
@@ -16,7 +16,7 @@
-
+
diff --git a/ModernKeePass/Views/MainPageFrames/SaveDatabasePage.xaml b/ModernKeePass/Views/MainPageFrames/SaveDatabasePage.xaml
index b4c6c85..362ed6f 100644
--- a/ModernKeePass/Views/MainPageFrames/SaveDatabasePage.xaml
+++ b/ModernKeePass/Views/MainPageFrames/SaveDatabasePage.xaml
@@ -8,11 +8,11 @@
DataContext="{Binding Source={StaticResource Locator}, Path=Save}">
-
+
-
+
-
+
diff --git a/ModernKeePass/Views/SettingsPageFrames/SettingsDatabasePage.xaml b/ModernKeePass/Views/SettingsPageFrames/SettingsDatabasePage.xaml
index 43e2e17..37d9ac9 100644
--- a/ModernKeePass/Views/SettingsPageFrames/SettingsDatabasePage.xaml
+++ b/ModernKeePass/Views/SettingsPageFrames/SettingsDatabasePage.xaml
@@ -19,17 +19,17 @@
-
+
-
+
-
+
-
+
diff --git a/ModernKeePass/Views/SettingsPageFrames/SettingsNewDatabasePage.xaml b/ModernKeePass/Views/SettingsPageFrames/SettingsNewDatabasePage.xaml
index 07dd10a..476cf76 100644
--- a/ModernKeePass/Views/SettingsPageFrames/SettingsNewDatabasePage.xaml
+++ b/ModernKeePass/Views/SettingsPageFrames/SettingsNewDatabasePage.xaml
@@ -12,7 +12,7 @@
-
+
@@ -20,7 +20,7 @@
-
+
diff --git a/ModernKeePass/Views/SettingsPageFrames/SettingsSavePage.xaml b/ModernKeePass/Views/SettingsPageFrames/SettingsSavePage.xaml
index a9ace0c..cddeb5e 100644
--- a/ModernKeePass/Views/SettingsPageFrames/SettingsSavePage.xaml
+++ b/ModernKeePass/Views/SettingsPageFrames/SettingsSavePage.xaml
@@ -10,6 +10,6 @@
-
+
diff --git a/ModernKeePass/Views/UserControls/BreadCrumbUserControl.xaml b/ModernKeePass/Views/UserControls/BreadCrumbUserControl.xaml
index d1a9dcc..724f06b 100644
--- a/ModernKeePass/Views/UserControls/BreadCrumbUserControl.xaml
+++ b/ModernKeePass/Views/UserControls/BreadCrumbUserControl.xaml
@@ -16,11 +16,7 @@
-
+
@@ -33,7 +29,7 @@
-
+
diff --git a/ModernKeePass/Views/UserControls/ColorPickerUserControl.xaml b/ModernKeePass/Views/UserControls/ColorPickerUserControl.xaml
index ba2d02c..c432cdf 100644
--- a/ModernKeePass/Views/UserControls/ColorPickerUserControl.xaml
+++ b/ModernKeePass/Views/UserControls/ColorPickerUserControl.xaml
@@ -9,8 +9,6 @@
ItemsSource="{Binding Colors, ElementName=UserControl}"
SelectionChanged="Selector_OnSelectionChanged"
Loaded="ComboBox_Loaded"
- ItemContainerStyle="{StaticResource MainColorComboBoxItem}"
- Style="{StaticResource MainColorComboBox}"
IsEnabled="{Binding IsEnabled, ElementName=UserControl}">
diff --git a/ModernKeePass/Views/UserControls/HamburgerMenuUserControl.xaml b/ModernKeePass/Views/UserControls/HamburgerMenuUserControl.xaml
index 1543e3d..956ad50 100644
--- a/ModernKeePass/Views/UserControls/HamburgerMenuUserControl.xaml
+++ b/ModernKeePass/Views/UserControls/HamburgerMenuUserControl.xaml
@@ -21,7 +21,7 @@
IsSynchronizedWithCurrentItem="False"
RequestedTheme="Dark"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
- Foreground="{ThemeResource DefaultTextForegroundThemeBrush}"
+ Foreground="{ThemeResource TextColorLightBrush}"
ItemContainerStyle="{StaticResource ListViewLeftIndicatorItemExpanded}">
@@ -77,6 +77,7 @@
Visibility="{Binding IsButtonVisible, ElementName=UserControl}"
Style="{StaticResource NoBorderButtonStyle}"
Background="Transparent"
+ Foreground="{ThemeResource TextColorLightBrush}"
BorderThickness="0"
Width="{StaticResource ExpandedMenuSize}"
HorizontalContentAlignment="Left"
@@ -90,7 +91,14 @@
-
+
@@ -105,7 +113,15 @@
-
+
diff --git a/ModernKeePass/Views/UserControls/OpenDatabaseUserControl.xaml b/ModernKeePass/Views/UserControls/OpenDatabaseUserControl.xaml
index cdbde1a..0ddb85b 100644
--- a/ModernKeePass/Views/UserControls/OpenDatabaseUserControl.xaml
+++ b/ModernKeePass/Views/UserControls/OpenDatabaseUserControl.xaml
@@ -24,7 +24,7 @@
-
+
@@ -35,13 +35,11 @@
+ Click="KeyFileButton_Click" />
+ CommandParameter="{Binding DatabaseFilePath, ElementName=UserControl}" />
-
+
-
+
+ Click="KeyFileButton_Click" />
@@ -57,8 +55,7 @@
+ Content="{Binding ButtonLabel, ElementName=UserControl}" />
+ Loaded="ComboBox_OnLoaded">
diff --git a/ModernKeePass/Views/UserControls/TopMenuUserControl.xaml b/ModernKeePass/Views/UserControls/TopMenuUserControl.xaml
index 22c730a..26d816e 100644
--- a/ModernKeePass/Views/UserControls/TopMenuUserControl.xaml
+++ b/ModernKeePass/Views/UserControls/TopMenuUserControl.xaml
@@ -8,7 +8,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Visible
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ModernKeePass10/Views/Old/EntryDetailPage.xaml.cs b/ModernKeePass10/Views/Old/EntryDetailPage.xaml.cs
deleted file mode 100644
index 65abfff..0000000
--- a/ModernKeePass10/Views/Old/EntryDetailPage.xaml.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-using Windows.UI.Xaml;
-using Windows.UI.Xaml.Controls;
-using Windows.UI.Xaml.Navigation;
-using ModernKeePass.Common;
-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
-
-namespace ModernKeePass.Views
-{
- ///
- /// Page affichant les détails d'un élément au sein d'un groupe, offrant la possibilité de
- /// consulter les autres éléments qui appartiennent au même groupe.
- ///
- public sealed partial class EntryDetailPage
- {
- public EntryVm Model => (EntryVm) DataContext;
-
- ///
- /// NavigationHelper est utilisé sur chaque page pour faciliter la navigation et
- /// gestion de la durée de vie des processus
- ///
- public NavigationHelper NavigationHelper { get; }
-
- public EntryDetailPage()
- {
- InitializeComponent();
- NavigationHelper = new NavigationHelper(this);
- }
-
- #region Inscription de NavigationHelper
-
- /// Les méthodes fournies dans cette section sont utilisées simplement pour permettre
- /// NavigationHelper pour répondre aux méthodes de navigation de la page.
- ///
- /// La logique spécifique à la page doit être placée dans les gestionnaires d'événements pour
- ///
- /// et .
- /// 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)
- {
- NavigationHelper.OnNavigatedTo(e);
- if (!(e.Parameter is EntryVm)) return;
- DataContext = (EntryVm)e.Parameter;
- }
-
- protected override void OnNavigatedFrom(NavigationEventArgs e)
- {
- NavigationHelper.OnNavigatedFrom(e);
- Model.Reset();
- }
-
- #endregion
-
- private void EntryDetailPage_OnSizeChanged(object sender, SizeChangedEventArgs e)
- {
- VisualStateManager.GoToState(this, e.NewSize.Width < 700 ? "Small" : "Large", true);
- VisualStateManager.GoToState(TopMenu, e.NewSize.Width < 800 ? "Collapsed" : "Overflowed", true);
- }
-
- private void HamburgerMenuUserControl_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- var listView = sender as ListView;
- switch (listView?.SelectedIndex)
- {
- case -1:
- return;
- default:
- var entry = listView?.SelectedItem as EntryVm;
- StackPanel.DataContext = entry;
- TopGrid.DataContext = entry;
- break;
- }
- }
- }
-}
diff --git a/ModernKeePass10/Views/Old/GroupDetailPage.xaml b/ModernKeePass10/Views/Old/GroupDetailPage.xaml
deleted file mode 100644
index 220d9e7..0000000
--- a/ModernKeePass10/Views/Old/GroupDetailPage.xaml
+++ /dev/null
@@ -1,326 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ModernKeePass10/Views/Old/GroupDetailPage.xaml.cs b/ModernKeePass10/Views/Old/GroupDetailPage.xaml.cs
deleted file mode 100644
index 6431cd7..0000000
--- a/ModernKeePass10/Views/Old/GroupDetailPage.xaml.cs
+++ /dev/null
@@ -1,142 +0,0 @@
-using System;
-using System.Linq;
-using Windows.ApplicationModel.DataTransfer;
-using Windows.Storage.Streams;
-using Windows.UI.Xaml;
-using Windows.UI.Xaml.Controls;
-using Windows.UI.Xaml.Navigation;
-using ModernKeePass.Common;
-using ModernKeePass.Events;
-using ModernKeePass.ViewModels;
-
-// The Group Detail Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234229
-
-namespace ModernKeePass.Views
-{
- ///
- /// A page that displays an overview of a single group, including a preview of the items
- /// within the group.
- ///
- public sealed partial class GroupDetailPage
- {
- ///
- /// NavigationHelper is used on each page to aid in navigation and
- /// process lifetime management
- ///
- public NavigationHelper NavigationHelper { get; }
- public GroupVm Model => (GroupVm)DataContext;
-
- public GroupDetailPage()
- {
- InitializeComponent();
- NavigationHelper = new NavigationHelper(this);
- }
-
- #region NavigationHelper registration
-
- /// The methods provided in this section are simply used to allow
- /// NavigationHelper to respond to the page's navigation methods.
- ///
- /// Page specific logic should be placed in event handlers for the
- ///
- /// and .
- /// The navigation parameter is available in the LoadState method
- /// in addition to page state preserved during an earlier session.
- ///
- protected override void OnNavigatedTo(NavigationEventArgs e)
- {
- NavigationHelper.OnNavigatedTo(e);
-
- if (e.Parameter is PasswordEventArgs args)
- DataContext = args.RootGroup;
- else
- {
- if (e.Parameter is GroupVm vm)
- DataContext = vm;
- }
- }
-
- protected override void OnNavigatedFrom(NavigationEventArgs e)
- {
- NavigationHelper.OnNavigatedFrom(e);
- }
-
- #endregion
-
- #region Event Handlers
-
- private void groups_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- var listView = sender as ListView;
- switch (listView?.SelectedIndex)
- {
- case -1:
- return;
- default:
- var group = listView?.SelectedItem as GroupVm;
- Frame.Navigate(typeof(GroupDetailPage), group);
- break;
- }
- }
-
- private void entries_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- switch (GridView.SelectedIndex)
- {
- case -1:
- return;
- default:
- var entry = GridView.SelectedItem as EntryVm;
- Frame.Navigate(typeof(EntryDetailPage), entry);
- break;
- }
- }
-
- private void SemanticZoom_ViewChangeStarted(object sender, SemanticZoomViewChangedEventArgs e)
- {
- // We need to synchronize the two lists (zoomed-in and zoomed-out) because the source is different
- if (!e.IsSourceZoomedInView)
- {
- e.DestinationItem.Item = e.SourceItem.Item;
- }
- }
- private void CreateEntry_ButtonClick(object sender, RoutedEventArgs e)
- {
- Frame.Navigate(typeof(EntryDetailPage), Model.AddNewEntry());
- }
- private void CreateGroup_ButtonClick(object sender, RoutedEventArgs e)
- {
- Frame.Navigate(typeof(GroupDetailPage), Model.AddNewGroup());
- }
-
- private void GridView_DragItemsStarting(object sender, DragItemsStartingEventArgs e)
- {
- e.Cancel = !Model.IsEditMode;
- e.Data.RequestedOperation = DataPackageOperation.Move;
- }
-
- private 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.Name.IndexOf(args.QueryText, StringComparison.OrdinalIgnoreCase) >= 0).Take(5);
- foreach (var result in results)
- {
- args.Request.SearchSuggestionCollection.AppendResultSuggestion(result.Name, result.ParentGroup.Name, result.Id, imageUri, string.Empty);
- }
- }
-
- private void SearchBox_OnResultSuggestionChosen(SearchBox sender, SearchBoxResultSuggestionChosenEventArgs args)
- {
- var entry = Model.SubEntries.FirstOrDefault(e => e.Id == args.Tag);
- Frame.Navigate(typeof(EntryDetailPage), entry);
- }
-
- private void GroupDetailPage_OnSizeChanged(object sender, SizeChangedEventArgs e)
- {
- VisualStateManager.GoToState(this, e.NewSize.Width < 800 ? "Small" : "Large", true);
- VisualStateManager.GoToState(TopMenu, e.NewSize.Width < 800 ? "Collapsed" : "Overflowed", true);
- }
-
- #endregion
- }
-}
diff --git a/ModernKeePass10/Views/Old/MainPage.xaml b/ModernKeePass10/Views/Old/MainPage.xaml
deleted file mode 100644
index 6afd265..0000000
--- a/ModernKeePass10/Views/Old/MainPage.xaml
+++ /dev/null
@@ -1,148 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ModernKeePass10/Views/Old/MainPage.xaml.cs b/ModernKeePass10/Views/Old/MainPage.xaml.cs
deleted file mode 100644
index 481c9c1..0000000
--- a/ModernKeePass10/Views/Old/MainPage.xaml.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-using Windows.Storage;
-using Windows.UI.Xaml.Controls;
-using Windows.UI.Xaml.Navigation;
-using ModernKeePass.ViewModels;
-using ModernKeePass.ViewModels.ListItems;
-
-// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
-
-namespace ModernKeePass.Views
-{
- ///
- /// An empty page that can be used on its own or navigated to within a Frame.
- ///
- public sealed partial class MainPage
- {
- public new MainVm Model => (MainVm)DataContext;
-
- public MainPage()
- {
- InitializeComponent();
- ListView = MenuListView;
- ListViewSource = MenuItemsSource;
- }
-
- private new void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- base.ListView_SelectionChanged(sender, e);
-
- if (!(Model.SelectedItem is MainMenuItemViewModel selectedItem)) MenuFrame.Navigate(typeof(WelcomePage));
- else selectedItem.Destination.Navigate(selectedItem.PageType, selectedItem.Parameter);
- }
-
- protected override void OnNavigatedTo(NavigationEventArgs e)
- {
- base.OnNavigatedTo(e);
- var file = e.Parameter as StorageFile;
- DataContext = new MainVm(Frame, MenuFrame, file);
- }
- }
-}
diff --git a/ModernKeePass10/Views/Old/SettingsPage.xaml b/ModernKeePass10/Views/Old/SettingsPage.xaml
deleted file mode 100644
index 18de4ff..0000000
--- a/ModernKeePass10/Views/Old/SettingsPage.xaml
+++ /dev/null
@@ -1,147 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ModernKeePass10/Views/Old/SettingsPage.xaml.cs b/ModernKeePass10/Views/Old/SettingsPage.xaml.cs
deleted file mode 100644
index effae3b..0000000
--- a/ModernKeePass10/Views/Old/SettingsPage.xaml.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using Windows.UI.Xaml.Controls;
-using ModernKeePass.ViewModels;
-using ModernKeePass.ViewModels.ListItems;
-
-// The Split Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234234
-
-namespace ModernKeePass.Views
-{
- ///
- /// A page that displays a group title, a list of items within the group, and details for
- /// the currently selected item.
- ///
- public sealed partial class SettingsPage
- {
- public new SettingsViewModel Model => (SettingsViewModel)DataContext;
-
- public SettingsPage()
- {
- InitializeComponent();
- ListView = MenuListView;
- ListViewSource = MenuItemsSource;
- }
-
- private new void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- base.ListView_SelectionChanged(sender, e);
- var selectedItem = Model.SelectedItem as ListMenuItemViewModel;
- MenuFrame?.Navigate(selectedItem == null ? typeof(SettingsWelcomePage) : selectedItem.PageType);
- }
- }
-}
diff --git a/ModernKeePass10/Win10App.csproj b/ModernKeePass10/Win10App.csproj
deleted file mode 100644
index 2e4a7a1..0000000
--- a/ModernKeePass10/Win10App.csproj
+++ /dev/null
@@ -1,558 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Debug
- x86
- UAP
- {D16CAFF7-4187-45A8-A69E-D0658B7AC5BF}
- AppContainerExe
- Properties
- ModernKeePass
- ModernKeePass
- en-US
- true
- 10.0.18362.0
- 10.0.17763.0
- 14
- 512
- {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- ModernKeePass_StoreKey.pfx
- ED3AA34F46D03498F989901C5DB2742B65D72F60
- True
- neutral
- Always
- win10-arm;win10-arm-aot;win10-x86;win10-x86-aot;win10-x64;win10-x64-aot
-
-
-
-
- true
- bin\ARM\Debug\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_APP
- ;2008
- full
- ARM
- false
- prompt
- true
-
-
- bin\ARM\Release\
- TRACE;NETFX_CORE;WINDOWS_APP
- true
- ;2008
- pdbonly
- ARM
- false
- prompt
- true
- true
-
-
- true
- bin\x64\Debug\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_APP
- ;2008
- full
- x64
- false
- prompt
- true
-
-
- bin\x64\Release\
- TRACE;NETFX_CORE;WINDOWS_APP
- true
- ;2008
- pdbonly
- x64
- false
- prompt
- true
- true
-
-
- true
- bin\x86\Debug\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_APP
- ;2008
- full
- x86
- false
- prompt
- true
-
-
- bin\x86\Release\
- TRACE;NETFX_CORE;WINDOWS_APP
- true
- ;2008
- pdbonly
- x86
- false
- prompt
- true
- true
-
-
-
- App.xaml
-
-
-
- UpdateCredentialsUserControl.xaml
-
-
-
-
-
-
-
-
-
- EntriesPage.xaml
-
-
- EntryPage.xaml
-
-
- GroupsPage.xaml
-
-
- MainPage10.xaml
-
-
- DonatePage.xaml
-
-
-
- ImportExportPage.xaml
-
-
- SettingsPage10.xaml
-
-
- SettingsDatabasePage.xaml
-
-
- SettingsNewDatabasePage.xaml
-
-
- SettingsSavePage.xaml
-
-
- SettingsSecurityPage.xaml
-
-
- SettingsWelcomePage.xaml
-
-
- BreadCrumbUserControl.xaml
-
-
- ColorPickerUserControl.xaml
-
-
- CredentialsUserControl.xaml
-
-
- MainPage.xaml
-
-
- AboutPage.xaml
-
-
- NewDatabasePage.xaml
-
-
- SettingsPage.xaml
-
-
- WelcomePage.xaml
-
-
- EntryDetailPage.xaml
-
-
- GroupDetailPage.xaml
-
-
- OpenDatabasePage.xaml
-
-
- RecentDatabasesPage.xaml
-
-
- SaveDatabasePage.xaml
-
-
-
- HamburgerMenuUserControl.xaml
-
-
- SymbolPickerUserControl.xaml
-
-
- TopMenuUserControl.xaml
-
-
-
-
- Designer
-
-
-
-
-
-
-
-
- MSBuild:Compile
- Designer
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
- PreserveNewest
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- MSBuild:Compile
- Designer
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
- PreserveNewest
-
-
- Designer
- MSBuild:Compile
- PreserveNewest
-
-
- Designer
- MSBuild:Compile
- PreserveNewest
-
-
- Designer
- MSBuild:Compile
- PreserveNewest
-
-
- Designer
- MSBuild:Compile
- PreserveNewest
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
-
-
- Designer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {42353562-5e43-459c-8e3e-2f21e575261d}
- Application
-
-
- {9a0759f1-9069-4841-99e3-3bec44e17356}
- Domain
-
-
- {09577e4c-4899-45b9-bf80-1803d617ccae}
- Infrastructure
-
-
-
-
-
-
-
- ..\packages\AutoMapper.Extensions.Microsoft.DependencyInjection.7.0.0\lib\netstandard2.0\AutoMapper.Extensions.Microsoft.DependencyInjection.dll
- True
-
-
- ..\packages\Microsoft.AppCenter.Crashes.3.2.1\lib\uap10.0\Microsoft.AppCenter.Crashes.dll
- True
-
-
- ..\packages\SQLitePCLRaw.bundle_green.2.0.2\lib\netstandard2.0\SQLitePCLRaw.batteries_v2.dll
- True
-
-
- ..\packages\SQLitePCLRaw.core.2.0.2\lib\netstandard2.0\SQLitePCLRaw.core.dll
- True
-
-
- ..\packages\SQLitePCLRaw.provider.e_sqlite3.2.0.2\lib\uap10.0\SQLitePCLRaw.provider.e_sqlite3.dll
- True
-
-
- ..\packages\System.Reflection.Emit.4.7.0\lib\netcore50\System.Reflection.Emit.dll
- True
-
-
- ..\packages\System.Reflection.Emit.ILGeneration.4.7.0\lib\netcore50\System.Reflection.Emit.ILGeneration.dll
- True
-
-
-
-
- 14.0
-
-
-
-
-
- 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}.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ModernKeePass10/packages.config b/ModernKeePass10/packages.config
deleted file mode 100644
index 1fab11b..0000000
--- a/ModernKeePass10/packages.config
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ModernKeePass10/App.xaml b/Win10App/App.xaml
similarity index 91%
rename from ModernKeePass10/App.xaml
rename to Win10App/App.xaml
index 74c3611..8798c96 100644
--- a/ModernKeePass10/App.xaml
+++ b/Win10App/App.xaml
@@ -2,6 +2,7 @@
x:Class="ModernKeePass.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:viewModels="using:ModernKeePass.ViewModels"
RequestedTheme="Light">
@@ -15,6 +16,7 @@
+
diff --git a/ModernKeePass10/App.xaml.cs b/Win10App/App.xaml.cs
similarity index 97%
rename from ModernKeePass10/App.xaml.cs
rename to Win10App/App.xaml.cs
index 4d7dadb..07f91d8 100644
--- a/ModernKeePass10/App.xaml.cs
+++ b/Win10App/App.xaml.cs
@@ -26,7 +26,6 @@ using ModernKeePass.Common;
using ModernKeePass.Domain.Dtos;
using ModernKeePass.Domain.Exceptions;
using ModernKeePass.Infrastructure;
-using ModernKeePass.Views;
// The Blank Application template is documented at http://go.microsoft.com/fwlink/?LinkId=234227
@@ -84,7 +83,7 @@ namespace ModernKeePass
#region Event Handlers
- private async void OnUnhandledException(object sender, UnhandledExceptionEventArgs unhandledExceptionEventArgs)
+ private async void OnUnhandledException(object sender, Windows.UI.Xaml.UnhandledExceptionEventArgs unhandledExceptionEventArgs)
{
// Save the argument exception because it's cleared on first access
var exception = unhandledExceptionEventArgs.Exception;
@@ -184,8 +183,6 @@ namespace ModernKeePass
private async void OnResuming(object sender, object e)
{
- var currentFrame = Window.Current.Content as Frame;
-
try
{
await _mediator.Send(new ReOpenDatabaseQuery());
@@ -195,7 +192,7 @@ namespace ModernKeePass
}
catch (Exception)
{
- currentFrame?.Navigate(typeof(MainPage10));
+ _navigation.NavigateTo(Constants.Navigation.MainPage);
#if DEBUG
_notification.Show("App resumed", "Nothing to do, no previous database opened");
#endif
diff --git a/Win10App/Assets/LockScreenLogo.scale-200.png b/Win10App/Assets/LockScreenLogo.scale-200.png
new file mode 100644
index 0000000..735f57a
Binary files /dev/null and b/Win10App/Assets/LockScreenLogo.scale-200.png differ
diff --git a/ModernKeePass10/Assets/Logo.scale-100.png b/Win10App/Assets/Logo.scale-100.png
similarity index 100%
rename from ModernKeePass10/Assets/Logo.scale-100.png
rename to Win10App/Assets/Logo.scale-100.png
diff --git a/ModernKeePass10/Assets/Logo.scale-140.png b/Win10App/Assets/Logo.scale-140.png
similarity index 100%
rename from ModernKeePass10/Assets/Logo.scale-140.png
rename to Win10App/Assets/Logo.scale-140.png
diff --git a/ModernKeePass10/Assets/Logo.scale-180.png b/Win10App/Assets/Logo.scale-180.png
similarity index 100%
rename from ModernKeePass10/Assets/Logo.scale-180.png
rename to Win10App/Assets/Logo.scale-180.png
diff --git a/ModernKeePass10/Assets/Logo.scale-80.png b/Win10App/Assets/Logo.scale-80.png
similarity index 100%
rename from ModernKeePass10/Assets/Logo.scale-80.png
rename to Win10App/Assets/Logo.scale-80.png
diff --git a/ModernKeePass10/Assets/ModernKeePass-SmallLogo.scale-100.png b/Win10App/Assets/ModernKeePass-SmallLogo.scale-100.png
similarity index 100%
rename from ModernKeePass10/Assets/ModernKeePass-SmallLogo.scale-100.png
rename to Win10App/Assets/ModernKeePass-SmallLogo.scale-100.png
diff --git a/ModernKeePass10/Assets/ModernKeePass-SmallLogo.scale-140.png b/Win10App/Assets/ModernKeePass-SmallLogo.scale-140.png
similarity index 100%
rename from ModernKeePass10/Assets/ModernKeePass-SmallLogo.scale-140.png
rename to Win10App/Assets/ModernKeePass-SmallLogo.scale-140.png
diff --git a/ModernKeePass10/Assets/ModernKeePass-SmallLogo.scale-180.png b/Win10App/Assets/ModernKeePass-SmallLogo.scale-180.png
similarity index 100%
rename from ModernKeePass10/Assets/ModernKeePass-SmallLogo.scale-180.png
rename to Win10App/Assets/ModernKeePass-SmallLogo.scale-180.png
diff --git a/ModernKeePass10/Assets/ModernKeePass-SmallLogo.scale-80.png b/Win10App/Assets/ModernKeePass-SmallLogo.scale-80.png
similarity index 100%
rename from ModernKeePass10/Assets/ModernKeePass-SmallLogo.scale-80.png
rename to Win10App/Assets/ModernKeePass-SmallLogo.scale-80.png
diff --git a/ModernKeePass10/Assets/ModernKeePass-SmallLogo.targetsize-16.png b/Win10App/Assets/ModernKeePass-SmallLogo.targetsize-16.png
similarity index 100%
rename from ModernKeePass10/Assets/ModernKeePass-SmallLogo.targetsize-16.png
rename to Win10App/Assets/ModernKeePass-SmallLogo.targetsize-16.png
diff --git a/ModernKeePass10/Assets/ModernKeePass-SmallLogo.targetsize-256.png b/Win10App/Assets/ModernKeePass-SmallLogo.targetsize-256.png
similarity index 100%
rename from ModernKeePass10/Assets/ModernKeePass-SmallLogo.targetsize-256.png
rename to Win10App/Assets/ModernKeePass-SmallLogo.targetsize-256.png
diff --git a/ModernKeePass10/Assets/ModernKeePass-SmallLogo.targetsize-32.png b/Win10App/Assets/ModernKeePass-SmallLogo.targetsize-32.png
similarity index 100%
rename from ModernKeePass10/Assets/ModernKeePass-SmallLogo.targetsize-32.png
rename to Win10App/Assets/ModernKeePass-SmallLogo.targetsize-32.png
diff --git a/ModernKeePass10/Assets/ModernKeePass-SmallLogo.targetsize-48.png b/Win10App/Assets/ModernKeePass-SmallLogo.targetsize-48.png
similarity index 100%
rename from ModernKeePass10/Assets/ModernKeePass-SmallLogo.targetsize-48.png
rename to Win10App/Assets/ModernKeePass-SmallLogo.targetsize-48.png
diff --git a/ModernKeePass10/Assets/ModernKeePass-SplashScreen.scale-100.png b/Win10App/Assets/ModernKeePass-SplashScreen.scale-100.png
similarity index 100%
rename from ModernKeePass10/Assets/ModernKeePass-SplashScreen.scale-100.png
rename to Win10App/Assets/ModernKeePass-SplashScreen.scale-100.png
diff --git a/ModernKeePass10/Assets/ModernKeePass-SplashScreen.scale-140.png b/Win10App/Assets/ModernKeePass-SplashScreen.scale-140.png
similarity index 100%
rename from ModernKeePass10/Assets/ModernKeePass-SplashScreen.scale-140.png
rename to Win10App/Assets/ModernKeePass-SplashScreen.scale-140.png
diff --git a/ModernKeePass10/Assets/ModernKeePass-SplashScreen.scale-180.png b/Win10App/Assets/ModernKeePass-SplashScreen.scale-180.png
similarity index 100%
rename from ModernKeePass10/Assets/ModernKeePass-SplashScreen.scale-180.png
rename to Win10App/Assets/ModernKeePass-SplashScreen.scale-180.png
diff --git a/ModernKeePass10/Assets/SmallLogo.scale-100.png b/Win10App/Assets/SmallLogo.scale-100.png
similarity index 100%
rename from ModernKeePass10/Assets/SmallLogo.scale-100.png
rename to Win10App/Assets/SmallLogo.scale-100.png
diff --git a/ModernKeePass10/Assets/SmallLogo.scale-140.png b/Win10App/Assets/SmallLogo.scale-140.png
similarity index 100%
rename from ModernKeePass10/Assets/SmallLogo.scale-140.png
rename to Win10App/Assets/SmallLogo.scale-140.png
diff --git a/ModernKeePass10/Assets/SmallLogo.scale-180.png b/Win10App/Assets/SmallLogo.scale-180.png
similarity index 100%
rename from ModernKeePass10/Assets/SmallLogo.scale-180.png
rename to Win10App/Assets/SmallLogo.scale-180.png
diff --git a/ModernKeePass10/Assets/SmallLogo.scale-80.png b/Win10App/Assets/SmallLogo.scale-80.png
similarity index 100%
rename from ModernKeePass10/Assets/SmallLogo.scale-80.png
rename to Win10App/Assets/SmallLogo.scale-80.png
diff --git a/ModernKeePass10/Assets/SmallLogo.targetsize-16.png b/Win10App/Assets/SmallLogo.targetsize-16.png
similarity index 100%
rename from ModernKeePass10/Assets/SmallLogo.targetsize-16.png
rename to Win10App/Assets/SmallLogo.targetsize-16.png
diff --git a/ModernKeePass10/Assets/SmallLogo.targetsize-256.png b/Win10App/Assets/SmallLogo.targetsize-256.png
similarity index 100%
rename from ModernKeePass10/Assets/SmallLogo.targetsize-256.png
rename to Win10App/Assets/SmallLogo.targetsize-256.png
diff --git a/ModernKeePass10/Assets/SmallLogo.targetsize-32.png b/Win10App/Assets/SmallLogo.targetsize-32.png
similarity index 100%
rename from ModernKeePass10/Assets/SmallLogo.targetsize-32.png
rename to Win10App/Assets/SmallLogo.targetsize-32.png
diff --git a/ModernKeePass10/Assets/SmallLogo.targetsize-48.png b/Win10App/Assets/SmallLogo.targetsize-48.png
similarity index 100%
rename from ModernKeePass10/Assets/SmallLogo.targetsize-48.png
rename to Win10App/Assets/SmallLogo.targetsize-48.png
diff --git a/ModernKeePass10/Assets/SplashScreen.scale-100.png b/Win10App/Assets/SplashScreen.scale-100.png
similarity index 100%
rename from ModernKeePass10/Assets/SplashScreen.scale-100.png
rename to Win10App/Assets/SplashScreen.scale-100.png
diff --git a/ModernKeePass10/Assets/SplashScreen.scale-140.png b/Win10App/Assets/SplashScreen.scale-140.png
similarity index 100%
rename from ModernKeePass10/Assets/SplashScreen.scale-140.png
rename to Win10App/Assets/SplashScreen.scale-140.png
diff --git a/ModernKeePass10/Assets/SplashScreen.scale-180.png b/Win10App/Assets/SplashScreen.scale-180.png
similarity index 100%
rename from ModernKeePass10/Assets/SplashScreen.scale-180.png
rename to Win10App/Assets/SplashScreen.scale-180.png
diff --git a/Win10App/Assets/SplashScreen.scale-200.png b/Win10App/Assets/SplashScreen.scale-200.png
new file mode 100644
index 0000000..023e7f1
Binary files /dev/null and b/Win10App/Assets/SplashScreen.scale-200.png differ
diff --git a/Win10App/Assets/Square150x150Logo.scale-200.png b/Win10App/Assets/Square150x150Logo.scale-200.png
new file mode 100644
index 0000000..af49fec
Binary files /dev/null and b/Win10App/Assets/Square150x150Logo.scale-200.png differ
diff --git a/ModernKeePass10/Assets/Square310x310Logo.scale-100.png b/Win10App/Assets/Square310x310Logo.scale-100.png
similarity index 100%
rename from ModernKeePass10/Assets/Square310x310Logo.scale-100.png
rename to Win10App/Assets/Square310x310Logo.scale-100.png
diff --git a/ModernKeePass10/Assets/Square310x310Logo.scale-140.png b/Win10App/Assets/Square310x310Logo.scale-140.png
similarity index 100%
rename from ModernKeePass10/Assets/Square310x310Logo.scale-140.png
rename to Win10App/Assets/Square310x310Logo.scale-140.png
diff --git a/ModernKeePass10/Assets/Square310x310Logo.scale-180.png b/Win10App/Assets/Square310x310Logo.scale-180.png
similarity index 100%
rename from ModernKeePass10/Assets/Square310x310Logo.scale-180.png
rename to Win10App/Assets/Square310x310Logo.scale-180.png
diff --git a/ModernKeePass10/Assets/Square310x310Logo.scale-80.png b/Win10App/Assets/Square310x310Logo.scale-80.png
similarity index 100%
rename from ModernKeePass10/Assets/Square310x310Logo.scale-80.png
rename to Win10App/Assets/Square310x310Logo.scale-80.png
diff --git a/Win10App/Assets/Square44x44Logo.scale-200.png b/Win10App/Assets/Square44x44Logo.scale-200.png
new file mode 100644
index 0000000..ce342a2
Binary files /dev/null and b/Win10App/Assets/Square44x44Logo.scale-200.png differ
diff --git a/Win10App/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/Win10App/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
new file mode 100644
index 0000000..f6c02ce
Binary files /dev/null and b/Win10App/Assets/Square44x44Logo.targetsize-24_altform-unplated.png differ
diff --git a/ModernKeePass10/Assets/Square70x70Logo.scale-100.png b/Win10App/Assets/Square70x70Logo.scale-100.png
similarity index 100%
rename from ModernKeePass10/Assets/Square70x70Logo.scale-100.png
rename to Win10App/Assets/Square70x70Logo.scale-100.png
diff --git a/ModernKeePass10/Assets/Square70x70Logo.scale-140.png b/Win10App/Assets/Square70x70Logo.scale-140.png
similarity index 100%
rename from ModernKeePass10/Assets/Square70x70Logo.scale-140.png
rename to Win10App/Assets/Square70x70Logo.scale-140.png
diff --git a/ModernKeePass10/Assets/Square70x70Logo.scale-180.png b/Win10App/Assets/Square70x70Logo.scale-180.png
similarity index 100%
rename from ModernKeePass10/Assets/Square70x70Logo.scale-180.png
rename to Win10App/Assets/Square70x70Logo.scale-180.png
diff --git a/ModernKeePass10/Assets/Square70x70Logo.scale-80.png b/Win10App/Assets/Square70x70Logo.scale-80.png
similarity index 100%
rename from ModernKeePass10/Assets/Square70x70Logo.scale-80.png
rename to Win10App/Assets/Square70x70Logo.scale-80.png
diff --git a/Win10App/Assets/StoreLogo.png b/Win10App/Assets/StoreLogo.png
new file mode 100644
index 0000000..7385b56
Binary files /dev/null and b/Win10App/Assets/StoreLogo.png differ
diff --git a/ModernKeePass10/Assets/StoreLogo.scale-100.png b/Win10App/Assets/StoreLogo.scale-100.png
similarity index 100%
rename from ModernKeePass10/Assets/StoreLogo.scale-100.png
rename to Win10App/Assets/StoreLogo.scale-100.png
diff --git a/ModernKeePass10/Assets/StoreLogo.scale-140.png b/Win10App/Assets/StoreLogo.scale-140.png
similarity index 100%
rename from ModernKeePass10/Assets/StoreLogo.scale-140.png
rename to Win10App/Assets/StoreLogo.scale-140.png
diff --git a/ModernKeePass10/Assets/StoreLogo.scale-180.png b/Win10App/Assets/StoreLogo.scale-180.png
similarity index 100%
rename from ModernKeePass10/Assets/StoreLogo.scale-180.png
rename to Win10App/Assets/StoreLogo.scale-180.png
diff --git a/ModernKeePass10/Assets/Wide310x150Logo.scale-100.png b/Win10App/Assets/Wide310x150Logo.scale-100.png
similarity index 100%
rename from ModernKeePass10/Assets/Wide310x150Logo.scale-100.png
rename to Win10App/Assets/Wide310x150Logo.scale-100.png
diff --git a/ModernKeePass10/Assets/Wide310x150Logo.scale-140.png b/Win10App/Assets/Wide310x150Logo.scale-140.png
similarity index 100%
rename from ModernKeePass10/Assets/Wide310x150Logo.scale-140.png
rename to Win10App/Assets/Wide310x150Logo.scale-140.png
diff --git a/ModernKeePass10/Assets/Wide310x150Logo.scale-180.png b/Win10App/Assets/Wide310x150Logo.scale-180.png
similarity index 100%
rename from ModernKeePass10/Assets/Wide310x150Logo.scale-180.png
rename to Win10App/Assets/Wide310x150Logo.scale-180.png
diff --git a/Win10App/Assets/Wide310x150Logo.scale-200.png b/Win10App/Assets/Wide310x150Logo.scale-200.png
new file mode 100644
index 0000000..288995b
Binary files /dev/null and b/Win10App/Assets/Wide310x150Logo.scale-200.png differ
diff --git a/ModernKeePass10/Assets/Wide310x150Logo.scale-80.png b/Win10App/Assets/Wide310x150Logo.scale-80.png
similarity index 100%
rename from ModernKeePass10/Assets/Wide310x150Logo.scale-80.png
rename to Win10App/Assets/Wide310x150Logo.scale-80.png
diff --git a/ModernKeePass10/DependencyInjection.cs b/Win10App/DependencyInjection.cs
similarity index 95%
rename from ModernKeePass10/DependencyInjection.cs
rename to Win10App/DependencyInjection.cs
index 280f719..966271e 100644
--- a/ModernKeePass10/DependencyInjection.cs
+++ b/Win10App/DependencyInjection.cs
@@ -28,10 +28,10 @@ namespace ModernKeePass
});
services.AddTransient(typeof(IDialogService), typeof(DialogService));
- services.AddSingleton(provider =>
+ /*services.AddSingleton(provider =>
{
- });
+ });*/
return services;
}
diff --git a/Win10App/Package.appxmanifest b/Win10App/Package.appxmanifest
new file mode 100644
index 0000000..26881ef
--- /dev/null
+++ b/Win10App/Package.appxmanifest
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+ Win10App
+ GeoffroyBONNEVILLE
+ Assets\StoreLogo.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ModernKeePass10/Properties/AssemblyInfo.cs b/Win10App/Properties/AssemblyInfo.cs
similarity index 66%
rename from ModernKeePass10/Properties/AssemblyInfo.cs
rename to Win10App/Properties/AssemblyInfo.cs
index 3fe678c..c26fd35 100644
--- a/ModernKeePass10/Properties/AssemblyInfo.cs
+++ b/Win10App/Properties/AssemblyInfo.cs
@@ -1,15 +1,16 @@
using System.Reflection;
+using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
-[assembly: AssemblyTitle("ModernKeePass")]
-[assembly: AssemblyDescription("A port of KeePass 2.x to Modern UI as a Windows Store application")]
+[assembly: AssemblyTitle("Win10App")]
+[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("wismna")]
-[assembly: AssemblyProduct("ModernKeePass")]
-[assembly: AssemblyCopyright("Copyright © 2018")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Win10App")]
+[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -23,6 +24,6 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.14.0.0")]
-[assembly: AssemblyFileVersion("1.14.0.0")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: ComVisible(false)]
\ No newline at end of file
diff --git a/Win10App/Properties/Default.rd.xml b/Win10App/Properties/Default.rd.xml
new file mode 100644
index 0000000..af00722
--- /dev/null
+++ b/Win10App/Properties/Default.rd.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ModernKeePass10/ResourceDictionaries/HamburgerButtonStyle.xaml b/Win10App/ResourceDictionaries/HamburgerButtonStyle.xaml
similarity index 100%
rename from ModernKeePass10/ResourceDictionaries/HamburgerButtonStyle.xaml
rename to Win10App/ResourceDictionaries/HamburgerButtonStyle.xaml
diff --git a/ModernKeePass10/ResourceDictionaries/ListViewLeftIndicatorStyle.xaml b/Win10App/ResourceDictionaries/ListViewLeftIndicatorStyle.xaml
similarity index 100%
rename from ModernKeePass10/ResourceDictionaries/ListViewLeftIndicatorStyle.xaml
rename to Win10App/ResourceDictionaries/ListViewLeftIndicatorStyle.xaml
diff --git a/ModernKeePass10/ResourceDictionaries/MasterDetailsView.xaml b/Win10App/ResourceDictionaries/MasterDetailsView.xaml
similarity index 100%
rename from ModernKeePass10/ResourceDictionaries/MasterDetailsView.xaml
rename to Win10App/ResourceDictionaries/MasterDetailsView.xaml
diff --git a/ModernKeePass10/ResourceDictionaries/NoBorderButtonStyle.xaml b/Win10App/ResourceDictionaries/NoBorderButtonStyle.xaml
similarity index 100%
rename from ModernKeePass10/ResourceDictionaries/NoBorderButtonStyle.xaml
rename to Win10App/ResourceDictionaries/NoBorderButtonStyle.xaml
diff --git a/ModernKeePass10/ResourceDictionaries/NoBorderToggleButtonStyle.xaml b/Win10App/ResourceDictionaries/NoBorderToggleButtonStyle.xaml
similarity index 100%
rename from ModernKeePass10/ResourceDictionaries/NoBorderToggleButtonStyle.xaml
rename to Win10App/ResourceDictionaries/NoBorderToggleButtonStyle.xaml
diff --git a/ModernKeePass10/ResourceDictionaries/Styles.xaml b/Win10App/ResourceDictionaries/Styles.xaml
similarity index 100%
rename from ModernKeePass10/ResourceDictionaries/Styles.xaml
rename to Win10App/ResourceDictionaries/Styles.xaml
diff --git a/ModernKeePass10/ResourceDictionaries/TextBoxWithButtonStyle.xaml b/Win10App/ResourceDictionaries/TextBoxWithButtonStyle.xaml
similarity index 100%
rename from ModernKeePass10/ResourceDictionaries/TextBoxWithButtonStyle.xaml
rename to Win10App/ResourceDictionaries/TextBoxWithButtonStyle.xaml
diff --git a/ModernKeePass10/Strings/en-US/CodeBehind.resw b/Win10App/Strings/en-US/CodeBehind.resw
similarity index 100%
rename from ModernKeePass10/Strings/en-US/CodeBehind.resw
rename to Win10App/Strings/en-US/CodeBehind.resw
diff --git a/ModernKeePass10/Strings/en-US/Resources.resw b/Win10App/Strings/en-US/Resources.resw
similarity index 100%
rename from ModernKeePass10/Strings/en-US/Resources.resw
rename to Win10App/Strings/en-US/Resources.resw
diff --git a/ModernKeePass10/Strings/fr-FR/CodeBehind.resw b/Win10App/Strings/fr-FR/CodeBehind.resw
similarity index 100%
rename from ModernKeePass10/Strings/fr-FR/CodeBehind.resw
rename to Win10App/Strings/fr-FR/CodeBehind.resw
diff --git a/ModernKeePass10/Strings/fr-FR/Resources.resw b/Win10App/Strings/fr-FR/Resources.resw
similarity index 100%
rename from ModernKeePass10/Strings/fr-FR/Resources.resw
rename to Win10App/Strings/fr-FR/Resources.resw
diff --git a/Win10App/ViewModels/EntriesVm.cs b/Win10App/ViewModels/EntriesVm.cs
new file mode 100644
index 0000000..0bd9b21
--- /dev/null
+++ b/Win10App/ViewModels/EntriesVm.cs
@@ -0,0 +1,116 @@
+using System.Collections.ObjectModel;
+using System.Collections.Specialized;
+using System.Threading.Tasks;
+using GalaSoft.MvvmLight;
+using GalaSoft.MvvmLight.Views;
+using MediatR;
+using ModernKeePass.Application.Common.Interfaces;
+using ModernKeePass.Application.Entry.Models;
+using ModernKeePass.Application.Group.Commands.AddEntry;
+using ModernKeePass.Application.Group.Commands.CreateEntry;
+using ModernKeePass.Application.Group.Commands.DeleteEntry;
+using ModernKeePass.Application.Group.Commands.MoveEntry;
+using ModernKeePass.Application.Group.Models;
+using ModernKeePass.Application.Group.Queries.GetGroup;
+using ModernKeePass.ViewModels.ListItems;
+
+namespace ModernKeePass.ViewModels
+{
+ public class EntriesVm : ViewModelBase
+ {
+ private readonly IMediator _mediator;
+ private readonly INavigationService _navigation;
+ private readonly INotificationService _notification;
+ private readonly IDialogService _dialog;
+ private readonly IResourceProxy _resource;
+
+ private GroupVm _parentGroup;
+ private EntryItemVm _reorderedEntry;
+ private EntryItemVm _selectedEntry;
+
+ public ObservableCollection Entries { get; set; }
+
+ public EntryItemVm SelectedEntry
+ {
+ get => _selectedEntry;
+ set => Set(() => SelectedEntry, ref _selectedEntry, value);
+ }
+
+ public EntriesVm(IMediator mediator, INavigationService navigation, INotificationService notification, IDialogService dialog, IResourceProxy resource)
+ {
+ _mediator = mediator;
+ _navigation = navigation;
+ _notification = notification;
+ _dialog = dialog;
+ _resource = resource;
+ }
+
+ public async Task Initialize(string groupId)
+ {
+ _parentGroup = await _mediator.Send(new GetGroupQuery {Id = groupId});
+ Entries = new ObservableCollection(_parentGroup.Entries);
+ Entries.CollectionChanged += EntriesOnCollectionChanged;
+ }
+
+ private async void EntriesOnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
+ {
+ switch (e.Action)
+ {
+ case NotifyCollectionChangedAction.Remove:
+ var oldIndex = e.OldStartingIndex;
+ _reorderedEntry = Entries[oldIndex];
+ break;
+ case NotifyCollectionChangedAction.Add:
+ if (_reorderedEntry == null)
+ {
+ var entry = (EntryVm)e.NewItems[0];
+ await _mediator.Send(new AddEntryCommand { EntryId = entry.Id, ParentGroupId = _parentGroup.Id });
+ }
+ else
+ {
+ await _mediator.Send(new MoveEntryCommand { Entry = _reorderedEntry, ParentGroup = _parentGroup, Index = e.NewStartingIndex });
+ }
+ break;
+ }
+ }
+
+ private async Task AskForDelete(EntryItemVm entry)
+ {
+ if (IsRecycleOnDelete)
+ {
+ await Delete(entry);
+ _notification.Show(_resource.GetResourceValue("EntryRecyclingConfirmation"), _resource.GetResourceValue("EntryRecycled"));
+ }
+ else
+ {
+ await _dialog.ShowMessage(_resource.GetResourceValue("EntryDeletingConfirmation"),
+ _resource.GetResourceValue("EntityDeleteTitle"),
+ _resource.GetResourceValue("EntityDeleteActionButton"),
+ _resource.GetResourceValue("EntityDeleteCancelButton"),
+ async isOk =>
+ {
+ if (isOk) await Delete(entry);
+ });
+ }
+ }
+
+ private async Task Delete(EntryItemVm entry)
+ {
+ await _mediator.Send(new DeleteEntryCommand
+ {
+ EntryId = entry.Id,
+ ParentGroupId = _parentGroup.Id,
+ RecycleBinName = _resource.GetResourceValue("RecycleBinTitle")
+ });
+ Entries.Remove(entry);
+ }
+
+ public async Task AddNewEntry(string text)
+ {
+ var entry = await _mediator.Send(new CreateEntryCommand { ParentGroup = _parentGroup });
+ entry.Title = text;
+ Entries.Add(entry);
+ SelectedEntry = entry;
+ }
+ }
+}
\ No newline at end of file
diff --git a/ModernKeePass10/ViewModels/GroupsViewModel.cs b/Win10App/ViewModels/GroupsVm.cs
similarity index 70%
rename from ModernKeePass10/ViewModels/GroupsViewModel.cs
rename to Win10App/ViewModels/GroupsVm.cs
index 5f40e70..ffd847b 100644
--- a/ModernKeePass10/ViewModels/GroupsViewModel.cs
+++ b/Win10App/ViewModels/GroupsVm.cs
@@ -7,7 +7,7 @@ using ModernKeePass.ViewModels.ListItems;
namespace ModernKeePass.ViewModels
{
- public class GroupsViewModel : NotifyPropertyChangedBase
+ public class GroupsVm : NotifyPropertyChangedBase
{
private string _title;
private string _newGroupName;
@@ -33,15 +33,15 @@ namespace ModernKeePass.ViewModels
}
}
- public GroupItemViewModel RootItemViewModel { get; set; }
+ public GroupItemVm RootItemVm { get; set; }
- public GroupsViewModel(): this(App.Container.Resolve().RootGroupEntity)
+ public GroupsVm(): this(App.Container.Resolve().RootGroupEntity)
{ }
- public GroupsViewModel(GroupEntity groupEntity)
+ public GroupsVm(GroupEntity groupEntity)
{
Title = groupEntity.Name;
- RootItemViewModel = new GroupItemViewModel(groupEntity, null);
+ RootItemVm = new GroupItemVm(groupEntity, null);
}
public void AddNewGroup(string groupName = "")
@@ -51,7 +51,7 @@ namespace ModernKeePass.ViewModels
Name = groupName,
Icon = Icon.Folder,
};
- RootItemViewModel.Children.Add(new GroupItemViewModel(group, RootItemViewModel));
+ RootItemVm.Children.Add(new GroupItemVm(group, RootItemVm));
}
}
}
\ No newline at end of file
diff --git a/ModernKeePass10/ViewModels/ListItems/EntryItemViewModel.cs b/Win10App/ViewModels/ListItems/EntryItemVm.cs
similarity index 85%
rename from ModernKeePass10/ViewModels/ListItems/EntryItemViewModel.cs
rename to Win10App/ViewModels/ListItems/EntryItemVm.cs
index 4d027c5..03bf1d2 100644
--- a/ModernKeePass10/ViewModels/ListItems/EntryItemViewModel.cs
+++ b/Win10App/ViewModels/ListItems/EntryItemVm.cs
@@ -1,20 +1,18 @@
using System;
using System.Collections.Generic;
using Windows.UI;
-using Autofac;
-using ModernKeePass.Domain.AOP;
using ModernKeePass.Domain.Entities;
using ModernKeePass.Domain.Enums;
using ModernKeePass.Domain.Interfaces;
namespace ModernKeePass.ViewModels.ListItems
{
- public class EntryItemViewModel : NotifyPropertyChangedBase
+ public class EntryItemVm : NotifyPropertyChangedBase
{
private readonly ISecurityService _securityService;
public EntryEntity EntryEntity { get; }
- public GroupItemViewModel Parent { get; }
+ public GroupItemVm Parent { get; }
public bool HasExpired => HasExpirationDate && EntryEntity.ExpirationDate < DateTime.Now;
@@ -116,14 +114,14 @@ namespace ModernKeePass.ViewModels.ListItems
}
}
- public IEnumerable History
+ public IEnumerable History
{
get
{
- var history = new Stack();
+ var history = new Stack();
foreach (var historyEntry in EntryEntity.History)
{
- history.Push(new EntryItemViewModel(_securityService, historyEntry, Parent));
+ history.Push(new EntryItemVm(_securityService, historyEntry, Parent));
}
history.Push(this);
@@ -132,10 +130,10 @@ namespace ModernKeePass.ViewModels.ListItems
}
public Dictionary AdditionalFields => EntryEntity.AdditionalFields;
- public EntryItemViewModel(EntryEntity entryEntity, GroupItemViewModel parentGroup): this(App.Container.Resolve(), entryEntity, parentGroup)
+ public EntryItemVm(EntryEntity entryEntity, GroupItemVm parentGroup): this(App.Container.Resolve(), entryEntity, parentGroup)
{ }
- public EntryItemViewModel(ISecurityService securityService, EntryEntity entryEntity, GroupItemViewModel parentGroup)
+ public EntryItemVm(ISecurityService securityService, EntryEntity entryEntity, GroupItemVm parentGroup)
{
_securityService = securityService;
EntryEntity = entryEntity;
diff --git a/ModernKeePass10/ViewModels/ListItems/GroupItemViewModel.cs b/Win10App/ViewModels/ListItems/GroupItemVm.cs
similarity index 69%
rename from ModernKeePass10/ViewModels/ListItems/GroupItemViewModel.cs
rename to Win10App/ViewModels/ListItems/GroupItemVm.cs
index 8806192..02716dc 100644
--- a/ModernKeePass10/ViewModels/ListItems/GroupItemViewModel.cs
+++ b/Win10App/ViewModels/ListItems/GroupItemVm.cs
@@ -1,22 +1,20 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
-using Autofac;
-using ModernKeePass.Domain.AOP;
using ModernKeePass.Domain.Entities;
using ModernKeePass.Domain.Enums;
using ModernKeePass.Domain.Interfaces;
namespace ModernKeePass.ViewModels.ListItems
{
- public class GroupItemViewModel: NotifyPropertyChangedBase
+ public class GroupItemVm: NotifyPropertyChangedBase
{
private readonly IDatabaseService _databaseService;
//private Group _reorderedGroup;
private bool _isEditMode;
public GroupEntity GroupEntity { get; }
- public GroupItemViewModel ParentViewModel { get; }
+ public GroupItemVm ParentVm { get; }
public bool IsEditMode
{
@@ -38,11 +36,11 @@ namespace ModernKeePass.ViewModels.ListItems
}
}
- public IEnumerable SubEntries
+ public IEnumerable SubEntries
{
get
{
- var subEntries = new List();
+ var subEntries = new List();
subEntries.AddRange(Entries);
foreach (var group in Children)
{
@@ -54,27 +52,27 @@ namespace ModernKeePass.ViewModels.ListItems
}
public Icon Symbol => GroupEntity.Icon;
- public List Entries { get; }
- public ObservableCollection Children { get; set; } = new ObservableCollection();
+ public List Entries { get; }
+ public ObservableCollection Children { get; set; } = new ObservableCollection();
- public GroupItemViewModel(GroupEntity groupEntity, GroupItemViewModel parent): this(App.Container.Resolve(), groupEntity, parent)
+ public GroupItemVm(GroupEntity groupEntity, GroupItemVm parent): this(App.Container.Resolve(), groupEntity, parent)
{ }
- public GroupItemViewModel(IDatabaseService databaseService, GroupEntity groupEntity, GroupItemViewModel parentViewModel)
+ public GroupItemVm(IDatabaseService databaseService, GroupEntity groupEntity, GroupItemVm parentVm)
{
_databaseService = databaseService;
GroupEntity = groupEntity;
- ParentViewModel = parentViewModel;
+ ParentVm = parentVm;
- Entries = new List();
+ Entries = new List();
foreach (var entry in groupEntity.Entries)
{
- Entries.Add(new EntryItemViewModel(entry, this));
+ Entries.Add(new EntryItemVm(entry, this));
}
foreach (var subGroup in groupEntity.SubGroups)
{
- Children.Add(new GroupItemViewModel(subGroup, this));
+ Children.Add(new GroupItemVm(subGroup, this));
}
Children.CollectionChanged += Children_CollectionChanged;
}
@@ -93,7 +91,7 @@ namespace ModernKeePass.ViewModels.ListItems
case NotifyCollectionChangedAction.Add:
/*if (_reorderedGroup == null) Group.AddGroup(((GroupItem)e.NewItems[0]).Group, true);
else Group.Groups.Insert((uint)e.NewStartingIndex, _reorderedGroup);*/
- _databaseService.AddEntity(ParentViewModel.GroupEntity, (Entity)e.NewItems[0]);
+ _databaseService.AddEntity(ParentVm.GroupEntity, (Entity)e.NewItems[0]);
break;
}
}
diff --git a/Win10App/ViewModels/MainVm.cs b/Win10App/ViewModels/MainVm.cs
new file mode 100644
index 0000000..438689e
--- /dev/null
+++ b/Win10App/ViewModels/MainVm.cs
@@ -0,0 +1,24 @@
+using Windows.Storage;
+using MediatR;
+using ModernKeePass.Application.Common.Interfaces;
+using ModernKeePass.Application.Database.Queries.GetDatabase;
+
+namespace ModernKeePass.ViewModels
+{
+ public class MainVm
+ {
+ public bool IsDatabaseOpened { get; }
+ public bool HasRecentItems { get; }
+
+ public string OpenedDatabaseName { get; }
+ public IStorageFile File { get; set; }
+
+ public MainVm(IMediator mediator, IRecentProxy recent)
+ {
+ var database = mediator.Send(new GetDatabaseQuery()).GetAwaiter().GetResult();
+ IsDatabaseOpened = database.IsOpen;
+ OpenedDatabaseName = database.Name;
+ HasRecentItems = recent.EntryCount > 0;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Win10App/ViewModels/SettingsVm.cs b/Win10App/ViewModels/SettingsVm.cs
new file mode 100644
index 0000000..7b98e88
--- /dev/null
+++ b/Win10App/ViewModels/SettingsVm.cs
@@ -0,0 +1,16 @@
+using MediatR;
+using ModernKeePass.Application.Database.Queries.GetDatabase;
+
+namespace ModernKeePass.ViewModels
+{
+ public class SettingsVm
+ {
+ public bool IsDatabaseOpened { get; }
+
+ public SettingsVm(IMediator mediator)
+ {
+ var database = mediator.Send(new GetDatabaseQuery()).GetAwaiter().GetResult();
+ IsDatabaseOpened = database.IsOpen;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Win10App/ViewModels/ViewModelLocator.cs b/Win10App/ViewModels/ViewModelLocator.cs
new file mode 100644
index 0000000..f6c680e
--- /dev/null
+++ b/Win10App/ViewModels/ViewModelLocator.cs
@@ -0,0 +1,48 @@
+/*
+ In App.xaml:
+
+
+
+
+ In the View:
+ DataContext="{Binding Source={StaticResource Locator}, Path=ViewModelName}"
+
+ You can also use Blend to do all this with the tool's support.
+ See http://www.galasoft.ch/mvvm
+*/
+
+using System;
+using CommonServiceLocator;
+using GalaSoft.MvvmLight.Ioc;
+using ModernKeePass.ViewModels.ListItems;
+
+namespace ModernKeePass.ViewModels
+{
+ ///
+ /// This class contains static references to all the view models in the
+ /// application and provides an entry point for the bindings.
+ ///
+ public class ViewModelLocator : ViewModelLocatorCommon
+ {
+ ///
+ /// Initializes a new instance of the ViewModelLocator class.
+ ///
+ public ViewModelLocator()
+ {
+ SimpleIoc.Default.Register();
+ SimpleIoc.Default.Register();
+ SimpleIoc.Default.Register();
+ SimpleIoc.Default.Register();
+ SimpleIoc.Default.Register();
+ SimpleIoc.Default.Register();
+ }
+
+ public MainVm Main => ServiceLocator.Current.GetInstance(Guid.NewGuid().ToString());
+ public SettingsVm Settings => ServiceLocator.Current.GetInstance(Guid.NewGuid().ToString());
+ public GroupsVm Groups => ServiceLocator.Current.GetInstance(Guid.NewGuid().ToString());
+ public EntriesVm Entries => ServiceLocator.Current.GetInstance(Guid.NewGuid().ToString());
+ public GroupItemVm GroupItem => ServiceLocator.Current.GetInstance(Guid.NewGuid().ToString());
+ public EntryItemVm EntryItem => ServiceLocator.Current.GetInstance(Guid.NewGuid().ToString());
+ }
+}
\ No newline at end of file
diff --git a/ModernKeePass10/Views/EntriesPage.xaml b/Win10App/Views/EntriesPage.xaml
similarity index 98%
rename from ModernKeePass10/Views/EntriesPage.xaml
rename to Win10App/Views/EntriesPage.xaml
index 8c84057..d4b7284 100644
--- a/ModernKeePass10/Views/EntriesPage.xaml
+++ b/Win10App/Views/EntriesPage.xaml
@@ -12,7 +12,8 @@
xmlns:userControls="using:ModernKeePass.Views.UserControls"
xmlns:listItems="using:ModernKeePass.ViewModels.ListItems"
mc:Ignorable="d"
- Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
+ Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
+ DataContext="{Binding Source={StaticResource Locator}, Path=Entries}">
@@ -24,9 +25,9 @@
+ SelectedItem="{x:Bind Model.SelectedEntry, Mode=OneWay}">
-
+
@@ -105,12 +106,12 @@
-
+
-
+
diff --git a/ModernKeePass10/Views/EntriesPage.xaml.cs b/Win10App/Views/EntriesPage.xaml.cs
similarity index 68%
rename from ModernKeePass10/Views/EntriesPage.xaml.cs
rename to Win10App/Views/EntriesPage.xaml.cs
index 65cb117..c80054e 100644
--- a/ModernKeePass10/Views/EntriesPage.xaml.cs
+++ b/Win10App/Views/EntriesPage.xaml.cs
@@ -4,8 +4,6 @@ using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Navigation;
-using Autofac;
-using ModernKeePass.Domain.Interfaces;
using ModernKeePass.ViewModels;
using ModernKeePass.ViewModels.ListItems;
@@ -14,30 +12,23 @@ namespace ModernKeePass.Views
{
public partial class EntriesPage
{
- private readonly IDatabaseService _databaseService;
- private readonly IResourceService _resourceService;
- public EntriesViewModel ViewModel { get; set; }
+ public EntriesVm Model => (EntriesVm)DataContext;
- public EntriesPage(): this(App.Container.Resolve(), App.Container.Resolve())
- { }
-
- public EntriesPage(IDatabaseService databaseService, IResourceService resourceService)
+ public EntriesPage()
{
- _databaseService = databaseService;
- _resourceService = resourceService;
InitializeComponent();
}
- protected override void OnNavigatedTo(NavigationEventArgs e)
+ protected override async void OnNavigatedTo(NavigationEventArgs e)
{
- if (e.Parameter is GroupItemViewModel group) ViewModel = new EntriesViewModel(group);
+ if (e.Parameter is string groupId) await Model.Initialize(groupId);
}
private async void DeleteFlyoutItem_OnClick(object sender, RoutedEventArgs e)
{
if (sender is MenuFlyoutItem flyout)
{
- var item = (EntryItemViewModel)flyout.DataContext;
+ var item = (EntryItemVm)flyout.DataContext;
var deleteFileDialog = new ContentDialog
{
@@ -56,7 +47,7 @@ namespace ModernKeePass.Views
// TODO: move this logic to the service
if (result == ContentDialogResult.Primary)
{
- ViewModel.Entries.Remove(item);
+ Model.Entries.Remove(item);
}
}
}
@@ -68,7 +59,7 @@ namespace ModernKeePass.Views
e.Handled = true;
var text = NewEntryNameTextBox.Text;
if (string.IsNullOrEmpty(text)) return;
- ViewModel.AddNewEntry(text);
+ Model.AddNewEntry(text);
AddEntryButton.IsChecked = false;
}
else if (e.Key == VirtualKey.Escape)
@@ -79,11 +70,11 @@ namespace ModernKeePass.Views
private void ColorPickerBackground_LostFocus(object sender, RoutedEventArgs e)
{
- if (sender is ColorPicker colorPicker) ((EntryItemViewModel) colorPicker.DataContext).BackgroundColor = colorPicker.Color;
+ if (sender is ColorPicker colorPicker) ((EntryItemVm) colorPicker.DataContext).BackgroundColor = colorPicker.Color;
}
private void ColorPickerForeground_LostFocus(object sender, RoutedEventArgs e)
{
- if (sender is ColorPicker colorPicker) ((EntryItemViewModel) colorPicker.DataContext).ForegroundColor = colorPicker.Color;
+ if (sender is ColorPicker colorPicker) ((EntryItemVm) colorPicker.DataContext).ForegroundColor = colorPicker.Color;
}
private void HistoryListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
diff --git a/ModernKeePass10/Views/EntryPage.xaml b/Win10App/Views/EntryPage.xaml
similarity index 82%
rename from ModernKeePass10/Views/EntryPage.xaml
rename to Win10App/Views/EntryPage.xaml
index 926c583..ed30513 100644
--- a/ModernKeePass10/Views/EntryPage.xaml
+++ b/Win10App/Views/EntryPage.xaml
@@ -23,7 +23,7 @@
-
+
@@ -51,26 +51,26 @@
-
-
+
+
-
-
+
+
@@ -78,8 +78,8 @@
Maximum="128"
Width="350"
HorizontalAlignment="Left"
- Value="{x:Bind ViewModel.PasswordComplexityIndicator, ConverterParameter=0\,128, Converter={StaticResource ProgressBarLegalValuesConverter}, Mode=OneWay}"
- Foreground="{x:Bind ViewModel.PasswordComplexityIndicator, ConverterParameter=128, Converter={StaticResource DoubleToForegroungBrushComplexityConverter}, Mode=OneWay}" />
+ Value="{x:Bind Vm.PasswordComplexityIndicator, ConverterParameter=0\,128, Converter={StaticResource ProgressBarLegalValuesConverter}, Mode=OneWay}"
+ Foreground="{x:Bind Vm.PasswordComplexityIndicator, ConverterParameter=128, Converter={StaticResource DoubleToForegroungBrushComplexityConverter}, Mode=OneWay}" />
-
+
@@ -108,14 +108,14 @@
+ IsChecked="{x:Bind Vm.HasExpirationDate, Mode=TwoWay}" />
@@ -125,7 +125,7 @@
Grid.Column="0"
Symbol="Important"
Foreground="DarkRed"
- Visibility="{x:Bind ViewModel.HasExpired}">
+ Visibility="{x:Bind Vm.HasExpired}">
@@ -133,13 +133,13 @@
+ Visibility="{x:Bind Vm.HasExpirationDate, Mode=OneWay}">
@@ -151,14 +151,14 @@
+ SelectedSymbol="{x:Bind Vm.Icon, Converter={StaticResource IntToSymbolConverter}, ConverterParameter=0, Mode=TwoWay}" />
+ SelectedColor="{x:Bind Vm.BackgroundColor, Converter={StaticResource ColorToBrushConverter}, Mode=TwoWay}" />
+ SelectedColor="{x:Bind Vm.ForegroundColor, Converter={StaticResource ColorToBrushConverter}, Mode=TwoWay}" />
diff --git a/ModernKeePass10/Views/EntryPage.xaml.cs b/Win10App/Views/EntryPage.xaml.cs
similarity index 73%
rename from ModernKeePass10/Views/EntryPage.xaml.cs
rename to Win10App/Views/EntryPage.xaml.cs
index 5be680f..d3b898d 100644
--- a/ModernKeePass10/Views/EntryPage.xaml.cs
+++ b/Win10App/Views/EntryPage.xaml.cs
@@ -5,7 +5,7 @@ namespace ModernKeePass.Views
{
public partial class EntryPage
{
- public EntryItemViewModel ViewModel { get; set; }
+ public EntryItemVm Vm { get; set; }
public EntryPage()
{
@@ -15,7 +15,7 @@ namespace ModernKeePass.Views
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
- if (e.Parameter is EntryItemViewModel entry) ViewModel = entry;
+ if (e.Parameter is EntryItemVm entry) Vm = entry;
}
}
}
\ No newline at end of file
diff --git a/ModernKeePass10/Views/GroupsPage.xaml b/Win10App/Views/GroupsPage.xaml
similarity index 97%
rename from ModernKeePass10/Views/GroupsPage.xaml
rename to Win10App/Views/GroupsPage.xaml
index 3487413..7dd94af 100644
--- a/ModernKeePass10/Views/GroupsPage.xaml
+++ b/Win10App/Views/GroupsPage.xaml
@@ -53,7 +53,7 @@
Grid.Column="1"
Visibility="Visible"
HorizontalAlignment="Right"
- Text="{x:Bind ViewModel.NewGroupName, Mode=TwoWay}"
+ Text="{x:Bind Vm.NewGroupName, Mode=TwoWay}"
Height="30"
Width="230"
KeyUp="NewGroupNameTextBox_KeyDown"
@@ -101,7 +101,7 @@
-
+
@@ -122,10 +122,10 @@
-
+
@@ -180,7 +180,7 @@
Click="HamburgerButton_OnClick">
-
+
diff --git a/ModernKeePass10/Views/GroupsPage.xaml.cs b/Win10App/Views/GroupsPage.xaml.cs
similarity index 90%
rename from ModernKeePass10/Views/GroupsPage.xaml.cs
rename to Win10App/Views/GroupsPage.xaml.cs
index 6958db3..63d3a8a 100644
--- a/ModernKeePass10/Views/GroupsPage.xaml.cs
+++ b/Win10App/Views/GroupsPage.xaml.cs
@@ -19,7 +19,7 @@ namespace ModernKeePass.Views
private readonly IDatabaseService _databaseService;
private readonly IResourceService _resourceService;
- public GroupsViewModel ViewModel { get; set; }
+ public GroupsVm Vm { get; set; }
public GroupsPage(): this(App.Container.Resolve(), App.Container.Resolve())
{ }
@@ -66,7 +66,7 @@ namespace ModernKeePass.Views
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (!(e.Parameter is GroupEntity group)) group = _databaseService.RootGroupEntity;
- ViewModel = new GroupsViewModel(group);
+ Vm = new GroupsVm(group);
}
private void HamburgerButton_OnClick(object sender, RoutedEventArgs e)
@@ -93,23 +93,23 @@ namespace ModernKeePass.Views
private void NavigationTree_OnItemInvoked(TreeView sender, TreeViewItemInvokedEventArgs args)
{
- if (args.InvokedItem is GroupItemViewModel group)
+ if (args.InvokedItem is GroupItemVm group)
{
- ViewModel.Title = group.Text;
+ Vm.Title = group.Text;
SplitViewFrame.Navigate(typeof(EntriesPage), group);
}
}
private void RenameFlyoutItem_OnClick(object sender, RoutedEventArgs e)
{
- if (sender is MenuFlyoutItem flyout) ((GroupItemViewModel)flyout.DataContext).IsEditMode = true;
+ if (sender is MenuFlyoutItem flyout) ((GroupItemVm)flyout.DataContext).IsEditMode = true;
}
private async void DeleteFlyoutItem_OnClick(object sender, RoutedEventArgs e)
{
if (sender is MenuFlyoutItem flyout)
{
- var item = (GroupItemViewModel) flyout.DataContext;
+ var item = (GroupItemVm) flyout.DataContext;
var deleteFileDialog = new ContentDialog
{
@@ -128,7 +128,7 @@ namespace ModernKeePass.Views
// TODO: move this logic to the service
if (result == ContentDialogResult.Primary)
{
- item.ParentViewModel.Children.Remove(item);
+ item.ParentVm.Children.Remove(item);
// TODO: refresh treeview
}
}
@@ -141,7 +141,7 @@ namespace ModernKeePass.Views
private void GroupNameTextBox_OnLostFocus(object sender, RoutedEventArgs e)
{
- if (sender is TextBox textBox) ((GroupItemViewModel)textBox.DataContext).IsEditMode = false;
+ if (sender is TextBox textBox) ((GroupItemVm)textBox.DataContext).IsEditMode = false;
}
private void NewGroupNameTextBox_KeyDown(object sender, KeyRoutedEventArgs e)
@@ -151,7 +151,7 @@ namespace ModernKeePass.Views
e.Handled = true;
var text = ((TextBox)sender).Text;
if (string.IsNullOrEmpty(text)) return;
- ViewModel.AddNewGroup(text);
+ Vm.AddNewGroup(text);
AddButton.IsEnabled = true;
NewGroupNameTextBox.Visibility = Visibility.Collapsed;
NewGroupNameTextBox.Text = string.Empty;
@@ -167,7 +167,7 @@ namespace ModernKeePass.Views
{
//Set the ItemsSource to be your filtered dataset
//sender.ItemsSource = dataset;
- sender.ItemsSource = ViewModel.RootItemViewModel.SubEntries.Where(e => e.Name.IndexOf(sender.Text, StringComparison.OrdinalIgnoreCase) >= 0);
+ sender.ItemsSource = Vm.RootItemVm.SubEntries.Where(e => e.Name.IndexOf(sender.Text, StringComparison.OrdinalIgnoreCase) >= 0);
}
}
diff --git a/ModernKeePass10/Views/MainPage10.xaml b/Win10App/Views/MainPage10.xaml
similarity index 82%
rename from ModernKeePass10/Views/MainPage10.xaml
rename to Win10App/Views/MainPage10.xaml
index 9497bee..71ca553 100644
--- a/ModernKeePass10/Views/MainPage10.xaml
+++ b/Win10App/Views/MainPage10.xaml
@@ -6,7 +6,8 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="using:Microsoft.UI.Xaml.Controls"
mc:Ignorable="d"
- Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
+ Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
+ DataContext="{Binding Source={StaticResource Locator}, Path=Main}">
@@ -21,13 +22,13 @@
-
+
-
-
+
+
diff --git a/ModernKeePass10/Views/MainPage10.xaml.cs b/Win10App/Views/MainPage10.xaml.cs
similarity index 89%
rename from ModernKeePass10/Views/MainPage10.xaml.cs
rename to Win10App/Views/MainPage10.xaml.cs
index 6d7a10f..0383d84 100644
--- a/ModernKeePass10/Views/MainPage10.xaml.cs
+++ b/Win10App/Views/MainPage10.xaml.cs
@@ -12,7 +12,7 @@ namespace ModernKeePass.Views
{
public partial class MainPage10
{
- private MainViewModel ViewModel { get; }
+ private MainVm Model => (MainVm)DataContext;
private readonly IList<(string Tag, Type Page)> _pages = new List<(string Tag, Type Page)>
{
@@ -29,7 +29,6 @@ namespace ModernKeePass.Views
public MainPage10()
{
InitializeComponent();
- ViewModel = new MainViewModel();
SetTitleBar();
}
@@ -43,7 +42,7 @@ namespace ModernKeePass.Views
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
- ViewModel.File = e.Parameter as StorageFile;
+ Model.File = e.Parameter as StorageFile;
}
private void NavigationView_OnItemInvoked(MUXC.NavigationView navigationView, MUXC.NavigationViewItemInvokedEventArgs args)
@@ -71,17 +70,17 @@ namespace ModernKeePass.Views
private void NavigationView_OnLoaded(object sender, RoutedEventArgs e)
{
object parameter = null;
- if (ViewModel.IsDatabaseOpened)
+ if (Model.IsDatabaseOpened)
{
NavigationView.SelectedItem = Save;
parameter = Frame;
}
- else if (ViewModel.File != null)
+ else if (Model.File != null)
{
NavigationView.SelectedItem = Open;
- parameter = ViewModel.File;
+ parameter = Model.File;
}
- else if (ViewModel.HasRecentItems)
+ else if (Model.HasRecentItems)
{
NavigationView.SelectedItem = Recent;
}
diff --git a/ModernKeePass10/Views/MainPageFrames/AboutPage.xaml b/Win10App/Views/MainPageFrames/AboutPage.xaml
similarity index 100%
rename from ModernKeePass10/Views/MainPageFrames/AboutPage.xaml
rename to Win10App/Views/MainPageFrames/AboutPage.xaml
diff --git a/ModernKeePass10/Views/MainPageFrames/AboutPage.xaml.cs b/Win10App/Views/MainPageFrames/AboutPage.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/MainPageFrames/AboutPage.xaml.cs
rename to Win10App/Views/MainPageFrames/AboutPage.xaml.cs
diff --git a/ModernKeePass10/Views/MainPageFrames/DonatePage.xaml b/Win10App/Views/MainPageFrames/DonatePage.xaml
similarity index 100%
rename from ModernKeePass10/Views/MainPageFrames/DonatePage.xaml
rename to Win10App/Views/MainPageFrames/DonatePage.xaml
diff --git a/ModernKeePass10/Views/MainPageFrames/DonatePage.xaml.cs b/Win10App/Views/MainPageFrames/DonatePage.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/MainPageFrames/DonatePage.xaml.cs
rename to Win10App/Views/MainPageFrames/DonatePage.xaml.cs
diff --git a/ModernKeePass10/Views/MainPageFrames/ImportExportPage.xaml b/Win10App/Views/MainPageFrames/ImportExportPage.xaml
similarity index 100%
rename from ModernKeePass10/Views/MainPageFrames/ImportExportPage.xaml
rename to Win10App/Views/MainPageFrames/ImportExportPage.xaml
diff --git a/ModernKeePass10/Views/MainPageFrames/ImportExportPage.xaml.cs b/Win10App/Views/MainPageFrames/ImportExportPage.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/MainPageFrames/ImportExportPage.xaml.cs
rename to Win10App/Views/MainPageFrames/ImportExportPage.xaml.cs
diff --git a/ModernKeePass10/Views/MainPageFrames/NewDatabasePage.xaml b/Win10App/Views/MainPageFrames/NewDatabasePage.xaml
similarity index 100%
rename from ModernKeePass10/Views/MainPageFrames/NewDatabasePage.xaml
rename to Win10App/Views/MainPageFrames/NewDatabasePage.xaml
diff --git a/ModernKeePass10/Views/MainPageFrames/NewDatabasePage.xaml.cs b/Win10App/Views/MainPageFrames/NewDatabasePage.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/MainPageFrames/NewDatabasePage.xaml.cs
rename to Win10App/Views/MainPageFrames/NewDatabasePage.xaml.cs
diff --git a/ModernKeePass10/Views/MainPageFrames/OpenDatabasePage.xaml b/Win10App/Views/MainPageFrames/OpenDatabasePage.xaml
similarity index 100%
rename from ModernKeePass10/Views/MainPageFrames/OpenDatabasePage.xaml
rename to Win10App/Views/MainPageFrames/OpenDatabasePage.xaml
diff --git a/ModernKeePass10/Views/MainPageFrames/OpenDatabasePage.xaml.cs b/Win10App/Views/MainPageFrames/OpenDatabasePage.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/MainPageFrames/OpenDatabasePage.xaml.cs
rename to Win10App/Views/MainPageFrames/OpenDatabasePage.xaml.cs
diff --git a/ModernKeePass10/Views/MainPageFrames/RecentDatabasesPage.xaml b/Win10App/Views/MainPageFrames/RecentDatabasesPage.xaml
similarity index 100%
rename from ModernKeePass10/Views/MainPageFrames/RecentDatabasesPage.xaml
rename to Win10App/Views/MainPageFrames/RecentDatabasesPage.xaml
diff --git a/ModernKeePass10/Views/MainPageFrames/RecentDatabasesPage.xaml.cs b/Win10App/Views/MainPageFrames/RecentDatabasesPage.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/MainPageFrames/RecentDatabasesPage.xaml.cs
rename to Win10App/Views/MainPageFrames/RecentDatabasesPage.xaml.cs
diff --git a/ModernKeePass10/Views/MainPageFrames/SaveDatabasePage.xaml b/Win10App/Views/MainPageFrames/SaveDatabasePage.xaml
similarity index 100%
rename from ModernKeePass10/Views/MainPageFrames/SaveDatabasePage.xaml
rename to Win10App/Views/MainPageFrames/SaveDatabasePage.xaml
diff --git a/ModernKeePass10/Views/MainPageFrames/SaveDatabasePage.xaml.cs b/Win10App/Views/MainPageFrames/SaveDatabasePage.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/MainPageFrames/SaveDatabasePage.xaml.cs
rename to Win10App/Views/MainPageFrames/SaveDatabasePage.xaml.cs
diff --git a/ModernKeePass10/Views/MainPageFrames/WelcomePage.xaml b/Win10App/Views/MainPageFrames/WelcomePage.xaml
similarity index 100%
rename from ModernKeePass10/Views/MainPageFrames/WelcomePage.xaml
rename to Win10App/Views/MainPageFrames/WelcomePage.xaml
diff --git a/ModernKeePass10/Views/MainPageFrames/WelcomePage.xaml.cs b/Win10App/Views/MainPageFrames/WelcomePage.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/MainPageFrames/WelcomePage.xaml.cs
rename to Win10App/Views/MainPageFrames/WelcomePage.xaml.cs
diff --git a/ModernKeePass10/Views/SettingsPage10.xaml b/Win10App/Views/SettingsPage10.xaml
similarity index 85%
rename from ModernKeePass10/Views/SettingsPage10.xaml
rename to Win10App/Views/SettingsPage10.xaml
index 90e3ee3..cec544d 100644
--- a/ModernKeePass10/Views/SettingsPage10.xaml
+++ b/Win10App/Views/SettingsPage10.xaml
@@ -5,7 +5,8 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
- Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
+ Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
+ DataContext="{Binding Source={StaticResource Locator}, Path=Settings}">
@@ -23,8 +24,8 @@
-
-
+
+
diff --git a/ModernKeePass10/Views/SettingsPage10.xaml.cs b/Win10App/Views/SettingsPage10.xaml.cs
similarity index 95%
rename from ModernKeePass10/Views/SettingsPage10.xaml.cs
rename to Win10App/Views/SettingsPage10.xaml.cs
index 87beccf..d358f31 100644
--- a/ModernKeePass10/Views/SettingsPage10.xaml.cs
+++ b/Win10App/Views/SettingsPage10.xaml.cs
@@ -11,7 +11,7 @@ namespace ModernKeePass.Views
{
public partial class SettingsPage10
{
- private SettingsViewModel ViewModel { get; }
+ private SettingsVm Model => (SettingsVm) DataContext;
private readonly IList<(string Tag, Type Page)> _pages = new List<(string Tag, Type Page)>
{
@@ -25,7 +25,6 @@ namespace ModernKeePass.Views
public SettingsPage10()
{
InitializeComponent();
- ViewModel = new SettingsViewModel();
SetTitleBar();
}
diff --git a/ModernKeePass10/Views/SettingsPageFrames/SettingsDatabasePage.xaml b/Win10App/Views/SettingsPageFrames/SettingsDatabasePage.xaml
similarity index 100%
rename from ModernKeePass10/Views/SettingsPageFrames/SettingsDatabasePage.xaml
rename to Win10App/Views/SettingsPageFrames/SettingsDatabasePage.xaml
diff --git a/ModernKeePass10/Views/SettingsPageFrames/SettingsDatabasePage.xaml.cs b/Win10App/Views/SettingsPageFrames/SettingsDatabasePage.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/SettingsPageFrames/SettingsDatabasePage.xaml.cs
rename to Win10App/Views/SettingsPageFrames/SettingsDatabasePage.xaml.cs
diff --git a/ModernKeePass10/Views/SettingsPageFrames/SettingsNewDatabasePage.xaml b/Win10App/Views/SettingsPageFrames/SettingsNewDatabasePage.xaml
similarity index 100%
rename from ModernKeePass10/Views/SettingsPageFrames/SettingsNewDatabasePage.xaml
rename to Win10App/Views/SettingsPageFrames/SettingsNewDatabasePage.xaml
diff --git a/ModernKeePass10/Views/SettingsPageFrames/SettingsNewDatabasePage.xaml.cs b/Win10App/Views/SettingsPageFrames/SettingsNewDatabasePage.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/SettingsPageFrames/SettingsNewDatabasePage.xaml.cs
rename to Win10App/Views/SettingsPageFrames/SettingsNewDatabasePage.xaml.cs
diff --git a/ModernKeePass10/Views/SettingsPageFrames/SettingsSavePage.xaml b/Win10App/Views/SettingsPageFrames/SettingsSavePage.xaml
similarity index 100%
rename from ModernKeePass10/Views/SettingsPageFrames/SettingsSavePage.xaml
rename to Win10App/Views/SettingsPageFrames/SettingsSavePage.xaml
diff --git a/ModernKeePass10/Views/SettingsPageFrames/SettingsSavePage.xaml.cs b/Win10App/Views/SettingsPageFrames/SettingsSavePage.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/SettingsPageFrames/SettingsSavePage.xaml.cs
rename to Win10App/Views/SettingsPageFrames/SettingsSavePage.xaml.cs
diff --git a/ModernKeePass10/Views/SettingsPageFrames/SettingsSecurityPage.xaml b/Win10App/Views/SettingsPageFrames/SettingsSecurityPage.xaml
similarity index 100%
rename from ModernKeePass10/Views/SettingsPageFrames/SettingsSecurityPage.xaml
rename to Win10App/Views/SettingsPageFrames/SettingsSecurityPage.xaml
diff --git a/ModernKeePass10/Views/SettingsPageFrames/SettingsSecurityPage.xaml.cs b/Win10App/Views/SettingsPageFrames/SettingsSecurityPage.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/SettingsPageFrames/SettingsSecurityPage.xaml.cs
rename to Win10App/Views/SettingsPageFrames/SettingsSecurityPage.xaml.cs
diff --git a/ModernKeePass10/Views/SettingsPageFrames/SettingsWelcomePage.xaml b/Win10App/Views/SettingsPageFrames/SettingsWelcomePage.xaml
similarity index 100%
rename from ModernKeePass10/Views/SettingsPageFrames/SettingsWelcomePage.xaml
rename to Win10App/Views/SettingsPageFrames/SettingsWelcomePage.xaml
diff --git a/ModernKeePass10/Views/SettingsPageFrames/SettingsWelcomePage.xaml.cs b/Win10App/Views/SettingsPageFrames/SettingsWelcomePage.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/SettingsPageFrames/SettingsWelcomePage.xaml.cs
rename to Win10App/Views/SettingsPageFrames/SettingsWelcomePage.xaml.cs
diff --git a/ModernKeePass10/Views/UserControls/BreadCrumbUserControl.xaml b/Win10App/Views/UserControls/BreadCrumbUserControl.xaml
similarity index 100%
rename from ModernKeePass10/Views/UserControls/BreadCrumbUserControl.xaml
rename to Win10App/Views/UserControls/BreadCrumbUserControl.xaml
diff --git a/ModernKeePass10/Views/UserControls/BreadCrumbUserControl.xaml.cs b/Win10App/Views/UserControls/BreadCrumbUserControl.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/UserControls/BreadCrumbUserControl.xaml.cs
rename to Win10App/Views/UserControls/BreadCrumbUserControl.xaml.cs
diff --git a/ModernKeePass10/Views/UserControls/ColorPickerUserControl.xaml b/Win10App/Views/UserControls/ColorPickerUserControl.xaml
similarity index 100%
rename from ModernKeePass10/Views/UserControls/ColorPickerUserControl.xaml
rename to Win10App/Views/UserControls/ColorPickerUserControl.xaml
diff --git a/ModernKeePass10/Views/UserControls/ColorPickerUserControl.xaml.cs b/Win10App/Views/UserControls/ColorPickerUserControl.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/UserControls/ColorPickerUserControl.xaml.cs
rename to Win10App/Views/UserControls/ColorPickerUserControl.xaml.cs
diff --git a/ModernKeePass10/Views/UserControls/CredentialsUserControl.xaml b/Win10App/Views/UserControls/CredentialsUserControl.xaml
similarity index 100%
rename from ModernKeePass10/Views/UserControls/CredentialsUserControl.xaml
rename to Win10App/Views/UserControls/CredentialsUserControl.xaml
diff --git a/ModernKeePass10/Views/UserControls/CredentialsUserControl.xaml.cs b/Win10App/Views/UserControls/CredentialsUserControl.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/UserControls/CredentialsUserControl.xaml.cs
rename to Win10App/Views/UserControls/CredentialsUserControl.xaml.cs
diff --git a/ModernKeePass10/Views/UserControls/HamburgerMenuUserControl.xaml b/Win10App/Views/UserControls/HamburgerMenuUserControl.xaml
similarity index 100%
rename from ModernKeePass10/Views/UserControls/HamburgerMenuUserControl.xaml
rename to Win10App/Views/UserControls/HamburgerMenuUserControl.xaml
diff --git a/ModernKeePass10/Views/UserControls/HamburgerMenuUserControl.xaml.cs b/Win10App/Views/UserControls/HamburgerMenuUserControl.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/UserControls/HamburgerMenuUserControl.xaml.cs
rename to Win10App/Views/UserControls/HamburgerMenuUserControl.xaml.cs
diff --git a/ModernKeePass10/Views/UserControls/SymbolPickerUserControl.xaml b/Win10App/Views/UserControls/SymbolPickerUserControl.xaml
similarity index 100%
rename from ModernKeePass10/Views/UserControls/SymbolPickerUserControl.xaml
rename to Win10App/Views/UserControls/SymbolPickerUserControl.xaml
diff --git a/ModernKeePass10/Views/UserControls/SymbolPickerUserControl.xaml.cs b/Win10App/Views/UserControls/SymbolPickerUserControl.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/UserControls/SymbolPickerUserControl.xaml.cs
rename to Win10App/Views/UserControls/SymbolPickerUserControl.xaml.cs
diff --git a/ModernKeePass10/Views/UserControls/TopMenuUserControl.xaml b/Win10App/Views/UserControls/TopMenuUserControl.xaml
similarity index 100%
rename from ModernKeePass10/Views/UserControls/TopMenuUserControl.xaml
rename to Win10App/Views/UserControls/TopMenuUserControl.xaml
diff --git a/ModernKeePass10/Views/UserControls/TopMenuUserControl.xaml.cs b/Win10App/Views/UserControls/TopMenuUserControl.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/UserControls/TopMenuUserControl.xaml.cs
rename to Win10App/Views/UserControls/TopMenuUserControl.xaml.cs
diff --git a/ModernKeePass10/Views/UserControls/UpdateCredentialsUserControl.xaml b/Win10App/Views/UserControls/UpdateCredentialsUserControl.xaml
similarity index 100%
rename from ModernKeePass10/Views/UserControls/UpdateCredentialsUserControl.xaml
rename to Win10App/Views/UserControls/UpdateCredentialsUserControl.xaml
diff --git a/ModernKeePass10/Views/UserControls/UpdateCredentialsUserControl.xaml.cs b/Win10App/Views/UserControls/UpdateCredentialsUserControl.xaml.cs
similarity index 100%
rename from ModernKeePass10/Views/UserControls/UpdateCredentialsUserControl.xaml.cs
rename to Win10App/Views/UserControls/UpdateCredentialsUserControl.xaml.cs
diff --git a/ModernKeePass10/Backup/ModernKeePassApp.csproj b/Win10App/Win10App.csproj
similarity index 74%
rename from ModernKeePass10/Backup/ModernKeePassApp.csproj
rename to Win10App/Win10App.csproj
index 31ceb9e..b4e37f0 100644
--- a/ModernKeePass10/Backup/ModernKeePassApp.csproj
+++ b/Win10App/Win10App.csproj
@@ -1,78 +1,28 @@
-
+
Debug
x86
- UAP
- {A0CFC681-769B-405A-8482-0CDEE595A91F}
+ {9E44D7C8-AC6A-4331-B1BC-410B95032F7F}
AppContainerExe
Properties
ModernKeePass
- ModernKeePass
+ Win10App
en-US
- true
- 10.0.17134.0
- 10.0.17134.0
+ UAP
+ 10.0.18362.0
+ 10.0.17763.0
14
512
{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- ModernKeePass_StoreKey.pfx
- ED3AA34F46D03498F989901C5DB2742B65D72F60
- True
- neutral
- Always
-
-
- true
- bin\ARM\Debug\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_APP
- ;2008
- full
- ARM
- false
- prompt
- true
-
-
- bin\ARM\Release\
- TRACE;NETFX_CORE;WINDOWS_APP
- true
- ;2008
- pdbonly
- ARM
- false
- prompt
- true
- true
-
-
- true
- bin\x64\Debug\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_APP
- ;2008
- full
- x64
- false
- prompt
- true
-
-
- bin\x64\Release\
- TRACE;NETFX_CORE;WINDOWS_APP
- true
- ;2008
- pdbonly
- x64
- false
- prompt
- true
- true
+ true
+ false
true
bin\x86\Debug\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_APP
+ DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
;2008
full
x86
@@ -82,7 +32,7 @@
bin\x86\Release\
- TRACE;NETFX_CORE;WINDOWS_APP
+ TRACE;NETFX_CORE;WINDOWS_UWP
true
;2008
pdbonly
@@ -92,67 +42,128 @@
true
true
+
+ true
+ bin\ARM\Debug\
+ DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
+ ;2008
+ full
+ ARM
+ false
+ prompt
+ true
+
+
+ bin\ARM\Release\
+ TRACE;NETFX_CORE;WINDOWS_UWP
+ true
+ ;2008
+ pdbonly
+ ARM
+ false
+ prompt
+ true
+ true
+
+
+ true
+ bin\ARM64\Debug\
+ DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
+ ;2008
+ full
+ ARM64
+ false
+ prompt
+ true
+ true
+
+
+ bin\ARM64\Release\
+ TRACE;NETFX_CORE;WINDOWS_UWP
+ true
+ ;2008
+ pdbonly
+ ARM64
+ false
+ prompt
+ true
+ true
+
+
+ true
+ bin\x64\Debug\
+ DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
+ ;2008
+ full
+ x64
+ false
+ prompt
+ true
+
+
+ bin\x64\Release\
+ TRACE;NETFX_CORE;WINDOWS_UWP
+ true
+ ;2008
+ pdbonly
+ x64
+ false
+ prompt
+ true
+ true
+
+
+ PackageReference
+
-
-
-
-
-
App.xaml
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+ EntriesPage.xaml
+
+
+ EntryPage.xaml
+
GroupsPage.xaml
MainPage10.xaml
+
+ AboutPage.xaml
+
DonatePage.xaml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
ImportExportPage.xaml
+
+ NewDatabasePage.xaml
+
+
+ OpenDatabasePage.xaml
+
+
+ RecentDatabasesPage.xaml
+
+
+ SaveDatabasePage.xaml
+
+
+ WelcomePage.xaml
+
SettingsPage10.xaml
@@ -171,74 +182,15 @@
SettingsWelcomePage.xaml
-
-
BreadCrumbUserControl.xaml
ColorPickerUserControl.xaml
-
- CompositeKeyUserControl.xaml
+
+ CredentialsUserControl.xaml
-
-
-
-
-
-
-
-
-
-
-
-
- MainPage.xaml
-
-
- AboutPage.xaml
-
-
- NewDatabasePage.xaml
-
-
- SettingsPage.xaml
-
-
- WelcomePage.xaml
-
-
-
-
-
-
-
- EntryDetailPage.xaml
-
-
- GroupDetailPage.xaml
-
-
- OpenDatabasePage.xaml
-
-
- RecentDatabasesPage.xaml
-
-
- SaveDatabasePage.xaml
-
-
-
-
-
-
-
-
-
-
-
-
HamburgerMenuUserControl.xaml
@@ -248,164 +200,9 @@
TopMenuUserControl.xaml
-
-
-
- Designer
-
-
-
-
-
-
-
-
-
-
-
-
- MSBuild:Compile
- Designer
-
-
- Designer
- MSBuild:Compile
- PreserveNewest
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- MSBuild:Compile
- Designer
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
- PreserveNewest
-
-
- Designer
- MSBuild:Compile
- PreserveNewest
-
-
- Designer
- MSBuild:Compile
- PreserveNewest
-
-
- Designer
- MSBuild:Compile
- PreserveNewest
-
-
- Designer
- MSBuild:Compile
- PreserveNewest
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
- Designer
- MSBuild:Compile
-
-
-
-
- Designer
-
+
+ UpdateCredentialsUserControl.xaml
+
@@ -475,6 +272,223 @@
+
+
+ Designer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+ PreserveNewest
+
+
+ MSBuild:Compile
+ Designer
+ PreserveNewest
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+ PreserveNewest
+
+
+ MSBuild:Compile
+ Designer
+ PreserveNewest
+
+
+ MSBuild:Compile
+ Designer
+ PreserveNewest
+
+
+ MSBuild:Compile
+ Designer
+ PreserveNewest
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+
+
+ 5.2.0
+
+
+ 1.2.0
+
+
+ 3.0.1
+
+
+ 3.2.1
+
+
+ 3.2.1
+
+
+ 3.1.3
+
+
+ 6.2.9
+
+
+ 6.0.0
+
+
+ 2.3.200213001
+
+
+ 2.0.1
+
+
+ 5.4.1.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {42353562-5e43-459c-8e3e-2f21e575261d}
+ Application
+
+
+ {9a0759f1-9069-4841-99e3-3bec44e17356}
+ Domain
+
+
+ {09577e4c-4899-45b9-bf80-1803d617ccae}
+ Infrastructure
+
+
+
14.0
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/description.txt b/Win10App/appMetadata/en-us/baselisting/description.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/description.txt
rename to Win10App/appMetadata/en-us/baselisting/description.txt
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/Entry.png b/Win10App/appMetadata/en-us/baselisting/images/Screenshot/Entry.png
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/Entry.png
rename to Win10App/appMetadata/en-us/baselisting/images/Screenshot/Entry.png
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/Group.png b/Win10App/appMetadata/en-us/baselisting/images/Screenshot/Group.png
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/Group.png
rename to Win10App/appMetadata/en-us/baselisting/images/Screenshot/Group.png
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/New.png b/Win10App/appMetadata/en-us/baselisting/images/Screenshot/New.png
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/New.png
rename to Win10App/appMetadata/en-us/baselisting/images/Screenshot/New.png
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/Open.png b/Win10App/appMetadata/en-us/baselisting/images/Screenshot/Open.png
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/Open.png
rename to Win10App/appMetadata/en-us/baselisting/images/Screenshot/Open.png
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/Recent.png b/Win10App/appMetadata/en-us/baselisting/images/Screenshot/Recent.png
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/Recent.png
rename to Win10App/appMetadata/en-us/baselisting/images/Screenshot/Recent.png
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/Semantic.png b/Win10App/appMetadata/en-us/baselisting/images/Screenshot/Semantic.png
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/Semantic.png
rename to Win10App/appMetadata/en-us/baselisting/images/Screenshot/Semantic.png
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/Settings.png b/Win10App/appMetadata/en-us/baselisting/images/Screenshot/Settings.png
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/Settings.png
rename to Win10App/appMetadata/en-us/baselisting/images/Screenshot/Settings.png
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/description.Entry.txt b/Win10App/appMetadata/en-us/baselisting/images/Screenshot/description.Entry.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/description.Entry.txt
rename to Win10App/appMetadata/en-us/baselisting/images/Screenshot/description.Entry.txt
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/description.Group.txt b/Win10App/appMetadata/en-us/baselisting/images/Screenshot/description.Group.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/description.Group.txt
rename to Win10App/appMetadata/en-us/baselisting/images/Screenshot/description.Group.txt
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/description.New.txt b/Win10App/appMetadata/en-us/baselisting/images/Screenshot/description.New.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/description.New.txt
rename to Win10App/appMetadata/en-us/baselisting/images/Screenshot/description.New.txt
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/description.Open.txt b/Win10App/appMetadata/en-us/baselisting/images/Screenshot/description.Open.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/description.Open.txt
rename to Win10App/appMetadata/en-us/baselisting/images/Screenshot/description.Open.txt
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/description.Recent.txt b/Win10App/appMetadata/en-us/baselisting/images/Screenshot/description.Recent.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/description.Recent.txt
rename to Win10App/appMetadata/en-us/baselisting/images/Screenshot/description.Recent.txt
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/description.Semantic.txt b/Win10App/appMetadata/en-us/baselisting/images/Screenshot/description.Semantic.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/description.Semantic.txt
rename to Win10App/appMetadata/en-us/baselisting/images/Screenshot/description.Semantic.txt
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/description.Settings.txt b/Win10App/appMetadata/en-us/baselisting/images/Screenshot/description.Settings.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/images/Screenshot/description.Settings.txt
rename to Win10App/appMetadata/en-us/baselisting/images/Screenshot/description.Settings.txt
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/keywords.txt b/Win10App/appMetadata/en-us/baselisting/keywords.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/keywords.txt
rename to Win10App/appMetadata/en-us/baselisting/keywords.txt
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/privacyPolicy.txt b/Win10App/appMetadata/en-us/baselisting/privacyPolicy.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/privacyPolicy.txt
rename to Win10App/appMetadata/en-us/baselisting/privacyPolicy.txt
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/releaseNotes.txt b/Win10App/appMetadata/en-us/baselisting/releaseNotes.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/releaseNotes.txt
rename to Win10App/appMetadata/en-us/baselisting/releaseNotes.txt
diff --git a/ModernKeePass10/appMetadata/en-us/baselisting/websiteUrl.txt b/Win10App/appMetadata/en-us/baselisting/websiteUrl.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/en-us/baselisting/websiteUrl.txt
rename to Win10App/appMetadata/en-us/baselisting/websiteUrl.txt
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/description.txt b/Win10App/appMetadata/fr-fr/baselisting/description.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/description.txt
rename to Win10App/appMetadata/fr-fr/baselisting/description.txt
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/Entry.png b/Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/Entry.png
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/Entry.png
rename to Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/Entry.png
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/Group.png b/Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/Group.png
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/Group.png
rename to Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/Group.png
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/New.png b/Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/New.png
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/New.png
rename to Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/New.png
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/Open.png b/Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/Open.png
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/Open.png
rename to Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/Open.png
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/Recent.png b/Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/Recent.png
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/Recent.png
rename to Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/Recent.png
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/Semantic.png b/Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/Semantic.png
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/Semantic.png
rename to Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/Semantic.png
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/Settings.png b/Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/Settings.png
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/Settings.png
rename to Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/Settings.png
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/description.Entry.txt b/Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/description.Entry.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/description.Entry.txt
rename to Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/description.Entry.txt
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/description.Group.txt b/Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/description.Group.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/description.Group.txt
rename to Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/description.Group.txt
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/description.New.txt b/Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/description.New.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/description.New.txt
rename to Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/description.New.txt
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/description.Open.txt b/Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/description.Open.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/description.Open.txt
rename to Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/description.Open.txt
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/description.Recent.txt b/Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/description.Recent.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/description.Recent.txt
rename to Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/description.Recent.txt
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/description.Semantic.txt b/Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/description.Semantic.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/description.Semantic.txt
rename to Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/description.Semantic.txt
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/description.Settings.txt b/Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/description.Settings.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/images/Screenshot/description.Settings.txt
rename to Win10App/appMetadata/fr-fr/baselisting/images/Screenshot/description.Settings.txt
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/keywords.txt b/Win10App/appMetadata/fr-fr/baselisting/keywords.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/keywords.txt
rename to Win10App/appMetadata/fr-fr/baselisting/keywords.txt
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/privacyPolicy.txt b/Win10App/appMetadata/fr-fr/baselisting/privacyPolicy.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/privacyPolicy.txt
rename to Win10App/appMetadata/fr-fr/baselisting/privacyPolicy.txt
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/releaseNotes.txt b/Win10App/appMetadata/fr-fr/baselisting/releaseNotes.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/releaseNotes.txt
rename to Win10App/appMetadata/fr-fr/baselisting/releaseNotes.txt
diff --git a/ModernKeePass10/appMetadata/fr-fr/baselisting/websiteUrl.txt b/Win10App/appMetadata/fr-fr/baselisting/websiteUrl.txt
similarity index 100%
rename from ModernKeePass10/appMetadata/fr-fr/baselisting/websiteUrl.txt
rename to Win10App/appMetadata/fr-fr/baselisting/websiteUrl.txt
diff --git a/WinAppCommon/Controls/PasswordBoxWithButton.cs b/WinAppCommon/Controls/PasswordBoxWithButton.cs
new file mode 100644
index 0000000..14495d8
--- /dev/null
+++ b/WinAppCommon/Controls/PasswordBoxWithButton.cs
@@ -0,0 +1,86 @@
+using System;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+
+namespace ModernKeePass.Controls
+{
+ public class PasswordBoxWithButton: SearchBox
+ {
+ public event EventHandler ButtonClick;
+
+ public string ButtonSymbol
+ {
+ get { return (string)GetValue(ButtonSymbolProperty); }
+ set { SetValue(ButtonSymbolProperty, value); }
+ }
+ public static readonly DependencyProperty ButtonSymbolProperty =
+ DependencyProperty.Register(
+ nameof(ButtonSymbol),
+ typeof(string),
+ typeof(PasswordBoxWithButton),
+ new PropertyMetadata("", (o, args) => { }));
+
+ public string ButtonTooltip
+ {
+ get { return (string)GetValue(ButtonTooltipProperty); }
+ set { SetValue(ButtonTooltipProperty, value); }
+ }
+ public static readonly DependencyProperty ButtonTooltipProperty =
+ DependencyProperty.Register(
+ nameof(ButtonTooltip),
+ typeof(string),
+ typeof(PasswordBoxWithButton),
+ new PropertyMetadata(string.Empty, (o, args) => { }));
+
+ public string Password
+ {
+ get { return (string)GetValue(PasswordProperty); }
+ set { SetValue(PasswordProperty, value); }
+ }
+ public static readonly DependencyProperty PasswordProperty =
+ DependencyProperty.Register(
+ nameof(Password),
+ typeof(string),
+ typeof(PasswordBoxWithButton),
+ new PropertyMetadata(string.Empty, (o, args) => { }));
+
+ public bool IsButtonEnabled
+ {
+ get { return (bool)GetValue(IsButtonEnabledProperty); }
+ set { SetValue(IsButtonEnabledProperty, value); }
+ }
+ public static readonly DependencyProperty IsButtonEnabledProperty =
+ DependencyProperty.Register(
+ nameof(IsButtonEnabled),
+ typeof(bool),
+ typeof(PasswordBoxWithButton),
+ new PropertyMetadata(true, (o, args) => { }));
+
+ public bool IsPasswordRevealEnabled
+ {
+ get { return (bool)GetValue(IsPasswordRevealEnabledProperty); }
+ set { SetValue(IsPasswordRevealEnabledProperty, value); }
+ }
+ public static readonly DependencyProperty IsPasswordRevealEnabledProperty =
+ DependencyProperty.Register(
+ nameof(IsPasswordRevealEnabled),
+ typeof(bool),
+ typeof(PasswordBoxWithButton),
+ new PropertyMetadata(true, (o, args) => { }));
+
+
+ public PasswordBoxWithButton()
+ {
+ DefaultStyleKey = typeof(PasswordBoxWithButton);
+ }
+ protected override void OnApplyTemplate()
+ {
+ base.OnApplyTemplate();
+ var actionButton = GetTemplateChild("ActionButton") as Button;
+ if (actionButton != null)
+ {
+ actionButton.Click += (sender, e) => ButtonClick?.Invoke(sender, e);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/WinAppCommon/Controls/TextBoxWithButton.cs b/WinAppCommon/Controls/TextBoxWithButton.cs
index fbcf0ab..52b9ab3 100644
--- a/WinAppCommon/Controls/TextBoxWithButton.cs
+++ b/WinAppCommon/Controls/TextBoxWithButton.cs
@@ -5,7 +5,7 @@ using Windows.UI.Xaml.Controls;
namespace ModernKeePass.Controls
{
- public class TextBoxWithButton : Control
+ public class TextBoxWithButton : SearchBox
{
public event EventHandler ButtonClick;
@@ -44,17 +44,6 @@ namespace ModernKeePass.Controls
typeof(string),
typeof(TextBoxWithButton),
new PropertyMetadata(string.Empty, (o, args) => { }));
- public string PlaceholderText
- {
- get { return (string)GetValue(PlaceholderTextProperty); }
- set { SetValue(PlaceholderTextProperty, value); }
- }
- public static readonly DependencyProperty PlaceholderTextProperty =
- DependencyProperty.Register(
- nameof(PlaceholderText),
- typeof(string),
- typeof(TextBoxWithButton),
- new PropertyMetadata(string.Empty, (o, args) => { }));
public ICommand ButtonCommand
{
@@ -75,7 +64,7 @@ namespace ModernKeePass.Controls
}
public static readonly DependencyProperty IsButtonEnabledProperty =
DependencyProperty.Register(
- "IsButtonEnabled",
+ nameof(IsButtonEnabled),
typeof(bool),
typeof(TextBoxWithButton),
new PropertyMetadata(true, (o, args) => { }));
diff --git a/WinAppCommon/WinAppCommon.projitems b/WinAppCommon/WinAppCommon.projitems
index 5fce321..574ef3e 100644
--- a/WinAppCommon/WinAppCommon.projitems
+++ b/WinAppCommon/WinAppCommon.projitems
@@ -17,6 +17,7 @@
+