feat: added local settings

This commit is contained in:
2026-01-18 12:20:32 +03:00
parent 46504c1b06
commit 9b51e3f3e7
5 changed files with 28 additions and 13 deletions

View File

@@ -6,15 +6,17 @@
#include <QPushButton> #include <QPushButton>
#include <QJsonDocument> #include <QJsonDocument>
#include <QJsonObject> #include <QJsonObject>
#include <QSettings>
#include <QTabWidget> #include <QTabWidget>
#include <QVBoxLayout> #include <QVBoxLayout>
// Self // Self
#include "DropFileWidget.h" #include "../def.h"
#include "DropFileWidget.h"
#include "DropFileWidget.h" #include "DropFileWidget.h"
#include "LicenseModel/LicenseModel.h" #include "LicenseModel/LicenseModel.h"
#define WINDOW_SIZE "WindowSize"
EditClientDialog::EditClientDialog(LicenseModel* model, QWidget *parent) EditClientDialog::EditClientDialog(LicenseModel* model, QWidget *parent)
: QDialog(parent) : QDialog(parent)
, m_model(model) , m_model(model)
@@ -115,12 +117,15 @@ EditClientDialog::~EditClientDialog()
void EditClientDialog::loadSettings() void EditClientDialog::loadSettings()
{ {
QSettings settings(ORGANIZATION_NAME, metaObject()->className());
if (settings.contains(WINDOW_SIZE))
resize(settings.value(WINDOW_SIZE).toSize());
} }
void EditClientDialog::saveSettings() void EditClientDialog::saveSettings()
{ {
QSettings settings(ORGANIZATION_NAME, metaObject()->className());
settings.setValue(WINDOW_SIZE, size());
} }
void EditClientDialog::onSaveButtonClicked() void EditClientDialog::onSaveButtonClicked()

View File

@@ -151,15 +151,15 @@ bool LicenseModel::prepareDatabase()
void LicenseModel::addClient(const LicenseItem &item) void LicenseModel::addClient(const LicenseItem &item)
{ {
m_data.append(item);
} }
void LicenseModel::deleteClient(const LicenseItem &item) void LicenseModel::deleteClient(int index)
{ {
m_data.removeAt(index);
} }
void LicenseModel::editClient(const LicenseItem &item) void LicenseModel::editClient(const LicenseItem &item, int index)
{ {
m_data[index] = item;
} }

View File

@@ -43,8 +43,8 @@ public:
QString getStatusText(); QString getStatusText();
bool prepareDatabase(); bool prepareDatabase();
void addClient(const LicenseItem &item); void addClient(const LicenseItem &item);
void deleteClient(const LicenseItem &item); void deleteClient(int index);
void editClient(const LicenseItem &item); void editClient(const LicenseItem &item, int index);
private: private:
bool checkTables(); bool checkTables();
private: private:

View File

@@ -8,6 +8,7 @@
#include <QMenu> #include <QMenu>
#include <QMessageBox> #include <QMessageBox>
#include <QPushButton> #include <QPushButton>
#include <QSettings>
#include <QTableView> #include <QTableView>
#include <QTimer> #include <QTimer>
#include <QToolBar> #include <QToolBar>
@@ -15,15 +16,19 @@
#include <QContextMenuEvent> #include <QContextMenuEvent>
// Self // Self
#include "../def.h"
#include "LicenseModel/LicenseModel.h" #include "LicenseModel/LicenseModel.h"
#include "EditClientDialog/EditClientDialog.h" #include "EditClientDialog/EditClientDialog.h"
#define WINDOW_SIZE "WindowSize"
MainWidget::MainWidget(QWidget *parent) MainWidget::MainWidget(QWidget *parent)
: QMainWindow(parent) : QMainWindow(parent)
, m_licenseModel(new LicenseModel(this)) , m_licenseModel(new LicenseModel(this))
{ {
setWindowIcon(QIcon(QStringLiteral("qrc:/deps/icon.png"))); setWindowIcon(QIcon(QStringLiteral("qrc:/deps/icon.png")));
setWindowTitle("LicenseManager"); setWindowTitle("LicenseManager");
setMinimumSize({800, 600});
resize({800, 600}); resize({800, 600});
// Model init // Model init
@@ -179,10 +184,13 @@ void MainWidget::closeEvent(QCloseEvent *event)
void MainWidget::loadSettings() void MainWidget::loadSettings()
{ {
QSettings settings(ORGANIZATION_NAME, metaObject()->className());
if (settings.contains(WINDOW_SIZE))
resize(settings.value(WINDOW_SIZE).toSize());
} }
void MainWidget::saveSettings() void MainWidget::saveSettings()
{ {
QSettings settings(ORGANIZATION_NAME, metaObject()->className());
settings.setValue(WINDOW_SIZE, size());
} }

View File

@@ -1,8 +1,10 @@
#ifndef LICENSEMANAGER_DEF_H #ifndef LICENSEMANAGER_DEF_H
#define LICENSEMANAGER_DEF_H #define LICENSEMANAGER_DEF_H
#include <QDir>
#include <QString> #include <QString>
const static QString DB_PATH = "./db.sqlite"; const static QString DB_PATH = "./db.sqlite";
const static QString ORGANIZATION_NAME = "LicenseManager";
#endif //LICENSEMANAGER_DEF_H #endif //LICENSEMANAGER_DEF_H