From: APTX Date: Tue, 4 Jun 2013 17:27:56 +0000 (+0200) Subject: Add basic log viewer tab. X-Git-Url: https://gitweb.tyo.aptx.org/?a=commitdiff_plain;h=5ed55c6c544080286e411121002831ba8d0a00be;p=localmylist.git Add basic log viewer tab. --- diff --git a/localmylist-management/localmylist-management.pro b/localmylist-management/localmylist-management.pro index 60ca22b..6801dbc 100644 --- a/localmylist-management/localmylist-management.pro +++ b/localmylist-management/localmylist-management.pro @@ -25,7 +25,8 @@ SOURCES += main.cpp\ tabs/reportstab.cpp \ tabs/unknownfilestab.cpp \ tabs/pendingrequesttab.cpp \ - registertabs.cpp + registertabs.cpp \ + tabs/databaselogtab.cpp HEADERS += mainwindow.h \ databaseconnectiondialog.h \ @@ -41,7 +42,8 @@ HEADERS += mainwindow.h \ tabs/searchtab.h \ tabs/reportstab.h \ tabs/unknownfilestab.h \ - tabs/pendingrequesttab.h + tabs/pendingrequesttab.h \ + tabs/databaselogtab.h FORMS += mainwindow.ui \ databaseconnectiondialog.ui \ @@ -49,7 +51,8 @@ FORMS += mainwindow.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) diff --git a/localmylist-management/registertabs.cpp b/localmylist-management/registertabs.cpp index 1039af1..bae47ec 100644 --- a/localmylist-management/registertabs.cpp +++ b/localmylist-management/registertabs.cpp @@ -4,6 +4,7 @@ #include "tabs/reportstab.h" #include "tabs/unknownfilestab.h" #include "tabs/pendingrequesttab.h" +#include "tabs/databaselogtab.h" void registerTabs() { @@ -12,4 +13,5 @@ void registerTabs() TabWidget::registerTab(); TabWidget::registerTab(); TabWidget::registerTab(); + TabWidget::registerTab(); } diff --git a/localmylist-management/tabs/databaselogtab.cpp b/localmylist-management/tabs/databaselogtab.cpp new file mode 100644 index 0000000..34168a6 --- /dev/null +++ b/localmylist-management/tabs/databaselogtab.cpp @@ -0,0 +1,58 @@ +#include "databaselogtab.h" +#include "ui_databaselogtab.h" + +#include + +#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(); +} diff --git a/localmylist-management/tabs/databaselogtab.h b/localmylist-management/tabs/databaselogtab.h new file mode 100644 index 0000000..4434283 --- /dev/null +++ b/localmylist-management/tabs/databaselogtab.h @@ -0,0 +1,34 @@ +#ifndef DATABASELOGTAB_H +#define DATABASELOGTAB_H + +#include "abstracttab.h" + +class QSqlQueryModel; + +namespace Ui { +class DatabaseLogTab; +} + +class DatabaseLogTab : public AbstractTabBase +{ + 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 diff --git a/localmylist-management/tabs/databaselogtab.ui b/localmylist-management/tabs/databaselogtab.ui new file mode 100644 index 0000000..18f1c8d --- /dev/null +++ b/localmylist-management/tabs/databaselogtab.ui @@ -0,0 +1,30 @@ + + + DatabaseLogTab + + + + 0 + 0 + 400 + 300 + + + + Form + + + + 0 + + + 0 + + + + + + + + +