Esempio n. 1
0
        private void LoadPlayers(string updatedPlayer = null)
        {
            _ = Dispatcher.InvokeAsync(() =>
            {
                if (updatedPlayer == null || (updatedPlayer != null && !players.Items.Contains(updatedPlayer)))
                {
                    var playerList = ChatManager.GetArchivedPlayers();
                    if (playerList.Count > 0)
                    {
                        if (players.ItemsSource == null)
                        {
                            players.Items.Clear();
                        }

                        players.ItemsSource = playerList;

                        string player = ConfigUtil.GetSetting("ChatSelectedPlayer");
                        if (string.IsNullOrEmpty(player) && !string.IsNullOrEmpty(ConfigUtil.PlayerName) && !string.IsNullOrEmpty(ConfigUtil.ServerName))
                        {
                            player = ConfigUtil.PlayerName + "." + ConfigUtil.ServerName;
                        }

                        players.SelectedIndex = (player != null && playerList.IndexOf(player) > -1) ? playerList.IndexOf(player) : 0;
                    }
                }
                else
                {
                    if (!RefreshTimer.IsEnabled)
                    {
                        RefreshTimer.Start();
                    }
                }
            }, DispatcherPriority.DataBind);
        }
Esempio n. 2
0
        private void UpdateDeleteChatMenu()
        {
            deleteChat.Items.Clear();
            ChatManager.GetArchivedPlayers().ForEach(player =>
            {
                MenuItem item = new MenuItem()
                {
                    IsEnabled = true, Header = player
                };
                deleteChat.Items.Add(item);

                item.Click += (object sender, RoutedEventArgs e) =>
                {
                    if (MessageBox.Show("Clear all chat for " + player + ", are you sure?", "Clear Chat Archive", MessageBoxButton.YesNo) == MessageBoxResult.Yes &&
                        ChatManager.DeleteArchivedPlayer(player))
                    {
                        if (PlayerChatManager != null && PlayerChatManager.GetCurrentPlayer().Equals(player, StringComparison.Ordinal))
                        {
                            PlayerChatManager.Reset();
                        }
                        else
                        {
                            deleteChat.Items.Remove(item);
                            deleteChat.IsEnabled = deleteChat.Items.Count > 0;
                        }
                    }
                };
            });

            deleteChat.IsEnabled = deleteChat.Items.Count > 0;
        }