From 56d45d9d5191a3182d14dcda8e0c48c8997e368f Mon Sep 17 00:00:00 2001 From: Jaex Date: Thu, 27 Aug 2015 03:49:03 +0300 Subject: [PATCH] Adding Chrome extension support --- ShareX.HelpersLib/Helpers/RegistryHelpers.cs | 12 ++ ShareX.IRCLib/Properties/AssemblyInfo.cs | 2 +- ShareX.IRCLib/ShareX.IRCLib.csproj | 1 + .../Forms/ApplicationSettingsForm.Designer.cs | 10 ++ ShareX/Forms/ApplicationSettingsForm.cs | 5 + ShareX/Forms/ApplicationSettingsForm.resx | 54 +++++-- ShareX/Forms/ChromeForm.Designer.cs | 137 ++++++++++++++++++ ShareX/Forms/ChromeForm.cs | 60 ++++++++ ShareX/Forms/ChromeForm.resx | 120 +++++++++++++++ ShareX/Program.cs | 30 +--- ShareX/Properties/Resources.Designer.cs | 10 ++ ShareX/Properties/Resources.resx | 115 ++++++++------- ShareX/Resources/arrow-270.png | Bin 0 -> 559 bytes ShareX/ShareX.csproj | 10 ++ 14 files changed, 471 insertions(+), 95 deletions(-) create mode 100644 ShareX/Forms/ChromeForm.Designer.cs create mode 100644 ShareX/Forms/ChromeForm.cs create mode 100644 ShareX/Forms/ChromeForm.resx create mode 100644 ShareX/Resources/arrow-270.png diff --git a/ShareX.HelpersLib/Helpers/RegistryHelpers.cs b/ShareX.HelpersLib/Helpers/RegistryHelpers.cs index 66983faed..2ab75dcbc 100644 --- a/ShareX.HelpersLib/Helpers/RegistryHelpers.cs +++ b/ShareX.HelpersLib/Helpers/RegistryHelpers.cs @@ -51,6 +51,8 @@ public static class RegistryHelpers private static readonly string ShellExtIcon = ApplicationPath + ",0"; private static readonly string ShellExtPath = ApplicationPath + " \"%1\""; + private static readonly string ChromeNativeMessagingHosts = @"SOFTWARE\Google\Chrome\NativeMessagingHosts\com.test.test"; + public static bool CheckStartWithWindows() { try @@ -145,6 +147,16 @@ public static void UnregisterShellContextMenu() RemoveRegistry(ShellExtMenuFolders); } + public static void RegisterChromeSupport(string filepath) + { + CreateRegistry(ChromeNativeMessagingHosts, filepath); + } + + public static void UnregisterChromeSupport() + { + RemoveRegistry(ChromeNativeMessagingHosts); + } + public static ExternalProgram FindProgram(string name, string filename) { // First method: HKEY_CLASSES_ROOT\Applications\{filename}\shell\{command}\command diff --git a/ShareX.IRCLib/Properties/AssemblyInfo.cs b/ShareX.IRCLib/Properties/AssemblyInfo.cs index 689e3092d..58e89f525 100644 --- a/ShareX.IRCLib/Properties/AssemblyInfo.cs +++ b/ShareX.IRCLib/Properties/AssemblyInfo.cs @@ -4,7 +4,7 @@ // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("ShareX.IRCLib")] +[assembly: AssemblyTitle("ShareX IRCLib")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("ShareX Team")] diff --git a/ShareX.IRCLib/ShareX.IRCLib.csproj b/ShareX.IRCLib/ShareX.IRCLib.csproj index 6b38edaea..8eaad5e9a 100644 --- a/ShareX.IRCLib/ShareX.IRCLib.csproj +++ b/ShareX.IRCLib/ShareX.IRCLib.csproj @@ -20,6 +20,7 @@ DEBUG;TRACE prompt 4 + Off none diff --git a/ShareX/Forms/ApplicationSettingsForm.Designer.cs b/ShareX/Forms/ApplicationSettingsForm.Designer.cs index c70a08f5d..2d3aafbf1 100644 --- a/ShareX/Forms/ApplicationSettingsForm.Designer.cs +++ b/ShareX/Forms/ApplicationSettingsForm.Designer.cs @@ -108,6 +108,7 @@ private void InitializeComponent() this.tpAdvanced = new System.Windows.Forms.TabPage(); this.pgSettings = new System.Windows.Forms.PropertyGrid(); this.tttvMain = new ShareX.HelpersLib.TabToTreeView(); + this.btnChromeSupport = new System.Windows.Forms.Button(); this.tcSettings.SuspendLayout(); this.tpGeneral.SuspendLayout(); this.tpPaths.SuspendLayout(); @@ -143,6 +144,7 @@ private void InitializeComponent() // // tpGeneral // + this.tpGeneral.Controls.Add(this.btnChromeSupport); this.tpGeneral.Controls.Add(this.btnLanguages); this.tpGeneral.Controls.Add(this.llTranslators); this.tpGeneral.Controls.Add(this.lblLanguage); @@ -716,6 +718,13 @@ private void InitializeComponent() this.tttvMain.TreeViewFont = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(162))); this.tttvMain.TreeViewSize = 175; // + // btnChromeSupport + // + resources.ApplyResources(this.btnChromeSupport, "btnChromeSupport"); + this.btnChromeSupport.Name = "btnChromeSupport"; + this.btnChromeSupport.UseVisualStyleBackColor = true; + this.btnChromeSupport.Click += new System.EventHandler(this.btnChromeSupport_Click); + // // ApplicationSettingsForm // resources.ApplyResources(this, "$this"); @@ -838,5 +847,6 @@ private void InitializeComponent() private TabToTreeView tttvMain; private MenuButton btnLanguages; private System.Windows.Forms.ContextMenuStrip cmsLanguages; + private System.Windows.Forms.Button btnChromeSupport; } } \ No newline at end of file diff --git a/ShareX/Forms/ApplicationSettingsForm.cs b/ShareX/Forms/ApplicationSettingsForm.cs index 6673de550..d088a92c0 100644 --- a/ShareX/Forms/ApplicationSettingsForm.cs +++ b/ShareX/Forms/ApplicationSettingsForm.cs @@ -322,6 +322,11 @@ private void cbRememberMainFormSize_CheckedChanged(object sender, EventArgs e) Program.Settings.RememberMainFormSize = cbRememberMainFormSize.Checked; } + private void btnChromeSupport_Click(object sender, EventArgs e) + { + new ChromeForm().Show(); + } + #endregion General #region Paths diff --git a/ShareX/Forms/ApplicationSettingsForm.resx b/ShareX/Forms/ApplicationSettingsForm.resx index 8efd91a9b..c1a761091 100644 --- a/ShareX/Forms/ApplicationSettingsForm.resx +++ b/ShareX/Forms/ApplicationSettingsForm.resx @@ -122,6 +122,31 @@ Top, Bottom, Left, Right + + 8, 272 + + + 144, 24 + + + + 12 + + + Chrome support... + + + btnChromeSupport + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tpGeneral + + + 0 + MiddleLeft @@ -146,7 +171,6 @@ 224, 23 - 1 @@ -166,7 +190,7 @@ tpGeneral - 0 + 1 True @@ -196,7 +220,7 @@ tpGeneral - 1 + 2 True @@ -226,7 +250,7 @@ tpGeneral - 2 + 3 True @@ -256,7 +280,7 @@ tpGeneral - 3 + 4 True @@ -286,7 +310,7 @@ tpGeneral - 4 + 5 True @@ -316,7 +340,7 @@ tpGeneral - 5 + 6 True @@ -346,7 +370,7 @@ tpGeneral - 6 + 7 True @@ -376,7 +400,7 @@ tpGeneral - 7 + 8 True @@ -406,7 +430,7 @@ tpGeneral - 8 + 9 True @@ -436,7 +460,7 @@ tpGeneral - 9 + 10 True @@ -466,7 +490,7 @@ tpGeneral - 10 + 11 True @@ -496,7 +520,7 @@ tpGeneral - 11 + 12 4, 22 @@ -599,7 +623,7 @@ ... - @Invariant + lblPreviewPersonalFolderPath @@ -842,7 +866,7 @@ ... - @Invariant + lblSaveImageSubFolderPatternPreview diff --git a/ShareX/Forms/ChromeForm.Designer.cs b/ShareX/Forms/ChromeForm.Designer.cs new file mode 100644 index 000000000..f7dd700a8 --- /dev/null +++ b/ShareX/Forms/ChromeForm.Designer.cs @@ -0,0 +1,137 @@ +namespace ShareX +{ + partial class ChromeForm + { + /// + /// 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.btnRegister = new System.Windows.Forms.Button(); + this.btnUnregister = new System.Windows.Forms.Button(); + this.lbl1 = new System.Windows.Forms.Label(); + this.lbl2 = new System.Windows.Forms.Label(); + this.btnInstallExtension = new System.Windows.Forms.Button(); + this.lbl3 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // btnRegister + // + this.btnRegister.Image = global::ShareX.Properties.Resources.tick_button; + this.btnRegister.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnRegister.Location = new System.Drawing.Point(8, 32); + this.btnRegister.Name = "btnRegister"; + this.btnRegister.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.btnRegister.Size = new System.Drawing.Size(192, 32); + this.btnRegister.TabIndex = 0; + this.btnRegister.Text = "Enable Chrome support"; + this.btnRegister.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnRegister.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.btnRegister.UseVisualStyleBackColor = true; + this.btnRegister.Click += new System.EventHandler(this.btnRegister_Click); + // + // btnUnregister + // + this.btnUnregister.Image = global::ShareX.Properties.Resources.cross_button; + this.btnUnregister.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnUnregister.Location = new System.Drawing.Point(208, 32); + this.btnUnregister.Name = "btnUnregister"; + this.btnUnregister.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.btnUnregister.Size = new System.Drawing.Size(192, 32); + this.btnUnregister.TabIndex = 1; + this.btnUnregister.Text = "Disable Chrome support"; + this.btnUnregister.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnUnregister.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.btnUnregister.UseVisualStyleBackColor = true; + this.btnUnregister.Click += new System.EventHandler(this.btnUnregister_Click); + // + // lbl1 + // + this.lbl1.Location = new System.Drawing.Point(8, 8); + this.lbl1.Name = "lbl1"; + this.lbl1.Size = new System.Drawing.Size(392, 24); + this.lbl1.TabIndex = 2; + this.lbl1.Text = "1. Enable Chrome support otherwise extension can\'t interact with ShareX."; + // + // lbl2 + // + this.lbl2.Location = new System.Drawing.Point(8, 80); + this.lbl2.Name = "lbl2"; + this.lbl2.Size = new System.Drawing.Size(392, 24); + this.lbl2.TabIndex = 3; + this.lbl2.Text = "2. Install ShareX Chrome extension from Chrome web store."; + // + // btnInstallExtension + // + this.btnInstallExtension.Image = global::ShareX.Properties.Resources.arrow_270; + this.btnInstallExtension.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnInstallExtension.Location = new System.Drawing.Point(8, 104); + this.btnInstallExtension.Name = "btnInstallExtension"; + this.btnInstallExtension.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.btnInstallExtension.Size = new System.Drawing.Size(392, 32); + this.btnInstallExtension.TabIndex = 4; + this.btnInstallExtension.Text = "Install ShareX Chrome extension"; + this.btnInstallExtension.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.btnInstallExtension.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.btnInstallExtension.UseVisualStyleBackColor = true; + this.btnInstallExtension.Click += new System.EventHandler(this.btnInstallExtension_Click); + // + // lbl3 + // + this.lbl3.Location = new System.Drawing.Point(8, 152); + this.lbl3.Name = "lbl3"; + this.lbl3.Size = new System.Drawing.Size(392, 40); + this.lbl3.TabIndex = 5; + this.lbl3.Text = "3. In Chrome right click on image or selected text and you will see \"Upload with " + + "ShareX\" button in context menu."; + // + // ChromeForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(409, 195); + this.Controls.Add(this.lbl3); + this.Controls.Add(this.btnInstallExtension); + this.Controls.Add(this.lbl2); + this.Controls.Add(this.lbl1); + this.Controls.Add(this.btnUnregister); + this.Controls.Add(this.btnRegister); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MaximizeBox = false; + this.Name = "ChromeForm"; + this.Text = "ShareX - Chrome support"; + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button btnRegister; + private System.Windows.Forms.Button btnUnregister; + private System.Windows.Forms.Label lbl1; + private System.Windows.Forms.Label lbl2; + private System.Windows.Forms.Button btnInstallExtension; + private System.Windows.Forms.Label lbl3; + } +} \ No newline at end of file diff --git a/ShareX/Forms/ChromeForm.cs b/ShareX/Forms/ChromeForm.cs new file mode 100644 index 000000000..41669ac62 --- /dev/null +++ b/ShareX/Forms/ChromeForm.cs @@ -0,0 +1,60 @@ +#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 ChromeForm : Form + { + public ChromeForm() + { + InitializeComponent(); + Icon = ShareXResources.Icon; + } + + private void btnRegister_Click(object sender, EventArgs e) + { + RegistryHelpers.RegisterChromeSupport(Program.ChromeHostManifestPath); + } + + private void btnUnregister_Click(object sender, EventArgs e) + { + RegistryHelpers.UnregisterChromeSupport(); + } + + private void btnInstallExtension_Click(object sender, EventArgs e) + { + } + } +} \ No newline at end of file diff --git a/ShareX/Forms/ChromeForm.resx b/ShareX/Forms/ChromeForm.resx new file mode 100644 index 000000000..1af7de150 --- /dev/null +++ b/ShareX/Forms/ChromeForm.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/Program.cs b/ShareX/Program.cs index 580db51f1..eb0e4fab5 100644 --- a/ShareX/Program.cs +++ b/ShareX/Program.cs @@ -182,13 +182,7 @@ public static string HistoryFilePath } } - private static string LogsFolder - { - get - { - return Path.Combine(PersonalPath, "Logs"); - } - } + private static string LogsFolder => Path.Combine(PersonalPath, "Logs"); public static string LogsFilePath { @@ -221,27 +215,17 @@ public static string ScreenshotsFolder } } - public static string ScreenRecorderCacheFilePath - { - get - { - return Path.Combine(PersonalPath, "ScreenRecorder.avi"); - } - } + public static string ScreenRecorderCacheFilePath => Path.Combine(PersonalPath, "ScreenRecorder.avi"); - private static string BackupFolder - { - get - { - return Path.Combine(PersonalPath, "Backup"); - } - } + private static string BackupFolder => Path.Combine(PersonalPath, "Backup"); - public static string ToolsFolder + public static string ToolsFolder => Path.Combine(PersonalPath, "Tools"); + + public static string ChromeHostManifestPath { get { - return Path.Combine(PersonalPath, "Tools"); + return Path.Combine(ToolsFolder, "Chrome-host-manifest.json"); } } diff --git a/ShareX/Properties/Resources.Designer.cs b/ShareX/Properties/Resources.Designer.cs index 92cc80b56..ebd76117d 100644 --- a/ShareX/Properties/Resources.Designer.cs +++ b/ShareX/Properties/Resources.Designer.cs @@ -261,6 +261,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap arrow_270 { + get { + object obj = ResourceManager.GetObject("arrow-270", 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 57643fbb6..87e4991cd 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. @@ -241,6 +244,9 @@ Press 'No' to cancel the current upload and disable screenshot auto uploading. URL is empty. + + Text upload test + Choose ShareX personal folder path @@ -260,8 +266,8 @@ Please select a different hotkey or quit the conflicting application and reopen Stop - - CLI video encoder file does not exist: + + 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 +308,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 @@ -364,6 +367,9 @@ Press yes to open image from clipboard. Alternatively, press no to open image fi ..\Resources\navigation-000-button.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + URL shortener: {0} + ..\Resources\tr.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -403,8 +409,8 @@ Press yes to open image from clipboard. Alternatively, press no to open image fi Upload files - - ..\Resources\document-copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + CLI video encoder file does not exist: ..\Resources\globe-share.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -412,9 +418,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 @@ -449,9 +452,6 @@ here ..\Resources\traffic-cone.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\camera.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - Path can't be empty. @@ -496,8 +496,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 @@ -512,6 +512,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 @@ -524,6 +527,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,6 +575,9 @@ 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 @@ -587,15 +596,12 @@ Would you like to restart ShareX? Configure CLI video encoders ---> - - URL shortener: {0} + + ..\Resources\camera.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\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 - Unable to create folder: @@ -608,14 +614,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. - - - Download of FFmpeg failed. + + ..\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 @@ -632,8 +632,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\layout-select-sidebar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -645,9 +645,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 @@ -672,8 +669,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 @@ -690,23 +687,26 @@ Would you like to restart ShareX? Issues - - ..\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 Preview: - - Text upload test + + ..\Resources\document-copy.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\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 @@ -744,20 +744,23 @@ Would you like to restart ShareX? ..\Resources\RoundedRectangle.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Unable to find valid Twitter account. + ..\Resources\monitor.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 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 @@ -772,13 +775,13 @@ Would you like to restart ShareX? Click to start recording. Text must be equal or lower than 54 characters because of tray icon text length limit. - - {0} is about to be uploaded to {1}. You may choose a different destination. + + Download of FFmpeg failed. - - Unable to find valid Twitter account. + + Start screen color picker - - ..\Resources\cross.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\arrow-270.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/arrow-270.png b/ShareX/Resources/arrow-270.png new file mode 100644 index 0000000000000000000000000000000000000000..7d29196648ec77df326e243ae9b572c25dc51b31 GIT binary patch literal 559 zcmV+~0?_@5P)RCwB?lg~>VK@`Wo<8D$nF)^)z zMQG{Ce_$_ym!A3$^ib%r7q9*)K@bVj^dhD8(o;)|AcE+nnNv?a2o`BkjMZJUadv*} z_6^M@*+jiKurus?-}jj}^WLyDO>v*$+Ua@oG-qUtHE8jNOq@1a9@gx>nHvBSV@ARL zs~7XWQYl=QVQc%(-5F@D#~e{)5QZ9+ihH9!2MF42l&aO7LkLX(Ng1S2Qs#W!Fr@kE z01yQMR4h=gPWMGp8pN@NQVw(+4>Ah_ND=2Vu*2?hb$NjYUa1Gr2nftr0kQ{(ue&fK z$8m>$tW!iCIF5@p9qau30>xqtN(dOEktE5@cR(d-Ao*W5lNbUSTqg|DEkJ-}8MLw> z(sNpt2UU=AkBt7y*GvAa0Eo$RKo)^{*SB`LicATux5)znQsd ze1HFqtC8RwAcGjC>aF#Ue16tLr|4n!A!YD(i(C6>@ED+f91Wc!|_^^>sx}y x$~X+M@8e{(u|gMCpKzSb+gh33_c{L)U;x7b3xk>kE93wG002ovPDHLkV1in#`9}Z% literal 0 HcmV?d00001 diff --git a/ShareX/ShareX.csproj b/ShareX/ShareX.csproj index 351c3851c..a7e3b7384 100644 --- a/ShareX/ShareX.csproj +++ b/ShareX/ShareX.csproj @@ -98,6 +98,12 @@ BeforeUploadForm.cs + + Form + + + ChromeForm.cs + Form @@ -473,6 +479,9 @@ BeforeUploadForm.cs + + ChromeForm.cs + ClipboardFormatForm.cs @@ -1009,6 +1018,7 @@ +