From 3345b06322fd0fb00857e82292d2a10f26a4a77c Mon Sep 17 00:00:00 2001
From: Stone_Red <56473591+Stone-Red-Code@users.noreply.github.com>
Date: Tue, 28 Jul 2026 23:42:57 +0200
Subject: [PATCH] Add spell checker for message input box
---
src/Decho/Decho.csproj | 1 +
src/Decho/Views/MessageComposerView.axaml.cs | 6 ++++++
2 files changed, 7 insertions(+)
diff --git a/src/Decho/Decho.csproj b/src/Decho/Decho.csproj
index a872461..ff66962 100644
--- a/src/Decho/Decho.csproj
+++ b/src/Decho/Decho.csproj
@@ -23,6 +23,7 @@
None
All
+
diff --git a/src/Decho/Views/MessageComposerView.axaml.cs b/src/Decho/Views/MessageComposerView.axaml.cs
index 50e269b..08e5f56 100644
--- a/src/Decho/Views/MessageComposerView.axaml.cs
+++ b/src/Decho/Views/MessageComposerView.axaml.cs
@@ -3,6 +3,7 @@ using Avalonia.Input;
using Avalonia.Interactivity;
using Avalonia.Media;
using Avalonia.Platform.Storage;
+using Avalonia.SpellChecker;
using Decho.Models;
using Decho.ViewModels;
@@ -15,6 +16,8 @@ namespace Decho.Views;
public partial class MessageComposerView : UserControl
{
+ private readonly TextBoxSpellChecker _spellChecker;
+
public MessageComposerView()
{
InitializeComponent();
@@ -25,6 +28,9 @@ public partial class MessageComposerView : UserControl
// Intercept Enter before the TextBox processes it (AcceptsReturn=True would insert a newline)
MessageTextBox.AddHandler(InputElement.KeyDownEvent, OnTextBoxTunnelingKeyDown, RoutingStrategies.Tunnel);
+
+ _spellChecker = new TextBoxSpellChecker(SpellCheckerConfig.Create("en_GB"));
+ _spellChecker.Initialize(MessageTextBox);
}
private void OnDataContextChanged(object? sender, EventArgs e)