diff --git a/ShareX/Forms/ImageCombinerForm.Designer.cs b/ShareX/Forms/ImageCombinerForm.Designer.cs
new file mode 100644
index 000000000..e6c6e656c
--- /dev/null
+++ b/ShareX/Forms/ImageCombinerForm.Designer.cs
@@ -0,0 +1,198 @@
+namespace ShareX
+{
+ partial class ImageCombinerForm
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.btnAdd = new System.Windows.Forms.Button();
+ this.btnRemove = new System.Windows.Forms.Button();
+ this.btnMoveUp = new System.Windows.Forms.Button();
+ this.btnMoveDown = new System.Windows.Forms.Button();
+ this.myListView1 = new ShareX.HelpersLib.MyListView();
+ this.chFilepath = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
+ this.btnCombine = new System.Windows.Forms.Button();
+ this.lblSpace = new System.Windows.Forms.Label();
+ this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
+ this.lblOrientation = new System.Windows.Forms.Label();
+ this.comboBox1 = new System.Windows.Forms.ComboBox();
+ ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
+ this.SuspendLayout();
+ //
+ // btnAdd
+ //
+ this.btnAdd.Location = new System.Drawing.Point(8, 8);
+ this.btnAdd.Name = "btnAdd";
+ this.btnAdd.Size = new System.Drawing.Size(120, 23);
+ this.btnAdd.TabIndex = 0;
+ this.btnAdd.Text = "Add...";
+ this.btnAdd.UseVisualStyleBackColor = true;
+ this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
+ //
+ // btnRemove
+ //
+ this.btnRemove.Location = new System.Drawing.Point(136, 8);
+ this.btnRemove.Name = "btnRemove";
+ this.btnRemove.Size = new System.Drawing.Size(120, 23);
+ this.btnRemove.TabIndex = 1;
+ this.btnRemove.Text = "Remove";
+ this.btnRemove.UseVisualStyleBackColor = true;
+ this.btnRemove.Click += new System.EventHandler(this.btnRemove_Click);
+ //
+ // btnMoveUp
+ //
+ this.btnMoveUp.Location = new System.Drawing.Point(264, 8);
+ this.btnMoveUp.Name = "btnMoveUp";
+ this.btnMoveUp.Size = new System.Drawing.Size(120, 23);
+ this.btnMoveUp.TabIndex = 2;
+ this.btnMoveUp.Text = "Move up";
+ this.btnMoveUp.UseVisualStyleBackColor = true;
+ this.btnMoveUp.Click += new System.EventHandler(this.btnMoveUp_Click);
+ //
+ // btnMoveDown
+ //
+ this.btnMoveDown.Location = new System.Drawing.Point(392, 8);
+ this.btnMoveDown.Name = "btnMoveDown";
+ this.btnMoveDown.Size = new System.Drawing.Size(120, 23);
+ this.btnMoveDown.TabIndex = 3;
+ this.btnMoveDown.Text = "Move down";
+ this.btnMoveDown.UseVisualStyleBackColor = true;
+ this.btnMoveDown.Click += new System.EventHandler(this.btnMoveDown_Click);
+ //
+ // myListView1
+ //
+ this.myListView1.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.myListView1.AutoFillColumn = true;
+ this.myListView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.chFilepath});
+ this.myListView1.FullRowSelect = true;
+ this.myListView1.Location = new System.Drawing.Point(8, 40);
+ this.myListView1.Name = "myListView1";
+ this.myListView1.Size = new System.Drawing.Size(504, 368);
+ this.myListView1.TabIndex = 4;
+ this.myListView1.UseCompatibleStateImageBehavior = false;
+ this.myListView1.View = System.Windows.Forms.View.Details;
+ //
+ // chFilepath
+ //
+ this.chFilepath.Text = "Image file path";
+ this.chFilepath.Width = 487;
+ //
+ // btnCombine
+ //
+ this.btnCombine.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+ this.btnCombine.Location = new System.Drawing.Point(8, 472);
+ this.btnCombine.Name = "btnCombine";
+ this.btnCombine.Size = new System.Drawing.Size(504, 31);
+ this.btnCombine.TabIndex = 5;
+ this.btnCombine.Text = "Combine images and save/upload";
+ this.btnCombine.UseVisualStyleBackColor = true;
+ this.btnCombine.Click += new System.EventHandler(this.btnCombine_Click);
+ //
+ // lblSpace
+ //
+ this.lblSpace.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+ this.lblSpace.AutoSize = true;
+ this.lblSpace.Location = new System.Drawing.Point(8, 448);
+ this.lblSpace.Name = "lblSpace";
+ this.lblSpace.Size = new System.Drawing.Size(121, 13);
+ this.lblSpace.TabIndex = 6;
+ this.lblSpace.Text = "Space between images:";
+ //
+ // numericUpDown1
+ //
+ this.numericUpDown1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+ this.numericUpDown1.Location = new System.Drawing.Point(200, 444);
+ this.numericUpDown1.Maximum = new decimal(new int[] {
+ 1000,
+ 0,
+ 0,
+ 0});
+ this.numericUpDown1.Name = "numericUpDown1";
+ this.numericUpDown1.Size = new System.Drawing.Size(64, 20);
+ this.numericUpDown1.TabIndex = 7;
+ this.numericUpDown1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
+ //
+ // lblOrientation
+ //
+ this.lblOrientation.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+ this.lblOrientation.AutoSize = true;
+ this.lblOrientation.Location = new System.Drawing.Point(8, 424);
+ this.lblOrientation.Name = "lblOrientation";
+ this.lblOrientation.Size = new System.Drawing.Size(103, 13);
+ this.lblOrientation.TabIndex = 8;
+ this.lblOrientation.Text = "Combine orientation:";
+ //
+ // comboBox1
+ //
+ this.comboBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+ this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+ this.comboBox1.FormattingEnabled = true;
+ this.comboBox1.Location = new System.Drawing.Point(200, 420);
+ this.comboBox1.Name = "comboBox1";
+ this.comboBox1.Size = new System.Drawing.Size(121, 21);
+ this.comboBox1.TabIndex = 9;
+ //
+ // ImageCombinerForm
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(521, 514);
+ this.Controls.Add(this.comboBox1);
+ this.Controls.Add(this.lblOrientation);
+ this.Controls.Add(this.numericUpDown1);
+ this.Controls.Add(this.lblSpace);
+ this.Controls.Add(this.btnCombine);
+ this.Controls.Add(this.myListView1);
+ this.Controls.Add(this.btnMoveDown);
+ this.Controls.Add(this.btnMoveUp);
+ this.Controls.Add(this.btnRemove);
+ this.Controls.Add(this.btnAdd);
+ this.Name = "ImageCombinerForm";
+ this.Text = "ShareX - Image combiner";
+ ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Button btnAdd;
+ private System.Windows.Forms.Button btnRemove;
+ private System.Windows.Forms.Button btnMoveUp;
+ private System.Windows.Forms.Button btnMoveDown;
+ private HelpersLib.MyListView myListView1;
+ private System.Windows.Forms.Button btnCombine;
+ private System.Windows.Forms.Label lblSpace;
+ private System.Windows.Forms.NumericUpDown numericUpDown1;
+ private System.Windows.Forms.Label lblOrientation;
+ private System.Windows.Forms.ComboBox comboBox1;
+ private System.Windows.Forms.ColumnHeader chFilepath;
+ }
+}
\ No newline at end of file
diff --git a/ShareX/Forms/ImageCombinerForm.cs b/ShareX/Forms/ImageCombinerForm.cs
new file mode 100644
index 000000000..29e7c6c40
--- /dev/null
+++ b/ShareX/Forms/ImageCombinerForm.cs
@@ -0,0 +1,68 @@
+#region License Information (GPL v3)
+
+/*
+ ShareX - A program that allows you to take screenshots and share any file type
+ Copyright (c) 2007-2015 ShareX Team
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ Optionally you can also view the license at .
+*/
+
+#endregion License Information (GPL v3)
+
+using ShareX.HelpersLib;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace ShareX
+{
+ public partial class ImageCombinerForm : BaseForm
+ {
+ public ImageCombinerOptions Options { get; private set; }
+
+ public ImageCombinerForm(ImageCombinerOptions options)
+ {
+ Options = options;
+ InitializeComponent();
+ }
+
+ private void btnAdd_Click(object sender, EventArgs e)
+ {
+ }
+
+ private void btnRemove_Click(object sender, EventArgs e)
+ {
+ }
+
+ private void btnMoveUp_Click(object sender, EventArgs e)
+ {
+ }
+
+ private void btnMoveDown_Click(object sender, EventArgs e)
+ {
+ }
+
+ private void btnCombine_Click(object sender, EventArgs e)
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/ShareX/Forms/ImageCombinerForm.resx b/ShareX/Forms/ImageCombinerForm.resx
new file mode 100644
index 000000000..1af7de150
--- /dev/null
+++ b/ShareX/Forms/ImageCombinerForm.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/ShareX/Forms/MainForm.Designer.cs b/ShareX/Forms/MainForm.Designer.cs
index 9d35805ae..32cf7d6e7 100644
--- a/ShareX/Forms/MainForm.Designer.cs
+++ b/ShareX/Forms/MainForm.Designer.cs
@@ -79,6 +79,7 @@ private void InitializeComponent()
this.tsmiRuler = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiAutomate = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiIndexFolder = new System.Windows.Forms.ToolStripMenuItem();
+ this.tsmiImageCombiner = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiVideoThumbnailer = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiFTPClient = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTweetMessage = new System.Windows.Forms.ToolStripMenuItem();
@@ -229,6 +230,7 @@ private void InitializeComponent()
this.tsmiTrayShow = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayExit = new System.Windows.Forms.ToolStripMenuItem();
this.timerTraySingleClick = new System.Windows.Forms.Timer(this.components);
+ this.tsmiTrayImageCombiner = new System.Windows.Forms.ToolStripMenuItem();
((System.ComponentModel.ISupportInitialize)(this.scMain)).BeginInit();
this.scMain.Panel1.SuspendLayout();
this.scMain.Panel2.SuspendLayout();
@@ -564,6 +566,7 @@ private void InitializeComponent()
this.tsmiRuler,
this.tsmiAutomate,
this.tsmiIndexFolder,
+ this.tsmiImageCombiner,
this.tsmiVideoThumbnailer,
this.tsmiFTPClient,
this.tsmiTweetMessage,
@@ -649,6 +652,13 @@ private void InitializeComponent()
resources.ApplyResources(this.tsmiIndexFolder, "tsmiIndexFolder");
this.tsmiIndexFolder.Click += new System.EventHandler(this.tsmiIndexFolder_Click);
//
+ // tsmiImageCombiner
+ //
+ this.tsmiImageCombiner.Image = global::ShareX.Properties.Resources.document_break;
+ this.tsmiImageCombiner.Name = "tsmiImageCombiner";
+ resources.ApplyResources(this.tsmiImageCombiner, "tsmiImageCombiner");
+ this.tsmiImageCombiner.Click += new System.EventHandler(this.tsmiImageCombiner_Click);
+ //
// tsmiVideoThumbnailer
//
this.tsmiVideoThumbnailer.Image = global::ShareX.Properties.Resources.images_stack;
@@ -1471,6 +1481,7 @@ private void InitializeComponent()
this.tsmiTrayRuler,
this.tsmiTrayAutomate,
this.tsmiTrayIndexFolder,
+ this.tsmiTrayImageCombiner,
this.tsmiTrayVideoThumbnailer,
this.tsmiTrayFTPClient,
this.tsmiTrayTweetMessage,
@@ -1755,6 +1766,13 @@ private void InitializeComponent()
//
this.timerTraySingleClick.Tick += new System.EventHandler(this.timerTraySingleClick_Tick);
//
+ // tsmiTrayImageCombiner
+ //
+ this.tsmiTrayImageCombiner.Image = global::ShareX.Properties.Resources.document_break;
+ this.tsmiTrayImageCombiner.Name = "tsmiTrayImageCombiner";
+ resources.ApplyResources(this.tsmiTrayImageCombiner, "tsmiTrayImageCombiner");
+ this.tsmiTrayImageCombiner.Click += new System.EventHandler(this.tsmiImageCombiner_Click);
+ //
// MainForm
//
this.AllowDrop = true;
@@ -1987,5 +2005,7 @@ private void InitializeComponent()
private System.Windows.Forms.ToolStripMenuItem tsmiTrayIRCClient;
private System.Windows.Forms.ToolStripMenuItem tsmiScrollingCapture;
private System.Windows.Forms.ToolStripMenuItem tsmiTrayScrollingCapture;
+ private System.Windows.Forms.ToolStripMenuItem tsmiImageCombiner;
+ private System.Windows.Forms.ToolStripMenuItem tsmiTrayImageCombiner;
}
}
\ No newline at end of file
diff --git a/ShareX/Forms/MainForm.cs b/ShareX/Forms/MainForm.cs
index 97bb234a2..15e6974df 100644
--- a/ShareX/Forms/MainForm.cs
+++ b/ShareX/Forms/MainForm.cs
@@ -1022,6 +1022,10 @@ private void tsmiIndexFolder_Click(object sender, EventArgs e)
TaskHelpers.OpenIndexFolder();
}
+ private void tsmiImageCombiner_Click(object sender, EventArgs e)
+ {
+ TaskHelpers.OpenImageCombiner();
+ }
private void tsmiVideoThumbnailer_Click(object sender, EventArgs e)
{
TaskHelpers.OpenVideoThumbnailer();
@@ -2373,6 +2377,7 @@ private void tsmiTrayRectangleLight_Click(object sender, EventArgs e)
CaptureRectangleLight(null, false);
}
+
private void tsmiTrayRectangleTransparent_Click(object sender, EventArgs e)
{
CaptureRectangleTransparent(null, false);
diff --git a/ShareX/Forms/MainForm.resx b/ShareX/Forms/MainForm.resx
index c7c246150..310a27aa7 100644
--- a/ShareX/Forms/MainForm.resx
+++ b/ShareX/Forms/MainForm.resx
@@ -552,6 +552,12 @@
Index folder...
+
+ 183, 22
+
+
+ Image combiner...
+
183, 22
@@ -1347,6 +1353,12 @@
Index folder...
+
+ 183, 22
+
+
+ Image combiner...
+
183, 22
@@ -1809,6 +1821,12 @@
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ tsmiImageCombiner
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
tsmiVideoThumbnailer
@@ -2697,10 +2715,16 @@
System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ tsmiTrayImageCombiner
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
MainForm
- ShareX.HotkeyForm, ShareX, Version=10.2.6.0, Culture=neutral, PublicKeyToken=null
+ ShareX.HotkeyForm, ShareX, Version=10.3.0.0, Culture=neutral, PublicKeyToken=null
\ No newline at end of file
diff --git a/ShareX/ImageCombinerOptions.cs b/ShareX/ImageCombinerOptions.cs
new file mode 100644
index 000000000..04cddb22c
--- /dev/null
+++ b/ShareX/ImageCombinerOptions.cs
@@ -0,0 +1,39 @@
+#region License Information (GPL v3)
+
+/*
+ ShareX - A program that allows you to take screenshots and share any file type
+ Copyright (c) 2007-2015 ShareX Team
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version 2
+ of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ Optionally you can also view the license at .
+*/
+
+#endregion License Information (GPL v3)
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace ShareX
+{
+ public class ImageCombinerOptions
+ {
+ public Orientation Orientation { get; set; } = Orientation.Vertical;
+ public int Space { get; set; } = 0;
+ }
+}
\ No newline at end of file
diff --git a/ShareX/Properties/Resources.Designer.cs b/ShareX/Properties/Resources.Designer.cs
index 462d40a6c..1e1041b6f 100644
--- a/ShareX/Properties/Resources.Designer.cs
+++ b/ShareX/Properties/Resources.Designer.cs
@@ -631,6 +631,16 @@ public static System.Drawing.Bitmap Diamond {
}
}
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ public static System.Drawing.Bitmap document_break {
+ get {
+ object obj = ResourceManager.GetObject("document-break", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
diff --git a/ShareX/Properties/Resources.resx b/ShareX/Properties/Resources.resx
index afc1c30c6..a54d45dfa 100644
--- a/ShareX/Properties/Resources.resx
+++ b/ShareX/Properties/Resources.resx
@@ -138,6 +138,9 @@ Are you sure you want to continue?
Shorten URL ({0})
+
+ ..\Resources\layer-transparent.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
There is no valid CLI video encoder selected.
@@ -163,15 +166,15 @@ Press 'No' to cancel the current upload and disable screenshot auto uploading.
..\Resources\google_plus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\toolbox.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
..\Resources\au.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
FFmpeg error
+
+ ..\Resources\checkbox_check.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
FFmpeg successfully downloaded.
@@ -220,6 +223,9 @@ Press 'No' to cancel the current upload and disable screenshot auto uploading.
..\Resources\folder-open-image.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\ui-scroll-pane-image.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\camcorder--pencil.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -260,6 +266,9 @@ Please select a different hotkey or quit the conflicting application and reopen
Stop
+
+ Left click to copy URL to clipboard. Right click to open URL.
+
..\Resources\robot.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -302,9 +311,6 @@ Please select a different hotkey or quit the conflicting application and reopen
You can single left click the ShareX tray icon to start region capture.
-
- ..\Resources\application-task.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
Task settings
@@ -322,6 +328,9 @@ Would you like to automatically download it?
..\Resources\application-block.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ Translators
+
..\Resources\image-export.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -361,8 +370,8 @@ Press yes to open image from clipboard. Alternatively, press no to open image fi
Hide menu
-
- Unable to create folder:
+
+ ..\Resources\monitor.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Capture
@@ -415,9 +424,6 @@ Press yes to open image from clipboard. Alternatively, press no to open image fi
..\Resources\kr.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\pencil.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
Error
@@ -440,9 +446,6 @@ here
hotkeys
-
- ..\Resources\arrow-270.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
..\Resources\drive.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -455,9 +458,6 @@ here
..\Resources\traffic-cone.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- Issues
-
Path can't be empty.
@@ -505,8 +505,8 @@ Please run ShareX as administrator to change personal folder path.
FTP client only supports FTP or FTPS.
-
- ..\Resources\arrow-090.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\layers-arrange.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Choose folder path
@@ -521,6 +521,9 @@ Would you like to restart ShareX?
..\Resources\layer-shape.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\eraser.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\image--pencil.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -533,6 +536,9 @@ Would you like to restart ShareX?
..\Resources\cn.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\categories.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
Use new name:
@@ -569,8 +575,8 @@ Would you like to restart ShareX?
..\Resources\folder-tree.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- Translators
+
+ ..\Resources\arrow-270.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\layer.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -578,9 +584,6 @@ Would you like to restart ShareX?
..\Resources\ruler-triangle.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- {0} is about to be uploaded to {1}. You may choose a different destination.
-
Start
@@ -605,11 +608,8 @@ Would you like to restart ShareX?
..\Resources\clipboard.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\barcode-2d.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- ..\Resources\gear.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ Unable to create folder:
Choose screenshots folder path
@@ -620,11 +620,8 @@ Would you like to restart ShareX?
..\Resources\film.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- Close
-
-
- Left click to copy URL to clipboard. Right click to open URL.
+
+ ..\Resources\arrow-090.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\clipboard-list.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -641,8 +638,8 @@ Would you like to restart ShareX?
File upload
-
- Start screen color picker
+
+ ..\Resources\cross.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\navigation-000-button.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -657,9 +654,6 @@ Would you like to restart ShareX?
Download failed:
{0}
-
- After upload: {0}
-
..\Resources\layer-shape-ellipse.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -690,8 +684,8 @@ Would you like to restart ShareX?
..\Resources\layer-shape-polygon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\checkbox_check.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\toolbox.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Stopped
@@ -708,18 +702,21 @@ Would you like to restart ShareX?
Chrome support disabled.
-
- ..\Resources\cross.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ Issues
Chrome support enabled.
-
- ..\Resources\layer-transparent.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ Close
..\Resources\wrench-screwdriver.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\application-browser.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\ErrorSound.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -729,8 +726,8 @@ Would you like to restart ShareX?
Text upload test
-
- ..\Resources\application-browser.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\application-task.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\notebook.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -747,6 +744,9 @@ Would you like to restart ShareX?
Downloading
+
+ ..\Resources\gear.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
Image editor - How to load image?
@@ -768,20 +768,23 @@ Would you like to restart ShareX?
..\Resources\RoundedRectangle.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\monitor.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ Unable to find valid Twitter account.
+
+
+ {0} is about to be uploaded to {1}. You may choose a different destination.
Website
-
- ..\Resources\categories.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\pencil.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\layers-arrange.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ After upload: {0}
-
- ..\Resources\eraser.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\barcode-2d.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\Fullscreen.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -799,10 +802,10 @@ Would you like to restart ShareX?
Download of FFmpeg failed.
-
- Unable to find valid Twitter account.
+
+ Start screen color picker
-
- ..\Resources\ui-scroll-pane-image.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\document-break.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
\ No newline at end of file
diff --git a/ShareX/Resources/document-break.png b/ShareX/Resources/document-break.png
new file mode 100644
index 000000000..65a6a6bee
Binary files /dev/null and b/ShareX/Resources/document-break.png differ
diff --git a/ShareX/ShareX.csproj b/ShareX/ShareX.csproj
index 1f6b423b9..3592c084a 100644
--- a/ShareX/ShareX.csproj
+++ b/ShareX/ShareX.csproj
@@ -166,6 +166,12 @@
AboutForm.cs
+
+ Form
+
+
+ ImageCombinerForm.cs
+
Form
@@ -178,6 +184,7 @@
FirstTimeConfigForm.cs
+
@@ -647,6 +654,9 @@
HotkeySettingsForm.cs
+
+ ImageCombinerForm.cs
+
MainForm.cs
@@ -1068,6 +1078,7 @@
+
diff --git a/ShareX/TaskHelpers.cs b/ShareX/TaskHelpers.cs
index 1983e3e8c..b0a60cd4d 100644
--- a/ShareX/TaskHelpers.cs
+++ b/ShareX/TaskHelpers.cs
@@ -584,6 +584,13 @@ public static void OpenIndexFolder()
UploadManager.IndexFolder();
}
+ public static void OpenImageCombiner(TaskSettings taskSettings = null)
+ {
+ if (taskSettings == null) taskSettings = TaskSettings.GetDefaultTaskSettings();
+
+ new ImageCombinerForm(taskSettings.ToolsSettingsReference.ImageCombinerOptions).Show();
+ }
+
public static void OpenVideoThumbnailer(TaskSettings taskSettings = null)
{
if (taskSettings == null) taskSettings = TaskSettings.GetDefaultTaskSettings();
diff --git a/ShareX/TaskSettings.cs b/ShareX/TaskSettings.cs
index eb81aa857..ec2bb8496 100644
--- a/ShareX/TaskSettings.cs
+++ b/ShareX/TaskSettings.cs
@@ -364,6 +364,7 @@ public class TaskSettingsUpload
public class TaskSettingsTools
{
public IndexerSettings IndexerSettings = new IndexerSettings();
+ public ImageCombinerOptions ImageCombinerOptions = new ImageCombinerOptions();
public VideoThumbnailOptions VideoThumbnailOptions = new VideoThumbnailOptions();
public IRCInfo IRCSettings = new IRCInfo();
}