Skip to content

Commit 72a18d2

Browse files
authored
Merge pull request #1 from unoplatform/dev/michael-hawker/uno-conversion
Initial Uno Conversion
2 parents f8915b0 + 4faf3e8 commit 72a18d2

File tree

70 files changed

+1705
-445
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+1705
-445
lines changed

Directory.Build.props

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
<Project>
22

33
<PropertyGroup>
4-
<Authors>Microsoft.Toolkit</Authors>
4+
<Authors>nventive</Authors>
55
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
66
<NoPackageAnalysis>true</NoPackageAnalysis>
7-
<PackageIconUrl>https://raw.githubusercontent.com/windows-toolkit/WindowsCommunityToolkit/master/build/nuget.png</PackageIconUrl>
8-
<PackageProjectUrl>https://github.com/windows-toolkit/WindowsCommunityToolkit</PackageProjectUrl>
9-
<PackageLicenseUrl>https://github.com/windows-toolkit/WindowsCommunityToolkit/blob/master/license.md</PackageLicenseUrl>
10-
<PackageReleaseNotes>https://github.com/windows-toolkit/WindowsCommunityToolkit/releases</PackageReleaseNotes>
7+
<PackageIconUrl>https://raw.githubusercontent.com/unoplatform/Uno.WindowsCommunityToolkit/uno/build/nuget.png</PackageIconUrl>
8+
<PackageProjectUrl>https://github.com/unoplatform/Uno.WindowsCommunityToolkit</PackageProjectUrl>
9+
<PackageLicenseUrl>https://github.com/unoplatform/Uno.WindowsCommunityToolkit/blob/uno/license.md</PackageLicenseUrl>
10+
<PackageReleaseNotes>https://github.com/unoplatform/Uno.WindowsCommunityToolkit/releases</PackageReleaseNotes>
1111
<Copyright>(c) .NET Foundation and Contributors. All rights reserved.</Copyright>
1212
<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)Toolkit.ruleset</CodeAnalysisRuleSet>
1313
<DefaultLanguage>en-US</DefaultLanguage>
14+
15+
<!--<TargetFrameworksOverride>xamarinios10</TargetFrameworksOverride>-->
16+
<TargetFrameworksOverride>uap10.0.16299;MonoAndroid80;xamarinios10;netstandard2.0</TargetFrameworksOverride>
17+
1418
<IsDesignProject>$(MSBuildProjectName.Contains('.Design'))</IsDesignProject>
1519
<IsTestProject>$(MSBuildProjectName.Contains('Test'))</IsTestProject>
1620
<IsUwpProject Condition="'$(IsDesignProject)' != 'true'">$(MSBuildProjectName.Contains('Uwp'))</IsUwpProject>
@@ -21,14 +25,14 @@
2125
</PropertyGroup>
2226

2327
<PropertyGroup>
24-
<SignAssembly Condition="'$(SignAssembly)' == '' and '$(IsUwpProject)' != 'true'" >true</SignAssembly>
28+
<SignAssembly Condition="'$(SignAssembly)' == '' and '$(IsUwpProject)' != 'true' and '$(TargetFramework)'!='netstandard2.0'" >true</SignAssembly>
2529
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)toolkit.snk</AssemblyOriginatorKeyFile>
2630
</PropertyGroup>
2731

2832
<Choose>
2933
<When Condition="'$(IsTestProject)' != 'true' and '$(IsSampleProject)' != 'true' and '$(IsDesignProject)' != 'true'">
3034
<PropertyGroup>
31-
<GenerateDocumentationFile>true</GenerateDocumentationFile>
35+
<!--<GenerateDocumentationFile>true</GenerateDocumentationFile>-->
3236
</PropertyGroup>
3337
</When>
3438
</Choose>
@@ -62,7 +66,7 @@
6266
<When Condition="'$(IsTestProject)' != 'true' and '$(IsSampleProject)' != 'true' and '$(IsDesignProject)' != 'true'">
6367
<ItemGroup>
6468
<!--<PackageReference Include="Microsoft.VisualStudio.Threading.Analyzers" Version="15.3.83" PrivateAssets="all" />-->
65-
<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />
69+
<!--<PackageReference Include="StyleCop.Analyzers" Version="1.0.2" PrivateAssets="all" />-->
6670

6771
<EmbeddedResource Include="**\*.rd.xml" />
6872
<Page Include="**\*.xaml" Exclude="**\bin\**\*.xaml;**\obj\**\*.xaml" SubType="Designer" Generator="MSBuild:Compile" />
@@ -74,14 +78,23 @@
7478
</When>
7579
</Choose>
7680

81+
<PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.0'">
82+
<DefineConstants>$(DefineConstants);__WASM__</DefineConstants>
83+
</PropertyGroup>
84+
85+
<PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' or '$(TargetFramework)' == 'MonoAndroid80' or '$(TargetFramework)' == 'xamarinios10' ">
86+
<NoWarn>$(NoWarn);CS0649;CS0067;CS1998</NoWarn>
87+
</PropertyGroup>
88+
7789
<PropertyGroup Condition="'$(IsUwpProject)' == 'true'">
7890

7991
<!-- 8002 is a strong named -> non-strong-named reference -->
8092
<!-- This is valid for platforms other than .NET Framework (and is needed for the UWP targets -->
81-
<NoWarn>$(NoWarn);8002</NoWarn>
93+
<NoWarn>$(NoWarn);8002;</NoWarn>
94+
<NoWarn>$(NoWarn);CS1998</NoWarn>
8295
</PropertyGroup>
8396

84-
<ItemGroup>
97+
<ItemGroup Condition="!$([MSBuild]::IsOsUnixLike())">
8598
<PackageReference Include="Nerdbank.GitVersioning" Version=" 2.1.65" PrivateAssets="all" />
8699
</ItemGroup>
87100

@@ -90,4 +103,10 @@
90103
<Link>stylecop.json</Link>
91104
</AdditionalFiles>
92105
</ItemGroup>
106+
107+
<PropertyGroup>
108+
<!-- Workaround for android build using the Uno Source Generators: https://github.com/nventive/Uno.SourceGeneration/issues/109 -->
109+
<JavaSdkDirectory Condition="'$(JavaSdkDirectory)'=='' and '$(JAVA_HOME_8_X64)'!=''">$(JAVA_HOME_8_X64)</JavaSdkDirectory>
110+
</PropertyGroup>
111+
93112
</Project>

Directory.Build.targets

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project>
22
<Choose>
3-
<When Condition="'$(TargetFramework)' == 'uap10.0' or '$(TargetFramework)' == 'uap10.0.16299' or '$(TargetFramework)' == 'native' or '$(TargetFramework)' == 'net461'">
3+
<When Condition="'$(TargetFramework)' == 'uap10.0' or '$(TargetFramework)' == 'uap10.0.16299' or '$(TargetFramework)' == 'native'">
44
<!-- UAP versions for uap10.0 where TPMV isn't implied -->
55
<PropertyGroup>
66
<TargetPlatformVersion>10.0.$(DefaultTargetPlatformVersion).0</TargetPlatformVersion>
@@ -27,4 +27,11 @@
2727
</AssemblyAttribute>
2828
</ItemGroup>
2929
</Target>
30+
31+
<Target Name="AndroidResourceGenWorkaround_16_2"
32+
AfterTargets="_UpdateAndroidResgen"
33+
Condition="'$(AndroidUseIntermediateDesignerFile)'=='True' and !Exists($(_AndroidResourceDesignerFile))">
34+
<WriteLinesToFile File="$(_AndroidResourceDesignerFile)" Lines="// Empty Content from uno.ui Directory.Build.targets." />
35+
</Target>
36+
3037
</Project>

Microsoft.Toolkit.Graph.Controls/Controls/LoginButton/LoginButton.xaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
xmlns:graphconverters="using:Microsoft.Toolkit.Graph.Converters">
77

88
<converters:BoolNegationConverter x:Key="InverseBoolConverter"/>
9-
<converters:EmptyObjectToObjectConverter x:Key="InverseNullToVisibilityConverter" EmptyValue="Visible" NotEmptyValue="Collapsed"/>
9+
<!-- Uno TODO same named resource restriction -->
10+
<converters:EmptyObjectToObjectConverter x:Key="InverseNullToVisibilityConverter2" EmptyValue="Visible" NotEmptyValue="Collapsed"/>
1011
<graphconverters:UserToPersonConverter x:Key="UserToPersonConverter"/>
1112

1213
<Style TargetType="local:LoginButton">
@@ -25,7 +26,7 @@
2526
IsEnabled="{Binding IsLoading, Converter={StaticResource InverseBoolConverter}, RelativeSource={RelativeSource TemplatedParent}}">
2627
<StackPanel Orientation="Horizontal">
2728
<local:PersonView PersonDetails="{Binding UserDetails, Converter={StaticResource UserToPersonConverter}, RelativeSource={RelativeSource TemplatedParent}}" ShowName="True"/>
28-
<TextBlock Visibility="{Binding UserDetails, Converter={StaticResource InverseNullToVisibilityConverter}, RelativeSource={RelativeSource TemplatedParent}}"
29+
<TextBlock Visibility="{Binding UserDetails, Converter={StaticResource InverseNullToVisibilityConverter2}, RelativeSource={RelativeSource TemplatedParent}}"
2930
VerticalAlignment="Center">Sign In</TextBlock>
3031
</StackPanel>
3132
<FlyoutBase.AttachedFlyout>

Microsoft.Toolkit.Graph.Controls/Controls/PersonView/PersonView.cs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,12 +101,13 @@ protected override void OnApplyTemplate()
101101
{
102102
base.OnApplyTemplate();
103103

104-
if (Resources.TryGetValue(PersonViewDefaultImageSourceResourceName, out object value) && value is string uri)
105-
{
106-
_defaultImageSource = uri;
107-
_defaultImage = new BitmapImage(new Uri(_defaultImageSource)); // TODO: Couldn't load image from app package, only remote or in our assembly?
108-
UserPhoto = _defaultImage;
109-
}
104+
// TODO Uno need to figure out the cannot convert string to Uri error later, this isn't important for initial preview
105+
//if (Resources.TryGetValue(PersonViewDefaultImageSourceResourceName, out object value) && value is string uri)
106+
//{
107+
// _defaultImageSource = uri;
108+
// _defaultImage = new BitmapImage(new Uri(_defaultImageSource)); // TODO: Couldn't load image from app package, only remote or in our assembly?
109+
// UserPhoto = _defaultImage;
110+
//}
110111

111112
LoadData();
112113
}
@@ -218,7 +219,11 @@ private async Task DecodeStreamAsync(Stream photoStream)
218219
{
219220
if (photoStream != null)
220221
{
222+
#if HAS_UNO
223+
var ras = photoStream;
224+
#else
221225
using (var ras = photoStream.AsRandomAccessStream())
226+
#endif
222227
{
223228
var bitmap = new BitmapImage();
224229
await bitmap.SetSourceAsync(ras);

Microsoft.Toolkit.Graph.Controls/Controls/PersonView/PersonView.xaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,13 @@
99
<converters:EmptyObjectToObjectConverter x:Key="InverseNullToVisibilityConverter" EmptyValue="Visible" NotEmptyValue="Collapsed"/>
1010
<converters:BoolToObjectConverter x:Key="BoolToSizeConverter" FalseValue="24" TrueValue="48"/>
1111

12-
<x:String x:Key="PersonViewDefaultImageSource">ms-appx:///Microsoft.Toolkit.Graph.Controls/Assets/person.png</x:String>
13-
1412
<Style TargetType="local:PersonView">
1513
<Setter Property="Padding" Value="4,4,0,4" />
1614
<Setter Property="HorizontalAlignment" Value="Left"/>
1715
<Setter Property="VerticalAlignment" Value="Top"/>
1816
<Setter Property="UserPhoto">
1917
<Setter.Value>
20-
<BitmapImage UriSource="{StaticResource PersonViewDefaultImageSource}"/>
18+
<BitmapImage UriSource="ms-appx:///Microsoft.Toolkit.Graph.Controls/Assets/person.png"/>
2119
</Setter.Value>
2220
</Setter>
2321
<Setter Property="Template">

Microsoft.Toolkit.Graph.Controls/Microsoft.Toolkit.Graph.Controls.csproj

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
<Project Sdk="MSBuild.Sdk.Extras">
1+
<Project Sdk="MSBuild.Sdk.Extras">
22

33
<PropertyGroup>
4-
<TargetFramework>uap10.0.16299</TargetFramework>
4+
<TargetFrameworks>$(TargetFrameworksOverride)</TargetFrameworks>
55
<Title>Windows Community Toolkit Graph Controls</Title>
6-
<PackageId>Microsoft.Toolkit.Graph.Controls</PackageId>
6+
<PackageId>Uno.Microsoft.Toolkit.Graph.Controls</PackageId>
77
<Description>
88
This library provides Microsoft Graph XAML controls. It is part of the Windows Community Toolkit.
99

@@ -14,17 +14,30 @@
1414
</Description>
1515
<PackageTags>UWP Toolkit Windows Controls MSAL Microsoft Graph AadLogin ProfileCard Person PeoplePicker Login</PackageTags>
1616
<SignAssembly>false</SignAssembly>
17-
17+
<GenerateLibraryLayout>true</GenerateLibraryLayout>
18+
<NoWarn>CS1701;1702;Uno0001;NU1701</NoWarn>
1819
</PropertyGroup>
1920

2021
<ItemGroup>
2122
<Content Include="Assets\person.png" />
2223
</ItemGroup>
24+
25+
<PropertyGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
26+
<DefineConstants>$(DefineConstants);__WASM__</DefineConstants>
27+
</PropertyGroup>
2328

24-
<ItemGroup>
25-
<PackageReference Include="Microsoft.Toolkit.Uwp.UI" Version="6.0.0-build.14" />
29+
<ItemGroup>
2630
<ProjectReference Include="..\Microsoft.Toolkit.Graph\Microsoft.Toolkit.Graph.csproj" />
2731
</ItemGroup>
32+
33+
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' == 'MonoAndroid' or '$(TargetFrameworkIdentifier)' == 'Xamarin.iOS' or '$(TargetFramework)' == 'netstandard2.0'">
34+
<PackageReference Include="Uno.UI" Version="1.46.0-dev.1991" />
35+
<PackageReference Include="Uno.Microsoft.Toolkit.Uwp.UI" Version="5.1.0-build.200.gf9c311b069" />
36+
</ItemGroup>
37+
38+
<ItemGroup Condition="'$(TargetFramework)' == 'uap10.0' or '$(TargetFramework)' == 'uap10.0.16299' ">
39+
<PackageReference Include="Microsoft.Toolkit.Uwp.UI" Version="6.0.0-build.12" />
40+
</ItemGroup>
2841

2942
<ItemGroup>
3043
<None Include="VisualStudioToolsManifest.xml" Pack="true" PackagePath="tools" />
@@ -43,11 +56,14 @@
4356

4457
<Import Project="$(MSBuildSDKExtrasTargets)" Condition="Exists('$(MSBuildSDKExtrasTargets)')" />
4558
<!-- https://weblogs.asp.net/rweigelt/disable-warnings-in-generated-c-files-of-uwp-app -->
46-
<Target Name="PragmaWarningDisablePrefixer" AfterTargets="MarkupCompilePass2">
59+
<Target Name="PragmaWarningDisablePrefixer" AfterTargets="MarkupCompilePass2" Condition="'$(TargetFramework)' == 'uap10.0' or '$(TargetFramework)' == 'uap10.0.16299'">
4760
<ItemGroup>
4861
<GeneratedCSFiles Include="**\*.g.cs;**\*.g.i.cs" />
4962
</ItemGroup>
5063
<Message Text="CSFiles: @(GeneratedCSFiles->'&quot;%(Identity)&quot;')" />
5164
<Exec Command="for %%f in (@(GeneratedCSFiles->'&quot;%(Identity)&quot;')) do echo #pragma warning disable &gt; %%f.temp &amp;&amp; type %%f &gt;&gt; %%f.temp &amp;&amp; move /y %%f.temp %%f &gt; NUL" />
5265
</Target>
66+
67+
<Import Project="..\uno.ui.include.props" />
68+
5369
</Project>

Microsoft.Toolkit.Graph.Controls/Providers/CommonProviderWrapper.Properties.cs

Lines changed: 0 additions & 62 deletions
This file was deleted.

Microsoft.Toolkit.Graph.Controls/Providers/CommonProviderWrapper.cs

Lines changed: 0 additions & 62 deletions
This file was deleted.

0 commit comments

Comments
 (0)