X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Fdebug.cpp;h=3026df09f203b005af601e954e77ca3ac98b9452;hb=279e656d6a7c4ee3647752cba8b9aa7d6ec6e0c2;hp=0f2cd2dbf4d949181f4eb4f1a41cdd2a91129f1a;hpb=4397cef1f82e8d33ec6a3b4170f00fa8e574034f;p=lyx.git diff --git a/src/support/debug.cpp b/src/support/debug.cpp index 0f2cd2dbf4..3026df09f2 100644 --- a/src/support/debug.cpp +++ b/src/support/debug.cpp @@ -14,14 +14,15 @@ #include "support/convert.h" #include "support/debug.h" +#include "support/FileName.h" #include "support/gettext.h" #include "support/lstrings.h" -#include "support/FileName.h" #include "support/ProgressInterface.h" #include #include + using namespace std; using namespace lyx::support; @@ -29,14 +30,14 @@ namespace lyx { namespace { -struct ErrorItem { +struct DebugErrorItem { Debug::Type level; char const * name; char const * desc; }; -ErrorItem errorTags[] = { +DebugErrorItem errorTags[] = { { Debug::NONE, "none", N_("No debugging messages")}, { Debug::INFO, "info", N_("General information")}, { Debug::INIT, "init", N_("Program initialisation")}, @@ -58,7 +59,7 @@ ErrorItem errorTags[] = { { Debug::INSETS, "insets", N_("LyX Insets")}, { Debug::FILES, "files", N_("Files used by LyX")}, { Debug::WORKAREA, "workarea", N_("Workarea events")}, - { Debug::INSETTEXT, "insettext", N_("Insettext/tabular messages")}, + { Debug::CLIPBOARD, "clipboard", N_("Clipboard handling")}, { Debug::GRAPHICS, "graphics", N_("Graphics conversion and loading")}, { Debug::CHANGES, "changes", N_("Change tracking")}, { Debug::EXTERNAL, "external", N_("External template/inset messages")}, @@ -76,7 +77,7 @@ ErrorItem errorTags[] = { int const numErrorTags = sizeof(errorTags)/sizeof(errorTags[0]); -} // namespace anon +} // namespace int Debug::levelCount() @@ -196,13 +197,27 @@ void LyXErr::endl() } +char const * LyXErr::stripName(char const * n) +{ + string const name = n; + // find the last occurence of /src/ in name + size_t pos = name.rfind("/src/"); + if (pos == string::npos) + pos = name.rfind("\\src\\"); + if (pos == string::npos) + return n; + else + return n + pos + 5; +} + + // It seems not possible to instantiate operator template out of class body template -LyXErr & toStream(LyXErr & l, T t) +LyXErr & toStream(LyXErr & l, T t) { if (l.enabled()){ l.stream() << t; - if (l.secondEnabled()) { + if (l.secondEnabled()) { l.secondStream() << t; ProgressInterface::instance()->lyxerrFlush(); } @@ -225,6 +240,12 @@ LyXErr & operator<<(LyXErr & l, long t) { return toStream(l, t); } LyXErr & operator<<(LyXErr & l, unsigned long t) { return toStream(l, t); } +#ifdef LYX_USE_LONG_LONG +LyXErr & operator<<(LyXErr & l, long long t) +{ return toStream(l, t); } +LyXErr & operator<<(LyXErr & l, unsigned long long t) +{ return toStream(l, t); } +#endif LyXErr & operator<<(LyXErr & l, double t) { return toStream(l, t); } LyXErr & operator<<(LyXErr & l, string const & t) @@ -242,4 +263,6 @@ LyXErr & operator<<(LyXErr & l, ios_base &(*t)(ios_base &)) // The global instance LyXErr lyxerr; + + } // namespace lyx