Add tool bar button to change orientation.
[dorian] / devtools.cpp
index 49a32ad..97ec06c 100644 (file)
@@ -1,21 +1,23 @@
 #include <QtGui>
-#include <QDebug>
 
 #include "devtools.h"
 #include "trace.h"
 #include "settings.h"
 #include "toolbuttonbox.h"
+#include "bookdb.h"
+#include "platform.h"
 
 DevTools::DevTools(QWidget *parent): Dyalog(parent, false)
 {
     setWindowTitle(tr("Developer"));
+    addWidget(new QLabel(tr("Qt API version %1").arg(QT_VERSION_STR), this));
+    addWidget(new QLabel(tr("Qt runtime version %1").arg(qVersion()), this));
+
     QPushButton *clearSettings = new QPushButton("Clear persistent data", this);
     connect(clearSettings, SIGNAL(clicked()), this, SLOT(onClear()));
     addWidget(clearSettings);
 
-    QLabel *level = new QLabel(tr("Trace level:"), this);
-    addWidget(level);
-
+    addWidget(new QLabel(tr("Trace level:"), this));
     ToolButtonBox *box = new ToolButtonBox(this);
     addWidget(box);
     box->addButton(QtDebugMsg, tr("Debug"));
@@ -25,6 +27,13 @@ DevTools::DevTools(QWidget *parent): Dyalog(parent, false)
     box->toggle(Trace::level);
     connect(box, SIGNAL(buttonClicked(int)),
             this, SLOT(onLevelButtonClicked(int)));
+
+    QCheckBox *traceToFile = new QCheckBox(tr("Trace to file"), this);
+    addWidget(traceToFile);
+    traceToFile->setChecked(!Trace::fileName().isEmpty());
+    connect(traceToFile, SIGNAL(toggled(bool)),
+            this, SLOT(onTraceToFileToggled(bool)));
+
     addStretch();
 }
 
@@ -36,11 +45,20 @@ void DevTools::onClear()
                                  "application will be restarted. Continue?"),
                               QMessageBox::Yes | QMessageBox::No)) {
         QSettings().clear();
+        BookDb::instance()->removeAll();
         QApplication::exit(1000);
     }
 }
 
-void DevTools::onLevelButtonClicked(int level) {
+void DevTools::onLevelButtonClicked(int level)
+{
     Trace::level = (QtMsgType)level;
     Settings::instance()->setValue("tracelevel", level);
 }
+
+void DevTools::onTraceToFileToggled(bool enable)
+{
+    QString name = enable? Platform::instance()->traceFileName(): QString();
+    Trace::setFileName(name);
+    Settings::instance()->setValue("tracefilename", name);
+}