X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fdebug.C;h=bbf67f0fe52f35b20d7b6a4a5ed5b649c599a250;hb=ee2966faba5563fb853f31f4d3d1785d380e1332;hp=f89120ee0a2c332dcd24441bb79fdb153fa6440e;hpb=4c6e0fe4226ce3b55d13726977f1e579f17c2ad1;p=lyx.git diff --git a/src/debug.C b/src/debug.C index f89120ee0a..bbf67f0fe5 100644 --- a/src/debug.C +++ b/src/debug.C @@ -13,14 +13,23 @@ #include "debug.h" #include "gettext.h" + +#include "support/convert.h" #include "support/lstrings.h" +#include #include -using namespace lyx::support; -using std::ostream; +namespace lyx { + +using support::ascii_lowercase; +using support::bformat; +using support::isStrInt; + using std::setw; +using std::string; +using std::ostream; namespace { @@ -57,6 +66,8 @@ error_item errorTags[] = { { Debug::GRAPHICS, "graphics", N_("Graphics conversion and loading")}, { Debug::CHANGES, "changes", N_("Change tracking")}, { Debug::EXTERNAL, "external", N_("External template/inset messages")}, + { Debug::PAINTING, "painting", N_("RowPainter profiling")}, + { Debug::DEBUG, "debug", N_("Developers' general debug messages")}, { Debug::ANY, "any", N_("All debugging messages")} }; @@ -66,27 +77,18 @@ int const numErrorTags = sizeof(errorTags)/sizeof(error_item); } // namespace anon -Debug::type const Debug::ANY = Debug::type( - Debug::INFO | Debug::INIT | Debug::KEY | Debug::GUI | - Debug::PARSER | Debug::LYXRC | Debug::KBMAP | Debug::LATEX | - Debug::MATHED | Debug::FONT | Debug::TCLASS | Debug::LYXVC | - Debug::LYXSERVER | Debug::ROFF | Debug::ACTION | Debug::LYXLEX | - Debug::DEPEND | Debug::INSETS | Debug::FILES | Debug::WORKAREA | - Debug::INSETTEXT | Debug::GRAPHICS | Debug::CHANGES | Debug::EXTERNAL); - - -Debug::type Debug::value(string const & val) +lyx_debug_trait::type lyx_debug_trait::value(string const & val) { type l = Debug::NONE; string v(val); while (!v.empty()) { - string::size_type st = v.find(','); - string tmp(ascii_lowercase(v.substr(0, st))); + string::size_type const st = v.find(','); + string const tmp(ascii_lowercase(v.substr(0, st))); if (tmp.empty()) break; // Is it a number? if (isStrInt(tmp)) - l |= static_cast(strToInt(tmp)); + l |= static_cast(convert(tmp)); else // Search for an explicit name for (int i = 0 ; i < numErrorTags ; ++i) @@ -101,27 +103,35 @@ Debug::type Debug::value(string const & val) } -void Debug::showLevel(ostream & os, Debug::type level) +void lyx_debug_trait::showLevel(ostream & os, lyx_debug_trait::type level) { // Show what features are traced for (int i = 0; i < numErrorTags ; ++i) { if (errorTags[i].level != Debug::ANY && errorTags[i].level != Debug::NONE && errorTags[i].level & level) { - // avoid _(...) re-entrance problem - string const s = _(errorTags[i].desc); - os << bformat(_("Debugging `%1$s' (%2$s)"), - errorTags[i].name, s); + // avoid to_utf8(_(...)) re-entrance problem + docstring const s = _(errorTags[i].desc); + os << to_utf8(bformat(_("Debugging `%1$s' (%2$s)"), + from_utf8(errorTags[i].name), s)) + << '\n'; } } + os.flush(); } -void Debug::showTags(ostream & os) +void lyx_debug_trait::showTags(ostream & os) { for (int i = 0; i < numErrorTags ; ++i) - os << setw(7) << errorTags[i].level - << setw(10) << errorTags[i].name - << " " << _(errorTags[i].desc) << '\n'; + os << setw(10) << static_cast(errorTags[i].level) + << setw(13) << errorTags[i].name + << " " << to_utf8(_(errorTags[i].desc)) << '\n'; os.flush(); } + + +LyXErr lyxerr; + + +} // namespace lyx