Beispiel #1
0
        private void _dispatcherTimer_Tick(object sender, EventArgs e)
        {
            _dispatcherTimer.Stop();

            var latestStatuses = _statusProvider.GetStatusList(_uriList);

            foreach (var newStatus in latestStatuses)
            {
                var oldStatus = _buildStatuses.Single(b => b.Key == newStatus.Key);
                if (newStatus.BuildId != oldStatus.BuildId)
                {
                    var title = newStatus.BuildName;
                    _taskbarIcon.ShowBalloonTip(title, MenuItemHelper.BuildBallonBody(newStatus), ResourceHelper.GetIcon(newStatus), true);

                    foreach (var contextMenuItem in _contextMenu.Items)
                    {
                        var menuItem = contextMenuItem as MenuItem;
                        var tag      = menuItem?.Tag as Uri;
                        if (tag == null || tag != oldStatus.Key)
                        {
                            continue;
                        }
                        MenuItemHelper.ConfigureMenuItem(menuItem, newStatus);
                    }
                }
                oldStatus.Status      = newStatus.Status;
                oldStatus.BuildId     = newStatus.BuildId;
                oldStatus.RequestedBy = newStatus.RequestedBy;
            }
            _dispatcherTimer.Start();
        }
Beispiel #2
0
 private void AddMenuItems(List <Uri> uriList)
 {
     _buildStatuses = _statusProvider.GetStatusList(uriList);
     foreach (var buildStatus in _buildStatuses)
     {
         var item = new MenuItem();
         MenuItemHelper.ConfigureMenuItem(item, buildStatus);
         item.Click += ItemOnClick;
         _contextMenu.Items.Insert(0, item);
     }
 }