Files
GenericQtClientCore/genericcore.h

80 lines
2.2 KiB
C
Raw Normal View History

2025-10-02 11:19:14 +02:00
#ifndef GENERICCORE_H
#define GENERICCORE_H
#include <QObject>
class QUndoStack;
class QAbstractItemModel;
class QAbstractItemModelTester;
2025-10-02 16:22:47 +02:00
class QString;
class TableModel;
class GeneralSortFilterModel;
class ServerCommunicator;
class GenericCore : public QObject {
Q_OBJECT
public:
GenericCore();
~GenericCore();
2025-10-02 16:22:47 +02:00
QString toString() const;
void sayHello() const;
bool isApplicationUpdateAvailable();
void triggerApplicationUpdate(const bool saveChanges);
QUndoStack* getModelUndoStack() const;
std::shared_ptr<TableModel> getModel() const;
std::shared_ptr<GeneralSortFilterModel> getSortFilterModel() const;
void importCSVFile(const QString& filePath);
2026-01-06 10:04:26 +01:00
bool exportCSVFile(const QString& filePath);
QVariantMap getSettings(QString group = "") const;
void applySettings(QVariantMap settingMap, QString group = "");
bool isSyncServerSetup() const;
public slots:
void saveItems();
void onLoginSuccessful(const QByteArray jsonData);
void onLoginFailure(const QString errorString);
void onNotAuthorized(const QString /*path*/);
void onSendItemTriggered(const QByteArray& jsonData);
void onItemsFetched(const QByteArray jsonData);
void onItemsFetchFailure(const QString errorString);
void onSendItemSuccessful(const QByteArray responseData);
void onSendItemFailure(const QString errorString);
void onDeleteItemSuccessful(const QByteArray responseData);
void onDeleteItemFailure(const QString errorString);
signals:
void displayStatusMessage(QString message);
void fetchItemsFromServer();
void sendItemToServer(const QByteArray& jsonData);
void deleteItemFromServer(const QString& id);
private:
QUndoStack* m_modelUndoStack;
std::shared_ptr<TableModel> m_mainModel;
std::shared_ptr<GeneralSortFilterModel> m_sortFilterModel;
std::unique_ptr<QAbstractItemModelTester> m_mainModelTester;
std::unique_ptr<QAbstractItemModelTester> m_proxyModelTester;
void setupModels();
void initModelData();
QString getMaintenanceToolFilePath() const;
/// Network communication
std::unique_ptr<ServerCommunicator> m_serverCommunicator;
void setupServerCommunication();
void applyServerConfiguration();
2025-10-02 11:19:14 +02:00
};
#endif // GENERICCORE_H