From 44ef0bd5fe47a43e47aec5f7981b6c1d728dd9a8 Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Sun, 2 Mar 2025 18:37:22 +0900 Subject: Restructure source files into 'src' subfolder Signed-off-by: Michele Calgaro --- src/plugins/logviewer/logflags.cpp | 170 +++++++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 src/plugins/logviewer/logflags.cpp (limited to 'src/plugins/logviewer/logflags.cpp') diff --git a/src/plugins/logviewer/logflags.cpp b/src/plugins/logviewer/logflags.cpp new file mode 100644 index 0000000..c6ab95b --- /dev/null +++ b/src/plugins/logviewer/logflags.cpp @@ -0,0 +1,170 @@ +/*************************************************************************** + * Copyright (C) 2006 by Ivan Vasić * + * ivasic@gmail.com * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ +#include "logflags.h" +#include "logviewer.h" +#include "logviewerpluginsettings.h" + +#include +#include + +#include + +using namespace bt; + +namespace kt +{ + + LogFlags* LogFlags::self = 0; + LogViewer* LogFlags::m_log = 0; + + LogFlags::LogFlags() + { + updateFlags(); + } + + LogFlags::~LogFlags() + {} + + LogFlags& LogFlags::instance() + { + if (!self) + self = new LogFlags(); + return *self; + } + + bool LogFlags::checkFlags(unsigned int arg) + { + if(arg & SYS_GEN) + return m_flags.SYSGEN & arg; + + if(arg & SYS_CON) + return (arg & m_flags.SYSCON) && ((arg & 0x0000000F) <= m_flags.SYSCON); + + if(arg & SYS_DHT) + return (arg & m_flags.SYSDHT) && ((arg & 0x0000000F) <= m_flags.SYSDHT); + + if(arg & SYS_TRK) + return (arg & m_flags.SYSTRK) && ((arg & 0x0000000F) <= m_flags.SYSTRK); + + if(arg & SYS_DIO) + return (arg & m_flags.SYSDIO) && ((arg & 0x0000000F) <= m_flags.SYSDIO); + + if(arg & SYS_INW) + return (arg & m_flags.SYSINW) && ((arg & 0x0000000F) <= m_flags.SYSINW); + + if(arg & SYS_IPF) + return (arg & m_flags.SYSIPF) && ((arg & 0x0000000F) <= m_flags.SYSIPF); + + if(arg & SYS_PFI) + return (arg & m_flags.SYSPFI) && ((arg & 0x0000000F) <= m_flags.SYSPFI); + + if(arg & SYS_PNP) + return (arg & m_flags.SYSPNP) && ((arg & 0x0000000F) <= m_flags.SYSPNP); + + if(arg & SYS_SCD) + return (arg & m_flags.SYSSCD) && ((arg & 0x0000000F) <= m_flags.SYSSCD); + + if(arg & SYS_SNF) + return (arg & m_flags.SYSSNF) && ((arg & 0x0000000F) <= m_flags.SYSSNF); + + if(arg & SYS_SRC) + return (arg & m_flags.SYSSRC) && ((arg & 0x0000000F) <= m_flags.SYSSRC); + + if(arg & SYS_RSS) + return (arg & m_flags.SYSRSS) && ((arg & 0x0000000F) <= m_flags.SYSRSS); + + if(arg & SYS_WEB) + return (arg & m_flags.SYSWEB) && ((arg & 0x0000000F) <= m_flags.SYSWEB); + + return true; + } + + void LogFlags::updateFlags() + { + m_flags.SYSGEN = LogViewerPluginSettings::sysGEN(); + m_flags.SYSCON = LogViewerPluginSettings::sysCON(); + m_flags.SYSDHT = LogViewerPluginSettings::sysDHT(); + m_flags.SYSTRK = LogViewerPluginSettings::sysTRK(); + m_flags.SYSDIO = LogViewerPluginSettings::sysDIO(); + + m_flags.SYSINW = LogViewerPluginSettings::sysINW(); + m_flags.SYSIPF = LogViewerPluginSettings::sysIPF(); + m_flags.SYSPFI = LogViewerPluginSettings::sysPFI(); + m_flags.SYSPNP = LogViewerPluginSettings::sysPNP(); + m_flags.SYSSCD = LogViewerPluginSettings::sysSCD(); + m_flags.SYSSNF = LogViewerPluginSettings::sysSNF(); + m_flags.SYSSRC = LogViewerPluginSettings::sysSRC(); + m_flags.SYSRSS = LogViewerPluginSettings::sysRSS(); + m_flags.SYSWEB = LogViewerPluginSettings::sysWEB(); + + m_useRichText = LogViewerPluginSettings::useRichText(); + + if(m_log) + m_log->setRichText(m_useRichText); + } + + void LogFlags::finalize() + { + delete self; + self = 0; + m_log = 0; + } + + bool LogFlags::useRichText() + { + return m_useRichText; + } + + void LogFlags::setLog(LogViewer* log) + { + m_log = log; + } + + TQString& LogFlags::getFormattedMessage(unsigned int arg, TQString& line) + { + if( (arg & LOG_ALL) == LOG_ALL) + { + return line; + } + + if(arg & 0x04) + { + line.prepend(""); + line.append(""); + return line; + } + + if(arg & 0x02) + { + line.prepend(""); + line.append(""); + return line; + } + + if(arg & 0x01) + { + line.prepend(""); + line.append(""); + return line; + } + + return line; + } +} -- cgit v1.2.3