first commit

This commit is contained in:
2026-01-26 22:26:19 +03:00
commit 31fccd85f2
95 changed files with 115400 additions and 0 deletions
+71
View File
@@ -0,0 +1,71 @@
#ifndef UDATABASE_H
#define UDATABASE_H
#include "qlistwidget.h"
#include <QObject>
#include <QString>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QVariant>
#include <QDebug>
#include <QFile>
#include <QTableWidget>
#include "timerinfo.h"
class uDataBase : public QObject
{
Q_OBJECT
// Информация о таймере
public:
// Конструктор с указанием файла базы данных
explicit uDataBase(const QString& dbFileName, QObject* parent = nullptr);
// Деструктор
~uDataBase();
// Чтение настройки
QString readSetting(const QString& aName, const QString& aDefault = "");
// Запись настройки
bool writeSetting(const QString& aName, const QString& aValue);
bool LoadTableWidget(QTableWidget *tableWidget);
bool clearTable(const QString &tableName);
bool createTableForWidget(const QString &tableName, int columnCount);
bool tableExists(const QString &tableName);
bool SaveTableWidget(QTableWidget *tableWidget);
bool SaveTimers(QTableWidget *tableWidget, const QList<TimerInfo> &timers);
bool LoadTimers(QTableWidget *tableWidget, QList<TimerInfo> &timers);
bool SaveGroupResponses(const QString &groupName, const QStringList &responses);
bool createGroupResponseTable();
bool DeleteResponse(const QString &groupName, const QString &ResponseName);
bool DeleteGroup(const QString &groupName);
bool AddGroupResponse(const QString &groupName, const QString &response);
QString ProcessResponseTemplate(const QString &templateText);
QString GetRandomResponse(const QString &groupName);
bool LoadRandomResponses(const QString &groupName, QListWidget *listWidget);
bool LoadRandomGroups(QListWidget *listWidget);
QString ProcessResponseTemplateRecursive(const QString &templateText, int depth);
// Проверка подключения к БД
bool isConnected() const;
bool close();
// Получение последней ошибки
QString lastError() const;
private:
// Инициализация базы данных (создание таблицы, если нужно)
bool initializeDatabase();
QSqlDatabase m_db;
QString m_dbFileName;
QString m_lastError;
};
#endif // DBSETTINGS_H