#include #include "sacnexplorer.h" SacnExplorer::SacnExplorer(int argc, char *argv[]) : QApplication(argc, argv) , node_(nullptr) , window_(nullptr) { setOrganizationName("Company235"); setOrganizationDomain("company235.com"); setApplicationName(tr("sACN Explorer")); settings_ = new QSettings(this); // Persistant configuration qDebug() << "Loaded application settings from" << settings_->fileName(); settings_->beginGroup("ACN"); auto cid = settings_->value("CID", QUuid::createUuid()).toUuid(); auto uacn = settings_->value("UACN", "").toString(); auto ipv4 = settings_->value("IPv4", true).toBool(); auto ipv6 = settings_->value("IPv6", true).toBool(); settings_->endGroup(); settings_->beginGroup("sACN"); settings_->beginGroup("receiver"); auto discovery = settings_->value("discovery", true).toBool(); settings_->endGroup(); settings_->endGroup(); // sACN Node node_ = new QSacnNode(this, cid, applicationName(), ipv4, ipv6); node_->assignUserName(uacn.toStdString()); qDebug() << "sACN node" << QString(node_->name().c_str()) << "started with CID" << cid.toString(); if (discovery) node_->discoveryStart(); // Multiverse Explorer window_ = new MultiverseWindow(nullptr, node_); window_->setWindowTitle(QApplication::applicationName()); window_->show(); } SacnExplorer::~SacnExplorer() { saveSettings(); delete window_; } /** * @brief SacnExplorer::saveSettings */ void SacnExplorer::saveSettings() { qDebug() << "Saving application settings to" << settings_->fileName(); settings_->beginGroup("ACN"); settings_->setValue("CID", node_->cid().string().c_str()); settings_->setValue("UACN", node_->userName().c_str()); settings_->setValue("IPv4", node_->isEnabledIPv4()); settings_->setValue("IPv6", node_->isEnabledIPv6()); settings_->endGroup(); settings_->beginGroup("sACN"); settings_->beginGroup("receiver"); settings_->setValue("discovery", node_->discoveryEnabled()); settings_->endGroup(); settings_->endGroup(); }