#include "ndgui.h" ndgui::ndgui(QWidget *parent) : QWidget(parent) { ui.setupUi(this); connect(&logReceiver, SIGNAL(addNewInterface(QString, int)), this, SLOT(addNewInterface(QString, int))); connect(&logReceiver, SIGNAL(changeProgressBarValue(int , int )), this, SLOT(handleProgress(int, int))); buildGui(); logReceiver.initAndRun(); setWindowTitle(tr("NetD")); } ndgui::~ndgui() { } void ndgui::buildGui() { ndStatusLabel = new QLabel(tr("test")); ndStatusLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); ndStatusLabel->setAlignment(Qt::AlignCenter); ndStatusLabel->setMinimumSize(100, 20); // create interface group box createInterfaceGroupBox(); mainLayout = new QVBoxLayout; mainLayout->addWidget(ndStatusLabel); mainLayout->addWidget(interfaceGroupBox); setLayout(mainLayout); } void ndgui::createInterfaceGroupBox(){ interfaceGroupBox = new QGroupBox(tr("Interfaces")); interfaceGroupBoxLayout = new QVBoxLayout; /* add interfaces via addInterfacesToGroupBox()*/ interfaceGroupBox->setLayout(interfaceGroupBoxLayout); } void ndgui::addNewInterface(QString ifName, int index) { QHBoxLayout *hBoxLayout = new QHBoxLayout; QLabel *label = new QLabel(ifName); QProgressBar *pBar = new QProgressBar(this); pBar->setRange(1, 100); pBar->setMaximumSize(200, 20); progressBars.insert(index, pBar); hBoxLayout->addWidget(label, Qt::AlignLeft); hBoxLayout->addWidget(pBar, Qt::AlignRight); interfaceGroupBoxLayout->addLayout(hBoxLayout, 2); } /* void ndgui::addInterfacesToGroupBox(QList &interfaces) { foreach(QNetworkInterface nI, interfaces){ int index = indexToIfaceNameMap.value(nI.humanReadableName()); QHBoxLayout *hBoxLayout = new QHBoxLayout; QLabel *label = new QLabel(nI.humanReadableName()); QProgressBar *pBar = new QProgressBar(this); pBar->setRange(1,100); pBar->setMaximumSize(200,20); progressBars.insert(index,pBar); hBoxLayout->addWidget(label, Qt::AlignLeft); hBoxLayout->addWidget(pBar, Qt::AlignRight); interfaceGroupBoxLayout->addLayout(hBoxLayout,2); } } */ void ndgui::handleProgress(int iFaceIndex, int newValue) { QProgressBar * pBar = progressBars.value(iFaceIndex); if(newValue >= pBar->value()) { pBar->setValue(newValue); } else { qDebug() << "Error: new value is smaller than the old value!"; } }