mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
40 lines
1014 B
C#
40 lines
1014 B
C#
using System;
|
|
using Avalonia.Controls;
|
|
using Avalonia.Input;
|
|
using Avalonia.Interactivity;
|
|
using Avalonia.Markup.Xaml;
|
|
using Avalonia.ReactiveUI;
|
|
using ReactiveUI;
|
|
|
|
namespace Artemis.UI.Screens.ProfileEditor.ProfileTree;
|
|
|
|
public class FolderTreeItemView : ReactiveUserControl<FolderTreeItemViewModel>
|
|
{
|
|
public FolderTreeItemView()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void InitializeComponent()
|
|
{
|
|
AvaloniaXamlLoader.Load(this);
|
|
this.WhenActivated(_ => ViewModel?.Rename.Subscribe(_ =>
|
|
{
|
|
this.Get<TextBox>("Input").Focus();
|
|
this.Get<TextBox>("Input").SelectAll();
|
|
}));
|
|
}
|
|
|
|
private void InputElement_OnKeyUp(object? sender, KeyEventArgs e)
|
|
{
|
|
if (e.Key == Key.Enter)
|
|
ViewModel?.SubmitRename();
|
|
else if (e.Key == Key.Escape)
|
|
ViewModel?.CancelRename();
|
|
}
|
|
|
|
private void InputElement_OnLostFocus(object? sender, RoutedEventArgs e)
|
|
{
|
|
ViewModel?.CancelRename();
|
|
}
|
|
} |