Beispiel #1
0
 public void SetupChallengeUI()
 {
     _challenges.Clear();
     foreach (var challenge in _challengeMgr.GetChallenges(_countries.CurrentCountry))
     {
         var label    = new Label();
         var progress = new ProgressBar();
         label.Text      = challenge.Name;
         label.FontStyle = Plex.Engine.Themes.TextFontStyle.Highlight;
         label.AutoSize  = true;
         label.MaxWidth  = _challenges.Width;
         _challenges.AddChild(label);
         progress.Width = _challenges.Width;
         if (challenge.UIPercentageText == null)
         {
             progress.Text = (challenge.IsComplete) ? "Completed" : "Not completed";
         }
         else
         {
             progress.Text = challenge.UIPercentageText;
         }
         progress.Value = challenge.PercentageComplete;
         _challenges.AddChild(progress);
     }
 }
        private void SetupMainUI()
        {
            _compose.Text = "Compose";
            _bodyView.Clear();
            List <string> _subjects = new List <string>();

            switch (_uiState)
            {
            case 0:     //inbox
                _header.Text = "Inbox";
                _inbox.ClearItems();
                foreach (var message in _email.Inbox.OrderByDescending(x => x.Timestamp))
                {
                    if (_subjects.Contains(message.Subject))
                    {
                        continue;
                    }
                    var item = new ListViewItem
                    {
                        Tag   = message.Subject,
                        Value = $"{message.Subject} - {message.From}"
                    };
                    _inbox.AddItem(item);
                    _subjects.Add(message.Subject);
                }
                _bodyView.AddChild(_inbox);
                break;

            case 1:     //outbox
                _header.Text = "Outbox";
                _outbox.ClearItems();
                foreach (var message in _email.Outbox.OrderByDescending(x => x.Timestamp))
                {
                    if (_subjects.Contains(message.Subject))
                    {
                        continue;
                    }
                    var item = new ListViewItem
                    {
                        Tag   = message.Subject,
                        Value = $"{message.Subject} - {message.To}"
                    };
                    _outbox.AddItem(item);
                    _subjects.Add(message.Subject);
                }
                _bodyView.AddChild(_outbox);
                break;

            case 2:     //view message
                _compose.Text = "Reply";
                _header.Text  = _subject;
                _thread.Clear();
                foreach (var message in _email.GetThread(_subject))
                {
                    var panel = new EmailMessagePanel();
                    panel.Subject = message.Subject;
                    panel.From    = message.From;
                    panel.Message = message.Message;
                    _thread.AddChild(panel);
                }
                _bodyView.AddChild(_thread);
                break;

            case 3:     //compose message
                _header.Text         = "Compose message";
                _compose.Text        = "Send";
                _composeMessage.Text = "";
                _composeSubject.Text = "";
                _composeTo.Text      = "";
                _bodyView.AddChild(_composePanel);
                break;

            case 4:     //compose reply
                _header.Text       = _subject;
                _compose.Text      = "Send";
                _replyMessage.Text = "";
                _bodyView.AddChild(_replyPanel);
                var addresses = new List <string>();
                foreach (var message in _email.GetThread(_subject))
                {
                    if (message.From == _email.MyEmailAddress || addresses.Contains(message.From))
                    {
                        continue;
                    }
                    addresses.Add(message.From);
                }
                _addresses = addresses.ToArray();
                break;
            }
        }