Do not generate the qr code if the server is off

This commit is contained in:
Luis Ángel San Martín 2023-06-18 10:42:38 +02:00
parent 5b5c5fc76b
commit 756c514712
3 changed files with 20 additions and 2 deletions

View File

@ -162,6 +162,15 @@ void YACReaderHttpServer::stop()
} }
} }
bool YACReaderHttpServer::isRunning()
{
if (listener == nullptr) {
return false;
}
return listener->isListening();
}
YACReaderHttpServer::YACReaderHttpServer() YACReaderHttpServer::YACReaderHttpServer()
: QObject(nullptr), listener(nullptr) : QObject(nullptr), listener(nullptr)
{ {
@ -169,5 +178,9 @@ YACReaderHttpServer::YACReaderHttpServer()
QString YACReaderHttpServer::getPort() QString YACReaderHttpServer::getPort()
{ {
if (listener == nullptr) {
return "-1";
}
return QString("%1").arg(listener->serverPort()); return QString("%1").arg(listener->serverPort());
} }

View File

@ -17,6 +17,8 @@ public:
void start(quint16 port = 0); void start(quint16 port = 0);
void stop(); void stop();
bool isRunning();
QString getPort(); QString getPort();
signals: signals:

View File

@ -88,7 +88,7 @@ ServerConfigDialog::ServerConfigDialog(QWidget *parent)
this->setFixedSize(image.size()); 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"); settings->beginGroup("libraryConfig");
if (settings->value(SERVER_ON, true).toBool()) { if (settings->value(SERVER_ON, true).toBool()) {
@ -116,7 +116,7 @@ void ServerConfigDialog::showEvent(QShowEvent *event)
void ServerConfigDialog::enableServer(int status) 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"); settings->beginGroup("libraryConfig");
if (status == Qt::Checked) { if (status == Qt::Checked) {
@ -139,6 +139,9 @@ void ServerConfigDialog::enableServer(int status)
void ServerConfigDialog::generateQR() void ServerConfigDialog::generateQR()
{ {
if (!httpServer->isRunning())
return;
ip->clear(); ip->clear();
auto addresses = getIpAddresses(); auto addresses = getIpAddresses();