private void addToServerList(Server server)
        {
            if (serverList.Contains(server))
            {
                if (server.rowItem != null)
                {
                    if (serverBrowserView.Items.Contains(server.rowItem))
                    {
                        return;
                    }
                }
            }

            if (serverBrowserView.InvokeRequired)
            {
                addToServerListCallback s = new addToServerListCallback(addToServerList);
                this.Invoke(s, new object[] { server });
                return;
            }

            serverList.Add(server);
            server.ServerUpdated += new ServerUpdated(onServerUpdated);

            ListViewItem lvi = serverBrowserView.Items.Add(server.ServerAddress.ToString());

            if (server.queryStatus != Server.ServerQueryStatus.NothingYet &&
                server.queryStatus != Server.ServerQueryStatus.Failed &&
                server.queryStatus != Server.ServerQueryStatus.TimedOut)
            {
                lvi.SubItems.Add(HelperFunctions.removeColourCodes(server.serverName));
                lvi.SubItems.Add(favMngr.isFavourite(server) ? "X" : "-");
                lvi.SubItems.Add(string.Format("{0} ({1})", server.serverPing.ToString(), server.serverDvars["sv_maxPing"]));
                lvi.SubItems.Add(string.Format("{0} / {1}", server.serverNPlayers, server.serverMaxPlayers));
                lvi.SubItems.Add(HelperFunctions.gameTypeToFullname(server.serverGametype));
                lvi.SubItems.Add(HelperFunctions.mapToFullname(server.serverMap));
                lvi.SubItems.Add(server.serverMod);
                lvi.SubItems.Add(server.serverDvars["g_hardcore"].Equals("1") ? "X" : "-");
            }
            else // not queried yet, so we just add it as a blank server :<
            {
                lvi.SubItems.Add("--");
                lvi.SubItems.Add(favMngr.isFavourite(server) ? "X" : "-");
                lvi.SubItems.Add("--");
                lvi.SubItems.Add("--");
                lvi.SubItems.Add("--");
                lvi.SubItems.Add("--");
                lvi.SubItems.Add("--");
                lvi.SubItems.Add("--");
            }

            server.rowItem = lvi;
        }
        private void addToServerList(Server server)
        {
            if (serverList.Contains(server))
                if (server.rowItem != null)
                    if (serverBrowserView.Items.Contains(server.rowItem))
                        return;

            if (serverBrowserView.InvokeRequired)
            {
                addToServerListCallback s = new addToServerListCallback(addToServerList);
                this.Invoke(s, new object[] { server });
                return;
            }

            serverList.Add(server);
            server.ServerUpdated += new ServerUpdated(onServerUpdated);

            ListViewItem lvi = serverBrowserView.Items.Add(server.ServerAddress.ToString());
            if (server.queryStatus != Server.ServerQueryStatus.NothingYet &&
                server.queryStatus != Server.ServerQueryStatus.Failed &&
                server.queryStatus != Server.ServerQueryStatus.TimedOut)
            {
                lvi.SubItems.Add(HelperFunctions.removeColourCodes(server.serverName));
                lvi.SubItems.Add(favMngr.isFavourite(server) ? "X" : "-");
                lvi.SubItems.Add(string.Format("{0} ({1})", server.serverPing.ToString(), server.serverDvars["sv_maxPing"]));
                lvi.SubItems.Add(string.Format("{0} / {1}", server.serverNPlayers, server.serverMaxPlayers));
                lvi.SubItems.Add(HelperFunctions.gameTypeToFullname(server.serverGametype));
                lvi.SubItems.Add(HelperFunctions.mapToFullname(server.serverMap));
                lvi.SubItems.Add(server.serverMod);
                lvi.SubItems.Add(server.serverDvars["g_hardcore"].Equals("1") ? "X" : "-");
            }
            else // not queried yet, so we just add it as a blank server :<
            {
                lvi.SubItems.Add("--");
                lvi.SubItems.Add(favMngr.isFavourite(server) ? "X" : "-");
                lvi.SubItems.Add("--");
                lvi.SubItems.Add("--");
                lvi.SubItems.Add("--");
                lvi.SubItems.Add("--");
                lvi.SubItems.Add("--");
                lvi.SubItems.Add("--");
            }

            server.rowItem = lvi;
        }