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