summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/systrace.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/systrace.cpp')
-rw-r--r--rbutil/rbutilqt/systrace.cpp65
1 files changed, 65 insertions, 0 deletions
diff --git a/rbutil/rbutilqt/systrace.cpp b/rbutil/rbutilqt/systrace.cpp
new file mode 100644
index 0000000000..b8f4fb8434
--- /dev/null
+++ b/rbutil/rbutilqt/systrace.cpp
@@ -0,0 +1,65 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 *
9 * Copyright (C) 2007 by Dominik Riebeling
10 * $Id$
11 *
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
14 *
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
17 *
18 ****************************************************************************/
19
20#include <QtGui>
21#include "systrace.h"
22#include "ui_systracefrm.h"
23
24
25QString SysTrace::debugbuffer;
26
27SysTrace::SysTrace(QWidget *parent) : QDialog(parent)
28{
29 ui.setupUi(this);
30 ui.textTrace->setReadOnly(true);
31 refresh();
32
33 connect(ui.buttonClose, SIGNAL(clicked()), this, SLOT(close()));
34 connect(ui.buttonSave, SIGNAL(clicked()), this, SLOT(save()));
35 connect(ui.buttonRefresh, SIGNAL(clicked()), this, SLOT(refresh()));
36}
37
38void SysTrace::refresh(void)
39{
40 int pos = ui.textTrace->verticalScrollBar()->value();
41 ui.textTrace->setHtml("<pre>" + debugbuffer + "</pre>");
42 ui.textTrace->verticalScrollBar()->setValue(pos);
43}
44
45void SysTrace::save(void)
46{
47 QString fp = QFileDialog::getSaveFileName(this, tr("Save system trace log"),
48 QDir::homePath(), "*.log");
49
50 QFile fh(fp);
51 fh.open(QIODevice::WriteOnly);
52 fh.write(debugbuffer.toUtf8(), debugbuffer.size());
53 fh.close();
54}
55
56void SysTrace::debug(QtMsgType type, const char* msg)
57{
58 debugbuffer.append(msg);
59 debugbuffer.append("\n");
60#if !defined(NODEBUG)
61 fprintf(stderr, "%s\n", msg);
62#endif
63
64}
65