diff --git a/Source/LibationAvalonia/Controls/Settings/Audio.axaml b/Source/LibationAvalonia/Controls/Settings/Audio.axaml index 0aaf04b0..713f6645 100644 --- a/Source/LibationAvalonia/Controls/Settings/Audio.axaml +++ b/Source/LibationAvalonia/Controls/Settings/Audio.axaml @@ -296,7 +296,6 @@ Grid.Row="4" Margin="0,5" VerticalAlignment="Bottom" - Foreground="{StaticResource SystemControlDisabledBaseMediumLowBrush}" Text="Using L.A.M.E encoding engine" FontStyle="Oblique" /> @@ -305,6 +304,7 @@ diff --git a/Source/LibationAvalonia/Controls/Settings/Audio.axaml.cs b/Source/LibationAvalonia/Controls/Settings/Audio.axaml.cs index b79d08e8..55eb7281 100644 --- a/Source/LibationAvalonia/Controls/Settings/Audio.axaml.cs +++ b/Source/LibationAvalonia/Controls/Settings/Audio.axaml.cs @@ -7,8 +7,9 @@ using System.Threading.Tasks; namespace LibationAvalonia.Controls.Settings { - public partial class Audio : ReactiveUserControl + public partial class Audio : UserControl { + private AudioSettingsVM _viewModel => DataContext as AudioSettingsVM; public Audio() { InitializeComponent(); @@ -21,9 +22,10 @@ namespace LibationAvalonia.Controls.Settings public async void EditChapterTitleTemplateButton_Click(object sender, Avalonia.Interactivity.RoutedEventArgs e) { - var newTemplate = await editTemplate(TemplateEditor.CreateNameEditor(ViewModel.ChapterTitleTemplate)); + if (_viewModel is null) return; + var newTemplate = await editTemplate(TemplateEditor.CreateNameEditor(_viewModel.ChapterTitleTemplate)); if (newTemplate is not null) - ViewModel.ChapterTitleTemplate = newTemplate; + _viewModel.ChapterTitleTemplate = newTemplate; } private async Task editTemplate(ITemplateEditor template) diff --git a/Source/LibationAvalonia/Controls/Settings/DownloadDecrypt.axaml.cs b/Source/LibationAvalonia/Controls/Settings/DownloadDecrypt.axaml.cs index a7708f3e..3e95dbed 100644 --- a/Source/LibationAvalonia/Controls/Settings/DownloadDecrypt.axaml.cs +++ b/Source/LibationAvalonia/Controls/Settings/DownloadDecrypt.axaml.cs @@ -7,8 +7,9 @@ using System.Threading.Tasks; namespace LibationAvalonia.Controls.Settings { - public partial class DownloadDecrypt : ReactiveUserControl + public partial class DownloadDecrypt : UserControl { + private DownloadDecryptSettingsVM _viewModel => DataContext as DownloadDecryptSettingsVM; public DownloadDecrypt() { InitializeComponent(); @@ -21,29 +22,32 @@ namespace LibationAvalonia.Controls.Settings public async void EditFolderTemplateButton_Click(object sender, Avalonia.Interactivity.RoutedEventArgs e) { - var newTemplate = await editTemplate(TemplateEditor.CreateFilenameEditor(ViewModel.Config.Books, ViewModel.FolderTemplate)); + if (_viewModel is null) return; + var newTemplate = await editTemplate(TemplateEditor.CreateFilenameEditor(_viewModel.Config.Books, _viewModel.FolderTemplate)); if (newTemplate is not null) - ViewModel.FolderTemplate = newTemplate; + _viewModel.FolderTemplate = newTemplate; } public async void EditFileTemplateButton_Click(object sender, Avalonia.Interactivity.RoutedEventArgs e) { - var newTemplate = await editTemplate(TemplateEditor.CreateFilenameEditor(ViewModel.Config.Books, ViewModel.FileTemplate)); + if (_viewModel is null) return; + var newTemplate = await editTemplate(TemplateEditor.CreateFilenameEditor(_viewModel.Config.Books, _viewModel.FileTemplate)); if (newTemplate is not null) - ViewModel.FileTemplate = newTemplate; + _viewModel.FileTemplate = newTemplate; } public async void EditChapterFileTemplateButton_Click(object sender, Avalonia.Interactivity.RoutedEventArgs e) { - - var newTemplate = await editTemplate(TemplateEditor.CreateFilenameEditor(ViewModel.Config.Books, ViewModel.ChapterFileTemplate)); + if (_viewModel is null) return; + var newTemplate = await editTemplate(TemplateEditor.CreateFilenameEditor(_viewModel.Config.Books, _viewModel.ChapterFileTemplate)); if (newTemplate is not null) - ViewModel.ChapterFileTemplate = newTemplate; + _viewModel.ChapterFileTemplate = newTemplate; } public async void EditCharReplacementButton_Click(object sender, Avalonia.Interactivity.RoutedEventArgs e) { - var form = new EditReplacementChars(ViewModel.Config); + if (_viewModel is null) return; + var form = new EditReplacementChars(_viewModel.Config); await form.ShowDialog(this.GetParentWindow()); } diff --git a/Source/LibationAvalonia/Controls/Settings/Import.axaml.cs b/Source/LibationAvalonia/Controls/Settings/Import.axaml.cs index d43d3454..4215ea6b 100644 --- a/Source/LibationAvalonia/Controls/Settings/Import.axaml.cs +++ b/Source/LibationAvalonia/Controls/Settings/Import.axaml.cs @@ -5,7 +5,7 @@ using LibationFileManager; namespace LibationAvalonia.Controls.Settings { - public partial class Import : ReactiveUserControl + public partial class Import : UserControl { public Import() { diff --git a/Source/LibationAvalonia/Controls/Settings/Important.axaml.cs b/Source/LibationAvalonia/Controls/Settings/Important.axaml.cs index 43724111..06a778e5 100644 --- a/Source/LibationAvalonia/Controls/Settings/Important.axaml.cs +++ b/Source/LibationAvalonia/Controls/Settings/Important.axaml.cs @@ -2,12 +2,13 @@ using Avalonia.Controls; using Avalonia.ReactiveUI; using Dinah.Core; using FileManager; +using LibationAvalonia.ViewModels; using LibationAvalonia.ViewModels.Settings; using LibationFileManager; namespace LibationAvalonia.Controls.Settings { - public partial class Important : ReactiveUserControl + public partial class Important : UserControl { public Important() { diff --git a/Source/LibationAvalonia/Dialogs/AccountsDialog.axaml b/Source/LibationAvalonia/Dialogs/AccountsDialog.axaml index 026c6cbf..c61583eb 100644 --- a/Source/LibationAvalonia/Dialogs/AccountsDialog.axaml +++ b/Source/LibationAvalonia/Dialogs/AccountsDialog.axaml @@ -113,6 +113,7 @@