]> git.lyx.org Git - lyx.git/blobdiff - src/debug.C
include sys/time.h
[lyx.git] / src / debug.C
index b5213386f5c6f4a17af4b6aa3217d70b856bbc97..583640ec11ca69f7badd4658c32eb15d59b6f745 100644 (file)
@@ -1,24 +1,22 @@
 /* This file is part of
-* ====================================================== 
-* 
+* ======================================================
+*
 *           LyX, The Document Processor
-*        
+*
 *           Copyright 1999-2001 The LyX Team.
 *
 * ====================================================== */
 
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
 #include <config.h>
 
-#include <iomanip>
-
 #include "debug.h"
 #include "gettext.h"
 #include "support/lstrings.h"
 
+#include "BoostFormat.h"
+
+#include <iomanip>
+
 using std::ostream;
 using std::setw;
 using std::endl;
@@ -56,6 +54,7 @@ error_item errorTags[] = {
        { Debug::WORKAREA,  "workarea",  N_("Workarea events")},
        { Debug::INSETTEXT, "insettext", N_("Insettext/tabular messages")},
        { Debug::GRAPHICS,  "graphics",  N_("Graphics conversion and loading")},
+       { Debug::CHANGES,   "changes",   N_("Change tracking")},
        { Debug::ANY,       "any",       N_("All debugging messages")}
 };
 
@@ -64,31 +63,31 @@ 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::INSETTEXT | Debug::GRAPHICS | Debug::CHANGES);
 
 
-Debug::type Debug::value(string const & val) 
+Debug::type Debug::value(string const & val)
 {
        type l = Debug::NONE;
        string v(val);
        while (!v.empty()) {
                string::size_type st = v.find(',');
-               string tmp(lowercase(v.substr(0, st)));
+               string tmp(ascii_lowercase(v.substr(0, st)));
                if (tmp.empty())
                        break;
                // Is it a number?
-               if (isStrInt(tmp)) 
+               if (isStrInt(tmp))
                        l |= static_cast<type>(strToInt(tmp));
                else
                // Search for an explicit name
-               for (int i = 0 ; i < numErrorTags ; ++i) 
+               for (int i = 0 ; i < numErrorTags ; ++i)
                        if (tmp == errorTags[i].name) {
                                l |= errorTags[i].level;
                                break;
@@ -103,16 +102,27 @@ Debug::type Debug::value(string const & val)
 void Debug::showLevel(ostream & o, Debug::type level)
 {
        // Show what features are traced
-       for (int i = 0 ; i < numErrorTags ; ++i)
+       for (int i = 0 ; i < numErrorTags ; ++i) {
                if (errorTags[i].level != Debug::ANY
                    && errorTags[i].level != Debug::NONE
-                   && errorTags[i].level & level)
-                       o << _("Debugging `") << errorTags[i].name
-                         << "' (" << _(errorTags[i].desc) << ')' << endl;
+                   && errorTags[i].level & level) {
+#if USE_BOOST_FORMAT
+                       o << boost::format(
+                               _("Debugging `%1$s' (%2$s)"))
+                               % errorTags[i].name
+                               % _(errorTags[i].desc)
+                         << endl;
+#else
+                       o << _("Debugging `") << errorTags[i].name << "' ("
+                         << _(errorTags[i].desc) << ')'
+                         << endl;
+#endif
+               }
+       }
 }
 
 
-void Debug::showTags(ostream & os) 
+void Debug::showTags(ostream & os)
 {
        for (int i = 0 ; i < numErrorTags ; ++i)
                os << setw(7) << errorTags[i].level