-
Notifications
You must be signed in to change notification settings - Fork 0
/
jtransaction.cpp
86 lines (70 loc) · 2.16 KB
/
jtransaction.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <QDebug>
#include "jtransaction.h"
jTransaction::jTransaction()
{
}
jTransaction::jTransaction(QDate date, QString category, QString description, double amount) :
mDate(date),
mCategory(category),
mDescription(description),
mAmount(amount)
{
}
jTransaction::jTransaction(sData data)
{
mDate = QDate(data.year, data.month, data.day);
mDescription = QString((const char*)data.description);
mCategory = QString((const char*)data.category);
mAmount = data.amount;
}
void jTransaction::debugShow()
{
qDebug() << mCategory << mDescription << mAmount;
}
void jTransaction::debugShow(sData data)
{
qDebug("%s R%f", data.description, data.amount);
}
void jTransaction::setRow(QTableWidget* table, int row)
{
QTableWidgetItem * dateTableItem;
QTableWidgetItem * descTableItem;
QTableWidgetItem * catTableItem;
QTableWidgetItem * amountTableItem;
dateTableItem = new QTableWidgetItem();
dateTableItem->setFlags(dateTableItem->flags() ^ Qt::ItemIsEditable);
dateTableItem->setData(Qt::EditRole, mDate);
descTableItem = new QTableWidgetItem(mDescription);
descTableItem->setFlags(descTableItem->flags() ^ Qt::ItemIsEditable);
catTableItem = new QTableWidgetItem(mCategory);
catTableItem->setFlags(catTableItem->flags() ^ Qt::ItemIsEditable);
amountTableItem = new QTableWidgetItem(QLocale().toCurrencyString(mAmount));
amountTableItem->setFlags(amountTableItem->flags() ^ Qt::ItemIsEditable);
table->setItem(row,0, dateTableItem);
table->setItem(row,1, catTableItem);
table->setItem(row,2, descTableItem);
table->setItem(row,3, amountTableItem);
}
jTransaction::sData jTransaction::getData()
{
sData data;
data.year = mDate.year();
data.month = mDate.month();
data.day = mDate.day();
data.amount = mAmount;
strncpy_s((char*)data.category, 32, mCategory.toLocal8Bit().data(), 32);
strncpy_s((char*)data.description, 64, mDescription.toLocal8Bit().data(), 64);
return data;
}
jTransaction::~jTransaction()
{
}
jTransaction::sData::sData()
{
year = 0;
month = 0;
day = 0;
memset(description, 0, 64);
memset(category, 0, 32);
amount = 0;
}