Make full screen switching more robust. Add in/out traces.
[dorian] / trace.h
1 #ifndef TRACE_H
2 #define TRACE_H
3
4 #include <QtDebug>
5
6 class Trace
7 {
8 public:
9     Trace(const QString &s): name(s) {
10         qDebug() << QString(" ").repeated(indent) + ">" + name;
11         indent++;
12     }
13     ~Trace() {
14         if (--indent < 0) {
15             indent = 0;
16         }
17         qDebug() << QString(" ").repeated(indent) + "<" + name;
18     }
19     void trace(const QString &s) const {
20         qDebug() << QString(" ").repeated(indent)  + name + ": " + s;
21     }
22
23 protected:
24     QString name;
25     static int indent;
26 };
27
28 #endif // TRACE_H