Mercurial > hg > syntilista
changeset 218:c3f47d489097
Implement global transactions viewer dialog.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 06 Mar 2018 14:37:39 +0200 |
parents | 58af72da7f60 |
children | c740d5177b4e |
files | Makefile.gen src/main.cpp src/main.h src/mainwindow.ui src/viewtransactions.ui |
diffstat | 5 files changed, 170 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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 $@ $<
--- 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(); +}
--- 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
--- 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 @@ </widget> </item> <item> + <widget class="QPushButton" name="button_ViewTransactions"> + <property name="text"> + <string>Tapahtumat</string> + </property> + </widget> + </item> + <item> <spacer name="horizontalSpacer_2"> <property name="orientation"> <enum>Qt::Horizontal</enum>
--- /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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>ViewTransactions</class> + <widget class="QDialog" name="ViewTransactions"> + <property name="windowModality"> + <enum>Qt::NonModal</enum> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>1024</width> + <height>700</height> + </rect> + </property> + <property name="windowTitle"> + <string>Kaikki viimeisimmät tapahtumat</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QGroupBox" name="groupBox"> + <property name="title"> + <string>Tapahtumat:</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="QTableView" name="tableview_Transactions"> + <property name="contextMenuPolicy"> + <enum>Qt::DefaultContextMenu</enum> + </property> + <property name="selectionBehavior"> + <enum>QAbstractItemView::SelectRows</enum> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="button_Close"> + <property name="text"> + <string>Sulje</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <tabstops> + <tabstop>button_Close</tabstop> + </tabstops> + <resources/> + <connections/> +</ui>