44 lines
673 B
C++
Executable File
44 lines
673 B
C++
Executable File
#pragma once
|
|
|
|
#include <QFile>
|
|
#include <QVector>
|
|
|
|
struct LoginData
|
|
{
|
|
QString database;
|
|
QString username;
|
|
QString password;
|
|
QString hostname;
|
|
QString filename;
|
|
QString driver;
|
|
|
|
int port = - 1; // no unsigned short (must contain -1 as default port)
|
|
};
|
|
|
|
struct Preset
|
|
{
|
|
QString name;
|
|
LoginData loginData;
|
|
};
|
|
|
|
|
|
class PresetManager : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
using PresetList = QVector<Preset>;
|
|
|
|
PresetManager();
|
|
const PresetList &getPresetList() const;
|
|
void savePreset(const LoginData &loginData, QWidget *parent);
|
|
|
|
private:
|
|
QFile file;
|
|
PresetList presetList;
|
|
|
|
void createFile();
|
|
void savePresets();
|
|
void addDefaultPreset();
|
|
|
|
};
|