コード例 #1
0
        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));
        }
コード例 #2
0
        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);
            }
        }