// =================================
        // ======= SERVER BROWSER TAB ======
        // =================================

        private void ReloadServerBrowserListView()
        {
            var lastUpdated = PublicServerManager.GetLastUpdated();

            lblReloadTime.Content = lastUpdated == DateTime.MinValue ? "" : "Downloaded: " + lastUpdated;

            lstPublicServers.Items.Clear();

            foreach (var server in PublicServerManager.ServerList)
            {
                var localDefinedServer = ServerManager.FindByGuid(server.id);

                if (localDefinedServer == null)
                {
                    server.Action = "Import";
                }
                else
                {
                    if (localDefinedServer.Name != server.name || localDefinedServer.Address != server.server_host || localDefinedServer.Port != server.server_port)
                    {
                        server.Action = "Update";
                    }
                    else
                    {
                        server.Action = null;
                    }
                }

                lstPublicServers.Items.Add(server);
            }
        }
        private async void BtnDownloadServerBrowserList_Click(object sender, RoutedEventArgs e)
        {
            btnDownloadServerBrowserList.IsEnabled = false;

            try
            {
                var publicServerListUrl = Properties.Settings.Default.PublicServerListUrl;

                if (String.IsNullOrWhiteSpace(publicServerListUrl) || !Uri.TryCreate(publicServerListUrl, UriKind.Absolute, out var uri))
                {
                    MessageBox.Show("Server list is not a valid Uri:" + Environment.NewLine + publicServerListUrl, "BtnDownloadServerBrowserList_Click", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }

                if (await PublicServerManager.UpdateFromPublicServerList(httpClient, uri))
                {
                    ReloadServerBrowserListView();
                }
            }
            finally
            {
                btnDownloadServerBrowserList.IsEnabled = true;
            }
        }