tabs/reportstab.cpp \
tabs/unknownfilestab.cpp \
tabs/pendingrequesttab.cpp \
- registertabs.cpp
+ registertabs.cpp \
+ tabs/databaselogtab.cpp
HEADERS += mainwindow.h \
databaseconnectiondialog.h \
tabs/searchtab.h \
tabs/reportstab.h \
tabs/unknownfilestab.h \
- tabs/pendingrequesttab.h
+ tabs/pendingrequesttab.h \
+ tabs/databaselogtab.h
FORMS += mainwindow.ui \
databaseconnectiondialog.ui \
tabs/searchtab.ui \
tabs/reportstab.ui \
tabs/unknownfilestab.ui \
- tabs/pendingrequesttab.ui
+ tabs/pendingrequesttab.ui \
+ tabs/databaselogtab.ui
include(../localmylist.pri)
include(qtsingleapplication/qtsingleapplication.pri)
#include "tabs/reportstab.h"
#include "tabs/unknownfilestab.h"
#include "tabs/pendingrequesttab.h"
+#include "tabs/databaselogtab.h"
void registerTabs()
{
TabWidget::registerTab<ReportsTab>();
TabWidget::registerTab<UnknownFilesTab>();
TabWidget::registerTab<PendingRequestTab>();
+ TabWidget::registerTab<DatabaseLogTab>();
}
--- /dev/null
+#include "databaselogtab.h"
+#include "ui_databaselogtab.h"
+
+#include <QSqlQueryModel>
+
+#include "mylist.h"
+#include "database.h"
+
+DatabaseLogTab::DatabaseLogTab(QWidget *parent) :
+ AbstractTabBase(parent),
+ ui(new Ui::DatabaseLogTab)
+{
+ ui->setupUi(this);
+ setLabel(name());
+}
+
+DatabaseLogTab::~DatabaseLogTab()
+{
+ delete ui;
+}
+
+QString DatabaseLogTab::staticId()
+{
+ return "database_log";
+}
+
+QString DatabaseLogTab::name()
+{
+ return tr("Log");
+}
+
+void DatabaseLogTab::init()
+{
+ model = new QSqlQueryModel(this);
+ ui->view->setModel(model);
+ ui->view->setSelectionMode(QAbstractItemView::NoSelection);
+}
+
+void DatabaseLogTab::activate()
+{
+ reload();
+}
+
+void DatabaseLogTab::reload()
+{
+ QSqlQuery &q = LocalMyList::instance()->database()->prepare(
+ "SELECT log_id, log_time, log, type "
+ " FROM log "
+ " ORDER BY log_id DESC LIMIT 100 ");
+
+ LocalMyList::instance()->database()->exec(q);
+ model->setQuery(q);
+ ui->view->setColumnHidden(0, true);
+ model->setHeaderData(1, Qt::Horizontal, tr("Time"));
+ model->setHeaderData(2, Qt::Horizontal, tr("Message"));
+ model->setHeaderData(3, Qt::Horizontal, tr("Type"));
+ ui->view->resizeColumnsToContents();
+}
--- /dev/null
+#ifndef DATABASELOGTAB_H
+#define DATABASELOGTAB_H
+
+#include "abstracttab.h"
+
+class QSqlQueryModel;
+
+namespace Ui {
+class DatabaseLogTab;
+}
+
+class DatabaseLogTab : public AbstractTabBase<DatabaseLogTab>
+{
+ Q_OBJECT
+
+public:
+ explicit DatabaseLogTab(QWidget *parent = 0);
+ ~DatabaseLogTab();
+
+ static QString staticId();
+ static QString name();
+
+ void init();
+ void activate();
+
+ void reload();
+
+private:
+ Ui::DatabaseLogTab *ui;
+
+ QSqlQueryModel *model;
+};
+
+#endif // DATABASELOGTAB_H
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DatabaseLogTab</class>
+ <widget class="QWidget" name="DatabaseLogTab">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QTableView" name="view"/>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>