diff --git a/YACReaderLibrary/server/yacreader_http_server.cpp b/YACReaderLibrary/server/yacreader_http_server.cpp index 6ce6a813..b60280aa 100644 --- a/YACReaderLibrary/server/yacreader_http_server.cpp +++ b/YACReaderLibrary/server/yacreader_http_server.cpp @@ -162,6 +162,15 @@ void YACReaderHttpServer::stop() } } +bool YACReaderHttpServer::isRunning() +{ + if (listener == nullptr) { + return false; + } + + return listener->isListening(); +} + YACReaderHttpServer::YACReaderHttpServer() : QObject(nullptr), listener(nullptr) { @@ -169,5 +178,9 @@ YACReaderHttpServer::YACReaderHttpServer() QString YACReaderHttpServer::getPort() { + if (listener == nullptr) { + return "-1"; + } + return QString("%1").arg(listener->serverPort()); } diff --git a/YACReaderLibrary/server/yacreader_http_server.h b/YACReaderLibrary/server/yacreader_http_server.h index ba5d9f54..0acc8a19 100644 --- a/YACReaderLibrary/server/yacreader_http_server.h +++ b/YACReaderLibrary/server/yacreader_http_server.h @@ -17,6 +17,8 @@ public: void start(quint16 port = 0); void stop(); + bool isRunning(); + QString getPort(); signals: diff --git a/YACReaderLibrary/server_config_dialog.cpp b/YACReaderLibrary/server_config_dialog.cpp index dd852e41..eacd28c1 100644 --- a/YACReaderLibrary/server_config_dialog.cpp +++ b/YACReaderLibrary/server_config_dialog.cpp @@ -88,7 +88,7 @@ ServerConfigDialog::ServerConfigDialog(QWidget *parent) this->setFixedSize(image.size()); - QSettings *settings = new QSettings(YACReader::getSettingsPath() + "/YACReaderLibrary.ini", QSettings::IniFormat); // TODO unificar la creación del fichero de config con el servidor + QSettings *settings = new QSettings(YACReader::getSettingsPath() + "/YACReaderLibrary.ini", QSettings::IniFormat); settings->beginGroup("libraryConfig"); if (settings->value(SERVER_ON, true).toBool()) { @@ -116,7 +116,7 @@ void ServerConfigDialog::showEvent(QShowEvent *event) void ServerConfigDialog::enableServer(int status) { - QSettings *settings = new QSettings(YACReader::getSettingsPath() + "/YACReaderLibrary.ini", QSettings::IniFormat); // TODO unificar la creación del fichero de config con el servidor + QSettings *settings = new QSettings(YACReader::getSettingsPath() + "/YACReaderLibrary.ini", QSettings::IniFormat); settings->beginGroup("libraryConfig"); if (status == Qt::Checked) { @@ -139,6 +139,9 @@ void ServerConfigDialog::enableServer(int status) void ServerConfigDialog::generateQR() { + if (!httpServer->isRunning()) + return; + ip->clear(); auto addresses = getIpAddresses();