Server settings are read from QSettings and applied if they are changed.
This commit is contained in:
@ -13,6 +13,7 @@
|
|||||||
#include "CoreConfig.h"
|
#include "CoreConfig.h"
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
#include "data/filehandler.h"
|
#include "data/filehandler.h"
|
||||||
|
#include "data/settingshandler.h"
|
||||||
#include "model/generalsortfiltermodel.h"
|
#include "model/generalsortfiltermodel.h"
|
||||||
#include "model/metadata.h"
|
#include "model/metadata.h"
|
||||||
#include "model/tablemodel.h"
|
#include "model/tablemodel.h"
|
||||||
@ -134,6 +135,14 @@ bool GenericCore::exportCSVFile(const QString& filePath) {
|
|||||||
return FileHandler::exportToCSVFile(itemsAsStringLists, filePath);
|
return FileHandler::exportToCSVFile(itemsAsStringLists, filePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GenericCore::applySettings(QVariantMap settingMap, QString group) {
|
||||||
|
SettingsHandler::saveSettings(settingMap, group);
|
||||||
|
|
||||||
|
if (group == "Server") {
|
||||||
|
setupServerConfiguration();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool GenericCore::isSyncServerSetup() const {
|
bool GenericCore::isSyncServerSetup() const {
|
||||||
if (m_serverCommunicator) {
|
if (m_serverCommunicator) {
|
||||||
return true;
|
return true;
|
||||||
@ -254,7 +263,15 @@ void GenericCore::setupServerConfiguration() {
|
|||||||
connect(m_serverCommunicator.get(), &ServerCommunicator::deleteRequestFailure, this,
|
connect(m_serverCommunicator.get(), &ServerCommunicator::deleteRequestFailure, this,
|
||||||
&GenericCore::onDeleteRequestFailure);
|
&GenericCore::onDeleteRequestFailure);
|
||||||
|
|
||||||
/// fetching/posting items on startup to test the communication with the server
|
applyServerConfiguration();
|
||||||
// m_serverCommunicator->fetchItems();
|
}
|
||||||
// m_serverCommunicator->postItems();
|
|
||||||
|
void GenericCore::applyServerConfiguration() {
|
||||||
|
const QVariantMap serverSettings = SettingsHandler::getSettings("Server");
|
||||||
|
const QString urlValue = serverSettings.value("url").toString();
|
||||||
|
if (!urlValue.isEmpty()) {
|
||||||
|
const QString emailValue = serverSettings.value("email").toString();
|
||||||
|
const QString passwordValue = serverSettings.value("password").toString();
|
||||||
|
m_serverCommunicator->setServerConfiguration(urlValue, emailValue, passwordValue);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -33,6 +33,7 @@ class GenericCore : public QObject {
|
|||||||
void importCSVFile(const QString& filePath);
|
void importCSVFile(const QString& filePath);
|
||||||
bool exportCSVFile(const QString& filePath);
|
bool exportCSVFile(const QString& filePath);
|
||||||
|
|
||||||
|
void applySettings(QVariantMap settingMap, QString group = "");
|
||||||
bool isSyncServerSetup() const;
|
bool isSyncServerSetup() const;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
@ -65,6 +66,7 @@ class GenericCore : public QObject {
|
|||||||
/// Network communication
|
/// Network communication
|
||||||
std::unique_ptr<ServerCommunicator> m_serverCommunicator;
|
std::unique_ptr<ServerCommunicator> m_serverCommunicator;
|
||||||
void setupServerConfiguration();
|
void setupServerConfiguration();
|
||||||
|
void applyServerConfiguration();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // GENERICCORE_H
|
#endif // GENERICCORE_H
|
||||||
|
|||||||
@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
// TODO add namespace
|
// TODO add namespace
|
||||||
|
|
||||||
static const QString baseUrl = "http://127.0.0.1:4000";
|
|
||||||
static const QString apiPrefix = "/api/";
|
static const QString apiPrefix = "/api/";
|
||||||
|
|
||||||
static const QString ROUTE_ITEMS = apiPrefix + "items";
|
static const QString ROUTE_ITEMS = apiPrefix + "items";
|
||||||
|
|||||||
@ -13,7 +13,6 @@ ServerCommunicator::ServerCommunicator(QObject* parent)
|
|||||||
m_netManager.setAutoDeleteReplies(true);
|
m_netManager.setAutoDeleteReplies(true);
|
||||||
m_restManager = std::make_shared<QRestAccessManager>(&m_netManager);
|
m_restManager = std::make_shared<QRestAccessManager>(&m_netManager);
|
||||||
m_serviceApi = std::make_shared<QNetworkRequestFactory>();
|
m_serviceApi = std::make_shared<QNetworkRequestFactory>();
|
||||||
setUrl(baseUrl);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ServerCommunicator::sslSupported() {
|
bool ServerCommunicator::sslSupported() {
|
||||||
@ -96,3 +95,12 @@ void ServerCommunicator::deleteItem(const QString& id) {
|
|||||||
reply->deleteLater();
|
reply->deleteLater();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ServerCommunicator::setServerConfiguration(const QString url,
|
||||||
|
const QString email,
|
||||||
|
const QString password) {
|
||||||
|
setUrl(url);
|
||||||
|
|
||||||
|
m_email = email;
|
||||||
|
m_password = password;
|
||||||
|
}
|
||||||
|
|||||||
@ -16,6 +16,8 @@ class ServerCommunicator : public QObject {
|
|||||||
QUrl url() const;
|
QUrl url() const;
|
||||||
void setUrl(const QUrl& url);
|
void setUrl(const QUrl& url);
|
||||||
|
|
||||||
|
void setServerConfiguration(const QString url, const QString email, const QString password);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void fetchItems();
|
void fetchItems();
|
||||||
void postItems(const QByteArray& jsonData);
|
void postItems(const QByteArray& jsonData);
|
||||||
@ -35,6 +37,10 @@ class ServerCommunicator : public QObject {
|
|||||||
QNetworkAccessManager m_netManager;
|
QNetworkAccessManager m_netManager;
|
||||||
std::shared_ptr<QRestAccessManager> m_restManager;
|
std::shared_ptr<QRestAccessManager> m_restManager;
|
||||||
std::shared_ptr<QNetworkRequestFactory> m_serviceApi;
|
std::shared_ptr<QNetworkRequestFactory> m_serviceApi;
|
||||||
|
|
||||||
|
QString m_email;
|
||||||
|
QString m_password;
|
||||||
|
// QString m_authToken;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // SERVERCOMMUNICATOR_H
|
#endif // SERVERCOMMUNICATOR_H
|
||||||
|
|||||||
Reference in New Issue
Block a user