Skip to content

Commit bbef6fc

Browse files
Bump Avalonia to 11.0 + fixes
1 parent f438372 commit bbef6fc

21 files changed

+51
-74
lines changed

Src/Denovo/App.axaml

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
<Application xmlns="https://github.com/avaloniaui"
22
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
33
xmlns:local="clr-namespace:Denovo"
4-
x:Class="Denovo.App">
4+
x:Class="Denovo.App"
5+
RequestedThemeVariant="Default">
6+
57
<Application.DataTemplates>
68
<local:ViewLocator/>
79
</Application.DataTemplates>
810

911
<Application.Styles>
10-
<StyleInclude Source="avares://Avalonia.Themes.Default/DefaultTheme.xaml"/>
11-
<StyleInclude Source="avares://Avalonia.Themes.Default/Accents/BaseLight.xaml"/>
12+
<SimpleTheme/>
1213
</Application.Styles>
1314

1415
<Application.Styles>

Src/Denovo/App.axaml.cs

+3-1
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,12 @@ public override void OnFrameworkInitializationCompleted()
5151
}
5252
}
5353

54+
MainWindowViewModel vm = new(network);
5455
desktop.MainWindow = new MainWindow
5556
{
56-
DataContext = new MainWindowViewModel(network)
57+
DataContext = vm
5758
};
59+
vm.Clipboard = desktop.MainWindow.Clipboard;
5860
}
5961

6062
base.OnFrameworkInitializationCompleted();

Src/Denovo/Denovo.csproj

+3-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@
1414
</PropertyGroup>
1515

1616
<ItemGroup>
17-
<PackageReference Include="Avalonia" Version="0.10.6" />
18-
<PackageReference Include="Avalonia.Desktop" Version="0.10.6" />
17+
<PackageReference Include="Avalonia" Version="11.0.5" />
18+
<PackageReference Include="Avalonia.Desktop" Version="11.0.5" />
19+
<PackageReference Include="Avalonia.Themes.Simple" Version="11.0.5" />
1920
</ItemGroup>
2021

2122
<ItemGroup>

Src/Denovo/ViewLocator.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ public class ViewLocator : IDataTemplate
1414
{
1515
public bool SupportsRecycling => false;
1616

17-
public IControl Build(object data)
17+
public Control Build(object data)
1818
{
1919
string name = data.GetType().FullName.Replace("ViewModel", "View");
2020
Type type = Type.GetType(name);
2121

22-
if (!(type is null))
22+
if (type is not null)
2323
{
2424
return (Control)Activator.CreateInstance(type);
2525
}

Src/Denovo/ViewModels/AboutViewModel.cs

+12-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// file LICENCE or http://www.opensource.org/licenses/mit-license.php.
55

66
using Avalonia;
7+
using Avalonia.Input.Platform;
78
using System.Diagnostics;
89
using System.Reflection;
910
using System.Runtime.InteropServices;
@@ -16,7 +17,13 @@ public AboutViewModel() : base(400, 600)
1617
{
1718
}
1819

20+
public AboutViewModel(IClipboard clipboard) : this()
21+
{
22+
Clipboard = clipboard;
23+
}
24+
1925

26+
public IClipboard Clipboard { get; set; }
2027
public string NameAndVersion => $"Denovo {Assembly.GetExecutingAssembly().GetName().Version.ToString(4)}";
2128
public string SourceLink => "https://github.com/Autarkysoft/Denovo";
2229
public string BitcointalkLink => "";
@@ -29,9 +36,12 @@ public AboutViewModel() : base(400, 600)
2936
private const string Bip21Extras = "?label=Coding-Enthusiast&message=Donation%20for%20Denovo%20project";
3037

3138

32-
public void Copy(int i)
39+
public async void Copy(int i)
3340
{
34-
Application.Current.Clipboard.SetTextAsync(i == 1 ? DonationAddr1 : DonationAddr2);
41+
if (Clipboard is not null)
42+
{
43+
await Clipboard.SetTextAsync(i == 1 ? DonationAddr1 : DonationAddr2);
44+
}
3545
}
3646

3747
// Taken from avalonia source code

Src/Denovo/ViewModels/MainWindowViewModel.cs

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
using Autarkysoft.Bitcoin.Clients;
88
using Autarkysoft.Bitcoin.P2PNetwork;
99
using Autarkysoft.Bitcoin.P2PNetwork.Messages;
10+
using Avalonia.Input.Platform;
1011
using Denovo.Models;
1112
using Denovo.MVVM;
1213
using Denovo.Services;
@@ -54,6 +55,7 @@ public MainWindowViewModel(NetworkType network)
5455
public NetworkType Network { get; }
5556
public NodePool AllNodes { get; set; }
5657

58+
public IClipboard Clipboard { get; set; }
5759
public IWindowManager WinMan { get; set; }
5860
public IDenovoFileManager FileMan { get; set; }
5961
public bool IsInitialized { get; }

Src/Denovo/Views/AboutView.axaml.cs

-2
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,11 @@
44
// file LICENCE or http://www.opensource.org/licenses/mit-license.php.
55

66
using Avalonia.Controls;
7-
using Avalonia.Markup.Xaml;
87

98
namespace Denovo.Views
109
{
1110
public partial class AboutView : UserControl
1211
{
1312
public AboutView() => InitializeComponent();
14-
private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
1513
}
1614
}

Src/Denovo/Views/ConfigurationView.axaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
</StackPanel>
2727
<StackPanel Orientation="Horizontal" Margin="5" Spacing="5" Grid.Row="1">
2828
<TextBlock Text="Select client type:"/>
29-
<ComboBox Items="{Binding ClientTypes}" SelectedItem="{Binding Config.SelectedClientType}" Width="120"/>
29+
<ComboBox ItemsSource="{Binding ClientTypes}" SelectedItem="{Binding Config.SelectedClientType}" Width="120"/>
3030
<TextBlock Text="Pruned size:" IsVisible="{Binding ShowPruneSize}"/>
3131
<TextBox Text="{Binding Config.PrunedSize}" IsVisible="{Binding ShowPruneSize}" Width="75"/>
3232
</StackPanel>
@@ -69,7 +69,7 @@
6969
</StackPanel>
7070
<StackPanel Orientation="Horizontal" Spacing="5">
7171
<TextBlock Text="Initial peer discovery:"/>
72-
<ComboBox Items="{Binding PeerDiscoveryOptions}" SelectedItem="{Binding Config.SelectedPeerDiscoveryOption}"
72+
<ComboBox ItemsSource="{Binding PeerDiscoveryOptions}" SelectedItem="{Binding Config.SelectedPeerDiscoveryOption}"
7373
Width="80"/>
7474
</StackPanel>
7575
<TextBox Text="{Binding Config.PeerList}" AcceptsReturn="True" HorizontalAlignment="Left" Height="150" Width="400"/>

Src/Denovo/Views/ConfigurationView.axaml.cs

+2-11
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,11 @@
44
// file LICENCE or http://www.opensource.org/licenses/mit-license.php.
55

66
using Avalonia.Controls;
7-
using Avalonia.Markup.Xaml;
87

98
namespace Denovo.Views
109
{
11-
public class ConfigurationView : UserControl
10+
public partial class ConfigurationView : UserControl
1211
{
13-
public ConfigurationView()
14-
{
15-
this.InitializeComponent();
16-
}
17-
18-
private void InitializeComponent()
19-
{
20-
AvaloniaXamlLoader.Load(this);
21-
}
12+
public ConfigurationView() => InitializeComponent();
2213
}
2314
}

Src/Denovo/Views/EciesView.axaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
Margin="3"
2020
Grid.Column="0"
2121
Grid.Row="0"/>
22-
<ListBox Items="{Binding InputEncodingList}"
22+
<ListBox ItemsSource="{Binding InputEncodingList}"
2323
SelectedItem="{Binding SelectedInputEncoding}"
2424
Classes="RadioButtonListBox"
2525
Grid.Column="1"
@@ -31,7 +31,7 @@
3131
Margin="3"
3232
Grid.Column="0"
3333
Grid.Row="1"/>
34-
<ListBox Items="{Binding KeyEncodingList}"
34+
<ListBox ItemsSource="{Binding KeyEncodingList}"
3535
SelectedItem="{Binding SelectedKeyEncoding}"
3636
Classes="RadioButtonListBox"
3737
Grid.Column="1"
@@ -46,7 +46,7 @@
4646
Margin="3"
4747
Grid.Column="0"
4848
Grid.Row="2"/>
49-
<ListBox Items="{Binding OutputEncodingList}"
49+
<ListBox ItemsSource="{Binding OutputEncodingList}"
5050
SelectedItem="{Binding SelectedOutputEncoding}"
5151
Classes="RadioButtonListBox"
5252
Grid.Column="1"

Src/Denovo/Views/EciesView.axaml.cs

+2-11
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,11 @@
44
// file LICENCE or http://www.opensource.org/licenses/mit-license.php.
55

66
using Avalonia.Controls;
7-
using Avalonia.Markup.Xaml;
87

98
namespace Denovo.Views
109
{
11-
public class EciesView : UserControl
10+
public partial class EciesView : UserControl
1211
{
13-
public EciesView()
14-
{
15-
InitializeComponent();
16-
}
17-
18-
private void InitializeComponent()
19-
{
20-
AvaloniaXamlLoader.Load(this);
21-
}
12+
public EciesView() => InitializeComponent();
2213
}
2314
}

Src/Denovo/Views/MainWindow.axaml

+4-3
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,10 @@
4545

4646
<TextBlock Text="{Binding Result}" TextWrapping="Wrap"/>
4747

48-
<ListBox Height="200" Items="{Binding AllNodes}"
48+
<ListBox Height="200"
49+
ItemsSource="{Binding AllNodes}"
4950
SelectedItem="{Binding SelectedNode}">
50-
<ListBox.DataTemplates>
51+
<ListBox.ItemTemplate>
5152
<DataTemplate>
5253
<StackPanel Orientation="Horizontal" Spacing="8">
5354
<TextBlock Text="{Binding NodeStatus.HandShake}"/>
@@ -61,7 +62,7 @@
6162
<TextBlock Text="{Binding NodeStatus.Violation}"/>
6263
</StackPanel>
6364
</DataTemplate>
64-
</ListBox.DataTemplates>
65+
</ListBox.ItemTemplate>
6566
</ListBox>
6667

6768
<Grid ColumnDefinitions="*,*">

Src/Denovo/Views/MainWindow.axaml.cs

+3-9
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,16 @@
44
// file LICENCE or http://www.opensource.org/licenses/mit-license.php.
55

66
using Avalonia.Controls;
7-
using Avalonia.Markup.Xaml;
87
using Denovo.ViewModels;
98

109
namespace Denovo.Views
1110
{
12-
public class MainWindow : Window
11+
public partial class MainWindow : Window
1312
{
1413
public MainWindow()
1514
{
16-
this.InitializeComponent();
17-
this.Opened += MainWindow_Opened;
15+
InitializeComponent();
16+
Opened += MainWindow_Opened;
1817
}
1918

2019
private void MainWindow_Opened(object sender, System.EventArgs e)
@@ -25,10 +24,5 @@ private void MainWindow_Opened(object sender, System.EventArgs e)
2524
vm.OpenConfig();
2625
}
2726
}
28-
29-
private void InitializeComponent()
30-
{
31-
AvaloniaXamlLoader.Load(this);
32-
}
3327
}
3428
}

Src/Denovo/Views/MinerView.axaml

+4-3
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,11 @@
1919

2020
<TextBox Text="{Binding PreviousBlockHex}" Height="100" TextWrapping="Wrap" AcceptsReturn="True" Margin="3" Grid.Row="1"/>
2121

22-
<ListBox Height="200" Items="{Binding AllNodes}"
22+
<ListBox Height="200"
23+
ItemsSource="{Binding AllNodes}"
2324
SelectedItem="{Binding SelectedNode}"
2425
Margin="3" Grid.Row="2">
25-
<ListBox.DataTemplates>
26+
<ListBox.ItemTemplate>
2627
<DataTemplate>
2728
<StackPanel Orientation="Horizontal" Spacing="8">
2829
<TextBlock Text="{Binding NodeStatus.HandShake}"/>
@@ -31,7 +32,7 @@
3132
<TextBlock Text="{Binding NodeStatus.UserAgent}"/>
3233
</StackPanel>
3334
</DataTemplate>
34-
</ListBox.DataTemplates>
35+
</ListBox.ItemTemplate>
3536
</ListBox>
3637

3738
<TextBlock Text="{Binding NodeInfo}" Margin="3" Grid.Row="3"/>

Src/Denovo/Views/MinerView.axaml.cs

+2-11
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,11 @@
44
// file LICENCE or http://www.opensource.org/licenses/mit-license.php.
55

66
using Avalonia.Controls;
7-
using Avalonia.Markup.Xaml;
87

98
namespace Denovo.Views
109
{
11-
public class MinerView : UserControl
10+
public partial class MinerView : UserControl
1211
{
13-
public MinerView()
14-
{
15-
this.InitializeComponent();
16-
}
17-
18-
private void InitializeComponent()
19-
{
20-
AvaloniaXamlLoader.Load(this);
21-
}
12+
public MinerView() => InitializeComponent();
2213
}
2314
}

Src/Denovo/Views/PushTxView.axaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
<Grid RowDefinitions="auto,*,*">
1414
<StackPanel Orientation="Horizontal" Spacing="3" Grid.Row="0">
15-
<ComboBox Items="{Binding NetworkList}"
15+
<ComboBox ItemsSource="{Binding NetworkList}"
1616
SelectedItem="{Binding SelectedNetwork}"
1717
IsEnabled="{Binding !IsConnected}"/>
1818
<Button Content="Connect"

Src/Denovo/Views/PushTxView.axaml.cs

-2
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,11 @@
44
// file LICENCE or http://www.opensource.org/licenses/mit-license.php.
55

66
using Avalonia.Controls;
7-
using Avalonia.Markup.Xaml;
87

98
namespace Denovo.Views
109
{
1110
public partial class PushTxView : UserControl
1211
{
1312
public PushTxView() => InitializeComponent();
14-
private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
1513
}
1614
}

Src/Denovo/Views/VerifyTxView.axaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
</Grid>
4141

42-
<ItemsControl Items="{Binding UtxoList}" Grid.Row="1" ScrollViewer.VerticalScrollBarVisibility="Visible">
42+
<ItemsControl ItemsSource="{Binding UtxoList}" Grid.Row="1" ScrollViewer.VerticalScrollBarVisibility="Visible">
4343
<ItemsControl.ItemsPanel>
4444
<ItemsPanelTemplate>
4545
<StackPanel Orientation="Vertical"/>

Src/Denovo/Views/VerifyTxView.axaml.cs

-2
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,11 @@
44
// file LICENCE or http://www.opensource.org/licenses/mit-license.php.
55

66
using Avalonia.Controls;
7-
using Avalonia.Markup.Xaml;
87

98
namespace Denovo.Views
109
{
1110
public partial class VerifyTxView : UserControl
1211
{
1312
public VerifyTxView() => InitializeComponent();
14-
private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
1513
}
1614
}

Src/Denovo/Views/WifHelperView.axaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</Design.DataContext>
1313

1414
<Grid ColumnDefinitions="auto,*" RowDefinitions="*,*">
15-
<ListBox Items="{Binding ConversionType}"
15+
<ListBox ItemsSource="{Binding ConversionType}"
1616
SelectedItem="{Binding SelectedConversionType}"
1717
Classes="RadioButtonListBox"
1818
Grid.Column="0"

Src/Denovo/Views/WifHelperView.axaml.cs

-2
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,11 @@
44
// file LICENCE or http://www.opensource.org/licenses/mit-license.php.
55

66
using Avalonia.Controls;
7-
using Avalonia.Markup.Xaml;
87

98
namespace Denovo.Views
109
{
1110
public partial class WifHelperView : UserControl
1211
{
1312
public WifHelperView() => InitializeComponent();
14-
private void InitializeComponent() => AvaloniaXamlLoader.Load(this);
1513
}
1614
}

0 commit comments

Comments
 (0)