diff --git a/qtc-net-client-2/Controls/ChatMessageControl.cs b/qtc-net-client-2/Controls/ChatMessageControl.cs
new file mode 100644
index 0000000..08f0a09
--- /dev/null
+++ b/qtc-net-client-2/Controls/ChatMessageControl.cs
@@ -0,0 +1,86 @@
+using qtc_net_client_2.Properties;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace qtc_net_client_2.Controls
+{
+ public class ChatMessageControl : Control
+ {
+ public Image? Avatar { get; set; }
+ public string Username = "Username";
+ public string Message = "Message";
+
+ private Font usernameFont = new("Segoe UI", 9, FontStyle.Bold);
+ private Font messageFont = new("Segoe UI", 9, FontStyle.Regular);
+ private Font messageFontBold = new("Segoe UI", 10, FontStyle.Bold);
+
+ public ChatMessageControl()
+ {
+ DoubleBuffered = true;
+ }
+
+ protected override void OnPaint(PaintEventArgs e)
+ {
+ base.OnPaint(e);
+
+ int avatarSize = 32;
+ int padding = 6;
+
+ // first, draw the avatar
+ Rectangle pfpRect = new(padding, padding, avatarSize, avatarSize);
+ e.Graphics.DrawImage(Avatar ?? Resources.DefaultPfp, pfpRect);
+
+ // then draw the username
+ int textLeft = padding * 2 + avatarSize;
+ int textWidth = Width - textLeft - padding;
+
+ Rectangle usernameRect = new(textLeft, padding, textWidth, 20);
+ e.Graphics.DrawString(Username, usernameFont, Brushes.Black, usernameRect);
+
+ // finally draw the message
+ int messageTop = usernameRect.Bottom + 2;
+
+ Rectangle messageRect = new(textLeft, messageTop, textWidth, Height - messageTop - padding);
+ StringFormat fmt = new()
+ {
+ Trimming = StringTrimming.Word,
+ FormatFlags = 0,
+ Alignment = StringAlignment.Near
+ };
+
+ if (Username.Contains("Server"))
+ {
+ e.Graphics.DrawString(Message, messageFontBold, Brushes.Black, messageRect, fmt);
+ return;
+ }
+
+ e.Graphics.DrawString(Message, messageFont, Brushes.Black, messageRect, fmt);
+ }
+
+ protected override void OnResize(EventArgs e)
+ {
+ base.OnResize(e);
+ Height = CalculateHeight(Width);
+ }
+
+ public int CalculateHeight(int width)
+ {
+ int padding = 6;
+ int avatarSize = 32;
+ int textLeft = padding * 2 + avatarSize;
+ int textWidth = width - textLeft - padding;
+
+ using (Graphics g = CreateGraphics())
+ {
+ SizeF usernameSize = g.MeasureString(Username, usernameFont, textWidth);
+ SizeF messageSize = g.MeasureString(Message, messageFont, textWidth);
+
+ int totalHeight = padding + (int)usernameSize.Height + 2 + (int)messageSize.Height + padding;
+ return Math.Max(totalHeight, avatarSize + 2 * padding);
+ }
+ }
+ }
+}
diff --git a/qtc-net-client-2/Forms/ChatRoom.Designer.cs b/qtc-net-client-2/Forms/ChatRoom.Designer.cs
index b41b45e..8c20668 100644
--- a/qtc-net-client-2/Forms/ChatRoom.Designer.cs
+++ b/qtc-net-client-2/Forms/ChatRoom.Designer.cs
@@ -29,23 +29,21 @@
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
- ListViewItem listViewItem1 = new ListViewItem("TestUser", 1);
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ChatRoom));
- ListViewItem listViewItem2 = new ListViewItem("TestUser: the quick brown fox jumped over the lazy dog aaaa", 0);
rtxtChatbox = new RichTextBox();
btnSend = new Button();
lblRoomName = new Label();
- lvUserList = new ListView();
ilStatusIcons = new ImageList(components);
- lvMessages = new ListView();
ilProfileImages = new ImageList(components);
+ lvUserList = new ListView();
+ fpnlMessages = new FlowLayoutPanel();
SuspendLayout();
//
// rtxtChatbox
//
- rtxtChatbox.Location = new Point(12, 268);
+ rtxtChatbox.Location = new Point(12, 322);
rtxtChatbox.Name = "rtxtChatbox";
- rtxtChatbox.Size = new Size(512, 54);
+ rtxtChatbox.Size = new Size(589, 54);
rtxtChatbox.TabIndex = 1;
rtxtChatbox.Text = "";
rtxtChatbox.KeyDown += rtxtChatbox_KeyDown;
@@ -55,7 +53,7 @@
btnSend.FlatAppearance.BorderSize = 0;
btnSend.FlatStyle = FlatStyle.Flat;
btnSend.Image = Properties.Resources.SendIcon;
- btnSend.Location = new Point(530, 268);
+ btnSend.Location = new Point(607, 322);
btnSend.Name = "btnSend";
btnSend.Size = new Size(75, 54);
btnSend.TabIndex = 2;
@@ -74,20 +72,6 @@
lblRoomName.TabIndex = 8;
lblRoomName.Text = "Room";
//
- // lvUserList
- //
- lvUserList.Alignment = ListViewAlignment.Left;
- lvUserList.Items.AddRange(new ListViewItem[] { listViewItem1 });
- lvUserList.Location = new Point(12, 43);
- lvUserList.MultiSelect = false;
- lvUserList.Name = "lvUserList";
- lvUserList.Size = new Size(124, 219);
- lvUserList.SmallImageList = ilStatusIcons;
- lvUserList.TabIndex = 9;
- lvUserList.UseCompatibleStateImageBehavior = false;
- lvUserList.View = View.SmallIcon;
- lvUserList.DoubleClick += lvUserList_DoubleClick;
- //
// ilStatusIcons
//
ilStatusIcons.ColorDepth = ColorDepth.Depth32Bit;
@@ -98,20 +82,6 @@
ilStatusIcons.Images.SetKeyName(2, "Away");
ilStatusIcons.Images.SetKeyName(3, "DND");
//
- // lvMessages
- //
- lvMessages.Alignment = ListViewAlignment.Left;
- lvMessages.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point, 0);
- lvMessages.Items.AddRange(new ListViewItem[] { listViewItem2 });
- lvMessages.Location = new Point(142, 43);
- lvMessages.MultiSelect = false;
- lvMessages.Name = "lvMessages";
- lvMessages.Size = new Size(463, 219);
- lvMessages.SmallImageList = ilProfileImages;
- lvMessages.TabIndex = 10;
- lvMessages.UseCompatibleStateImageBehavior = false;
- lvMessages.View = View.SmallIcon;
- //
// ilProfileImages
//
ilProfileImages.ColorDepth = ColorDepth.Depth32Bit;
@@ -119,17 +89,43 @@
ilProfileImages.TransparentColor = Color.Transparent;
ilProfileImages.Images.SetKeyName(0, "DefaultPFP");
//
+ // lvUserList
+ //
+ lvUserList.Alignment = ListViewAlignment.Left;
+ lvUserList.Location = new Point(12, 43);
+ lvUserList.MultiSelect = false;
+ lvUserList.Name = "lvUserList";
+ lvUserList.Size = new Size(124, 273);
+ lvUserList.SmallImageList = ilStatusIcons;
+ lvUserList.TabIndex = 9;
+ lvUserList.UseCompatibleStateImageBehavior = false;
+ lvUserList.View = View.SmallIcon;
+ lvUserList.DoubleClick += lvUserList_DoubleClick;
+ //
+ // fpnlMessages
+ //
+ fpnlMessages.AutoScroll = true;
+ fpnlMessages.BackColor = Color.White;
+ fpnlMessages.BorderStyle = BorderStyle.Fixed3D;
+ fpnlMessages.FlowDirection = FlowDirection.TopDown;
+ fpnlMessages.Location = new Point(142, 43);
+ fpnlMessages.Name = "fpnlMessages";
+ fpnlMessages.Size = new Size(540, 273);
+ fpnlMessages.TabIndex = 10;
+ fpnlMessages.WrapContents = false;
+ //
// ChatRoom
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
BackColor = Color.DodgerBlue;
- ClientSize = new Size(617, 334);
- Controls.Add(lvMessages);
+ ClientSize = new Size(694, 388);
+ Controls.Add(fpnlMessages);
Controls.Add(lvUserList);
Controls.Add(lblRoomName);
Controls.Add(btnSend);
Controls.Add(rtxtChatbox);
+ DoubleBuffered = true;
FormBorderStyle = FormBorderStyle.FixedSingle;
Icon = (Icon)resources.GetObject("$this.Icon");
MaximizeBox = false;
@@ -146,9 +142,9 @@
private RichTextBox rtxtChatbox;
private Button btnSend;
private Label lblRoomName;
- private ListView lvUserList;
private ImageList ilStatusIcons;
- private ListView lvMessages;
private ImageList ilProfileImages;
+ private ListView lvUserList;
+ private FlowLayoutPanel fpnlMessages;
}
}
\ No newline at end of file
diff --git a/qtc-net-client-2/Forms/ChatRoom.cs b/qtc-net-client-2/Forms/ChatRoom.cs
index 7ef2395..6be6884 100644
--- a/qtc-net-client-2/Forms/ChatRoom.cs
+++ b/qtc-net-client-2/Forms/ChatRoom.cs
@@ -1,4 +1,6 @@
-using qtc_net_client_2.Services;
+using qtc_net_client_2.ClientModel;
+using qtc_net_client_2.Controls;
+using qtc_net_client_2.Services;
using QtCNETAPI.Dtos.User;
using QtCNETAPI.Events;
using QtCNETAPI.Models;
@@ -51,12 +53,11 @@ namespace qtc_net_client_2.Forms
// init ui
- Text = $"QtC.NET Client - Chat Room - {Room.Name}";
+ Text = $"QtC.NET Client - Chat Room - {Room.Name}";
lblRoomName.Text = Room.Name;
RoomUserList.Clear();
- lvUserList.Clear();
- lvMessages.Clear();
+ lvUserList.Items.Clear();
}
private async void frmChat_FormClosing(object sender, FormClosingEventArgs e)
@@ -143,7 +144,7 @@ namespace qtc_net_client_2.Forms
Invoke(async delegate ()
{
RoomUserList.Clear();
- lvUserList.Clear();
+ lvUserList.Items.Clear();
foreach (var user in args.UserList)
{
lvUserList.Items.Add(user.Username, user.Status);
@@ -151,7 +152,7 @@ namespace qtc_net_client_2.Forms
// TODO - probably do this only when a message is received (requires response model change)
var pfpRes = await _apiService.GetUserProfilePic(user.Id);
- if(pfpRes != null && pfpRes.Success && pfpRes.Data != null)
+ if (pfpRes != null && pfpRes.Success && pfpRes.Data != null)
{
using var ms = new MemoryStream(pfpRes.Data);
using var bmp = new Bitmap(ms);
@@ -164,17 +165,17 @@ namespace qtc_net_client_2.Forms
private void _gatewayService_OnGuestUserJoin(object? sender, EventArgs e)
{
var args = (GuestUserJoinEventArgs)e;
- AddMessage($"[SERVER] Guest User {args.Username} Has Joined {_gatewayService.CurrentRoom?.Name}");
+ AddMessage($"Server: Guest User {args.Username} Has Joined {_gatewayService.CurrentRoom?.Name}");
}
private void _gatewayService_OnRoomDeleted(object? sender, EventArgs e)
{
- if(IsHandleCreated && !IsDisposed)
+ if (IsHandleCreated && !IsDisposed)
{
Invoke(delegate ()
{
- AddMessage($"[SERVER] This Room Was Deleted By An Admin.");
- lvUserList.Clear();
+ AddMessage($"Server: This Room Was Deleted By An Admin.");
+ lvUserList.Items.Clear();
RoomUserList.Clear();
lvUserList.Enabled = false;
@@ -187,11 +188,22 @@ namespace qtc_net_client_2.Forms
private void AddMessage(string message, string? userId = null)
{
- if(IsHandleCreated && !IsDisposed)
+ if (IsHandleCreated && !IsDisposed)
{
- Invoke(delegate ()
+ Invoke((Delegate)delegate ()
{
- lvMessages.Items.Add(message, userId ?? "DefaultPfp");
+ var ctrl = new ChatMessageControl()
+ {
+ Avatar = ilProfileImages.Images[userId] ?? ilProfileImages.Images[0],
+ Username = message.Split(':')[0],
+ Message = message.Split(':')[1].Trim(),
+ Width = fpnlMessages.ClientSize.Width - SystemInformation.VerticalScrollBarWidth
+ };
+ ctrl.Height = ctrl.CalculateHeight(ctrl.Width);
+
+ fpnlMessages.Controls.Add(ctrl);
+ fpnlMessages.VerticalScroll.Value = fpnlMessages.VerticalScroll.Maximum;
+ fpnlMessages.PerformLayout();
});
}
}
diff --git a/qtc-net-client-2/Forms/ChatRoom.resx b/qtc-net-client-2/Forms/ChatRoom.resx
index b156975..25d9c76 100644
--- a/qtc-net-client-2/Forms/ChatRoom.resx
+++ b/qtc-net-client-2/Forms/ChatRoom.resx
@@ -124,91 +124,90 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
- SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAuhMAAAJNU0Z0AUkBTAIBAQQB
- AAEQAQEBEAEBARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/
+ SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAchMAAAJNU0Z0AUkBTAIBAQQB
+ AAEYAQIBGAECARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/
AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AC4AAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B
0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYB
BwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekD
- YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA1oB9QMkAfsDRgH+A0YB/gMkAfsDUwH0A2IB
- 4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQBWQFaAVkB9QEhAV4BIQH7ASIBYgEiAf4BIgFiASIB/gEhAV4B
- IQH7A1MB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAVkCWgH1ASECXgH7ASICYgH+ASICYgH+ASEC
- XgH7A1MB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAlkBWgH1AiEBXgH7AiIBYgH+AiIBYgH+AiEB
- XgH7A1MB9ANiAeEDUQGhAx4BKgwAAxsBJQNYAb0DWgHyA0oB/gMwAf8DOQH/AzwB/wM2Af8DKgH/AyQB
- /wNAAf0DXgHwA1YBsgMaASMIAAMbASUDWAG9A1oB8gEiAWoBIgH+AQABVwEAAf8BAAFnAQAB/wEAAWwB
- AAH/AQABYQEAAf8BAAFMAQAB/wEAAUABAAH/A0AB/QNeAfADVgGyARkBGgEZASMIAAMbASUDWAG9A1oB
- 8gEiAmoB/gEAAlcB/wEAAmcB/wEAAmwB/wEAAmEB/wEAAkwB/wEAAkAB/wNAAf0DXgHwA1YBsgEZAhoB
- IwgAAxsBJQNYAb0DWgHyAiIBagH+AgABVwH/AgABZwH/AgABbAH/AgABYQH/AgABTAH/AgABQAH/A0AB
- /QNeAfADVgGyAhkBGgEjBAADAwEEA1IBpQNgAfMDSQH/A1UB/wNlAf8DcQH/A3UB/wNxAf8DZAH/A0wB
- /wMxAf8DRgH+A2IB7gNQAZoDAwEEAwMBBAFSAVMBUgGlAWABbwFgAfMBAAGCAQAB/wEAAZkBAAH/AQAB
- tgEAAf8BAAHMAQAB/wEAAdMBAAH/AQABywEAAf8BAAGzAQAB/wEAAYgBAAH/AQABVwEAAf8BIgFiASIB
- /gNiAe4DUAGaAwMBBAMDAQQBUgJTAaUBYAJvAfMBAAKCAf8BAAKZAf8BAAK2Af8BAALMAf8BAALTAf8B
- AALLAf8BAAKzAf8BAAKIAf8BAAJXAf8BIgJiAf4DYgHuA1ABmgMDAQQDAwEEAlIBUwGlAmABbwHzAgAB
- ggH/AgABmQH/AgABtgH/AgABzAH/AgAB0wH/AgABywH/AgABswH/AgABiAH/AgABVwH/AiIBYgH+A2IB
- 7gNQAZoDAwEEAy0BRANgAegDgAH+A24B/wN7Af8DhQH/A4oB/wOMAf8DigH/A4UB/wN2Af8DVwH/AzIB
- /wNAAf0DXgHdAyoBPwMtAUQBYAFpAWAB6AEiAYABIgH+AQABxgEAAf8BAAHcAQAB/wEAAe4BAAH/AQAB
- +AEAAf8BAAH7AQAB/wEAAfkBAAH/AQAB7wEAAf8BAAHUAQAB/wEAAZwBAAH/AQABWgEAAf8DQAH9A14B
- 3QMqAT8DLQFEAWACaQHoASICgAH+AQACxgH/AQAC3AH/AQAC7gH/AQAC+AH/AQAC+wH/AQAC+QH/AQAC
- 7wH/AQAC1AH/AQACnAH/AQACWgH/A0AB/QNeAd0DKgE/Ay0BRAJgAWkB6AIiAYAB/gIAAcYB/wIAAdwB
- /wIAAe4B/wIAAfgB/wIAAfsB/wIAAfkB/wIAAe8B/wIAAdQB/wIAAZwB/wIAAVoB/wNAAf0DXgHdAyoB
- PwNOAZUDdwH4A38B/wOFAf8DigH/A40B/wOOAf8DjgH/A44B/wONAf8DiQH/A3cB/wNNAf8DJQH/A1oB
- 8gNKAYsDTgGVAU8BfAFPAfgBAAHlAQAB/wEAAe8BAAH/AQAB+AEAAf8BAAH9AQAB/wEAAf8BAAH/AQAB
- /wEAAf8BAAH/AQAB/wEAAf4BAAH/AQAB9gEAAf8BAAHVAQAB/wEAAYsBAAH/AQABQQEAAf8DWgHyA0oB
- iwNOAZUBTwJ8AfgBAALlAf8BAALvAf8BAAL4Af8BAAL9Af8BAAP/AQAD/wEAA/8BAAL+Af8BAAL2Af8B
- AALVAf8BAAKLAf8BAAJBAf8DWgHyA0oBiwNOAZUCTwF8AfgCAAHlAf8CAAHvAf8CAAH4Af8CAAH9Af8C
- AAL/AgAC/wIAAv8CAAH+Af8CAAH2Af8CAAHVAf8CAAGLAf8CAAFBAf8DWgHyA0oBiwNfAdMDfgH8A5MB
- /wOOAf8DjQH/A44B/wOOAf8DjgH/A44B/wOOAf8DjQH/A4UB/wNnAf8DNAH/A0EB+QNaAcQBWwFfAVsB
- 0wErAZUBKwH8AQ4B+wEOAf8BAwH9AQMB/wEAAf4BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
- /wEAAf8BAAH/AQAB/wEAAf0BAAH/AQAB7wEAAf8BAAG5AQAB/wEAAV0BAAH/A0EB+QNaAcQBWwJfAdMB
- KwKVAfwBDgL7Af8BAwL9Af8BAAL+Af8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv0B/wEAAu8B/wEAArkB
- /wEAAl0B/wNBAfkDWgHEAlsBXwHTAisBlQH8Ag4B+wH/AgMB/QH/AgAB/gH/AgAC/wIAAv8CAAL/AgAC
- /wIAAv8CAAH9Af8CAAHvAf8CAAG5Af8CAAFdAf8DQQH5A1oBxANuAfUDgAH+A58B/wOTAf8DjwH/A44B
- /wOOAf8DjgH/A44B/wOOAf8DjgH/A4sB/wN3Af8DSAH/A0AB/QNiAeEBWgFuAVoB9QFGAbsBRgH+AScB
- /wEnAf8BCwH/AQsB/wEBAf8BAQH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
- /wEAAf8BAAH/AQAB+QEAAf8BAAHWAQAB/wEAAYEBAAH/A0AB/QNiAeEBWgJuAfUBRgK7Af4BJwP/AQsD
- /wEBA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL5Af8BAALWAf8BAAKBAf8DQAH9A2IB4QJaAW4B
- 9QJGAbsB/gInAv8CCwL/AgEC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAfkB/wIAAdYB/wIAAYEB
- /wNAAf0DYgHhA2MB9gOAAf4DqwH/A5kB/wOQAf8DjgH/A44B/wOOAf8DjgH/A44B/wOOAf8DjQH/A38B
- /wNVAf8DQAH9A14B4gFIAW8BSAH2AWkBuwFpAf4BQgH/AUIB/wEZAf8BGQH/AQQB/wEEAf8BAAH/AQAB
- /wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH9AQAB/wEAAeQBAAH/AQAB
- mAEAAf8DQAH9A14B4gFIAm8B9gFpArsB/gFCA/8BGQP/AQQD/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAD
- /wEAAv0B/wEAAuQB/wEAApgB/wNAAf0DXgHiAkgBbwH2AmkBuwH+AkIC/wIZAv8CBAL/AgAC/wIAAv8C
- AAL/AgAC/wIAAv8CAAL/AgAB/QH/AgAB5AH/AgABmAH/A0AB/QNeAeIDYQHWA34B/AO4Af8DowH/A5MB
- /wOOAf8DjgH/A44B/wOOAf8DjgH/A44B/wONAf8DggH/A1wB/wNNAfoDWgHHAVwBYQFcAdYBZAGbAWQB
- /AFfAf8BXwH/AS8B/wEvAf8BDAH/AQwB/wEBAf8BAQH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
- /wEAAf8BAAH/AQAB/wEAAf4BAAH/AQAB6gEAAf8BAAGlAQAB/wE4AU0BOAH6A1oBxwFcAmEB1gFkApsB
- /AFfA/8BLwP/AQwD/wEBA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv4B/wEAAuoB/wEAAqUB/wE4Ak0B
- +gNaAccCXAFhAdYCZAGbAfwCXwL/Ai8C/wIMAv8CAQL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH+Af8C
- AAHqAf8CAAGlAf8COAFNAfoDWgHHA1ABmgN9AfkDxQH/A7IB/wOcAf8DkQH/A44B/wOOAf8DjgH/A44B
- /wOPAf8DjgH/A4MB/wNgAf8DWgHyA0wBkANQAZoBagGHAWoB+QF8Af8BfAH/AVEB/wFRAf8BHwH/AR8B
- /wEHAf8BBwH/AQEB/wEBAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAgH/AQIB/wECAf4BAgH/AQAB
- 6wEAAf8BAAGtAQAB/wFaAWsBWgHyA0wBkANQAZoBagKHAfkBfAP/AVED/wEfA/8BBwP/AQED/wEAA/8B
- AAP/AQAD/wECA/8BAgL+Af8BAALrAf8BAAKtAf8BWgJrAfIDTAGQA1ABmgJqAYcB+QJ8Av8CUQL/Ah8C
- /wIHAv8CAQL/AgAC/wIAAv8CAAL/AgIC/wICAf4B/wIAAesB/wIAAa0B/wJaAWsB8gNMAZADLwFJA2wB
- 6wOMAf4DxgH/A64B/wOcAf8DkwH/A5AB/wOPAf8DkAH/A5MB/wOTAf8DhQH/A0QB/QNgAeADLQFFAy8B
- SQNsAesBgAG7AYAB/gF/Af8BfwH/AUkB/wFJAf8BHwH/AR8B/wEMAf8BDAH/AQUB/wEFAf8BAwH/AQMB
- /wEFAf8BBQH/AQoB/wEKAf8BCgH+AQoB/wEBAe0BAQH/AUABtgFAAf0BYAFmAWAB4AMtAUUDLwFJA2wB
- 6wGAArsB/gF/A/8BSQP/AR8D/wEMA/8BBQP/AQMD/wEFA/8BCgP/AQoC/gH/AQEC7QH/AUACtgH9AWAC
- ZgHgAy0BRQMvAUkDbAHrAoABuwH+An8C/wJJAv8CHwL/AgwC/wIFAv8CAwL/AgUC/wIKAv8CCgH+Af8C
- AQHtAf8CQAG2Af0CYAFmAeADLQFFAwMBBANWAa4DbgH1A9kB/wPLAf8DtwH/A6cB/wOdAf8DmgH/A5wB
- /wOfAf8DmwH/A4kB/wNoAfADUgGjAwMBBAMDAQQDVgGuA24B9QGoAf8BqAH/AYkB/wGJAf8BXAH/AVwB
- /wE3Af8BNwH/ASIB/wEiAf8BGwH/ARsB/wEfAf8BHwH/ASYB/wEmAf8BHQH/AR0B/wEFAfMBBQH/AV4B
- aAFeAfADUgGjAwMBBAMDAQQDVgGuA24B9QGoA/8BiQP/AVwD/wE3A/8BIgP/ARsD/wEfA/8BJgP/AR0D
- /wEFAvMB/wFeAmgB8ANSAaMDAwEEAwMBBANWAa4DbgH1AqgC/wKJAv8CXAL/AjcC/wIiAv8CGwL/Ah8C
- /wImAv8CHQL/AgUB8wH/Al4BaAHwA1IBowMDAQQEAAMcAScDXQHHA2kB9gObAf4D1wH/A8wB/wPCAf8D
- uwH/A7cB/wOxAf8DgAH+A2gB9ANZAbwDGwEmCAADHAEnA10BxwFjAW8BYwH2AYABuwGAAf4BpQH/AaUB
- /wGLAf8BiwH/AXQB/wF0Af8BZgH/AWYB/wFcAf8BXAH/AU4B/wFOAf8BUgG7AVIB/gFTAWgBUwH0AVcB
- WQFXAbwDGwEmCAADHAEnA10BxwFjAm8B9gGAArsB/gGlA/8BiwP/AXQD/wFmA/8BXAP/AU4D/wFSArsB
- /gFTAmgB9AFXAlkBvAMbASYIAAMcAScDXQHHAmMBbwH2AoABuwH+AqUC/wKLAv8CdAL/AmYC/wJcAv8C
- TgL/AlIBuwH+AlMBaAH0AlcBWQG8AxsBJgwAAyEBMANZAbYDYgHuA30B+gO+Af0D1AH/A8wB/wO+Af0D
- dQH5A2wB6wNVAawDHwEsEAADIQEwA1kBtgNiAe4BfQGEAX0B+gGuAb4BrgH9AZ8B/wGfAf8BjAH/AYwB
- /wFUAb4BVAH9AWgBhwFoAfkBYQFsAWEB6wNVAawDHwEsEAADIQEwA1kBtgNiAe4BfQKEAfoBrgK+Af0B
- nwP/AYwD/wFUAr4B/QFoAocB+QFhAmwB6wNVAawDHwEsEAADIQEwA1kBtgNiAe4CfQGEAfoCrgG+Af0C
- nwL/AowC/wJUAb4B/QJoAYcB+QJhAWwB6wNVAawDHwEsFAADBgEHAzYBWANVAawDZgHlA4IB/AOJAfsD
- ZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYBWANVAawDZgHlAX4BmwF+AfwBXwGUAV8B+wNlAeIDUwGnAzMB
- UQMGAQcYAAMGAQcDNgFYA1UBrANmAeUBfgKbAfwBXwKUAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYB
- WANVAawDZgHlAn4BmwH8Al8BlAH7A2UB4gNTAacDMwFRAwYBBwwAAUIBTQE+BwABPgMAASgDAAFAAwAB
- IAMAAQEBAAEBBgABARYAA/+BAAHgAQcB4AEHAeABBwHgAQcBwAEDAcABAwHAAQMBwAEDAYABAQGAAQEB
- gAEBAYABAVAAAYABAQGAAQEBgAEBAYABAQHAAQMBwAEDAcABAwHAAQMB4AEHAeABBwHgAQcB4AEHCw==
+ YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA1oB9QMkAfsDZwH+A2cB/gMkAfsDUwH0A2IB
+ 4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASEBXgEhAfsBQwGAAUMB/gFDAYABQwH+ASEBXgEhAfsD
+ UwH0A2IB4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQDWgH1ASECXgH7AUMCgAH+AUMCgAH+ASECXgH7A1MB
+ 9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkA1oB9QIhAV4B+wJDAYAB/gJDAYAB/gIhAV4B+wNTAfQD
+ YgHhA1EBoQMeASoMAAMbASUDWAG9A1oB8gNrAf4DMAH/AzkB/wM8Af8DNgH/AyoB/wMkAf8DQAH9A14B
+ 8ANWAbIDGgEjCAADGwElA1gBvQNaAfIBQwGAAUMB/gEAAVcBAAH/AQABZwEAAf8BAAFsAQAB/wEAAWEB
+ AAH/AQABTAEAAf8BAAFAAQAB/wNAAf0DXgHwA1YBsgEZARoBGQEjCAADGwElA1gBvQNaAfIBQwKAAf4B
+ AAJXAf8BAAJnAf8BAAJsAf8BAAJhAf8BAAJMAf8BAAJAAf8DQAH9A14B8ANWAbIBGQIaASMIAAMbASUD
+ WAG9A1oB8gJDAYAB/gIAAVcB/wIAAWcB/wIAAWwB/wIAAWEB/wIAAUwB/wIAAUAB/wNAAf0DXgHwA1YB
+ sgIZARoBIwQAAwMBBANSAaUDYAHzA0kB/wNVAf8DZQH/A3EB/wN1Af8DcQH/A2QB/wNMAf8DMQH/A2cB
+ /gNiAe4DUAGaAwMBBAMDAQQBUgFTAVIBpQFgAW8BYAHzAQABggEAAf8BAAGZAQAB/wEAAbYBAAH/AQAB
+ zAEAAf8BAAHTAQAB/wEAAcsBAAH/AQABswEAAf8BAAGIAQAB/wEAAVcBAAH/AUMBgAFDAf4DYgHuA1AB
+ mgMDAQQDAwEEAVICUwGlAWACbwHzAQACggH/AQACmQH/AQACtgH/AQACzAH/AQAC0wH/AQACywH/AQAC
+ swH/AQACiAH/AQACVwH/AUMCgAH+A2IB7gNQAZoDAwEEAwMBBAJSAVMBpQJgAW8B8wIAAYIB/wIAAZkB
+ /wIAAbYB/wIAAcwB/wIAAdMB/wIAAcsB/wIAAbMB/wIAAYgB/wIAAVcB/wJDAYAB/gNiAe4DUAGaAwMB
+ BAMtAUQDYAHoA4AB/gNuAf8DewH/A4UB/wOKAf8DjAH/A4oB/wOFAf8DdgH/A1cB/wMyAf8DQAH9A14B
+ 3QMqAT8DLQFEAWABaQFgAegBQwGAAUMB/gEAAcYBAAH/AQAB3AEAAf8BAAHuAQAB/wEAAfgBAAH/AQAB
+ +wEAAf8BAAH5AQAB/wEAAe8BAAH/AQAB1AEAAf8BAAGcAQAB/wEAAVoBAAH/A0AB/QNeAd0DKgE/Ay0B
+ RAFgAmkB6AFDAoAB/gEAAsYB/wEAAtwB/wEAAu4B/wEAAvgB/wEAAvsB/wEAAvkB/wEAAu8B/wEAAtQB
+ /wEAApwB/wEAAloB/wNAAf0DXgHdAyoBPwMtAUQCYAFpAegCQwGAAf4CAAHGAf8CAAHcAf8CAAHuAf8C
+ AAH4Af8CAAH7Af8CAAH5Af8CAAHvAf8CAAHUAf8CAAGcAf8CAAFaAf8DQAH9A14B3QMqAT8DTgGVA3cB
+ +AN/Af8DhQH/A4oB/wONAf8DjgH/A44B/wOOAf8DjQH/A4kB/wN3Af8DTQH/AyUB/wNaAfIDSgGLA04B
+ lQFcAXwBXAH4AQAB5QEAAf8BAAHvAQAB/wEAAfgBAAH/AQAB/QEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
+ /wEAAf8BAAH+AQAB/wEAAfYBAAH/AQAB1QEAAf8BAAGLAQAB/wEAAUEBAAH/A1oB8gNKAYsDTgGVAVwC
+ fAH4AQAC5QH/AQAC7wH/AQAC+AH/AQAC/QH/AQAD/wEAA/8BAAP/AQAC/gH/AQAC9gH/AQAC1QH/AQAC
+ iwH/AQACQQH/A1oB8gNKAYsDTgGVAlwBfAH4AgAB5QH/AgAB7wH/AgAB+AH/AgAB/QH/AgAC/wIAAv8C
+ AAL/AgAB/gH/AgAB9gH/AgAB1QH/AgABiwH/AgABQQH/A1oB8gNKAYsDXwHTA34B/AOTAf8DjgH/A40B
+ /wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wOFAf8DZwH/AzQB/wNBAfkDWgHEAVsBXwFbAdMBKwF+ASsB
+ /AEOAfsBDgH/AQMB/QEDAf8BAAH+AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
+ /wEAAf8BAAH9AQAB/wEAAe8BAAH/AQABuQEAAf8BAAFdAQAB/wNBAfkDWgHEAVsCXwHTASsCfgH8AQ4C
+ +wH/AQMC/QH/AQAC/gH/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8BAALvAf8BAAK5Af8BAAJdAf8D
+ QQH5A1oBxAJbAV8B0wIrAX4B/AIOAfsB/wIDAf0B/wIAAf4B/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB
+ /QH/AgAB7wH/AgABuQH/AgABXQH/A0EB+QNaAcQDbgH1A4AB/gOfAf8DkwH/A48B/wOOAf8DjgH/A44B
+ /wOOAf8DjgH/A44B/wOLAf8DdwH/A0gB/wNAAf0DYgHhAVoBbgFaAfUBZwGAAWcB/gEnAf8BJwH/AQsB
+ /wELAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
+ /wEAAfkBAAH/AQAB1gEAAf8BAAGBAQAB/wNAAf0DYgHhAVoCbgH1AWcCgAH+AScD/wELA/8BAQP/AQAD
+ /wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC+QH/AQAC1gH/AQACgQH/A0AB/QNiAeECWgFuAfUCZwGAAf4C
+ JwL/AgsC/wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH5Af8CAAHWAf8CAAGBAf8DQAH9A2IB
+ 4QNjAfYDgAH+A6sB/wOZAf8DkAH/A44B/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wN/Af8DVQH/A0AB
+ /QNeAeIBSAFjAUgB9gOAAf4BQgH/AUIB/wEZAf8BGQH/AQQB/wEEAf8BAAH/AQAB/wEAAf8BAAH/AQAB
+ /wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH9AQAB/wEAAeQBAAH/AQABmAEAAf8DQAH9A14B
+ 4gFIAmMB9gOAAf4BQgP/ARkD/wEEA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8BAALkAf8B
+ AAKYAf8DQAH9A14B4gJIAWMB9gOAAf4CQgL/AhkC/wIEAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8C
+ AAH9Af8CAAHkAf8CAAGYAf8DQAH9A14B4gNhAdYDfgH8A7gB/wOjAf8DkwH/A44B/wOOAf8DjgH/A44B
+ /wOOAf8DjgH/A40B/wOCAf8DXAH/A00B+gNaAccBXAFhAVwB1gFkAX4BZAH8AV8B/wFfAf8BLwH/AS8B
+ /wEMAf8BDAH/AQEB/wEBAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
+ /gEAAf8BAAHqAQAB/wEAAaUBAAH/A00B+gNaAccBXAJhAdYBZAJ+AfwBXwP/AS8D/wEMA/8BAQP/AQAD
+ /wEAA/8BAAP/AQAD/wEAA/8BAAL+Af8BAALqAf8BAAKlAf8DTQH6A1oBxwJcAWEB1gJkAX4B/AJfAv8C
+ LwL/AgwC/wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAf4B/wIAAeoB/wIAAaUB/wNNAfoDWgHHA1AB
+ mgNqAfkDxQH/A7IB/wOcAf8DkQH/A44B/wOOAf8DjgH/A44B/wOPAf8DjgH/A4MB/wNgAf8DWgHyA0wB
+ kANQAZoDagH5AXwB/wF8Af8BUQH/AVEB/wEfAf8BHwH/AQcB/wEHAf8BAQH/AQEB/wEAAf8BAAH/AQAB
+ /wEAAf8BAAH/AQAB/wECAf8BAgH/AQIB/gECAf8BAAHrAQAB/wEAAa0BAAH/AVoBawFaAfIDTAGQA1AB
+ mgNqAfkBfAP/AVED/wEfA/8BBwP/AQED/wEAA/8BAAP/AQAD/wECA/8BAgL+Af8BAALrAf8BAAKtAf8B
+ WgJrAfIDTAGQA1ABmgNqAfkCfAL/AlEC/wIfAv8CBwL/AgEC/wIAAv8CAAL/AgAC/wICAv8CAgH+Af8C
+ AAHrAf8CAAGtAf8CWgFrAfIDTAGQAy8BSQNsAesDgAH+A8YB/wOuAf8DnAH/A5MB/wOQAf8DjwH/A5AB
+ /wOTAf8DkwH/A4UB/wNAAf0DYAHgAy0BRQMvAUkDbAHrA4AB/gF/Af8BfwH/AUkB/wFJAf8BHwH/AR8B
+ /wEMAf8BDAH/AQUB/wEFAf8BAwH/AQMB/wEFAf8BBQH/AQoB/wEKAf8BCgH+AQoB/wEBAe0BAQH/AUAB
+ tgFAAf0BYAFmAWAB4AMtAUUDLwFJA2wB6wOAAf4BfwP/AUkD/wEfA/8BDAP/AQUD/wEDA/8BBQP/AQoD
+ /wEKAv4B/wEBAu0B/wFAArYB/QFgAmYB4AMtAUUDLwFJA2wB6wOAAf4CfwL/AkkC/wIfAv8CDAL/AgUC
+ /wIDAv8CBQL/AgoC/wIKAf4B/wIBAe0B/wJAAbYB/QJgAWYB4AMtAUUDAwEEA1YBrgNuAfUD2QH/A8sB
+ /wO3Af8DpwH/A50B/wOaAf8DnAH/A58B/wObAf8DiQH/A2gB8ANSAaMDAwEEAwMBBANWAa4DbgH1AagB
+ /wGoAf8BiQH/AYkB/wFcAf8BXAH/ATcB/wE3Af8BIgH/ASIB/wEbAf8BGwH/AR8B/wEfAf8BJgH/ASYB
+ /wEdAf8BHQH/AQUB8wEFAf8BXgFoAV4B8ANSAaMDAwEEAwMBBANWAa4DbgH1AagD/wGJA/8BXAP/ATcD
+ /wEiA/8BGwP/AR8D/wEmA/8BHQP/AQUC8wH/AV4CaAHwA1IBowMDAQQDAwEEA1YBrgNuAfUCqAL/AokC
+ /wJcAv8CNwL/AiIC/wIbAv8CHwL/AiYC/wIdAv8CBQHzAf8CXgFoAfADUgGjAwMBBAQAAxwBJwNdAccD
+ YwH2A4AB/gPXAf8DzAH/A8IB/wO7Af8DtwH/A7EB/wOAAf4DaAH0A1kBvAMbASYIAAMcAScDXQHHA2MB
+ 9gOAAf4BpQH/AaUB/wGLAf8BiwH/AXQB/wF0Af8BZgH/AWYB/wFcAf8BXAH/AU4B/wFOAf8BcwGAAXMB
+ /gFTAWgBUwH0AVcBWQFXAbwDGwEmCAADHAEnA10BxwNjAfYDgAH+AaUD/wGLA/8BdAP/AWYD/wFcA/8B
+ TgP/AXMCgAH+AVMCaAH0AVcCWQG8AxsBJggAAxwBJwNdAccDYwH2A4AB/gKlAv8CiwL/AnQC/wJmAv8C
+ XAL/Ak4C/wJzAYAB/gJTAWgB9AJXAVkBvAMbASYMAAMhATADWQG2A2IB7gN9AfoDvgH9A9QB/wPMAf8D
+ vgH9A2oB+QNsAesDVQGsAx8BLBAAAyEBMANZAbYDYgHuA30B+gGuAb4BrgH9AZ8B/wGfAf8BjAH/AYwB
+ /wFAAb4BQAH9AWgBagFoAfkBYQFsAWEB6wNVAawDHwEsEAADIQEwA1kBtgNiAe4DfQH6Aa4CvgH9AZ8D
+ /wGMA/8BQAK+Af0BaAJqAfkBYQJsAesDVQGsAx8BLBAAAyEBMANZAbYDYgHuA30B+gKuAb4B/QKfAv8C
+ jAL/AkABvgH9AmgBagH5AmEBbAHrA1UBrAMfASwUAAMGAQcDNgFYA1UBrANmAeUDfgH8A18B+wNlAeID
+ UwGnAzMBUQMGAQcYAAMGAQcDNgFYA1UBrANmAeUDfgH8AV8BZwFfAfsDZQHiA1MBpwMzAVEDBgEHGAAD
+ BgEHAzYBWANVAawDZgHlA34B/AFfAmcB+wNlAeIDUwGnAzMBUQMGAQcYAAMGAQcDNgFYA1UBrANmAeUD
+ fgH8Al8BZwH7A2UB4gNTAacDMwFRAwYBBwwAAUIBTQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEBBgAB
+ ARYAA/+BAAHgAQcB4AEHAeABBwHgAQcBwAEDAcABAwHAAQMBwAEDAYABAQGAAQEBgAEBAYABAVAAAYAB
+ AQGAAQEBgAEBAYABAQHAAQMBwAEDAcABAwHAAQMB4AEHAeABBwHgAQcB4AEHCw==
@@ -219,7 +218,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAlhsAAAJNU0Z0AUkBTAMBAQAB
- OAEAATgBAAEgAQABIAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAYADAAEgAwABAQEAASAGAAFAEgAC
+ QAEBAUABAQEgAQABIAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAYADAAEgAwABAQEAASAGAAFAEgAC
RwFGAYACRwFGAYACRwFGAYABRwJGAYABRwJGAYACRwFGAYACRwFGAYABRwJGAYABRwJGAYABRwJGAYAD
RgGAAkcBRgGAAkcBRgGAAkcBRgGAAkcBRgGAAkcBRgGAAkcBRgGAAkcBRgGAAkcBRgGAAkcBRgGAAkcB
RgGAAkcBRgGAA0YBgAFHAkYBgAFHAkYBgAFHAkYBgAFHAkYBgAFHAkYBgAJHAUYBgAJHAUYBgAJHAUYB
diff --git a/qtc-net-client-2/Forms/Main.cs b/qtc-net-client-2/Forms/Main.cs
index 9726e79..80d2e0d 100644
--- a/qtc-net-client-2/Forms/Main.cs
+++ b/qtc-net-client-2/Forms/Main.cs
@@ -631,9 +631,6 @@ namespace qtc_net_client_2
LoggingService.LogString($"Logged In As '{_apiService.CurrentUser.Username}'");
LoggingService.LogString("Starting SignalR Connection...");
- // start gateway connection
- await _gatewayService.StartAsync();
-
// subscribe to gateway events
_gatewayService.OnServerReconnecting += _gatewayService_OnServerReconnecting;
_gatewayService.OnServerReconnected += _gatewayService_OnServerReconnected;
@@ -647,6 +644,9 @@ namespace qtc_net_client_2
_apiService.OnCurrentUserUpdate += _apiService_OnCurrentUserUpdate;
+ // start gateway connection
+ await _gatewayService.StartAsync();
+
if (_gatewayService.HubConnection != null && _gatewayService.HubConnection.State == Microsoft.AspNetCore.SignalR.Client.HubConnectionState.Connected)
{
LoggingService.LogString("Connected To SignalR Succesfully.");
diff --git a/qtc-net-client-2/Properties/Resources.Designer.cs b/qtc-net-client-2/Properties/Resources.Designer.cs
index 98a384f..193a2a7 100644
--- a/qtc-net-client-2/Properties/Resources.Designer.cs
+++ b/qtc-net-client-2/Properties/Resources.Designer.cs
@@ -81,7 +81,7 @@ namespace qtc_net_client_2.Properties {
}
///
- /// Looks up a localized string similar to 6.5.
+ /// Looks up a localized string similar to 6.5.1.
///
internal static string AssemblyVersion {
get {
diff --git a/qtc-net-client-2/Properties/Resources.resx b/qtc-net-client-2/Properties/Resources.resx
index 9e8e7c5..4110103 100644
--- a/qtc-net-client-2/Properties/Resources.resx
+++ b/qtc-net-client-2/Properties/Resources.resx
@@ -173,7 +173,7 @@
..\Icons\MessageIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
- 6.5
+ 6.5.1
..\Resources\cobalt_sittingatputer.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a