mirror of
https://github.com/riegera2412/UVtools.git
synced 2026-07-08 17:42:31 +02:00
v0.2.1
This commit is contained in:
@@ -1,5 +1,15 @@
|
||||
# Changelog
|
||||
|
||||
## 15/04/2020 - v0.2.1 - Beta
|
||||
|
||||
* (Add) Allow open other file formats as well on viewer
|
||||
* (Add) All thumbnails can now be seen and saved
|
||||
* (Add) Rotate layer image
|
||||
* (Add) Close file
|
||||
* (Change) more abstraction
|
||||
* (Change) from PNG to BMP compression to speed up bitmap coversion
|
||||
* (Change) Faster layer preview
|
||||
|
||||
## 12/04/2020 - v0.2 - Beta
|
||||
|
||||
* Add cbddlp file format
|
||||
|
||||
@@ -57,6 +57,25 @@ namespace PrusaSL1Reader
|
||||
/// </summary>
|
||||
public abstract byte ThumbnailsCount { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the number of created thumbnails
|
||||
/// </summary>
|
||||
public byte CreatedThumbnailsCount {
|
||||
get
|
||||
{
|
||||
if (ReferenceEquals(Thumbnails, null)) return 0;
|
||||
byte count = 0;
|
||||
|
||||
foreach (var thumbnail in Thumbnails)
|
||||
{
|
||||
if (ReferenceEquals(thumbnail, null)) continue;
|
||||
count++;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the thumbnails for this <see cref="FileFormat"/>
|
||||
/// </summary>
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
<PackageProjectUrl>https://github.com/sn4k3/PrusaSL1Viewer</PackageProjectUrl>
|
||||
<PackageIcon></PackageIcon>
|
||||
<RepositoryUrl>https://github.com/sn4k3/PrusaSL1Viewer</RepositoryUrl>
|
||||
<AssemblyVersion>0.2.0.0</AssemblyVersion>
|
||||
<FileVersion>0.2.0.0</FileVersion>
|
||||
<Version>0.2</Version>
|
||||
<AssemblyVersion>0.2.1.0</AssemblyVersion>
|
||||
<FileVersion>0.2.1.0</FileVersion>
|
||||
<Version>0.2.1</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
Generated
+197
-108
@@ -31,30 +31,36 @@
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain));
|
||||
this.menu = new System.Windows.Forms.MenuStrip();
|
||||
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuFileOpen = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuFileExit = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuEdit = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuEditExtract = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuEditConvert = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.viewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuViewRotateImage = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuAboutWebsite = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuAboutDonate = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuAboutAbout = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.statusBar = new System.Windows.Forms.StatusStrip();
|
||||
this.sbLayers = new System.Windows.Forms.VScrollBar();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.lbLayers = new System.Windows.Forms.Label();
|
||||
this.scLeft = new System.Windows.Forms.SplitContainer();
|
||||
this.pbThumbnail = new System.Windows.Forms.PictureBox();
|
||||
this.tsThumbnails = new System.Windows.Forms.ToolStrip();
|
||||
this.tsThumbnailsCount = new System.Windows.Forms.ToolStripLabel();
|
||||
this.lvProperties = new System.Windows.Forms.ListView();
|
||||
this.lvChKey = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.lvChValue = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.scCenter = new System.Windows.Forms.SplitContainer();
|
||||
this.pbLayer = new System.Windows.Forms.PictureBox();
|
||||
this.pbLayers = new System.Windows.Forms.ProgressBar();
|
||||
this.pbThumbnail = new System.Windows.Forms.PictureBox();
|
||||
this.tsThumbnailsPrevious = new System.Windows.Forms.ToolStripButton();
|
||||
this.tsThumbnailsNext = new System.Windows.Forms.ToolStripButton();
|
||||
this.tsThumbnailsExport = new System.Windows.Forms.ToolStripButton();
|
||||
this.pbLayer = new System.Windows.Forms.PictureBox();
|
||||
this.menuOpenFile = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuCloseFile = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuFileExit = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuEditExtract = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuEditConvert = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuViewRotateImage = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuAboutWebsite = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuAboutDonate = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuAboutAbout = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menu.SuspendLayout();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
@@ -65,11 +71,12 @@
|
||||
this.scLeft.Panel1.SuspendLayout();
|
||||
this.scLeft.Panel2.SuspendLayout();
|
||||
this.scLeft.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbThumbnail)).BeginInit();
|
||||
this.tsThumbnails.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.scCenter)).BeginInit();
|
||||
this.scCenter.Panel1.SuspendLayout();
|
||||
this.scCenter.Panel2.SuspendLayout();
|
||||
this.scCenter.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbThumbnail)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLayer)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
@@ -89,30 +96,13 @@
|
||||
// fileToolStripMenuItem
|
||||
//
|
||||
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.menuFileOpen,
|
||||
this.menuOpenFile,
|
||||
this.menuCloseFile,
|
||||
this.menuFileExit});
|
||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
|
||||
this.fileToolStripMenuItem.Text = "&File";
|
||||
//
|
||||
// menuFileOpen
|
||||
//
|
||||
this.menuFileOpen.Image = global::PrusaSL1Viewer.Properties.Resources.Open_16x16;
|
||||
this.menuFileOpen.Name = "menuFileOpen";
|
||||
this.menuFileOpen.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
|
||||
this.menuFileOpen.Size = new System.Drawing.Size(146, 22);
|
||||
this.menuFileOpen.Text = "&Open";
|
||||
this.menuFileOpen.Click += new System.EventHandler(this.MenuItemClicked);
|
||||
//
|
||||
// menuFileExit
|
||||
//
|
||||
this.menuFileExit.Image = global::PrusaSL1Viewer.Properties.Resources.Exit_16x16;
|
||||
this.menuFileExit.Name = "menuFileExit";
|
||||
this.menuFileExit.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4)));
|
||||
this.menuFileExit.Size = new System.Drawing.Size(146, 22);
|
||||
this.menuFileExit.Text = "&Exit";
|
||||
this.menuFileExit.Click += new System.EventHandler(this.MenuItemClicked);
|
||||
//
|
||||
// menuEdit
|
||||
//
|
||||
this.menuEdit.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
@@ -123,25 +113,6 @@
|
||||
this.menuEdit.Size = new System.Drawing.Size(39, 20);
|
||||
this.menuEdit.Text = "&Edit";
|
||||
//
|
||||
// menuEditExtract
|
||||
//
|
||||
this.menuEditExtract.Enabled = false;
|
||||
this.menuEditExtract.Image = global::PrusaSL1Viewer.Properties.Resources.Extract_object_16x16;
|
||||
this.menuEditExtract.Name = "menuEditExtract";
|
||||
this.menuEditExtract.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Alt)
|
||||
| System.Windows.Forms.Keys.E)));
|
||||
this.menuEditExtract.Size = new System.Drawing.Size(173, 22);
|
||||
this.menuEditExtract.Text = "&Extract";
|
||||
this.menuEditExtract.Click += new System.EventHandler(this.MenuItemClicked);
|
||||
//
|
||||
// menuEditConvert
|
||||
//
|
||||
this.menuEditConvert.Enabled = false;
|
||||
this.menuEditConvert.Image = global::PrusaSL1Viewer.Properties.Resources.Convert_16x16;
|
||||
this.menuEditConvert.Name = "menuEditConvert";
|
||||
this.menuEditConvert.Size = new System.Drawing.Size(173, 22);
|
||||
this.menuEditConvert.Text = "&Convert To";
|
||||
//
|
||||
// viewToolStripMenuItem
|
||||
//
|
||||
this.viewToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
@@ -150,17 +121,6 @@
|
||||
this.viewToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
|
||||
this.viewToolStripMenuItem.Text = "&View";
|
||||
//
|
||||
// menuViewRotateImage
|
||||
//
|
||||
this.menuViewRotateImage.Checked = true;
|
||||
this.menuViewRotateImage.CheckOnClick = true;
|
||||
this.menuViewRotateImage.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.menuViewRotateImage.Image = global::PrusaSL1Viewer.Properties.Resources.Rotate_16x16;
|
||||
this.menuViewRotateImage.Name = "menuViewRotateImage";
|
||||
this.menuViewRotateImage.Size = new System.Drawing.Size(164, 22);
|
||||
this.menuViewRotateImage.Text = "&Rotate Image 90º";
|
||||
this.menuViewRotateImage.ToolTipText = "Auto rotate layer preview image at 90º (This can slow down the layer preview)";
|
||||
//
|
||||
// helpToolStripMenuItem
|
||||
//
|
||||
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
@@ -171,33 +131,6 @@
|
||||
this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
|
||||
this.helpToolStripMenuItem.Text = "&Help";
|
||||
//
|
||||
// menuAboutWebsite
|
||||
//
|
||||
this.menuAboutWebsite.Image = global::PrusaSL1Viewer.Properties.Resources.Global_Network_icon_16x16;
|
||||
this.menuAboutWebsite.Name = "menuAboutWebsite";
|
||||
this.menuAboutWebsite.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.W)));
|
||||
this.menuAboutWebsite.Size = new System.Drawing.Size(161, 22);
|
||||
this.menuAboutWebsite.Text = "&Website";
|
||||
this.menuAboutWebsite.Click += new System.EventHandler(this.MenuItemClicked);
|
||||
//
|
||||
// menuAboutDonate
|
||||
//
|
||||
this.menuAboutDonate.Image = global::PrusaSL1Viewer.Properties.Resources.Donate_16x16;
|
||||
this.menuAboutDonate.Name = "menuAboutDonate";
|
||||
this.menuAboutDonate.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.D)));
|
||||
this.menuAboutDonate.Size = new System.Drawing.Size(161, 22);
|
||||
this.menuAboutDonate.Text = "&Donate";
|
||||
this.menuAboutDonate.Click += new System.EventHandler(this.MenuItemClicked);
|
||||
//
|
||||
// menuAboutAbout
|
||||
//
|
||||
this.menuAboutAbout.Image = global::PrusaSL1Viewer.Properties.Resources.Button_Info_16x16;
|
||||
this.menuAboutAbout.Name = "menuAboutAbout";
|
||||
this.menuAboutAbout.ShortcutKeys = System.Windows.Forms.Keys.F1;
|
||||
this.menuAboutAbout.Size = new System.Drawing.Size(161, 22);
|
||||
this.menuAboutAbout.Text = "&About";
|
||||
this.menuAboutAbout.Click += new System.EventHandler(this.MenuItemClicked);
|
||||
//
|
||||
// statusBar
|
||||
//
|
||||
this.statusBar.Location = new System.Drawing.Point(0, 761);
|
||||
@@ -278,25 +211,36 @@
|
||||
// scLeft.Panel1
|
||||
//
|
||||
this.scLeft.Panel1.Controls.Add(this.pbThumbnail);
|
||||
this.scLeft.Panel1MinSize = 400;
|
||||
this.scLeft.Panel1.Controls.Add(this.tsThumbnails);
|
||||
this.scLeft.Panel1MinSize = 425;
|
||||
//
|
||||
// scLeft.Panel2
|
||||
//
|
||||
this.scLeft.Panel2.Controls.Add(this.lvProperties);
|
||||
this.scLeft.Size = new System.Drawing.Size(394, 731);
|
||||
this.scLeft.SplitterDistance = 400;
|
||||
this.scLeft.SplitterDistance = 425;
|
||||
this.scLeft.TabIndex = 3;
|
||||
//
|
||||
// pbThumbnail
|
||||
// tsThumbnails
|
||||
//
|
||||
this.pbThumbnail.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.pbThumbnail.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pbThumbnail.Location = new System.Drawing.Point(0, 0);
|
||||
this.pbThumbnail.Name = "pbThumbnail";
|
||||
this.pbThumbnail.Size = new System.Drawing.Size(394, 400);
|
||||
this.pbThumbnail.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.pbThumbnail.TabIndex = 4;
|
||||
this.pbThumbnail.TabStop = false;
|
||||
this.tsThumbnails.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
|
||||
this.tsThumbnails.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tsThumbnailsPrevious,
|
||||
this.tsThumbnailsCount,
|
||||
this.tsThumbnailsNext,
|
||||
this.tsThumbnailsExport});
|
||||
this.tsThumbnails.Location = new System.Drawing.Point(0, 0);
|
||||
this.tsThumbnails.Name = "tsThumbnails";
|
||||
this.tsThumbnails.Size = new System.Drawing.Size(394, 25);
|
||||
this.tsThumbnails.TabIndex = 5;
|
||||
this.tsThumbnails.Text = "tsThumbnails";
|
||||
//
|
||||
// tsThumbnailsCount
|
||||
//
|
||||
this.tsThumbnailsCount.Enabled = false;
|
||||
this.tsThumbnailsCount.Name = "tsThumbnailsCount";
|
||||
this.tsThumbnailsCount.Size = new System.Drawing.Size(24, 22);
|
||||
this.tsThumbnailsCount.Text = "0/0";
|
||||
//
|
||||
// lvProperties
|
||||
//
|
||||
@@ -309,7 +253,7 @@
|
||||
this.lvProperties.HideSelection = false;
|
||||
this.lvProperties.Location = new System.Drawing.Point(0, 0);
|
||||
this.lvProperties.Name = "lvProperties";
|
||||
this.lvProperties.Size = new System.Drawing.Size(394, 327);
|
||||
this.lvProperties.Size = new System.Drawing.Size(394, 302);
|
||||
this.lvProperties.TabIndex = 0;
|
||||
this.lvProperties.UseCompatibleStateImageBehavior = false;
|
||||
this.lvProperties.View = System.Windows.Forms.View.Details;
|
||||
@@ -345,6 +289,63 @@
|
||||
this.scCenter.SplitterDistance = 702;
|
||||
this.scCenter.TabIndex = 4;
|
||||
//
|
||||
// pbLayers
|
||||
//
|
||||
this.pbLayers.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pbLayers.Location = new System.Drawing.Point(0, 0);
|
||||
this.pbLayers.Name = "pbLayers";
|
||||
this.pbLayers.Size = new System.Drawing.Size(1125, 25);
|
||||
this.pbLayers.Step = 1;
|
||||
this.pbLayers.TabIndex = 6;
|
||||
//
|
||||
// pbThumbnail
|
||||
//
|
||||
this.pbThumbnail.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.pbThumbnail.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pbThumbnail.Location = new System.Drawing.Point(0, 25);
|
||||
this.pbThumbnail.Name = "pbThumbnail";
|
||||
this.pbThumbnail.Size = new System.Drawing.Size(394, 400);
|
||||
this.pbThumbnail.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.pbThumbnail.TabIndex = 4;
|
||||
this.pbThumbnail.TabStop = false;
|
||||
//
|
||||
// tsThumbnailsPrevious
|
||||
//
|
||||
this.tsThumbnailsPrevious.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.tsThumbnailsPrevious.Enabled = false;
|
||||
this.tsThumbnailsPrevious.Image = global::PrusaSL1Viewer.Properties.Resources.Back_16x16;
|
||||
this.tsThumbnailsPrevious.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.tsThumbnailsPrevious.Name = "tsThumbnailsPrevious";
|
||||
this.tsThumbnailsPrevious.Size = new System.Drawing.Size(23, 22);
|
||||
this.tsThumbnailsPrevious.Text = "toolStripButton1";
|
||||
this.tsThumbnailsPrevious.ToolTipText = "Show previous thumbnail";
|
||||
this.tsThumbnailsPrevious.Click += new System.EventHandler(this.ItemClicked);
|
||||
//
|
||||
// tsThumbnailsNext
|
||||
//
|
||||
this.tsThumbnailsNext.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.tsThumbnailsNext.Enabled = false;
|
||||
this.tsThumbnailsNext.Image = global::PrusaSL1Viewer.Properties.Resources.Next_16x16;
|
||||
this.tsThumbnailsNext.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.tsThumbnailsNext.Name = "tsThumbnailsNext";
|
||||
this.tsThumbnailsNext.Size = new System.Drawing.Size(23, 22);
|
||||
this.tsThumbnailsNext.Text = "toolStripButton2";
|
||||
this.tsThumbnailsNext.ToolTipText = "Show next thumbnail";
|
||||
this.tsThumbnailsNext.Click += new System.EventHandler(this.ItemClicked);
|
||||
//
|
||||
// tsThumbnailsExport
|
||||
//
|
||||
this.tsThumbnailsExport.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.tsThumbnailsExport.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.tsThumbnailsExport.Enabled = false;
|
||||
this.tsThumbnailsExport.Image = global::PrusaSL1Viewer.Properties.Resources.Save_16x16;
|
||||
this.tsThumbnailsExport.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.tsThumbnailsExport.Name = "tsThumbnailsExport";
|
||||
this.tsThumbnailsExport.Size = new System.Drawing.Size(23, 22);
|
||||
this.tsThumbnailsExport.Text = "toolStripButton3";
|
||||
this.tsThumbnailsExport.ToolTipText = "Save thumbnail to file";
|
||||
this.tsThumbnailsExport.Click += new System.EventHandler(this.ItemClicked);
|
||||
//
|
||||
// pbLayer
|
||||
//
|
||||
this.pbLayer.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
@@ -356,14 +357,93 @@
|
||||
this.pbLayer.TabIndex = 5;
|
||||
this.pbLayer.TabStop = false;
|
||||
//
|
||||
// pbLayers
|
||||
// menuOpenFile
|
||||
//
|
||||
this.pbLayers.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pbLayers.Location = new System.Drawing.Point(0, 0);
|
||||
this.pbLayers.Name = "pbLayers";
|
||||
this.pbLayers.Size = new System.Drawing.Size(1125, 25);
|
||||
this.pbLayers.Step = 1;
|
||||
this.pbLayers.TabIndex = 6;
|
||||
this.menuOpenFile.Image = global::PrusaSL1Viewer.Properties.Resources.Open_16x16;
|
||||
this.menuOpenFile.Name = "menuOpenFile";
|
||||
this.menuOpenFile.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
|
||||
this.menuOpenFile.Size = new System.Drawing.Size(169, 22);
|
||||
this.menuOpenFile.Text = "&Open File";
|
||||
this.menuOpenFile.Click += new System.EventHandler(this.ItemClicked);
|
||||
//
|
||||
// menuCloseFile
|
||||
//
|
||||
this.menuCloseFile.Enabled = false;
|
||||
this.menuCloseFile.Image = global::PrusaSL1Viewer.Properties.Resources.File_Close_16x16;
|
||||
this.menuCloseFile.Name = "menuCloseFile";
|
||||
this.menuCloseFile.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.W)));
|
||||
this.menuCloseFile.Size = new System.Drawing.Size(169, 22);
|
||||
this.menuCloseFile.Text = "&Close File";
|
||||
this.menuCloseFile.Click += new System.EventHandler(this.ItemClicked);
|
||||
//
|
||||
// menuFileExit
|
||||
//
|
||||
this.menuFileExit.Image = global::PrusaSL1Viewer.Properties.Resources.Exit_16x16;
|
||||
this.menuFileExit.Name = "menuFileExit";
|
||||
this.menuFileExit.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4)));
|
||||
this.menuFileExit.Size = new System.Drawing.Size(169, 22);
|
||||
this.menuFileExit.Text = "&Exit";
|
||||
this.menuFileExit.Click += new System.EventHandler(this.ItemClicked);
|
||||
//
|
||||
// menuEditExtract
|
||||
//
|
||||
this.menuEditExtract.Enabled = false;
|
||||
this.menuEditExtract.Image = global::PrusaSL1Viewer.Properties.Resources.Extract_object_16x16;
|
||||
this.menuEditExtract.Name = "menuEditExtract";
|
||||
this.menuEditExtract.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Alt)
|
||||
| System.Windows.Forms.Keys.E)));
|
||||
this.menuEditExtract.Size = new System.Drawing.Size(173, 22);
|
||||
this.menuEditExtract.Text = "&Extract";
|
||||
this.menuEditExtract.Click += new System.EventHandler(this.ItemClicked);
|
||||
//
|
||||
// menuEditConvert
|
||||
//
|
||||
this.menuEditConvert.Enabled = false;
|
||||
this.menuEditConvert.Image = global::PrusaSL1Viewer.Properties.Resources.Convert_16x16;
|
||||
this.menuEditConvert.Name = "menuEditConvert";
|
||||
this.menuEditConvert.Size = new System.Drawing.Size(173, 22);
|
||||
this.menuEditConvert.Text = "&Convert To";
|
||||
//
|
||||
// menuViewRotateImage
|
||||
//
|
||||
this.menuViewRotateImage.Checked = true;
|
||||
this.menuViewRotateImage.CheckOnClick = true;
|
||||
this.menuViewRotateImage.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.menuViewRotateImage.Image = global::PrusaSL1Viewer.Properties.Resources.Rotate_16x16;
|
||||
this.menuViewRotateImage.Name = "menuViewRotateImage";
|
||||
this.menuViewRotateImage.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R)));
|
||||
this.menuViewRotateImage.Size = new System.Drawing.Size(205, 22);
|
||||
this.menuViewRotateImage.Text = "&Rotate Image 90º";
|
||||
this.menuViewRotateImage.ToolTipText = "Auto rotate layer preview image at 90º (This can slow down the layer preview)";
|
||||
this.menuViewRotateImage.Click += new System.EventHandler(this.ItemClicked);
|
||||
//
|
||||
// menuAboutWebsite
|
||||
//
|
||||
this.menuAboutWebsite.Image = global::PrusaSL1Viewer.Properties.Resources.Global_Network_icon_16x16;
|
||||
this.menuAboutWebsite.Name = "menuAboutWebsite";
|
||||
this.menuAboutWebsite.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
|
||||
| System.Windows.Forms.Keys.W)));
|
||||
this.menuAboutWebsite.Size = new System.Drawing.Size(193, 22);
|
||||
this.menuAboutWebsite.Text = "&Website";
|
||||
this.menuAboutWebsite.Click += new System.EventHandler(this.ItemClicked);
|
||||
//
|
||||
// menuAboutDonate
|
||||
//
|
||||
this.menuAboutDonate.Image = global::PrusaSL1Viewer.Properties.Resources.Donate_16x16;
|
||||
this.menuAboutDonate.Name = "menuAboutDonate";
|
||||
this.menuAboutDonate.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.D)));
|
||||
this.menuAboutDonate.Size = new System.Drawing.Size(193, 22);
|
||||
this.menuAboutDonate.Text = "&Donate";
|
||||
this.menuAboutDonate.Click += new System.EventHandler(this.ItemClicked);
|
||||
//
|
||||
// menuAboutAbout
|
||||
//
|
||||
this.menuAboutAbout.Image = global::PrusaSL1Viewer.Properties.Resources.Button_Info_16x16;
|
||||
this.menuAboutAbout.Name = "menuAboutAbout";
|
||||
this.menuAboutAbout.ShortcutKeys = System.Windows.Forms.Keys.F1;
|
||||
this.menuAboutAbout.Size = new System.Drawing.Size(193, 22);
|
||||
this.menuAboutAbout.Text = "&About";
|
||||
this.menuAboutAbout.Click += new System.EventHandler(this.ItemClicked);
|
||||
//
|
||||
// FrmMain
|
||||
//
|
||||
@@ -387,14 +467,17 @@
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.scLeft.Panel1.ResumeLayout(false);
|
||||
this.scLeft.Panel1.PerformLayout();
|
||||
this.scLeft.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.scLeft)).EndInit();
|
||||
this.scLeft.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbThumbnail)).EndInit();
|
||||
this.tsThumbnails.ResumeLayout(false);
|
||||
this.tsThumbnails.PerformLayout();
|
||||
this.scCenter.Panel1.ResumeLayout(false);
|
||||
this.scCenter.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.scCenter)).EndInit();
|
||||
this.scCenter.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbThumbnail)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLayer)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
@@ -405,7 +488,7 @@
|
||||
|
||||
private System.Windows.Forms.MenuStrip menu;
|
||||
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuFileOpen;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuOpenFile;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuFileExit;
|
||||
private System.Windows.Forms.StatusStrip statusBar;
|
||||
private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;
|
||||
@@ -429,6 +512,12 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem menuEditConvert;
|
||||
private System.Windows.Forms.ToolStripMenuItem viewToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuViewRotateImage;
|
||||
private System.Windows.Forms.ToolStrip tsThumbnails;
|
||||
private System.Windows.Forms.ToolStripLabel tsThumbnailsCount;
|
||||
private System.Windows.Forms.ToolStripButton tsThumbnailsPrevious;
|
||||
private System.Windows.Forms.ToolStripButton tsThumbnailsNext;
|
||||
private System.Windows.Forms.ToolStripButton tsThumbnailsExport;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuCloseFile;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+207
-44
@@ -7,23 +7,28 @@
|
||||
*/
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Reflection;
|
||||
using System.Windows.Forms;
|
||||
using PrusaSL1Reader;
|
||||
using SixLabors.ImageSharp;
|
||||
using SixLabors.ImageSharp.Processing;
|
||||
|
||||
namespace PrusaSL1Viewer
|
||||
{
|
||||
public partial class FrmMain : Form
|
||||
{
|
||||
public static FileFormat SlicerFile
|
||||
{
|
||||
get => Program.SlicerFile;
|
||||
set => Program.SlicerFile = value;
|
||||
}
|
||||
|
||||
#region Constructors
|
||||
public FrmMain()
|
||||
{
|
||||
InitializeComponent();
|
||||
Text = $"{FrmAbout.AssemblyTitle} Version: {FrmAbout.AssemblyVersion}";
|
||||
Clear();
|
||||
|
||||
DragEnter += (s, e) => { if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy; };
|
||||
DragDrop += (s, e) => { ProcessFile((string[])e.Data.GetData(DataFormats.FileDrop)); };
|
||||
@@ -34,14 +39,14 @@ namespace PrusaSL1Viewer
|
||||
#endregion
|
||||
|
||||
#region Events
|
||||
private void sbLayers_ValueChanged(object sender, EventArgs e)
|
||||
|
||||
private void ItemClicked(object sender, EventArgs e)
|
||||
{
|
||||
ShowLayer((uint)(sbLayers.Maximum - sbLayers.Value));
|
||||
}
|
||||
|
||||
private void MenuItemClicked(object sender, EventArgs e)
|
||||
{
|
||||
if (ReferenceEquals(sender, menuFileOpen))
|
||||
/*******************
|
||||
* Main Menu *
|
||||
******************/
|
||||
// File
|
||||
if (ReferenceEquals(sender, menuOpenFile))
|
||||
{
|
||||
using (OpenFileDialog openFile = new OpenFileDialog())
|
||||
{
|
||||
@@ -64,12 +69,19 @@ namespace PrusaSL1Viewer
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, menuCloseFile))
|
||||
{
|
||||
Clear();
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, menuFileExit))
|
||||
{
|
||||
Application.Exit();
|
||||
return;
|
||||
}
|
||||
|
||||
// Edit
|
||||
if (ReferenceEquals(sender, menuEditExtract))
|
||||
{
|
||||
using (FolderBrowserDialog folder = new FolderBrowserDialog())
|
||||
@@ -78,7 +90,7 @@ namespace PrusaSL1Viewer
|
||||
{
|
||||
try
|
||||
{
|
||||
Program.SlicerFile.Extract(folder.SelectedPath);
|
||||
SlicerFile.Extract(folder.SelectedPath);
|
||||
if (MessageBox.Show(
|
||||
$"Extraction was successful, browser folder to see it contents.\n{folder.SelectedPath}\nPress 'Yes' if you want open the target folder, otherwise select 'No' to continue.",
|
||||
"Extraction completed", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
@@ -97,6 +109,13 @@ namespace PrusaSL1Viewer
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, menuViewRotateImage))
|
||||
{
|
||||
sbLayers_ValueChanged(sbLayers, null);
|
||||
return;
|
||||
}
|
||||
|
||||
// About
|
||||
if (ReferenceEquals(sender, menuAboutAbout))
|
||||
{
|
||||
Program.FrmAbout.ShowDialog();
|
||||
@@ -115,6 +134,91 @@ namespace PrusaSL1Viewer
|
||||
Process.Start(About.Donate);
|
||||
return;
|
||||
}
|
||||
|
||||
/************************
|
||||
* Thumbnail Menu *
|
||||
***********************/
|
||||
if (ReferenceEquals(sender, tsThumbnailsPrevious))
|
||||
{
|
||||
byte i = (byte)tsThumbnailsCount.Tag;
|
||||
if (i == 0)
|
||||
{
|
||||
// This should never happen!
|
||||
tsThumbnailsPrevious.Enabled = false;
|
||||
return;
|
||||
}
|
||||
|
||||
tsThumbnailsCount.Tag = --i;
|
||||
|
||||
if (i == 0)
|
||||
{
|
||||
tsThumbnailsPrevious.Enabled = false;
|
||||
}
|
||||
|
||||
pbThumbnail.Image = SlicerFile.Thumbnails[i]?.ToBitmap();
|
||||
|
||||
tsThumbnailsCount.Text = $"{i+1}/{SlicerFile.CreatedThumbnailsCount}";
|
||||
tsThumbnailsNext.Enabled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, tsThumbnailsNext))
|
||||
{
|
||||
byte i = byte.Parse(tsThumbnailsCount.Tag.ToString());
|
||||
if (i >= SlicerFile.CreatedThumbnailsCount-1)
|
||||
{
|
||||
// This should never happen!
|
||||
tsThumbnailsNext.Enabled = false;
|
||||
return;
|
||||
}
|
||||
|
||||
tsThumbnailsCount.Tag = ++i;
|
||||
|
||||
if (i >= SlicerFile.CreatedThumbnailsCount-1)
|
||||
{
|
||||
tsThumbnailsNext.Enabled = false;
|
||||
}
|
||||
|
||||
pbThumbnail.Image = SlicerFile.Thumbnails[i]?.ToBitmap();
|
||||
|
||||
tsThumbnailsCount.Text = $"{i+1}/{SlicerFile.CreatedThumbnailsCount}";
|
||||
tsThumbnailsPrevious.Enabled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (ReferenceEquals(sender, tsThumbnailsExport))
|
||||
{
|
||||
using (SaveFileDialog dialog = new SaveFileDialog())
|
||||
{
|
||||
byte i = byte.Parse(tsThumbnailsCount.Tag.ToString());
|
||||
if(ReferenceEquals(SlicerFile.Thumbnails[i], null))
|
||||
{
|
||||
return; // This should never happen!
|
||||
}
|
||||
|
||||
dialog.Filter = "Image Files|.*png";
|
||||
dialog.AddExtension = true;
|
||||
dialog.FileName = $"{Path.GetFileNameWithoutExtension(SlicerFile.FileFullPath)}_thumbnail{i+1}.png";
|
||||
|
||||
if (dialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
using (var stream = dialog.OpenFile())
|
||||
{
|
||||
SlicerFile.Thumbnails[i].SaveAsPng(stream);
|
||||
stream.Close();
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void sbLayers_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (ReferenceEquals(SlicerFile, null)) return;
|
||||
ShowLayer((uint)(sbLayers.Maximum - sbLayers.Value));
|
||||
}
|
||||
|
||||
private void ConvertToItemOnClick(object sender, EventArgs e)
|
||||
@@ -123,7 +227,7 @@ namespace PrusaSL1Viewer
|
||||
FileFormat fileFormat = (FileFormat)menuItem.Tag;
|
||||
using (SaveFileDialog dialog = new SaveFileDialog())
|
||||
{
|
||||
dialog.FileName = Path.GetFileNameWithoutExtension(Program.SlicerFile.FileFullPath);
|
||||
dialog.FileName = Path.GetFileNameWithoutExtension(SlicerFile.FileFullPath);
|
||||
|
||||
//using (FileFormat instance = (FileFormat)Activator.CreateInstance(type))
|
||||
//using (CbddlpFile file = new CbddlpFile())
|
||||
@@ -134,7 +238,7 @@ namespace PrusaSL1Viewer
|
||||
|
||||
if (dialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
Program.SlicerFile.Convert(fileFormat, dialog.FileName);
|
||||
SlicerFile.Convert(fileFormat, dialog.FileName);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -142,6 +246,51 @@ namespace PrusaSL1Viewer
|
||||
#endregion
|
||||
|
||||
#region Methods
|
||||
|
||||
/// <summary>
|
||||
/// Closes file and clear UI
|
||||
/// </summary>
|
||||
void Clear()
|
||||
{
|
||||
Text = $"{FrmAbout.AssemblyTitle} Version: {FrmAbout.AssemblyVersion}";
|
||||
SlicerFile?.Dispose();
|
||||
SlicerFile = null;
|
||||
|
||||
// GUI CLEAN
|
||||
pbThumbnail.Image = null;
|
||||
pbLayer.Image = null;
|
||||
pbThumbnail.Image = null;
|
||||
lbLayers.Text = "Layers";
|
||||
lvProperties.BeginUpdate();
|
||||
lvProperties.Items.Clear();
|
||||
lvProperties.Groups.Clear();
|
||||
lvProperties.EndUpdate();
|
||||
pbLayers.Value = 0;
|
||||
sbLayers.Value = 0;
|
||||
|
||||
statusBar.Items.Clear();
|
||||
menuEditConvert.DropDownItems.Clear();
|
||||
|
||||
foreach (ToolStripItem item in menuEdit.DropDownItems)
|
||||
{
|
||||
item.Enabled = false;
|
||||
}
|
||||
|
||||
foreach (ToolStripItem item in tsThumbnails.Items)
|
||||
{
|
||||
item.Enabled = false;
|
||||
}
|
||||
|
||||
menuCloseFile.Enabled =
|
||||
sbLayers.Enabled =
|
||||
pbLayers.Enabled =
|
||||
menuEdit.Enabled =
|
||||
false;
|
||||
|
||||
tsThumbnailsCount.Text = "0/0";
|
||||
tsThumbnailsCount.Tag = null;
|
||||
}
|
||||
|
||||
void ProcessFile(string[] files)
|
||||
{
|
||||
if (ReferenceEquals(files, null)) return;
|
||||
@@ -162,16 +311,15 @@ namespace PrusaSL1Viewer
|
||||
}
|
||||
|
||||
void ProcessFile(string fileName)
|
||||
{
|
||||
Program.SlicerFile?.Dispose();
|
||||
Program.SlicerFile = FileFormat.FindByExtension(fileName, true, true);
|
||||
if (ReferenceEquals(Program.SlicerFile, null)) return;
|
||||
Program.SlicerFile.Decode(fileName);
|
||||
{
|
||||
Clear();
|
||||
SlicerFile = FileFormat.FindByExtension(fileName, true, true);
|
||||
if (ReferenceEquals(SlicerFile, null)) return;
|
||||
SlicerFile.Decode(fileName);
|
||||
|
||||
menuEditConvert.DropDownItems.Clear();
|
||||
foreach (var fileFormat in FileFormat.AvaliableFormats)
|
||||
{
|
||||
if (fileFormat.GetType() == Program.SlicerFile.GetType()) continue;
|
||||
if (fileFormat.GetType() == SlicerFile.GetType()) continue;
|
||||
ToolStripMenuItem menuItem = new ToolStripMenuItem(fileFormat.GetType().Name.Replace("File", string.Empty))
|
||||
{
|
||||
Tag = fileFormat,
|
||||
@@ -181,25 +329,42 @@ namespace PrusaSL1Viewer
|
||||
menuEditConvert.DropDownItems.Add(menuItem);
|
||||
}
|
||||
|
||||
pbThumbnail.Image = Program.SlicerFile.Thumbnails[0]?.ToBitmap();
|
||||
if (SlicerFile.CreatedThumbnailsCount > 0)
|
||||
{
|
||||
tsThumbnailsCount.Tag = 0;
|
||||
tsThumbnailsCount.Text = $"1/{SlicerFile.CreatedThumbnailsCount}";
|
||||
pbThumbnail.Image = SlicerFile.Thumbnails[0]?.ToBitmap();
|
||||
|
||||
for (var i = 1; i < tsThumbnails.Items.Count; i++)
|
||||
{
|
||||
tsThumbnails.Items[i].Enabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
foreach (ToolStripItem item in menuEdit.DropDownItems)
|
||||
{
|
||||
item.Enabled = true;
|
||||
}
|
||||
|
||||
|
||||
menuCloseFile.Enabled =
|
||||
sbLayers.Enabled =
|
||||
pbLayers.Enabled =
|
||||
menuEdit.Enabled =
|
||||
true;
|
||||
|
||||
//ShowLayer(0);
|
||||
|
||||
sbLayers.SmallChange = 1;
|
||||
sbLayers.Minimum = 0;
|
||||
sbLayers.Maximum = (int)Program.SlicerFile.LayerCount-1;
|
||||
sbLayers.Maximum = (int)SlicerFile.LayerCount-1;
|
||||
sbLayers.Value = sbLayers.Maximum;
|
||||
|
||||
sbLayers.Enabled =
|
||||
menuEdit.Enabled =
|
||||
menuEditExtract.Enabled =
|
||||
menuEditConvert.Enabled = true;
|
||||
|
||||
lvProperties.BeginUpdate();
|
||||
lvProperties.Items.Clear();
|
||||
|
||||
lvProperties.Groups.Clear();
|
||||
|
||||
foreach (object config in Program.SlicerFile.Configs)
|
||||
foreach (object config in SlicerFile.Configs)
|
||||
{
|
||||
ListViewGroup group = new ListViewGroup(config.GetType().Name);
|
||||
lvProperties.Groups.Add(group);
|
||||
@@ -213,16 +378,14 @@ namespace PrusaSL1Viewer
|
||||
}
|
||||
lvProperties.EndUpdate();
|
||||
|
||||
statusBar.Items.Clear();
|
||||
|
||||
AddStatusBarItem(nameof(Program.SlicerFile.LayerHeight), Program.SlicerFile.LayerHeight, "mm");
|
||||
AddStatusBarItem(nameof(Program.SlicerFile.InitialExposureTime), Program.SlicerFile.InitialExposureTime, "s");
|
||||
AddStatusBarItem(nameof(Program.SlicerFile.LayerExposureTime), Program.SlicerFile.LayerExposureTime, "s");
|
||||
AddStatusBarItem(nameof(Program.SlicerFile.PrintTime), Math.Round(Program.SlicerFile.PrintTime / 3600, 2), "h");
|
||||
AddStatusBarItem(nameof(Program.SlicerFile.UsedMaterial), Math.Round(Program.SlicerFile.UsedMaterial, 2), "ml");
|
||||
AddStatusBarItem(nameof(Program.SlicerFile.MaterialCost), Program.SlicerFile.MaterialCost, "€");
|
||||
AddStatusBarItem(nameof(Program.SlicerFile.MaterialName), Program.SlicerFile.MaterialName);
|
||||
AddStatusBarItem(nameof(Program.SlicerFile.MachineName), Program.SlicerFile.MachineName);
|
||||
AddStatusBarItem(nameof(SlicerFile.LayerHeight), SlicerFile.LayerHeight, "mm");
|
||||
AddStatusBarItem(nameof(SlicerFile.InitialExposureTime), SlicerFile.InitialExposureTime, "s");
|
||||
AddStatusBarItem(nameof(SlicerFile.LayerExposureTime), SlicerFile.LayerExposureTime, "s");
|
||||
AddStatusBarItem(nameof(SlicerFile.PrintTime), Math.Round(SlicerFile.PrintTime / 3600, 2), "h");
|
||||
AddStatusBarItem(nameof(SlicerFile.UsedMaterial), Math.Round(SlicerFile.UsedMaterial, 2), "ml");
|
||||
AddStatusBarItem(nameof(SlicerFile.MaterialCost), SlicerFile.MaterialCost, "€");
|
||||
AddStatusBarItem(nameof(SlicerFile.MaterialName), SlicerFile.MaterialName);
|
||||
AddStatusBarItem(nameof(SlicerFile.MachineName), SlicerFile.MachineName);
|
||||
|
||||
Text = $"{FrmAbout.AssemblyTitle} Version: {FrmAbout.AssemblyVersion} File: {Path.GetFileName(fileName)}";
|
||||
}
|
||||
@@ -231,10 +394,10 @@ namespace PrusaSL1Viewer
|
||||
{
|
||||
//if(!ReferenceEquals(pbLayer.Image, null))
|
||||
// pbLayer.Image.Dispose(); SLOW! LET GC DO IT
|
||||
//pbLayer.Image = Image.FromStream(Program.SlicerFile.LayerImages[layerNum].Open());
|
||||
//pbLayer.Image = Image.FromStream(SlicerFile.LayerImages[layerNum].Open());
|
||||
//pbLayer.Image.RotateFlip(RotateFlipType.Rotate90FlipNone);
|
||||
//Stopwatch watch = Stopwatch.StartNew();
|
||||
var image = Program.SlicerFile.GetLayerImage(layerNum);
|
||||
var image = SlicerFile.GetLayerImage(layerNum);
|
||||
//Debug.Write(watch.ElapsedMilliseconds.ToString());
|
||||
if (menuViewRotateImage.Checked)
|
||||
{
|
||||
@@ -251,10 +414,10 @@ namespace PrusaSL1Viewer
|
||||
//pbLayer.Image = layer.ToBitmap(image.Width, image.Height);
|
||||
|
||||
|
||||
byte percent = (byte)((layerNum + 1) * 100 / Program.SlicerFile.LayerCount);
|
||||
byte percent = (byte)((layerNum + 1) * 100 / SlicerFile.LayerCount);
|
||||
|
||||
|
||||
lbLayers.Text = $"{Program.SlicerFile.TotalHeight}mm\n{layerNum+1} / {Program.SlicerFile.LayerCount}\n{Program.SlicerFile.GetHeightFromLayer((uint)layerNum+1)}mm\n{percent}%";
|
||||
lbLayers.Text = $"{SlicerFile.TotalHeight}mm\n{layerNum+1} / {SlicerFile.LayerCount}\n{SlicerFile.GetHeightFromLayer((uint)layerNum+1)}mm\n{percent}%";
|
||||
pbLayers.Value = percent;
|
||||
|
||||
}
|
||||
|
||||
@@ -123,6 +123,9 @@
|
||||
<metadata name="statusBar.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>132, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tsThumbnails.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>233, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 186 B |
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 355 B |
Binary file not shown.
|
After Width: | Height: | Size: 198 B |
Binary file not shown.
|
After Width: | Height: | Size: 425 B |
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("0.2.0.0")]
|
||||
[assembly: AssemblyFileVersion("0.2.0.0")]
|
||||
[assembly: AssemblyVersion("0.2.1.0")]
|
||||
[assembly: AssemblyFileVersion("0.2.1.0")]
|
||||
|
||||
+50
@@ -60,6 +60,16 @@ namespace PrusaSL1Viewer.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Back_16x16 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Back-16x16", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
@@ -90,6 +100,16 @@ namespace PrusaSL1Viewer.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Error_128x128 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Error-128x128", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
@@ -110,6 +130,16 @@ namespace PrusaSL1Viewer.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap File_Close_16x16 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("File-Close-16x16", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
@@ -130,6 +160,16 @@ namespace PrusaSL1Viewer.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Next_16x16 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Next-16x16", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
@@ -159,5 +199,15 @@ namespace PrusaSL1Viewer.Properties {
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Save_16x16 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Save-16x16", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -118,34 +118,49 @@
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="Donate-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Donate-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Open-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Open-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="layers-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\layers-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="PrusaSL1Viewer" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\PrusaSL1Viewer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Convert-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Convert-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Button-Info-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Button-Info-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Exit-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Exit-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Donate-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Donate-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Global-Network-icon-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Global-Network-icon-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Extract-object-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Extract-object-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Rotate-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Rotate-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Global-Network-icon-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Global-Network-icon-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Back-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Back-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Save-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Save-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Exit-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Exit-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Convert-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Convert-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="PrusaSL1Viewer" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\PrusaSL1Viewer.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="File-Close-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\File-Close-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Extract-object-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Extract-object-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Next-16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Next-16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Error-128x128" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Images\Error-128x128.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -211,6 +211,11 @@
|
||||
<None Include="Images\Convert-16x16.png" />
|
||||
<None Include="Images\layers-16x16.png" />
|
||||
<None Include="Images\Rotate-16x16.png" />
|
||||
<None Include="Images\Back-16x16.png" />
|
||||
<None Include="Images\Next-16x16.png" />
|
||||
<None Include="Images\Save-16x16.png" />
|
||||
<None Include="Images\File-Close-16x16.png" />
|
||||
<None Include="Images\Error-128x128.png" />
|
||||
<Content Include="PrusaSL1Viewer.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
||||
Reference in New Issue
Block a user