-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatabase.h
More file actions
40 lines (35 loc) · 1.02 KB
/
database.h
File metadata and controls
40 lines (35 loc) · 1.02 KB
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
#ifndef DATABASE_H
#define DATABASE_H
#include <QtSql/QSqlDatabase>
#include <QObject>
#include <QVector>
#include <QDateTime>
#include <QUndoStack>
class Database: public QObject
{
Q_OBJECT
public:
Database(const QString &path);
~Database();
QSqlDatabase *getDatabase() { return &db; }
void addItemP(const QString &name, const int initial_number);
void delItemP(const QString &name);
void addRecordP(const QDateTime &ts, const QString &name, const int &amount_change, const int &after);
void delRecordP(const QDateTime &ts);
int queryItemNumberP(const QString &name);
void changeItemNumberP(const QString &name, const int &new_amount);
signals:
void databaseChanged();
void canRedoChanged(bool canRedo);
void canUndoChanged(bool canUndo);
public slots:
void addItem(const QString &name, const int initial_number);
void changeItemNumber(const QString &name, const int &amount_change);
void undo();
void redo();
private:
QSqlDatabase db;
QUndoStack *sequence;
int queryItemID(const QString &name);
};
#endif // DATABASE_H