summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Wenger <domonoky@googlemail.com>2009-08-15 17:02:25 +0000
committerDominik Wenger <domonoky@googlemail.com>2009-08-15 17:02:25 +0000
commit426bfa8d037e458bd58a4c2dca82cbddae2a2f66 (patch)
treeae7250597cec8a9a1dcbd680e044204ca331cc27
parent2402aecbb5eeb82c5920f9d837cd287581c11c05 (diff)
downloadrockbox-426bfa8d037e458bd58a4c2dca82cbddae2a2f66.tar.gz
rockbox-426bfa8d037e458bd58a4c2dca82cbddae2a2f66.zip
rbutil: add a errorlog function into rbutil and the possibility to save a log if a error happens. (thanks to bluebrother for the trace functionality)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22329 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--rbutil/rbutilqt/main.cpp4
-rw-r--r--rbutil/rbutilqt/progressloggerfrm.ui67
-rw-r--r--rbutil/rbutilqt/progressloggergui.cpp53
-rw-r--r--rbutil/rbutilqt/progressloggergui.h1
-rw-r--r--rbutil/rbutilqt/rbutilqt.cpp12
-rw-r--r--rbutil/rbutilqt/rbutilqt.h3
-rw-r--r--rbutil/rbutilqt/rbutilqt.pro12
-rw-r--r--rbutil/rbutilqt/rbutilqtfrm.ui139
-rw-r--r--rbutil/rbutilqt/sysinfo.cpp11
-rw-r--r--rbutil/rbutilqt/sysinfo.h3
-rw-r--r--rbutil/rbutilqt/systrace.cpp65
-rw-r--r--rbutil/rbutilqt/systrace.h47
-rw-r--r--rbutil/rbutilqt/systracefrm.ui77
13 files changed, 400 insertions, 94 deletions
diff --git a/rbutil/rbutilqt/main.cpp b/rbutil/rbutilqt/main.cpp
index 0b720d60f6..086dc65ea6 100644
--- a/rbutil/rbutilqt/main.cpp
+++ b/rbutil/rbutilqt/main.cpp
@@ -20,13 +20,17 @@
20 20
21#include <QtGui> 21#include <QtGui>
22#include "rbutilqt.h" 22#include "rbutilqt.h"
23#include "systrace.h"
23 24
24#ifdef STATIC 25#ifdef STATIC
25#include <QtPlugin> 26#include <QtPlugin>
26Q_IMPORT_PLUGIN(qtaccessiblewidgets) 27Q_IMPORT_PLUGIN(qtaccessiblewidgets)
27#endif 28#endif
28 29
30
31
29int main( int argc, char ** argv ) { 32int main( int argc, char ** argv ) {
33 qInstallMsgHandler(SysTrace::debug);
30 QApplication app( argc, argv ); 34 QApplication app( argc, argv );
31#if defined(Q_OS_MAC) 35#if defined(Q_OS_MAC)
32 QDir dir(QApplication::applicationDirPath()); 36 QDir dir(QApplication::applicationDirPath());
diff --git a/rbutil/rbutilqt/progressloggerfrm.ui b/rbutil/rbutilqt/progressloggerfrm.ui
index 5e8dea6932..a46e537a18 100644
--- a/rbutil/rbutilqt/progressloggerfrm.ui
+++ b/rbutil/rbutilqt/progressloggerfrm.ui
@@ -1,7 +1,8 @@
1<ui version="4.0" > 1<?xml version="1.0" encoding="UTF-8"?>
2<ui version="4.0">
2 <class>ProgressLoggerFrm</class> 3 <class>ProgressLoggerFrm</class>
3 <widget class="QDialog" name="ProgressLoggerFrm" > 4 <widget class="QDialog" name="ProgressLoggerFrm">
4 <property name="geometry" > 5 <property name="geometry">
5 <rect> 6 <rect>
6 <x>0</x> 7 <x>0</x>
7 <y>0</y> 8 <y>0</y>
@@ -9,52 +10,62 @@
9 <height>302</height> 10 <height>302</height>
10 </rect> 11 </rect>
11 </property> 12 </property>
12 <property name="windowTitle" > 13 <property name="windowTitle">
13 <string>Progress</string> 14 <string>Progress</string>
14 </property> 15 </property>
15 <layout class="QGridLayout" > 16 <layout class="QGridLayout" name="gridLayout">
16 <item row="0" column="0" colspan="2" > 17 <item row="0" column="0">
17 <widget class="QLabel" name="labelHeader" > 18 <widget class="QLabel" name="labelHeader">
18 <property name="text" > 19 <property name="text">
19 <string>Progress</string> 20 <string>Progress</string>
20 </property> 21 </property>
21 <property name="wordWrap" > 22 <property name="wordWrap">
22 <bool>true</bool> 23 <bool>true</bool>
23 </property> 24 </property>
24 </widget> 25 </widget>
25 </item> 26 </item>
26 <item row="1" column="0" colspan="2" > 27 <item row="1" column="0" colspan="3">
27 <widget class="QListWidget" name="listProgress" > 28 <widget class="QListWidget" name="listProgress">
28 <property name="focusPolicy" > 29 <property name="focusPolicy">
29 <enum>Qt::TabFocus</enum> 30 <enum>Qt::TabFocus</enum>
30 </property> 31 </property>
31 <property name="accessibleName" > 32 <property name="accessibleName">
32 <string>progresswindow</string> 33 <string>progresswindow</string>
33 </property> 34 </property>
34 <property name="tabKeyNavigation" > 35 <property name="tabKeyNavigation">
35 <bool>true</bool> 36 <bool>true</bool>
36 </property> 37 </property>
37 <property name="selectionBehavior" > 38 <property name="selectionBehavior">
38 <enum>QAbstractItemView::SelectRows</enum> 39 <enum>QAbstractItemView::SelectRows</enum>
39 </property> 40 </property>
40 <property name="wordWrap" > 41 <property name="wordWrap">
41 <bool>true</bool> 42 <bool>true</bool>
42 </property> 43 </property>
43 </widget> 44 </widget>
44 </item> 45 </item>
45 <item row="2" column="0" colspan="2" > 46 <item row="2" column="0" colspan="3">
46 <widget class="QProgressBar" name="progressBar" > 47 <widget class="QProgressBar" name="progressBar">
47 <property name="value" > 48 <property name="value">
48 <number>0</number> 49 <number>0</number>
49 </property> 50 </property>
50 </widget> 51 </widget>
51 </item> 52 </item>
52 <item row="3" column="0" > 53 <item row="3" column="0">
54 <widget class="QPushButton" name="saveLog">
55 <property name="enabled">
56 <bool>true</bool>
57 </property>
58 <property name="text">
59 <string>Save Log</string>
60 </property>
61 </widget>
62 </item>
63 <item row="3" column="1">
53 <spacer> 64 <spacer>
54 <property name="orientation" > 65 <property name="orientation">
55 <enum>Qt::Horizontal</enum> 66 <enum>Qt::Horizontal</enum>
56 </property> 67 </property>
57 <property name="sizeHint" stdset="0" > 68 <property name="sizeHint" stdset="0">
58 <size> 69 <size>
59 <width>40</width> 70 <width>40</width>
60 <height>20</height> 71 <height>20</height>
@@ -62,13 +73,13 @@
62 </property> 73 </property>
63 </spacer> 74 </spacer>
64 </item> 75 </item>
65 <item row="3" column="1" > 76 <item row="3" column="2">
66 <widget class="QPushButton" name="buttonAbort" > 77 <widget class="QPushButton" name="buttonAbort">
67 <property name="text" > 78 <property name="text">
68 <string>&amp;Abort</string> 79 <string>&amp;Abort</string>
69 </property> 80 </property>
70 <property name="icon" > 81 <property name="icon">
71 <iconset resource="rbutilqt.qrc" > 82 <iconset resource="rbutilqt.qrc">
72 <normaloff>:/icons/process-stop.png</normaloff>:/icons/process-stop.png</iconset> 83 <normaloff>:/icons/process-stop.png</normaloff>:/icons/process-stop.png</iconset>
73 </property> 84 </property>
74 </widget> 85 </widget>
@@ -76,7 +87,7 @@
76 </layout> 87 </layout>
77 </widget> 88 </widget>
78 <resources> 89 <resources>
79 <include location="rbutilqt.qrc" /> 90 <include location="rbutilqt.qrc"/>
80 </resources> 91 </resources>
81 <connections/> 92 <connections/>
82</ui> 93</ui>
diff --git a/rbutil/rbutilqt/progressloggergui.cpp b/rbutil/rbutilqt/progressloggergui.cpp
index a6405a9619..de2be96165 100644
--- a/rbutil/rbutilqt/progressloggergui.cpp
+++ b/rbutil/rbutilqt/progressloggergui.cpp
@@ -19,12 +19,17 @@
19 19
20#include "progressloggergui.h" 20#include "progressloggergui.h"
21 21
22#include "sysinfo.h"
23#include "systrace.h"
24
22ProgressLoggerGui::ProgressLoggerGui(QWidget* parent): ProgressloggerInterface(parent) 25ProgressLoggerGui::ProgressLoggerGui(QWidget* parent): ProgressloggerInterface(parent)
23{ 26{
24 downloadProgress = new QDialog(parent); 27 downloadProgress = new QDialog(parent);
25 downloadProgress->setModal(true); 28 downloadProgress->setModal(true);
26 dp.setupUi(downloadProgress); 29 dp.setupUi(downloadProgress);
27 dp.listProgress->setAlternatingRowColors(true); 30 dp.listProgress->setAlternatingRowColors(true);
31 dp.saveLog->hide();
32 connect(dp.saveLog,SIGNAL(clicked()),this,SLOT(saveErrorLog()));
28 setRunning(); 33 setRunning();
29} 34}
30 35
@@ -52,6 +57,7 @@ void ProgressLoggerGui::addItem(const QString &text, int flag)
52 break; 57 break;
53 case LOGERROR: 58 case LOGERROR:
54 item->setIcon(QIcon(":/icons/dialog-error.png")); 59 item->setIcon(QIcon(":/icons/dialog-error.png"));
60 dp.saveLog->show();
55 break; 61 break;
56 } 62 }
57 63
@@ -134,4 +140,51 @@ void ProgressLoggerGui::show()
134 downloadProgress->show(); 140 downloadProgress->show();
135} 141}
136 142
143void ProgressLoggerGui::saveErrorLog()
144{
145 QString filename = QFileDialog::getSaveFileName(downloadProgress, tr("Save system trace log"),
146 QDir::homePath(), "*.log");
147
148 QFile file(filename);
149 file.open(QIODevice::WriteOnly);
150
151 //Logger texts
152 QString loggerTexts = "\n*********************************************\n"
153 "*************** Logger *******************\n"
154 "*********************************************\n";
155 file.write(loggerTexts.toUtf8(), loggerTexts.size());
156
157
158 int i=0;
159 loggerTexts = "";
160 while(dp.listProgress->item(i) != NULL)
161 {
162 loggerTexts.append(dp.listProgress->item(i)->text());
163 loggerTexts.append("\n");
164 i++;
165 }
166 file.write(loggerTexts.toUtf8(), loggerTexts.size());
167
168 //systeminfo
169 QString info = "\n*********************************************\n"
170 "************ SYSTEMINFO *******************\n"
171 "*********************************************\n";
172
173 file.write(info.toUtf8(), info.size());
174 info = Sysinfo::getInfo();
175 info.replace(QRegExp("(<[^>]+>)+"),"\n");
176 file.write(info.toUtf8(), info.size());
177
178 // trace
179 QString trace = "\n*********************************************\n"
180 "*********** TRACE **************************\n"
181 "*********************************************\n";
182 file.write(trace.toUtf8(), trace.size());
183 trace = SysTrace::getTrace();
184 file.write(trace.toUtf8(), trace.size());
185
186 file.close();
187}
188
189
137 190
diff --git a/rbutil/rbutilqt/progressloggergui.h b/rbutil/rbutilqt/progressloggergui.h
index c5e8c449ce..a0c24d6a26 100644
--- a/rbutil/rbutilqt/progressloggergui.h
+++ b/rbutil/rbutilqt/progressloggergui.h
@@ -51,6 +51,7 @@ public slots:
51 virtual void setRunning(); 51 virtual void setRunning();
52 virtual void setFinished(); 52 virtual void setFinished();
53 53
54 void saveErrorLog();
54private: 55private:
55 Ui::ProgressLoggerFrm dp; 56 Ui::ProgressLoggerFrm dp;
56 QDialog *downloadProgress; 57 QDialog *downloadProgress;
diff --git a/rbutil/rbutilqt/rbutilqt.cpp b/rbutil/rbutilqt/rbutilqt.cpp
index af79f2edef..f2630e41ff 100644
--- a/rbutil/rbutilqt/rbutilqt.cpp
+++ b/rbutil/rbutilqt/rbutilqt.cpp
@@ -34,6 +34,7 @@
34#include "rbzip.h" 34#include "rbzip.h"
35#include "sysinfo.h" 35#include "sysinfo.h"
36#include "system.h" 36#include "system.h"
37#include "systrace.h"
37#include "rbsettings.h" 38#include "rbsettings.h"
38 39
39#include "progressloggerinterface.h" 40#include "progressloggerinterface.h"
@@ -124,6 +125,7 @@ RbUtilQt::RbUtilQt(QWidget *parent) : QMainWindow(parent)
124 connect(ui.actionRemove_bootloader, SIGNAL(triggered()), this, SLOT(uninstallBootloader())); 125 connect(ui.actionRemove_bootloader, SIGNAL(triggered()), this, SLOT(uninstallBootloader()));
125 connect(ui.actionUninstall_Rockbox, SIGNAL(triggered()), this, SLOT(uninstall())); 126 connect(ui.actionUninstall_Rockbox, SIGNAL(triggered()), this, SLOT(uninstall()));
126 connect(ui.action_System_Info, SIGNAL(triggered()), this, SLOT(sysinfo())); 127 connect(ui.action_System_Info, SIGNAL(triggered()), this, SLOT(sysinfo()));
128 connect(ui.action_Trace, SIGNAL(triggered()), this, SLOT(trace()));
127 129
128#if !defined(STATIC) 130#if !defined(STATIC)
129 ui.actionInstall_Rockbox_Utility_on_player->setEnabled(false); 131 ui.actionInstall_Rockbox_Utility_on_player->setEnabled(false);
@@ -134,10 +136,16 @@ RbUtilQt::RbUtilQt(QWidget *parent) : QMainWindow(parent)
134} 136}
135 137
136 138
139void RbUtilQt::trace(void)
140{
141 SysTrace wnd(this);
142 wnd.exec();
143}
144
137void RbUtilQt::sysinfo(void) 145void RbUtilQt::sysinfo(void)
138{ 146{
139 Sysinfo *info = new Sysinfo(this); 147 Sysinfo info(this);
140 info->show(); 148 info.exec();
141} 149}
142 150
143void RbUtilQt::updateTabs(int count) 151void RbUtilQt::updateTabs(int count)
diff --git a/rbutil/rbutilqt/rbutilqt.h b/rbutil/rbutilqt/rbutilqt.h
index 10bef6e8b8..b5368c9ae3 100644
--- a/rbutil/rbutilqt/rbutilqt.h
+++ b/rbutil/rbutilqt/rbutilqt.h
@@ -41,7 +41,7 @@ class RbUtilQt : public QMainWindow
41 41
42 private: 42 private:
43 Ui::RbUtilQtFrm ui; 43 Ui::RbUtilQtFrm ui;
44 44
45 void initDeviceNames(void); 45 void initDeviceNames(void);
46 QString deviceName(QString); 46 QString deviceName(QString);
47 QString platform; 47 QString platform;
@@ -67,6 +67,7 @@ class RbUtilQt : public QMainWindow
67 void about(void); 67 void about(void);
68 void help(void); 68 void help(void);
69 void sysinfo(void); 69 void sysinfo(void);
70 void trace(void);
70 void configDialog(void); 71 void configDialog(void);
71 void updateDevice(void); 72 void updateDevice(void);
72 void updateSettings(void); 73 void updateSettings(void);
diff --git a/rbutil/rbutilqt/rbutilqt.pro b/rbutil/rbutilqt/rbutilqt.pro
index 97f717f6de..cf7f944824 100644
--- a/rbutil/rbutilqt/rbutilqt.pro
+++ b/rbutil/rbutilqt/rbutilqt.pro
@@ -42,7 +42,7 @@ QMAKE_EXTRA_TARGETS += lrelease
42 PRE_TARGETDEPS += lrelease 42 PRE_TARGETDEPS += lrelease
43} 43}
44 44
45#custum rules for libucl.a 45#custom rules for libucl.a
46!mac { 46!mac {
47libucl.commands = @$(MAKE) -C ../../tools/ucl/src libucl.a 47libucl.commands = @$(MAKE) -C ../../tools/ucl/src libucl.a
48} 48}
@@ -52,7 +52,7 @@ libucl.commands = @$(MAKE) -C ../../tools/ucl/src libucl-universal
52QMAKE_EXTRA_TARGETS += libucl 52QMAKE_EXTRA_TARGETS += libucl
53PRE_TARGETDEPS += libucl 53PRE_TARGETDEPS += libucl
54 54
55#custum rules for libmkamsboot.a 55#custom rules for libmkamsboot.a
56!mac { 56!mac {
57libmkamsboot.commands = @$(MAKE) -C ../mkamsboot libmkamsboot.a 57libmkamsboot.commands = @$(MAKE) -C ../mkamsboot libmkamsboot.a
58} 58}
@@ -96,6 +96,7 @@ SOURCES += rbutilqt.cpp \
96 base/rbzip.cpp \ 96 base/rbzip.cpp \
97 base/system.cpp \ 97 base/system.cpp \
98 sysinfo.cpp \ 98 sysinfo.cpp \
99 systrace.cpp \
99 base/bootloaderinstallbase.cpp \ 100 base/bootloaderinstallbase.cpp \
100 base/bootloaderinstallmi4.cpp \ 101 base/bootloaderinstallmi4.cpp \
101 base/bootloaderinstallhex.cpp \ 102 base/bootloaderinstallhex.cpp \
@@ -150,6 +151,7 @@ HEADERS += rbutilqt.h \
150 base/rbzip.h \ 151 base/rbzip.h \
151 sysinfo.h \ 152 sysinfo.h \
152 base/system.h \ 153 base/system.h \
154 systrace.h \
153 base/bootloaderinstallbase.h \ 155 base/bootloaderinstallbase.h \
154 base/bootloaderinstallmi4.h \ 156 base/bootloaderinstallmi4.h \
155 base/bootloaderinstallhex.h \ 157 base/bootloaderinstallhex.h \
@@ -174,7 +176,8 @@ dbg {
174} 176}
175!dbg { 177!dbg {
176 CONFIG += release thread qt 178 CONFIG += release thread qt
177 DEFINES += QT_NO_DEBUG_OUTPUT 179 DEFINES -= QT_NO_DEBUG_OUTPUT
180 DEFINES += NODEBUG
178 message("release") 181 message("release")
179} 182}
180 183
@@ -191,7 +194,8 @@ FORMS += rbutilqtfrm.ui \
191 uninstallfrm.ui \ 194 uninstallfrm.ui \
192 previewfrm.ui \ 195 previewfrm.ui \
193 createvoicefrm.ui \ 196 createvoicefrm.ui \
194 sysinfofrm.ui 197 sysinfofrm.ui \
198 systracefrm.ui
195 199
196RESOURCES += rbutilqt.qrc 200RESOURCES += rbutilqt.qrc
197win32 { 201win32 {
diff --git a/rbutil/rbutilqt/rbutilqtfrm.ui b/rbutil/rbutilqt/rbutilqtfrm.ui
index ba94259557..013da62500 100644
--- a/rbutil/rbutilqt/rbutilqtfrm.ui
+++ b/rbutil/rbutilqt/rbutilqtfrm.ui
@@ -13,7 +13,8 @@
13 <string>Rockbox Utility</string> 13 <string>Rockbox Utility</string>
14 </property> 14 </property>
15 <property name="windowIcon" > 15 <property name="windowIcon" >
16 <iconset resource="rbutilqt.qrc" >:/icons/rockbox-1.png</iconset> 16 <iconset resource="rbutilqt.qrc" >
17 <normaloff>:/icons/rockbox-1.png</normaloff>:/icons/rockbox-1.png</iconset>
17 </property> 18 </property>
18 <widget class="QWidget" name="centralwidget" > 19 <widget class="QWidget" name="centralwidget" >
19 <layout class="QGridLayout" > 20 <layout class="QGridLayout" >
@@ -22,16 +23,7 @@
22 <property name="spacing" > 23 <property name="spacing" >
23 <number>6</number> 24 <number>6</number>
24 </property> 25 </property>
25 <property name="leftMargin" > 26 <property name="margin" >
26 <number>0</number>
27 </property>
28 <property name="topMargin" >
29 <number>0</number>
30 </property>
31 <property name="rightMargin" >
32 <number>0</number>
33 </property>
34 <property name="bottomMargin" >
35 <number>0</number> 27 <number>0</number>
36 </property> 28 </property>
37 <item> 29 <item>
@@ -39,7 +31,7 @@
39 <property name="orientation" > 31 <property name="orientation" >
40 <enum>Qt::Horizontal</enum> 32 <enum>Qt::Horizontal</enum>
41 </property> 33 </property>
42 <property name="sizeHint" > 34 <property name="sizeHint" stdset="0" >
43 <size> 35 <size>
44 <width>40</width> 36 <width>40</width>
45 <height>20</height> 37 <height>20</height>
@@ -62,7 +54,7 @@
62 <property name="orientation" > 54 <property name="orientation" >
63 <enum>Qt::Horizontal</enum> 55 <enum>Qt::Horizontal</enum>
64 </property> 56 </property>
65 <property name="sizeHint" > 57 <property name="sizeHint" stdset="0" >
66 <size> 58 <size>
67 <width>40</width> 59 <width>40</width>
68 <height>20</height> 60 <height>20</height>
@@ -103,7 +95,7 @@
103 <property name="orientation" > 95 <property name="orientation" >
104 <enum>Qt::Horizontal</enum> 96 <enum>Qt::Horizontal</enum>
105 </property> 97 </property>
106 <property name="sizeHint" > 98 <property name="sizeHint" stdset="0" >
107 <size> 99 <size>
108 <width>40</width> 100 <width>40</width>
109 <height>20</height> 101 <height>20</height>
@@ -117,7 +109,8 @@
117 <string>&amp;Change</string> 109 <string>&amp;Change</string>
118 </property> 110 </property>
119 <property name="icon" > 111 <property name="icon" >
120 <iconset resource="rbutilqt.qrc" >:/icons/edit-find.png</iconset> 112 <iconset resource="rbutilqt.qrc" >
113 <normaloff>:/icons/edit-find.png</normaloff>:/icons/edit-find.png</iconset>
121 </property> 114 </property>
122 </widget> 115 </widget>
123 </item> 116 </item>
@@ -143,7 +136,8 @@
143 <string>Complete Installation</string> 136 <string>Complete Installation</string>
144 </property> 137 </property>
145 <property name="icon" > 138 <property name="icon" >
146 <iconset resource="rbutilqt.qrc" >:/icons/bootloader_btn.png</iconset> 139 <iconset resource="rbutilqt.qrc" >
140 <normaloff>:/icons/bootloader_btn.png</normaloff>:/icons/bootloader_btn.png</iconset>
147 </property> 141 </property>
148 <property name="iconSize" > 142 <property name="iconSize" >
149 <size> 143 <size>
@@ -172,7 +166,8 @@
172 <string>Minimal Installation</string> 166 <string>Minimal Installation</string>
173 </property> 167 </property>
174 <property name="icon" > 168 <property name="icon" >
175 <iconset resource="rbutilqt.qrc" >:/icons/rbinstall_btn.png</iconset> 169 <iconset resource="rbutilqt.qrc" >
170 <normaloff>:/icons/rbinstall_btn.png</normaloff>:/icons/rbinstall_btn.png</iconset>
176 </property> 171 </property>
177 <property name="iconSize" > 172 <property name="iconSize" >
178 <size> 173 <size>
@@ -200,7 +195,7 @@
200 <property name="orientation" > 195 <property name="orientation" >
201 <enum>Qt::Vertical</enum> 196 <enum>Qt::Vertical</enum>
202 </property> 197 </property>
203 <property name="sizeHint" > 198 <property name="sizeHint" stdset="0" >
204 <size> 199 <size>
205 <width>20</width> 200 <width>20</width>
206 <height>91</height> 201 <height>91</height>
@@ -213,7 +208,7 @@
213 <property name="orientation" > 208 <property name="orientation" >
214 <enum>Qt::Vertical</enum> 209 <enum>Qt::Vertical</enum>
215 </property> 210 </property>
216 <property name="sizeHint" > 211 <property name="sizeHint" stdset="0" >
217 <size> 212 <size>
218 <width>20</width> 213 <width>20</width>
219 <height>81</height> 214 <height>81</height>
@@ -237,7 +232,8 @@
237 <string>Install Bootloader</string> 232 <string>Install Bootloader</string>
238 </property> 233 </property>
239 <property name="icon" > 234 <property name="icon" >
240 <iconset resource="rbutilqt.qrc" >:/icons/bootloader_btn.png</iconset> 235 <iconset resource="rbutilqt.qrc" >
236 <normaloff>:/icons/bootloader_btn.png</normaloff>:/icons/bootloader_btn.png</iconset>
241 </property> 237 </property>
242 <property name="iconSize" > 238 <property name="iconSize" >
243 <size> 239 <size>
@@ -266,7 +262,8 @@
266 <string>Install Rockbox</string> 262 <string>Install Rockbox</string>
267 </property> 263 </property>
268 <property name="icon" > 264 <property name="icon" >
269 <iconset resource="rbutilqt.qrc" >:/icons/rbinstall_btn.png</iconset> 265 <iconset resource="rbutilqt.qrc" >
266 <normaloff>:/icons/rbinstall_btn.png</normaloff>:/icons/rbinstall_btn.png</iconset>
270 </property> 267 </property>
271 <property name="iconSize" > 268 <property name="iconSize" >
272 <size> 269 <size>
@@ -297,7 +294,7 @@
297 <property name="orientation" > 294 <property name="orientation" >
298 <enum>Qt::Vertical</enum> 295 <enum>Qt::Vertical</enum>
299 </property> 296 </property>
300 <property name="sizeHint" > 297 <property name="sizeHint" stdset="0" >
301 <size> 298 <size>
302 <width>20</width> 299 <width>20</width>
303 <height>91</height> 300 <height>91</height>
@@ -310,7 +307,7 @@
310 <property name="orientation" > 307 <property name="orientation" >
311 <enum>Qt::Vertical</enum> 308 <enum>Qt::Vertical</enum>
312 </property> 309 </property>
313 <property name="sizeHint" > 310 <property name="sizeHint" stdset="0" >
314 <size> 311 <size>
315 <width>20</width> 312 <width>20</width>
316 <height>81</height> 313 <height>81</height>
@@ -334,7 +331,8 @@
334 <string>Install Fonts package</string> 331 <string>Install Fonts package</string>
335 </property> 332 </property>
336 <property name="icon" > 333 <property name="icon" >
337 <iconset resource="rbutilqt.qrc" >:/icons/font_btn.png</iconset> 334 <iconset resource="rbutilqt.qrc" >
335 <normaloff>:/icons/font_btn.png</normaloff>:/icons/font_btn.png</iconset>
338 </property> 336 </property>
339 <property name="iconSize" > 337 <property name="iconSize" >
340 <size> 338 <size>
@@ -360,7 +358,8 @@
360 <string>Install themes</string> 358 <string>Install themes</string>
361 </property> 359 </property>
362 <property name="icon" > 360 <property name="icon" >
363 <iconset resource="rbutilqt.qrc" >:/icons/themes_btn.png</iconset> 361 <iconset resource="rbutilqt.qrc" >
362 <normaloff>:/icons/themes_btn.png</normaloff>:/icons/themes_btn.png</iconset>
364 </property> 363 </property>
365 <property name="iconSize" > 364 <property name="iconSize" >
366 <size> 365 <size>
@@ -386,7 +385,8 @@
386 <string>Install game files</string> 385 <string>Install game files</string>
387 </property> 386 </property>
388 <property name="icon" > 387 <property name="icon" >
389 <iconset resource="rbutilqt.qrc" >:/icons/doom_btn.png</iconset> 388 <iconset resource="rbutilqt.qrc" >
389 <normaloff>:/icons/doom_btn.png</normaloff>:/icons/doom_btn.png</iconset>
390 </property> 390 </property>
391 <property name="iconSize" > 391 <property name="iconSize" >
392 <size> 392 <size>
@@ -411,7 +411,7 @@
411 <property name="orientation" > 411 <property name="orientation" >
412 <enum>Qt::Vertical</enum> 412 <enum>Qt::Vertical</enum>
413 </property> 413 </property>
414 <property name="sizeHint" > 414 <property name="sizeHint" stdset="0" >
415 <size> 415 <size>
416 <width>20</width> 416 <width>20</width>
417 <height>40</height> 417 <height>40</height>
@@ -424,7 +424,7 @@
424 <property name="orientation" > 424 <property name="orientation" >
425 <enum>Qt::Vertical</enum> 425 <enum>Qt::Vertical</enum>
426 </property> 426 </property>
427 <property name="sizeHint" > 427 <property name="sizeHint" stdset="0" >
428 <size> 428 <size>
429 <width>20</width> 429 <width>20</width>
430 <height>40</height> 430 <height>40</height>
@@ -448,7 +448,8 @@
448 <string>Install Voice files</string> 448 <string>Install Voice files</string>
449 </property> 449 </property>
450 <property name="icon" > 450 <property name="icon" >
451 <iconset resource="rbutilqt.qrc" >:/icons/talkfile_btn.png</iconset> 451 <iconset resource="rbutilqt.qrc" >
452 <normaloff>:/icons/talkfile_btn.png</normaloff>:/icons/talkfile_btn.png</iconset>
452 </property> 453 </property>
453 <property name="iconSize" > 454 <property name="iconSize" >
454 <size> 455 <size>
@@ -474,7 +475,8 @@
474 <string>Install Talk files</string> 475 <string>Install Talk files</string>
475 </property> 476 </property>
476 <property name="icon" > 477 <property name="icon" >
477 <iconset resource="rbutilqt.qrc" >:/icons/talkfile_btn.png</iconset> 478 <iconset resource="rbutilqt.qrc" >
479 <normaloff>:/icons/talkfile_btn.png</normaloff>:/icons/talkfile_btn.png</iconset>
478 </property> 480 </property>
479 <property name="iconSize" > 481 <property name="iconSize" >
480 <size> 482 <size>
@@ -496,7 +498,7 @@
496 <property name="orientation" > 498 <property name="orientation" >
497 <enum>Qt::Vertical</enum> 499 <enum>Qt::Vertical</enum>
498 </property> 500 </property>
499 <property name="sizeHint" > 501 <property name="sizeHint" stdset="0" >
500 <size> 502 <size>
501 <width>20</width> 503 <width>20</width>
502 <height>51</height> 504 <height>51</height>
@@ -509,7 +511,7 @@
509 <property name="orientation" > 511 <property name="orientation" >
510 <enum>Qt::Vertical</enum> 512 <enum>Qt::Vertical</enum>
511 </property> 513 </property>
512 <property name="sizeHint" > 514 <property name="sizeHint" stdset="0" >
513 <size> 515 <size>
514 <width>20</width> 516 <width>20</width>
515 <height>51</height> 517 <height>51</height>
@@ -523,7 +525,8 @@
523 <string>Create Voice files</string> 525 <string>Create Voice files</string>
524 </property> 526 </property>
525 <property name="icon" > 527 <property name="icon" >
526 <iconset resource="rbutilqt.qrc" >:/icons/talkfile_btn.png</iconset> 528 <iconset resource="rbutilqt.qrc" >
529 <normaloff>:/icons/talkfile_btn.png</normaloff>:/icons/talkfile_btn.png</iconset>
527 </property> 530 </property>
528 <property name="iconSize" > 531 <property name="iconSize" >
529 <size> 532 <size>
@@ -560,7 +563,8 @@
560 <string>Uninstall Bootloader</string> 563 <string>Uninstall Bootloader</string>
561 </property> 564 </property>
562 <property name="icon" > 565 <property name="icon" >
563 <iconset resource="rbutilqt.qrc" >:/icons/rembootloader_btn.png</iconset> 566 <iconset resource="rbutilqt.qrc" >
567 <normaloff>:/icons/rembootloader_btn.png</normaloff>:/icons/rembootloader_btn.png</iconset>
564 </property> 568 </property>
565 <property name="iconSize" > 569 <property name="iconSize" >
566 <size> 570 <size>
@@ -586,7 +590,8 @@
586 <string>Uninstall Rockbox</string> 590 <string>Uninstall Rockbox</string>
587 </property> 591 </property>
588 <property name="icon" > 592 <property name="icon" >
589 <iconset resource="rbutilqt.qrc" >:/icons/remrb_btn.png</iconset> 593 <iconset resource="rbutilqt.qrc" >
594 <normaloff>:/icons/remrb_btn.png</normaloff>:/icons/remrb_btn.png</iconset>
590 </property> 595 </property>
591 <property name="iconSize" > 596 <property name="iconSize" >
592 <size> 597 <size>
@@ -617,7 +622,7 @@
617 <property name="orientation" > 622 <property name="orientation" >
618 <enum>Qt::Vertical</enum> 623 <enum>Qt::Vertical</enum>
619 </property> 624 </property>
620 <property name="sizeHint" > 625 <property name="sizeHint" stdset="0" >
621 <size> 626 <size>
622 <width>20</width> 627 <width>20</width>
623 <height>40</height> 628 <height>40</height>
@@ -630,7 +635,7 @@
630 <property name="orientation" > 635 <property name="orientation" >
631 <enum>Qt::Vertical</enum> 636 <enum>Qt::Vertical</enum>
632 </property> 637 </property>
633 <property name="sizeHint" > 638 <property name="sizeHint" stdset="0" >
634 <size> 639 <size>
635 <width>20</width> 640 <width>20</width>
636 <height>40</height> 641 <height>40</height>
@@ -663,7 +668,7 @@
663 <bool>true</bool> 668 <bool>true</bool>
664 </property> 669 </property>
665 <property name="textInteractionFlags" > 670 <property name="textInteractionFlags" >
666 <set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::NoTextInteraction</set> 671 <set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse</set>
667 </property> 672 </property>
668 </widget> 673 </widget>
669 </item> 674 </item>
@@ -676,7 +681,7 @@
676 <bool>true</bool> 681 <bool>true</bool>
677 </property> 682 </property>
678 <property name="textInteractionFlags" > 683 <property name="textInteractionFlags" >
679 <set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::NoTextInteraction</set> 684 <set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse</set>
680 </property> 685 </property>
681 </widget> 686 </widget>
682 </item> 687 </item>
@@ -712,7 +717,7 @@
712 <property name="orientation" > 717 <property name="orientation" >
713 <enum>Qt::Horizontal</enum> 718 <enum>Qt::Horizontal</enum>
714 </property> 719 </property>
715 <property name="sizeHint" > 720 <property name="sizeHint" stdset="0" >
716 <size> 721 <size>
717 <width>40</width> 722 <width>40</width>
718 <height>20</height> 723 <height>20</height>
@@ -735,7 +740,7 @@
735 <property name="orientation" > 740 <property name="orientation" >
736 <enum>Qt::Vertical</enum> 741 <enum>Qt::Vertical</enum>
737 </property> 742 </property>
738 <property name="sizeHint" > 743 <property name="sizeHint" stdset="0" >
739 <size> 744 <size>
740 <width>20</width> 745 <width>20</width>
741 <height>40</height> 746 <height>40</height>
@@ -784,7 +789,7 @@
784 <x>0</x> 789 <x>0</x>
785 <y>0</y> 790 <y>0</y>
786 <width>650</width> 791 <width>650</width>
787 <height>28</height> 792 <height>31</height>
788 </rect> 793 </rect>
789 </property> 794 </property>
790 <widget class="QMenu" name="menu_File" > 795 <widget class="QMenu" name="menu_File" >
@@ -800,10 +805,17 @@
800 <property name="title" > 805 <property name="title" >
801 <string>Abou&amp;t</string> 806 <string>Abou&amp;t</string>
802 </property> 807 </property>
808 <widget class="QMenu" name="menu_Troubleshoot" >
809 <property name="title" >
810 <string>&amp;Troubleshoot</string>
811 </property>
812 <addaction name="action_System_Info" />
813 <addaction name="action_Trace" />
814 </widget>
803 <addaction name="action_About" /> 815 <addaction name="action_About" />
804 <addaction name="actionAbout_Qt" /> 816 <addaction name="actionAbout_Qt" />
805 <addaction name="separator" /> 817 <addaction name="separator" />
806 <addaction name="action_System_Info" /> 818 <addaction name="menu_Troubleshoot" />
807 <addaction name="action_Help" /> 819 <addaction name="action_Help" />
808 </widget> 820 </widget>
809 <widget class="QMenu" name="menuA_ctions" > 821 <widget class="QMenu" name="menuA_ctions" >
@@ -903,7 +915,8 @@
903 </action> 915 </action>
904 <action name="actionComplete_Installation" > 916 <action name="actionComplete_Installation" >
905 <property name="icon" > 917 <property name="icon" >
906 <iconset resource="rbutilqt.qrc" >:/icons/bootloader_btn.png</iconset> 918 <iconset resource="rbutilqt.qrc" >
919 <normaloff>:/icons/bootloader_btn.png</normaloff>:/icons/bootloader_btn.png</iconset>
907 </property> 920 </property>
908 <property name="text" > 921 <property name="text" >
909 <string>&amp;Complete Installation</string> 922 <string>&amp;Complete Installation</string>
@@ -911,7 +924,8 @@
911 </action> 924 </action>
912 <action name="actionSmall_Installation" > 925 <action name="actionSmall_Installation" >
913 <property name="icon" > 926 <property name="icon" >
914 <iconset resource="rbutilqt.qrc" >:/icons/rbinstall_btn.png</iconset> 927 <iconset resource="rbutilqt.qrc" >
928 <normaloff>:/icons/rbinstall_btn.png</normaloff>:/icons/rbinstall_btn.png</iconset>
915 </property> 929 </property>
916 <property name="text" > 930 <property name="text" >
917 <string>&amp;Minimal Installation</string> 931 <string>&amp;Minimal Installation</string>
@@ -919,7 +933,8 @@
919 </action> 933 </action>
920 <action name="actionInstall_Bootloader" > 934 <action name="actionInstall_Bootloader" >
921 <property name="icon" > 935 <property name="icon" >
922 <iconset resource="rbutilqt.qrc" >:/icons/bootloader_btn.png</iconset> 936 <iconset resource="rbutilqt.qrc" >
937 <normaloff>:/icons/bootloader_btn.png</normaloff>:/icons/bootloader_btn.png</iconset>
923 </property> 938 </property>
924 <property name="text" > 939 <property name="text" >
925 <string>Install &amp;Bootloader</string> 940 <string>Install &amp;Bootloader</string>
@@ -927,7 +942,8 @@
927 </action> 942 </action>
928 <action name="actionInstall_Rockbox" > 943 <action name="actionInstall_Rockbox" >
929 <property name="icon" > 944 <property name="icon" >
930 <iconset resource="rbutilqt.qrc" >:/icons/rbinstall_btn.png</iconset> 945 <iconset resource="rbutilqt.qrc" >
946 <normaloff>:/icons/rbinstall_btn.png</normaloff>:/icons/rbinstall_btn.png</iconset>
931 </property> 947 </property>
932 <property name="text" > 948 <property name="text" >
933 <string>Install &amp;Rockbox</string> 949 <string>Install &amp;Rockbox</string>
@@ -935,7 +951,8 @@
935 </action> 951 </action>
936 <action name="actionFonts_Package" > 952 <action name="actionFonts_Package" >
937 <property name="icon" > 953 <property name="icon" >
938 <iconset resource="rbutilqt.qrc" >:/icons/font_btn.png</iconset> 954 <iconset resource="rbutilqt.qrc" >
955 <normaloff>:/icons/font_btn.png</normaloff>:/icons/font_btn.png</iconset>
939 </property> 956 </property>
940 <property name="text" > 957 <property name="text" >
941 <string>Install &amp;Fonts Package</string> 958 <string>Install &amp;Fonts Package</string>
@@ -943,7 +960,8 @@
943 </action> 960 </action>
944 <action name="actionInstall_Themes" > 961 <action name="actionInstall_Themes" >
945 <property name="icon" > 962 <property name="icon" >
946 <iconset resource="rbutilqt.qrc" >:/icons/themes_btn.png</iconset> 963 <iconset resource="rbutilqt.qrc" >
964 <normaloff>:/icons/themes_btn.png</normaloff>:/icons/themes_btn.png</iconset>
947 </property> 965 </property>
948 <property name="text" > 966 <property name="text" >
949 <string>Install &amp;Themes</string> 967 <string>Install &amp;Themes</string>
@@ -951,7 +969,8 @@
951 </action> 969 </action>
952 <action name="actionInstall_Game_Files" > 970 <action name="actionInstall_Game_Files" >
953 <property name="icon" > 971 <property name="icon" >
954 <iconset resource="rbutilqt.qrc" >:/icons/doom_btn.png</iconset> 972 <iconset resource="rbutilqt.qrc" >
973 <normaloff>:/icons/doom_btn.png</normaloff>:/icons/doom_btn.png</iconset>
955 </property> 974 </property>
956 <property name="text" > 975 <property name="text" >
957 <string>Install &amp;Game Files</string> 976 <string>Install &amp;Game Files</string>
@@ -959,7 +978,8 @@
959 </action> 978 </action>
960 <action name="actionInstall_Voice_File" > 979 <action name="actionInstall_Voice_File" >
961 <property name="icon" > 980 <property name="icon" >
962 <iconset resource="rbutilqt.qrc" >:/icons/talkfile_btn.png</iconset> 981 <iconset resource="rbutilqt.qrc" >
982 <normaloff>:/icons/talkfile_btn.png</normaloff>:/icons/talkfile_btn.png</iconset>
963 </property> 983 </property>
964 <property name="text" > 984 <property name="text" >
965 <string>&amp;Install Voice File</string> 985 <string>&amp;Install Voice File</string>
@@ -967,7 +987,8 @@
967 </action> 987 </action>
968 <action name="actionCreate_Talk_Files" > 988 <action name="actionCreate_Talk_Files" >
969 <property name="icon" > 989 <property name="icon" >
970 <iconset resource="rbutilqt.qrc" >:/icons/talkfile_btn.png</iconset> 990 <iconset resource="rbutilqt.qrc" >
991 <normaloff>:/icons/talkfile_btn.png</normaloff>:/icons/talkfile_btn.png</iconset>
971 </property> 992 </property>
972 <property name="text" > 993 <property name="text" >
973 <string>Create &amp;Talk Files</string> 994 <string>Create &amp;Talk Files</string>
@@ -975,7 +996,8 @@
975 </action> 996 </action>
976 <action name="actionRemove_bootloader" > 997 <action name="actionRemove_bootloader" >
977 <property name="icon" > 998 <property name="icon" >
978 <iconset resource="rbutilqt.qrc" >:/icons/rembootloader_btn.png</iconset> 999 <iconset resource="rbutilqt.qrc" >
1000 <normaloff>:/icons/rembootloader_btn.png</normaloff>:/icons/rembootloader_btn.png</iconset>
979 </property> 1001 </property>
980 <property name="text" > 1002 <property name="text" >
981 <string>Remove &amp;bootloader</string> 1003 <string>Remove &amp;bootloader</string>
@@ -983,7 +1005,8 @@
983 </action> 1005 </action>
984 <action name="actionUninstall_Rockbox" > 1006 <action name="actionUninstall_Rockbox" >
985 <property name="icon" > 1007 <property name="icon" >
986 <iconset resource="rbutilqt.qrc" >:/icons/remrb_btn.png</iconset> 1008 <iconset resource="rbutilqt.qrc" >
1009 <normaloff>:/icons/remrb_btn.png</normaloff>:/icons/remrb_btn.png</iconset>
987 </property> 1010 </property>
988 <property name="text" > 1011 <property name="text" >
989 <string>Uninstall &amp;Rockbox</string> 1012 <string>Uninstall &amp;Rockbox</string>
@@ -1011,7 +1034,8 @@
1011 </action> 1034 </action>
1012 <action name="actionCreate_Voice_File" > 1035 <action name="actionCreate_Voice_File" >
1013 <property name="icon" > 1036 <property name="icon" >
1014 <iconset resource="rbutilqt.qrc" >:/icons/talkfile_btn.png</iconset> 1037 <iconset resource="rbutilqt.qrc" >
1038 <normaloff>:/icons/talkfile_btn.png</normaloff>:/icons/talkfile_btn.png</iconset>
1015 </property> 1039 </property>
1016 <property name="text" > 1040 <property name="text" >
1017 <string>Create &amp;Voice File</string> 1041 <string>Create &amp;Voice File</string>
@@ -1025,6 +1049,11 @@
1025 <string>&amp;System Info</string> 1049 <string>&amp;System Info</string>
1026 </property> 1050 </property>
1027 </action> 1051 </action>
1052 <action name="action_Trace" >
1053 <property name="text" >
1054 <string>System &amp;Trace</string>
1055 </property>
1056 </action>
1028 </widget> 1057 </widget>
1029 <tabstops> 1058 <tabstops>
1030 <tabstop>tabWidget</tabstop> 1059 <tabstop>tabWidget</tabstop>
diff --git a/rbutil/rbutilqt/sysinfo.cpp b/rbutil/rbutilqt/sysinfo.cpp
index ca34b4b063..65818df068 100644
--- a/rbutil/rbutilqt/sysinfo.cpp
+++ b/rbutil/rbutilqt/sysinfo.cpp
@@ -28,8 +28,7 @@
28Sysinfo::Sysinfo(QWidget *parent) : QDialog(parent) 28Sysinfo::Sysinfo(QWidget *parent) : QDialog(parent)
29{ 29{
30 ui.setupUi(this); 30 ui.setupUi(this);
31 this->setModal(true); 31
32
33 updateSysinfo(); 32 updateSysinfo();
34 connect(ui.buttonOk, SIGNAL(clicked()), this, SLOT(close())); 33 connect(ui.buttonOk, SIGNAL(clicked()), this, SLOT(close()));
35 connect(ui.buttonRefresh, SIGNAL(clicked()), this, SLOT(updateSysinfo())); 34 connect(ui.buttonRefresh, SIGNAL(clicked()), this, SLOT(updateSysinfo()));
@@ -37,6 +36,11 @@ Sysinfo::Sysinfo(QWidget *parent) : QDialog(parent)
37 36
38void Sysinfo::updateSysinfo(void) 37void Sysinfo::updateSysinfo(void)
39{ 38{
39 ui.textBrowser->setHtml(getInfo());
40}
41
42QString Sysinfo::getInfo()
43{
40 QString info; 44 QString info;
41 info += tr("<b>OS</b><br/>") + System::osVersionString() + "<hr/>"; 45 info += tr("<b>OS</b><br/>") + System::osVersionString() + "<hr/>";
42 info += tr("<b>Username</b><br/>%1<hr/>").arg(System::userName()); 46 info += tr("<b>Username</b><br/>%1<hr/>").arg(System::userName());
@@ -67,6 +71,7 @@ void Sysinfo::updateSysinfo(void)
67 } 71 }
68 info += "<hr/>"; 72 info += "<hr/>";
69 73
70 ui.textBrowser->setHtml(info); 74 return info;
71} 75}
72 76
77
diff --git a/rbutil/rbutilqt/sysinfo.h b/rbutil/rbutilqt/sysinfo.h
index 86a86f0e21..5195113643 100644
--- a/rbutil/rbutilqt/sysinfo.h
+++ b/rbutil/rbutilqt/sysinfo.h
@@ -31,7 +31,8 @@ class Sysinfo : public QDialog
31 31
32 public: 32 public:
33 Sysinfo(QWidget *parent = 0); 33 Sysinfo(QWidget *parent = 0);
34 34
35 static QString getInfo();
35 private: 36 private:
36 Ui::SysinfoFrm ui; 37 Ui::SysinfoFrm ui;
37 38
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
diff --git a/rbutil/rbutilqt/systrace.h b/rbutil/rbutilqt/systrace.h
new file mode 100644
index 0000000000..a8253ce9e6
--- /dev/null
+++ b/rbutil/rbutilqt/systrace.h
@@ -0,0 +1,47 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 *
9 * Copyright (C) 2007 by Dominik Riebeling
10 * $Id$
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21
22#ifndef SYSTRACE_H
23#define SYSTRACE_H
24
25#include <QtGui>
26#include "ui_systracefrm.h"
27
28class SysTrace : public QDialog
29{
30 Q_OBJECT
31 public:
32 SysTrace(QWidget *parent);
33 static void debug(QtMsgType type, const char* msg);
34
35 static QString getTrace() {return debugbuffer;}
36 private:
37 Ui::SysTraceFrm ui;
38 static QString debugbuffer;
39
40 private slots:
41 void save(void);
42 void refresh(void);
43
44};
45
46#endif
47
diff --git a/rbutil/rbutilqt/systracefrm.ui b/rbutil/rbutilqt/systracefrm.ui
new file mode 100644
index 0000000000..450ab993e1
--- /dev/null
+++ b/rbutil/rbutilqt/systracefrm.ui
@@ -0,0 +1,77 @@
1<ui version="4.0" >
2 <class>SysTraceFrm</class>
3 <widget class="QDialog" name="SysTraceFrm" >
4 <property name="geometry" >
5 <rect>
6 <x>0</x>
7 <y>0</y>
8 <width>600</width>
9 <height>550</height>
10 </rect>
11 </property>
12 <property name="windowTitle" >
13 <string>System Trace</string>
14 </property>
15 <layout class="QGridLayout" name="gridLayout" >
16 <item row="0" column="1" colspan="4" >
17 <widget class="QLabel" name="label" >
18 <property name="text" >
19 <string>System State trace</string>
20 </property>
21 <property name="wordWrap" >
22 <bool>true</bool>
23 </property>
24 </widget>
25 </item>
26 <item row="1" column="0" colspan="5" >
27 <widget class="QTextEdit" name="textTrace" />
28 </item>
29 <item row="2" column="1" colspan="2" >
30 <spacer name="horizontalSpacer" >
31 <property name="orientation" >
32 <enum>Qt::Horizontal</enum>
33 </property>
34 <property name="sizeHint" stdset="0" >
35 <size>
36 <width>487</width>
37 <height>26</height>
38 </size>
39 </property>
40 </spacer>
41 </item>
42 <item row="2" column="4" >
43 <widget class="QPushButton" name="buttonClose" >
44 <property name="text" >
45 <string>&amp;Close</string>
46 </property>
47 <property name="icon" >
48 <iconset resource="rbutilqt.qrc" >
49 <normaloff>:/icons/process-stop.png</normaloff>:/icons/process-stop.png</iconset>
50 </property>
51 </widget>
52 </item>
53 <item row="2" column="3" >
54 <widget class="QPushButton" name="buttonSave" >
55 <property name="text" >
56 <string>&amp;Save</string>
57 </property>
58 </widget>
59 </item>
60 <item row="2" column="0" >
61 <widget class="QPushButton" name="buttonRefresh" >
62 <property name="text" >
63 <string>&amp;Refresh</string>
64 </property>
65 <property name="icon" >
66 <iconset resource="rbutilqt.qrc" >
67 <normaloff>:/icons/view-refresh.png</normaloff>:/icons/view-refresh.png</iconset>
68 </property>
69 </widget>
70 </item>
71 </layout>
72 </widget>
73 <resources>
74 <include location="rbutilqt.qrc" />
75 </resources>
76 <connections/>
77</ui>