├── Installers
└── MacOsX
│ └── SQRL.app.zip
├── SQRLDotNetClientUI
├── Assets
│ ├── VL.png
│ ├── error.ico
│ ├── Icons
│ │ ├── ok.png
│ │ ├── error.png
│ │ ├── pdf_16.png
│ │ ├── question.png
│ │ ├── warning.png
│ │ └── MenuIcons
│ │ │ ├── Exit_16x.png
│ │ │ ├── Key_16x.png
│ │ │ ├── db_16x.png
│ │ │ ├── About_16x.png
│ │ │ ├── Export_16x.png
│ │ │ ├── Import_16x.png
│ │ │ ├── AddUser_16x.png
│ │ │ ├── CheckOut_16x.png
│ │ │ ├── Localize_16x.png
│ │ │ ├── NewFile_16x.png
│ │ │ ├── Password_16x.png
│ │ │ ├── Settings_16x.png
│ │ │ ├── Uninstall_16x.png
│ │ │ ├── DeleteUser_16x.png
│ │ │ ├── SwitchIdentity_16x.png
│ │ │ └── IdentitySettings_16x.png
│ ├── Mac_Error1.png
│ ├── MacOsx_Error2.png
│ ├── SQRL_InAction.gif
│ ├── WinInstaller.png
│ ├── WinRunAnyways.png
│ ├── avalonia-logo.ico
│ ├── Linux_Installer.png
│ ├── MacOsx_Installer.png
│ ├── Mac_AllowAnyways.png
│ ├── NewIdentitySetup.gif
│ ├── SQRL_icon_light_128.png
│ ├── SQRL_icon_light_16.png
│ ├── SQRL_icon_light_256.png
│ ├── SQRL_icon_light_32.png
│ ├── SQRL_icon_light_64.png
│ ├── SQRL_icon_normal_16.png
│ ├── SQRL_icon_normal_32.png
│ ├── SQRL_icon_normal_64.png
│ ├── WinInstallerPrompt.png
│ ├── Fonts
│ │ ├── SpaceMono-Bold.ttf
│ │ ├── UbuntuMono-Bold.ttf
│ │ ├── SpaceMono-Italic.ttf
│ │ ├── SpaceMono-Regular.ttf
│ │ ├── UbuntuMono-Regular.ttf
│ │ └── SpaceMono-BoldItalic.ttf
│ ├── SQRL_icon_normal_128.png
│ ├── SQRL_icon_normal_256.png
│ ├── sqrl_icon_normal_256.ico
│ ├── MacOsx_InstallerPrompt.png
│ ├── Mac_SecurityAndPrivacy.png
│ ├── sqrl_icon_normal_48_icon.ico
│ └── sqrl_icon_normal_256_32_icon.ico
├── Properties
│ └── launchSettings.json
├── nuget.config
├── Views
│ ├── AboutView.xaml.cs
│ ├── AskView.xaml.cs
│ ├── ReKeyView.xaml.cs
│ ├── AppSettingsView.xaml.cs
│ ├── ExportIdentityView.xaml.cs
│ ├── ImportIdentityView.xaml.cs
│ ├── IdentitySettingsView.xaml.cs
│ ├── NewIdentityView.xaml.cs
│ ├── ChangePasswordView.xaml.cs
│ ├── NewIdentityVerifyView.xaml.cs
│ ├── ImportIdentitySetupView.xaml.cs
│ ├── MainWindow.xaml
│ ├── MessageBoxView.xaml
│ ├── ProgressDialogView.xaml
│ ├── MainMenuView.xaml.cs
│ ├── AuthenticationView.xaml.cs
│ ├── InputSecretDialogView.xaml
│ ├── SelectIdentityView.xaml
│ ├── AppSettingsView.xaml
│ ├── ImportIdentityView.xaml
│ ├── AskView.xaml
│ ├── SelectIdentityView.xaml.cs
│ ├── ReKeyView.xaml
│ ├── NewIdentityVerifyView.xaml
│ ├── AboutView.xaml
│ ├── MainWindow.xaml.cs
│ ├── ChangePasswordView.xaml
│ ├── ExportIdentityView.xaml
│ ├── NewIdentityView.xaml
│ └── InputSecretDialogView.xaml.cs
├── App.xaml
├── Behaviors
│ └── FocusOnAttached.cs
├── DB
│ ├── Migrations
│ │ ├── 20200418165401_AddStartMinimized.cs
│ │ ├── 20200219133551_InitialCreate.cs
│ │ ├── 20200219133551_InitialCreate.Designer.cs
│ │ ├── SQRLDBContextModelSnapshot.cs
│ │ └── 20200418165401_AddStartMinimized.Designer.cs
│ ├── Models
│ │ ├── UserData.cs
│ │ └── Identity.cs
│ └── DBContext
│ │ └── SQRLDBContext.cs
├── Models
│ ├── SystemEventArgs.cs
│ ├── ISystemEventNotifier.cs
│ └── INotifyIcon.cs
├── ViewLocator.cs
├── ViewModels
│ ├── SelectIdentityViewModel.cs
│ ├── ViewModelBase.cs
│ ├── AppSettingsViewModel.cs
│ ├── MainWindowViewModel.cs
│ ├── AboutViewModel.cs
│ └── InputSecretDialogViewModel.cs
└── Platform
│ ├── Linux
│ ├── LinuxTrayIcon.cs
│ └── NotifyIcon.cs
│ ├── Win
│ └── Interop
│ │ └── NativeWindow.cs
│ └── Implementation.cs
├── SQRLPlatformAwareInstaller
├── Assets
│ ├── VL.png
│ ├── key.png
│ ├── mac.png
│ ├── crown.png
│ ├── linux.png
│ ├── unknown.png
│ ├── windows.png
│ ├── SQRL_InAction.gif
│ ├── avalonia-logo.ico
│ ├── SQRL_icon_light_16.png
│ ├── SQRL_icon_light_32.png
│ ├── SQRL_icon_light_64.png
│ ├── Fonts
│ │ ├── SpaceMono-Bold.ttf
│ │ ├── SpaceMono-Italic.ttf
│ │ ├── SpaceMono-Regular.ttf
│ │ └── SpaceMono-BoldItalic.ttf
│ ├── Icons
│ │ ├── alert-triangle.png
│ │ └── alert-triangle.svg
│ ├── SQRL_icon_light_128.png
│ ├── SQRL_icon_light_256.png
│ ├── SQRL_icon_normal_128.png
│ ├── SQRL_icon_normal_16.png
│ ├── SQRL_icon_normal_256.png
│ ├── SQRL_icon_normal_32.png
│ ├── SQRL_icon_normal_64.png
│ ├── sqrl_icon_normal_256.ico
│ ├── sqrl_icon_normal_48_icon.ico
│ ├── sqrl_icon_normal_256_32_icon.ico
│ └── SQRLPlatformAwareInstaller_linux.policy
├── Properties
│ └── launchSettings.json
├── nuget.config
├── Views
│ ├── RootBailView.xaml.cs
│ ├── UninstallView.xaml.cs
│ ├── MainInstallView.xaml.cs
│ ├── VersionSelectorView.xaml.cs
│ ├── InstallationCompleteView.xaml.cs
│ ├── MainWindow.xaml
│ ├── MainWindow.xaml.cs
│ ├── InstallationCompleteView.xaml
│ ├── RootBailView.xaml
│ ├── UninstallView.xaml
│ └── MainInstallView.xaml
├── ViewModels
│ ├── RootBailViewModel.cs
│ ├── ViewModelBase.cs
│ ├── MainWindowViewModel.cs
│ └── InstallationCompleteViewModel.cs
├── App.xaml
├── ViewLocator.cs
├── Platform
│ ├── Implementation.cs
│ ├── Windows
│ │ ├── ShellLink.cs
│ │ └── VcRedistHelper.cs
│ └── OSX
│ │ └── Installer.cs
├── Models
│ └── IInstaller.cs
├── Program.cs
├── App.xaml.cs
└── app.manifest
├── SQRLUtilsLib
├── Resources
│ ├── SQRLClientDemo.gif
│ └── sqrl_icon_normal_64.png
└── SQRLUtilsLib.csproj
├── SQRLCommon
├── Assets
│ └── Localization
│ │ └── Flags
│ │ ├── default_16.png
│ │ ├── germany_16.png
│ │ └── united_states_16.png
├── AvaloniaExtensions
│ ├── MenuItemViewModel.cs
│ ├── StringUppercaseConverter.cs
│ ├── EnumBooleanConverter.cs
│ ├── WindowExtensions.cs
│ └── CopyPasteTextBox.cs
└── SQRLCommon.csproj
├── .github
└── workflows
│ ├── dotnetcore.yml
│ └── createrelease.yml
├── Sodium.Core
├── Exceptions
│ ├── KeyOutOfRangeException.cs
│ ├── MacOutOfRangeException.cs
│ ├── SaltOutOfRangeException.cs
│ ├── SeedOutOfRangeException.cs
│ ├── BytesOutOfRangeException.cs
│ ├── NonceOutOfRangeException.cs
│ ├── PersonalOutOfRangeException.cs
│ ├── SignatureOutOfRangeException .cs
│ └── AdditionalDataOutOfRangeException.cs
├── SecretAead.cs
├── DetachedBox.cs
├── SodiumCore.cs
├── ShortHash.cs
├── Sodium.Core.ForSqrl.csproj
├── CryptoHash.cs
├── KeyPair.cs
└── ScalarMult.cs
├── SQRLUtilLibTest
└── SQRLUtilLibTest.csproj
├── .vscode
├── tasks.json
└── launch.json
└── .gitattributes
/Installers/MacOsX/SQRL.app.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/Installers/MacOsX/SQRL.app.zip
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/VL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/VL.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/error.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/error.ico
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/ok.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/ok.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/error.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Mac_Error1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Mac_Error1.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/VL.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/VL.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/key.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/mac.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/mac.png
--------------------------------------------------------------------------------
/SQRLUtilsLib/Resources/SQRLClientDemo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLUtilsLib/Resources/SQRLClientDemo.gif
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/pdf_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/pdf_16.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/question.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/question.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/warning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/warning.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/MacOsx_Error2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/MacOsx_Error2.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/SQRL_InAction.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/SQRL_InAction.gif
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/WinInstaller.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/WinInstaller.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/WinRunAnyways.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/WinRunAnyways.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/avalonia-logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/avalonia-logo.ico
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/crown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/crown.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/linux.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/linux.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Linux_Installer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Linux_Installer.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/MacOsx_Installer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/MacOsx_Installer.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Mac_AllowAnyways.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Mac_AllowAnyways.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/NewIdentitySetup.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/NewIdentitySetup.gif
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/unknown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/unknown.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/windows.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/windows.png
--------------------------------------------------------------------------------
/SQRLUtilsLib/Resources/sqrl_icon_normal_64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLUtilsLib/Resources/sqrl_icon_normal_64.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/SQRL_icon_light_128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/SQRL_icon_light_128.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/SQRL_icon_light_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/SQRL_icon_light_16.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/SQRL_icon_light_256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/SQRL_icon_light_256.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/SQRL_icon_light_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/SQRL_icon_light_32.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/SQRL_icon_light_64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/SQRL_icon_light_64.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/SQRL_icon_normal_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/SQRL_icon_normal_16.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/SQRL_icon_normal_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/SQRL_icon_normal_32.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/SQRL_icon_normal_64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/SQRL_icon_normal_64.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/WinInstallerPrompt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/WinInstallerPrompt.png
--------------------------------------------------------------------------------
/SQRLCommon/Assets/Localization/Flags/default_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLCommon/Assets/Localization/Flags/default_16.png
--------------------------------------------------------------------------------
/SQRLCommon/Assets/Localization/Flags/germany_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLCommon/Assets/Localization/Flags/germany_16.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Fonts/SpaceMono-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Fonts/SpaceMono-Bold.ttf
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Fonts/UbuntuMono-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Fonts/UbuntuMono-Bold.ttf
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/SQRL_icon_normal_128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/SQRL_icon_normal_128.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/SQRL_icon_normal_256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/SQRL_icon_normal_256.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/sqrl_icon_normal_256.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/sqrl_icon_normal_256.ico
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "SQRLDotNetClientUI": {
4 | "commandName": "Project"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/SQRL_InAction.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/SQRL_InAction.gif
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/avalonia-logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/avalonia-logo.ico
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Fonts/SpaceMono-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Fonts/SpaceMono-Italic.ttf
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Fonts/SpaceMono-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Fonts/SpaceMono-Regular.ttf
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Fonts/UbuntuMono-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Fonts/UbuntuMono-Regular.ttf
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/MenuIcons/Exit_16x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/MenuIcons/Exit_16x.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/MenuIcons/Key_16x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/MenuIcons/Key_16x.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/MenuIcons/db_16x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/MenuIcons/db_16x.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/MacOsx_InstallerPrompt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/MacOsx_InstallerPrompt.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Mac_SecurityAndPrivacy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Mac_SecurityAndPrivacy.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/sqrl_icon_normal_48_icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/sqrl_icon_normal_48_icon.ico
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Fonts/SpaceMono-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Fonts/SpaceMono-BoldItalic.ttf
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/MenuIcons/About_16x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/MenuIcons/About_16x.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/MenuIcons/Export_16x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/MenuIcons/Export_16x.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/MenuIcons/Import_16x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/MenuIcons/Import_16x.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/SQRL_icon_light_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/SQRL_icon_light_16.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/SQRL_icon_light_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/SQRL_icon_light_32.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/SQRL_icon_light_64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/SQRL_icon_light_64.png
--------------------------------------------------------------------------------
/SQRLCommon/Assets/Localization/Flags/united_states_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLCommon/Assets/Localization/Flags/united_states_16.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/MenuIcons/AddUser_16x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/MenuIcons/AddUser_16x.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/MenuIcons/CheckOut_16x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/MenuIcons/CheckOut_16x.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/MenuIcons/Localize_16x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/MenuIcons/Localize_16x.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/MenuIcons/NewFile_16x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/MenuIcons/NewFile_16x.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/MenuIcons/Password_16x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/MenuIcons/Password_16x.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/MenuIcons/Settings_16x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/MenuIcons/Settings_16x.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/MenuIcons/Uninstall_16x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/MenuIcons/Uninstall_16x.png
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/sqrl_icon_normal_256_32_icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/sqrl_icon_normal_256_32_icon.ico
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/Fonts/SpaceMono-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/Fonts/SpaceMono-Bold.ttf
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/Icons/alert-triangle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/Icons/alert-triangle.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/SQRL_icon_light_128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/SQRL_icon_light_128.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/SQRL_icon_light_256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/SQRL_icon_light_256.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/SQRL_icon_normal_128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/SQRL_icon_normal_128.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/SQRL_icon_normal_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/SQRL_icon_normal_16.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/SQRL_icon_normal_256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/SQRL_icon_normal_256.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/SQRL_icon_normal_32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/SQRL_icon_normal_32.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/SQRL_icon_normal_64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/SQRL_icon_normal_64.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/sqrl_icon_normal_256.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/sqrl_icon_normal_256.ico
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/MenuIcons/DeleteUser_16x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/MenuIcons/DeleteUser_16x.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/Fonts/SpaceMono-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/Fonts/SpaceMono-Italic.ttf
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/Fonts/SpaceMono-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/Fonts/SpaceMono-Regular.ttf
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/MenuIcons/SwitchIdentity_16x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/MenuIcons/SwitchIdentity_16x.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/Fonts/SpaceMono-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/Fonts/SpaceMono-BoldItalic.ttf
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/sqrl_icon_normal_48_icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/sqrl_icon_normal_48_icon.ico
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Assets/Icons/MenuIcons/IdentitySettings_16x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLDotNetClientUI/Assets/Icons/MenuIcons/IdentitySettings_16x.png
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/sqrl_icon_normal_256_32_icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sqrldev/SQRLDotNetClient/HEAD/SQRLPlatformAwareInstaller/Assets/sqrl_icon_normal_256_32_icon.ico
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "SQRLPlatformAwareInstaller": {
4 | "commandName": "Project",
5 | "nativeDebugging": true
6 | }
7 | }
8 | }
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/nuget.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/nuget.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/Icons/alert-triangle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Views/AboutView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace SQRLDotNetClientUI.Views
6 | {
7 | public class AboutView : UserControl
8 | {
9 | public AboutView()
10 | {
11 | this.InitializeComponent();
12 | }
13 |
14 | private void InitializeComponent()
15 | {
16 | AvaloniaXamlLoader.Load(this);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Views/AskView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace SQRLDotNetClientUI.Views
6 | {
7 | public class AskView : UserControl
8 | {
9 | public AskView()
10 | {
11 | this.InitializeComponent();
12 |
13 | }
14 |
15 | private void InitializeComponent()
16 | {
17 | AvaloniaXamlLoader.Load(this);
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Views/ReKeyView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace SQRLDotNetClientUI.Views
6 | {
7 | public class ReKeyView : UserControl
8 | {
9 | public ReKeyView()
10 | {
11 | this.InitializeComponent();
12 | }
13 |
14 | private void InitializeComponent()
15 | {
16 | AvaloniaXamlLoader.Load(this);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Views/AppSettingsView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace SQRLDotNetClientUI.Views
6 | {
7 | public class AppSettingsView : UserControl
8 | {
9 | public AppSettingsView()
10 | {
11 | this.InitializeComponent();
12 | }
13 |
14 | private void InitializeComponent()
15 | {
16 | AvaloniaXamlLoader.Load(this);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Views/ExportIdentityView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace SQRLDotNetClientUI.Views
6 | {
7 | public class ExportIdentityView : UserControl
8 | {
9 | public ExportIdentityView()
10 | {
11 | this.InitializeComponent();
12 | }
13 |
14 | private void InitializeComponent()
15 | {
16 | AvaloniaXamlLoader.Load(this);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Views/ImportIdentityView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace SQRLDotNetClientUI.Views
6 | {
7 | public class ImportIdentityView : UserControl
8 | {
9 | public ImportIdentityView()
10 | {
11 | this.InitializeComponent();
12 | }
13 |
14 | private void InitializeComponent()
15 | {
16 | AvaloniaXamlLoader.Load(this);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Views/RootBailView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace SQRLPlatformAwareInstaller.Views
6 | {
7 | public class RootBailView : UserControl
8 | {
9 | public RootBailView()
10 | {
11 | this.InitializeComponent();
12 | }
13 |
14 | private void InitializeComponent()
15 | {
16 | AvaloniaXamlLoader.Load(this);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Views/UninstallView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace SQRLPlatformAwareInstaller.Views
6 | {
7 | public class UninstallView : UserControl
8 | {
9 | public UninstallView()
10 | {
11 | this.InitializeComponent();
12 | }
13 |
14 | private void InitializeComponent()
15 | {
16 | AvaloniaXamlLoader.Load(this);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Views/IdentitySettingsView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace SQRLDotNetClientUI.Views
6 | {
7 | public class IdentitySettingsView : UserControl
8 | {
9 | public IdentitySettingsView()
10 | {
11 | this.InitializeComponent();
12 | }
13 |
14 | private void InitializeComponent()
15 | {
16 | AvaloniaXamlLoader.Load(this);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Views/MainInstallView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace SQRLPlatformAwareInstaller.Views
6 | {
7 | public class MainInstallView : UserControl
8 | {
9 | public MainInstallView()
10 | {
11 | this.InitializeComponent();
12 | }
13 |
14 | private void InitializeComponent()
15 | {
16 | AvaloniaXamlLoader.Load(this);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Views/VersionSelectorView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace SQRLPlatformAwareInstaller.Views
6 | {
7 | public class VersionSelectorView : UserControl
8 | {
9 | public VersionSelectorView()
10 | {
11 | this.InitializeComponent();
12 | }
13 |
14 | private void InitializeComponent()
15 | {
16 | AvaloniaXamlLoader.Load(this);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Views/InstallationCompleteView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 |
5 | namespace SQRLPlatformAwareInstaller.Views
6 | {
7 | public class InstallationCompleteView : UserControl
8 | {
9 | public InstallationCompleteView()
10 | {
11 | this.InitializeComponent();
12 | }
13 |
14 | private void InitializeComponent()
15 | {
16 | AvaloniaXamlLoader.Load(this);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/.github/workflows/dotnetcore.yml:
--------------------------------------------------------------------------------
1 | name: Build & Test
2 |
3 | on: [push, pull_request]
4 |
5 | jobs:
6 | build:
7 |
8 | runs-on: ubuntu-latest
9 |
10 | steps:
11 | - uses: actions/checkout@v1
12 | - name: Setup .NET Core SDK
13 | uses: actions/setup-dotnet@v1.4.0
14 | with:
15 | # SDK version to use. Example: 2.2.104
16 | dotnet-version: 3.1.100 # optional
17 | - name: Build with dotnet
18 | run: dotnet build --configuration Release
19 | - name: Test with dotnet
20 | run: dotnet test
21 |
--------------------------------------------------------------------------------
/SQRLCommon/AvaloniaExtensions/MenuItemViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 | using System.Windows.Input;
5 |
6 | namespace SQRLCommon.AvaloniaExtensions
7 | {
8 | public class MenuItemViewModel
9 | {
10 | public string Header { get; set; }
11 | public ICommand Command { get; set; }
12 | public object CommandParameter { get; set; }
13 | public IList Items { get; set; }
14 |
15 | public override string ToString()
16 | {
17 | return Header;
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/App.xaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/ViewModels/RootBailViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace SQRLPlatformAwareInstaller.ViewModels
6 | {
7 | ///
8 | /// Simple View Model for displaying "bail out" message
9 | ///
10 | public class RootBailViewModel: ViewModelBase
11 | {
12 | public RootBailViewModel()
13 | {
14 | this.Title = _loc.GetLocalizationValue("BailTitle");
15 | }
16 | public void Leave()
17 | {
18 | Environment.Exit(0);
19 | }
20 |
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/App.xaml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/.github/workflows/createrelease.yml:
--------------------------------------------------------------------------------
1 | name: Create and Publish Release
2 |
3 | on:
4 | milestone:
5 | types: [closed]
6 |
7 | jobs:
8 | build:
9 |
10 | runs-on: windows-latest
11 |
12 | steps:
13 | - uses: actions/checkout@v1
14 | - name: Setup .NET Core SDK
15 | uses: actions/setup-dotnet@v1.4.0
16 | with:
17 | # SDK version to use. Example: 2.2.104
18 | dotnet-version: 3.1.100 # optional
19 | - name: Create Releases Assets
20 | run: |
21 | powershell .github/releases.ps1 -token ${{secrets.TOKEN}} -milestone ${{ github.event.milestone.title }} -milestonedesc ${{ github.event.milestone.description }}
22 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Behaviors/FocusOnAttached.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Controls;
2 | using Avalonia.Threading;
3 | using Avalonia.Xaml.Interactivity;
4 |
5 | namespace SQRLDotNetClientUI.Behaviors
6 | {
7 | ///
8 | /// This behaviour can be set in XAML to give initial focus
9 | /// to a UI control.
10 | ///
11 | public class FocusOnAttached: Behavior
12 | {
13 | protected override void OnAttached()
14 | {
15 | base.OnAttached();
16 |
17 | Dispatcher.UIThread.Post(() =>
18 | {
19 | AssociatedObject.Focus();
20 | }, DispatcherPriority.Layout);
21 | }
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/SQRLCommon/AvaloniaExtensions/StringUppercaseConverter.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Data.Converters;
2 | using System;
3 | using System.Collections.Generic;
4 | using System.Text;
5 |
6 | namespace SQRLCommon.AvaloniaExtensions
7 | {
8 | public class StringUppercaseConverter : IValueConverter
9 | {
10 | public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
11 | {
12 | return value.ToString().ToUpper();
13 | }
14 |
15 | public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
16 | {
17 | return value.ToString().ToLower();
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Sodium.Core/Exceptions/KeyOutOfRangeException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Sodium.Exceptions
4 | {
5 | public class KeyOutOfRangeException : ArgumentOutOfRangeException
6 | {
7 | public KeyOutOfRangeException()
8 | {
9 | }
10 |
11 | public KeyOutOfRangeException(string message)
12 | : base(message)
13 | {
14 | }
15 |
16 | public KeyOutOfRangeException(string message, Exception inner)
17 | : base(message, inner)
18 | {
19 | }
20 |
21 | public KeyOutOfRangeException(string paramName, object actualValue, string message)
22 | : base(paramName, actualValue, message)
23 | {
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Sodium.Core/Exceptions/MacOutOfRangeException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Sodium.Exceptions
4 | {
5 | public class MacOutOfRangeException : ArgumentOutOfRangeException
6 | {
7 | public MacOutOfRangeException()
8 | {
9 | }
10 |
11 | public MacOutOfRangeException(string message)
12 | : base(message)
13 | {
14 | }
15 |
16 | public MacOutOfRangeException(string message, Exception inner)
17 | : base(message, inner)
18 | {
19 | }
20 |
21 | public MacOutOfRangeException(string paramName, object actualValue, string message)
22 | : base(paramName, actualValue, message)
23 | {
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Sodium.Core/Exceptions/SaltOutOfRangeException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Sodium.Exceptions
4 | {
5 | public class SaltOutOfRangeException : ArgumentOutOfRangeException
6 | {
7 | public SaltOutOfRangeException()
8 | {
9 | }
10 |
11 | public SaltOutOfRangeException(string message)
12 | : base(message)
13 | {
14 | }
15 |
16 | public SaltOutOfRangeException(string message, Exception inner)
17 | : base(message, inner)
18 | {
19 | }
20 |
21 | public SaltOutOfRangeException(string paramName, object actualValue, string message)
22 | : base(paramName, actualValue, message)
23 | {
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Sodium.Core/Exceptions/SeedOutOfRangeException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Sodium.Exceptions
4 | {
5 | public class SeedOutOfRangeException : ArgumentOutOfRangeException
6 | {
7 | public SeedOutOfRangeException()
8 | {
9 | }
10 |
11 | public SeedOutOfRangeException(string message)
12 | : base(message)
13 | {
14 | }
15 |
16 | public SeedOutOfRangeException(string message, Exception inner)
17 | : base(message, inner)
18 | {
19 | }
20 |
21 | public SeedOutOfRangeException(string paramName, object actualValue, string message)
22 | : base(paramName, actualValue, message)
23 | {
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Sodium.Core/Exceptions/BytesOutOfRangeException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Sodium.Exceptions
4 | {
5 | public class BytesOutOfRangeException : ArgumentOutOfRangeException
6 | {
7 | public BytesOutOfRangeException()
8 | {
9 | }
10 |
11 | public BytesOutOfRangeException(string message)
12 | : base(message)
13 | {
14 | }
15 |
16 | public BytesOutOfRangeException(string message, Exception inner)
17 | : base(message, inner)
18 | {
19 | }
20 |
21 | public BytesOutOfRangeException(string paramName, object actualValue, string message)
22 | : base(paramName, actualValue, message)
23 | {
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Sodium.Core/Exceptions/NonceOutOfRangeException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Sodium.Exceptions
4 | {
5 | public class NonceOutOfRangeException : ArgumentOutOfRangeException
6 | {
7 | public NonceOutOfRangeException()
8 | {
9 | }
10 |
11 | public NonceOutOfRangeException(string message)
12 | : base(message)
13 | {
14 | }
15 |
16 | public NonceOutOfRangeException(string message, Exception inner)
17 | : base(message, inner)
18 | {
19 | }
20 |
21 | public NonceOutOfRangeException(string paramName, object actualValue, string message)
22 | : base(paramName, actualValue, message)
23 | {
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Sodium.Core/Exceptions/PersonalOutOfRangeException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Sodium.Exceptions
4 | {
5 | public class PersonalOutOfRangeException : ArgumentOutOfRangeException
6 | {
7 | public PersonalOutOfRangeException()
8 | {
9 | }
10 |
11 | public PersonalOutOfRangeException(string message)
12 | : base(message)
13 | {
14 | }
15 |
16 | public PersonalOutOfRangeException(string message, Exception inner)
17 | : base(message, inner)
18 | {
19 | }
20 |
21 | public PersonalOutOfRangeException(string paramName, object actualValue, string message)
22 | : base(paramName, actualValue, message)
23 | {
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Sodium.Core/Exceptions/SignatureOutOfRangeException .cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Sodium.Exceptions
4 | {
5 | public class SignatureOutOfRangeException : ArgumentOutOfRangeException
6 | {
7 | public SignatureOutOfRangeException()
8 | {
9 | }
10 |
11 | public SignatureOutOfRangeException(string message)
12 | : base(message)
13 | {
14 | }
15 |
16 | public SignatureOutOfRangeException(string message, Exception inner)
17 | : base(message, inner)
18 | {
19 | }
20 |
21 | public SignatureOutOfRangeException(string paramName, object actualValue, string message)
22 | : base(paramName, actualValue, message)
23 | {
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/Sodium.Core/Exceptions/AdditionalDataOutOfRangeException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Sodium.Exceptions
4 | {
5 | public class AdditionalDataOutOfRangeException : ArgumentOutOfRangeException
6 | {
7 | public AdditionalDataOutOfRangeException()
8 | {
9 | }
10 |
11 | public AdditionalDataOutOfRangeException(string message)
12 | : base(message)
13 | {
14 | }
15 |
16 | public AdditionalDataOutOfRangeException(string message, Exception inner)
17 | : base(message, inner)
18 | {
19 | }
20 |
21 | public AdditionalDataOutOfRangeException(string paramName, object actualValue, string message)
22 | : base(paramName, actualValue, message)
23 | {
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/DB/Migrations/20200418165401_AddStartMinimized.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.EntityFrameworkCore.Migrations;
2 |
3 | namespace SQRLDotNetClientUI.Migrations
4 | {
5 | public partial class AddStartMinimized : Migration
6 | {
7 | protected override void Up(MigrationBuilder migrationBuilder)
8 | {
9 | migrationBuilder.AddColumn(
10 | name: "StartMinimized",
11 | table: "UserData",
12 | nullable: false,
13 | defaultValue: false);
14 | }
15 |
16 | protected override void Down(MigrationBuilder migrationBuilder)
17 | {
18 | migrationBuilder.DropColumn(
19 | name: "StartMinimized",
20 | table: "UserData");
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/ViewModels/ViewModelBase.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Platform;
3 | using ReactiveUI;
4 | using SQRLCommon.AvaloniaExtensions;
5 | using SQRLPlatformAwareInstaller.Views;
6 |
7 | namespace SQRLPlatformAwareInstaller.ViewModels
8 | {
9 | public class ViewModelBase : ReactiveObject
10 | {
11 | protected MainWindow _mainWindow = AvaloniaLocator.Current.GetService();
12 | protected LocalizationExtension _loc = AvaloniaLocator.Current.GetService().LocalizationService;
13 | protected IAssetLoader _assets = AvaloniaLocator.Current.GetService();
14 |
15 | private string title = "";
16 | public string Title
17 | {
18 | get => this.title;
19 | set { this.RaiseAndSetIfChanged(ref title, value); }
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Sodium.Core/SecretAead.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Sodium
4 | {
5 | [Obsolete("Use SecretAeadChaCha20Poly1305 instead")]
6 | public static class SecretAead
7 | {
8 | [Obsolete("Use SecretAeadChaCha20Poly1305.GenerateNonce instead")]
9 | public static byte[] GenerateNonce() => SecretAeadChaCha20Poly1305.GenerateNonce();
10 |
11 | [Obsolete("Use SecretAeadChaCha20Poly1305.Encrypt instead")]
12 | public static byte[] Encrypt(byte[] message, byte[] nonce, byte[] key, byte[] additionalData = null) => SecretAeadChaCha20Poly1305.Encrypt(message, nonce, key, additionalData);
13 |
14 | [Obsolete("Use SecretAeadChaCha20Poly1305.Decrypt instead")]
15 | public static byte[] Decrypt(byte[] cipher, byte[] nonce, byte[] key, byte[] additionalData = null) => SecretAeadChaCha20Poly1305.Decrypt(cipher, nonce, key, additionalData);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/SQRLCommon/AvaloniaExtensions/EnumBooleanConverter.cs:
--------------------------------------------------------------------------------
1 | using Avalonia.Data.Converters;
2 | using System;
3 |
4 |
5 | namespace SQRLCommon.AvaloniaExtensions
6 | {
7 | public class EnumBooleanConverter : IValueConverter
8 | {
9 | public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
10 | {
11 | string parameterString = parameter.ToString();
12 |
13 | object parameterValue = Enum.Parse(value.GetType(), parameterString);
14 |
15 | return parameterValue.Equals(value);
16 | }
17 |
18 | public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
19 | {
20 | string parameterString = parameter.ToString();
21 |
22 | return Enum.Parse(targetType, parameterString);
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/DB/Models/UserData.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace SQRLDotNetClientUI.DB.Models
6 | {
7 | ///
8 | /// Stores user information such as the last loaded identity, etc.
9 | ///
10 | public class UserData
11 | {
12 | ///
13 | /// The database record id for the UserData.
14 | ///
15 | public int Id { get; set; }
16 |
17 | ///
18 | /// The id of the last loaded identity.
19 | ///
20 | public string LastLoadedIdentity { get; set; }
21 |
22 | ///
23 | /// Gets or sets a value that determines if the app should start
24 | /// minimized to the tray icon.
25 | ///
26 | public bool StartMinimized { get; set; } = false;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Models/SystemEventArgs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Text;
4 |
5 | namespace SQRLDotNetClientUI.Models
6 | {
7 | ///
8 | /// Represents event args for system event notifications.
9 | ///
10 | public class SystemEventArgs : EventArgs
11 | {
12 | ///
13 | /// The description of the system event that triggered the notification.
14 | ///
15 | public string EventDescription;
16 |
17 | ///
18 | /// Creates a new SystemEventArgs instance.
19 | ///
20 | /// The description of the system event that triggered the notification.
21 | public SystemEventArgs(string eventDescription)
22 | {
23 | this.EventDescription = eventDescription;
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/ViewLocator.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Avalonia.Controls;
3 | using Avalonia.Controls.Templates;
4 | using SQRLDotNetClientUI.ViewModels;
5 |
6 | namespace SQRLDotNetClientUI
7 | {
8 | public class ViewLocator : IDataTemplate
9 | {
10 | public bool SupportsRecycling => false;
11 |
12 | public IControl Build(object data)
13 | {
14 | var name = data.GetType().FullName.Replace("ViewModel", "View");
15 | var type = Type.GetType(name);
16 |
17 | if (type != null)
18 | {
19 | return (Control)Activator.CreateInstance(type);
20 | }
21 | else
22 | {
23 | return new TextBlock { Text = "Not Found: " + name };
24 | }
25 | }
26 |
27 | public bool Match(object data)
28 | {
29 | return data is ViewModelBase;
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/ViewLocator.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Avalonia.Controls;
3 | using Avalonia.Controls.Templates;
4 | using SQRLPlatformAwareInstaller.ViewModels;
5 |
6 | namespace SQRLPlatformAwareInstaller
7 | {
8 | public class ViewLocator : IDataTemplate
9 | {
10 | public bool SupportsRecycling => false;
11 |
12 | public IControl Build(object data)
13 | {
14 | var name = data.GetType().FullName.Replace("ViewModel", "View");
15 | var type = Type.GetType(name);
16 |
17 | if (type != null)
18 | {
19 | return (Control)Activator.CreateInstance(type);
20 | }
21 | else
22 | {
23 | return new TextBlock { Text = "Not Found: " + name };
24 | }
25 | }
26 |
27 | public bool Match(object data)
28 | {
29 | return data is ViewModelBase;
30 | }
31 | }
32 | }
--------------------------------------------------------------------------------
/Sodium.Core/DetachedBox.cs:
--------------------------------------------------------------------------------
1 | namespace Sodium
2 | {
3 | /// A ciphertext / mac pair.
4 | public class DetachedBox
5 | {
6 | /// Initializes a new instance of the class.
7 | public DetachedBox()
8 | {
9 | //do nothing
10 | }
11 |
12 | /// Initializes a new instance of the class.
13 | /// The cipher.
14 | /// The 16 byte mac.
15 | public DetachedBox(byte[] cipherText, byte[] mac)
16 | {
17 | CipherText = cipherText;
18 | Mac = mac;
19 | }
20 |
21 | /// Gets or sets the Cipher.
22 | public byte[] CipherText { get; set; }
23 |
24 | /// Gets or sets the MAC.
25 | public byte[] Mac { get; set; }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Views/NewIdentityView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 | using SQRLCommon.AvaloniaExtensions;
5 |
6 | namespace SQRLDotNetClientUI.Views
7 | {
8 | public class NewIdentityView : UserControl
9 | {
10 | public NewIdentityView()
11 | {
12 | this.InitializeComponent();
13 | }
14 |
15 | private void InitializeComponent()
16 | {
17 | AvaloniaXamlLoader.Load(this);
18 |
19 | // This is only here because for some reason the XAML behaviour "FocusOnAttached"
20 | // isn't working for this window. No clue why, probably a dumb mistake on my part.
21 | // If anyone gets this working in XAML, this ugly hack can be removed!
22 | this.FindControl("txtIdentityName").AttachedToVisualTree +=
23 | (sender, e) => (sender as CopyPasteTextBox).Focus();
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Views/ChangePasswordView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 | using SQRLCommon.AvaloniaExtensions;
5 |
6 | namespace SQRLDotNetClientUI.Views
7 | {
8 | public class ChangePasswordView : UserControl
9 | {
10 | public ChangePasswordView()
11 | {
12 | this.InitializeComponent();
13 | }
14 |
15 | private void InitializeComponent()
16 | {
17 | AvaloniaXamlLoader.Load(this);
18 |
19 | // This is only here because for some reason the XAML behaviour "FocusOnAttached"
20 | // isn't working for this window. No clue why, probably a dumb mistake on my part.
21 | // If anyone gets this working in XAML, this ugly hack can be removed!
22 | this.FindControl("txtPassword").AttachedToVisualTree +=
23 | (sender, e) => (sender as CopyPasteTextBox).Focus();
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Views/NewIdentityVerifyView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 | using SQRLCommon.AvaloniaExtensions;
5 |
6 | namespace SQRLDotNetClientUI.Views
7 | {
8 | public class NewIdentityVerifyView : UserControl
9 | {
10 | public NewIdentityVerifyView()
11 | {
12 | this.InitializeComponent();
13 | }
14 |
15 | private void InitializeComponent()
16 | {
17 | AvaloniaXamlLoader.Load(this);
18 |
19 | // This is only here because for some reason the XAML behaviour "FocusOnAttached"
20 | // isn't working for this window. No clue why, probably a dumb mistake on my part.
21 | // If anyone gets this working in XAML, this ugly hack can be removed!
22 | this.FindControl("txtRescueCode").AttachedToVisualTree +=
23 | (sender, e) => (sender as CopyPasteTextBox).Focus();
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Assets/SQRLPlatformAwareInstaller_linux.policy:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 | Run SQRL Platform Installer Program
8 | Authentication is required to run the SQRL Platform Installer
9 | system-software-install
10 |
11 | auth_admin
12 | auth_admin
13 | auth_admin
14 |
15 | INSTALLER_PATH
16 | true
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Views/ImportIdentitySetupView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 | using SQRLCommon.AvaloniaExtensions;
5 |
6 | namespace SQRLDotNetClientUI.Views
7 | {
8 | public class ImportIdentitySetupView : UserControl
9 | {
10 | public ImportIdentitySetupView()
11 | {
12 | this.InitializeComponent();
13 | }
14 |
15 | private void InitializeComponent()
16 | {
17 | AvaloniaXamlLoader.Load(this);
18 |
19 | // This is only here because for some reason the XAML behaviour "FocusOnAttached"
20 | // isn't working for this window. No clue why, probably a dumb mistake on my part.
21 | // If anyone gets this working in XAML, this ugly hack can be removed!
22 | this.FindControl("txtIdentityName").AttachedToVisualTree +=
23 | (sender, e) => (sender as CopyPasteTextBox).Focus();
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Views/MainWindow.xaml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/SQRLPlatformAwareInstaller/Views/MainWindow.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 | using SQRLCommon.AvaloniaExtensions;
5 |
6 | namespace SQRLPlatformAwareInstaller.Views
7 | {
8 | public class MainWindow : Window
9 | {
10 | public LocalizationExtension LocalizationService { get; }
11 | public MainWindow()
12 | {
13 | InitializeComponent();
14 | if (AvaloniaLocator.Current.GetService() == null)
15 | {
16 | AvaloniaLocator.CurrentMutable.Bind().ToConstant(this);
17 | }
18 | this.LocalizationService = new LocalizationExtension();
19 | this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
20 | #if DEBUG
21 | this.AttachDevTools();
22 | #endif
23 | }
24 |
25 | private void InitializeComponent()
26 | {
27 | AvaloniaXamlLoader.Load(this);
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/DB/Models/Identity.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel.DataAnnotations;
4 | using System.Text;
5 |
6 | namespace SQRLDotNetClientUI.DB.Models
7 | {
8 | ///
9 | /// This is a database model representing a SQRL identity record.
10 | ///
11 | public class Identity
12 | {
13 | ///
14 | /// The unique identifier of the identity.
15 | ///
16 | [Key]
17 | public string UniqueId { get; set; }
18 |
19 | ///
20 | /// The genesis identifier of the identity.
21 | ///
22 | public string GenesisId { get; set; }
23 |
24 | ///
25 | /// The identity's name.
26 | ///
27 | public string Name { get; set; }
28 |
29 | ///
30 | /// The identity's raw data bytes.
31 | ///
32 | public byte[] DataBytes { get; set; }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/SQRLUtilLibTest/SQRLUtilLibTest.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp3.1
5 |
6 | false
7 |
8 |
9 |
10 |
11 |
12 |
13 | all
14 | runtime; build; native; contentfiles; analyzers; buildtransitive
15 |
16 |
17 | all
18 | runtime; build; native; contentfiles; analyzers; buildtransitive
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Views/MainWindow.xaml:
--------------------------------------------------------------------------------
1 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Views/MessageBoxView.xaml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Views/ProgressDialogView.xaml:
--------------------------------------------------------------------------------
1 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/SQRLDotNetClientUI/Views/MainMenuView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Avalonia;
2 | using Avalonia.Controls;
3 | using Avalonia.Markup.Xaml;
4 | using SQRLCommon.AvaloniaExtensions;
5 | using SQRLDotNetClientUI.ViewModels;
6 | using System.Collections.Generic;
7 |
8 | namespace SQRLDotNetClientUI.Views
9 | {
10 | public class MainMenuView : UserControl
11 | {
12 | public MainMenuView()
13 | {
14 | this.InitializeComponent();
15 | SetupLanguageMenu();
16 | }
17 |
18 | ///
19 | /// Adds all available language options to the main menu.
20 | ///
21 | private void SetupLanguageMenu()
22 | {
23 | // We need to instantiate a LocalizationExtension here
24 | // so that the can be sure that the localization data is initialized.
25 | LocalizationExtension loc = new LocalizationExtension();
26 |
27 | MenuItem languageMenu = this.FindControl