Add new Raw Content view

This commit is contained in:
Stone_Red
2024-06-03 17:44:33 +02:00
parent 8d50d759c9
commit 2d75a1070b
10 changed files with 12 additions and 70 deletions
@@ -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("!\\[(.*?)\\]\\((.*?)\\)")]
@@ -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;
}
@@ -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;
@@ -1,8 +0,0 @@
using System.Text;
namespace Markdowser.ViewModels;
public class RawHtmlViewModel(StringBuilder html) : ViewModelBase
{
public StringBuilder Html => html;
}
@@ -1,9 +0,0 @@
using System;
using System.Text;
namespace Markdowser.ViewModels;
public class RawMarkdownViewModel(Func<StringBuilder> markdown) : ViewModelBase
{
public StringBuilder Markdown => markdown();
}
+2 -7
View File
@@ -73,14 +73,9 @@
<ContentControl Margin="0 10 0 0" Content="{Binding SettingsViewModel}" />
</ScrollViewer>
</TabItem>
<TabItem Header="Markdown">
<TabItem Header="Raw Content">
<ScrollViewer>
<ContentControl Margin="0 10 0 0" Content="{Binding RawMarkdownViewModel}" />
</ScrollViewer>
</TabItem>
<TabItem Header="HTML">
<ScrollViewer>
<ContentControl Margin="0 10 0 0" Content="{Binding RawHtmlViewModel}" />
<SelectableTextBlock Margin="0 10 0 0" Text="{Binding RawContent}" TextWrapping="Wrap" />
</ScrollViewer>
</TabItem>
</TabControl>
-10
View File
@@ -1,10 +0,0 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:Markdowser.ViewModels"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:DataType="vm:RawHtmlViewModel"
x:Class="Markdowser.Views.RawHtmlView">
<SelectableTextBlock Text="{Binding Html}" TextWrapping="Wrap" />
</UserControl>
-11
View File
@@ -1,11 +0,0 @@
using Avalonia.Controls;
namespace Markdowser.Views;
public partial class RawHtmlView : UserControl
{
public RawHtmlView()
{
InitializeComponent();
}
}
@@ -1,10 +0,0 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:Markdowser.ViewModels"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:DataType="vm:RawMarkdownViewModel"
x:Class="Markdowser.Views.RawMarkdownView">
<SelectableTextBlock Text="{Binding Markdown}" TextWrapping="Wrap" />
</UserControl>
@@ -1,11 +0,0 @@
using Avalonia.Controls;
namespace Markdowser.Views;
public partial class RawMarkdownView : UserControl
{
public RawMarkdownView()
{
InitializeComponent();
}
}