Removed IRC client

This commit is contained in:
Jaex 2016-01-06 19:24:43 +02:00
parent a3bd391ebc
commit a286b5fef2
40 changed files with 2 additions and 5936 deletions

View file

@ -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 <http://www.gnu.org/licenses/>.
*/
#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<string> Messages { get; set; }
[Editor("System.Windows.Forms.Design.StringCollectionEditor,System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
public List<string> Responses { get; set; }
[DefaultValue(IRCAutoResponseType.Contains)]
public IRCAutoResponseType Type { get; set; }
private Stopwatch lastMatchTimer = new Stopwatch();
public AutoResponseInfo()
{
Messages = new List<string>();
Responses = new List<string>();
Type = IRCAutoResponseType.Contains;
}
public AutoResponseInfo(List<string> message, List<string> 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 "...";
}
}
}

View file

@ -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 <http://www.gnu.org/licenses/>.
*/
#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
}
}

View file

@ -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 <http://www.gnu.org/licenses/>.
*/
#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<MessageInfo> Output;
public event Action<Exception> ErrorOutput;
public event Action Connected, Disconnected;
public delegate void MessageEventHandler(UserInfo user, string channel, string message);
public event MessageEventHandler Message;
public event Action<UserInfo> 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<UserInfo> userList = new List<UserInfo>();
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;
}
}
}

View file

@ -1,437 +0,0 @@
namespace ShareX.IRCLib
{
partial class IRCClientForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
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;
}
}

View file

@ -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 <http://www.gnu.org/licenses/>.
*/
#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
}
}

View file

@ -1,213 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Text" xml:space="preserve">
<value>ShareX - IRC Programm</value>
</data>
<data name="btnCommandSend.Text" xml:space="preserve">
<value>Senden</value>
</data>
<data name="btnConnect.Text" xml:space="preserve">
<value>Verbinden</value>
</data>
<data name="btnMessageSend.Text" xml:space="preserve">
<value>Senden</value>
</data>
<data name="lblChannel.Text" xml:space="preserve">
<value>Channel/Nick:</value>
</data>
<data name="lblCommand.Text" xml:space="preserve">
<value>Befehl:</value>
</data>
<data name="lblMessage.Text" xml:space="preserve">
<value>Nachricht:</value>
</data>
<data name="tpMain.Text" xml:space="preserve">
<value>Einstellungen</value>
</data>
<data name="tpMessages.Text" xml:space="preserve">
<value>Nachrichten</value>
</data>
<data name="tpOutput.Text" xml:space="preserve">
<value>IRC Ausgabe</value>
</data>
<data name="tsmiColorBlack.Text" xml:space="preserve">
<value>Schwarz</value>
</data>
<data name="tsmiColorBlue.Text" xml:space="preserve">
<value>Blau</value>
</data>
<data name="tsmiColorBrown.Text" xml:space="preserve">
<value>Braun</value>
</data>
<data name="tsmiColorCyan.Text" xml:space="preserve">
<value>Cyan</value>
</data>
<data name="tsmiColorGreen.Text" xml:space="preserve">
<value>Grün</value>
</data>
<data name="tsmiColorGrey.Text" xml:space="preserve">
<value>Grau</value>
</data>
<data name="tsmiColorLightBlue.Text" xml:space="preserve">
<value>Hellblau</value>
</data>
<data name="tsmiColorLightCyan.Text" xml:space="preserve">
<value>Helles Cyan</value>
</data>
<data name="tsmiColorLightGreen.Text" xml:space="preserve">
<value>Hellgrün</value>
</data>
<data name="tsmiColorLightGrey.Text" xml:space="preserve">
<value>Hellgrau</value>
</data>
<data name="tsmiColorLightRed.Text" xml:space="preserve">
<value>Hellrot</value>
</data>
<data name="tsmiColorOrange.Text" xml:space="preserve">
<value>Orange</value>
</data>
<data name="tsmiColorPink.Text" xml:space="preserve">
<value>Pink</value>
</data>
<data name="tsmiColorPurple.Text" xml:space="preserve">
<value>Lila</value>
</data>
<data name="tsmiColors.Text" xml:space="preserve">
<value>Farben</value>
</data>
<data name="tsmiColorWhite.Text" xml:space="preserve">
<value>Weiß</value>
</data>
<data name="tsmiColorYellow.Text" xml:space="preserve">
<value>Gelb</value>
</data>
<data name="tsmiMessageBold.Text" xml:space="preserve">
<value>Fett</value>
</data>
<data name="tsmiMessageItalic.Text" xml:space="preserve">
<value>Kursiv</value>
</data>
<data name="tsmiMessageNormal.Text" xml:space="preserve">
<value>Normal</value>
</data>
<data name="tsmiMessageUnderline.Text" xml:space="preserve">
<value>Unterstrichen</value>
</data>
</root>

View file

@ -1,213 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Text" xml:space="preserve">
<value>ShareX - Client IRC</value>
</data>
<data name="btnCommandSend.Text" xml:space="preserve">
<value>Envoyer</value>
</data>
<data name="btnConnect.Text" xml:space="preserve">
<value>Se connecter</value>
</data>
<data name="btnMessageSend.Text" xml:space="preserve">
<value>Envoyer</value>
</data>
<data name="tpOutput.Text" xml:space="preserve">
<value>Logs IRC</value>
</data>
<data name="tsmiColorBlack.Text" xml:space="preserve">
<value>Noir</value>
</data>
<data name="tsmiColorBlue.Text" xml:space="preserve">
<value>Bleu</value>
</data>
<data name="tsmiColorBrown.Text" xml:space="preserve">
<value>Marron</value>
</data>
<data name="tsmiColorCyan.Text" xml:space="preserve">
<value>Cyan</value>
</data>
<data name="tsmiColorGreen.Text" xml:space="preserve">
<value>Vert</value>
</data>
<data name="tsmiColorGrey.Text" xml:space="preserve">
<value>Gris</value>
</data>
<data name="tsmiColorLightBlue.Text" xml:space="preserve">
<value>Bleu Clair</value>
</data>
<data name="tsmiColorLightCyan.Text" xml:space="preserve">
<value>Cyan Clair</value>
</data>
<data name="tsmiColorLightGreen.Text" xml:space="preserve">
<value>Vert Clair</value>
</data>
<data name="tsmiColorLightGrey.Text" xml:space="preserve">
<value>Gris Clair</value>
</data>
<data name="tsmiColorLightRed.Text" xml:space="preserve">
<value>Rouge Clair</value>
</data>
<data name="tsmiColorOrange.Text" xml:space="preserve">
<value>Orange</value>
</data>
<data name="tsmiColorPink.Text" xml:space="preserve">
<value>Rose</value>
</data>
<data name="tsmiColorPurple.Text" xml:space="preserve">
<value>Violet</value>
</data>
<data name="tsmiColors.Text" xml:space="preserve">
<value>Couleurs</value>
</data>
<data name="tsmiColorWhite.Text" xml:space="preserve">
<value>Blanc</value>
</data>
<data name="tsmiColorYellow.Text" xml:space="preserve">
<value>Jaune</value>
</data>
<data name="tsmiMessageBold.Text" xml:space="preserve">
<value>Gras</value>
</data>
<data name="tsmiMessageItalic.Text" xml:space="preserve">
<value>Italique</value>
</data>
<data name="tsmiMessageNormal.Text" xml:space="preserve">
<value>Normal</value>
</data>
<data name="tsmiMessageUnderline.Text" xml:space="preserve">
<value>Souligné</value>
</data>
<data name="lblMessage.Text" xml:space="preserve">
<value>Message:</value>
</data>
<data name="lblCommand.Text" xml:space="preserve">
<value>Commande:</value>
</data>
<data name="tpMessages.Text" xml:space="preserve">
<value>Messages</value>
</data>
<data name="tpMain.Text" xml:space="preserve">
<value>Paramètres</value>
</data>
<data name="lblChannel.Text" xml:space="preserve">
<value>Salon/Pseudo:</value>
</data>
</root>

View file

@ -1,213 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Text" xml:space="preserve">
<value>ShareX - IRC programma</value>
</data>
<data name="btnCommandSend.Text" xml:space="preserve">
<value>Verstuur</value>
</data>
<data name="btnConnect.Text" xml:space="preserve">
<value>Verbind</value>
</data>
<data name="btnMessageSend.Text" xml:space="preserve">
<value>Verstuur</value>
</data>
<data name="lblChannel.Text" xml:space="preserve">
<value>Kanaal/Nick:</value>
</data>
<data name="lblCommand.Text" xml:space="preserve">
<value>Commando:</value>
</data>
<data name="lblMessage.Text" xml:space="preserve">
<value>Bericht:</value>
</data>
<data name="tpMain.Text" xml:space="preserve">
<value>Instellingen</value>
</data>
<data name="tpMessages.Text" xml:space="preserve">
<value>Berichten</value>
</data>
<data name="tpOutput.Text" xml:space="preserve">
<value>IRC resultaat</value>
</data>
<data name="tsmiColorBlack.Text" xml:space="preserve">
<value>Zwart</value>
</data>
<data name="tsmiColorBlue.Text" xml:space="preserve">
<value>Blauw</value>
</data>
<data name="tsmiColorBrown.Text" xml:space="preserve">
<value>Bruin</value>
</data>
<data name="tsmiColorCyan.Text" xml:space="preserve">
<value>Turqoise</value>
</data>
<data name="tsmiColorGreen.Text" xml:space="preserve">
<value>Groen</value>
</data>
<data name="tsmiColorGrey.Text" xml:space="preserve">
<value>Grijs</value>
</data>
<data name="tsmiColorLightBlue.Text" xml:space="preserve">
<value>Lichtblauw</value>
</data>
<data name="tsmiColorLightCyan.Text" xml:space="preserve">
<value>Lichtturqoise</value>
</data>
<data name="tsmiColorLightGreen.Text" xml:space="preserve">
<value>Lichtgroen</value>
</data>
<data name="tsmiColorLightGrey.Text" xml:space="preserve">
<value>Lichtgrijs</value>
</data>
<data name="tsmiColorLightRed.Text" xml:space="preserve">
<value>Lichtrood</value>
</data>
<data name="tsmiColorOrange.Text" xml:space="preserve">
<value>Oranje</value>
</data>
<data name="tsmiColorPink.Text" xml:space="preserve">
<value>Roze</value>
</data>
<data name="tsmiColorPurple.Text" xml:space="preserve">
<value>Paars</value>
</data>
<data name="tsmiColors.Text" xml:space="preserve">
<value>Kleuren</value>
</data>
<data name="tsmiColorWhite.Text" xml:space="preserve">
<value>Wit</value>
</data>
<data name="tsmiColorYellow.Text" xml:space="preserve">
<value>Geel</value>
</data>
<data name="tsmiMessageBold.Text" xml:space="preserve">
<value>Vet</value>
</data>
<data name="tsmiMessageItalic.Text" xml:space="preserve">
<value>Cursief</value>
</data>
<data name="tsmiMessageNormal.Text" xml:space="preserve">
<value>Normaal</value>
</data>
<data name="tsmiMessageUnderline.Text" xml:space="preserve">
<value>Onderlijn</value>
</data>
</root>

View file

@ -1,213 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Text" xml:space="preserve">
<value>ShareX - Cliente IRC</value>
</data>
<data name="btnCommandSend.Text" xml:space="preserve">
<value>Enviar</value>
</data>
<data name="btnConnect.Text" xml:space="preserve">
<value>Conectar</value>
</data>
<data name="btnMessageSend.Text" xml:space="preserve">
<value>Enviar</value>
</data>
<data name="lblChannel.Text" xml:space="preserve">
<value>Canal/Nick:</value>
</data>
<data name="lblCommand.Text" xml:space="preserve">
<value>Comando:</value>
</data>
<data name="lblMessage.Text" xml:space="preserve">
<value>Mensagem:</value>
</data>
<data name="tpMain.Text" xml:space="preserve">
<value>Configurações</value>
</data>
<data name="tpMessages.Text" xml:space="preserve">
<value>Mensagens</value>
</data>
<data name="tpOutput.Text" xml:space="preserve">
<value>Saída do IRC</value>
</data>
<data name="tsmiColorBlack.Text" xml:space="preserve">
<value>Preto</value>
</data>
<data name="tsmiColorBlue.Text" xml:space="preserve">
<value>Azul</value>
</data>
<data name="tsmiColorBrown.Text" xml:space="preserve">
<value>Marrom</value>
</data>
<data name="tsmiColorCyan.Text" xml:space="preserve">
<value>Ciano</value>
</data>
<data name="tsmiColorGreen.Text" xml:space="preserve">
<value>Verde</value>
</data>
<data name="tsmiColorGrey.Text" xml:space="preserve">
<value>Cinza</value>
</data>
<data name="tsmiColorLightBlue.Text" xml:space="preserve">
<value>Azul claro</value>
</data>
<data name="tsmiColorLightCyan.Text" xml:space="preserve">
<value>Ciano claro</value>
</data>
<data name="tsmiColorLightGreen.Text" xml:space="preserve">
<value>Verde claro</value>
</data>
<data name="tsmiColorLightGrey.Text" xml:space="preserve">
<value>Cinza claro</value>
</data>
<data name="tsmiColorLightRed.Text" xml:space="preserve">
<value>Vermelho claro</value>
</data>
<data name="tsmiColorOrange.Text" xml:space="preserve">
<value>Laranja</value>
</data>
<data name="tsmiColorPink.Text" xml:space="preserve">
<value>Rosa</value>
</data>
<data name="tsmiColorPurple.Text" xml:space="preserve">
<value>Roxo</value>
</data>
<data name="tsmiColors.Text" xml:space="preserve">
<value>Cores</value>
</data>
<data name="tsmiColorWhite.Text" xml:space="preserve">
<value>Branco</value>
</data>
<data name="tsmiColorYellow.Text" xml:space="preserve">
<value>Amarelo</value>
</data>
<data name="tsmiMessageBold.Text" xml:space="preserve">
<value>Negrito</value>
</data>
<data name="tsmiMessageItalic.Text" xml:space="preserve">
<value>Itálico</value>
</data>
<data name="tsmiMessageNormal.Text" xml:space="preserve">
<value>Normal</value>
</data>
<data name="tsmiMessageUnderline.Text" xml:space="preserve">
<value>Sublinhado</value>
</data>
</root>

View file

@ -1,879 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="txtMessage.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left, Right</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="txtMessage.Location" type="System.Drawing.Point, System.Drawing">
<value>248, 504</value>
</data>
<data name="txtMessage.Size" type="System.Drawing.Size, System.Drawing">
<value>400, 20</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="txtMessage.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;txtMessage.Name" xml:space="preserve">
<value>txtMessage</value>
</data>
<data name="&gt;&gt;txtMessage.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;txtMessage.Parent" xml:space="preserve">
<value>tpMessages</value>
</data>
<data name="&gt;&gt;txtMessage.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<metadata name="cmsMessage.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="tsmiMessageBold.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt, style=Bold</value>
</data>
<data name="tsmiMessageBold.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 22</value>
</data>
<data name="tsmiMessageBold.Text" xml:space="preserve">
<value>Bold</value>
</data>
<data name="tsmiMessageItalic.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt, style=Italic</value>
</data>
<data name="tsmiMessageItalic.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 22</value>
</data>
<data name="tsmiMessageItalic.Text" xml:space="preserve">
<value>Italic</value>
</data>
<data name="tsmiMessageUnderline.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt, style=Underline</value>
</data>
<data name="tsmiMessageUnderline.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 22</value>
</data>
<data name="tsmiMessageUnderline.Text" xml:space="preserve">
<value>Underline</value>
</data>
<data name="tsmiMessageNormal.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 22</value>
</data>
<data name="tsmiMessageNormal.Text" xml:space="preserve">
<value>Normal</value>
</data>
<data name="tsmiColorWhite.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 22</value>
</data>
<data name="tsmiColorWhite.Text" xml:space="preserve">
<value>White</value>
</data>
<data name="tsmiColorBlack.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 22</value>
</data>
<data name="tsmiColorBlack.Text" xml:space="preserve">
<value>Black</value>
</data>
<data name="tsmiColorBlue.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 22</value>
</data>
<data name="tsmiColorBlue.Text" xml:space="preserve">
<value>Blue</value>
</data>
<data name="tsmiColorGreen.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 22</value>
</data>
<data name="tsmiColorGreen.Text" xml:space="preserve">
<value>Green</value>
</data>
<data name="tsmiColorLightRed.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 22</value>
</data>
<data name="tsmiColorLightRed.Text" xml:space="preserve">
<value>Light Red</value>
</data>
<data name="tsmiColorBrown.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 22</value>
</data>
<data name="tsmiColorBrown.Text" xml:space="preserve">
<value>Brown</value>
</data>
<data name="tsmiColorPurple.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 22</value>
</data>
<data name="tsmiColorPurple.Text" xml:space="preserve">
<value>Purple</value>
</data>
<data name="tsmiColorOrange.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 22</value>
</data>
<data name="tsmiColorOrange.Text" xml:space="preserve">
<value>Orange</value>
</data>
<data name="tsmiColorYellow.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 22</value>
</data>
<data name="tsmiColorYellow.Text" xml:space="preserve">
<value>Yellow</value>
</data>
<data name="tsmiColorLightGreen.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 22</value>
</data>
<data name="tsmiColorLightGreen.Text" xml:space="preserve">
<value>Light Green</value>
</data>
<data name="tsmiColorCyan.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 22</value>
</data>
<data name="tsmiColorCyan.Text" xml:space="preserve">
<value>Cyan</value>
</data>
<data name="tsmiColorLightCyan.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 22</value>
</data>
<data name="tsmiColorLightCyan.Text" xml:space="preserve">
<value>Light Cyan</value>
</data>
<data name="tsmiColorLightBlue.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 22</value>
</data>
<data name="tsmiColorLightBlue.Text" xml:space="preserve">
<value>Light Blue</value>
</data>
<data name="tsmiColorPink.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 22</value>
</data>
<data name="tsmiColorPink.Text" xml:space="preserve">
<value>Pink</value>
</data>
<data name="tsmiColorGrey.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 22</value>
</data>
<data name="tsmiColorGrey.Text" xml:space="preserve">
<value>Grey</value>
</data>
<data name="tsmiColorLightGrey.Size" type="System.Drawing.Size, System.Drawing">
<value>135, 22</value>
</data>
<data name="tsmiColorLightGrey.Text" xml:space="preserve">
<value>Light Grey</value>
</data>
<data name="tsmiColors.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 22</value>
</data>
<data name="tsmiColors.Text" xml:space="preserve">
<value>Colors</value>
</data>
<data name="cmsMessage.Size" type="System.Drawing.Size, System.Drawing">
<value>101, 114</value>
</data>
<data name="&gt;&gt;cmsMessage.Name" xml:space="preserve">
<value>cmsMessage</value>
</data>
<data name="&gt;&gt;cmsMessage.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="btnMessageSend.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="btnMessageSend.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="btnMessageSend.Location" type="System.Drawing.Point, System.Drawing">
<value>688, 502</value>
</data>
<data name="btnMessageSend.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 24</value>
</data>
<data name="btnMessageSend.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="btnMessageSend.Text" xml:space="preserve">
<value>Send</value>
</data>
<data name="&gt;&gt;btnMessageSend.Name" xml:space="preserve">
<value>btnMessageSend</value>
</data>
<data name="&gt;&gt;btnMessageSend.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnMessageSend.Parent" xml:space="preserve">
<value>tpMessages</value>
</data>
<data name="&gt;&gt;btnMessageSend.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="btnConnect.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="btnConnect.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 500</value>
</data>
<data name="btnConnect.Size" type="System.Drawing.Size, System.Drawing">
<value>112, 24</value>
</data>
<data name="btnConnect.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="btnConnect.Text" xml:space="preserve">
<value>Connect</value>
</data>
<data name="&gt;&gt;btnConnect.Name" xml:space="preserve">
<value>btnConnect</value>
</data>
<data name="&gt;&gt;btnConnect.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnConnect.Parent" xml:space="preserve">
<value>tpMain</value>
</data>
<data name="&gt;&gt;btnConnect.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="pgSettings.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="pgSettings.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 8</value>
</data>
<data name="pgSettings.Size" type="System.Drawing.Size, System.Drawing">
<value>760, 484</value>
</data>
<data name="pgSettings.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;pgSettings.Name" xml:space="preserve">
<value>pgSettings</value>
</data>
<data name="&gt;&gt;pgSettings.Type" xml:space="preserve">
<value>System.Windows.Forms.PropertyGrid, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;pgSettings.Parent" xml:space="preserve">
<value>tpMain</value>
</data>
<data name="&gt;&gt;pgSettings.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="tpMain.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="tpMain.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="tpMain.Size" type="System.Drawing.Size, System.Drawing">
<value>776, 535</value>
</data>
<data name="tpMain.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="tpMain.Text" xml:space="preserve">
<value>Settings</value>
</data>
<data name="&gt;&gt;tpMain.Name" xml:space="preserve">
<value>tpMain</value>
</data>
<data name="&gt;&gt;tpMain.Type" xml:space="preserve">
<value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tpMain.Parent" xml:space="preserve">
<value>tcMain</value>
</data>
<data name="&gt;&gt;tpMain.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="txtCommand.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left, Right</value>
</data>
<data name="txtCommand.Location" type="System.Drawing.Point, System.Drawing">
<value>72, 504</value>
</data>
<data name="txtCommand.Size" type="System.Drawing.Size, System.Drawing">
<value>608, 20</value>
</data>
<data name="txtCommand.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;txtCommand.Name" xml:space="preserve">
<value>txtCommand</value>
</data>
<data name="&gt;&gt;txtCommand.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;txtCommand.Parent" xml:space="preserve">
<value>tpOutput</value>
</data>
<data name="&gt;&gt;txtCommand.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="lblCommand.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="lblCommand.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lblCommand.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 508</value>
</data>
<data name="lblCommand.Size" type="System.Drawing.Size, System.Drawing">
<value>57, 13</value>
</data>
<data name="lblCommand.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="lblCommand.Text" xml:space="preserve">
<value>Command:</value>
</data>
<data name="&gt;&gt;lblCommand.Name" xml:space="preserve">
<value>lblCommand</value>
</data>
<data name="&gt;&gt;lblCommand.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lblCommand.Parent" xml:space="preserve">
<value>tpOutput</value>
</data>
<data name="&gt;&gt;lblCommand.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="btnCommandSend.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="btnCommandSend.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="btnCommandSend.Location" type="System.Drawing.Point, System.Drawing">
<value>688, 502</value>
</data>
<data name="btnCommandSend.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 24</value>
</data>
<data name="btnCommandSend.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="btnCommandSend.Text" xml:space="preserve">
<value>Send</value>
</data>
<data name="&gt;&gt;btnCommandSend.Name" xml:space="preserve">
<value>btnCommandSend</value>
</data>
<data name="&gt;&gt;btnCommandSend.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnCommandSend.Parent" xml:space="preserve">
<value>tpOutput</value>
</data>
<data name="&gt;&gt;btnCommandSend.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="rtbOutput.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="rtbOutput.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 8</value>
</data>
<data name="rtbOutput.Size" type="System.Drawing.Size, System.Drawing">
<value>760, 484</value>
</data>
<data name="rtbOutput.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="rtbOutput.Text" xml:space="preserve">
<value />
<comment>@Invariant</comment></data>
<data name="rtbOutput.WordWrap" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;rtbOutput.Name" xml:space="preserve">
<value>rtbOutput</value>
</data>
<data name="&gt;&gt;rtbOutput.Type" xml:space="preserve">
<value>System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;rtbOutput.Parent" xml:space="preserve">
<value>tpOutput</value>
</data>
<data name="&gt;&gt;rtbOutput.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="tpOutput.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="tpOutput.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="tpOutput.Size" type="System.Drawing.Size, System.Drawing">
<value>776, 535</value>
</data>
<data name="tpOutput.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="tpOutput.Text" xml:space="preserve">
<value>IRC output</value>
</data>
<data name="&gt;&gt;tpOutput.Name" xml:space="preserve">
<value>tpOutput</value>
</data>
<data name="&gt;&gt;tpOutput.Type" xml:space="preserve">
<value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tpOutput.Parent" xml:space="preserve">
<value>tcMain</value>
</data>
<data name="&gt;&gt;tpOutput.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="tcMessages.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="tcMessages.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="tcMessages.Size" type="System.Drawing.Size, System.Drawing">
<value>776, 492</value>
</data>
<data name="tcMessages.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="&gt;&gt;tcMessages.Name" xml:space="preserve">
<value>tcMessages</value>
</data>
<data name="&gt;&gt;tcMessages.Type" xml:space="preserve">
<value>System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tcMessages.Parent" xml:space="preserve">
<value>tpMessages</value>
</data>
<data name="&gt;&gt;tcMessages.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="btnMessagesMenu.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="btnMessagesMenu.Location" type="System.Drawing.Point, System.Drawing">
<value>656, 502</value>
</data>
<data name="btnMessagesMenu.Size" type="System.Drawing.Size, System.Drawing">
<value>24, 24</value>
</data>
<data name="btnMessagesMenu.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="btnMessagesMenu.Text" xml:space="preserve">
<value>...</value>
<comment>@Invariant</comment></data>
<data name="&gt;&gt;btnMessagesMenu.Name" xml:space="preserve">
<value>btnMessagesMenu</value>
</data>
<data name="&gt;&gt;btnMessagesMenu.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnMessagesMenu.Parent" xml:space="preserve">
<value>tpMessages</value>
</data>
<data name="&gt;&gt;btnMessagesMenu.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="lblMessage.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="lblMessage.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lblMessage.Location" type="System.Drawing.Point, System.Drawing">
<value>192, 508</value>
</data>
<data name="lblMessage.Size" type="System.Drawing.Size, System.Drawing">
<value>53, 13</value>
</data>
<data name="lblMessage.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="lblMessage.Text" xml:space="preserve">
<value>Message:</value>
</data>
<data name="&gt;&gt;lblMessage.Name" xml:space="preserve">
<value>lblMessage</value>
</data>
<data name="&gt;&gt;lblMessage.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lblMessage.Parent" xml:space="preserve">
<value>tpMessages</value>
</data>
<data name="&gt;&gt;lblMessage.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="lblChannel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="lblChannel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lblChannel.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 508</value>
</data>
<data name="lblChannel.Size" type="System.Drawing.Size, System.Drawing">
<value>76, 13</value>
</data>
<data name="lblChannel.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="lblChannel.Text" xml:space="preserve">
<value>Channel/Nick:</value>
</data>
<data name="&gt;&gt;lblChannel.Name" xml:space="preserve">
<value>lblChannel</value>
</data>
<data name="&gt;&gt;lblChannel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lblChannel.Parent" xml:space="preserve">
<value>tpMessages</value>
</data>
<data name="&gt;&gt;lblChannel.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="txtChannel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left</value>
</data>
<data name="txtChannel.Location" type="System.Drawing.Point, System.Drawing">
<value>88, 504</value>
</data>
<data name="txtChannel.Size" type="System.Drawing.Size, System.Drawing">
<value>96, 20</value>
</data>
<data name="txtChannel.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;txtChannel.Name" xml:space="preserve">
<value>txtChannel</value>
</data>
<data name="&gt;&gt;txtChannel.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;txtChannel.Parent" xml:space="preserve">
<value>tpMessages</value>
</data>
<data name="&gt;&gt;txtChannel.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="tpMessages.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="tpMessages.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="tpMessages.Size" type="System.Drawing.Size, System.Drawing">
<value>776, 535</value>
</data>
<data name="tpMessages.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="tpMessages.Text" xml:space="preserve">
<value>Messages</value>
</data>
<data name="&gt;&gt;tpMessages.Name" xml:space="preserve">
<value>tpMessages</value>
</data>
<data name="&gt;&gt;tpMessages.Type" xml:space="preserve">
<value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tpMessages.Parent" xml:space="preserve">
<value>tcMain</value>
</data>
<data name="&gt;&gt;tpMessages.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="tcMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tcMain.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="tcMain.Size" type="System.Drawing.Size, System.Drawing">
<value>784, 561</value>
</data>
<data name="tcMain.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;tcMain.Name" xml:space="preserve">
<value>tcMain</value>
</data>
<data name="&gt;&gt;tcMain.Type" xml:space="preserve">
<value>System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tcMain.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;tcMain.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>62</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>784, 561</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterScreen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>ShareX - IRC client</value>
</data>
<data name="&gt;&gt;tsmiMessageBold.Name" xml:space="preserve">
<value>tsmiMessageBold</value>
</data>
<data name="&gt;&gt;tsmiMessageBold.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiMessageItalic.Name" xml:space="preserve">
<value>tsmiMessageItalic</value>
</data>
<data name="&gt;&gt;tsmiMessageItalic.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiMessageUnderline.Name" xml:space="preserve">
<value>tsmiMessageUnderline</value>
</data>
<data name="&gt;&gt;tsmiMessageUnderline.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiMessageNormal.Name" xml:space="preserve">
<value>tsmiMessageNormal</value>
</data>
<data name="&gt;&gt;tsmiMessageNormal.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiColors.Name" xml:space="preserve">
<value>tsmiColors</value>
</data>
<data name="&gt;&gt;tsmiColors.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiColorWhite.Name" xml:space="preserve">
<value>tsmiColorWhite</value>
</data>
<data name="&gt;&gt;tsmiColorWhite.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiColorBlack.Name" xml:space="preserve">
<value>tsmiColorBlack</value>
</data>
<data name="&gt;&gt;tsmiColorBlack.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiColorBlue.Name" xml:space="preserve">
<value>tsmiColorBlue</value>
</data>
<data name="&gt;&gt;tsmiColorBlue.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiColorGreen.Name" xml:space="preserve">
<value>tsmiColorGreen</value>
</data>
<data name="&gt;&gt;tsmiColorGreen.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiColorLightRed.Name" xml:space="preserve">
<value>tsmiColorLightRed</value>
</data>
<data name="&gt;&gt;tsmiColorLightRed.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiColorBrown.Name" xml:space="preserve">
<value>tsmiColorBrown</value>
</data>
<data name="&gt;&gt;tsmiColorBrown.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiColorPurple.Name" xml:space="preserve">
<value>tsmiColorPurple</value>
</data>
<data name="&gt;&gt;tsmiColorPurple.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiColorOrange.Name" xml:space="preserve">
<value>tsmiColorOrange</value>
</data>
<data name="&gt;&gt;tsmiColorOrange.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiColorYellow.Name" xml:space="preserve">
<value>tsmiColorYellow</value>
</data>
<data name="&gt;&gt;tsmiColorYellow.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiColorLightGreen.Name" xml:space="preserve">
<value>tsmiColorLightGreen</value>
</data>
<data name="&gt;&gt;tsmiColorLightGreen.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiColorCyan.Name" xml:space="preserve">
<value>tsmiColorCyan</value>
</data>
<data name="&gt;&gt;tsmiColorCyan.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiColorLightCyan.Name" xml:space="preserve">
<value>tsmiColorLightCyan</value>
</data>
<data name="&gt;&gt;tsmiColorLightCyan.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiColorLightBlue.Name" xml:space="preserve">
<value>tsmiColorLightBlue</value>
</data>
<data name="&gt;&gt;tsmiColorLightBlue.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiColorPink.Name" xml:space="preserve">
<value>tsmiColorPink</value>
</data>
<data name="&gt;&gt;tsmiColorPink.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiColorGrey.Name" xml:space="preserve">
<value>tsmiColorGrey</value>
</data>
<data name="&gt;&gt;tsmiColorGrey.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiColorLightGrey.Name" xml:space="preserve">
<value>tsmiColorLightGrey</value>
</data>
<data name="&gt;&gt;tsmiColorLightGrey.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>IRCClientForm</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>ShareX.HelpersLib.BaseForm, ShareX.HelpersLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
</root>

View file

@ -1,213 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Text" xml:space="preserve">
<value>ShareX - Клиент IRC</value>
</data>
<data name="btnCommandSend.Text" xml:space="preserve">
<value>Отправить</value>
</data>
<data name="btnConnect.Text" xml:space="preserve">
<value>Подключиться</value>
</data>
<data name="btnMessageSend.Text" xml:space="preserve">
<value>Отправить</value>
</data>
<data name="lblChannel.Text" xml:space="preserve">
<value>Канал/Ник:</value>
</data>
<data name="lblCommand.Text" xml:space="preserve">
<value>Команда:</value>
</data>
<data name="lblMessage.Text" xml:space="preserve">
<value>Написать:</value>
</data>
<data name="tpMain.Text" xml:space="preserve">
<value>Настройки</value>
</data>
<data name="tpMessages.Text" xml:space="preserve">
<value>Сообщения</value>
</data>
<data name="tpOutput.Text" xml:space="preserve">
<value>Вывод IRC</value>
</data>
<data name="tsmiColorBlack.Text" xml:space="preserve">
<value>Черный</value>
</data>
<data name="tsmiColorBlue.Text" xml:space="preserve">
<value>Синий</value>
</data>
<data name="tsmiColorBrown.Text" xml:space="preserve">
<value>Коричневый</value>
</data>
<data name="tsmiColorCyan.Text" xml:space="preserve">
<value>Голубой</value>
</data>
<data name="tsmiColorGreen.Text" xml:space="preserve">
<value>Зеленый</value>
</data>
<data name="tsmiColorGrey.Text" xml:space="preserve">
<value>Серый</value>
</data>
<data name="tsmiColorLightBlue.Text" xml:space="preserve">
<value>Светло-синий</value>
</data>
<data name="tsmiColorLightCyan.Text" xml:space="preserve">
<value>Светло-голубой</value>
</data>
<data name="tsmiColorLightGreen.Text" xml:space="preserve">
<value>Светло-зеленый</value>
</data>
<data name="tsmiColorLightGrey.Text" xml:space="preserve">
<value>Светло-серый</value>
</data>
<data name="tsmiColorLightRed.Text" xml:space="preserve">
<value>Светло-красный</value>
</data>
<data name="tsmiColorOrange.Text" xml:space="preserve">
<value>Оранжевый</value>
</data>
<data name="tsmiColorPink.Text" xml:space="preserve">
<value>Розовый</value>
</data>
<data name="tsmiColorPurple.Text" xml:space="preserve">
<value>Фиолетовый</value>
</data>
<data name="tsmiColors.Text" xml:space="preserve">
<value>Цвета</value>
</data>
<data name="tsmiColorWhite.Text" xml:space="preserve">
<value>Белый</value>
</data>
<data name="tsmiColorYellow.Text" xml:space="preserve">
<value>Жёлтый</value>
</data>
<data name="tsmiMessageBold.Text" xml:space="preserve">
<value>Жирный</value>
</data>
<data name="tsmiMessageItalic.Text" xml:space="preserve">
<value>Курсив</value>
</data>
<data name="tsmiMessageNormal.Text" xml:space="preserve">
<value>Нормальный</value>
</data>
<data name="tsmiMessageUnderline.Text" xml:space="preserve">
<value>Подчеркнутый</value>
</data>
</root>

View file

@ -1,213 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.Text" xml:space="preserve">
<value>ShareX - IRC istemcisi</value>
</data>
<data name="btnCommandSend.Text" xml:space="preserve">
<value>Gönder</value>
</data>
<data name="btnConnect.Text" xml:space="preserve">
<value>Bağlan</value>
</data>
<data name="btnMessageSend.Text" xml:space="preserve">
<value>Gönder</value>
</data>
<data name="lblChannel.Text" xml:space="preserve">
<value>Kanal/Nick:</value>
</data>
<data name="lblCommand.Text" xml:space="preserve">
<value>Komut:</value>
</data>
<data name="lblMessage.Text" xml:space="preserve">
<value>Mesaj:</value>
</data>
<data name="tpMessages.Text" xml:space="preserve">
<value>Mesajlar</value>
</data>
<data name="tpOutput.Text" xml:space="preserve">
<value>IRC çıktısı</value>
</data>
<data name="tsmiMessageBold.Text" xml:space="preserve">
<value>Kalın</value>
</data>
<data name="tsmiMessageItalic.Text" xml:space="preserve">
<value>İtalik</value>
</data>
<data name="tsmiMessageNormal.Text" xml:space="preserve">
<value>Normal</value>
</data>
<data name="tsmiMessageUnderline.Text" xml:space="preserve">
<value>Altı çizgili</value>
</data>
<data name="tsmiColorYellow.Text" xml:space="preserve">
<value>Sarı</value>
</data>
<data name="tpMain.Text" xml:space="preserve">
<value>Ayarlar</value>
</data>
<data name="tsmiColorBlack.Text" xml:space="preserve">
<value>Siyah</value>
</data>
<data name="tsmiColorBlue.Text" xml:space="preserve">
<value>Mavi</value>
</data>
<data name="tsmiColorBrown.Text" xml:space="preserve">
<value>Kahverengi</value>
</data>
<data name="tsmiColorCyan.Text" xml:space="preserve">
<value>Camgöbeği</value>
</data>
<data name="tsmiColorGreen.Text" xml:space="preserve">
<value>Yeşil</value>
</data>
<data name="tsmiColorGrey.Text" xml:space="preserve">
<value>Gri</value>
</data>
<data name="tsmiColorLightBlue.Text" xml:space="preserve">
<value>Açık mavi</value>
</data>
<data name="tsmiColorLightCyan.Text" xml:space="preserve">
<value>Açık camgöbeği</value>
</data>
<data name="tsmiColorLightGreen.Text" xml:space="preserve">
<value>Açık yeşil</value>
</data>
<data name="tsmiColorLightGrey.Text" xml:space="preserve">
<value>Açık gri</value>
</data>
<data name="tsmiColorLightRed.Text" xml:space="preserve">
<value>Açık kırmızı</value>
</data>
<data name="tsmiColorOrange.Text" xml:space="preserve">
<value>Turuncu</value>
</data>
<data name="tsmiColorPink.Text" xml:space="preserve">
<value>Pembe</value>
</data>
<data name="tsmiColorPurple.Text" xml:space="preserve">
<value>Mor</value>
</data>
<data name="tsmiColors.Text" xml:space="preserve">
<value>Renkler</value>
</data>
<data name="tsmiColorWhite.Text" xml:space="preserve">
<value>Beyaz</value>
</data>
</root>

View file

@ -1,213 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnConnect.Text" xml:space="preserve">
<value>Kết nối</value>
</data>
<data name="btnCommandSend.Text" xml:space="preserve">
<value>Gửi</value>
</data>
<data name="btnMessageSend.Text" xml:space="preserve">
<value>Gửi</value>
</data>
<data name="tpMain.Text" xml:space="preserve">
<value>Thiết lập</value>
</data>
<data name="tsmiColors.Text" xml:space="preserve">
<value>Màu</value>
</data>
<data name="tsmiMessageBold.Text" xml:space="preserve">
<value>Đậm</value>
</data>
<data name="tsmiMessageUnderline.Text" xml:space="preserve">
<value>Gạch chân</value>
</data>
<data name="tsmiMessageItalic.Text" xml:space="preserve">
<value>In nghiêng</value>
</data>
<data name="tsmiMessageNormal.Text" xml:space="preserve">
<value>Thường</value>
</data>
<data name="tsmiColorYellow.Text" xml:space="preserve">
<value>Vàng</value>
</data>
<data name="tsmiColorWhite.Text" xml:space="preserve">
<value>Trắng</value>
</data>
<data name="tsmiColorBlue.Text" xml:space="preserve">
<value>Xanh dương</value>
</data>
<data name="tsmiColorBlack.Text" xml:space="preserve">
<value>Đen</value>
</data>
<data name="tsmiColorBrown.Text" xml:space="preserve">
<value>Nâu</value>
</data>
<data name="tsmiColorCyan.Text" xml:space="preserve">
<value>Xanh lục lam</value>
</data>
<data name="tsmiColorGrey.Text" xml:space="preserve">
<value>Xám</value>
</data>
<data name="tsmiColorGreen.Text" xml:space="preserve">
<value>Xanh lục</value>
</data>
<data name="tsmiColorLightRed.Text" xml:space="preserve">
<value>Đỏ nhạt</value>
</data>
<data name="tsmiColorLightGrey.Text" xml:space="preserve">
<value>Xám nhạt</value>
</data>
<data name="tsmiColorLightGreen.Text" xml:space="preserve">
<value>Xanh lục nhạt</value>
</data>
<data name="tsmiColorLightCyan.Text" xml:space="preserve">
<value>Xanh lam lục nhạt</value>
</data>
<data name="tsmiColorLightBlue.Text" xml:space="preserve">
<value>Xanh dương nhạt</value>
</data>
<data name="tpMessages.Text" xml:space="preserve">
<value>Tin nhắn:</value>
</data>
<data name="lblMessage.Text" xml:space="preserve">
<value>Tin nhắn:</value>
</data>
<data name="tsmiColorOrange.Text" xml:space="preserve">
<value>Cam</value>
</data>
<data name="tsmiColorPink.Text" xml:space="preserve">
<value>Hồng</value>
</data>
<data name="tsmiColorPurple.Text" xml:space="preserve">
<value>Tím</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>ShareX - Trình IRC</value>
</data>
<data name="lblCommand.Text" xml:space="preserve">
<value>Lệnh:</value>
</data>
<data name="lblChannel.Text" xml:space="preserve">
<value>Kênh/Nick:</value>
</data>
<data name="tpOutput.Text" xml:space="preserve">
<value>Đầu ra IRC</value>
</data>
</root>

View file

@ -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 <http://www.gnu.org/licenses/>.
*/
#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);
}
}
}

View file

@ -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 <http://www.gnu.org/licenses/>.
*/
#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<TabInfo> 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<TabInfo>();
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;
}
}
}

View file

@ -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 <http://www.gnu.org/licenses/>.
*/
#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<IRCInfo>
{
[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<string> ConnectCommands { get; set; } = new List<string>();
[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<string> AutoJoinChannels { get; set; } = new List<string>();
[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<AutoResponseInfo> AutoResponseList { get; set; } = new List<AutoResponseInfo>();
[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<string> messages = new List<string>();
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);
}
}
}

View file

@ -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 <http://www.gnu.org/licenses/>.
*/
#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}";
}
}

View file

@ -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 <http://www.gnu.org/licenses/>.
*/
#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<string> Parameters { get; private set; }
public string Message { get; private set; }
public MessageInfo(string content)
{
Content = content;
User = new UserInfo();
Parameters = new List<string>();
}
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();
}
}
}

View file

@ -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")]

View file

@ -1,81 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 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.
// </auto-generated>
//------------------------------------------------------------------------------
namespace ShareX.IRCLib.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// 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() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[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;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to Disconnect.
/// </summary>
internal static string IRCClientForm_Connect_Disconnect {
get {
return ResourceManager.GetString("IRCClientForm_Connect_Disconnect", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Connect.
/// </summary>
internal static string IRCClientForm_Disconnect_Connect {
get {
return ResourceManager.GetString("IRCClientForm_Disconnect_Connect", resourceCulture);
}
}
}
}

View file

@ -1,126 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="IRCClientForm_Connect_Disconnect" xml:space="preserve">
<value>Trennen</value>
</data>
<data name="IRCClientForm_Disconnect_Connect" xml:space="preserve">
<value>Verbinden</value>
</data>
</root>

View file

@ -1,126 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="IRCClientForm_Connect_Disconnect" xml:space="preserve">
<value>Se déconnecter </value>
</data>
<data name="IRCClientForm_Disconnect_Connect" xml:space="preserve">
<value>Se connecter</value>
</data>
</root>

View file

@ -1,126 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="IRCClientForm_Connect_Disconnect" xml:space="preserve">
<value>Verbreek</value>
</data>
<data name="IRCClientForm_Disconnect_Connect" xml:space="preserve">
<value>Verbind</value>
</data>
</root>

View file

@ -1,126 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="IRCClientForm_Connect_Disconnect" xml:space="preserve">
<value>Desconectar</value>
</data>
<data name="IRCClientForm_Disconnect_Connect" xml:space="preserve">
<value>Conectar</value>
</data>
</root>

View file

@ -1,107 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="IRCClientForm_Connect_Disconnect" xml:space="preserve">
<value>Disconnect</value>
</data>
<data name="IRCClientForm_Disconnect_Connect" xml:space="preserve">
<value>Connect</value>
</data>
</root>

View file

@ -1,126 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="IRCClientForm_Connect_Disconnect" xml:space="preserve">
<value>Отключиться</value>
</data>
<data name="IRCClientForm_Disconnect_Connect" xml:space="preserve">
<value>Подключиться</value>
</data>
</root>

View file

@ -1,126 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="IRCClientForm_Connect_Disconnect" xml:space="preserve">
<value>Bağlantıyı kes</value>
</data>
<data name="IRCClientForm_Disconnect_Connect" xml:space="preserve">
<value>Bağlan</value>
</data>
</root>

View file

@ -1,126 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="IRCClientForm_Connect_Disconnect" xml:space="preserve">
<value>Ngắt kết nối</value>
</data>
<data name="IRCClientForm_Disconnect_Connect" xml:space="preserve">
<value>Kết nối</value>
</data>
</root>

View file

@ -1,128 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{EF7FCC3F-B776-4A5E-BDDC-32329AB11A58}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ShareX.IRCLib</RootNamespace>
<AssemblyName>ShareX.IRCLib</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>none</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Steam|AnyCPU'">
<OutputPath>bin\Steam\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<PlatformTarget>AnyCPU</PlatformTarget>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="AutoResponseInfo.cs" />
<Compile Include="Enums.cs" />
<Compile Include="IRC.cs" />
<Compile Include="IRCClient\IRCClientForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="IRCClient\IRCClientForm.Designer.cs">
<DependentUpon>IRCClientForm.cs</DependentUpon>
</Compile>
<Compile Include="IRCClient\TabInfo.cs" />
<Compile Include="IRCInfo.cs" />
<Compile Include="IRCText.cs" />
<Compile Include="MessageInfo.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="IRCClient\TabManager.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="UserInfo.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="IRCClient\IRCClientForm.de.resx">
<DependentUpon>IRCClientForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="IRCClient\IRCClientForm.fr.resx">
<DependentUpon>IRCClientForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="IRCClient\IRCClientForm.nl-NL.resx">
<DependentUpon>IRCClientForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="IRCClient\IRCClientForm.pt-BR.resx">
<DependentUpon>IRCClientForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="IRCClient\IRCClientForm.resx">
<DependentUpon>IRCClientForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="IRCClient\IRCClientForm.ru.resx">
<DependentUpon>IRCClientForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="IRCClient\IRCClientForm.tr.resx">
<DependentUpon>IRCClientForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="IRCClient\IRCClientForm.vi-VN.resx">
<DependentUpon>IRCClientForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.de.resx" />
<EmbeddedResource Include="Properties\Resources.fr.resx" />
<EmbeddedResource Include="Properties\Resources.nl-NL.resx" />
<EmbeddedResource Include="Properties\Resources.pt-BR.resx" />
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.ru.resx" />
<EmbeddedResource Include="Properties\Resources.tr.resx" />
<EmbeddedResource Include="Properties\Resources.vi-VN.resx" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\ShareX.HelpersLib\ShareX.HelpersLib.csproj">
<Project>{327750e1-9fb7-4cc3-8aea-9bc42180cad3}</Project>
<Name>ShareX.HelpersLib</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View file

@ -1,2 +0,0 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeEditing/Localization/LocalizableInspector/@EntryValue">Pessimistic</s:String></wpf:ResourceDictionary>

View file

@ -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 <http://www.gnu.org/licenses/>.
*/
#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<string> 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<string>();
}
public override string ToString()
{
string channels = string.Join(" ", Channels);
return $"Nickname: {Nickname}, Username: {Username}, Realname: {Realname}, Host: {Host}, Identity: {Identity}, Channels: {channels}";
}
}
}

View file

@ -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

View file

@ -180,7 +180,6 @@ public enum HotkeyType // Localized + Category
ImageEditor,
ImageEffects,
HashCheck,
IRCClient,
DNSChanger,
QRCode,
Ruler,

View file

@ -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;

View file

@ -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;

View file

@ -510,12 +510,6 @@
<data name="tsmiHashCheck.Text" xml:space="preserve">
<value>Hash check...</value>
</data>
<data name="tsmiIRCClient.Size" type="System.Drawing.Size, System.Drawing">
<value>183, 22</value>
</data>
<data name="tsmiIRCClient.Text" xml:space="preserve">
<value>IRC client...</value>
</data>
<data name="tsmiDNSChanger.Size" type="System.Drawing.Size, System.Drawing">
<value>183, 22</value>
</data>
@ -1305,12 +1299,6 @@
<data name="tsmiTrayHashCheck.Text" xml:space="preserve">
<value>Hash check...</value>
</data>
<data name="tsmiTrayIRCClient.Size" type="System.Drawing.Size, System.Drawing">
<value>183, 22</value>
</data>
<data name="tsmiTrayIRCClient.Text" xml:space="preserve">
<value>IRC client...</value>
</data>
<data name="tsmiTrayDNSChanger.Size" type="System.Drawing.Size, System.Drawing">
<value>183, 22</value>
</data>
@ -1561,7 +1549,7 @@
<value>Exit</value>
</data>
<data name="cmsTray.Size" type="System.Drawing.Size, System.Drawing">
<value>189, 462</value>
<value>189, 484</value>
</data>
<data name="&gt;&gt;cmsTray.Name" xml:space="preserve">
<value>cmsTray</value>
@ -1809,12 +1797,6 @@
<data name="&gt;&gt;tsmiHashCheck.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiIRCClient.Name" xml:space="preserve">
<value>tsmiIRCClient</value>
</data>
<data name="&gt;&gt;tsmiIRCClient.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiDNSChanger.Name" xml:space="preserve">
<value>tsmiDNSChanger</value>
</data>
@ -2517,12 +2499,6 @@
<data name="&gt;&gt;tsmiTrayHashCheck.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiTrayIRCClient.Name" xml:space="preserve">
<value>tsmiTrayIRCClient</value>
</data>
<data name="&gt;&gt;tsmiTrayIRCClient.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiTrayDNSChanger.Name" xml:space="preserve">
<value>tsmiTrayDNSChanger</value>
</data>

View file

@ -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;

View file

@ -1059,10 +1059,6 @@
<Project>{750c6f46-2c5a-4488-81d3-3b35ca50f3ee}</Project>
<Name>ShareX.IndexerLib</Name>
</ProjectReference>
<ProjectReference Include="..\ShareX.IRCLib\ShareX.IRCLib.csproj">
<Project>{ef7fcc3f-b776-4a5e-bddc-32329ab11a58}</Project>
<Name>ShareX.IRCLib</Name>
</ProjectReference>
<ProjectReference Include="..\ShareX.MediaLib\ShareX.MediaLib.csproj">
<Project>{1a190e53-1419-4cc2-b0e5-3bc7ea861c8b}</Project>
<Name>ShareX.MediaLib</Name>

View file

@ -25,7 +25,6 @@
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)

View file

@ -27,7 +27,6 @@
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