6 #include "toolbuttonbox.h"
10 DevTools::DevTools(QWidget *parent): Dyalog(parent, false)
12 setWindowTitle(tr("Developer"));
13 addWidget(new QLabel(tr("Qt API version %1").arg(QT_VERSION_STR), this));
14 addWidget(new QLabel(tr("Qt runtime version %1").arg(qVersion()), this));
16 QPushButton *clearSettings = new QPushButton("Clear persistent data", this);
17 connect(clearSettings, SIGNAL(clicked()), this, SLOT(onClear()));
18 addWidget(clearSettings);
20 addWidget(new QLabel(tr("Trace level:"), this));
21 ToolButtonBox *box = new ToolButtonBox(this);
23 box->addButton(QtDebugMsg, tr("Debug"));
24 box->addButton(QtWarningMsg, tr("Warning"));
25 box->addButton(QtCriticalMsg, tr("Critical"));
26 box->addButton(QtFatalMsg, tr("Fatal"));
27 box->toggle(Trace::level);
28 connect(box, SIGNAL(buttonClicked(int)),
29 this, SLOT(onLevelButtonClicked(int)));
31 QCheckBox *traceToFile = new QCheckBox(tr("Trace to file"), this);
32 addWidget(traceToFile);
33 traceToFile->setChecked(!Trace::fileName().isEmpty());
34 connect(traceToFile, SIGNAL(toggled(bool)),
35 this, SLOT(onTraceToFileToggled(bool)));
40 void DevTools::onClear()
42 if (QMessageBox::Yes ==
43 QMessageBox::question(this, tr("Clear persistent data"),
44 tr("Library and settings will be cleared, "
45 "application will be restarted. Continue?"),
46 QMessageBox::Yes | QMessageBox::No)) {
48 BookDb::instance()->removeAll();
49 QApplication::exit(1000);
53 void DevTools::onLevelButtonClicked(int level)
55 Trace::level = (QtMsgType)level;
56 Settings::instance()->setValue("tracelevel", level);
59 void DevTools::onTraceToFileToggled(bool enable)
61 QString name = enable? Platform::instance()->traceFileName(): QString();
62 Trace::setFileName(name);
63 Settings::instance()->setValue("tracefilename", name);