diff --git a/qtcnet-client/Controls/MainTabControl.cs b/qtcnet-client/Controls/MainTabControl.cs index e5ba9e6..3f72a10 100644 --- a/qtcnet-client/Controls/MainTabControl.cs +++ b/qtcnet-client/Controls/MainTabControl.cs @@ -33,6 +33,7 @@ namespace qtcnet_client.Controls tlpContactsList.Invoke(() => { tlpContactsList.SuspendLayout(); + tlpContactsList.Controls.Clear(); foreach (ContactControl contactControl in contactControls) { @@ -40,7 +41,6 @@ namespace qtcnet_client.Controls contactControl.OnContactDoubleClicked += ContactControl_OnContactDoubleClicked; } - tlpContactsList.Controls.Clear(); tlpContactsList.Controls.AddRange([.. contactControls.DistinctBy(ctrl => ctrl.UserId)]); tlpContactsList.ResumeLayout(true); @@ -49,6 +49,7 @@ namespace qtcnet_client.Controls else { tlpContactsList.SuspendLayout(); + tlpContactsList.Controls.Clear(); foreach (ContactControl contactControl in contactControls) { @@ -56,7 +57,6 @@ namespace qtcnet_client.Controls contactControl.OnContactDoubleClicked += ContactControl_OnContactDoubleClicked; } - tlpContactsList.Controls.Clear(); tlpContactsList.Controls.AddRange([.. contactControls.DistinctBy(ctrl => ctrl.UserId)]); tlpContactsList.ResumeLayout(true); diff --git a/qtcnet-client/Forms/ChatRoomForm.Designer.cs b/qtcnet-client/Forms/ChatRoomForm.Designer.cs index e9822bc..d643910 100644 --- a/qtcnet-client/Forms/ChatRoomForm.Designer.cs +++ b/qtcnet-client/Forms/ChatRoomForm.Designer.cs @@ -52,9 +52,9 @@ // // rtxtChatbox // - rtxtChatbox.Location = new Point(169, 318); + rtxtChatbox.Location = new Point(169, 387); rtxtChatbox.Name = "rtxtChatbox"; - rtxtChatbox.Size = new Size(508, 66); + rtxtChatbox.Size = new Size(670, 66); rtxtChatbox.TabIndex = 3; rtxtChatbox.Text = ""; rtxtChatbox.KeyDown += rtxtChatbox_KeyDown; @@ -65,7 +65,7 @@ btnSend.BackgroundImageLayout = ImageLayout.Zoom; btnSend.FlatAppearance.BorderSize = 0; btnSend.FlatStyle = FlatStyle.Flat; - btnSend.Location = new Point(683, 329); + btnSend.Location = new Point(845, 398); btnSend.Name = "btnSend"; btnSend.Size = new Size(75, 44); btnSend.TabIndex = 4; @@ -88,7 +88,7 @@ lvUsers.Location = new Point(12, 69); lvUsers.MultiSelect = false; lvUsers.Name = "lvUsers"; - lvUsers.Size = new Size(151, 315); + lvUsers.Size = new Size(151, 384); lvUsers.SmallImageList = ilStatusIcons; lvUsers.TabIndex = 6; lvUsers.UseCompatibleStateImageBehavior = false; @@ -111,7 +111,7 @@ flpMessages.FlowDirection = FlowDirection.TopDown; flpMessages.Location = new Point(169, 69); flpMessages.Name = "flpMessages"; - flpMessages.Size = new Size(589, 243); + flpMessages.Size = new Size(752, 312); flpMessages.TabIndex = 7; flpMessages.WrapContents = false; // @@ -120,7 +120,7 @@ AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; BackColor = Color.DodgerBlue; - ClientSize = new Size(770, 396); + ClientSize = new Size(933, 465); Controls.Add(flpMessages); Controls.Add(lvUsers); Controls.Add(lblRoomName); diff --git a/qtcnet-client/Forms/ChatRoomForm.resx b/qtcnet-client/Forms/ChatRoomForm.resx index 2148469..cced36c 100644 --- a/qtcnet-client/Forms/ChatRoomForm.resx +++ b/qtcnet-client/Forms/ChatRoomForm.resx @@ -125,89 +125,89 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAAhQAAAJNU0Z0AUkBTAIBAQQB - AAGoAQABqAEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/ + AAGwAQABsAEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/ AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AC4AAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B 0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYB BwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekD - YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA08B9QMkAfsDOQH+AzkB/gMkAfsDUwH0A2IB - 4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQBSAFaAUgB9QEhAVUBIQH7ARUBVQEVAf4BFQFVARUB/gEhAVUB - IQH7A1MB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAUgCWgH1ASECVQH7ARUCVQH+ARUCVQH+ASEC - VQH7A1MB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAkgBWgH1AiEBVQH7AhUBVQH+AhUBVQH+AiEB - VQH7A1MB9ANiAeEDUQGhAx4BKgwAAxsBJQNYAb0DWgHyAz0B/gMwAf8DOQH/AzwB/wM2Af8DKgH/AyQB - /wNAAf0DWwHwA1YBsgMaASMIAAMbASUDWAG9A1oB8gEVAV0BFQH+AQABVwEAAf8BAAFnAQAB/wEAAWwB - AAH/AQABYQEAAf8BAAFMAQAB/wEAAUABAAH/ASoBQAEqAf0BVwFeAVcB8ANWAbIBGQEaARkBIwgAAxsB - JQNYAb0DWgHyARUCXQH+AQACVwH/AQACZwH/AQACbAH/AQACYQH/AQACTAH/AQACQAH/ASoCQAH9AVcC - XgHwA1YBsgEZAhoBIwgAAxsBJQNYAb0DWgHyAhUBXQH+AgABVwH/AgABZwH/AgABbAH/AgABYQH/AgAB - TAH/AgABQAH/AioBQAH9AlcBXgHwA1YBsgIZARoBIwQAAwMBBANSAaUDYAHzA0kB/wNVAf8DZQH/A3EB - /wN1Af8DcQH/A2QB/wNMAf8DMQH/AzkB/gNfAe4DUAGaAwMBBAMDAQQBUgFTAVIBpQFTAW8BUwHzAQAB + YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA1EB9QMkAfsDOgH+AzoB/gMkAfsDUwH0A2IB + 4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQBSQFaAUkB9QEhAVYBIQH7ARYBVgEWAf4BFgFWARYB/gEhAVYB + IQH7A1MB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAUkCWgH1ASECVgH7ARYCVgH+ARYCVgH+ASEC + VgH7A1MB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAkkBWgH1AiEBVgH7AhYBVgH+AhYBVgH+AiEB + VgH7A1MB9ANiAeEDUQGhAx4BKgwAAxsBJQNYAb0DWgHyAz4B/gMwAf8DOQH/AzwB/wM2Af8DKgH/AyQB + /wNAAf0DXAHwA1YBsgMaASMIAAMbASUDWAG9A1oB8gEWAV4BFgH+AQABVwEAAf8BAAFnAQAB/wEAAWwB + AAH/AQABYQEAAf8BAAFMAQAB/wEAAUABAAH/ASwBQAEsAf0BWAFeAVgB8ANWAbIBGQEaARkBIwgAAxsB + JQNYAb0DWgHyARYCXgH+AQACVwH/AQACZwH/AQACbAH/AQACYQH/AQACTAH/AQACQAH/ASwCQAH9AVgC + XgHwA1YBsgEZAhoBIwgAAxsBJQNYAb0DWgHyAhYBXgH+AgABVwH/AgABZwH/AgABbAH/AgABYQH/AgAB + TAH/AgABQAH/AiwBQAH9AlgBXgHwA1YBsgIZARoBIwQAAwMBBANSAaUDYAHzA0kB/wNVAf8DZQH/A3EB + /wN1Af8DcQH/A2QB/wNMAf8DMQH/AzoB/gNgAe4DUAGaAwMBBAMDAQQBUgFTAVIBpQFUAW8BVAHzAQAB ggEAAf8BAAGZAQAB/wEAAbYBAAH/AQABzAEAAf8BAAHTAQAB/wEAAcsBAAH/AQABswEAAf8BAAGIAQAB - /wEAAVcBAAH/ARUBVQEVAf4BXAFiAVwB7gNQAZoDAwEEAwMBBAFSAlMBpQFTAm8B8wEAAoIB/wEAApkB - /wEAArYB/wEAAswB/wEAAtMB/wEAAssB/wEAArMB/wEAAogB/wEAAlcB/wEVAlUB/gFcAmIB7gNQAZoD - AwEEAwMBBAJSAVMBpQJTAW8B8wIAAYIB/wIAAZkB/wIAAbYB/wIAAcwB/wIAAdMB/wIAAcsB/wIAAbMB - /wIAAYgB/wIAAVcB/wIVAVUB/gJcAWIB7gNQAZoDAwEEAy0BRANgAegDeAH+A24B/wN7Af8DhQH/A4oB - /wOMAf8DigH/A4UB/wN2Af8DVwH/AzIB/wNAAf0DXgHdAyoBPwMtAUQBYAFpAWAB6AEVAYoBFQH+AQAB + /wEAAVcBAAH/ARYBVgEWAf4BXQFiAV0B7gNQAZoDAwEEAwMBBAFSAlMBpQFUAm8B8wEAAoIB/wEAApkB + /wEAArYB/wEAAswB/wEAAtMB/wEAAssB/wEAArMB/wEAAogB/wEAAlcB/wEWAlYB/gFdAmIB7gNQAZoD + AwEEAwMBBAJSAVMBpQJUAW8B8wIAAYIB/wIAAZkB/wIAAbYB/wIAAcwB/wIAAdMB/wIAAcsB/wIAAbMB + /wIAAYgB/wIAAVcB/wIWAVYB/gJdAWIB7gNQAZoDAwEEAy0BRANgAegDeQH+A24B/wN7Af8DhQH/A4oB + /wOMAf8DigH/A4UB/wN2Af8DVwH/AzIB/wNAAf0DXgHdAyoBPwMtAUQBYAFpAWAB6AEWAYgBFgH+AQAB xgEAAf8BAAHcAQAB/wEAAe4BAAH/AQAB+AEAAf8BAAH7AQAB/wEAAfkBAAH/AQAB7wEAAf8BAAHUAQAB - /wEAAZwBAAH/AQABWgEAAf8BKgFAASoB/QNeAd0DKgE/Ay0BRAFgAmkB6AEVAooB/gEAAsYB/wEAAtwB - /wEAAu4B/wEAAvgB/wEAAvsB/wEAAvkB/wEAAu8B/wEAAtQB/wEAApwB/wEAAloB/wEqAkAB/QNeAd0D - KgE/Ay0BRAJgAWkB6AIVAYoB/gIAAcYB/wIAAdwB/wIAAe4B/wIAAfgB/wIAAfsB/wIAAfkB/wIAAe8B - /wIAAdQB/wIAAZwB/wIAAVoB/wIqAUAB/QNeAd0DKgE/A04BlQN3AfgDfwH/A4UB/wOKAf8DjQH/A44B - /wOOAf8DjgH/A40B/wOJAf8DdwH/A00B/wMlAf8DWgHyA0oBiwNOAZUBPwGKAT8B+AEAAeUBAAH/AQAB + /wEAAZwBAAH/AQABWgEAAf8BLAFAASwB/QNeAd0DKgE/Ay0BRAFgAmkB6AEWAogB/gEAAsYB/wEAAtwB + /wEAAu4B/wEAAvgB/wEAAvsB/wEAAvkB/wEAAu8B/wEAAtQB/wEAApwB/wEAAloB/wEsAkAB/QNeAd0D + KgE/Ay0BRAJgAWkB6AIWAYgB/gIAAcYB/wIAAdwB/wIAAe4B/wIAAfgB/wIAAfsB/wIAAfkB/wIAAe8B + /wIAAdQB/wIAAZwB/wIAAVoB/wIsAUAB/QNeAd0DKgE/A04BlQN3AfgDfwH/A4UB/wOKAf8DjQH/A44B + /wOOAf8DjgH/A40B/wOJAf8DdwH/A00B/wMlAf8DWgHyA0oBiwNOAZUBQAGHAUAB+AEAAeUBAAH/AQAB 7wEAAf8BAAH4AQAB/wEAAf0BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/gEAAf8BAAH2AQAB - /wEAAdUBAAH/AQABiwEAAf8BAAFBAQAB/wNaAfIDSgGLA04BlQE/AooB+AEAAuUB/wEAAu8B/wEAAvgB + /wEAAdUBAAH/AQABiwEAAf8BAAFBAQAB/wNaAfIDSgGLA04BlQFAAocB+AEAAuUB/wEAAu8B/wEAAvgB /wEAAv0B/wEAA/8BAAP/AQAD/wEAAv4B/wEAAvYB/wEAAtUB/wEAAosB/wEAAkEB/wNaAfIDSgGLA04B - lQI/AYoB+AIAAeUB/wIAAe8B/wIAAfgB/wIAAf0B/wIAAv8CAAL/AgAC/wIAAf4B/wIAAfYB/wIAAdUB + lQJAAYcB+AIAAeUB/wIAAe8B/wIAAfgB/wIAAf0B/wIAAv8CAAL/AgAC/wIAAf4B/wIAAfYB/wIAAdUB /wIAAYsB/wIAAUEB/wNaAfIDSgGLA18B0wN+AfwDkwH/A44B/wONAf8DjgH/A44B/wOOAf8DjgH/A44B - /wONAf8DhQH/A2cB/wM0Af8DQQH5A1oBxAFbAV8BWwHTASsBtgErAfwBDgH7AQ4B/wEDAf0BAwH/AQAB + /wONAf8DhQH/A2cB/wM0Af8DQQH5A1oBxAFbAV8BWwHTASsBtAErAfwBDgH7AQ4B/wEDAf0BAwH/AQAB /gEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/QEAAf8BAAHvAQAB - /wEAAbkBAAH/AQABXQEAAf8BPgFBAT4B+QNaAcQBWwJfAdMBKwK2AfwBDgL7Af8BAwL9Af8BAAL+Af8B - AAP/AQAD/wEAA/8BAAP/AQAD/wEAAv0B/wEAAu8B/wEAArkB/wEAAl0B/wE+AkEB+QNaAcQCWwFfAdMC - KwG2AfwCDgH7Af8CAwH9Af8CAAH+Af8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAf0B/wIAAe8B/wIAAbkB - /wIAAV0B/wI+AUEB+QNaAcQDbgH1A4AB/gOfAf8DkwH/A48B/wOOAf8DjgH/A44B/wOOAf8DjgH/A44B - /wOLAf8DdwH/A0gB/wNAAf0DYgHhAU0BfwFNAfUBOQHVATkB/gEnAf8BJwH/AQsB/wELAf8BAQH/AQEB + /wEAAbkBAAH/AQABXQEAAf8BQAFBAUAB+QNaAcQBWwJfAdMBKwK0AfwBDgL7Af8BAwL9Af8BAAL+Af8B + AAP/AQAD/wEAA/8BAAP/AQAD/wEAAv0B/wEAAu8B/wEAArkB/wEAAl0B/wFAAkEB+QNaAcQCWwFfAdMC + KwG0AfwCDgH7Af8CAwH9Af8CAAH+Af8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAf0B/wIAAe8B/wIAAbkB + /wIAAV0B/wJAAUEB+QNaAcQDbgH1A4AB/gOfAf8DkwH/A48B/wOOAf8DjgH/A44B/wOOAf8DjgH/A44B + /wOLAf8DdwH/A0gB/wNAAf0DYgHhAU8BfAFPAfUBOgHTAToB/gEnAf8BJwH/AQsB/wELAf8BAQH/AQEB /wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAfkBAAH/AQAB - 1gEAAf8BAAGBAQAB/wEqAUABKgH9A2IB4QFNAn8B9QE5AtUB/gEnA/8BCwP/AQED/wEAA/8BAAP/AQAD - /wEAA/8BAAP/AQAD/wEAAvkB/wEAAtYB/wEAAoEB/wEqAkAB/QNiAeECTQF/AfUCOQHVAf4CJwL/AgsC - /wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH5Af8CAAHWAf8CAAGBAf8CKgFAAf0DYgHhA3IB - 9gOEAf4DqwH/A5kB/wOQAf8DjgH/A44B/wOOAf8DjgH/A44B/wOOAf8DjQH/A38B/wNVAf8DQAH9A14B - 4gFIAX8BSAH2AVwB1QFcAf4BQgH/AUIB/wEZAf8BGQH/AQQB/wEEAf8BAAH/AQAB/wEAAf8BAAH/AQAB - /wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH9AQAB/wEAAeQBAAH/AQABmAEAAf8BKgFAASoB - /QNeAeIBSAJ/AfYBXALVAf4BQgP/ARkD/wEEA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8B - AALkAf8BAAKYAf8BKgJAAf0DXgHiAkgBfwH2AlwB1QH+AkIC/wIZAv8CBAL/AgAC/wIAAv8CAAL/AgAC - /wIAAv8CAAL/AgAB/QH/AgAB5AH/AgABmAH/AioBQAH9A14B4gNhAdYDgwH8A7gB/wOjAf8DkwH/A44B - /wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wOCAf8DXAH/A00B+gNaAccBXAFhAVwB1gFkAboBZAH8AV8B + 1gEAAf8BAAGBAQAB/wEsAUABLAH9A2IB4QFPAnwB9QE6AtMB/gEnA/8BCwP/AQED/wEAA/8BAAP/AQAD + /wEAA/8BAAP/AQAD/wEAAvkB/wEAAtYB/wEAAoEB/wEsAkAB/QNiAeECTwF8AfUCOgHTAf4CJwL/AgsC + /wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH5Af8CAAHWAf8CAAGBAf8CLAFAAf0DYgHhA3EB + 9gOCAf4DqwH/A5kB/wOQAf8DjgH/A44B/wOOAf8DjgH/A44B/wOOAf8DjQH/A38B/wNVAf8DQAH9A14B + 4gFIAX0BSAH2AV0B0wFdAf4BQgH/AUIB/wEZAf8BGQH/AQQB/wEEAf8BAAH/AQAB/wEAAf8BAAH/AQAB + /wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH9AQAB/wEAAeQBAAH/AQABmAEAAf8BLAFAASwB + /QNeAeIBSAJ9AfYBXQLTAf4BQgP/ARkD/wEEA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8B + AALkAf8BAAKYAf8BLAJAAf0DXgHiAkgBfQH2Al0B0wH+AkIC/wIZAv8CBAL/AgAC/wIAAv8CAAL/AgAC + /wIAAv8CAAL/AgAB/QH/AgAB5AH/AgABmAH/AiwBQAH9A14B4gNhAdYDgAH8A7gB/wOjAf8DkwH/A44B + /wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wOCAf8DXAH/A00B+gNaAccBXAFhAVwB1gFkAbgBZAH8AV8B /wFfAf8BLwH/AS8B/wEMAf8BDAH/AQEB/wEBAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB - /wEAAf8BAAH/AQAB/gEAAf8BAAHqAQAB/wEAAaUBAAH/ASkBTQEpAfoDWgHHAVwCYQHWAWQCugH8AV8D - /wEvA/8BDAP/AQED/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC/gH/AQAC6gH/AQACpQH/ASkCTQH6A1oB - xwJcAWEB1gJkAboB/AJfAv8CLwL/AgwC/wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAf4B/wIAAeoB - /wIAAaUB/wIpAU0B+gNaAccDUAGaA4sB+QPFAf8DsgH/A5wB/wORAf8DjgH/A44B/wOOAf8DjgH/A48B - /wOOAf8DgwH/A2AB/wNaAfIDTAGQA1ABmgFqAZkBagH5AXwB/wF8Af8BUQH/AVEB/wEfAf8BHwH/AQcB + /wEAAf8BAAH/AQAB/gEAAf8BAAHqAQAB/wEAAaUBAAH/ASoBTQEqAfoDWgHHAVwCYQHWAWQCuAH8AV8D + /wEvA/8BDAP/AQED/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC/gH/AQAC6gH/AQACpQH/ASoCTQH6A1oB + xwJcAWEB1gJkAbgB/AJfAv8CLwL/AgwC/wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAf4B/wIAAeoB + /wIAAaUB/wIqAU0B+gNaAccDUAGaA4oB+QPFAf8DsgH/A5wB/wORAf8DjgH/A44B/wOOAf8DjgH/A48B + /wOOAf8DgwH/A2AB/wNaAfIDTAGQA1ABmgFqAZUBagH5AXwB/wF8Af8BUQH/AVEB/wEfAf8BHwH/AQcB /wEHAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wECAf8BAgH/AQIB/gECAf8BAAHrAQAB - /wEAAa0BAAH/AVoBawFaAfIDTAGQA1ABmgFqApkB+QF8A/8BUQP/AR8D/wEHA/8BAQP/AQAD/wEAA/8B - AAP/AQID/wECAv4B/wEAAusB/wEAAq0B/wFaAmsB8gNMAZADUAGaAmoBmQH5AnwC/wJRAv8CHwL/AgcC - /wIBAv8CAAL/AgAC/wIAAv8CAgL/AgIB/gH/AgAB6wH/AgABrQH/AloBawHyA0wBkAMvAUkDbAHrA6YB - /gPGAf8DrgH/A5wB/wOTAf8DkAH/A48B/wOQAf8DkwH/A5MB/wOFAf8DUQH9A2AB4AMtAUUDLwFJA2wB - 6wGAAdUBgAH+AX8B/wF/Af8BSQH/AUkB/wEfAf8BHwH/AQwB/wEMAf8BBQH/AQUB/wEDAf8BAwH/AQUB - /wEFAf8BCgH/AQoB/wEKAf4BCgH/AQEB7QEBAf8BKgG2ASoB/QFgAWYBYAHgAy0BRQMvAUkDbAHrAYAC - 1QH+AX8D/wFJA/8BHwP/AQwD/wEFA/8BAwP/AQUD/wEKA/8BCgL+Af8BAQLtAf8BKgK2Af0BYAJmAeAD - LQFFAy8BSQNsAesCgAHVAf4CfwL/AkkC/wIfAv8CDAL/AgUC/wIDAv8CBQL/AgoC/wIKAf4B/wIBAe0B - /wIqAbYB/QJgAWYB4AMtAUUDAwEEA1YBrgN2AfUD2QH/A8sB/wO3Af8DpwH/A50B/wOaAf8DnAH/A58B - /wObAf8DiQH/A2gB8ANSAaMDAwEEAwMBBANWAa4BbgF/AW4B9QGoAf8BqAH/AYkB/wGJAf8BXAH/AVwB - /wE3Af8BNwH/ASIB/wEiAf8BGwH/ARsB/wEfAf8BHwH/ASYB/wEmAf8BHQH/AR0B/wEFAfMBBQH/AVcB - aQFXAfADUgGjAwMBBAMDAQQDVgGuAW4CfwH1AagD/wGJA/8BXAP/ATcD/wEiA/8BGwP/AR8D/wEmA/8B - HQP/AQUC8wH/AVcCaQHwA1IBowMDAQQDAwEEA1YBrgJuAX8B9QKoAv8CiQL/AlwC/wI3Av8CIgL/AhsC - /wIfAv8CJgL/Ah0C/wIFAfMB/wJXAWkB8ANSAaMDAwEEBAADHAEnA10BxwN6AfYDtQH+A9cB/wPMAf8D - wgH/A7sB/wO3Af8DsQH/A4AB/gNoAfQDWQG8AxsBJggAAxwBJwNdAccBdQF/AXUB9gGNAdUBjQH+AaUB - /wGlAf8BiwH/AYsB/wF0Af8BdAH/AWYB/wFmAf8BXAH/AVwB/wFOAf8BTgH/AUUB1QFFAf4BUwF6AVMB - 9AFXAVkBVwG8AxsBJggAAxwBJwNdAccBdQJ/AfYBjQLVAf4BpQP/AYsD/wF0A/8BZgP/AVwD/wFOA/8B - RQLVAf4BUwJ6AfQBVwJZAbwDGwEmCAADHAEnA10BxwJ1AX8B9gKNAdUB/gKlAv8CiwL/AnQC/wJmAv8C - XAL/Ak4C/wJFAdUB/gJTAXoB9AJXAVkBvAMbASYMAAMhATADWQG2A2oB7gObAfoDvgH9A9QB/wPMAf8D - vgH9A4cB+QNsAesDVQGsAx8BLBAAAyEBMANZAbYBaAFsAWgB7gGBAaUBgQH6Aa4BwAGuAf0BnwH/AZ8B - /wGMAf8BjAH/AWEBwAFhAf0BaAGZAWgB+QFhAWwBYQHrA1UBrAMfASwQAAMhATADWQG2AWgCbAHuAYEC - pQH6Aa4CwAH9AZ8D/wGMA/8BYQLAAf0BaAKZAfkBYQJsAesDVQGsAx8BLBAAAyEBMANZAbYCaAFsAe4C - gQGlAfoCrgHAAf0CnwL/AowC/wJhAcAB/QJoAZkB+QJhAWwB6wNVAawDHwEsFAADBgEHAzYBWANVAawD - ZgHlA6kB/AOWAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYBWANVAawDZgHlAX4BugF+AfwBcwGqAXMB - +wNlAeIDUwGnAzMBUQMGAQcYAAMGAQcDNgFYA1UBrANmAeUBfgK6AfwBcwKqAfsDZQHiA1MBpwMzAVED - BgEHGAADBgEHAzYBWANVAawDZgHlAn4BugH8AnMBqgH7A2UB4gNTAacDMwFRAwYBBwwAAUIBTQE+BwAB + /wEAAa0BAAH/AVoBawFaAfIDTAGQA1ABmgFqApUB+QF8A/8BUQP/AR8D/wEHA/8BAQP/AQAD/wEAA/8B + AAP/AQID/wECAv4B/wEAAusB/wEAAq0B/wFaAmsB8gNMAZADUAGaAmoBlQH5AnwC/wJRAv8CHwL/AgcC + /wIBAv8CAAL/AgAC/wIAAv8CAgL/AgIB/gH/AgAB6wH/AgABrQH/AloBawHyA0wBkAMvAUkDbAHrA6QB + /gPGAf8DrgH/A5wB/wOTAf8DkAH/A48B/wOQAf8DkwH/A5MB/wOFAf8DUAH9A2AB4AMtAUUDLwFJA2wB + 6wGAAdMBgAH+AX8B/wF/Af8BSQH/AUkB/wEfAf8BHwH/AQwB/wEMAf8BBQH/AQUB/wEDAf8BAwH/AQUB + /wEFAf8BCgH/AQoB/wEKAf4BCgH/AQEB7QEBAf8BLAG2ASwB/QFgAWYBYAHgAy0BRQMvAUkDbAHrAYAC + 0wH+AX8D/wFJA/8BHwP/AQwD/wEFA/8BAwP/AQUD/wEKA/8BCgL+Af8BAQLtAf8BLAK2Af0BYAJmAeAD + LQFFAy8BSQNsAesCgAHTAf4CfwL/AkkC/wIfAv8CDAL/AgUC/wIDAv8CBQL/AgoC/wIKAf4B/wIBAe0B + /wIsAbYB/QJgAWYB4AMtAUUDAwEEA1YBrgNzAfUD2QH/A8sB/wO3Af8DpwH/A50B/wOaAf8DnAH/A58B + /wObAf8DiQH/A2gB8ANSAaMDAwEEAwMBBANWAa4BbgF8AW4B9QGoAf8BqAH/AYkB/wGJAf8BXAH/AVwB + /wE3Af8BNwH/ASIB/wEiAf8BGwH/ARsB/wEfAf8BHwH/ASYB/wEmAf8BHQH/AR0B/wEFAfMBBQH/AVgB + aAFYAfADUgGjAwMBBAMDAQQDVgGuAW4CfAH1AagD/wGJA/8BXAP/ATcD/wEiA/8BGwP/AR8D/wEmA/8B + HQP/AQUC8wH/AVgCaAHwA1IBowMDAQQDAwEEA1YBrgJuAXwB9QKoAv8CiQL/AlwC/wI3Av8CIgL/AhsC + /wIfAv8CJgL/Ah0C/wIFAfMB/wJYAWgB8ANSAaMDAwEEBAADHAEnA10BxwN5AfYDswH+A9cB/wPMAf8D + wgH/A7sB/wO3Af8DsQH/A4AB/gNoAfQDWQG8AxsBJggAAxwBJwNdAccBdAF9AXQB9gGLAdMBiwH+AaUB + /wGlAf8BiwH/AYsB/wF0Af8BdAH/AWYB/wFmAf8BXAH/AVwB/wFOAf8BTgH/AUYB0wFGAf4BUwF5AVMB + 9AFXAVkBVwG8AxsBJggAAxwBJwNdAccBdAJ9AfYBiwLTAf4BpQP/AYsD/wF0A/8BZgP/AVwD/wFOA/8B + RgLTAf4BUwJ5AfQBVwJZAbwDGwEmCAADHAEnA10BxwJ0AX0B9gKLAdMB/gKlAv8CiwL/AnQC/wJmAv8C + XAL/Ak4C/wJGAdMB/gJTAXkB9AJXAVkBvAMbASYMAAMhATADWQG2A2kB7gOZAfoDvgH9A9QB/wPMAf8D + vgH9A4YB+QNsAesDVQGsAx8BLBAAAyEBMANZAbYBZwFrAWcB7gF+AaMBfgH6Aa4BvgGuAf0BnwH/AZ8B + /wGMAf8BjAH/AWABvgFgAf0BaAGVAWgB+QFhAWwBYQHrA1UBrAMfASwQAAMhATADWQG2AWcCawHuAX4C + owH6Aa4CvgH9AZ8D/wGMA/8BYAK+Af0BaAKVAfkBYQJsAesDVQGsAx8BLBAAAyEBMANZAbYCZwFrAe4C + fgGjAfoCrgG+Af0CnwL/AowC/wJgAb4B/QJoAZUB+QJhAWwB6wNVAawDHwEsFAADBgEHAzYBWANVAawD + ZgHlA6YB/AOVAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYBWANVAawDZgHlAX4BuAF+AfwBcQGmAXEB + +wNlAeIDUwGnAzMBUQMGAQcYAAMGAQcDNgFYA1UBrANmAeUBfgK4AfwBcQKmAfsDZQHiA1MBpwMzAVED + BgEHGAADBgEHAzYBWANVAawDZgHlAn4BuAH8AnEBpgH7A2UB4gNTAacDMwFRAwYBBwwAAUIBTQE+BwAB PgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYAA/+BAAHgAQcB4AEHAeABBwHgAQcBwAEDAcABAwHAAQMB wAEDAYABAQGAAQEBgAEBAYABAVAAAYABAQGAAQEBgAEBAYABAQHAAQMBwAEDAcABAwHAAQMB4AEHAeAB BwHgAQcB4AEHCw== diff --git a/qtcnet-client/Forms/MainForm.cs b/qtcnet-client/Forms/MainForm.cs index 01a0391..ba8d566 100644 --- a/qtcnet-client/Forms/MainForm.cs +++ b/qtcnet-client/Forms/MainForm.cs @@ -60,9 +60,6 @@ namespace qtcnet_client _updateService = updateService; _audioService = audioService; - // sub to currentuser updates - _apiService.OnCurrentUserUpdate += _apiService_OnCurrentUserUpdate; - InitializeComponent(); } @@ -688,6 +685,9 @@ namespace qtcnet_client // pause ui SuspendLayout(); + // sub to currentuser updates + _apiService.OnCurrentUserUpdate += _apiService_OnCurrentUserUpdate; + // remove and dispose login and branding controls Controls.Remove(LoginControl); Controls.Remove(BrandingControl); @@ -717,6 +717,7 @@ namespace qtcnet_client _loggingService.LogString("Starting Gateway Connection..."); // start connection await _gatewayService.StartAsync(); + await _gatewayService.UpdateStatus(1); var _res = _gatewayService.HubConnection != null && _gatewayService.HubConnection.State == Microsoft.AspNetCore.SignalR.Client.HubConnectionState.Connected; if (_res) @@ -1068,14 +1069,17 @@ namespace qtcnet_client private async Task SetupContactsUI(List data) { // build ctrl list + List _dataSnap = [.. data]; List _contactCtrls = []; - foreach (var contact in data) + foreach (var contact in _dataSnap) { var ctrl = await BuildContactControl(contact); if (ctrl != null) _contactCtrls.Add(ctrl); } + _contactCtrls = [.. _contactCtrls.DistinctBy(c => c.UserId)]; + // add to control MainTabControl?.AddContacts(_contactCtrls); } diff --git a/qtcnet-client/Properties/Resources.Designer.cs b/qtcnet-client/Properties/Resources.Designer.cs index af98e88..64231a1 100644 --- a/qtcnet-client/Properties/Resources.Designer.cs +++ b/qtcnet-client/Properties/Resources.Designer.cs @@ -81,7 +81,7 @@ namespace qtcnet_client.Properties { } /// - /// Looks up a localized string similar to 2.0.5.0. + /// Looks up a localized string similar to 2.0.1.0. /// internal static string AssemblyVersion { get { diff --git a/qtcnet-client/Properties/Resources.resx b/qtcnet-client/Properties/Resources.resx index b1743f3..8cb7e94 100644 --- a/qtcnet-client/Properties/Resources.resx +++ b/qtcnet-client/Properties/Resources.resx @@ -167,7 +167,7 @@ ..\Resources\DNDIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - 2.0.5.0 + 2.0.1.0 ..\Resources\Tic-tac-toe.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a