Fix signature settings persistence and editing

This commit is contained in:
Burak Kaan Köse
2026-04-22 13:25:07 +02:00
parent ed54eb0284
commit 39cde10fab
3 changed files with 74 additions and 67 deletions
@@ -1,5 +1,4 @@
using System;
using System.Text.RegularExpressions;
using Microsoft.UI.Xaml.Controls;
using Wino.Core.Domain;
using Wino.Core.Domain.Entities.Mail;
@@ -24,9 +23,6 @@ public sealed partial class SignatureEditorDialog : ContentDialog
{
InitializeComponent();
SignatureNameTextBox.Text = signatureModel.Name.Trim();
SignatureNameTextBox.Header = string.Format(Translator.SignatureEditorDialog_SignatureName_TitleEdit, signatureModel.Name);
Result = new AccountSignature
{
Id = signatureModel.Id,
@@ -35,6 +31,9 @@ public sealed partial class SignatureEditorDialog : ContentDialog
HtmlBody = signatureModel.HtmlBody
};
SignatureNameTextBox.Text = Result.Name.Trim();
SignatureNameTextBox.Header = string.Format(Translator.SignatureEditorDialog_SignatureName_TitleEdit, Result.Name);
// TODO: Should be added additional logic to enable/disable primary button when webview content changed.
IsPrimaryButtonEnabled = true;
}
@@ -51,7 +50,7 @@ public sealed partial class SignatureEditorDialog : ContentDialog
private async void SaveClicked(ContentDialog sender, ContentDialogButtonClickEventArgs args)
{
var newSignature = Regex.Unescape((await WebViewEditor.GetHtmlBodyAsync())!);
var newSignature = await WebViewEditor.GetHtmlBodyAsync() ?? string.Empty;
if (Result == null)
{
@@ -77,7 +77,7 @@
IsActionIconVisible="False"
IsClickEnabled="False"
IsEnabled="{x:Bind ViewModel.IsSignatureEnabled, Mode=OneWay}">
<ComboBox ItemsSource="{x:Bind ViewModel.Signatures}" SelectedIndex="{x:Bind ViewModel.SignatureForNewMessagesIndex, Mode=TwoWay}">
<ComboBox ItemsSource="{x:Bind ViewModel.Signatures}" SelectedItem="{x:Bind ViewModel.SelectedSignatureForNewMessages, Mode=TwoWay}">
<ComboBox.ItemTemplate>
<DataTemplate x:DataType="entities:AccountSignature">
<TextBlock Text="{x:Bind Name}" />
@@ -91,7 +91,7 @@
IsActionIconVisible="False"
IsClickEnabled="False"
IsEnabled="{x:Bind ViewModel.IsSignatureEnabled, Mode=OneWay}">
<ComboBox ItemsSource="{x:Bind ViewModel.Signatures}" SelectedIndex="{x:Bind ViewModel.SignatureForFollowingMessagesIndex, Mode=TwoWay}">
<ComboBox ItemsSource="{x:Bind ViewModel.Signatures}" SelectedItem="{x:Bind ViewModel.SelectedSignatureForFollowingMessages, Mode=TwoWay}">
<ComboBox.ItemTemplate>
<DataTemplate x:DataType="entities:AccountSignature">
<TextBlock Text="{x:Bind Name}" />