Files
Pilz.Updating/Pilz.Updating.Client.GUI/UpdatesAvailableDialog.cs
2024-06-19 08:10:16 +02:00

55 lines
2.0 KiB
C#

using Pilz.Updating.GUIBase;
using System.Drawing;
using System.Windows.Forms;
using Telerik.WinControls.UI;
namespace Pilz.Updating.Client.GUI;
internal partial class UpdatesAvailableDialog
{
public UpdatesAvailableDialog(Image appIcon, string curVersion, string curChannel, string curBuild, string newVersion, string newChannel, string newBuild, UpdateNotes updateNotes, bool installAsAdmin)
{
InitializeComponent();
if (installAsAdmin)
radButton_Install.Image = BaseFeatures.GetUacShieldImage();
radPictureBox1.Image = appIcon ?? Icon.ToBitmap();
radLabel_CurrentVersion.Text = curVersion;
radLabel_CurrentVersionChannel.Text = curChannel;
radLabel_CurrentVersionBuild.Text = curBuild;
radLabel_AvailableVersion.Text = newVersion;
radLabel_AvailableVersionChannel.Text = newChannel;
radLabel_AvailableVersionBuild.Text = newBuild;
// Update Notes
Control updateNotesControl = null;
switch (updateNotes.ContentType)
{
case UpdateNotesContentType.PlainText:
var newUpdateNotesControl = new RadRichTextEditor
{
Text = updateNotes.Content
};
updateNotesControl = newUpdateNotesControl;
break;
case UpdateNotesContentType.Markdown:
updateNotesControl = new Westermo.HtmlRenderer.WinForms.HtmlPanel
{
Text = Markdig.Markdown.ToHtml(updateNotes.Content)
};
break;
case UpdateNotesContentType.HTML:
updateNotesControl = new Westermo.HtmlRenderer.WinForms.HtmlPanel
{
Text = updateNotes.Content
};
break;
}
if (updateNotesControl is not null)
{
updateNotesControl.Dock = DockStyle.Fill;
panel_ChangelogPanel.Controls.Add(updateNotesControl);
}
}
}