Browse Source

commit: update drop to data URI

HOME 3 years ago
parent
commit
bdab128848
2 changed files with 65 additions and 36 deletions
  1. 39 30
      MiscToolSet/MainForm.Designer.cs
  2. 26 6
      MiscToolSet/MainForm.cs

+ 39 - 30
MiscToolSet/MainForm.Designer.cs

@@ -79,11 +79,11 @@
             this.PasswordGenerateButton = new System.Windows.Forms.Button();
             this.PasswordGenerateResultRichTextBox = new System.Windows.Forms.RichTextBox();
             this.tabPage5 = new System.Windows.Forms.TabPage();
+            this.CopyDataUriButton = new System.Windows.Forms.Button();
             this.DataUrlMimeTypeTextBox = new System.Windows.Forms.TextBox();
             this.DataUrlCheckBox = new System.Windows.Forms.CheckBox();
             this.DropToBase64FileNameLabel = new System.Windows.Forms.Label();
-            this.DropToBase64Label = new System.Windows.Forms.Label();
-            this.DropToBase64TextBox = new System.Windows.Forms.RichTextBox();
+            this.DropToDataUriTextBox = new System.Windows.Forms.RichTextBox();
             this.CopyBase64Button = new System.Windows.Forms.Button();
             this.tabPage6 = new System.Windows.Forms.TabPage();
             this.splitContainer3 = new System.Windows.Forms.SplitContainer();
@@ -128,6 +128,7 @@
             this.DecodeButton = new System.Windows.Forms.Button();
             this.PasteBase64Button = new System.Windows.Forms.Button();
             this.CopyBase64 = new System.Windows.Forms.Button();
+            this.PasteToDataUri = new System.Windows.Forms.Button();
             this.tabControl1.SuspendLayout();
             this.tabPage2.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.BulkNewGuidUpDown)).BeginInit();
@@ -766,11 +767,12 @@
             // 
             // tabPage5
             // 
+            this.tabPage5.Controls.Add(this.PasteToDataUri);
+            this.tabPage5.Controls.Add(this.CopyDataUriButton);
             this.tabPage5.Controls.Add(this.DataUrlMimeTypeTextBox);
             this.tabPage5.Controls.Add(this.DataUrlCheckBox);
             this.tabPage5.Controls.Add(this.DropToBase64FileNameLabel);
-            this.tabPage5.Controls.Add(this.DropToBase64Label);
-            this.tabPage5.Controls.Add(this.DropToBase64TextBox);
+            this.tabPage5.Controls.Add(this.DropToDataUriTextBox);
             this.tabPage5.Controls.Add(this.CopyBase64Button);
             this.tabPage5.Location = new System.Drawing.Point(4, 40);
             this.tabPage5.Name = "tabPage5";
@@ -780,13 +782,23 @@
             this.tabPage5.Text = "Data URI";
             this.tabPage5.UseVisualStyleBackColor = true;
             // 
+            // CopyDataUriButton
+            // 
+            this.CopyDataUriButton.Location = new System.Drawing.Point(340, 6);
+            this.CopyDataUriButton.Name = "CopyDataUriButton";
+            this.CopyDataUriButton.Size = new System.Drawing.Size(61, 21);
+            this.CopyDataUriButton.TabIndex = 7;
+            this.CopyDataUriButton.Text = "Copy↓";
+            this.CopyDataUriButton.UseVisualStyleBackColor = true;
+            this.CopyDataUriButton.Click += new System.EventHandler(this.CopyDataUriButton_Click);
+            // 
             // DataUrlMimeTypeTextBox
             // 
             this.DataUrlMimeTypeTextBox.Location = new System.Drawing.Point(81, 6);
             this.DataUrlMimeTypeTextBox.Name = "DataUrlMimeTypeTextBox";
             this.DataUrlMimeTypeTextBox.Size = new System.Drawing.Size(173, 21);
             this.DataUrlMimeTypeTextBox.TabIndex = 6;
-            this.DataUrlMimeTypeTextBox.Text = "mime/type";
+            this.DataUrlMimeTypeTextBox.Text = "image/svg+xml";
             // 
             // DataUrlCheckBox
             // 
@@ -803,37 +815,23 @@
             // DropToBase64FileNameLabel
             // 
             this.DropToBase64FileNameLabel.AutoSize = true;
-            this.DropToBase64FileNameLabel.Location = new System.Drawing.Point(365, 11);
+            this.DropToBase64FileNameLabel.Location = new System.Drawing.Point(407, 11);
             this.DropToBase64FileNameLabel.Name = "DropToBase64FileNameLabel";
             this.DropToBase64FileNameLabel.Size = new System.Drawing.Size(161, 12);
             this.DropToBase64FileNameLabel.TabIndex = 4;
             this.DropToBase64FileNameLabel.Text = "file name should show here";
             // 
-            // DropToBase64Label
-            // 
-            this.DropToBase64Label.AllowDrop = true;
-            this.DropToBase64Label.AutoSize = true;
-            this.DropToBase64Label.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-            this.DropToBase64Label.Location = new System.Drawing.Point(260, 6);
-            this.DropToBase64Label.Name = "DropToBase64Label";
-            this.DropToBase64Label.Padding = new System.Windows.Forms.Padding(4);
-            this.DropToBase64Label.Size = new System.Drawing.Size(99, 22);
-            this.DropToBase64Label.TabIndex = 3;
-            this.DropToBase64Label.Text = "Drop file here";
-            this.DropToBase64Label.DragDrop += new System.Windows.Forms.DragEventHandler(this.DropToBase64Label_DragDrop);
-            this.DropToBase64Label.DragEnter += new System.Windows.Forms.DragEventHandler(this.DropToBase64Label_DragEnter);
+            // DropToDataUriTextBox
             // 
-            // DropToBase64TextBox
-            // 
-            this.DropToBase64TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
+            this.DropToDataUriTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
             | System.Windows.Forms.AnchorStyles.Left) 
             | System.Windows.Forms.AnchorStyles.Right)));
-            this.DropToBase64TextBox.Location = new System.Drawing.Point(8, 32);
-            this.DropToBase64TextBox.Name = "DropToBase64TextBox";
-            this.DropToBase64TextBox.ReadOnly = true;
-            this.DropToBase64TextBox.Size = new System.Drawing.Size(731, 638);
-            this.DropToBase64TextBox.TabIndex = 2;
-            this.DropToBase64TextBox.Text = "";
+            this.DropToDataUriTextBox.Location = new System.Drawing.Point(8, 32);
+            this.DropToDataUriTextBox.Name = "DropToDataUriTextBox";
+            this.DropToDataUriTextBox.ReadOnly = true;
+            this.DropToDataUriTextBox.Size = new System.Drawing.Size(731, 638);
+            this.DropToDataUriTextBox.TabIndex = 2;
+            this.DropToDataUriTextBox.Text = "Drop file here";
             // 
             // CopyBase64Button
             // 
@@ -1356,6 +1354,16 @@
             this.CopyBase64.UseVisualStyleBackColor = true;
             this.CopyBase64.Click += new System.EventHandler(this.CopyBase64_Click);
             // 
+            // PasteToDataUri
+            // 
+            this.PasteToDataUri.Location = new System.Drawing.Point(260, 6);
+            this.PasteToDataUri.Name = "PasteToDataUri";
+            this.PasteToDataUri.Size = new System.Drawing.Size(74, 21);
+            this.PasteToDataUri.TabIndex = 7;
+            this.PasteToDataUri.Text = "Clipboard";
+            this.PasteToDataUri.UseVisualStyleBackColor = true;
+            this.PasteToDataUri.Click += new System.EventHandler(this.PasteToDataUri_Click);
+            // 
             // MainForm
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@@ -1460,8 +1468,7 @@
         private System.Windows.Forms.CheckBox Md5HasherUpperCaseCheckBox;
         private System.Windows.Forms.TabPage tabPage5;
         private System.Windows.Forms.Button CopyBase64Button;
-        private System.Windows.Forms.Label DropToBase64Label;
-        private System.Windows.Forms.RichTextBox DropToBase64TextBox;
+        private System.Windows.Forms.RichTextBox DropToDataUriTextBox;
         private System.Windows.Forms.Label DropToBase64FileNameLabel;
         private System.Windows.Forms.CheckBox DataUrlCheckBox;
         private System.Windows.Forms.TextBox DataUrlMimeTypeTextBox;
@@ -1518,6 +1525,8 @@
         private System.Windows.Forms.Button CopyBase64;
         private System.Windows.Forms.Button EncodeButton;
         private System.Windows.Forms.Button DecodeButton;
+        private System.Windows.Forms.Button CopyDataUriButton;
+        private System.Windows.Forms.Button PasteToDataUri;
     }
 }
 

+ 26 - 6
MiscToolSet/MainForm.cs

@@ -39,6 +39,10 @@ namespace MiscToolSet
             EncodingComboBox.ValueMember = "CodePage";
             EncodingComboBox.DisplayMember = "DisplayName";
             EncodingComboBox.SelectedValue = Encoding.Default.CodePage;
+
+            DropToDataUriTextBox.AllowDrop = true;
+            DropToDataUriTextBox.DragEnter += DropToDataUriTextBox_DragEnter;
+            DropToDataUriTextBox.DragDrop += DropToDataUriTextBox_DragDrop;
         }
 
         private void Md5HasherUpperCaseCheckBox_CheckedChanged(object sender, EventArgs e)
@@ -152,14 +156,14 @@ namespace MiscToolSet
             }
         }
 
-        private void DropToBase64Label_DragEnter(object sender, DragEventArgs e)
+        private void DropToDataUriTextBox_DragEnter(object sender, DragEventArgs e)
         {
             e.Effect = e.Data.GetDataPresent(DataFormats.FileDrop)
-                ? DragDropEffects.Copy
-                : DragDropEffects.None;
+                  ? DragDropEffects.Copy
+                  : DragDropEffects.None;
         }
 
-        private void DropToBase64Label_DragDrop(object sender, DragEventArgs e)
+        private void DropToDataUriTextBox_DragDrop(object sender, DragEventArgs e)
         {
             var files = (string[])e.Data.GetData(DataFormats.FileDrop);
 
@@ -167,14 +171,29 @@ namespace MiscToolSet
 
             var bytes = File.ReadAllBytes(files[0]);
             var base64String = Convert.ToBase64String(bytes, Base64FormattingOptions.None);
-            DropToBase64TextBox.Text = DataUrlCheckBox.Checked
+            DropToDataUriTextBox.Text = DataUrlCheckBox.Checked
+                ? $"data:{DataUrlMimeTypeTextBox.Text};base64,{base64String}"
+                : base64String;
+        }
+
+        private void PasteToDataUri_Click(object sender, EventArgs e)
+        {
+            var bytes = Encoding.UTF8.GetBytes(Clipboard.GetText());
+            var base64String = Convert.ToBase64String(bytes, Base64FormattingOptions.None);
+            DropToDataUriTextBox.Text = DataUrlCheckBox.Checked
                 ? $"data:{DataUrlMimeTypeTextBox.Text};base64,{base64String}"
                 : base64String;
         }
 
+
+        private void CopyDataUriButton_Click(object sender, EventArgs e)
+        {
+            Clipboard.SetText(DropToDataUriTextBox.Text);
+        }
+
         private void CopyBase64Button_Click(object sender, EventArgs e)
         {
-            Clipboard.SetText(DropToBase64TextBox.Text);
+            Clipboard.SetText(DropToDataUriTextBox.Text);
         }
 
         private void BulkNewGuidButton_Click(object sender, EventArgs e)
@@ -295,6 +314,7 @@ namespace MiscToolSet
             var raw = enc.GetString(buf);
             RawContentTextBox.Text = raw;
         }
+
     }
 
     internal static class CommonExtensionMetond