8 DevTools::DevTools(QWidget *parent):
9 QDialog(parent, Qt::Dialog | Qt::WindowTitleHint |
10 Qt::CustomizeWindowHint | Qt::WindowCloseButtonHint)
12 setWindowTitle(tr("Developer"));
13 QScrollArea *scroller = new QScrollArea(this);
14 scroller->setFrameStyle(QFrame::NoFrame);
16 scroller->setProperty("FingerScrollable", true);
17 scroller->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
19 scroller->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
20 setSizeGripEnabled(true);
21 #endif // Q_WS_MAEMO_5
22 scroller->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
24 QWidget *contents = new QWidget(scroller);
25 QVBoxLayout *layout = new QVBoxLayout(contents);
27 QPushButton *clearSettings = new QPushButton("Clear persistent data", this);
28 connect(clearSettings, SIGNAL(clicked()), this, SLOT(onClear()));
29 layout->addWidget(clearSettings);
31 QLabel *level = new QLabel(tr("Trace level:"), contents);
32 layout->addWidget(level);
34 QFrame *box = new QFrame(this);
35 layout->addWidget(box);
36 QHBoxLayout *boxLayout = new QHBoxLayout(box);
37 boxLayout->setMargin(0);
38 box->setLayout(boxLayout);
39 QButtonGroup *group = new QButtonGroup(this);
40 group->setExclusive(true);
42 QToolButton *levelDebug = new QToolButton(box);
43 levelDebug->setToolButtonStyle(Qt::ToolButtonTextOnly);
44 levelDebug->setText(tr("Debug"));
45 levelDebug->setCheckable(true);
46 boxLayout->addWidget(levelDebug);
47 group->addButton(levelDebug, QtDebugMsg);
49 QToolButton *levelWarning = new QToolButton(box);
50 levelWarning->setToolButtonStyle(Qt::ToolButtonTextOnly);
51 levelWarning->setText(tr("Warning"));
52 levelWarning->setCheckable(true);
53 boxLayout->addWidget(levelWarning);
54 group->addButton(levelWarning, QtWarningMsg);
56 QToolButton *levelCritical = new QToolButton(box);
57 levelCritical->setToolButtonStyle(Qt::ToolButtonTextOnly);
58 levelCritical->setText(tr("Critical"));
59 levelCritical->setCheckable(true);
60 boxLayout->addWidget(levelCritical);
61 group->addButton(levelCritical, QtCriticalMsg);
63 QToolButton *levelFatal = new QToolButton(box);
64 levelFatal->setToolButtonStyle(Qt::ToolButtonTextOnly);
65 levelFatal->setText(tr("Fatal"));
66 levelFatal->setCheckable(true);
67 boxLayout->addWidget(levelFatal);
68 group->addButton(levelFatal, QtFatalMsg);
70 if (Trace::level == QtFatalMsg) {
72 } else if (Trace::level == QtCriticalMsg) {
73 levelCritical->toggle();
74 } else if (Trace::level == QtWarningMsg) {
75 levelWarning->toggle();
80 connect(group, SIGNAL(buttonClicked(int)),
81 this, SLOT(onLevelButtonClicked(int)));
82 layout->addWidget(box);
84 contents->setLayout(layout);
85 scroller->setWidget(contents);
87 QHBoxLayout *dialogLayout = new QHBoxLayout();
88 dialogLayout->addWidget(scroller);
89 setLayout(dialogLayout);
92 void DevTools::onClear()
94 if (QMessageBox::Yes ==
95 QMessageBox::question(this, "Clear persistent data?",
96 "Library and settings data will be cleared, "
97 "application will be restarted. Continue?",
104 QApplication::exit(1000);
108 void DevTools::onLevelButtonClicked(int level) {
109 Trace::level = (QtMsgType)level;
110 Settings::instance()->setValue("tracelevel", level);