From 2d75a1070b8050011601843df68d60ca88bd9da9 Mon Sep 17 00:00:00 2001 From: Stone_Red <56473591+Stone-Red-Code@users.noreply.github.com> Date: Mon, 3 Jun 2024 17:44:33 +0200 Subject: [PATCH] Add new Raw Content view --- src/Markdowser/Processing/Processors/HtmlProcessor.cs | 5 ++++- src/Markdowser/ViewModels/ContentViewModelBase.cs | 4 +++- src/Markdowser/ViewModels/MainWindowViewModel.cs | 5 +++-- src/Markdowser/ViewModels/RawHtmlViewModel.cs | 8 -------- src/Markdowser/ViewModels/RawMarkdownViewModel.cs | 9 --------- src/Markdowser/Views/MainWindow.axaml | 9 ++------- src/Markdowser/Views/RawHtmlView.axaml | 10 ---------- src/Markdowser/Views/RawHtmlView.axaml.cs | 11 ----------- src/Markdowser/Views/RawMarkdownView.axaml | 10 ---------- src/Markdowser/Views/RawMarkdownView.axaml.cs | 11 ----------- 10 files changed, 12 insertions(+), 70 deletions(-) delete mode 100644 src/Markdowser/ViewModels/RawHtmlViewModel.cs delete mode 100644 src/Markdowser/ViewModels/RawMarkdownViewModel.cs delete mode 100644 src/Markdowser/Views/RawHtmlView.axaml delete mode 100644 src/Markdowser/Views/RawHtmlView.axaml.cs delete mode 100644 src/Markdowser/Views/RawMarkdownView.axaml delete mode 100644 src/Markdowser/Views/RawMarkdownView.axaml.cs diff --git a/src/Markdowser/Processing/Processors/HtmlProcessor.cs b/src/Markdowser/Processing/Processors/HtmlProcessor.cs index edaa421..efb9b56 100644 --- a/src/Markdowser/Processing/Processors/HtmlProcessor.cs +++ b/src/Markdowser/Processing/Processors/HtmlProcessor.cs @@ -90,7 +90,10 @@ internal partial class HtmlProcessor : IContentProcessor _ = finalMarkdown.AppendLine(trimmedLine); } - return new MarkdownContentViewModel(title, finalMarkdown.ToString()); + return new MarkdownContentViewModel(title, finalMarkdown.ToString()) + { + RawContent = html.ToString() + }; } [GeneratedRegex("!\\[(.*?)\\]\\((.*?)\\)")] diff --git a/src/Markdowser/ViewModels/ContentViewModelBase.cs b/src/Markdowser/ViewModels/ContentViewModelBase.cs index 13e720a..ae14546 100644 --- a/src/Markdowser/ViewModels/ContentViewModelBase.cs +++ b/src/Markdowser/ViewModels/ContentViewModelBase.cs @@ -8,5 +8,7 @@ public abstract class ContentViewModelBase(string title) { public string Title { get; } = title; - public Logger Logger { get; } = GlobalState.Logger; + public string RawContent { get; init; } = string.Empty; + + public Logger Logger => GlobalState.Logger; } \ No newline at end of file diff --git a/src/Markdowser/ViewModels/MainWindowViewModel.cs b/src/Markdowser/ViewModels/MainWindowViewModel.cs index ab0cf7e..0e22407 100644 --- a/src/Markdowser/ViewModels/MainWindowViewModel.cs +++ b/src/Markdowser/ViewModels/MainWindowViewModel.cs @@ -84,9 +84,12 @@ public partial class MainWindowViewModel : ViewModelBase { CurrentTabState.Content = value; this.RaisePropertyChanged(); + this.RaisePropertyChanged(nameof(RawContent)); } } + public string RawContent => string.IsNullOrWhiteSpace(Content.RawContent) ? "No raw content." : Content.RawContent; + public string Url { get => CurrentTabState.Url; @@ -116,8 +119,6 @@ public partial class MainWindowViewModel : ViewModelBase } public SettingsViewModel SettingsViewModel => new SettingsViewModel(); - public RawHtmlViewModel RawHtmlViewModel => new RawHtmlViewModel(new()); - public RawMarkdownViewModel RawMarkdownViewModel => new RawMarkdownViewModel(() => new()); public bool CloseTabEnabled => Tabs.Count > 1; public bool BackEnabled => CurrentTabState.BackHistory.Count > 0; public bool ForwardEnabled => CurrentTabState.ForwardHistory.Count > 0; diff --git a/src/Markdowser/ViewModels/RawHtmlViewModel.cs b/src/Markdowser/ViewModels/RawHtmlViewModel.cs deleted file mode 100644 index 1d4832d..0000000 --- a/src/Markdowser/ViewModels/RawHtmlViewModel.cs +++ /dev/null @@ -1,8 +0,0 @@ -using System.Text; - -namespace Markdowser.ViewModels; - -public class RawHtmlViewModel(StringBuilder html) : ViewModelBase -{ - public StringBuilder Html => html; -} \ No newline at end of file diff --git a/src/Markdowser/ViewModels/RawMarkdownViewModel.cs b/src/Markdowser/ViewModels/RawMarkdownViewModel.cs deleted file mode 100644 index 60f7ad3..0000000 --- a/src/Markdowser/ViewModels/RawMarkdownViewModel.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System; -using System.Text; - -namespace Markdowser.ViewModels; - -public class RawMarkdownViewModel(Func markdown) : ViewModelBase -{ - public StringBuilder Markdown => markdown(); -} \ No newline at end of file diff --git a/src/Markdowser/Views/MainWindow.axaml b/src/Markdowser/Views/MainWindow.axaml index c0ddd1f..0ddbd58 100644 --- a/src/Markdowser/Views/MainWindow.axaml +++ b/src/Markdowser/Views/MainWindow.axaml @@ -73,14 +73,9 @@ - + - - - - - - + diff --git a/src/Markdowser/Views/RawHtmlView.axaml b/src/Markdowser/Views/RawHtmlView.axaml deleted file mode 100644 index 8533919..0000000 --- a/src/Markdowser/Views/RawHtmlView.axaml +++ /dev/null @@ -1,10 +0,0 @@ - - - \ No newline at end of file diff --git a/src/Markdowser/Views/RawHtmlView.axaml.cs b/src/Markdowser/Views/RawHtmlView.axaml.cs deleted file mode 100644 index 76d1456..0000000 --- a/src/Markdowser/Views/RawHtmlView.axaml.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Avalonia.Controls; - -namespace Markdowser.Views; - -public partial class RawHtmlView : UserControl -{ - public RawHtmlView() - { - InitializeComponent(); - } -} \ No newline at end of file diff --git a/src/Markdowser/Views/RawMarkdownView.axaml b/src/Markdowser/Views/RawMarkdownView.axaml deleted file mode 100644 index e3e8921..0000000 --- a/src/Markdowser/Views/RawMarkdownView.axaml +++ /dev/null @@ -1,10 +0,0 @@ - - - \ No newline at end of file diff --git a/src/Markdowser/Views/RawMarkdownView.axaml.cs b/src/Markdowser/Views/RawMarkdownView.axaml.cs deleted file mode 100644 index f23611f..0000000 --- a/src/Markdowser/Views/RawMarkdownView.axaml.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Avalonia.Controls; - -namespace Markdowser.Views; - -public partial class RawMarkdownView : UserControl -{ - public RawMarkdownView() - { - InitializeComponent(); - } -} \ No newline at end of file