#pragma once #include #include 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; PresetManager(); const PresetList &getPresetList() const; void savePreset(const LoginData &loginData, QWidget *parent); private: QFile file; PresetList presetList; void createFile(); void savePresets(); void addDefaultPreset(); };