# HG changeset patch # User Matti Hamalainen # Date 1520339859 -7200 # Node ID c3f47d48909790c571335567402a58e70d4d8863 # Parent 58af72da7f6072c19c84ce74c6573fe87805e841 Implement global transactions viewer dialog. diff -r 58af72da7f60 -r c3f47d489097 Makefile.gen --- a/Makefile.gen Tue Jan 02 01:47:38 2018 +0200 +++ b/Makefile.gen Tue Mar 06 14:37:39 2018 +0200 @@ -113,7 +113,7 @@ @echo " Qt:RCC $@ $<" @$(QT_RCC) -name "Syntilista" $< -o $@ -$(OBJPATH)main.o: $(addprefix $(APP_SRC),main.cpp main.h ui_mainwindow.h ui_editperson.h ui_aboutwindow.h) VERSION +$(OBJPATH)main.o: $(addprefix $(APP_SRC),main.cpp main.h ui_viewtransactions.h ui_mainwindow.h ui_editperson.h ui_aboutwindow.h) VERSION @echo " CXX $@" @$(CXX) $(CXXFLAGS) $(DEFINES) $(INCPATH) -c -o $@ $< diff -r 58af72da7f60 -r c3f47d489097 src/main.cpp --- a/src/main.cpp Tue Jan 02 01:47:38 2018 +0200 +++ b/src/main.cpp Tue Mar 06 14:37:39 2018 +0200 @@ -14,6 +14,7 @@ #include "ui_mainwindow.h" #include "ui_editperson.h" #include "ui_aboutwindow.h" +#include "ui_viewtransactions.h" // @@ -845,6 +846,12 @@ } +void SyntilistaMainWindow::on_button_ViewTransactions_clicked() +{ + new ViewTransactions(this); +} + + void SyntilistaMainWindow::on_button_DeletePerson_clicked() { if (currPerson.id <= 0) @@ -1582,3 +1589,63 @@ { close(); } + + +// +// Global transactions list viewer +// +ViewTransactions::ViewTransactions(QWidget *parent) : + QDialog(parent), + ui(new Ui::ViewTransactions) +{ + ui->setupUi(this); + + slSetCommonStyleSheet(this); + + setModal(true); + setAttribute(Qt::WA_DeleteOnClose); + show(); + activateWindow(); + raise(); + setFocus(); + + model_Transactions = new SLTransactionSQLModel(); + ui->tableview_Transactions->setModel(model_Transactions); + ui->tableview_Transactions->setItemDelegate(new QSqlRelationalDelegate(ui->tableview_Transactions)); + ui->tableview_Transactions->verticalHeader()->setVisible(false); + ui->tableview_Transactions->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); + + QSqlQuery query; + query.prepare(QStringLiteral( + "SELECT transactions.id,transactions.value,transactions.added," + "people.last_name,people.first_name FROM transactions " + "LEFT JOIN people ON transactions.person=people.id ORDER BY transactions.added DESC" + )); + + query.exec(); + slCheckAndReportSQLError("SELECT transactions for tableview_Transactions", query.lastError()); + + model_Transactions->setQuery(query); + + model_Transactions->setHeaderData(0, Qt::Horizontal, tr("ID")); + model_Transactions->setHeaderData(1, Qt::Horizontal, tr("Summa")); + model_Transactions->setHeaderData(2, Qt::Horizontal, tr("Aika")); + model_Transactions->setHeaderData(3, Qt::Horizontal, tr("Sukunimi")); + model_Transactions->setHeaderData(4, Qt::Horizontal, tr("Etunimi")); + + ui->tableview_Transactions->setModel(model_Transactions); + ui->tableview_Transactions->setColumnHidden(0, true); +} + + +ViewTransactions::~ViewTransactions() +{ + delete ui; + delete model_Transactions; +} + + +void ViewTransactions::on_button_Close_clicked() +{ + close(); +} diff -r 58af72da7f60 -r c3f47d489097 src/main.h --- a/src/main.h Tue Jan 02 01:47:38 2018 +0200 +++ b/src/main.h Tue Mar 06 14:37:39 2018 +0200 @@ -138,6 +138,7 @@ class SyntilistaMainWindow; class EditPerson; class AboutWindow; + class ViewTransactions; } typedef struct @@ -185,6 +186,7 @@ void on_button_Quit_clicked(); void on_button_About_clicked(); void on_button_Print_clicked(); + void on_button_ViewTransactions_clicked(); void on_button_AddDebt_clicked(); void on_button_PayDebt_clicked(); @@ -288,6 +290,29 @@ // +// Global transactions list viewer +// +class ViewTransactions : public QDialog +{ + Q_OBJECT + +public: + explicit ViewTransactions(QWidget *parent = 0); + ~ViewTransactions(); + +// void statusMsg(const QString &msg); + +private slots: + void on_button_Close_clicked(); + +private: + Ui::ViewTransactions *ui; + + SLTransactionSQLModel *model_Transactions; +}; + + +// // Custom painter drawing helper class // class SLDrawContext : public QObject diff -r 58af72da7f60 -r c3f47d489097 src/mainwindow.ui --- a/src/mainwindow.ui Tue Jan 02 01:47:38 2018 +0200 +++ b/src/mainwindow.ui Tue Mar 06 14:37:39 2018 +0200 @@ -308,6 +308,13 @@ + + + Tapahtumat + + + + Qt::Horizontal diff -r 58af72da7f60 -r c3f47d489097 src/viewtransactions.ui --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/viewtransactions.ui Tue Mar 06 14:37:39 2018 +0200 @@ -0,0 +1,70 @@ + + + ViewTransactions + + + Qt::NonModal + + + + 0 + 0 + 1024 + 700 + + + + Kaikki viimeisimmät tapahtumat + + + + + + Tapahtumat: + + + + + + Qt::DefaultContextMenu + + + QAbstractItemView::SelectRows + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Sulje + + + + + + + + + button_Close + + + +