changeset 2:edc1e8cf6e2c

Implement "pay debt in full" button.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 30 Mar 2017 03:44:38 +0300
parents db8f47446713
children 6ca301530cce
files main.cpp main.h mainwindow.ui
diffstat 3 files changed, 27 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/main.cpp	Thu Mar 30 03:27:08 2017 +0300
+++ b/main.cpp	Thu Mar 30 03:44:38 2017 +0300
@@ -239,9 +239,10 @@
             ui->personGB->setEnabled(true);
             ui->label_PersonName->setText(person.value(1).toString() +", "+ person.value(2).toString());
 
-            double balance = person.value(3).toDouble();
-            ui->label_BalanceValue->setText(moneyValueToStr(balance));
-            ui->label_BalanceValue->setStyleSheet(balance < 0 ? "color: red;" : "color: green;");
+            personBalance = person.value(3).toDouble();
+            ui->label_BalanceValue->setText(moneyValueToStr(personBalance));
+            ui->label_BalanceValue->setStyleSheet(personBalance < 0 ? "color: red;" : "color: green;");
+            ui->button_PayFullDebt->setEnabled(personBalance < 0);
 
             QSqlQuery query;
             query.prepare("SELECT id,value,added FROM transactions WHERE person=? ORDER BY added DESC LIMIT 5");
@@ -467,12 +468,21 @@
 }
 
 
-void SyntilistaMainWindow::on_button_SubDebt_clicked()
+void SyntilistaMainWindow::on_button_PayDebt_clicked()
 {
     addTransaction(false, moneyStrToValue(ui->edit_Amount->text()));
 }
 
 
+void SyntilistaMainWindow::on_button_PayFullDebt_clicked()
+{
+    if (personBalance < 0)
+        addTransaction(false, -personBalance);
+    else
+        statusMsg("Henkilöllä ei ole velkaa.");
+}
+
+
 //
 // Edit person dialog
 //
--- a/main.h	Thu Mar 30 03:27:08 2017 +0300
+++ b/main.h	Thu Mar 30 03:44:38 2017 +0300
@@ -115,7 +115,9 @@
 
     void on_button_AddDebt_clicked();
 
-    void on_button_SubDebt_clicked();
+    void on_button_PayDebt_clicked();
+
+    void on_button_PayFullDebt_clicked();
 
     void on_edit_PersonFilter_textChanged(const QString &arg1);
 
@@ -132,6 +134,8 @@
 
     TransactionSQLModel *model_Latest;
     qint64 personID;
+    double personBalance;
+
     int peopleSortIndex;
     Qt::SortOrder peopleSortOrder;
     QString peopleFilter;
--- a/mainwindow.ui	Thu Mar 30 03:27:08 2017 +0300
+++ b/mainwindow.ui	Thu Mar 30 03:44:38 2017 +0300
@@ -217,7 +217,7 @@
             </widget>
            </item>
            <item>
-            <widget class="QPushButton" name="button_SubDebt">
+            <widget class="QPushButton" name="button_PayDebt">
              <property name="font">
               <font>
                <pointsize>14</pointsize>
@@ -231,6 +231,13 @@
           </layout>
          </item>
          <item>
+          <widget class="QPushButton" name="button_PayFullDebt">
+           <property name="text">
+            <string>Maksa koko velka</string>
+           </property>
+          </widget>
+         </item>
+         <item>
           <widget class="QLabel" name="label_2">
            <property name="text">
             <string>Viimeisimmät tapahtumat:</string>