diff --git a/ShareX.IRCLib/AutoResponseInfo.cs b/ShareX.IRCLib/AutoResponseInfo.cs
deleted file mode 100644
index 6eda1395f..000000000
--- a/ShareX.IRCLib/AutoResponseInfo.cs
+++ /dev/null
@@ -1,109 +0,0 @@
-#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 ShareX.HelpersLib;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Diagnostics;
-using System.Drawing.Design;
-using System.Linq;
-using System.Text.RegularExpressions;
-
-namespace ShareX.IRCLib
-{
- public class AutoResponseInfo
- {
- [Editor("System.Windows.Forms.Design.StringCollectionEditor,System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
- public List Messages { get; set; }
-
- [Editor("System.Windows.Forms.Design.StringCollectionEditor,System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
- public List Responses { get; set; }
-
- [DefaultValue(IRCAutoResponseType.Contains)]
- public IRCAutoResponseType Type { get; set; }
-
- private Stopwatch lastMatchTimer = new Stopwatch();
-
- public AutoResponseInfo()
- {
- Messages = new List();
- Responses = new List();
- Type = IRCAutoResponseType.Contains;
- }
-
- public AutoResponseInfo(List message, List response, IRCAutoResponseType type)
- {
- Messages = message;
- Responses = response;
- Type = type;
- }
-
- public bool IsMatch(string message, string nick, string mynick)
- {
- bool isMatch = Messages.Select(m => m.Replace("$nick", nick).Replace("$mynick", mynick)).Any(x =>
- {
- switch (Type)
- {
- default:
- case IRCAutoResponseType.Contains:
- return Regex.IsMatch(message, $"\\b{Regex.Escape(x)}\\b", RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.IgnoreCase);
- case IRCAutoResponseType.StartsWith:
- return message.StartsWith(x, StringComparison.InvariantCultureIgnoreCase);
- case IRCAutoResponseType.ExactMatch:
- return message.Equals(x, StringComparison.InvariantCultureIgnoreCase);
- }
- });
-
- if (isMatch)
- {
- lastMatchTimer.Restart();
- }
-
- return isMatch;
- }
-
- public bool CheckLastMatchTimer(int milliseconds)
- {
- return milliseconds <= 0 || !lastMatchTimer.IsRunning || lastMatchTimer.Elapsed.TotalMilliseconds > milliseconds;
- }
-
- public string RandomResponse(string nick, string mynick)
- {
- int index = MathHelpers.Random(Responses.Count - 1);
- return Responses.Select(r => r.Replace("$nick", nick).Replace("$mynick", mynick)).ElementAt(index);
- }
-
- public override string ToString()
- {
- if (Messages != null && Messages.Count > 0)
- {
- return string.Join(", ", Messages);
- }
-
- return "...";
- }
- }
-}
\ No newline at end of file
diff --git a/ShareX.IRCLib/Enums.cs b/ShareX.IRCLib/Enums.cs
deleted file mode 100644
index fab8aa385..000000000
--- a/ShareX.IRCLib/Enums.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-#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)
-
-namespace ShareX.IRCLib
-{
- public enum IRCAutoResponseType
- {
- Contains,
- StartsWith,
- ExactMatch
- }
-
- public enum IRCUserType
- {
- Me,
- User,
- Server
- }
-
- public enum IRCColors
- {
- White = 0,
- Black = 1,
- Blue = 2,
- Green = 3,
- LightRed = 4,
- Brown = 5,
- Purple = 6,
- Orange = 7,
- Yellow = 8,
- LightGreen = 9,
- Cyan = 10,
- LightCyan = 11,
- LightBlue = 12,
- Pink = 13,
- Grey = 14,
- LightGrey = 15
- }
-}
\ No newline at end of file
diff --git a/ShareX.IRCLib/IRC.cs b/ShareX.IRCLib/IRC.cs
deleted file mode 100644
index b01aea5de..000000000
--- a/ShareX.IRCLib/IRC.cs
+++ /dev/null
@@ -1,626 +0,0 @@
-#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 ShareX.HelpersLib;
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Net.Security;
-using System.Net.Sockets;
-using System.Threading;
-
-namespace ShareX.IRCLib
-{
- public class IRC : IDisposable
- {
- public const int DefaultPort = 6667;
- public const int DefaultPortSSL = 6697;
-
- public event Action Output;
- public event Action ErrorOutput;
- public event Action Connected, Disconnected;
- public delegate void MessageEventHandler(UserInfo user, string channel, string message);
- public event MessageEventHandler Message;
- public event Action WhoisResult;
- public delegate void UserEventHandler(UserInfo user, string channel);
- public event UserEventHandler UserJoined, UserLeft, UserQuit;
- public delegate void UserNickChangedEventHandler(UserInfo user, string newNick);
- public event UserNickChangedEventHandler UserNickChanged;
- public delegate void UserKickedEventHandler(UserInfo user, string channel, string kickedNick);
- public event UserKickedEventHandler UserKicked;
-
- public IRCInfo Info { get; private set; }
- public bool IsWorking { get; private set; }
- public bool IsConnected { get; private set; }
- public string CurrentNickname { get; private set; }
- public string LastChannel { get; private set; }
-
- private TcpClient tcp;
- private StreamReader streamReader;
- private StreamWriter streamWriter;
- private bool disconnecting;
- private List userList = new List();
-
- public IRC()
- {
- Info = new IRCInfo();
- }
-
- public IRC(IRCInfo info)
- {
- Info = info;
- }
-
- public IRC(string server, int port, string nickname, string username, string realname, bool invisible)
- {
- Info = new IRCInfo()
- {
- Server = server,
- Port = port,
- Nickname = nickname,
- Username = username,
- Realname = realname,
- Invisible = invisible
- };
- }
-
- public void Dispose()
- {
- Disconnect();
- }
-
- public void Connect()
- {
- if (IsWorking)
- {
- return;
- }
-
- try
- {
- IsWorking = true;
- IsConnected = false;
- disconnecting = false;
-
- int port = Info.Port;
-
- if (port <= 0)
- {
- if (Info.UseSSL)
- {
- port = DefaultPortSSL;
- }
- else
- {
- port = DefaultPort;
- }
- }
-
- tcp = new TcpClient(Info.Server, port)
- {
- NoDelay = true
- };
-
- Stream networkStream = tcp.GetStream();
-
- if (Info.UseSSL)
- {
- SslStream sslStream = new SslStream(networkStream, false, (sender, certificate, chain, sslPolicyErrors) => true);
- sslStream.AuthenticateAsClient(Info.Server);
- networkStream = sslStream;
- }
-
- streamReader = new StreamReader(networkStream);
- streamWriter = new StreamWriter(networkStream);
-
- Thread connectionThread = new Thread(ConnectionThread);
- connectionThread.Start();
-
- if (!string.IsNullOrEmpty(Info.Password))
- {
- SetPassword(Info.Password);
- }
-
- SetUser(Info.Username, Info.Realname, Info.Invisible);
- ChangeNickname(Info.Nickname);
- }
- catch (Exception e)
- {
- IsWorking = false;
- DebugHelper.WriteLine(e.ToString());
- OnErrorOutput(e);
- }
- }
-
- public void Disconnect()
- {
- try
- {
- disconnecting = true;
-
- if (IsWorking)
- {
- Quit(Info.QuitReason);
- }
-
- if (streamReader != null) streamReader.Close();
- if (streamWriter != null) streamWriter.Close();
- if (tcp != null) tcp.Close();
- }
- catch (Exception e)
- {
- DebugHelper.WriteLine(e.ToString());
- OnErrorOutput(e);
- }
- }
-
- private void Reconnect()
- {
- Disconnect();
- Connect();
- }
-
- private void ConnectionThread()
- {
- try
- {
- string message;
-
- while ((message = streamReader.ReadLine()) != null)
- {
- try
- {
- if (!CheckCommand(message)) break;
- }
- catch (Exception e)
- {
- DebugHelper.WriteLine(e.ToString());
- OnErrorOutput(e);
- }
- }
- }
- catch (Exception e)
- {
- if (!disconnecting)
- {
- DebugHelper.WriteLine(e.ToString());
- OnErrorOutput(e);
- }
- }
-
- OnDisconnected();
- }
-
- public void SendRawMessage(string message)
- {
- streamWriter.WriteLine(message);
- streamWriter.Flush();
-
- CheckCommand(message);
- }
-
- private bool CheckCommand(string message)
- {
- MessageInfo messageInfo = MessageInfo.Parse(message);
-
- if (messageInfo.User.UserType == IRCUserType.Me)
- {
- messageInfo.User.Nickname = CurrentNickname;
- }
-
- bool suppressOutput =
- //:sendak.freenode.net 375 Jaex :- sendak.freenode.net Message of the Day -
- //:sendak.freenode.net 372 Jaex :- Welcome to sendak.freenode.net in Vilnius, Lithuania, EU.
- //:sendak.freenode.net 376 Jaex :End of /MOTD command.
- (Info.SuppressMOTD && messageInfo.CheckCommand("375", "372", "376")) ||
- //PING :sendak.freenode.net
- //PONG :sendak.freenode.net
- (Info.SuppressPing && messageInfo.CheckCommand("PING", "PONG"));
-
- if (!suppressOutput)
- {
- OnOutput(messageInfo);
- }
-
- switch (messageInfo.Command)
- {
- case "PING": //PING :sendak.freenode.net
- SendRawMessage("PONG :" + messageInfo.Message);
- break;
- case "376": //:sendak.freenode.net 376 Jaex :End of /MOTD command.
- OnConnected();
- break;
- case "433": //:sendak.freenode.net 433 * ShareX :Nickname is already in use.
- if (!IsConnected && messageInfo.Parameters.Count >= 2)
- {
- string nickname = !string.IsNullOrEmpty(Info.Nickname2) ? Info.Nickname2 : Info.Nickname + "_";
-
- if (!messageInfo.Parameters[1].Equals(nickname, StringComparison.InvariantCultureIgnoreCase))
- {
- ChangeNickname(nickname);
- }
- }
- break;
- case "PRIVMSG": //:Jaex!Jaex@unaffiliated/jaex PRIVMSG #ShareX :test
- CheckMessage(messageInfo);
- break;
- case "JOIN": //:Jaex!Jaex@unaffiliated/jaex JOIN #ShareX or :Jaex!Jaex@unaffiliated/jaex JOIN :#ShareX
- if (UserJoined != null) UserJoined(messageInfo.User, messageInfo.Parameters.Count > 0 ? messageInfo.Parameters[0] : messageInfo.Message);
- break;
- case "PART": //:Jaex!Jaex@unaffiliated/jaex PART #ShareX :"Leaving"
- if (UserLeft != null) UserLeft(messageInfo.User, messageInfo.Parameters[0]);
- break;
- case "QUIT": //:Jaex!Jaex@unaffiliated/jaex QUIT :Client Quit
- if (UserQuit != null) UserQuit(messageInfo.User, null);
- break;
- case "NICK": //:Jaex!Jaex@unaffiliated/jaex NICK :Jaex2
- if (UserNickChanged != null) UserNickChanged(messageInfo.User, messageInfo.Message);
- break;
- case "KICK": //:Jaex!Jaex@unaffiliated/jaex KICK #ShareX Jaex2 :Jaex2
- if (UserKicked != null) UserKicked(messageInfo.User, messageInfo.Parameters[0], messageInfo.Parameters[1]);
- if (Info.AutoRejoinOnKick) JoinChannel(messageInfo.Parameters[0]);
- break;
- case "311": //:sendak.freenode.net 311 Jaex ShareX ~ShareX unaffiliated/sharex * :realname
- case "319": //:sendak.freenode.net 319 Jaex ShareX :@#ShareX @#ShareX_Test
- case "312": //:sendak.freenode.net 312 Jaex ShareX sendak.freenode.net :Vilnius, Lithuania, EU
- case "671": //:sendak.freenode.net 671 Jaex ShareX :is using a secure connection
- case "317": //:sendak.freenode.net 317 Jaex ShareX 39110 1440201914 :seconds idle, signon time
- case "330": //:sendak.freenode.net 330 Jaex ShareX ShareX :is logged in as
- case "318": //:sendak.freenode.net 318 Jaex ShareX :End of /WHOIS list.
- ParseWHOIS(messageInfo);
- break;
- case "396": //:sendak.freenode.net 396 Jaex unaffiliated/jaex :is now your hidden host (set by services.)
- if (Info.AutoJoinWaitIdentify)
- {
- AutoJoinChannels();
- }
- break;
- case "ERROR":
- return false;
- }
-
- return true;
- }
-
- private void CheckMessage(MessageInfo messageInfo)
- {
- string channel = messageInfo.Parameters[0];
-
- OnMessage(messageInfo.User, channel, messageInfo.Message);
-
- if (messageInfo.User.UserType == IRCUserType.User)
- {
- HandleAutoResponse(channel, messageInfo.User.Nickname, messageInfo.Message.ToLowerInvariant());
- }
- }
-
- private void AutoJoinChannels()
- {
- foreach (string channel in Info.AutoJoinChannels)
- {
- JoinChannel(channel);
- }
- }
-
- private void OnOutput(MessageInfo messageInfo)
- {
- if (Output != null)
- {
- Output(messageInfo);
- }
-
- //Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss} - {messageInfo.Content}");
- }
-
- private void OnErrorOutput(Exception e)
- {
- if (ErrorOutput != null)
- {
- ErrorOutput(e);
- }
- }
-
- protected void OnConnected()
- {
- IsConnected = true;
-
- if (Connected != null)
- {
- Connected();
- }
-
- foreach (string command in Info.ConnectCommands)
- {
- SendRawMessage(command);
- }
-
- if (!Info.AutoJoinWaitIdentify)
- {
- AutoJoinChannels();
- }
- }
-
- protected void OnDisconnected()
- {
- IsWorking = IsConnected = false;
-
- if (Disconnected != null)
- {
- Disconnected();
- }
-
- if (!disconnecting && Info.AutoReconnect)
- {
- Thread.Sleep(Info.AutoReconnectDelay);
- Reconnect();
- }
- }
-
- protected void OnMessage(UserInfo user, string channel, string message)
- {
- if (Message != null)
- {
- Message(user, channel, message);
- }
- }
-
- protected void OnWhoisResult(UserInfo userInfo)
- {
- if (WhoisResult != null)
- {
- WhoisResult(userInfo);
- }
- }
-
- #region Commands
-
- // JOIN channel
- public void JoinChannel(string channel)
- {
- SendRawMessage($"JOIN {channel}");
- LastChannel = channel;
- }
-
- // TOPIC channel :message
- public void SetTopic(string channel, string message)
- {
- SendRawMessage($"TOPIC {channel} :{message}");
- }
-
- // NOTICE channel/nick :message
- public void SendNotice(string channelnick, string message)
- {
- SendRawMessage($"NOTICE {channelnick} :{message}");
- }
-
- // PRIVMSG channel/nick :message
- public void SendMessage(string message, string channel = null)
- {
- if (string.IsNullOrEmpty(channel))
- {
- channel = LastChannel;
- }
-
- SendRawMessage($"PRIVMSG {channel} :{message}");
- }
-
- // NICK nick
- public void ChangeNickname(string nick)
- {
- SendRawMessage($"NICK {nick}");
- CurrentNickname = nick;
- }
-
- // PART channel :reason
- public void LeaveChannel(string channel, string reason = null)
- {
- SendRawMessage(AddReason($"PART {channel}", reason));
- }
-
- // KICK nick :reason
- public void KickUser(string channel, string nick, string reason = null)
- {
- SendRawMessage(AddReason($"KICK {channel} {nick}", reason));
- }
-
- // PASS password
- public void SetPassword(string password)
- {
- SendRawMessage($"PASS {password}");
- }
-
- // USER username invisible * :realname
- public void SetUser(string username, string realname, bool invisible)
- {
- SendRawMessage($"USER {username} {(invisible ? 8 : 0)} * :{realname}");
- }
-
- // WHOIS nick
- public void Whois(string nick, bool detailed = true)
- {
- string msg = $"WHOIS {nick}";
- if (detailed) msg += $" {nick}";
- SendRawMessage(msg);
- }
-
- // QUIT :reason
- public void Quit(string reason = null)
- {
- SendRawMessage(AddReason("QUIT", reason));
- }
-
- #endregion Commands
-
- private string AddReason(string command, string reason)
- {
- if (!string.IsNullOrEmpty(reason)) command += " :" + reason;
- return command;
- }
-
- private bool HandleAutoResponse(string channel, string nick, string message)
- {
- if (Info.AutoResponse && nick != CurrentNickname)
- {
- foreach (AutoResponseInfo autoResponseInfo in Info.AutoResponseList)
- {
- if (autoResponseInfo.CheckLastMatchTimer(Info.AutoResponseDelay) && autoResponseInfo.IsMatch(message, nick, CurrentNickname))
- {
- // Is it whisper?
- if (!channel.StartsWith("#"))
- {
- channel = nick;
- }
-
- string response = autoResponseInfo.RandomResponse(nick, CurrentNickname);
- SendMessage(response, channel);
-
- return true;
- }
- }
- }
-
- return false;
- }
-
- private void ParseWHOIS(MessageInfo messageInfo)
- {
- UserInfo userInfo;
-
- switch (messageInfo.Command)
- {
- case "311": //:sendak.freenode.net 311 Jaex ShareX ~ShareX unaffiliated/sharex * :realname
- if (messageInfo.Parameters.Count >= 4)
- {
- userInfo = new UserInfo();
- userInfo.Nickname = messageInfo.Parameters[1];
-
- if (messageInfo.Parameters[2][1] == '~')
- {
- userInfo.Username = messageInfo.Parameters[2].Substring(1);
- }
- else // Ident
- {
- userInfo.Username = messageInfo.Parameters[2];
- }
-
- userInfo.Host = messageInfo.Parameters[3];
- userInfo.Realname = messageInfo.Message;
-
- userList.Add(userInfo);
- }
- break;
- case "319": //:sendak.freenode.net 319 Jaex ShareX :@#ShareX @#ShareX_Test
- if (messageInfo.Parameters.Count >= 2)
- {
- userInfo = FindUser(messageInfo.Parameters[1]);
-
- if (userInfo != null)
- {
- userInfo.Channels.Clear();
- userInfo.Channels.AddRange(messageInfo.Message.Split());
- }
- }
- break;
- case "312": //:sendak.freenode.net 312 Jaex ShareX sendak.freenode.net :Vilnius, Lithuania, EU
- if (messageInfo.Parameters.Count >= 3)
- {
- userInfo = FindUser(messageInfo.Parameters[1]);
-
- if (userInfo != null)
- {
- userInfo.Server = messageInfo.Parameters[2];
- }
- }
- break;
- case "671": //:sendak.freenode.net 671 Jaex ShareX :is using a secure connection
- if (messageInfo.Parameters.Count >= 2)
- {
- userInfo = FindUser(messageInfo.Parameters[1]);
-
- if (userInfo != null)
- {
- userInfo.SecureConnection = true;
- }
- }
- break;
- case "317": //:sendak.freenode.net 317 Jaex ShareX 39110 1440201914 :seconds idle, signon time
- if (messageInfo.Parameters.Count >= 4)
- {
- userInfo = FindUser(messageInfo.Parameters[1]);
-
- if (userInfo != null)
- {
- int idleTime;
- if (int.TryParse(messageInfo.Parameters[2], out idleTime))
- {
- userInfo.IdleTime = TimeSpan.FromSeconds(idleTime);
- }
-
- int signOnTime;
- if (int.TryParse(messageInfo.Parameters[3], out signOnTime))
- {
- userInfo.SignOnDate = Helpers.UnixToDateTime(signOnTime).ToLocalTime();
- }
- }
- }
- break;
- case "330": //:sendak.freenode.net 330 Jaex ShareX ShareX :is logged in as
- if (messageInfo.Parameters.Count >= 3)
- {
- userInfo = FindUser(messageInfo.Parameters[1]);
-
- if (userInfo != null)
- {
- userInfo.Identity = messageInfo.Parameters[2];
- }
- }
- break;
- case "318": //:sendak.freenode.net 318 Jaex ShareX :End of /WHOIS list.
- if (messageInfo.Parameters.Count >= 2)
- {
- userInfo = FindUser(messageInfo.Parameters[1]);
-
- if (userInfo != null)
- {
- userList.Remove(userInfo);
- OnWhoisResult(userInfo);
- }
- }
- break;
- }
- }
-
- private UserInfo FindUser(string nickname)
- {
- if (!string.IsNullOrEmpty(nickname))
- {
- return userList.FirstOrDefault(user => user.Nickname == nickname);
- }
-
- return null;
- }
- }
-}
\ No newline at end of file
diff --git a/ShareX.IRCLib/IRCClient/IRCClientForm.Designer.cs b/ShareX.IRCLib/IRCClient/IRCClientForm.Designer.cs
deleted file mode 100644
index 08e932a43..000000000
--- a/ShareX.IRCLib/IRCClient/IRCClientForm.Designer.cs
+++ /dev/null
@@ -1,437 +0,0 @@
-namespace ShareX.IRCLib
-{
- partial class IRCClientForm
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- #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.components = new System.ComponentModel.Container();
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(IRCClientForm));
- this.txtMessage = new System.Windows.Forms.TextBox();
- this.cmsMessage = new System.Windows.Forms.ContextMenuStrip(this.components);
- this.tsmiMessageBold = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiMessageItalic = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiMessageUnderline = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiMessageNormal = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiColors = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiColorWhite = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiColorBlack = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiColorBlue = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiColorGreen = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiColorLightRed = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiColorBrown = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiColorPurple = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiColorOrange = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiColorYellow = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiColorLightGreen = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiColorCyan = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiColorLightCyan = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiColorLightBlue = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiColorPink = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiColorGrey = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiColorLightGrey = new System.Windows.Forms.ToolStripMenuItem();
- this.btnMessageSend = new System.Windows.Forms.Button();
- this.tcMain = new System.Windows.Forms.TabControl();
- this.tpMain = new System.Windows.Forms.TabPage();
- this.btnConnect = new System.Windows.Forms.Button();
- this.pgSettings = new System.Windows.Forms.PropertyGrid();
- this.tpOutput = new System.Windows.Forms.TabPage();
- this.txtCommand = new System.Windows.Forms.TextBox();
- this.lblCommand = new System.Windows.Forms.Label();
- this.btnCommandSend = new System.Windows.Forms.Button();
- this.rtbOutput = new System.Windows.Forms.RichTextBox();
- this.tpMessages = new System.Windows.Forms.TabPage();
- this.tcMessages = new System.Windows.Forms.TabControl();
- this.btnMessagesMenu = new System.Windows.Forms.Button();
- this.lblMessage = new System.Windows.Forms.Label();
- this.lblChannel = new System.Windows.Forms.Label();
- this.txtChannel = new System.Windows.Forms.TextBox();
- this.cmsMessage.SuspendLayout();
- this.tcMain.SuspendLayout();
- this.tpMain.SuspendLayout();
- this.tpOutput.SuspendLayout();
- this.tpMessages.SuspendLayout();
- this.SuspendLayout();
- //
- // txtMessage
- //
- resources.ApplyResources(this.txtMessage, "txtMessage");
- this.txtMessage.Name = "txtMessage";
- this.txtMessage.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtMessage_KeyDown);
- //
- // cmsMessage
- //
- this.cmsMessage.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.tsmiMessageBold,
- this.tsmiMessageItalic,
- this.tsmiMessageUnderline,
- this.tsmiMessageNormal,
- this.tsmiColors});
- this.cmsMessage.Name = "cmsMessage";
- this.cmsMessage.ShowImageMargin = false;
- resources.ApplyResources(this.cmsMessage, "cmsMessage");
- //
- // tsmiMessageBold
- //
- resources.ApplyResources(this.tsmiMessageBold, "tsmiMessageBold");
- this.tsmiMessageBold.Name = "tsmiMessageBold";
- this.tsmiMessageBold.Click += new System.EventHandler(this.tsmiMessageBold_Click);
- //
- // tsmiMessageItalic
- //
- resources.ApplyResources(this.tsmiMessageItalic, "tsmiMessageItalic");
- this.tsmiMessageItalic.Name = "tsmiMessageItalic";
- this.tsmiMessageItalic.Click += new System.EventHandler(this.tsmiMessageItalic_Click);
- //
- // tsmiMessageUnderline
- //
- resources.ApplyResources(this.tsmiMessageUnderline, "tsmiMessageUnderline");
- this.tsmiMessageUnderline.Name = "tsmiMessageUnderline";
- this.tsmiMessageUnderline.Click += new System.EventHandler(this.tsmiMessageUnderline_Click);
- //
- // tsmiMessageNormal
- //
- this.tsmiMessageNormal.Name = "tsmiMessageNormal";
- resources.ApplyResources(this.tsmiMessageNormal, "tsmiMessageNormal");
- this.tsmiMessageNormal.Click += new System.EventHandler(this.tsmiMessageNormal_Click);
- //
- // tsmiColors
- //
- this.tsmiColors.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.tsmiColorWhite,
- this.tsmiColorBlack,
- this.tsmiColorBlue,
- this.tsmiColorGreen,
- this.tsmiColorLightRed,
- this.tsmiColorBrown,
- this.tsmiColorPurple,
- this.tsmiColorOrange,
- this.tsmiColorYellow,
- this.tsmiColorLightGreen,
- this.tsmiColorCyan,
- this.tsmiColorLightCyan,
- this.tsmiColorLightBlue,
- this.tsmiColorPink,
- this.tsmiColorGrey,
- this.tsmiColorLightGrey});
- this.tsmiColors.Name = "tsmiColors";
- resources.ApplyResources(this.tsmiColors, "tsmiColors");
- //
- // tsmiColorWhite
- //
- this.tsmiColorWhite.BackColor = System.Drawing.Color.White;
- this.tsmiColorWhite.ForeColor = System.Drawing.Color.Black;
- this.tsmiColorWhite.Name = "tsmiColorWhite";
- resources.ApplyResources(this.tsmiColorWhite, "tsmiColorWhite");
- this.tsmiColorWhite.Click += new System.EventHandler(this.tsmiColorWhite_Click);
- //
- // tsmiColorBlack
- //
- this.tsmiColorBlack.BackColor = System.Drawing.Color.Black;
- this.tsmiColorBlack.ForeColor = System.Drawing.Color.White;
- this.tsmiColorBlack.Name = "tsmiColorBlack";
- resources.ApplyResources(this.tsmiColorBlack, "tsmiColorBlack");
- this.tsmiColorBlack.Click += new System.EventHandler(this.tsmiColorBlack_Click);
- //
- // tsmiColorBlue
- //
- this.tsmiColorBlue.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(127)))));
- this.tsmiColorBlue.ForeColor = System.Drawing.Color.White;
- this.tsmiColorBlue.Name = "tsmiColorBlue";
- resources.ApplyResources(this.tsmiColorBlue, "tsmiColorBlue");
- this.tsmiColorBlue.Click += new System.EventHandler(this.tsmiColorBlue_Click);
- //
- // tsmiColorGreen
- //
- this.tsmiColorGreen.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(147)))), ((int)(((byte)(0)))));
- this.tsmiColorGreen.ForeColor = System.Drawing.Color.White;
- this.tsmiColorGreen.Name = "tsmiColorGreen";
- resources.ApplyResources(this.tsmiColorGreen, "tsmiColorGreen");
- this.tsmiColorGreen.Click += new System.EventHandler(this.tsmiColorGreen_Click);
- //
- // tsmiColorLightRed
- //
- this.tsmiColorLightRed.BackColor = System.Drawing.Color.Red;
- this.tsmiColorLightRed.ForeColor = System.Drawing.Color.White;
- this.tsmiColorLightRed.Name = "tsmiColorLightRed";
- resources.ApplyResources(this.tsmiColorLightRed, "tsmiColorLightRed");
- this.tsmiColorLightRed.Click += new System.EventHandler(this.tsmiColorLightRed_Click);
- //
- // tsmiColorBrown
- //
- this.tsmiColorBrown.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(127)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
- this.tsmiColorBrown.ForeColor = System.Drawing.Color.White;
- this.tsmiColorBrown.Name = "tsmiColorBrown";
- resources.ApplyResources(this.tsmiColorBrown, "tsmiColorBrown");
- this.tsmiColorBrown.Click += new System.EventHandler(this.tsmiColorBrown_Click);
- //
- // tsmiColorPurple
- //
- this.tsmiColorPurple.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(156)))), ((int)(((byte)(0)))), ((int)(((byte)(156)))));
- this.tsmiColorPurple.ForeColor = System.Drawing.Color.White;
- this.tsmiColorPurple.Name = "tsmiColorPurple";
- resources.ApplyResources(this.tsmiColorPurple, "tsmiColorPurple");
- this.tsmiColorPurple.Click += new System.EventHandler(this.tsmiColorPurple_Click);
- //
- // tsmiColorOrange
- //
- this.tsmiColorOrange.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(127)))), ((int)(((byte)(0)))));
- this.tsmiColorOrange.ForeColor = System.Drawing.Color.White;
- this.tsmiColorOrange.Name = "tsmiColorOrange";
- resources.ApplyResources(this.tsmiColorOrange, "tsmiColorOrange");
- this.tsmiColorOrange.Click += new System.EventHandler(this.tsmiColorOrange_Click);
- //
- // tsmiColorYellow
- //
- this.tsmiColorYellow.BackColor = System.Drawing.Color.Yellow;
- this.tsmiColorYellow.ForeColor = System.Drawing.Color.Black;
- this.tsmiColorYellow.Name = "tsmiColorYellow";
- resources.ApplyResources(this.tsmiColorYellow, "tsmiColorYellow");
- this.tsmiColorYellow.Click += new System.EventHandler(this.tsmiColorYellow_Click);
- //
- // tsmiColorLightGreen
- //
- this.tsmiColorLightGreen.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(252)))), ((int)(((byte)(0)))));
- this.tsmiColorLightGreen.ForeColor = System.Drawing.Color.Black;
- this.tsmiColorLightGreen.Name = "tsmiColorLightGreen";
- resources.ApplyResources(this.tsmiColorLightGreen, "tsmiColorLightGreen");
- this.tsmiColorLightGreen.Click += new System.EventHandler(this.tsmiColorLightGreen_Click);
- //
- // tsmiColorCyan
- //
- this.tsmiColorCyan.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(147)))), ((int)(((byte)(147)))));
- this.tsmiColorCyan.ForeColor = System.Drawing.Color.White;
- this.tsmiColorCyan.Name = "tsmiColorCyan";
- resources.ApplyResources(this.tsmiColorCyan, "tsmiColorCyan");
- this.tsmiColorCyan.Click += new System.EventHandler(this.tsmiColorCyan_Click);
- //
- // tsmiColorLightCyan
- //
- this.tsmiColorLightCyan.BackColor = System.Drawing.Color.Aqua;
- this.tsmiColorLightCyan.ForeColor = System.Drawing.Color.Black;
- this.tsmiColorLightCyan.Name = "tsmiColorLightCyan";
- resources.ApplyResources(this.tsmiColorLightCyan, "tsmiColorLightCyan");
- this.tsmiColorLightCyan.Click += new System.EventHandler(this.tsmiColorLightCyan_Click);
- //
- // tsmiColorLightBlue
- //
- this.tsmiColorLightBlue.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(252)))));
- this.tsmiColorLightBlue.ForeColor = System.Drawing.Color.White;
- this.tsmiColorLightBlue.Name = "tsmiColorLightBlue";
- resources.ApplyResources(this.tsmiColorLightBlue, "tsmiColorLightBlue");
- this.tsmiColorLightBlue.Click += new System.EventHandler(this.tsmiColorLightBlue_Click);
- //
- // tsmiColorPink
- //
- this.tsmiColorPink.BackColor = System.Drawing.Color.Fuchsia;
- this.tsmiColorPink.ForeColor = System.Drawing.Color.White;
- this.tsmiColorPink.Name = "tsmiColorPink";
- resources.ApplyResources(this.tsmiColorPink, "tsmiColorPink");
- this.tsmiColorPink.Click += new System.EventHandler(this.tsmiColorPink_Click);
- //
- // tsmiColorGrey
- //
- this.tsmiColorGrey.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(127)))), ((int)(((byte)(127)))), ((int)(((byte)(127)))));
- this.tsmiColorGrey.ForeColor = System.Drawing.Color.White;
- this.tsmiColorGrey.Name = "tsmiColorGrey";
- resources.ApplyResources(this.tsmiColorGrey, "tsmiColorGrey");
- this.tsmiColorGrey.Click += new System.EventHandler(this.tsmiColorGrey_Click);
- //
- // tsmiColorLightGrey
- //
- this.tsmiColorLightGrey.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(210)))), ((int)(((byte)(210)))), ((int)(((byte)(210)))));
- this.tsmiColorLightGrey.ForeColor = System.Drawing.Color.Black;
- this.tsmiColorLightGrey.Name = "tsmiColorLightGrey";
- resources.ApplyResources(this.tsmiColorLightGrey, "tsmiColorLightGrey");
- this.tsmiColorLightGrey.Click += new System.EventHandler(this.tsmiColorLightGrey_Click);
- //
- // btnMessageSend
- //
- resources.ApplyResources(this.btnMessageSend, "btnMessageSend");
- this.btnMessageSend.Name = "btnMessageSend";
- this.btnMessageSend.UseVisualStyleBackColor = true;
- this.btnMessageSend.Click += new System.EventHandler(this.btnMessageSend_Click);
- //
- // tcMain
- //
- this.tcMain.Controls.Add(this.tpMain);
- this.tcMain.Controls.Add(this.tpOutput);
- this.tcMain.Controls.Add(this.tpMessages);
- resources.ApplyResources(this.tcMain, "tcMain");
- this.tcMain.Name = "tcMain";
- this.tcMain.SelectedIndex = 0;
- this.tcMain.SelectedIndexChanged += new System.EventHandler(this.tcMain_SelectedIndexChanged);
- //
- // tpMain
- //
- this.tpMain.Controls.Add(this.btnConnect);
- this.tpMain.Controls.Add(this.pgSettings);
- resources.ApplyResources(this.tpMain, "tpMain");
- this.tpMain.Name = "tpMain";
- this.tpMain.UseVisualStyleBackColor = true;
- //
- // btnConnect
- //
- resources.ApplyResources(this.btnConnect, "btnConnect");
- this.btnConnect.Name = "btnConnect";
- this.btnConnect.UseVisualStyleBackColor = true;
- this.btnConnect.Click += new System.EventHandler(this.btnConnect_Click);
- //
- // pgSettings
- //
- resources.ApplyResources(this.pgSettings, "pgSettings");
- this.pgSettings.CategoryForeColor = System.Drawing.SystemColors.InactiveCaptionText;
- this.pgSettings.Name = "pgSettings";
- this.pgSettings.PropertySort = System.Windows.Forms.PropertySort.Categorized;
- this.pgSettings.ToolbarVisible = false;
- //
- // tpOutput
- //
- this.tpOutput.Controls.Add(this.txtCommand);
- this.tpOutput.Controls.Add(this.lblCommand);
- this.tpOutput.Controls.Add(this.btnCommandSend);
- this.tpOutput.Controls.Add(this.rtbOutput);
- resources.ApplyResources(this.tpOutput, "tpOutput");
- this.tpOutput.Name = "tpOutput";
- this.tpOutput.UseVisualStyleBackColor = true;
- //
- // txtCommand
- //
- resources.ApplyResources(this.txtCommand, "txtCommand");
- this.txtCommand.Name = "txtCommand";
- this.txtCommand.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtCommand_KeyDown);
- //
- // lblCommand
- //
- resources.ApplyResources(this.lblCommand, "lblCommand");
- this.lblCommand.Name = "lblCommand";
- //
- // btnCommandSend
- //
- resources.ApplyResources(this.btnCommandSend, "btnCommandSend");
- this.btnCommandSend.Name = "btnCommandSend";
- this.btnCommandSend.UseVisualStyleBackColor = true;
- this.btnCommandSend.Click += new System.EventHandler(this.btnCommandSend_Click);
- //
- // rtbOutput
- //
- resources.ApplyResources(this.rtbOutput, "rtbOutput");
- this.rtbOutput.BackColor = System.Drawing.Color.White;
- this.rtbOutput.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.rtbOutput.Name = "rtbOutput";
- this.rtbOutput.ReadOnly = true;
- this.rtbOutput.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler(this.rtbOutput_LinkClicked);
- //
- // tpMessages
- //
- this.tpMessages.Controls.Add(this.tcMessages);
- this.tpMessages.Controls.Add(this.btnMessagesMenu);
- this.tpMessages.Controls.Add(this.lblMessage);
- this.tpMessages.Controls.Add(this.lblChannel);
- this.tpMessages.Controls.Add(this.txtChannel);
- this.tpMessages.Controls.Add(this.txtMessage);
- this.tpMessages.Controls.Add(this.btnMessageSend);
- resources.ApplyResources(this.tpMessages, "tpMessages");
- this.tpMessages.Name = "tpMessages";
- this.tpMessages.UseVisualStyleBackColor = true;
- //
- // tcMessages
- //
- resources.ApplyResources(this.tcMessages, "tcMessages");
- this.tcMessages.Name = "tcMessages";
- this.tcMessages.SelectedIndex = 0;
- this.tcMessages.SelectedIndexChanged += new System.EventHandler(this.tcMessages_SelectedIndexChanged);
- //
- // btnMessagesMenu
- //
- resources.ApplyResources(this.btnMessagesMenu, "btnMessagesMenu");
- this.btnMessagesMenu.Name = "btnMessagesMenu";
- this.btnMessagesMenu.UseVisualStyleBackColor = true;
- this.btnMessagesMenu.MouseClick += new System.Windows.Forms.MouseEventHandler(this.btnMessagesMenu_MouseClick);
- //
- // lblMessage
- //
- resources.ApplyResources(this.lblMessage, "lblMessage");
- this.lblMessage.Name = "lblMessage";
- //
- // lblChannel
- //
- resources.ApplyResources(this.lblChannel, "lblChannel");
- this.lblChannel.Name = "lblChannel";
- //
- // txtChannel
- //
- resources.ApplyResources(this.txtChannel, "txtChannel");
- this.txtChannel.Name = "txtChannel";
- //
- // IRCClientForm
- //
- resources.ApplyResources(this, "$this");
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Controls.Add(this.tcMain);
- this.Name = "IRCClientForm";
- this.cmsMessage.ResumeLayout(false);
- this.tcMain.ResumeLayout(false);
- this.tpMain.ResumeLayout(false);
- this.tpOutput.ResumeLayout(false);
- this.tpOutput.PerformLayout();
- this.tpMessages.ResumeLayout(false);
- this.tpMessages.PerformLayout();
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- private System.Windows.Forms.TextBox txtMessage;
- private System.Windows.Forms.Button btnMessageSend;
- private System.Windows.Forms.TabControl tcMain;
- private System.Windows.Forms.TabPage tpOutput;
- private System.Windows.Forms.TabPage tpMessages;
- private System.Windows.Forms.TextBox txtChannel;
- private System.Windows.Forms.Label lblChannel;
- private System.Windows.Forms.Label lblMessage;
- private System.Windows.Forms.TabPage tpMain;
- private System.Windows.Forms.PropertyGrid pgSettings;
- private System.Windows.Forms.Button btnConnect;
- private System.Windows.Forms.TextBox txtCommand;
- private System.Windows.Forms.Label lblCommand;
- private System.Windows.Forms.Button btnCommandSend;
- private System.Windows.Forms.ContextMenuStrip cmsMessage;
- private System.Windows.Forms.ToolStripMenuItem tsmiMessageBold;
- private System.Windows.Forms.ToolStripMenuItem tsmiMessageItalic;
- private System.Windows.Forms.ToolStripMenuItem tsmiMessageUnderline;
- private System.Windows.Forms.ToolStripMenuItem tsmiMessageNormal;
- private System.Windows.Forms.Button btnMessagesMenu;
- private System.Windows.Forms.ToolStripMenuItem tsmiColors;
- private System.Windows.Forms.ToolStripMenuItem tsmiColorWhite;
- private System.Windows.Forms.ToolStripMenuItem tsmiColorBlack;
- private System.Windows.Forms.ToolStripMenuItem tsmiColorBlue;
- private System.Windows.Forms.ToolStripMenuItem tsmiColorGreen;
- private System.Windows.Forms.ToolStripMenuItem tsmiColorLightRed;
- private System.Windows.Forms.ToolStripMenuItem tsmiColorBrown;
- private System.Windows.Forms.ToolStripMenuItem tsmiColorPurple;
- private System.Windows.Forms.ToolStripMenuItem tsmiColorOrange;
- private System.Windows.Forms.ToolStripMenuItem tsmiColorYellow;
- private System.Windows.Forms.ToolStripMenuItem tsmiColorLightGreen;
- private System.Windows.Forms.ToolStripMenuItem tsmiColorCyan;
- private System.Windows.Forms.ToolStripMenuItem tsmiColorLightCyan;
- private System.Windows.Forms.ToolStripMenuItem tsmiColorLightBlue;
- private System.Windows.Forms.ToolStripMenuItem tsmiColorPink;
- private System.Windows.Forms.ToolStripMenuItem tsmiColorGrey;
- private System.Windows.Forms.ToolStripMenuItem tsmiColorLightGrey;
- private System.Windows.Forms.TabControl tcMessages;
- private System.Windows.Forms.RichTextBox rtbOutput;
- }
-}
-
diff --git a/ShareX.IRCLib/IRCClient/IRCClientForm.cs b/ShareX.IRCLib/IRCClient/IRCClientForm.cs
deleted file mode 100644
index 34d76e000..000000000
--- a/ShareX.IRCLib/IRCClient/IRCClientForm.cs
+++ /dev/null
@@ -1,453 +0,0 @@
-#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 ShareX.HelpersLib;
-using ShareX.IRCLib.Properties;
-using System;
-using System.Drawing;
-using System.Windows.Forms;
-
-namespace ShareX.IRCLib
-{
- public partial class IRCClientForm : BaseForm
- {
- public IRCInfo Info { get; private set; }
- public IRC IRC { get; private set; }
-
- private TabManager tabManager;
- private string lastCommand, lastMessage;
-
- public IRCClientForm() : this(new IRCInfo())
- {
- }
-
- public IRCClientForm(IRCInfo info)
- {
- InitializeComponent();
- rtbOutput.AddContextMenu();
- tsmiColors.HideImageMargin();
-
- tabManager = new TabManager(tcMessages);
-
- Info = info;
- pgSettings.SelectedObject = Info;
-
- IRC = new IRC(Info);
- IRC.Disconnected += IRC_Disconnected;
- IRC.Output += IRC_Output;
- IRC.ErrorOutput += IRC_ErrorOutput;
- IRC.Message += IRC_Message;
- IRC.UserJoined += IRC_UserJoined;
- }
-
- protected override void Dispose(bool disposing)
- {
- if (disposing)
- {
- if (components != null)
- {
- components.Dispose();
- }
-
- if (IRC != null)
- {
- IRC.Dispose();
- }
- }
-
- base.Dispose(disposing);
- }
-
- private void AppendOutput(string output, Color color)
- {
- this.InvokeSafe(() =>
- {
- rtbOutput.Select(rtbOutput.TextLength, 0);
- rtbOutput.SelectionColor = color;
- rtbOutput.AppendText($"{DateTime.Now:yyyy-MM-dd HH:mm:ss} - {output}\r\n");
- });
- }
-
- private void AppendMessage(string message)
- {
- txtMessage.AppendTextToSelection(message);
- txtMessage.Focus();
- }
-
- private void SendCommand()
- {
- string command = txtCommand.Text;
-
- if (!string.IsNullOrEmpty(command))
- {
- lastCommand = command;
-
- if (IRC.IsWorking)
- {
- SendCommand(command);
- }
- }
-
- txtCommand.Clear();
- }
-
- private void SendCommand(string command)
- {
- if (!string.IsNullOrEmpty(command))
- {
- if (command.StartsWith("/"))
- {
- command = command.Substring(1);
- }
-
- IRC.SendRawMessage(command);
- }
- }
-
- private void SendMessage()
- {
- string message = txtMessage.Text;
-
- if (!string.IsNullOrEmpty(message))
- {
- lastMessage = message;
-
- if (IRC.IsWorking)
- {
- SendMessage(message);
- }
- }
-
- txtMessage.Clear();
- }
-
- private void SendMessage(string message)
- {
- if (!string.IsNullOrEmpty(message))
- {
- if (message.StartsWith("/"))
- {
- IRC.SendRawMessage(message.Substring(1));
- }
- else
- {
- IRC.SendMessage(message, txtChannel.Text);
- }
- }
- }
-
- private void Connect()
- {
- if (CheckInfo())
- {
- btnConnect.Text = Resources.IRCClientForm_Connect_Disconnect;
- btnCommandSend.Enabled = btnMessageSend.Enabled = true;
- tcMain.SelectedTab = tpOutput;
- IRC.Connect();
- }
- }
-
- private void Disconnect()
- {
- btnConnect.Text = Resources.IRCClientForm_Disconnect_Connect;
- btnCommandSend.Enabled = btnMessageSend.Enabled = false;
- IRC.Disconnect();
- }
-
- private bool CheckInfo()
- {
- if (string.IsNullOrEmpty(Info.Server))
- {
- MessageBox.Show("Server field cannot be empty.", "ShareX - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return false;
- }
-
- if (string.IsNullOrEmpty(Info.Nickname))
- {
- MessageBox.Show("Nickname field cannot be empty.", "ShareX - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return false;
- }
-
- if (string.IsNullOrEmpty(Info.Username))
- {
- MessageBox.Show("Username field cannot be empty.", "ShareX - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return false;
- }
-
- if (string.IsNullOrEmpty(Info.Realname))
- {
- MessageBox.Show("Realname field cannot be empty.", "ShareX - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return false;
- }
-
- return true;
- }
-
- #region Form events
-
- private void tcMain_SelectedIndexChanged(object sender, EventArgs e)
- {
- if (tcMain.SelectedTab == tpOutput)
- {
- txtCommand.Focus();
- }
- else if (tcMain.SelectedTab == tpMessages)
- {
- txtMessage.Focus();
- }
- }
-
- private void btnConnect_Click(object sender, EventArgs e)
- {
- if (!IRC.IsWorking)
- {
- Connect();
- }
- else
- {
- Disconnect();
- }
- }
-
- private void rtbOutput_LinkClicked(object sender, LinkClickedEventArgs e)
- {
- URLHelpers.OpenURL(e.LinkText);
- }
-
- private void txtCommand_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.KeyCode == Keys.Enter)
- {
- SendCommand();
- e.SuppressKeyPress = true;
- }
- else if (e.KeyCode == Keys.Up && !string.IsNullOrEmpty(lastCommand))
- {
- txtCommand.Text = lastCommand;
- txtCommand.SelectionStart = txtCommand.TextLength;
- e.SuppressKeyPress = true;
- }
- }
-
- private void btnCommandSend_Click(object sender, EventArgs e)
- {
- SendCommand();
- }
-
- private void tcMessages_SelectedIndexChanged(object sender, EventArgs e)
- {
- TabInfo tabInfo = tabManager.ActiveTab;
-
- if (tabInfo != null)
- {
- txtChannel.Text = tabInfo.Name;
- }
-
- txtMessage.Focus();
- }
-
- private void txtMessage_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.KeyCode == Keys.Enter)
- {
- SendMessage();
- e.SuppressKeyPress = true;
- }
- else if (e.KeyCode == Keys.Up && !string.IsNullOrEmpty(lastMessage))
- {
- txtMessage.Text = lastMessage;
- txtMessage.SelectionStart = txtMessage.TextLength;
- e.SuppressKeyPress = true;
- }
- }
-
- private void btnMessagesMenu_MouseClick(object sender, MouseEventArgs e)
- {
- cmsMessage.Show(btnMessagesMenu, new Point(0, btnMessagesMenu.Height + 1));
- }
-
- #region Message menu
-
- private void tsmiMessageBold_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Bold);
- }
-
- private void tsmiMessageItalic_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Italic);
- }
-
- private void tsmiMessageUnderline_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Underline);
- }
-
- private void tsmiMessageNormal_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Reset);
- }
-
- private void tsmiColorWhite_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Color(IRCColors.White));
- }
-
- private void tsmiColorBlack_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Color(IRCColors.Black));
- }
-
- private void tsmiColorBlue_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Color(IRCColors.Blue));
- }
-
- private void tsmiColorGreen_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Color(IRCColors.Green));
- }
-
- private void tsmiColorLightRed_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Color(IRCColors.LightRed));
- }
-
- private void tsmiColorBrown_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Color(IRCColors.Brown));
- }
-
- private void tsmiColorPurple_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Color(IRCColors.Purple));
- }
-
- private void tsmiColorOrange_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Color(IRCColors.Orange));
- }
-
- private void tsmiColorYellow_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Color(IRCColors.Yellow));
- }
-
- private void tsmiColorLightGreen_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Color(IRCColors.LightGreen));
- }
-
- private void tsmiColorCyan_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Color(IRCColors.Cyan));
- }
-
- private void tsmiColorLightCyan_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Color(IRCColors.LightCyan));
- }
-
- private void tsmiColorLightBlue_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Color(IRCColors.LightBlue));
- }
-
- private void tsmiColorPink_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Color(IRCColors.Pink));
- }
-
- private void tsmiColorGrey_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Color(IRCColors.Grey));
- }
-
- private void tsmiColorLightGrey_Click(object sender, EventArgs e)
- {
- AppendMessage(IRCText.Color(IRCColors.LightGrey));
- }
-
- #endregion Message menu
-
- private void btnMessageSend_Click(object sender, EventArgs e)
- {
- SendMessage();
- }
-
- #endregion Form events
-
- #region IRC events
-
- private void IRC_Disconnected()
- {
- if (!Info.AutoReconnect)
- {
- Disconnect();
- }
- }
-
- private void IRC_Output(MessageInfo messageInfo)
- {
- AppendOutput(messageInfo.Content, Color.Black);
- }
-
- private void IRC_ErrorOutput(Exception e)
- {
- AppendOutput(e.ToString(), Color.Red);
- }
-
- private void IRC_Message(UserInfo user, string channel, string message)
- {
- this.InvokeSafe(() =>
- {
- if (channel[0] != '#' && user.UserType == IRCUserType.User)
- {
- channel = user.Nickname;
- }
-
- tabManager.AddMessage(channel, $"{user.Nickname}: {message}");
- });
- }
-
- private void IRC_UserJoined(UserInfo user, string channel)
- {
- if (user.Nickname == IRC.CurrentNickname && user.Username == Info.Username)
- {
- this.InvokeSafe(() =>
- {
- tabManager.AddChannel(channel);
-
- if (string.IsNullOrEmpty(txtChannel.Text))
- {
- txtChannel.Text = channel;
- }
- });
- }
- }
-
- #endregion IRC events
- }
-}
\ No newline at end of file
diff --git a/ShareX.IRCLib/IRCClient/IRCClientForm.de.resx b/ShareX.IRCLib/IRCClient/IRCClientForm.de.resx
deleted file mode 100644
index 5a53416ec..000000000
--- a/ShareX.IRCLib/IRCClient/IRCClientForm.de.resx
+++ /dev/null
@@ -1,213 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- ShareX - IRC Programm
-
-
- Senden
-
-
- Verbinden
-
-
- Senden
-
-
- Channel/Nick:
-
-
- Befehl:
-
-
- Nachricht:
-
-
- Einstellungen
-
-
- Nachrichten
-
-
- IRC Ausgabe
-
-
- Schwarz
-
-
- Blau
-
-
- Braun
-
-
- Cyan
-
-
- Grün
-
-
- Grau
-
-
- Hellblau
-
-
- Helles Cyan
-
-
- Hellgrün
-
-
- Hellgrau
-
-
- Hellrot
-
-
- Orange
-
-
- Pink
-
-
- Lila
-
-
- Farben
-
-
- Weiß
-
-
- Gelb
-
-
- Fett
-
-
- Kursiv
-
-
- Normal
-
-
- Unterstrichen
-
-
\ No newline at end of file
diff --git a/ShareX.IRCLib/IRCClient/IRCClientForm.fr.resx b/ShareX.IRCLib/IRCClient/IRCClientForm.fr.resx
deleted file mode 100644
index ad3fdc9e1..000000000
--- a/ShareX.IRCLib/IRCClient/IRCClientForm.fr.resx
+++ /dev/null
@@ -1,213 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- ShareX - Client IRC
-
-
- Envoyer
-
-
- Se connecter
-
-
- Envoyer
-
-
- Logs IRC
-
-
- Noir
-
-
- Bleu
-
-
- Marron
-
-
- Cyan
-
-
- Vert
-
-
- Gris
-
-
- Bleu Clair
-
-
- Cyan Clair
-
-
- Vert Clair
-
-
- Gris Clair
-
-
- Rouge Clair
-
-
- Orange
-
-
- Rose
-
-
- Violet
-
-
- Couleurs
-
-
- Blanc
-
-
- Jaune
-
-
- Gras
-
-
- Italique
-
-
- Normal
-
-
- Souligné
-
-
- Message:
-
-
- Commande:
-
-
- Messages
-
-
- Paramètres
-
-
- Salon/Pseudo:
-
-
\ No newline at end of file
diff --git a/ShareX.IRCLib/IRCClient/IRCClientForm.nl-NL.resx b/ShareX.IRCLib/IRCClient/IRCClientForm.nl-NL.resx
deleted file mode 100644
index a16e91d48..000000000
--- a/ShareX.IRCLib/IRCClient/IRCClientForm.nl-NL.resx
+++ /dev/null
@@ -1,213 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- ShareX - IRC programma
-
-
- Verstuur
-
-
- Verbind
-
-
- Verstuur
-
-
- Kanaal/Nick:
-
-
- Commando:
-
-
- Bericht:
-
-
- Instellingen
-
-
- Berichten
-
-
- IRC resultaat
-
-
- Zwart
-
-
- Blauw
-
-
- Bruin
-
-
- Turqoise
-
-
- Groen
-
-
- Grijs
-
-
- Lichtblauw
-
-
- Lichtturqoise
-
-
- Lichtgroen
-
-
- Lichtgrijs
-
-
- Lichtrood
-
-
- Oranje
-
-
- Roze
-
-
- Paars
-
-
- Kleuren
-
-
- Wit
-
-
- Geel
-
-
- Vet
-
-
- Cursief
-
-
- Normaal
-
-
- Onderlijn
-
-
\ No newline at end of file
diff --git a/ShareX.IRCLib/IRCClient/IRCClientForm.pt-BR.resx b/ShareX.IRCLib/IRCClient/IRCClientForm.pt-BR.resx
deleted file mode 100644
index 115262dd1..000000000
--- a/ShareX.IRCLib/IRCClient/IRCClientForm.pt-BR.resx
+++ /dev/null
@@ -1,213 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- ShareX - Cliente IRC
-
-
- Enviar
-
-
- Conectar
-
-
- Enviar
-
-
- Canal/Nick:
-
-
- Comando:
-
-
- Mensagem:
-
-
- Configurações
-
-
- Mensagens
-
-
- Saída do IRC
-
-
- Preto
-
-
- Azul
-
-
- Marrom
-
-
- Ciano
-
-
- Verde
-
-
- Cinza
-
-
- Azul claro
-
-
- Ciano claro
-
-
- Verde claro
-
-
- Cinza claro
-
-
- Vermelho claro
-
-
- Laranja
-
-
- Rosa
-
-
- Roxo
-
-
- Cores
-
-
- Branco
-
-
- Amarelo
-
-
- Negrito
-
-
- Itálico
-
-
- Normal
-
-
- Sublinhado
-
-
\ No newline at end of file
diff --git a/ShareX.IRCLib/IRCClient/IRCClientForm.resx b/ShareX.IRCLib/IRCClient/IRCClientForm.resx
deleted file mode 100644
index 32b49a12d..000000000
--- a/ShareX.IRCLib/IRCClient/IRCClientForm.resx
+++ /dev/null
@@ -1,879 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
-
- Bottom, Left, Right
-
-
-
- 248, 504
-
-
- 400, 20
-
-
-
- 1
-
-
- txtMessage
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tpMessages
-
-
- 5
-
-
- 17, 17
-
-
- Segoe UI, 9pt, style=Bold
-
-
- 100, 22
-
-
- Bold
-
-
- Segoe UI, 9pt, style=Italic
-
-
- 100, 22
-
-
- Italic
-
-
- Segoe UI, 9pt, style=Underline
-
-
- 100, 22
-
-
- Underline
-
-
- 100, 22
-
-
- Normal
-
-
- 135, 22
-
-
- White
-
-
- 135, 22
-
-
- Black
-
-
- 135, 22
-
-
- Blue
-
-
- 135, 22
-
-
- Green
-
-
- 135, 22
-
-
- Light Red
-
-
- 135, 22
-
-
- Brown
-
-
- 135, 22
-
-
- Purple
-
-
- 135, 22
-
-
- Orange
-
-
- 135, 22
-
-
- Yellow
-
-
- 135, 22
-
-
- Light Green
-
-
- 135, 22
-
-
- Cyan
-
-
- 135, 22
-
-
- Light Cyan
-
-
- 135, 22
-
-
- Light Blue
-
-
- 135, 22
-
-
- Pink
-
-
- 135, 22
-
-
- Grey
-
-
- 135, 22
-
-
- Light Grey
-
-
- 100, 22
-
-
- Colors
-
-
- 101, 114
-
-
- cmsMessage
-
-
- System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Bottom, Right
-
-
- False
-
-
- 688, 502
-
-
- 80, 24
-
-
- 3
-
-
- Send
-
-
- btnMessageSend
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tpMessages
-
-
- 6
-
-
- Bottom, Left
-
-
- 8, 500
-
-
- 112, 24
-
-
- 0
-
-
- Connect
-
-
- btnConnect
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tpMain
-
-
- 0
-
-
- Top, Bottom, Left, Right
-
-
- 8, 8
-
-
- 760, 484
-
-
- 1
-
-
- pgSettings
-
-
- System.Windows.Forms.PropertyGrid, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tpMain
-
-
- 1
-
-
- 4, 22
-
-
- 3, 3, 3, 3
-
-
- 776, 535
-
-
- 2
-
-
- Settings
-
-
- tpMain
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tcMain
-
-
- 0
-
-
- Bottom, Left, Right
-
-
- 72, 504
-
-
- 608, 20
-
-
- 1
-
-
- txtCommand
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tpOutput
-
-
- 0
-
-
- Bottom, Left
-
-
- True
-
-
- 8, 508
-
-
- 57, 13
-
-
- 0
-
-
- Command:
-
-
- lblCommand
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tpOutput
-
-
- 1
-
-
- Bottom, Right
-
-
- False
-
-
- 688, 502
-
-
- 80, 24
-
-
- 2
-
-
- Send
-
-
- btnCommandSend
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tpOutput
-
-
- 2
-
-
- Top, Bottom, Left, Right
-
-
- 8, 8
-
-
- 760, 484
-
-
- 4
-
-
-
- @Invariant
-
- False
-
-
- rtbOutput
-
-
- System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tpOutput
-
-
- 3
-
-
- 4, 22
-
-
- 3, 3, 3, 3
-
-
- 776, 535
-
-
- 0
-
-
- IRC output
-
-
- tpOutput
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tcMain
-
-
- 1
-
-
- Top, Bottom, Left, Right
-
-
- 0, 0
-
-
- 776, 492
-
-
- 6
-
-
- tcMessages
-
-
- System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tpMessages
-
-
- 0
-
-
- Bottom, Right
-
-
- 656, 502
-
-
- 24, 24
-
-
- 2
-
-
- ...
- @Invariant
-
- btnMessagesMenu
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tpMessages
-
-
- 1
-
-
- Bottom, Left
-
-
- True
-
-
- 192, 508
-
-
- 53, 13
-
-
- 0
-
-
- Message:
-
-
- lblMessage
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tpMessages
-
-
- 2
-
-
- Bottom, Left
-
-
- True
-
-
- 8, 508
-
-
- 76, 13
-
-
- 4
-
-
- Channel/Nick:
-
-
- lblChannel
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tpMessages
-
-
- 3
-
-
- Bottom, Left
-
-
- 88, 504
-
-
- 96, 20
-
-
- 5
-
-
- txtChannel
-
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tpMessages
-
-
- 4
-
-
- 4, 22
-
-
- 3, 3, 3, 3
-
-
- 776, 535
-
-
- 1
-
-
- Messages
-
-
- tpMessages
-
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tcMain
-
-
- 2
-
-
- Fill
-
-
- 0, 0
-
-
- 784, 561
-
-
- 0
-
-
- tcMain
-
-
- System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- $this
-
-
- 1
-
-
- True
-
-
- 62
-
-
- 6, 13
-
-
- 784, 561
-
-
- CenterScreen
-
-
- ShareX - IRC client
-
-
- tsmiMessageBold
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiMessageItalic
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiMessageUnderline
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiMessageNormal
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiColors
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiColorWhite
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiColorBlack
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiColorBlue
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiColorGreen
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiColorLightRed
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiColorBrown
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiColorPurple
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiColorOrange
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiColorYellow
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiColorLightGreen
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiColorCyan
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiColorLightCyan
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiColorLightBlue
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiColorPink
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiColorGrey
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- tsmiColorLightGrey
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- IRCClientForm
-
-
- ShareX.HelpersLib.BaseForm, ShareX.HelpersLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
-
-
\ No newline at end of file
diff --git a/ShareX.IRCLib/IRCClient/IRCClientForm.ru.resx b/ShareX.IRCLib/IRCClient/IRCClientForm.ru.resx
deleted file mode 100644
index 83318364d..000000000
--- a/ShareX.IRCLib/IRCClient/IRCClientForm.ru.resx
+++ /dev/null
@@ -1,213 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- ShareX - Клиент IRC
-
-
- Отправить
-
-
- Подключиться
-
-
- Отправить
-
-
- Канал/Ник:
-
-
- Команда:
-
-
- Написать:
-
-
- Настройки
-
-
- Сообщения
-
-
- Вывод IRC
-
-
- Черный
-
-
- Синий
-
-
- Коричневый
-
-
- Голубой
-
-
- Зеленый
-
-
- Серый
-
-
- Светло-синий
-
-
- Светло-голубой
-
-
- Светло-зеленый
-
-
- Светло-серый
-
-
- Светло-красный
-
-
- Оранжевый
-
-
- Розовый
-
-
- Фиолетовый
-
-
- Цвета
-
-
- Белый
-
-
- Жёлтый
-
-
- Жирный
-
-
- Курсив
-
-
- Нормальный
-
-
- Подчеркнутый
-
-
\ No newline at end of file
diff --git a/ShareX.IRCLib/IRCClient/IRCClientForm.tr.resx b/ShareX.IRCLib/IRCClient/IRCClientForm.tr.resx
deleted file mode 100644
index 047443062..000000000
--- a/ShareX.IRCLib/IRCClient/IRCClientForm.tr.resx
+++ /dev/null
@@ -1,213 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- ShareX - IRC istemcisi
-
-
- Gönder
-
-
- Bağlan
-
-
- Gönder
-
-
- Kanal/Nick:
-
-
- Komut:
-
-
- Mesaj:
-
-
- Mesajlar
-
-
- IRC çıktısı
-
-
- Kalın
-
-
- İtalik
-
-
- Normal
-
-
- Altı çizgili
-
-
- Sarı
-
-
- Ayarlar
-
-
- Siyah
-
-
- Mavi
-
-
- Kahverengi
-
-
- Camgöbeği
-
-
- Yeşil
-
-
- Gri
-
-
- Açık mavi
-
-
- Açık camgöbeği
-
-
- Açık yeşil
-
-
- Açık gri
-
-
- Açık kırmızı
-
-
- Turuncu
-
-
- Pembe
-
-
- Mor
-
-
- Renkler
-
-
- Beyaz
-
-
\ No newline at end of file
diff --git a/ShareX.IRCLib/IRCClient/IRCClientForm.vi-VN.resx b/ShareX.IRCLib/IRCClient/IRCClientForm.vi-VN.resx
deleted file mode 100644
index 581fdf3ea..000000000
--- a/ShareX.IRCLib/IRCClient/IRCClientForm.vi-VN.resx
+++ /dev/null
@@ -1,213 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- Kết nối
-
-
- Gửi
-
-
- Gửi
-
-
- Thiết lập
-
-
- Màu
-
-
- Đậm
-
-
- Gạch chân
-
-
- In nghiêng
-
-
- Thường
-
-
- Vàng
-
-
- Trắng
-
-
- Xanh dương
-
-
- Đen
-
-
- Nâu
-
-
- Xanh lục lam
-
-
- Xám
-
-
- Xanh lục
-
-
- Đỏ nhạt
-
-
- Xám nhạt
-
-
- Xanh lục nhạt
-
-
- Xanh lam lục nhạt
-
-
- Xanh dương nhạt
-
-
- Tin nhắn:
-
-
- Tin nhắn:
-
-
- Cam
-
-
- Hồng
-
-
- Tím
-
-
- ShareX - Trình IRC
-
-
- Lệnh:
-
-
- Kênh/Nick:
-
-
- Đầu ra IRC
-
-
\ No newline at end of file
diff --git a/ShareX.IRCLib/IRCClient/TabInfo.cs b/ShareX.IRCLib/IRCClient/TabInfo.cs
deleted file mode 100644
index 07e0c8795..000000000
--- a/ShareX.IRCLib/IRCClient/TabInfo.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-#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 System.Drawing;
-using System.Windows.Forms;
-
-namespace ShareX.IRCLib
-{
- internal class TabInfo
- {
- public string Name { get; private set; }
- public TabPage Tab { get; private set; }
- public TextBox TextBox { get; private set; }
-
- public TabInfo(string name)
- {
- Name = name;
- Tab = new TabPage(Name)
- {
- BackColor = Color.White,
- Tag = this
- };
- TextBox = new TextBox()
- {
- BackColor = Color.White,
- Dock = DockStyle.Fill,
- Multiline = true,
- ReadOnly = true,
- ScrollBars = ScrollBars.Both,
- WordWrap = false
- };
- Tab.Controls.Add(TextBox);
- }
- }
-}
\ No newline at end of file
diff --git a/ShareX.IRCLib/IRCClient/TabManager.cs b/ShareX.IRCLib/IRCClient/TabManager.cs
deleted file mode 100644
index 0b93d44c0..000000000
--- a/ShareX.IRCLib/IRCClient/TabManager.cs
+++ /dev/null
@@ -1,119 +0,0 @@
-#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 System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Windows.Forms;
-
-namespace ShareX.IRCLib
-{
- internal class TabManager
- {
- public List Tabs { get; private set; }
-
- public TabInfo ActiveTab
- {
- get
- {
- TabPage tabPage = tc.SelectedTab;
-
- if (tabPage != null)
- {
- TabInfo tabInfo = tabPage.Tag as TabInfo;
-
- if (tabInfo != null)
- {
- return tabInfo;
- }
- }
-
- return null;
- }
- }
-
- private TabControl tc;
-
- public TabManager(TabControl tabControl)
- {
- tc = tabControl;
- Tabs = new List();
- tc.MouseClick += tc_MouseClick;
- }
-
- private void tc_MouseClick(object sender, MouseEventArgs e)
- {
- if (e.Button == MouseButtons.Middle)
- {
- for (int i = 0; i < tc.TabCount; ++i)
- {
- if (tc.GetTabRect(i).Contains(e.Location))
- {
- TabPage tabPage = tc.TabPages[i];
-
- if (tabPage != null)
- {
- TabInfo tabInfo = tabPage.Tag as TabInfo;
-
- if (tabInfo != null)
- {
- tc.TabPages.Remove(tabPage);
- Tabs.Remove(tabInfo);
- }
- }
-
- return;
- }
- }
- }
- }
-
- public void AddMessage(string channel, string message)
- {
- TabInfo tabInfo = AddChannel(channel);
- tabInfo.TextBox.AppendText($"{DateTime.Now:yyyy-MM-dd HH:mm:ss} - {message}\r\n");
- }
-
- public TabInfo AddChannel(string channel)
- {
- TabInfo tabInfo = Tabs.FirstOrDefault(x => x.Name.Equals(channel, StringComparison.InvariantCultureIgnoreCase));
-
- if (tabInfo == null)
- {
- tabInfo = new TabInfo(channel);
- Tabs.Add(tabInfo);
- Tabs.Sort((x, y) => string.Compare(x.Name, y.Name, StringComparison.InvariantCultureIgnoreCase));
- tc.SuspendLayout();
- TabPage selected = tc.TabPages.Count > 0 ? tc.SelectedTab : null;
- tc.TabPages.Clear();
- tc.TabPages.AddRange(Tabs.Select(x => x.Tab).ToArray());
- if (selected != null) tc.SelectedTab = selected;
- tc.ResumeLayout();
- }
-
- return tabInfo;
- }
- }
-}
\ No newline at end of file
diff --git a/ShareX.IRCLib/IRCInfo.cs b/ShareX.IRCLib/IRCInfo.cs
deleted file mode 100644
index a82ec1509..000000000
--- a/ShareX.IRCLib/IRCInfo.cs
+++ /dev/null
@@ -1,120 +0,0 @@
-#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 ShareX.HelpersLib;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Drawing.Design;
-
-namespace ShareX.IRCLib
-{
- public class IRCInfo : SettingsBase
- {
- [Category("\t\tServer info"), Description("IRC server address. Example: chat.freenode.net"), DefaultValue("chat.freenode.net")]
- public string Server { get; set; } = "chat.freenode.net";
-
- [Category("\t\tServer info"), Description("IRC server port. Default: 6667. Default SSL: 6697"), DefaultValue(IRC.DefaultPort)]
- public int Port { get; set; } = IRC.DefaultPort;
-
- [Category("\t\tServer info"), Description("Will use SSL connection. You must use correct SSL port of the IRC server."), DefaultValue(false)]
- public bool UseSSL { get; set; } = false;
-
- [Category("\t\tServer info"), Description("IRC server password. Can be used to identify in some servers."), PasswordPropertyText(true)]
- public string Password { get; set; }
-
- [Category("\tUser info"), Description("Nickname.")]
- public string Nickname { get; set; }
-
- [Category("\tUser info"), Description("Alternative nickname in case nickname is already in use. If it is empty then _ character will be added to the end of nickname.")]
- public string Nickname2 { get; set; }
-
- [Category("\tUser info"), Description("Username. This info is visible to everyone in the WHOIS result."), DefaultValue("username")]
- public string Username { get; set; } = "username";
-
- [Category("\tUser info"), Description("Realname. This info is visible to everyone in WHOIS result."), DefaultValue("realname")]
- public string Realname { get; set; } = "realname";
-
- [Category("\tUser info"), Description("IRC invisible mode."), DefaultValue(true)]
- public bool Invisible { get; set; } = true;
-
- [Category("Options"), Description("When disconnected from server auto reconnect."), DefaultValue(true)]
- public bool AutoReconnect { get; set; } = true;
-
- [Category("Options"), Description("Wait specific milliseconds before reconnecting."), DefaultValue(5000)]
- public int AutoReconnectDelay { get; set; } = 5000;
-
- [Category("Options"), Description("Auto rejoin when got kicked out from the channel."), DefaultValue(false)]
- public bool AutoRejoinOnKick { get; set; }
-
- [Category("Options"), Description("Message to show others when you disconnect from the server."), DefaultValue("Leaving")]
- public string QuitReason { get; set; } = "Leaving";
-
- [Category("Options"), Description("Don't show 'Message of the day' texts in output."), DefaultValue(false)]
- public bool SuppressMOTD { get; set; } = false;
-
- [Category("Options"), Description("Don't show 'PING' and 'PONG' texts in output."), DefaultValue(false)]
- public bool SuppressPing { get; set; } = false;
-
- [Category("Options"), Description("When connected these commands will automatically execute."),
- Editor("System.Windows.Forms.Design.StringCollectionEditor,System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
- public List ConnectCommands { get; set; } = new List();
-
- [Category("Options"), Description("When connected automatically join these channels."),
- TypeConverter(typeof(StringCollectionToStringTypeConverter)),
- Editor("System.Windows.Forms.Design.StringCollectionEditor,System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
- public List AutoJoinChannels { get; set; } = new List();
-
- [Category("Options"), Description("Wait for identify confirmation before auto join channels. Currently only works in Freenode server because each server sends different response after identify."), DefaultValue(false)]
- public bool AutoJoinWaitIdentify { get; set; }
-
- [Category("Options"), Description("Enable/Disable auto response system which using AutoResponseList."), DefaultValue(false)]
- public bool AutoResponse { get; set; }
-
- [Category("Options"), Description("When specific message written in channel automatically respond with your message.")]
- public List AutoResponseList { get; set; } = new List();
-
- [Category("Options"), Description("After successful auto response match how many milliseconds to wait for next auto response. Delay independant per response."), DefaultValue(10000)]
- public int AutoResponseDelay { get; set; } = 10000;
-
- public string GetAutoResponses()
- {
- List messages = new List();
-
- foreach (AutoResponseInfo autoResponseInfo in AutoResponseList)
- {
- if (autoResponseInfo.Messages.Count > 1)
- {
- messages.Add($"[{string.Join(", ", autoResponseInfo.Messages)}]");
- }
- else if (autoResponseInfo.Messages.Count == 1)
- {
- messages.Add(autoResponseInfo.Messages[0]);
- }
- }
-
- return string.Join(", ", messages);
- }
- }
-}
\ No newline at end of file
diff --git a/ShareX.IRCLib/IRCText.cs b/ShareX.IRCLib/IRCText.cs
deleted file mode 100644
index 780e0b9ea..000000000
--- a/ShareX.IRCLib/IRCText.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-#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)
-
-namespace ShareX.IRCLib
-{
- public static class IRCText
- {
- public const string Bold = "\x02";
-
- public const string Italic = "\x1D";
-
- public const string Underline = "\x1F";
-
- public const string Reset = "\x0F";
-
- public static string Color(IRCColors foregroundColor) => $"\x03{(int)foregroundColor:00}";
-
- public static string Color(IRCColors foregroundColor, IRCColors backgroundColor) => $"\x03{(int)foregroundColor:00},{(int)backgroundColor:00}";
- }
-}
\ No newline at end of file
diff --git a/ShareX.IRCLib/MessageInfo.cs b/ShareX.IRCLib/MessageInfo.cs
deleted file mode 100644
index 598965bba..000000000
--- a/ShareX.IRCLib/MessageInfo.cs
+++ /dev/null
@@ -1,170 +0,0 @@
-#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 System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace ShareX.IRCLib
-{
- public class MessageInfo
- {
- public string Content { get; private set; }
- public UserInfo User { get; private set; }
- public string Command { get; private set; }
- public List Parameters { get; private set; }
- public string Message { get; private set; }
-
- public MessageInfo(string content)
- {
- Content = content;
- User = new UserInfo();
- Parameters = new List();
- }
-
- public static MessageInfo Parse(string content)
- {
- MessageInfo messageInfo = new MessageInfo(content);
-
- int index;
- string nickname = ParseSection(content, out index);
-
- // Is it not my message?
- if (nickname.StartsWith(":"))
- {
- nickname = nickname.Substring(1);
- int usernameIndex = nickname.IndexOf("!", StringComparison.Ordinal);
-
- // Is it not server?
- if (usernameIndex > -1)
- {
- //nickname!~username@host
- messageInfo.User.UserType = IRCUserType.User;
- messageInfo.User.Nickname = nickname.Remove(usernameIndex);
-
- nickname = nickname.Substring(usernameIndex + 1);
-
- if (nickname[0] == '~') // Remove Ident character
- {
- nickname = nickname.Substring(1);
- }
-
- int hostIndex = nickname.IndexOf("@", StringComparison.Ordinal);
- messageInfo.User.Username = nickname.Remove(hostIndex);
- messageInfo.User.Host = nickname.Substring(hostIndex + 1);
- }
- else
- {
- //irc.freenode.net
- messageInfo.User.UserType = IRCUserType.Server;
- messageInfo.User.Host = nickname;
- }
-
- content = content.Substring(index + 1);
- messageInfo.Command = ParseSection(content, out index);
- }
- else
- {
- // It is my command
- messageInfo.User.UserType = IRCUserType.Me;
- messageInfo.Command = nickname;
- }
-
- while (index > -1)
- {
- content = content.Substring(index + 1);
- string check = ParseSection(content, out index);
-
- // Is it parameter?
- if (!check.StartsWith(":"))
- {
- messageInfo.Parameters.Add(check);
- }
- else
- {
- // It is message
- messageInfo.Message = content.Substring(1);
- break;
- }
- }
-
- return messageInfo;
- }
-
- private static string ParseSection(string message, out int index)
- {
- index = message.IndexOf(' ');
-
- if (index > -1)
- {
- return message.Remove(index);
- }
-
- return message;
- }
-
- public bool CheckCommand(params string[] commands)
- {
- return commands.Any(x => x.Equals(Command, StringComparison.InvariantCultureIgnoreCase));
- }
-
- public override string ToString()
- {
- StringBuilder sb = new StringBuilder();
- sb.AppendFormat("Type: {0}, ", User.UserType);
-
- switch (User.UserType)
- {
- case IRCUserType.User:
- sb.AppendFormat("Nickname: {0}, Username: {1}, Host: {2}, ", User.Nickname, User.Username, User.Host);
- break;
- case IRCUserType.Server:
- sb.AppendFormat("Host: {0}, ", User.Host);
- break;
- }
-
- if (!string.IsNullOrEmpty(Command))
- {
- sb.AppendFormat("Command: {0}, ", Command);
- }
-
- foreach (string parameter in Parameters)
- {
- if (!string.IsNullOrEmpty(parameter))
- {
- sb.AppendFormat("Parameter: {0}, ", parameter);
- }
- }
-
- if (!string.IsNullOrEmpty(Message))
- {
- sb.AppendFormat("Message: {0}", Message);
- }
-
- return sb.ToString();
- }
- }
-}
\ No newline at end of file
diff --git a/ShareX.IRCLib/Properties/AssemblyInfo.cs b/ShareX.IRCLib/Properties/AssemblyInfo.cs
deleted file mode 100644
index dc04d4807..000000000
--- a/ShareX.IRCLib/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-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 IRCLib")]
-[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("ef7fcc3f-b776-4a5e-bddc-32329ab11a58")]
-
-// 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.IRCLib/Properties/Resources.Designer.cs b/ShareX.IRCLib/Properties/Resources.Designer.cs
deleted file mode 100644
index 5ddc7d6d6..000000000
--- a/ShareX.IRCLib/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace ShareX.IRCLib.Properties {
- using System;
-
-
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // This class was auto-generated by the StronglyTypedResourceBuilder
- // class via a tool like ResGen or Visual Studio.
- // To add or remove a member, edit your .ResX file then rerun ResGen
- // with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources() {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ShareX.IRCLib.Properties.Resources", typeof(Resources).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
-
- ///
- /// Looks up a localized string similar to Disconnect.
- ///
- internal static string IRCClientForm_Connect_Disconnect {
- get {
- return ResourceManager.GetString("IRCClientForm_Connect_Disconnect", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to Connect.
- ///
- internal static string IRCClientForm_Disconnect_Connect {
- get {
- return ResourceManager.GetString("IRCClientForm_Disconnect_Connect", resourceCulture);
- }
- }
- }
-}
diff --git a/ShareX.IRCLib/Properties/Resources.de.resx b/ShareX.IRCLib/Properties/Resources.de.resx
deleted file mode 100644
index 431ed3317..000000000
--- a/ShareX.IRCLib/Properties/Resources.de.resx
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- Trennen
-
-
- Verbinden
-
-
\ No newline at end of file
diff --git a/ShareX.IRCLib/Properties/Resources.fr.resx b/ShareX.IRCLib/Properties/Resources.fr.resx
deleted file mode 100644
index 546ab27aa..000000000
--- a/ShareX.IRCLib/Properties/Resources.fr.resx
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- Se déconnecter
-
-
- Se connecter
-
-
\ No newline at end of file
diff --git a/ShareX.IRCLib/Properties/Resources.nl-NL.resx b/ShareX.IRCLib/Properties/Resources.nl-NL.resx
deleted file mode 100644
index bfb7cb526..000000000
--- a/ShareX.IRCLib/Properties/Resources.nl-NL.resx
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- Verbreek
-
-
- Verbind
-
-
\ No newline at end of file
diff --git a/ShareX.IRCLib/Properties/Resources.pt-BR.resx b/ShareX.IRCLib/Properties/Resources.pt-BR.resx
deleted file mode 100644
index 715cd11b3..000000000
--- a/ShareX.IRCLib/Properties/Resources.pt-BR.resx
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- Desconectar
-
-
- Conectar
-
-
\ No newline at end of file
diff --git a/ShareX.IRCLib/Properties/Resources.resx b/ShareX.IRCLib/Properties/Resources.resx
deleted file mode 100644
index 886d02369..000000000
--- a/ShareX.IRCLib/Properties/Resources.resx
+++ /dev/null
@@ -1,107 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 1.3
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- Disconnect
-
-
- Connect
-
-
\ No newline at end of file
diff --git a/ShareX.IRCLib/Properties/Resources.ru.resx b/ShareX.IRCLib/Properties/Resources.ru.resx
deleted file mode 100644
index d1b7d43d9..000000000
--- a/ShareX.IRCLib/Properties/Resources.ru.resx
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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.IRCLib/Properties/Resources.tr.resx b/ShareX.IRCLib/Properties/Resources.tr.resx
deleted file mode 100644
index ad2952d8d..000000000
--- a/ShareX.IRCLib/Properties/Resources.tr.resx
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- Bağlantıyı kes
-
-
- Bağlan
-
-
\ No newline at end of file
diff --git a/ShareX.IRCLib/Properties/Resources.vi-VN.resx b/ShareX.IRCLib/Properties/Resources.vi-VN.resx
deleted file mode 100644
index 99a853587..000000000
--- a/ShareX.IRCLib/Properties/Resources.vi-VN.resx
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 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
-
-
- Ngắt kết nối
-
-
- Kết nối
-
-
\ No newline at end of file
diff --git a/ShareX.IRCLib/ShareX.IRCLib.csproj b/ShareX.IRCLib/ShareX.IRCLib.csproj
deleted file mode 100644
index 30781bf17..000000000
--- a/ShareX.IRCLib/ShareX.IRCLib.csproj
+++ /dev/null
@@ -1,128 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {EF7FCC3F-B776-4A5E-BDDC-32329AB11A58}
- Library
- Properties
- ShareX.IRCLib
- ShareX.IRCLib
- v4.0
- 512
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
- Off
-
-
- none
- true
- bin\Release\
- TRACE
- prompt
- 4
- Off
-
-
- bin\Steam\
- TRACE
- true
- AnyCPU
- Off
- prompt
- MinimumRecommendedRules.ruleset
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Form
-
-
- IRCClientForm.cs
-
-
-
-
-
-
-
-
- True
- True
- Resources.resx
-
-
-
-
-
- IRCClientForm.cs
-
-
- IRCClientForm.cs
-
-
- IRCClientForm.cs
-
-
- IRCClientForm.cs
-
-
- IRCClientForm.cs
-
-
- IRCClientForm.cs
-
-
- IRCClientForm.cs
-
-
- IRCClientForm.cs
-
-
-
-
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
-
-
-
-
-
-
-
- {327750e1-9fb7-4cc3-8aea-9bc42180cad3}
- ShareX.HelpersLib
-
-
-
-
-
\ No newline at end of file
diff --git a/ShareX.IRCLib/ShareX.IRCLib.csproj.DotSettings b/ShareX.IRCLib/ShareX.IRCLib.csproj.DotSettings
deleted file mode 100644
index a99420329..000000000
--- a/ShareX.IRCLib/ShareX.IRCLib.csproj.DotSettings
+++ /dev/null
@@ -1,2 +0,0 @@
-
- Pessimistic
\ No newline at end of file
diff --git a/ShareX.IRCLib/UserInfo.cs b/ShareX.IRCLib/UserInfo.cs
deleted file mode 100644
index f2694e66d..000000000
--- a/ShareX.IRCLib/UserInfo.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-#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 System;
-using System.Collections.Generic;
-
-namespace ShareX.IRCLib
-{
- public class UserInfo
- {
- public IRCUserType UserType { get; set; }
-
- public string Nickname { get; set; }
- public string Username { get; set; }
- public string Realname { get; set; }
- public string Host { get; set; }
- public string Identity { get; set; }
- public List Channels { get; set; }
- public string Server { get; set; }
- public bool SecureConnection { get; set; }
- public TimeSpan IdleTime { get; set; }
- public DateTime SignOnDate { get; set; }
-
- public UserInfo()
- {
- Channels = new List();
- }
-
- public override string ToString()
- {
- string channels = string.Join(" ", Channels);
- return $"Nickname: {Nickname}, Username: {Username}, Realname: {Realname}, Host: {Host}, Identity: {Identity}, Channels: {channels}";
- }
- }
-}
\ No newline at end of file
diff --git a/ShareX.sln b/ShareX.sln
index 91dea3fac..4f50411ef 100644
--- a/ShareX.sln
+++ b/ShareX.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
-VisualStudioVersion = 14.0.23107.0
+VisualStudioVersion = 14.0.24720.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShareX", "ShareX\ShareX.csproj", "{C5AE4585-E9EC-4FA3-B75A-E1210635ACB6}"
EndProject
@@ -30,8 +30,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShareX.Setup", "ShareX.Setu
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShareX.MediaLib", "ShareX.MediaLib\ShareX.MediaLib.csproj", "{1A190E53-1419-4CC2-B0E5-3BC7EA861C8B}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShareX.IRCLib", "ShareX.IRCLib\ShareX.IRCLib.csproj", "{EF7FCC3F-B776-4A5E-BDDC-32329AB11A58}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -96,12 +94,6 @@ Global
{1A190E53-1419-4CC2-B0E5-3BC7EA861C8B}.Release|Any CPU.Build.0 = Release|Any CPU
{1A190E53-1419-4CC2-B0E5-3BC7EA861C8B}.Steam|Any CPU.ActiveCfg = Steam|Any CPU
{1A190E53-1419-4CC2-B0E5-3BC7EA861C8B}.Steam|Any CPU.Build.0 = Steam|Any CPU
- {EF7FCC3F-B776-4A5E-BDDC-32329AB11A58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {EF7FCC3F-B776-4A5E-BDDC-32329AB11A58}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {EF7FCC3F-B776-4A5E-BDDC-32329AB11A58}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {EF7FCC3F-B776-4A5E-BDDC-32329AB11A58}.Release|Any CPU.Build.0 = Release|Any CPU
- {EF7FCC3F-B776-4A5E-BDDC-32329AB11A58}.Steam|Any CPU.ActiveCfg = Steam|Any CPU
- {EF7FCC3F-B776-4A5E-BDDC-32329AB11A58}.Steam|Any CPU.Build.0 = Steam|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/ShareX/Enums.cs b/ShareX/Enums.cs
index a9d520862..6b7192c1c 100644
--- a/ShareX/Enums.cs
+++ b/ShareX/Enums.cs
@@ -180,7 +180,6 @@ public enum HotkeyType // Localized + Category
ImageEditor,
ImageEffects,
HashCheck,
- IRCClient,
DNSChanger,
QRCode,
Ruler,
diff --git a/ShareX/Forms/MainForm.Designer.cs b/ShareX/Forms/MainForm.Designer.cs
index 710d1c83c..a6cc90088 100644
--- a/ShareX/Forms/MainForm.Designer.cs
+++ b/ShareX/Forms/MainForm.Designer.cs
@@ -72,7 +72,6 @@ private void InitializeComponent()
this.tsmiImageEditor = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiImageEffects = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiHashCheck = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiIRCClient = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiDNSChanger = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiQRCode = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiRuler = new System.Windows.Forms.ToolStripMenuItem();
@@ -192,7 +191,6 @@ private void InitializeComponent()
this.tsmiTrayImageEditor = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayImageEffects = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayHashCheck = new System.Windows.Forms.ToolStripMenuItem();
- this.tsmiTrayIRCClient = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayDNSChanger = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayQRCode = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayRuler = new System.Windows.Forms.ToolStripMenuItem();
@@ -557,7 +555,6 @@ private void InitializeComponent()
this.tsmiImageEditor,
this.tsmiImageEffects,
this.tsmiHashCheck,
- this.tsmiIRCClient,
this.tsmiDNSChanger,
this.tsmiQRCode,
this.tsmiRuler,
@@ -607,13 +604,6 @@ private void InitializeComponent()
resources.ApplyResources(this.tsmiHashCheck, "tsmiHashCheck");
this.tsmiHashCheck.Click += new System.EventHandler(this.tsmiHashCheck_Click);
//
- // tsmiIRCClient
- //
- this.tsmiIRCClient.Image = global::ShareX.Properties.Resources.balloon_white;
- this.tsmiIRCClient.Name = "tsmiIRCClient";
- resources.ApplyResources(this.tsmiIRCClient, "tsmiIRCClient");
- this.tsmiIRCClient.Click += new System.EventHandler(this.tsmiIRCClient_Click);
- //
// tsmiDNSChanger
//
this.tsmiDNSChanger.Image = global::ShareX.Properties.Resources.network_ip;
@@ -1465,7 +1455,6 @@ private void InitializeComponent()
this.tsmiTrayImageEditor,
this.tsmiTrayImageEffects,
this.tsmiTrayHashCheck,
- this.tsmiTrayIRCClient,
this.tsmiTrayDNSChanger,
this.tsmiTrayQRCode,
this.tsmiTrayRuler,
@@ -1515,13 +1504,6 @@ private void InitializeComponent()
resources.ApplyResources(this.tsmiTrayHashCheck, "tsmiTrayHashCheck");
this.tsmiTrayHashCheck.Click += new System.EventHandler(this.tsmiHashCheck_Click);
//
- // tsmiTrayIRCClient
- //
- this.tsmiTrayIRCClient.Image = global::ShareX.Properties.Resources.balloon_white;
- this.tsmiTrayIRCClient.Name = "tsmiTrayIRCClient";
- resources.ApplyResources(this.tsmiTrayIRCClient, "tsmiTrayIRCClient");
- this.tsmiTrayIRCClient.Click += new System.EventHandler(this.tsmiIRCClient_Click);
- //
// tsmiTrayDNSChanger
//
this.tsmiTrayDNSChanger.Image = global::ShareX.Properties.Resources.network_ip;
@@ -2044,8 +2026,6 @@ private void InitializeComponent()
private System.Windows.Forms.ToolStripMenuItem tsmiVideoThumbnailer;
private System.Windows.Forms.ToolStripMenuItem tsmiTrayVideoThumbnailer;
private System.Windows.Forms.Timer timerTraySingleClick;
- private System.Windows.Forms.ToolStripMenuItem tsmiIRCClient;
- private System.Windows.Forms.ToolStripMenuItem tsmiTrayIRCClient;
private System.Windows.Forms.ToolStripMenuItem tsmiScrollingCapture;
private System.Windows.Forms.ToolStripMenuItem tsmiTrayScrollingCapture;
private System.Windows.Forms.ToolStripMenuItem tsmiImageCombiner;
diff --git a/ShareX/Forms/MainForm.cs b/ShareX/Forms/MainForm.cs
index ebdee2fef..f4a0108ff 100644
--- a/ShareX/Forms/MainForm.cs
+++ b/ShareX/Forms/MainForm.cs
@@ -1050,11 +1050,6 @@ private void tsmiFTPClient_Click(object sender, EventArgs e)
TaskHelpers.OpenFTPClient();
}
- private void tsmiIRCClient_Click(object sender, EventArgs e)
- {
- TaskHelpers.OpenIRCClient();
- }
-
private void tsmiTweetMessage_Click(object sender, EventArgs e)
{
TaskHelpers.TweetMessage();
@@ -1735,9 +1730,6 @@ private void ExecuteJob(TaskSettings taskSettings, HotkeyType job)
case HotkeyType.HashCheck:
TaskHelpers.OpenHashCheck();
break;
- case HotkeyType.IRCClient:
- TaskHelpers.OpenIRCClient(safeTaskSettings);
- break;
case HotkeyType.DNSChanger:
TaskHelpers.OpenDNSChanger();
break;
diff --git a/ShareX/Forms/MainForm.resx b/ShareX/Forms/MainForm.resx
index 381446067..30cb377e7 100644
--- a/ShareX/Forms/MainForm.resx
+++ b/ShareX/Forms/MainForm.resx
@@ -510,12 +510,6 @@
Hash check...
-
- 183, 22
-
-
- IRC client...
-
183, 22
@@ -1305,12 +1299,6 @@
Hash check...
-
- 183, 22
-
-
- IRC client...
-
183, 22
@@ -1561,7 +1549,7 @@
Exit
- 189, 462
+ 189, 484
cmsTray
@@ -1809,12 +1797,6 @@
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- tsmiIRCClient
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
tsmiDNSChanger
@@ -2517,12 +2499,6 @@
System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- tsmiTrayIRCClient
-
-
- System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
tsmiTrayDNSChanger
diff --git a/ShareX/Forms/TaskSettingsForm.cs b/ShareX/Forms/TaskSettingsForm.cs
index 722b0eb31..e9d91e941 100644
--- a/ShareX/Forms/TaskSettingsForm.cs
+++ b/ShareX/Forms/TaskSettingsForm.cs
@@ -284,9 +284,6 @@ public TaskSettingsForm(TaskSettings hotkeySetting, bool isDefault = false)
// Tools / Video thumbnailer
pgVideoThumbnailer.SelectedObject = TaskSettings.ToolsSettings.VideoThumbnailOptions;
- // Tools / IRC client
- pgIRCClient.SelectedObject = TaskSettings.ToolsSettings.IRCSettings;
-
// Advanced
pgTaskSettings.SelectedObject = TaskSettings.AdvancedSettings;
diff --git a/ShareX/ShareX.csproj b/ShareX/ShareX.csproj
index af16219f7..cdf610f11 100644
--- a/ShareX/ShareX.csproj
+++ b/ShareX/ShareX.csproj
@@ -1059,10 +1059,6 @@
{750c6f46-2c5a-4488-81d3-3b35ca50f3ee}
ShareX.IndexerLib
-
- {ef7fcc3f-b776-4a5e-bddc-32329ab11a58}
- ShareX.IRCLib
-
{1a190e53-1419-4cc2-b0e5-3bc7ea861c8b}
ShareX.MediaLib
diff --git a/ShareX/TaskHelpers.cs b/ShareX/TaskHelpers.cs
index 86f64750a..12581e54f 100644
--- a/ShareX/TaskHelpers.cs
+++ b/ShareX/TaskHelpers.cs
@@ -25,7 +25,6 @@ You should have received a copy of the GNU General Public License
using ShareX.HelpersLib;
using ShareX.ImageEffectsLib;
-using ShareX.IRCLib;
using ShareX.MediaLib;
using ShareX.Properties;
using ShareX.ScreenCaptureLib;
@@ -701,13 +700,6 @@ public static void OpenFTPClient()
MessageBox.Show(Resources.TaskHelpers_OpenFTPClient_Unable_to_find_valid_FTP_account_, "ShareX", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
- public static void OpenIRCClient(TaskSettings taskSettings = null)
- {
- if (taskSettings == null) taskSettings = TaskSettings.GetDefaultTaskSettings();
-
- new IRCClientForm(taskSettings.ToolsSettingsReference.IRCSettings).Show();
- }
-
public static void TweetMessage()
{
if (Program.UploadersConfig != null && Program.UploadersConfig.TwitterOAuthInfoList != null)
diff --git a/ShareX/TaskSettings.cs b/ShareX/TaskSettings.cs
index 87ae20408..900f93e30 100644
--- a/ShareX/TaskSettings.cs
+++ b/ShareX/TaskSettings.cs
@@ -27,7 +27,6 @@ You should have received a copy of the GNU General Public License
using ShareX.HelpersLib;
using ShareX.ImageEffectsLib;
using ShareX.IndexerLib;
-using ShareX.IRCLib;
using ShareX.MediaLib;
using ShareX.ScreenCaptureLib;
using ShareX.UploadersLib;
@@ -367,7 +366,6 @@ public class TaskSettingsTools
public IndexerSettings IndexerSettings = new IndexerSettings();
public ImageCombinerOptions ImageCombinerOptions = new ImageCombinerOptions();
public VideoThumbnailOptions VideoThumbnailOptions = new VideoThumbnailOptions();
- public IRCInfo IRCSettings = new IRCInfo();
}
public class TaskSettingsAdvanced