diff --git a/Git-Credential-Manager.sln b/Git-Credential-Manager.sln index 39248b52c..75e1254b7 100644 --- a/Git-Credential-Manager.sln +++ b/Git-Credential-Manager.sln @@ -41,18 +41,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Packaging.Linux", "src\linu EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "linux", "linux", "{8F9D7E67-7DD7-4E32-9134-423281AF00E9}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitHub.UI", "src\shared\GitHub.UI\GitHub.UI.csproj", "{B5F00B46-FE93-45F2-B283-52B74B3E13B9}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Atlassian.Bitbucket.UI", "src\shared\Atlassian.Bitbucket.UI\Atlassian.Bitbucket.UI.csproj", "{EB1AA840-6FFF-4464-A9B2-0AEA36F615EA}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.UI", "src\shared\Core.UI\Core.UI.csproj", "{001846B0-462B-4A27-90CD-2435D4C0F680}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.UI.Avalonia", "src\shared\Core.UI.Avalonia\Core.UI.Avalonia.csproj", "{DE620324-250C-4262-BA13-198FA6FDB82A}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitHub.UI.Avalonia", "src\shared\GitHub.UI.Avalonia\GitHub.UI.Avalonia.csproj", "{459501A8-31E6-41CB-BE54-D31FFF4B2007}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Atlassian.Bitbucket.UI.Avalonia", "src\shared\Atlassian.Bitbucket.UI.Avalonia\Atlassian.Bitbucket.UI.Avalonia.csproj", "{714ACBE7-0C69-4D8A-9224-22792CAA8264}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitHub.UI.Windows", "src\windows\GitHub.UI.Windows\GitHub.UI.Windows.csproj", "{0A86ED89-1FC5-42AA-925C-4578FA30607A}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Atlassian.Bitbucket.UI.Windows", "src\windows\Atlassian.Bitbucket.UI.Windows\Atlassian.Bitbucket.UI.Windows.csproj", "{3F015046-DAF2-4D2A-96EC-F9782F169E45}" @@ -61,14 +49,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitLab", "src\shared\GitLab EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitLab.Tests", "src\shared\GitLab.Tests\GitLab.Tests.csproj", "{1AF9F7C5-FA2E-48F1-B216-4D5E9A27F393}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitLab.UI", "src\shared\GitLab.UI\GitLab.UI.csproj", "{9AFD88E2-7E2C-46DA-9D38-4342086426D3}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitLab.UI.Avalonia", "src\shared\GitLab.UI.Avalonia\GitLab.UI.Avalonia.csproj", "{47186A50-8889-4FC7-8A05-F9FCE7F8F4AE}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitLab.UI.Windows", "src\windows\GitLab.UI.Windows\GitLab.UI.Windows.csproj", "{83EAC1F9-8E1F-41FC-8FC9-2C452452D64E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Git-Credential-Manager.UI.Avalonia", "src\shared\Git-Credential-Manager.UI.Avalonia\Git-Credential-Manager.UI.Avalonia.csproj", "{35659127-8859-4DB9-8DD6-A08C1952632E}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Git-Credential-Manager.UI.Windows", "src\windows\Git-Credential-Manager.UI.Windows\Git-Credential-Manager.UI.Windows.csproj", "{01BF56EC-AAC1-4BCA-8204-EE51D968DF5C}" EndProject Global @@ -283,102 +265,6 @@ Global {AD2A935F-3720-4802-8119-6A9B35B254DF}.WindowsDebug|Any CPU.ActiveCfg = Debug|Any CPU {AD2A935F-3720-4802-8119-6A9B35B254DF}.WindowsRelease|Any CPU.ActiveCfg = Release|Any CPU {AD2A935F-3720-4802-8119-6A9B35B254DF}.LinuxRelease|Any CPU.Build.0 = Release|Any CPU - {B5F00B46-FE93-45F2-B283-52B74B3E13B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B5F00B46-FE93-45F2-B283-52B74B3E13B9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B5F00B46-FE93-45F2-B283-52B74B3E13B9}.MacDebug|Any CPU.ActiveCfg = Debug|Any CPU - {B5F00B46-FE93-45F2-B283-52B74B3E13B9}.MacDebug|Any CPU.Build.0 = Debug|Any CPU - {B5F00B46-FE93-45F2-B283-52B74B3E13B9}.MacRelease|Any CPU.ActiveCfg = Release|Any CPU - {B5F00B46-FE93-45F2-B283-52B74B3E13B9}.MacRelease|Any CPU.Build.0 = Release|Any CPU - {B5F00B46-FE93-45F2-B283-52B74B3E13B9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B5F00B46-FE93-45F2-B283-52B74B3E13B9}.Release|Any CPU.Build.0 = Release|Any CPU - {B5F00B46-FE93-45F2-B283-52B74B3E13B9}.WindowsDebug|Any CPU.ActiveCfg = Debug|Any CPU - {B5F00B46-FE93-45F2-B283-52B74B3E13B9}.WindowsDebug|Any CPU.Build.0 = Debug|Any CPU - {B5F00B46-FE93-45F2-B283-52B74B3E13B9}.WindowsRelease|Any CPU.ActiveCfg = Release|Any CPU - {B5F00B46-FE93-45F2-B283-52B74B3E13B9}.WindowsRelease|Any CPU.Build.0 = Release|Any CPU - {B5F00B46-FE93-45F2-B283-52B74B3E13B9}.LinuxDebug|Any CPU.ActiveCfg = Debug|Any CPU - {B5F00B46-FE93-45F2-B283-52B74B3E13B9}.LinuxDebug|Any CPU.Build.0 = Debug|Any CPU - {B5F00B46-FE93-45F2-B283-52B74B3E13B9}.LinuxRelease|Any CPU.ActiveCfg = Release|Any CPU - {B5F00B46-FE93-45F2-B283-52B74B3E13B9}.LinuxRelease|Any CPU.Build.0 = Release|Any CPU - {EB1AA840-6FFF-4464-A9B2-0AEA36F615EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EB1AA840-6FFF-4464-A9B2-0AEA36F615EA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EB1AA840-6FFF-4464-A9B2-0AEA36F615EA}.MacDebug|Any CPU.ActiveCfg = Debug|Any CPU - {EB1AA840-6FFF-4464-A9B2-0AEA36F615EA}.MacDebug|Any CPU.Build.0 = Debug|Any CPU - {EB1AA840-6FFF-4464-A9B2-0AEA36F615EA}.MacRelease|Any CPU.ActiveCfg = Release|Any CPU - {EB1AA840-6FFF-4464-A9B2-0AEA36F615EA}.MacRelease|Any CPU.Build.0 = Release|Any CPU - {EB1AA840-6FFF-4464-A9B2-0AEA36F615EA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EB1AA840-6FFF-4464-A9B2-0AEA36F615EA}.Release|Any CPU.Build.0 = Release|Any CPU - {EB1AA840-6FFF-4464-A9B2-0AEA36F615EA}.WindowsDebug|Any CPU.ActiveCfg = Debug|Any CPU - {EB1AA840-6FFF-4464-A9B2-0AEA36F615EA}.WindowsDebug|Any CPU.Build.0 = Debug|Any CPU - {EB1AA840-6FFF-4464-A9B2-0AEA36F615EA}.WindowsRelease|Any CPU.ActiveCfg = Release|Any CPU - {EB1AA840-6FFF-4464-A9B2-0AEA36F615EA}.WindowsRelease|Any CPU.Build.0 = Release|Any CPU - {EB1AA840-6FFF-4464-A9B2-0AEA36F615EA}.LinuxDebug|Any CPU.ActiveCfg = Debug|Any CPU - {EB1AA840-6FFF-4464-A9B2-0AEA36F615EA}.LinuxDebug|Any CPU.Build.0 = Debug|Any CPU - {EB1AA840-6FFF-4464-A9B2-0AEA36F615EA}.LinuxRelease|Any CPU.ActiveCfg = Release|Any CPU - {EB1AA840-6FFF-4464-A9B2-0AEA36F615EA}.LinuxRelease|Any CPU.Build.0 = Release|Any CPU - {001846B0-462B-4A27-90CD-2435D4C0F680}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {001846B0-462B-4A27-90CD-2435D4C0F680}.Debug|Any CPU.Build.0 = Debug|Any CPU - {001846B0-462B-4A27-90CD-2435D4C0F680}.MacDebug|Any CPU.ActiveCfg = Debug|Any CPU - {001846B0-462B-4A27-90CD-2435D4C0F680}.MacDebug|Any CPU.Build.0 = Debug|Any CPU - {001846B0-462B-4A27-90CD-2435D4C0F680}.MacRelease|Any CPU.ActiveCfg = Release|Any CPU - {001846B0-462B-4A27-90CD-2435D4C0F680}.MacRelease|Any CPU.Build.0 = Release|Any CPU - {001846B0-462B-4A27-90CD-2435D4C0F680}.Release|Any CPU.ActiveCfg = Release|Any CPU - {001846B0-462B-4A27-90CD-2435D4C0F680}.Release|Any CPU.Build.0 = Release|Any CPU - {001846B0-462B-4A27-90CD-2435D4C0F680}.WindowsDebug|Any CPU.ActiveCfg = Debug|Any CPU - {001846B0-462B-4A27-90CD-2435D4C0F680}.WindowsDebug|Any CPU.Build.0 = Debug|Any CPU - {001846B0-462B-4A27-90CD-2435D4C0F680}.WindowsRelease|Any CPU.ActiveCfg = Release|Any CPU - {001846B0-462B-4A27-90CD-2435D4C0F680}.WindowsRelease|Any CPU.Build.0 = Release|Any CPU - {001846B0-462B-4A27-90CD-2435D4C0F680}.LinuxDebug|Any CPU.ActiveCfg = Debug|Any CPU - {001846B0-462B-4A27-90CD-2435D4C0F680}.LinuxDebug|Any CPU.Build.0 = Debug|Any CPU - {001846B0-462B-4A27-90CD-2435D4C0F680}.LinuxRelease|Any CPU.ActiveCfg = Release|Any CPU - {001846B0-462B-4A27-90CD-2435D4C0F680}.LinuxRelease|Any CPU.Build.0 = Release|Any CPU - {DE620324-250C-4262-BA13-198FA6FDB82A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DE620324-250C-4262-BA13-198FA6FDB82A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DE620324-250C-4262-BA13-198FA6FDB82A}.MacDebug|Any CPU.ActiveCfg = Debug|Any CPU - {DE620324-250C-4262-BA13-198FA6FDB82A}.MacDebug|Any CPU.Build.0 = Debug|Any CPU - {DE620324-250C-4262-BA13-198FA6FDB82A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DE620324-250C-4262-BA13-198FA6FDB82A}.Release|Any CPU.Build.0 = Release|Any CPU - {DE620324-250C-4262-BA13-198FA6FDB82A}.WindowsDebug|Any CPU.ActiveCfg = Debug|Any CPU - {DE620324-250C-4262-BA13-198FA6FDB82A}.WindowsDebug|Any CPU.Build.0 = Debug|Any CPU - {DE620324-250C-4262-BA13-198FA6FDB82A}.LinuxDebug|Any CPU.ActiveCfg = Debug|Any CPU - {DE620324-250C-4262-BA13-198FA6FDB82A}.LinuxDebug|Any CPU.Build.0 = Debug|Any CPU - {DE620324-250C-4262-BA13-198FA6FDB82A}.LinuxRelease|Any CPU.ActiveCfg = Release|Any CPU - {DE620324-250C-4262-BA13-198FA6FDB82A}.LinuxRelease|Any CPU.Build.0 = Release|Any CPU - {DE620324-250C-4262-BA13-198FA6FDB82A}.MacRelease|Any CPU.ActiveCfg = Release|Any CPU - {DE620324-250C-4262-BA13-198FA6FDB82A}.MacRelease|Any CPU.Build.0 = Release|Any CPU - {DE620324-250C-4262-BA13-198FA6FDB82A}.WindowsRelease|Any CPU.ActiveCfg = Release|Any CPU - {DE620324-250C-4262-BA13-198FA6FDB82A}.WindowsRelease|Any CPU.Build.0 = Release|Any CPU - {459501A8-31E6-41CB-BE54-D31FFF4B2007}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {459501A8-31E6-41CB-BE54-D31FFF4B2007}.Debug|Any CPU.Build.0 = Debug|Any CPU - {459501A8-31E6-41CB-BE54-D31FFF4B2007}.MacDebug|Any CPU.ActiveCfg = Debug|Any CPU - {459501A8-31E6-41CB-BE54-D31FFF4B2007}.MacDebug|Any CPU.Build.0 = Debug|Any CPU - {459501A8-31E6-41CB-BE54-D31FFF4B2007}.Release|Any CPU.ActiveCfg = Release|Any CPU - {459501A8-31E6-41CB-BE54-D31FFF4B2007}.Release|Any CPU.Build.0 = Release|Any CPU - {459501A8-31E6-41CB-BE54-D31FFF4B2007}.WindowsDebug|Any CPU.ActiveCfg = Debug|Any CPU - {459501A8-31E6-41CB-BE54-D31FFF4B2007}.WindowsDebug|Any CPU.Build.0 = Debug|Any CPU - {459501A8-31E6-41CB-BE54-D31FFF4B2007}.LinuxDebug|Any CPU.ActiveCfg = Debug|Any CPU - {459501A8-31E6-41CB-BE54-D31FFF4B2007}.LinuxDebug|Any CPU.Build.0 = Debug|Any CPU - {459501A8-31E6-41CB-BE54-D31FFF4B2007}.LinuxRelease|Any CPU.ActiveCfg = Release|Any CPU - {459501A8-31E6-41CB-BE54-D31FFF4B2007}.LinuxRelease|Any CPU.Build.0 = Release|Any CPU - {459501A8-31E6-41CB-BE54-D31FFF4B2007}.MacRelease|Any CPU.ActiveCfg = Release|Any CPU - {459501A8-31E6-41CB-BE54-D31FFF4B2007}.MacRelease|Any CPU.Build.0 = Release|Any CPU - {459501A8-31E6-41CB-BE54-D31FFF4B2007}.WindowsRelease|Any CPU.ActiveCfg = Release|Any CPU - {459501A8-31E6-41CB-BE54-D31FFF4B2007}.WindowsRelease|Any CPU.Build.0 = Release|Any CPU - {714ACBE7-0C69-4D8A-9224-22792CAA8264}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {714ACBE7-0C69-4D8A-9224-22792CAA8264}.Debug|Any CPU.Build.0 = Debug|Any CPU - {714ACBE7-0C69-4D8A-9224-22792CAA8264}.MacDebug|Any CPU.ActiveCfg = Debug|Any CPU - {714ACBE7-0C69-4D8A-9224-22792CAA8264}.MacDebug|Any CPU.Build.0 = Debug|Any CPU - {714ACBE7-0C69-4D8A-9224-22792CAA8264}.Release|Any CPU.ActiveCfg = Release|Any CPU - {714ACBE7-0C69-4D8A-9224-22792CAA8264}.Release|Any CPU.Build.0 = Release|Any CPU - {714ACBE7-0C69-4D8A-9224-22792CAA8264}.WindowsDebug|Any CPU.ActiveCfg = Debug|Any CPU - {714ACBE7-0C69-4D8A-9224-22792CAA8264}.WindowsDebug|Any CPU.Build.0 = Debug|Any CPU - {714ACBE7-0C69-4D8A-9224-22792CAA8264}.LinuxDebug|Any CPU.ActiveCfg = Debug|Any CPU - {714ACBE7-0C69-4D8A-9224-22792CAA8264}.LinuxDebug|Any CPU.Build.0 = Debug|Any CPU - {714ACBE7-0C69-4D8A-9224-22792CAA8264}.LinuxRelease|Any CPU.ActiveCfg = Release|Any CPU - {714ACBE7-0C69-4D8A-9224-22792CAA8264}.LinuxRelease|Any CPU.Build.0 = Release|Any CPU - {714ACBE7-0C69-4D8A-9224-22792CAA8264}.MacRelease|Any CPU.ActiveCfg = Release|Any CPU - {714ACBE7-0C69-4D8A-9224-22792CAA8264}.MacRelease|Any CPU.Build.0 = Release|Any CPU - {714ACBE7-0C69-4D8A-9224-22792CAA8264}.WindowsRelease|Any CPU.ActiveCfg = Release|Any CPU - {714ACBE7-0C69-4D8A-9224-22792CAA8264}.WindowsRelease|Any CPU.Build.0 = Release|Any CPU {0A86ED89-1FC5-42AA-925C-4578FA30607A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0A86ED89-1FC5-42AA-925C-4578FA30607A}.MacDebug|Any CPU.ActiveCfg = Debug|Any CPU {0A86ED89-1FC5-42AA-925C-4578FA30607A}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -431,38 +317,6 @@ Global {1AF9F7C5-FA2E-48F1-B216-4D5E9A27F393}.MacRelease|Any CPU.Build.0 = Release|Any CPU {1AF9F7C5-FA2E-48F1-B216-4D5E9A27F393}.WindowsRelease|Any CPU.ActiveCfg = Release|Any CPU {1AF9F7C5-FA2E-48F1-B216-4D5E9A27F393}.WindowsRelease|Any CPU.Build.0 = Release|Any CPU - {9AFD88E2-7E2C-46DA-9D38-4342086426D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9AFD88E2-7E2C-46DA-9D38-4342086426D3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9AFD88E2-7E2C-46DA-9D38-4342086426D3}.MacDebug|Any CPU.ActiveCfg = Debug|Any CPU - {9AFD88E2-7E2C-46DA-9D38-4342086426D3}.MacDebug|Any CPU.Build.0 = Debug|Any CPU - {9AFD88E2-7E2C-46DA-9D38-4342086426D3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {9AFD88E2-7E2C-46DA-9D38-4342086426D3}.Release|Any CPU.Build.0 = Release|Any CPU - {9AFD88E2-7E2C-46DA-9D38-4342086426D3}.WindowsDebug|Any CPU.ActiveCfg = Debug|Any CPU - {9AFD88E2-7E2C-46DA-9D38-4342086426D3}.WindowsDebug|Any CPU.Build.0 = Debug|Any CPU - {9AFD88E2-7E2C-46DA-9D38-4342086426D3}.LinuxDebug|Any CPU.ActiveCfg = Debug|Any CPU - {9AFD88E2-7E2C-46DA-9D38-4342086426D3}.LinuxDebug|Any CPU.Build.0 = Debug|Any CPU - {9AFD88E2-7E2C-46DA-9D38-4342086426D3}.LinuxRelease|Any CPU.ActiveCfg = Release|Any CPU - {9AFD88E2-7E2C-46DA-9D38-4342086426D3}.LinuxRelease|Any CPU.Build.0 = Release|Any CPU - {9AFD88E2-7E2C-46DA-9D38-4342086426D3}.MacRelease|Any CPU.ActiveCfg = Release|Any CPU - {9AFD88E2-7E2C-46DA-9D38-4342086426D3}.MacRelease|Any CPU.Build.0 = Release|Any CPU - {9AFD88E2-7E2C-46DA-9D38-4342086426D3}.WindowsRelease|Any CPU.ActiveCfg = Release|Any CPU - {9AFD88E2-7E2C-46DA-9D38-4342086426D3}.WindowsRelease|Any CPU.Build.0 = Release|Any CPU - {47186A50-8889-4FC7-8A05-F9FCE7F8F4AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {47186A50-8889-4FC7-8A05-F9FCE7F8F4AE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {47186A50-8889-4FC7-8A05-F9FCE7F8F4AE}.MacDebug|Any CPU.ActiveCfg = Debug|Any CPU - {47186A50-8889-4FC7-8A05-F9FCE7F8F4AE}.MacDebug|Any CPU.Build.0 = Debug|Any CPU - {47186A50-8889-4FC7-8A05-F9FCE7F8F4AE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {47186A50-8889-4FC7-8A05-F9FCE7F8F4AE}.Release|Any CPU.Build.0 = Release|Any CPU - {47186A50-8889-4FC7-8A05-F9FCE7F8F4AE}.WindowsDebug|Any CPU.ActiveCfg = Debug|Any CPU - {47186A50-8889-4FC7-8A05-F9FCE7F8F4AE}.WindowsDebug|Any CPU.Build.0 = Debug|Any CPU - {47186A50-8889-4FC7-8A05-F9FCE7F8F4AE}.LinuxDebug|Any CPU.ActiveCfg = Debug|Any CPU - {47186A50-8889-4FC7-8A05-F9FCE7F8F4AE}.LinuxDebug|Any CPU.Build.0 = Debug|Any CPU - {47186A50-8889-4FC7-8A05-F9FCE7F8F4AE}.LinuxRelease|Any CPU.ActiveCfg = Release|Any CPU - {47186A50-8889-4FC7-8A05-F9FCE7F8F4AE}.LinuxRelease|Any CPU.Build.0 = Release|Any CPU - {47186A50-8889-4FC7-8A05-F9FCE7F8F4AE}.MacRelease|Any CPU.ActiveCfg = Release|Any CPU - {47186A50-8889-4FC7-8A05-F9FCE7F8F4AE}.MacRelease|Any CPU.Build.0 = Release|Any CPU - {47186A50-8889-4FC7-8A05-F9FCE7F8F4AE}.WindowsRelease|Any CPU.ActiveCfg = Release|Any CPU - {47186A50-8889-4FC7-8A05-F9FCE7F8F4AE}.WindowsRelease|Any CPU.Build.0 = Release|Any CPU {83EAC1F9-8E1F-41FC-8FC9-2C452452D64E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {83EAC1F9-8E1F-41FC-8FC9-2C452452D64E}.MacDebug|Any CPU.ActiveCfg = Debug|Any CPU {83EAC1F9-8E1F-41FC-8FC9-2C452452D64E}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -473,22 +327,6 @@ Global {83EAC1F9-8E1F-41FC-8FC9-2C452452D64E}.MacRelease|Any CPU.ActiveCfg = Release|Any CPU {83EAC1F9-8E1F-41FC-8FC9-2C452452D64E}.WindowsRelease|Any CPU.ActiveCfg = Release|Any CPU {83EAC1F9-8E1F-41FC-8FC9-2C452452D64E}.WindowsRelease|Any CPU.Build.0 = Release|Any CPU - {35659127-8859-4DB9-8DD6-A08C1952632E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {35659127-8859-4DB9-8DD6-A08C1952632E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {35659127-8859-4DB9-8DD6-A08C1952632E}.MacDebug|Any CPU.ActiveCfg = Debug|Any CPU - {35659127-8859-4DB9-8DD6-A08C1952632E}.MacDebug|Any CPU.Build.0 = Debug|Any CPU - {35659127-8859-4DB9-8DD6-A08C1952632E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {35659127-8859-4DB9-8DD6-A08C1952632E}.Release|Any CPU.Build.0 = Release|Any CPU - {35659127-8859-4DB9-8DD6-A08C1952632E}.WindowsDebug|Any CPU.ActiveCfg = Debug|Any CPU - {35659127-8859-4DB9-8DD6-A08C1952632E}.WindowsDebug|Any CPU.Build.0 = Debug|Any CPU - {35659127-8859-4DB9-8DD6-A08C1952632E}.LinuxDebug|Any CPU.ActiveCfg = Debug|Any CPU - {35659127-8859-4DB9-8DD6-A08C1952632E}.LinuxDebug|Any CPU.Build.0 = Debug|Any CPU - {35659127-8859-4DB9-8DD6-A08C1952632E}.LinuxRelease|Any CPU.ActiveCfg = Release|Any CPU - {35659127-8859-4DB9-8DD6-A08C1952632E}.LinuxRelease|Any CPU.Build.0 = Release|Any CPU - {35659127-8859-4DB9-8DD6-A08C1952632E}.MacRelease|Any CPU.ActiveCfg = Release|Any CPU - {35659127-8859-4DB9-8DD6-A08C1952632E}.MacRelease|Any CPU.Build.0 = Release|Any CPU - {35659127-8859-4DB9-8DD6-A08C1952632E}.WindowsRelease|Any CPU.ActiveCfg = Release|Any CPU - {35659127-8859-4DB9-8DD6-A08C1952632E}.WindowsRelease|Any CPU.Build.0 = Release|Any CPU {01BF56EC-AAC1-4BCA-8204-EE51D968DF5C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {01BF56EC-AAC1-4BCA-8204-EE51D968DF5C}.MacDebug|Any CPU.ActiveCfg = Debug|Any CPU {01BF56EC-AAC1-4BCA-8204-EE51D968DF5C}.MacRelease|Any CPU.ActiveCfg = Release|Any CPU @@ -522,20 +360,11 @@ Global {2B3CD8FF-84A6-4B53-A28B-D7A75B0AB4D7} = {66722747-1B61-40E4-A89B-1AC8E6D62EA9} {8F9D7E67-7DD7-4E32-9134-423281AF00E9} = {A7FC1234-95E3-4496-B5F7-4306F41E6A0E} {AD2A935F-3720-4802-8119-6A9B35B254DF} = {8F9D7E67-7DD7-4E32-9134-423281AF00E9} - {B5F00B46-FE93-45F2-B283-52B74B3E13B9} = {D5277A0E-997E-453A-8CB9-4EFCC8B16A29} - {EB1AA840-6FFF-4464-A9B2-0AEA36F615EA} = {D5277A0E-997E-453A-8CB9-4EFCC8B16A29} - {001846B0-462B-4A27-90CD-2435D4C0F680} = {D5277A0E-997E-453A-8CB9-4EFCC8B16A29} - {DE620324-250C-4262-BA13-198FA6FDB82A} = {D5277A0E-997E-453A-8CB9-4EFCC8B16A29} - {459501A8-31E6-41CB-BE54-D31FFF4B2007} = {D5277A0E-997E-453A-8CB9-4EFCC8B16A29} - {714ACBE7-0C69-4D8A-9224-22792CAA8264} = {D5277A0E-997E-453A-8CB9-4EFCC8B16A29} {0A86ED89-1FC5-42AA-925C-4578FA30607A} = {66722747-1B61-40E4-A89B-1AC8E6D62EA9} {3F015046-DAF2-4D2A-96EC-F9782F169E45} = {66722747-1B61-40E4-A89B-1AC8E6D62EA9} {570897DC-A85C-4598-B793-9A00CF710119} = {D5277A0E-997E-453A-8CB9-4EFCC8B16A29} {1AF9F7C5-FA2E-48F1-B216-4D5E9A27F393} = {D5277A0E-997E-453A-8CB9-4EFCC8B16A29} - {9AFD88E2-7E2C-46DA-9D38-4342086426D3} = {D5277A0E-997E-453A-8CB9-4EFCC8B16A29} - {47186A50-8889-4FC7-8A05-F9FCE7F8F4AE} = {D5277A0E-997E-453A-8CB9-4EFCC8B16A29} {83EAC1F9-8E1F-41FC-8FC9-2C452452D64E} = {66722747-1B61-40E4-A89B-1AC8E6D62EA9} - {35659127-8859-4DB9-8DD6-A08C1952632E} = {D5277A0E-997E-453A-8CB9-4EFCC8B16A29} {01BF56EC-AAC1-4BCA-8204-EE51D968DF5C} = {66722747-1B61-40E4-A89B-1AC8E6D62EA9} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution diff --git a/src/linux/Packaging.Linux/Packaging.Linux.csproj b/src/linux/Packaging.Linux/Packaging.Linux.csproj index e14eef0a4..edb7ef314 100644 --- a/src/linux/Packaging.Linux/Packaging.Linux.csproj +++ b/src/linux/Packaging.Linux/Packaging.Linux.csproj @@ -17,10 +17,6 @@ - - - - diff --git a/src/linux/Packaging.Linux/layout.sh b/src/linux/Packaging.Linux/layout.sh index 0f2c8ab6a..74b76a313 100755 --- a/src/linux/Packaging.Linux/layout.sh +++ b/src/linux/Packaging.Linux/layout.sh @@ -35,10 +35,6 @@ ROOT="$( cd "$THISDIR"/../../.. ; pwd -P )" SRC="$ROOT/src" OUT="$ROOT/out" GCM_SRC="$SRC/shared/Git-Credential-Manager" -GCM_UI_SRC="$SRC/shared/Git-Credential-Manager.UI.Avalonia" -BITBUCKET_UI_SRC="$SRC/shared/Atlassian.Bitbucket.UI.Avalonia" -GITHUB_UI_SRC="$SRC/shared/GitHub.UI.Avalonia" -GITLAB_UI_SRC="$SRC/shared/GitLab.UI.Avalonia" PROJ_OUT="$OUT/linux/Packaging.Linux" # Build parameters @@ -81,42 +77,6 @@ $DOTNET_ROOT/dotnet publish "$GCM_SRC" \ -p:PublishSingleFile=true \ --output="$(make_absolute "$PAYLOAD")" || exit 1 -echo "Publishing core UI helper..." -$DOTNET_ROOT/dotnet publish "$GCM_UI_SRC" \ - --configuration="$CONFIGURATION" \ - --framework="$FRAMEWORK" \ - --runtime="$RUNTIME" \ - --self-contained \ - -p:PublishSingleFile=true \ - --output="$(make_absolute "$PAYLOAD")" || exit 1 - -echo "Publishing Bitbucket UI helper..." -$DOTNET_ROOT/dotnet publish "$BITBUCKET_UI_SRC" \ - --configuration="$CONFIGURATION" \ - --framework="$FRAMEWORK" \ - --runtime="$RUNTIME" \ - --self-contained \ - -p:PublishSingleFile=true \ - --output="$(make_absolute "$PAYLOAD")" || exit 1 - -echo "Publishing GitHub UI helper..." -$DOTNET_ROOT/dotnet publish "$GITHUB_UI_SRC" \ - --configuration="$CONFIGURATION" \ - --framework="$FRAMEWORK" \ - --runtime="$RUNTIME" \ - --self-contained \ - -p:PublishSingleFile=true \ - --output="$(make_absolute "$PAYLOAD")" || exit 1 - -echo "Publishing GitLab UI helper..." -$DOTNET_ROOT/dotnet publish "$GITLAB_UI_SRC" \ - --configuration="$CONFIGURATION" \ - --framework="$FRAMEWORK" \ - --runtime="$RUNTIME" \ - --self-contained=true \ - -p:PublishSingleFile=true \ - --output="$(make_absolute "$PAYLOAD")" || exit 1 - # Collect symbols echo "Collecting managed symbols..." mv "$PAYLOAD"/*.pdb "$SYMBOLOUT" || exit 1 diff --git a/src/osx/Installer.Mac/Installer.Mac.csproj b/src/osx/Installer.Mac/Installer.Mac.csproj index dd0f33ea8..e55f211e2 100644 --- a/src/osx/Installer.Mac/Installer.Mac.csproj +++ b/src/osx/Installer.Mac/Installer.Mac.csproj @@ -13,10 +13,6 @@ - - - - diff --git a/src/osx/Installer.Mac/layout.sh b/src/osx/Installer.Mac/layout.sh index 0dc664338..a95eb1f0d 100755 --- a/src/osx/Installer.Mac/layout.sh +++ b/src/osx/Installer.Mac/layout.sh @@ -22,9 +22,6 @@ OUT="$ROOT/out" INSTALLER_SRC="$SRC/osx/Installer.Mac" GCM_SRC="$SRC/shared/Git-Credential-Manager" GCM_UI_SRC="$SRC/shared/Git-Credential-Manager.UI.Avalonia" -BITBUCKET_UI_SRC="$SRC/shared/Atlassian.Bitbucket.UI.Avalonia" -GITHUB_UI_SRC="$SRC/shared/GitHub.UI.Avalonia" -GITLAB_UI_SRC="$SRC/shared/GitLab.UI.Avalonia" # Build parameters FRAMEWORK=net6.0 @@ -103,38 +100,6 @@ dotnet publish "$GCM_SRC" \ --self-contained \ --output="$(make_absolute "$PAYLOAD")" || exit 1 -echo "Publishing core UI helper..." -dotnet publish "$GCM_UI_SRC" \ - --configuration="$CONFIGURATION" \ - --framework="$FRAMEWORK" \ - --runtime="$RUNTIME" \ - --self-contained \ - --output="$(make_absolute "$PAYLOAD")" || exit 1 - -echo "Publishing Bitbucket UI helper..." -dotnet publish "$BITBUCKET_UI_SRC" \ - --configuration="$CONFIGURATION" \ - --framework="$FRAMEWORK" \ - --runtime="$RUNTIME" \ - --self-contained \ - --output="$(make_absolute "$PAYLOAD")" || exit 1 - -echo "Publishing GitHub UI helper..." -dotnet publish "$GITHUB_UI_SRC" \ - --configuration="$CONFIGURATION" \ - --framework="$FRAMEWORK" \ - --runtime="$RUNTIME" \ - --self-contained \ - --output="$(make_absolute "$PAYLOAD")" || exit 1 - -echo "Publishing GitLab UI helper..." -dotnet publish "$GITLAB_UI_SRC" \ - --configuration="$CONFIGURATION" \ - --framework="$FRAMEWORK" \ - --runtime="$RUNTIME" \ - --self-contained \ - --output="$(make_absolute "$PAYLOAD")" || exit 1 - # Collect symbols echo "Collecting managed symbols..." mv "$PAYLOAD"/*.pdb "$SYMBOLOUT" || exit 1 diff --git a/src/shared/Atlassian.Bitbucket.Tests/BitbucketAuthenticationTest.cs b/src/shared/Atlassian.Bitbucket.Tests/BitbucketAuthenticationTest.cs index e92cb9061..a4a5e4afb 100644 --- a/src/shared/Atlassian.Bitbucket.Tests/BitbucketAuthenticationTest.cs +++ b/src/shared/Atlassian.Bitbucket.Tests/BitbucketAuthenticationTest.cs @@ -51,6 +51,7 @@ public async Task BitbucketAuthentication_GetCredentialsAsync_All_ShowsMenu_OAut { var context = new TestCommandContext(); context.SessionManager.IsDesktopSession = true; // Allow OAuth mode + context.Settings.IsGuiPromptsEnabled = false; // Force text prompts context.Terminal.Prompts["option (enter for default)"] = "1"; Uri targetUri = null; @@ -71,6 +72,7 @@ public async Task BitbucketAuthentication_GetCredentialsAsync_All_ShowsMenu_Basi var context = new TestCommandContext(); context.SessionManager.IsDesktopSession = true; // Allow OAuth mode + context.Settings.IsGuiPromptsEnabled = false; // Force text prompts context.Terminal.Prompts["option (enter for default)"] = "2"; context.Terminal.Prompts["Username"] = username; context.Terminal.SecretPrompts["Password"] = password; diff --git a/src/shared/Atlassian.Bitbucket.UI.Avalonia/Atlassian.Bitbucket.UI.Avalonia.csproj b/src/shared/Atlassian.Bitbucket.UI.Avalonia/Atlassian.Bitbucket.UI.Avalonia.csproj deleted file mode 100644 index a9185278a..000000000 --- a/src/shared/Atlassian.Bitbucket.UI.Avalonia/Atlassian.Bitbucket.UI.Avalonia.csproj +++ /dev/null @@ -1,24 +0,0 @@ - - - - WinExe - net6.0 - osx-x64;linux-x64;osx-arm64 - Atlassian.Bitbucket.UI - Atlassian.Bitbucket.UI - - - - - - - - - - TesterWindow.axaml - Code - - - - - diff --git a/src/shared/Atlassian.Bitbucket.UI.Avalonia/Commands/CredentialsCommandImpl.cs b/src/shared/Atlassian.Bitbucket.UI.Avalonia/Commands/CredentialsCommandImpl.cs deleted file mode 100644 index e9be595ad..000000000 --- a/src/shared/Atlassian.Bitbucket.UI.Avalonia/Commands/CredentialsCommandImpl.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.Threading; -using System.Threading.Tasks; -using Atlassian.Bitbucket.UI.ViewModels; -using Atlassian.Bitbucket.UI.Views; -using GitCredentialManager; -using GitCredentialManager.UI; - -namespace Atlassian.Bitbucket.UI.Commands -{ - public class CredentialsCommandImpl : CredentialsCommand - { - public CredentialsCommandImpl(ICommandContext context) : base(context) { } - - protected override Task ShowAsync(CredentialsViewModel viewModel, CancellationToken ct) - { - return AvaloniaUi.ShowViewAsync(viewModel, GetParentHandle(), ct); - } - } -} diff --git a/src/shared/Atlassian.Bitbucket.UI.Avalonia/Controls/TesterWindow.axaml b/src/shared/Atlassian.Bitbucket.UI.Avalonia/Controls/TesterWindow.axaml deleted file mode 100644 index fca8daf48..000000000 --- a/src/shared/Atlassian.Bitbucket.UI.Avalonia/Controls/TesterWindow.axaml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - + diff --git a/src/shared/Core.UI.Avalonia/Controls/DialogWindow.axaml.cs b/src/shared/Core/UI/Controls/DialogWindow.axaml.cs similarity index 95% rename from src/shared/Core.UI.Avalonia/Controls/DialogWindow.axaml.cs rename to src/shared/Core/UI/Controls/DialogWindow.axaml.cs index 1bed4d454..79501edb8 100644 --- a/src/shared/Core.UI.Avalonia/Controls/DialogWindow.axaml.cs +++ b/src/shared/Core/UI/Controls/DialogWindow.axaml.cs @@ -9,7 +9,7 @@ namespace GitCredentialManager.UI.Controls { - public class DialogWindow : Window + public partial class DialogWindow : Window { private readonly Control _view; private ContentControl _contentHolder; @@ -46,7 +46,7 @@ protected override void OnDataContextChanged(EventArgs e) // Send a focus request to the child view on idle if (_view is IFocusable focusable) { - Avalonia.Threading.Dispatcher.UIThread.Post(() => focusable.SetFocus(), DispatcherPriority.ApplicationIdle); + Avalonia.Threading.Dispatcher.UIThread.Post(() => focusable.SetFocus(), DispatcherPriority.Normal); } } } diff --git a/src/shared/Core.UI/Controls/IFocusable.cs b/src/shared/Core/UI/Controls/IFocusable.cs similarity index 100% rename from src/shared/Core.UI/Controls/IFocusable.cs rename to src/shared/Core/UI/Controls/IFocusable.cs diff --git a/src/shared/Core/UI/Converters/BoolConvertersEx.cs b/src/shared/Core/UI/Converters/BoolConvertersEx.cs new file mode 100644 index 000000000..836df8b8e --- /dev/null +++ b/src/shared/Core/UI/Converters/BoolConvertersEx.cs @@ -0,0 +1,42 @@ +using System; +using System.Globalization; +using System.Linq; +using Avalonia; +using Avalonia.Data.Converters; + +namespace GitCredentialManager.UI.Converters +{ + public static class BoolConvertersEx + { + public static readonly IValueConverter ToThickness = new BoolToThicknessConverter(); + + public static readonly IMultiValueConverter Or = + new FuncMultiValueConverter(x => x.Aggregate(false, (a, b) => a || b)); + + public static readonly IMultiValueConverter And = + new FuncMultiValueConverter(x => x.Aggregate(true, (a, b) => a && b)); + + private class BoolToThicknessConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if (value is not bool b) + { + return null; + } + + if (parameter is int i) + { + return b ? new Thickness(i) : new Thickness(0); + } + + return b ? new Thickness(1) : new Thickness(0); + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + return null; + } + } + } +} diff --git a/src/shared/Core.UI.Avalonia/Converters/WindowClientAreaConverters.cs b/src/shared/Core/UI/Converters/WindowClientAreaConverters.cs similarity index 100% rename from src/shared/Core.UI.Avalonia/Converters/WindowClientAreaConverters.cs rename to src/shared/Core/UI/Converters/WindowClientAreaConverters.cs diff --git a/src/shared/Core.UI.Avalonia/Dispatcher.cs b/src/shared/Core/UI/Dispatcher.cs similarity index 87% rename from src/shared/Core.UI.Avalonia/Dispatcher.cs rename to src/shared/Core/UI/Dispatcher.cs index dcbf1b224..9dd991438 100644 --- a/src/shared/Core.UI.Avalonia/Dispatcher.cs +++ b/src/shared/Core/UI/Dispatcher.cs @@ -59,7 +59,7 @@ public void VerifyAccess() /// Post work to be run on the thread associated with this dispatcher. /// /// Work to be run. - public void Post(Action work) + public void Post(Action work) { Task _ = InvokeAsync(work); } @@ -69,14 +69,14 @@ public void Post(Action work) /// synchronously until the work is complete. /// /// Work to be run. - public Task InvokeAsync(Action work) + public Task InvokeAsync(Action work) { var tcs = new TaskCompletionSource(); _queue.AddJob(new DispatcherJob(work, tcs)); return tcs.Task; } - public Task InvokeAsync(Func work) + public Task InvokeAsync(Func work) { var tcs = new TaskCompletionSource(); _queue.AddJob(new DispatcherJob(work, tcs)); @@ -85,41 +85,41 @@ public Task InvokeAsync(Func work) private interface IDispatcherJob { - void Execute(); + void Execute(CancellationToken ct); } private class DispatcherJob : IDispatcherJob { - private readonly Action _work; + private readonly Action _work; private readonly TaskCompletionSource _tcs; - public DispatcherJob(Action work, TaskCompletionSource tcs) + public DispatcherJob(Action work, TaskCompletionSource tcs) { _work = work; _tcs = tcs; } - public void Execute() + public void Execute(CancellationToken ct) { - _work(); + _work(ct); _tcs?.SetResult(null); } } private class DispatcherJob : IDispatcherJob { - private readonly Func _work; + private readonly Func _work; private readonly TaskCompletionSource _tcs; - public DispatcherJob(Func work, TaskCompletionSource tcs) + public DispatcherJob(Func work, TaskCompletionSource tcs) { _work = work; _tcs = tcs; } - public void Execute() + public void Execute(CancellationToken ct) { - TResult result = _work(); + TResult result = _work(ct); _tcs?.SetResult(result); } } @@ -127,6 +127,7 @@ public void Execute() private class DispatcherJobQueue { private readonly Queue _queue = new(); + private readonly CancellationTokenSource _cts = new(); private enum State { @@ -157,7 +158,7 @@ public void Run() while (TryTake(out IDispatcherJob job)) { - job.Execute(); + job.Execute(_cts.Token); } } @@ -175,6 +176,7 @@ public void Shutdown() throw new InvalidOperationException("Dispatcher has already shut down."); } _state = State.Stopping; + _cts.Cancel(); Monitor.Pulse(_queue); } } diff --git a/src/shared/Core.UI/HelperApplication.cs b/src/shared/Core/UI/HelperApplication.cs similarity index 100% rename from src/shared/Core.UI/HelperApplication.cs rename to src/shared/Core/UI/HelperApplication.cs diff --git a/src/shared/Core.UI/HelperCommand.cs b/src/shared/Core/UI/HelperCommand.cs similarity index 100% rename from src/shared/Core.UI/HelperCommand.cs rename to src/shared/Core/UI/HelperCommand.cs diff --git a/src/shared/Core.UI/RelayCommand.cs b/src/shared/Core/UI/RelayCommand.cs similarity index 100% rename from src/shared/Core.UI/RelayCommand.cs rename to src/shared/Core/UI/RelayCommand.cs diff --git a/src/shared/Core.UI/ViewModels/CredentialsViewModel.cs b/src/shared/Core/UI/ViewModels/CredentialsViewModel.cs similarity index 97% rename from src/shared/Core.UI/ViewModels/CredentialsViewModel.cs rename to src/shared/Core/UI/ViewModels/CredentialsViewModel.cs index 7f40b8bea..3376ef861 100644 --- a/src/shared/Core.UI/ViewModels/CredentialsViewModel.cs +++ b/src/shared/Core/UI/ViewModels/CredentialsViewModel.cs @@ -7,7 +7,7 @@ public class CredentialsViewModel : WindowViewModel private string _userName; private string _password; private string _description; - private bool _showProductHeader; + private bool _showProductHeader = true; private RelayCommand _signInCommand; public CredentialsViewModel() diff --git a/src/shared/Core.UI/ViewModels/DeviceCodeViewModel.cs b/src/shared/Core/UI/ViewModels/DeviceCodeViewModel.cs similarity index 97% rename from src/shared/Core.UI/ViewModels/DeviceCodeViewModel.cs rename to src/shared/Core/UI/ViewModels/DeviceCodeViewModel.cs index d44a9f2c7..45112518d 100644 --- a/src/shared/Core.UI/ViewModels/DeviceCodeViewModel.cs +++ b/src/shared/Core/UI/ViewModels/DeviceCodeViewModel.cs @@ -9,7 +9,7 @@ public class DeviceCodeViewModel : WindowViewModel private ICommand _verificationUrlCommand; private string _verificationUrl; private string _userCode; - private bool _showProductHeader; + private bool _showProductHeader = true; public DeviceCodeViewModel() { diff --git a/src/shared/Core.UI/ViewModels/OAuthViewModel.cs b/src/shared/Core/UI/ViewModels/OAuthViewModel.cs similarity index 97% rename from src/shared/Core.UI/ViewModels/OAuthViewModel.cs rename to src/shared/Core/UI/ViewModels/OAuthViewModel.cs index 607642f31..03a2110fb 100644 --- a/src/shared/Core.UI/ViewModels/OAuthViewModel.cs +++ b/src/shared/Core/UI/ViewModels/OAuthViewModel.cs @@ -5,7 +5,7 @@ namespace GitCredentialManager.UI.ViewModels public class OAuthViewModel : WindowViewModel { private string _description; - private bool _showProductHeader; + private bool _showProductHeader = true; private bool _showBrowserLogin; private bool _showDeviceCodeLogin; private RelayCommand _signInBrowserCommand; diff --git a/src/shared/Core.UI/ViewModels/ViewModel.cs b/src/shared/Core/UI/ViewModels/ViewModel.cs similarity index 100% rename from src/shared/Core.UI/ViewModels/ViewModel.cs rename to src/shared/Core/UI/ViewModels/ViewModel.cs diff --git a/src/shared/Core.UI/ViewModels/WindowViewModel.cs b/src/shared/Core/UI/ViewModels/WindowViewModel.cs similarity index 59% rename from src/shared/Core.UI/ViewModels/WindowViewModel.cs rename to src/shared/Core/UI/ViewModels/WindowViewModel.cs index 995a72f9b..078d7c3b8 100644 --- a/src/shared/Core.UI/ViewModels/WindowViewModel.cs +++ b/src/shared/Core/UI/ViewModels/WindowViewModel.cs @@ -5,7 +5,7 @@ namespace GitCredentialManager.UI.ViewModels public class WindowViewModel : ViewModel { private bool _extendClientArea; - private bool _showClientChromeOverride; + private bool _showCustomChromeOverride; private bool _showDebugControls; private string _title; @@ -14,8 +14,10 @@ public class WindowViewModel : ViewModel public WindowViewModel() { - // Default to hiding the system chrome on macOS only for now - ExtendClientArea = PlatformUtils.IsMacOS(); + Title = Constants.DefaultWindowTitle; + + // Extend the client area on Windows and macOS only + ExtendClientArea = PlatformUtils.IsMacOS() || PlatformUtils.IsWindows(); } public bool WindowResult { get; private set; } @@ -28,16 +30,25 @@ public bool ShowDebugControls public bool ShowCustomChrome { - get => ShowClientChromeOverride || (ExtendClientArea && !PlatformUtils.IsMacOS()); + // On macOS we typically do NOT want to show the custom chrome if we've extended the client area + // because the native 'traffic light' controls will still be visible and we don't want to show our own. + get => ShowCustomChromeOverride || (ExtendClientArea && !PlatformUtils.IsMacOS()); } - public bool ShowClientChromeOverride + public bool ShowCustomWindowBorder { - get => _showClientChromeOverride; + // Draw the window border explicitly on Windows + get => ShowCustomChrome && PlatformUtils.IsWindows(); + } + + public bool ShowCustomChromeOverride + { + get => _showCustomChromeOverride; set { - SetAndRaisePropertyChanged(ref _showClientChromeOverride, value); + SetAndRaisePropertyChanged(ref _showCustomChromeOverride, value); RaisePropertyChanged(nameof(ShowCustomChrome)); + RaisePropertyChanged(nameof(ShowCustomWindowBorder)); } } @@ -48,6 +59,7 @@ public bool ExtendClientArea { SetAndRaisePropertyChanged(ref _extendClientArea, value); RaisePropertyChanged(nameof(ShowCustomChrome)); + RaisePropertyChanged(nameof(ShowCustomWindowBorder)); } } diff --git a/src/shared/Git-Credential-Manager.UI.Avalonia/Views/CredentialsView.axaml b/src/shared/Core/UI/Views/CredentialsView.axaml similarity index 94% rename from src/shared/Git-Credential-Manager.UI.Avalonia/Views/CredentialsView.axaml rename to src/shared/Core/UI/Views/CredentialsView.axaml index 5f2b0e0fa..51659345f 100644 --- a/src/shared/Git-Credential-Manager.UI.Avalonia/Views/CredentialsView.axaml +++ b/src/shared/Core/UI/Views/CredentialsView.axaml @@ -2,8 +2,8 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:vm="clr-namespace:GitCredentialManager.UI.ViewModels;assembly=gcmcoreui" - xmlns:converters="clr-namespace:GitCredentialManager.UI.Converters;assembly=gcmcoreuiavn" + xmlns:vm="clr-namespace:GitCredentialManager.UI.ViewModels;assembly=gcmcore" + xmlns:converters="clr-namespace:GitCredentialManager.UI.Converters;assembly=gcmcore" mc:Ignorable="d" d:DesignWidth="420" x:Class="GitCredentialManager.UI.Views.CredentialsView"> @@ -17,7 +17,7 @@ IsVisible="{Binding ShowProductHeader}"> @@ -16,7 +16,7 @@ IsVisible="{Binding ShowProductHeader}"> @@ -16,7 +16,7 @@ IsVisible="{Binding ShowProductHeader}"> (viewModel, GetParentHandle(), ct); - } - } -} diff --git a/src/shared/Git-Credential-Manager.UI.Avalonia/Commands/DeviceCodeCommandImpl.cs b/src/shared/Git-Credential-Manager.UI.Avalonia/Commands/DeviceCodeCommandImpl.cs deleted file mode 100644 index 045dcab15..000000000 --- a/src/shared/Git-Credential-Manager.UI.Avalonia/Commands/DeviceCodeCommandImpl.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Threading; -using System.Threading.Tasks; -using GitCredentialManager.UI.ViewModels; -using GitCredentialManager.UI.Views; - -namespace GitCredentialManager.UI.Commands -{ - public class DeviceCodeCommandImpl : DeviceCodeCommand - { - public DeviceCodeCommandImpl(ICommandContext context) : base(context) { } - - protected override Task ShowAsync(DeviceCodeViewModel viewModel, CancellationToken ct) - { - return AvaloniaUi.ShowViewAsync(viewModel, GetParentHandle(), ct); - } - } -} diff --git a/src/shared/Git-Credential-Manager.UI.Avalonia/Commands/OAuthCommandImpl.cs b/src/shared/Git-Credential-Manager.UI.Avalonia/Commands/OAuthCommandImpl.cs deleted file mode 100644 index 536cda52a..000000000 --- a/src/shared/Git-Credential-Manager.UI.Avalonia/Commands/OAuthCommandImpl.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Threading; -using System.Threading.Tasks; -using GitCredentialManager.UI.ViewModels; -using GitCredentialManager.UI.Views; - -namespace GitCredentialManager.UI.Commands -{ - public class OAuthCommandImpl : OAuthCommand - { - public OAuthCommandImpl(ICommandContext context) : base(context) { } - - protected override Task ShowAsync(OAuthViewModel viewModel, CancellationToken ct) - { - return AvaloniaUi.ShowViewAsync(viewModel, GetParentHandle(), ct); - } - } -} diff --git a/src/shared/Git-Credential-Manager.UI.Avalonia/Controls/TesterWindow.axaml b/src/shared/Git-Credential-Manager.UI.Avalonia/Controls/TesterWindow.axaml deleted file mode 100644 index 4f96254d6..000000000 --- a/src/shared/Git-Credential-Manager.UI.Avalonia/Controls/TesterWindow.axaml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - -