swift
settingsviewupdatetimes.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2016 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #include "ui_settingsviewupdatetimes.h"
7 
8 using namespace swift::gui::settings;
9 using namespace swift::misc::physical_quantities;
10 
11 namespace swift::gui::components
12 {
13  CSettingsViewUpdateTimes::CSettingsViewUpdateTimes(QWidget *parent)
14  : QFrame(parent), ui(new Ui::CSettingsViewUpdateTimes)
15  {
16  ui->setupUi(this);
17  connect(ui->hs_RenderingUpdateTime, &QSlider::sliderReleased, this,
18  &CSettingsViewUpdateTimes::ps_sliderChanged);
19  connect(ui->hs_AircraftUpdateTime, &QSlider::sliderReleased, this, &CSettingsViewUpdateTimes::ps_sliderChanged);
20  connect(ui->hs_AtcUpdateTime, &QSlider::sliderReleased, this, &CSettingsViewUpdateTimes::ps_sliderChanged);
21  connect(ui->hs_UserUpdateTime, &QSlider::sliderReleased, this, &CSettingsViewUpdateTimes::ps_sliderChanged);
22  connect(ui->tb_ResetUser, &QToolButton::clicked, this, &CSettingsViewUpdateTimes::ps_resetUpdateTimes);
23 
24  this->ps_settingsChanged();
25  }
26 
28 
29  void CSettingsViewUpdateTimes::ps_sliderChanged()
30  {
31  CViewUpdateSettings settings;
32  settings.setAircraftUpdateTime(CTime(ui->hs_AircraftUpdateTime->value(), CTimeUnit::s()));
33  settings.setAtcUpdateTime(CTime(ui->hs_AtcUpdateTime->value(), CTimeUnit::s()));
34  settings.setRenderingUpdateTime(CTime(ui->hs_RenderingUpdateTime->value(), CTimeUnit::s()));
35  settings.setUserUpdateTime(CTime(ui->hs_UserUpdateTime->value(), CTimeUnit::s()));
36  m_settings.setAndSave(settings);
37  }
38 
39  void CSettingsViewUpdateTimes::ps_settingsChanged()
40  {
41  const CViewUpdateSettings settings(this->m_settings.get());
42  ui->hs_AircraftUpdateTime->setValue(settings.getAircraftUpdateTime().toSeconds());
43  ui->hs_AtcUpdateTime->setValue(settings.getAtcUpdateTime().toSeconds());
44  ui->hs_RenderingUpdateTime->setValue(settings.getRenderingUpdateTime().toSeconds());
45  ui->hs_UserUpdateTime->setValue(settings.getUserUpdateTime().toSeconds());
46  }
47 
48  void CSettingsViewUpdateTimes::ps_resetUpdateTimes()
49  {
50  CViewUpdateSettings settings;
51  m_settings.setAndSave(settings);
52  this->ps_settingsChanged();
53  }
54 } // namespace swift::gui::components
Settings about view update rates.
void setAircraftUpdateTime(const swift::misc::physical_quantities::CTime &time)
Set time.
const swift::misc::physical_quantities::CTime & getRenderingUpdateTime() const
Get time.
void setRenderingUpdateTime(const swift::misc::physical_quantities::CTime &time)
Set time.
const swift::misc::physical_quantities::CTime & getUserUpdateTime() const
Get time.
void setUserUpdateTime(const swift::misc::physical_quantities::CTime &time)
Set time.
const swift::misc::physical_quantities::CTime & getAircraftUpdateTime() const
Get time.
void setAtcUpdateTime(const swift::misc::physical_quantities::CTime &time)
Set time.
const swift::misc::physical_quantities::CTime & getAtcUpdateTime() const
Get time.
CStatusMessage setAndSave(const T &value, qint64 timestamp=0)
Write and save in the same step. Must be called from the thread in which the owner lives.
Definition: valuecache.h:417
T get() const
Get a copy of the current value.
Definition: valuecache.h:408
int toSeconds() const
Convenience functions when used with timers etc.
Definition: time.cpp:123
High level reusable GUI components.
Definition: aboutdialog.cpp:13