119 lines
4.4 KiB
C++
Executable File
119 lines
4.4 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* HMI Plugin for MeteoDataManagement - Meteo Data Overview Dialog
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Patric Karwat, SLSE, 2016-10-05
|
|
*/
|
|
|
|
#include "thp_building_settings.h"
|
|
#include "ui_thp_building_settings.h"
|
|
#include <Common/bdv_controller.h>
|
|
|
|
#include <LtsUtilsSettings/settings.h>
|
|
|
|
namespace THP
|
|
{
|
|
static QVariant getSetting(const QString &key, const QVariant &def)
|
|
{
|
|
return LtsUtils::OperatorSettings::getInstance()->value(QStringLiteral("BgViewer"), key, def);
|
|
}
|
|
|
|
static void setSetting(const QString &key, const QVariant &val)
|
|
{
|
|
LtsUtils::OperatorSettings::getInstance()->setValue(QStringLiteral("BgViewer"), key, val);
|
|
}
|
|
|
|
BgViewerSettingsView::BgViewerSettingsView(BuildingViewer::BgViewerController *pBgvController,
|
|
QWidget *parent)
|
|
: QDialog(parent)
|
|
, m_ui(new Ui::BgViewerSettingsUI)
|
|
, m_pBgvController(pBgvController)
|
|
{
|
|
m_ui->setupUi(this);
|
|
|
|
connect(m_ui->m_pCheckBoxGlobalIsoMode, &QCheckBox::clicked, this, &BgViewerSettingsView::onViewModeChanged);
|
|
connect(m_ui->m_pCheckBoxUseDotsMode, &QCheckBox::clicked, this, &BgViewerSettingsView::onPlayerDisplayModeChanged);
|
|
connect(m_ui->m_pSliderGlobalTransparency, &QSlider::valueChanged, this, &BgViewerSettingsView::onTransparencyChanged);
|
|
connect(m_ui->m_pSliderPlayerSymbolSize, &QSlider::valueChanged, this, &BgViewerSettingsView::onSymbolSizeChanged);
|
|
connect(m_ui->m_slider_SymbolFlashing, &QSlider::valueChanged, this, &BgViewerSettingsView::onSymbolFireEventFlashingChanged);
|
|
connect(m_ui->m_slider_HitlineDuration, &QSlider::valueChanged, this, &BgViewerSettingsView::onHitLineDisplayLengthChanged);
|
|
|
|
resetValues();
|
|
onSymbolFireEventFlashingChanged(m_ui->m_slider_HitlineDuration->value());
|
|
onHitLineDisplayLengthChanged(m_ui->m_slider_SymbolFlashing->value());
|
|
|
|
connect(m_ui->buttonBox, &QDialogButtonBox::accepted, this, &BgViewerSettingsView::accept);
|
|
connect(m_ui->buttonBox, &QDialogButtonBox::rejected, this, &BgViewerSettingsView::reject);
|
|
}
|
|
|
|
|
|
BgViewerSettingsView::~BgViewerSettingsView()
|
|
{
|
|
delete m_ui;
|
|
}
|
|
|
|
|
|
void BgViewerSettingsView::accept()
|
|
{
|
|
setSetting(QStringLiteral("GlobalTransparency"), m_ui->m_pSliderGlobalTransparency->value());
|
|
setSetting(QStringLiteral("UseIsoMode"), m_ui->m_pCheckBoxGlobalIsoMode->isChecked());
|
|
setSetting(QStringLiteral("UseDotsMode"), m_ui->m_pCheckBoxUseDotsMode->isChecked());
|
|
setSetting(QStringLiteral("PlayerSymbolSize"), m_ui->m_pSliderPlayerSymbolSize->value());
|
|
setSetting(QStringLiteral("maxHitlineDurationTime_s"), m_ui->m_slider_HitlineDuration->value());
|
|
setSetting(QStringLiteral("GearFlashTime_s"), m_ui->m_slider_SymbolFlashing->value());
|
|
setSetting(QStringLiteral("maxGearFlashTime_s"), m_ui->m_slider_SymbolFlashing->maximum());
|
|
QDialog::accept();
|
|
}
|
|
|
|
void BgViewerSettingsView::reject()
|
|
{
|
|
resetValues();
|
|
QDialog::reject();
|
|
}
|
|
|
|
void BgViewerSettingsView::resetValues()
|
|
{
|
|
m_ui->m_pSliderGlobalTransparency->setValue(getSetting(QStringLiteral("GlobalTransparency"), 75).toInt());
|
|
m_ui->m_pCheckBoxGlobalIsoMode->setChecked(getSetting(QStringLiteral("UseIsoMode"), false).toBool());
|
|
m_ui->m_pCheckBoxUseDotsMode->setChecked(getSetting(QStringLiteral("UseDotsMode"), false).toBool()) ;
|
|
m_ui->m_pSliderPlayerSymbolSize->setValue(getSetting(QStringLiteral("PlayerSymbolSize"), 20).toInt());
|
|
m_ui->m_slider_HitlineDuration->setValue(getSetting(QStringLiteral("maxHitlineDurationTime_s"), 10).toInt());
|
|
m_ui->m_slider_SymbolFlashing->setValue(getSetting(QStringLiteral("GearFlashTime_s"), 10).toInt());
|
|
}
|
|
|
|
void BgViewerSettingsView::onViewModeChanged()
|
|
{
|
|
m_pBgvController->excSetGlobalViewMode(m_ui->m_pCheckBoxGlobalIsoMode->isChecked());
|
|
}
|
|
|
|
void BgViewerSettingsView::onPlayerDisplayModeChanged()
|
|
{
|
|
m_pBgvController->excSetGlobalDotsMode(m_ui->m_pCheckBoxUseDotsMode->isChecked());
|
|
}
|
|
|
|
void BgViewerSettingsView::onSymbolSizeChanged()
|
|
{
|
|
m_pBgvController->updatePlayerSymbols(m_ui->m_pSliderPlayerSymbolSize->value());
|
|
}
|
|
|
|
void BgViewerSettingsView::onTransparencyChanged()
|
|
{
|
|
m_pBgvController->excSetGlobalTransparency(m_ui->m_pSliderGlobalTransparency->value());
|
|
}
|
|
|
|
void BgViewerSettingsView::onSymbolFireEventFlashingChanged(int val)
|
|
{
|
|
// only modified per config setting...
|
|
m_ui->m_label_durationSymbolFlashing->setText(tr("%1 sec").arg(val));
|
|
}
|
|
|
|
void BgViewerSettingsView::onHitLineDisplayLengthChanged(int val)
|
|
{
|
|
m_pBgvController->excSetHitlineDuration(val);
|
|
m_ui->m_label_HitlineDuration->setText(tr("%1 sec").arg(val));
|
|
}
|
|
|
|
} // namespace BuildingViewer
|