public override bool OnMessage(GUIMessage message) { switch (message.Message) { case GUIMessage.MessageType.GUI_MSG_WINDOW_INIT: { for (int j = 0; j < NUM_STORIES; j++) { m_feed_details[j].m_site = ""; m_feed_details[j].m_title = ""; m_feed_details[j].m_description = ""; } base.OnMessage(message); LoadSettings(); m_pSiteImage = (GUIImage)GetControl((int)Controls.CONTROL_IMAGELOGO); UpdateNews(true); return(true); } case GUIMessage.MessageType.GUI_MSG_WINDOW_DEINIT: { SaveSettings(); } break; case GUIMessage.MessageType.GUI_MSG_ITEM_FOCUS_CHANGED: { int iControl = message.SenderControlId; if (iControl == (int)Controls.CONTROL_LIST) { UpdateDetails(); } } break; case GUIMessage.MessageType.GUI_MSG_CLICKED: { int iControl = message.SenderControlId; if (iControl == (int)Controls.CONTROL_BTNREFRESH) { UpdateNews(true); } if (iControl == (int)Controls.CONTROL_LIST) { String story = DownloadMainStory(); if (story != null) { GUIDialogText dlg = (GUIDialogText)GUIWindowManager.GetWindow((int)Window.WINDOW_DIALOG_TEXT); if (dlg != null) { dlg.Reset(); dlg.ResetAllControls(); dlg.SetHeading("Story"); dlg.SetText(story); dlg.DoModal(GetID); } } } if (iControl == (int)Controls.CONTROL_BTNCHANNEL) { OnSelectFeed(); return(true); } } break; } return(base.OnMessage(message)); }
private void OnShowLogs() { string text = string.Empty; string[] modules = LogServiceAgent.GetAllModules(); string selectedModule = string.Empty; LogSeverity selectedSeverity = LogSeverity.Error; bool showAllSeverities = true; bool showAllModules = true; if (modules != null && modules.Length > 1) { GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU); if (dlg != null) { dlg.Reset(); dlg.SetHeading("Select module"); dlg.Add(Utility.GetLocalizedText(TextId.All)); foreach (string module in modules) { dlg.Add(module); } dlg.DoModal(GetID); if (dlg.SelectedId == -1) { return; } if (dlg.SelectedId > 0) { if (dlg.SelectedLabel > 0) { showAllModules = false; } selectedModule = dlg.SelectedLabelText; } } } GUIDialogMenu dlg2 = (GUIDialogMenu)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU); if (dlg2 != null) { dlg2.Reset(); dlg2.SetHeading("Select severity"); dlg2.Add(Utility.GetLocalizedText(TextId.All)); dlg2.Add(LogSeverity.Error.ToString()); dlg2.Add(LogSeverity.Fatal.ToString()); dlg2.Add(LogSeverity.Information.ToString()); dlg2.Add(LogSeverity.Warning.ToString()); dlg2.DoModal(GetID); if (dlg2.SelectedId == -1) { return; } if (dlg2.SelectedId > 0) { if (dlg2.SelectedLabel > 0) { showAllSeverities = false; } switch (dlg2.SelectedLabel) { case 1: selectedSeverity = LogSeverity.Error; break; case 2: selectedSeverity = LogSeverity.Fatal; break; case 3: selectedSeverity = LogSeverity.Information; break; case 4: selectedSeverity = LogSeverity.Warning; break; } } } bool maxReached; LogEntry[] entries = null; if (showAllModules && showAllSeverities) { SortedList <DateTime, LogEntry> _entries = new SortedList <DateTime, LogEntry>(); foreach (string module in modules) { entries = LogServiceAgent.GetLogEntriesByModule(module, DateTime.Now.AddDays(-_daysToGetLogsFrom), DateTime.Now, _maxLogEntries / 2, out maxReached); if (entries != null && entries.Length > 0) { foreach (LogEntry entry in entries) { if (!_entries.ContainsKey(entry.LogTime)) { _entries.Add(entry.LogTime, entry); } } } } if (_entries != null && _entries.Count > 0) { for (int i = _entries.Count - 1; i >= 0; i--) { text += "#" + _entries.Values[i].LogSeverity.ToString() + ":" + _entries.Values[i].LogTime.ToString() + ":" + _entries.Values[i].Module.ToString() + ":" + _entries.Values[i].Message + "\n"; } } } else if (!showAllModules && showAllSeverities) { entries = LogServiceAgent.GetLogEntriesByModule(selectedModule, DateTime.Now.AddDays(-_daysToGetLogsFrom), DateTime.Now, _maxLogEntries, out maxReached); if (entries != null && entries.Length > 0) { for (int i = 0; i < entries.Length; i++) { text += "#" + entries[i].LogSeverity.ToString() + ":" + entries[i].LogTime.ToString() + ":" + entries[i].Message + "\n"; } } } else if (showAllModules && !showAllSeverities) { entries = LogServiceAgent.GetLogEntriesBySeverity(selectedSeverity, DateTime.Now.AddDays(-_daysToGetLogsFrom), DateTime.Now, _maxLogEntries, out maxReached); if (entries != null && entries.Length > 0) { for (int i = 0; i < entries.Length; i++) { text += "#" + entries[i].LogTime.ToString() + ":" + entries[i].Module.ToString() + ":" + entries[i].Message + "\n"; } } } else if (!showAllModules && !showAllSeverities) { entries = LogServiceAgent.GetLogEntriesByModuleAndSeverity(selectedModule, selectedSeverity, DateTime.Now.AddDays(-_daysToGetLogsFrom), DateTime.Now, _maxLogEntries, out maxReached); if (entries != null && entries.Length > 0) { for (int i = 0; i < entries.Length; i++) { text += "#" + entries[i].LogTime.ToString() + ":" + entries[i].Message + "\n"; } } } GUIDialogText dlg3 = (GUIDialogText)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_TEXT); if (dlg3 != null) { dlg3.Reset(); dlg3.SetHeading("Log entries"); dlg3.SetText(text); dlg3.DoModal(GetID); } }