From 2f8dcb4f7787913fb94cd367629708389220454f Mon Sep 17 00:00:00 2001 From: Jaex Date: Sat, 27 Aug 2016 01:15:39 +0300 Subject: [PATCH] Move ShareX.Chrome folder to this repo --- ShareX.Chrome.sln | 22 ++++ ShareX.Chrome/Chrome/Icons/ShareX-128.png | Bin 0 -> 10636 bytes ShareX.Chrome/Chrome/Icons/ShareX-16.png | Bin 0 -> 874 bytes ShareX.Chrome/Chrome/Icons/ShareX-48.png | Bin 0 -> 3168 bytes ShareX.Chrome/Chrome/eventPage.js | 14 +++ ShareX.Chrome/Chrome/manifest.json | 18 ++++ ShareX.Chrome/ChromeInput.cs | 33 ++++++ ShareX.Chrome/Program.cs | 117 ++++++++++++++++++++++ ShareX.Chrome/Properties/AssemblyInfo.cs | 35 +++++++ ShareX.Chrome/ShareX.Chrome.csproj | 68 +++++++++++++ ShareX.Chrome/packages.config | 4 + ShareX_Steam.sln => ShareX.Steam.sln | 0 12 files changed, 311 insertions(+) create mode 100644 ShareX.Chrome.sln create mode 100644 ShareX.Chrome/Chrome/Icons/ShareX-128.png create mode 100644 ShareX.Chrome/Chrome/Icons/ShareX-16.png create mode 100644 ShareX.Chrome/Chrome/Icons/ShareX-48.png create mode 100644 ShareX.Chrome/Chrome/eventPage.js create mode 100644 ShareX.Chrome/Chrome/manifest.json create mode 100644 ShareX.Chrome/ChromeInput.cs create mode 100644 ShareX.Chrome/Program.cs create mode 100644 ShareX.Chrome/Properties/AssemblyInfo.cs create mode 100644 ShareX.Chrome/ShareX.Chrome.csproj create mode 100644 ShareX.Chrome/packages.config rename ShareX_Steam.sln => ShareX.Steam.sln (100%) diff --git a/ShareX.Chrome.sln b/ShareX.Chrome.sln new file mode 100644 index 000000000..c41131227 --- /dev/null +++ b/ShareX.Chrome.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShareX.Chrome", "ShareX.Chrome\ShareX.Chrome.csproj", "{254E398D-F7F5-4B2A-9024-5C121EA6C564}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {254E398D-F7F5-4B2A-9024-5C121EA6C564}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {254E398D-F7F5-4B2A-9024-5C121EA6C564}.Debug|Any CPU.Build.0 = Debug|Any CPU + {254E398D-F7F5-4B2A-9024-5C121EA6C564}.Release|Any CPU.ActiveCfg = Release|Any CPU + {254E398D-F7F5-4B2A-9024-5C121EA6C564}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/ShareX.Chrome/Chrome/Icons/ShareX-128.png b/ShareX.Chrome/Chrome/Icons/ShareX-128.png new file mode 100644 index 0000000000000000000000000000000000000000..f0251b4925c7ca26bfeecc97480c69a42cbebaa9 GIT binary patch literal 10636 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 A1^@s6 literal 0 HcmV?d00001 diff --git a/ShareX.Chrome/Chrome/Icons/ShareX-48.png b/ShareX.Chrome/Chrome/Icons/ShareX-48.png new file mode 100644 index 0000000000000000000000000000000000000000..9f4f43f5bc7c4749bdb720a3e71ab40367d07197 GIT binary patch literal 3168 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. +*/ + +#endregion License Information (GPL v3) + +namespace ShareX.Chrome +{ + public class ChromeInput + { + public string URL { get; set; } + public string Text { get; set; } + } +} \ No newline at end of file diff --git a/ShareX.Chrome/Program.cs b/ShareX.Chrome/Program.cs new file mode 100644 index 000000000..ac9f713f0 --- /dev/null +++ b/ShareX.Chrome/Program.cs @@ -0,0 +1,117 @@ +#region License Information (GPL v3) + +/* + ShareX - A program that allows you to take screenshots and share any file type + Copyright (c) 2007-2016 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 Newtonsoft.Json; +using System; +using System.Diagnostics; +using System.IO; +using System.Reflection; +using System.Text; +using System.Windows.Forms; + +namespace ShareX.Chrome +{ + internal class Program + { + private static void Main(string[] args) + { + try + { + Run(); + } + catch (Exception e) + { + MessageBox.Show(e.ToString(), "ShareX Chrome - Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private static void Run() + { + string input = GetInput(); + + if (!string.IsNullOrEmpty(input)) + { + ChromeInput chromeInput = JsonConvert.DeserializeObject(input); + + if (chromeInput != null) + { + string argument = null; + + if (!string.IsNullOrEmpty(chromeInput.URL)) + { + argument = EscapeText(chromeInput.URL); + } + else if (!string.IsNullOrEmpty(chromeInput.Text)) + { + string filepath = GetTempPath("txt"); + File.WriteAllText(filepath, chromeInput.Text, Encoding.UTF8); + argument = EscapeText(filepath); + } + + if (!string.IsNullOrEmpty(argument)) + { + string path = GetAbsolutePath("ShareX.exe"); + Process.Start(path, argument); + } + } + } + } + + private static string GetInput() + { + Stream inputStream = Console.OpenStandardInput(); + + byte[] bytesLength = new byte[4]; + inputStream.Read(bytesLength, 0, bytesLength.Length); + int inputLength = BitConverter.ToInt32(bytesLength, 0); + + byte[] bytesInput = new byte[inputLength]; + inputStream.Read(bytesInput, 0, bytesInput.Length); + return Encoding.UTF8.GetString(bytesInput); + } + + private static string EscapeText(string text) + { + return string.Format("\"{0}\"", text.Replace("\\", "\\\\").Replace("\"", "\\\"")); + } + + public static string GetAbsolutePath(string path) + { + if (!Path.IsPathRooted(path)) // Is relative path? + { + string startupDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + path = Path.Combine(startupDirectory, path); + } + + return Path.GetFullPath(path); + } + + public static string GetTempPath(string extension) + { + string path = Path.GetTempFileName(); + return Path.ChangeExtension(path, extension); + } + } +} \ No newline at end of file diff --git a/ShareX.Chrome/Properties/AssemblyInfo.cs b/ShareX.Chrome/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..5625ea254 --- /dev/null +++ b/ShareX.Chrome/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// 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 Chrome")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("ShareX Team")] +[assembly: AssemblyProduct("ShareX")] +[assembly: AssemblyCopyright("Copyright (c) 2007-2016 ShareX Team")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("254e398d-f7f5-4b2a-9024-5c121ea6c564")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// 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("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] \ No newline at end of file diff --git a/ShareX.Chrome/ShareX.Chrome.csproj b/ShareX.Chrome/ShareX.Chrome.csproj new file mode 100644 index 000000000..0de9bf8e1 --- /dev/null +++ b/ShareX.Chrome/ShareX.Chrome.csproj @@ -0,0 +1,68 @@ + + + + + Debug + AnyCPU + {254E398D-F7F5-4B2A-9024-5C121EA6C564} + WinExe + Properties + ShareX.Chrome + ShareX.Chrome + v4.0 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + Off + + + AnyCPU + none + true + bin\Release\ + TRACE + prompt + 4 + Off + + + + + + + ..\packages\Newtonsoft.Json.9.0.1\lib\net40\Newtonsoft.Json.dll + True + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ShareX.Chrome/packages.config b/ShareX.Chrome/packages.config new file mode 100644 index 000000000..7c276ed86 --- /dev/null +++ b/ShareX.Chrome/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/ShareX_Steam.sln b/ShareX.Steam.sln similarity index 100% rename from ShareX_Steam.sln rename to ShareX.Steam.sln