mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-12 03:48:56 +00:00
UI - Update Avalonia to preview7
UI - Update FluentAvalonia to preview7
This commit is contained in:
1 parent
b1e39dbd39
commit
c50a572363
82 files changed
+214
-208
No files matched your search
@@ -54,9 +54,9 @@
|
||||
|
||||
<Border Grid.Column="2" Classes="card-condensed" CornerRadius="10 0 0 0" Margin="0 10 0 0" Background="#ff323232">
|
||||
<Panel>
|
||||
<TabControl Items="{CompiledBinding Tabs}" IsVisible="{CompiledBinding Tabs.Count}" Padding="12">
|
||||
<TabControl ItemsSource="{CompiledBinding Tabs}" IsVisible="{CompiledBinding Tabs.Count}" Padding="12">
|
||||
<TabControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<DataTemplate x:DataType="shared:ActivatableViewModelBase">
|
||||
<TextBlock Text="{CompiledBinding DisplayName}" />
|
||||
</DataTemplate>
|
||||
</TabControl.ItemTemplate>
|
||||
|
||||
@@ -3,29 +3,31 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:avalonia="clr-namespace:Material.Icons.Avalonia;assembly=Material.Icons.Avalonia"
|
||||
xmlns:device="clr-namespace:Artemis.UI.Screens.Device"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Artemis.UI.Screens.Device.DeviceInfoTabView">
|
||||
x:Class="Artemis.UI.Screens.Device.DeviceInfoTabView"
|
||||
x:DataType="device:DeviceInfoTabViewModel">
|
||||
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
|
||||
<Grid RowDefinitions="Auto,*" ColumnDefinitions="*,*" Margin="-5">
|
||||
<!-- First row -->
|
||||
<Border Classes="card" Grid.Column="0" Grid.Row="0" Margin="5">
|
||||
<StackPanel HorizontalAlignment="Stretch" VerticalAlignment="Top">
|
||||
<TextBlock FontWeight="Bold">Device name</TextBlock>
|
||||
<TextBlock TextWrapping="Wrap" Text="{Binding Device.RgbDevice.DeviceInfo.DeviceName}" />
|
||||
<TextBlock TextWrapping="Wrap" Text="{CompiledBinding Device.RgbDevice.DeviceInfo.DeviceName}" />
|
||||
<Border Classes="card-separator" />
|
||||
|
||||
<TextBlock FontWeight="Bold">Manufacturer</TextBlock>
|
||||
<TextBlock TextWrapping="Wrap" Text="{Binding Device.RgbDevice.DeviceInfo.Manufacturer}" />
|
||||
<TextBlock TextWrapping="Wrap" Text="{CompiledBinding Device.RgbDevice.DeviceInfo.Manufacturer}" />
|
||||
<Border Classes="card-separator" />
|
||||
|
||||
|
||||
<TextBlock FontWeight="Bold">Device type</TextBlock>
|
||||
<TextBlock TextWrapping="Wrap" Text="{Binding Device.DeviceType}" />
|
||||
<Border Classes="card-separator" IsVisible="{Binding IsKeyboard}" />
|
||||
<TextBlock TextWrapping="Wrap" Text="{CompiledBinding Device.DeviceType}" />
|
||||
<Border Classes="card-separator" IsVisible="{CompiledBinding IsKeyboard}" />
|
||||
|
||||
<StackPanel IsVisible="{Binding IsKeyboard}">
|
||||
<StackPanel IsVisible="{CompiledBinding IsKeyboard}">
|
||||
<TextBlock FontWeight="Bold">Physical layout</TextBlock>
|
||||
<TextBlock TextWrapping="Wrap" Text="{Binding Device.PhysicalLayout}" />
|
||||
<TextBlock TextWrapping="Wrap" Text="{CompiledBinding Device.PhysicalLayout}" />
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
@@ -33,20 +35,20 @@
|
||||
<Border Classes="card" Grid.Row="0" Grid.Column="1" Margin="5">
|
||||
<StackPanel VerticalAlignment="Top">
|
||||
<TextBlock FontWeight="Bold">Size (1px = 1mm)</TextBlock>
|
||||
<TextBlock TextWrapping="Wrap" Text="{Binding Device.RgbDevice.Size}" />
|
||||
<TextBlock TextWrapping="Wrap" Text="{CompiledBinding Device.RgbDevice.Size}" />
|
||||
<Border Classes="card-separator" />
|
||||
|
||||
<TextBlock FontWeight="Bold">Location (1px = 1mm)</TextBlock>
|
||||
<TextBlock TextWrapping="Wrap" Text="{Binding Device.RgbDevice.Location}" />
|
||||
<TextBlock TextWrapping="Wrap" Text="{CompiledBinding Device.RgbDevice.Location}" />
|
||||
<Border Classes="card-separator" />
|
||||
|
||||
<TextBlock FontWeight="Bold">Rotation (degrees)</TextBlock>
|
||||
<TextBlock TextWrapping="Wrap" Text="{Binding Device.RgbDevice.Rotation.Degrees}" />
|
||||
<Border Classes="card-separator" IsVisible="{Binding IsKeyboard}" />
|
||||
<TextBlock TextWrapping="Wrap" Text="{CompiledBinding Device.RgbDevice.Rotation.Degrees}" />
|
||||
<Border Classes="card-separator" IsVisible="{CompiledBinding IsKeyboard}" />
|
||||
|
||||
<StackPanel IsVisible="{Binding IsKeyboard}">
|
||||
<StackPanel IsVisible="{CompiledBinding IsKeyboard}">
|
||||
<TextBlock FontWeight="Bold">Logical layout</TextBlock>
|
||||
<TextBlock TextWrapping="Wrap" Text="{Binding Device.LogicalLayout}" />
|
||||
<TextBlock TextWrapping="Wrap" Text="{CompiledBinding Device.LogicalLayout}" />
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Border>
|
||||
@@ -59,14 +61,13 @@
|
||||
<Button Grid.Column="1"
|
||||
Classes="icon-button"
|
||||
ToolTip.Tip="Copy path to clipboard"
|
||||
Command="{Binding CopyToClipboard}"
|
||||
CommandParameter="{Binding DefaultLayoutPath}">
|
||||
Click="LayoutPathButton_OnClick">
|
||||
<avalonia:MaterialIcon Kind="ContentCopy" Width="18" Height="18" />
|
||||
</Button>
|
||||
</Grid>
|
||||
<TextBlock
|
||||
TextWrapping="Wrap"
|
||||
Text="{Binding DefaultLayoutPath}" />
|
||||
Text="{CompiledBinding DefaultLayoutPath}" />
|
||||
<Border Classes="card-separator" />
|
||||
|
||||
<Grid ColumnDefinitions="*,Auto">
|
||||
@@ -74,12 +75,11 @@
|
||||
<Button Grid.Column="1"
|
||||
Classes="icon-button"
|
||||
ToolTip.Tip="Copy path to clipboard"
|
||||
Command="{Binding CopyToClipboard}"
|
||||
CommandParameter="{Binding Device.Layout.Image.LocalPath}">
|
||||
Click="ImagePathButton_OnClick">
|
||||
<avalonia:MaterialIcon Kind="ContentCopy" Width="18" Height="18" />
|
||||
</Button>
|
||||
</Grid>
|
||||
<TextBlock TextWrapping="Wrap" Text="{Binding Device.Layout.Image.LocalPath}" />
|
||||
<TextBlock TextWrapping="Wrap" Text="{CompiledBinding Device.Layout.Image.LocalPath}" />
|
||||
</StackPanel>
|
||||
</Border>
|
||||
</Grid>
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Interactivity;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.ReactiveUI;
|
||||
|
||||
@@ -10,4 +12,13 @@ public partial class DeviceInfoTabView : ReactiveUserControl<DeviceInfoTabViewMo
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void LayoutPathButton_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
TopLevel.GetTopLevel(this).Clipboard.SetTextAsync(ViewModel.DefaultLayoutPath);
|
||||
}
|
||||
|
||||
private void ImagePathButton_OnClick(object? sender, RoutedEventArgs e)
|
||||
{
|
||||
TopLevel.GetTopLevel(this).Clipboard.SetTextAsync(ViewModel.Device.Layout.Image.LocalPath);
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@ using Artemis.Core;
|
||||
using Artemis.UI.Shared;
|
||||
using Artemis.UI.Shared.Services;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using RGB.NET.Core;
|
||||
|
||||
namespace Artemis.UI.Screens.Device;
|
||||
@@ -25,13 +26,4 @@ public class DeviceInfoTabViewModel : ActivatableViewModelBase
|
||||
public ArtemisDevice Device { get; }
|
||||
|
||||
public string DefaultLayoutPath { get; }
|
||||
|
||||
public async Task CopyToClipboard(string content)
|
||||
{
|
||||
if (Application.Current?.Clipboard == null)
|
||||
return;
|
||||
|
||||
await Application.Current.Clipboard.SetTextAsync(content);
|
||||
_notificationService.CreateNotification().WithMessage("Copied path to clipboard.").Show();
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,7 @@
|
||||
<converters:LedIdToStringConverter x:Key="LedIdToStringConverter" />
|
||||
<shared:ToStringConverter x:Key="ToStringConverter" />
|
||||
</UserControl.Resources>
|
||||
<DataGrid Items="{CompiledBinding LedViewModels}" CanUserSortColumns="True" AutoGenerateColumns="False">
|
||||
<DataGrid ItemsSource="{CompiledBinding LedViewModels}" CanUserSortColumns="True" AutoGenerateColumns="False">
|
||||
<DataGrid.Columns >
|
||||
<DataGridTemplateColumn CanUserSort="False" CanUserReorder="False" Header="Highlight">
|
||||
<DataGridTemplateColumn.CellTemplate>
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
</TextBlock>
|
||||
|
||||
<AutoCompleteBox HorizontalAlignment="Stretch"
|
||||
Items="{CompiledBinding Regions}"
|
||||
ItemsSource="{CompiledBinding Regions}"
|
||||
SelectedItem="{CompiledBinding SelectedRegion}"
|
||||
ValueMemberBinding="{Binding EnglishName}"
|
||||
Watermark="Enter keyboard country name"
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
</StackPanel>
|
||||
|
||||
<DataGrid Grid.Row="2"
|
||||
Items="{CompiledBinding InputMappings}"
|
||||
ItemsSource="{CompiledBinding InputMappings}"
|
||||
CanUserSortColumns="True"
|
||||
IsReadOnly="True"
|
||||
AutoGenerateColumns="False"
|
||||
|
||||
Reference in new issue
Block a user