Descubrimiento autom?tico de la direcci?n ip local (BETA)

This commit is contained in:
Luis Ángel San Martín 2012-09-09 10:51:44 +02:00
parent 51b62edc71
commit b0cfaaf13c
4 changed files with 36 additions and 2 deletions

View File

@ -6,6 +6,7 @@
//interfaz al servidor //interfaz al servidor
LibraryWindow * mw; LibraryWindow * mw;
Startup * s;
int main( int argc, char ** argv ) int main( int argc, char ** argv )
{ {
@ -21,7 +22,7 @@ int main( int argc, char ** argv )
mw->resize(800,480); mw->resize(800,480);
mw->showMaximized(); mw->showMaximized();
Startup * s = new Startup(); s = new Startup();
s->start(); s->start();
return app.exec(); return app.exec();

View File

@ -73,5 +73,9 @@ Startup::Startup()
} }
QString Startup::getPort()
{
return QString("%1").arg(listener->serverPort());
}

View File

@ -24,6 +24,8 @@ public:
void start(); void start();
/** Stop the server */ /** Stop the server */
void stop(); void stop();
QString getPort();
protected: protected:
}; };

View File

@ -1,7 +1,13 @@
#include "server_config_dialog.h" #include "server_config_dialog.h"
#include <QCoreApplication> #include <QCoreApplication>
#include <QGridLayout> #include <QGridLayout>
#include <QNetworkInterface>
#include <QHostInfo>
#include <QHostAddress>
#include "startup.h"
extern Startup * s;
ServerConfigDialog::ServerConfigDialog(QWidget * parent) ServerConfigDialog::ServerConfigDialog(QWidget * parent)
:QDialog(parent) :QDialog(parent)
@ -21,7 +27,28 @@ ServerConfigDialog::ServerConfigDialog(QWidget * parent)
void ServerConfigDialog::generateQR() void ServerConfigDialog::generateQR()
{ {
generateQR("192.168.2.110:8080"); //QString items;
//foreach(QNetworkInterface interface, QNetworkInterface::allInterfaces())
//{
// if (~interface.flags() & QNetworkInterface::IsLoopBack)//interface.flags().testFlag(QNetworkInterface::IsRunning))
// foreach (QNetworkAddressEntry entry, interface.addressEntries())
// {
// if ( interface.hardwareAddress() != "00:00:00:00:00:00" && entry.ip().toString().contains("."))
// items.append(interface.name() + entry.ip().toString());
// }
//}
QString dir;
QList<QHostAddress> list = QHostInfo::fromName( QHostInfo::localHostName() ).addresses();
foreach(QHostAddress add, list)
{
dir = add.toString();
if(dir.contains("."))
break;
}
generateQR(dir+":"+s->getPort());
//qrCode->setText(dir+":8080");
} }
void ServerConfigDialog::generateQR(const QString & serverAddress) void ServerConfigDialog::generateQR(const QString & serverAddress)