OpenLCP/example/sACN Explorer/sacnexplorer.cpp

65 lines
1.7 KiB
C++

#include "sacnexplorer.h"
#include <QDebug>
SacnExplorer::SacnExplorer(int argc, char *argv[])
: QApplication(argc, argv)
{
setOrganizationName("Company235");
setOrganizationDomain("company235.com");
setApplicationName(tr("sACN Explorer"));
// Persistant configuration
settings_ = new QSettings();
qDebug() << "Loaded application settings from" << settings_->fileName();
settings_->beginGroup("ACN");
auto cid = settings_->value("CID", QUuid::createUuid().toString()).toUuid();
auto uacn = settings_->value("UACN", applicationName()).toString();
settings_->endGroup();
settings_->beginGroup("sACN");
settings_->beginGroup("receiver");
auto discovery = settings_->value("discovery", true).toBool();
settings_->endGroup();
settings_->endGroup();
// sACN Node
qDebug() << "sACN node" << uacn << "starting with CID" << cid.toString();
node_ = new QSacnNode(this, cid, applicationName());
node_->assignUserName(uacn.toStdString());
if (discovery)
node_->discoveryStart();
// Multiverse Explorer
window_ = new MultiverseView(nullptr, node_);
window_->show();
}
SacnExplorer::~SacnExplorer()
{
saveSettings();
delete settings_;
delete window_;
delete node_;
}
/**
* @brief MultiverseView::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_->name().c_str());
settings_->endGroup();
settings_->beginGroup("sACN");
settings_->beginGroup("receiver");
settings_->setValue("discovery", node_->isDiscovering());
settings_->endGroup();
settings_->endGroup();
}