From ee2c059c778500ef288ef92a26f44311b90140c2 Mon Sep 17 00:00:00 2001 From: Moonbase Date: Fri, 28 Nov 2025 12:46:39 -0800 Subject: [PATCH] Refresh Everything When User Shows Main Window Again Ensure Toolbar Icon Is Hidden When Main Window Closes --- qtc-net-client-2/Forms/Main.cs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/qtc-net-client-2/Forms/Main.cs b/qtc-net-client-2/Forms/Main.cs index 071e6ef..55a243a 100644 --- a/qtc-net-client-2/Forms/Main.cs +++ b/qtc-net-client-2/Forms/Main.cs @@ -202,7 +202,7 @@ namespace qtc_net_client_2 } } - private void frmMain_Resize(object sender, EventArgs e) + private async void frmMain_Resize(object sender, EventArgs e) { if (WindowState == FormWindowState.Minimized && _config.MinimizeToTray) { @@ -216,6 +216,13 @@ namespace qtc_net_client_2 ToolTipIcon.Info); FirstMinimize = false; } + } else if (WindowState == FormWindowState.Normal) + { + // refresh everything ig (TODO - find a more optimized way of doing this) + await RefreshUsers(); + await RefreshContactsList(); + await RefreshRoomsList(); + await RefreshStore(); } } @@ -229,10 +236,13 @@ namespace qtc_net_client_2 private async void frmMain_FormClosed(object sender, FormClosedEventArgs e) { DialogResult = DialogResult.OK; + niMain.Visible = false; // ensure the gateway stops the connection and disposes properly await _gatewayService.StopAsync(); await _gatewayService.DisposeAsync(); + + Environment.Exit(0); } private async void ctxmChangeStatus_ItemClicked(object sender, ToolStripItemClickedEventArgs e) @@ -394,7 +404,7 @@ namespace qtc_net_client_2 ilStoreThumbnails.Images.Clear(); lvStoreItems.Items.Clear(); - var items = await BuildListViewItemsAsync(storeItems); + var items = await BuildStoreListViewItemsAsync(storeItems); lvStoreItems.BeginUpdate(); try @@ -407,7 +417,7 @@ namespace qtc_net_client_2 } } - private async Task> BuildListViewItemsAsync(IEnumerable storeItems) + private async Task> BuildStoreListViewItemsAsync(IEnumerable storeItems) { var items = new List();