Ejemplo n.º 1
0
        private void OpenNewWindows()
        {
            filteredMatches = filteredMatches.ToList();

            Application.Current.Dispatcher.Invoke(() =>
            {
                foreach (var pair in parsersDict)
                {
                    foreach (var match in pair.Value.MatchDict)
                    {
                        if (filteredMatches.Contains(match.Key))
                        {
                            var tabs = Tabs.Where((e) => e.Control.matchUrl == match.Value);
                            if (tabs.Count() > 0)
                            {
                                tabs.First().LastRefresh = DateTime.Now;
                            }
                            else
                            {
                                var control = new MatchParserControl(pair.Value, pair.Key, match.Value, match.Key);
                                Tabs.Add(new MatchParserModel()
                                {
                                    Control = control, Header = string.Format("{0}: ", pair.Key), Color = "Red", LastRefresh = DateTime.Now
                                });
                                TabsChanged?.Invoke(this, null);
                            }
                            //System.Threading.Thread.Sleep(1000);
                        }
                    }
                }
            });
        }
Ejemplo n.º 2
0
        private void CloseNotActiveWindows()
        {
            Application.Current.Dispatcher.Invoke(() =>
            {
                var notActiveMatchArray = Tabs.Where(e => DateTime.Now - e.LastRefresh > TimeSpan.FromMinutes(1))
                                          .ToArray();

                foreach (var key in notActiveMatchArray)
                {
                    Tabs.Remove(key);
                    TabsChanged?.Invoke(this, null);
                }
            });
        }
 protected void RaiseTabsChanged()
 {
     TabsChanged?.Invoke(this, EventArgs.Empty);
 }