Make the planner settings respond well to unit system changes.

[Dirk Hohndel: removed printf/qDebug() debug output]

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Robert C. Helling 2014-06-27 11:43:11 +02:00 committed by Dirk Hohndel
parent bbfe20a412
commit b438158693
3 changed files with 27 additions and 14 deletions

View file

@ -261,8 +261,6 @@ void DiveHandler::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
DivePlannerWidget::DivePlannerWidget(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f) DivePlannerWidget::DivePlannerWidget(QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f)
{ {
ui.setupUi(this); ui.setupUi(this);
if (prefs.units.METERS == units::FEET)
ui.atmHeight->setSuffix("ft");
ui.tableWidget->setTitle(tr("Dive Planner Points")); ui.tableWidget->setTitle(tr("Dive Planner Points"));
ui.tableWidget->setModel(DivePlannerPointsModel::instance()); ui.tableWidget->setModel(DivePlannerPointsModel::instance());
DivePlannerPointsModel::instance()->setRecalc(true); DivePlannerPointsModel::instance()->setRecalc(true);
@ -319,7 +317,13 @@ void DivePlannerWidget::setupStartTime(QDateTime startTime)
void DivePlannerWidget::settingsChanged() void DivePlannerWidget::settingsChanged()
{ {
// right now there's nothing special we do when settings change // Adopt units
if (get_units()->length == units::FEET) {
ui.atmHeight->setSuffix("ft");
} else {
ui.atmHeight->setSuffix(("m"));
}
} }
void DivePlannerPointsModel::addCylinder_clicked() void DivePlannerPointsModel::addCylinder_clicked()
@ -363,13 +367,6 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f)
{ {
ui.setupUi(this); ui.setupUi(this);
if (prefs.units.METERS == units::FEET) {
ui.ascRate75->setSuffix("ft/min");
ui.ascRate50->setSuffix("ft/min");
ui.ascRateStops->setSuffix("ft/min");
ui.ascRateLast6m->setSuffix("ft/min");
ui.descRate->setSuffix("ft/min");
}
ui.ascRate75->setValue(prefs.ascrate75 / UNIT_FACTOR); ui.ascRate75->setValue(prefs.ascrate75 / UNIT_FACTOR);
ui.ascRate50->setValue(prefs.ascrate50 / UNIT_FACTOR); ui.ascRate50->setValue(prefs.ascrate50 / UNIT_FACTOR);
ui.ascRateStops->setValue(prefs.ascratestops / UNIT_FACTOR); ui.ascRateStops->setValue(prefs.ascratestops / UNIT_FACTOR);
@ -400,9 +397,7 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f)
connect(ui.bottomSAC, SIGNAL(valueChanged(int)), this, SLOT(bottomSacChanged(int))); connect(ui.bottomSAC, SIGNAL(valueChanged(int)), this, SLOT(bottomSacChanged(int)));
connect(ui.decoStopSAC, SIGNAL(valueChanged(int)), this, SLOT(decoSacChanged(int))); connect(ui.decoStopSAC, SIGNAL(valueChanged(int)), this, SLOT(decoSacChanged(int)));
connect(ui.gfhigh, SIGNAL(valueChanged(int)), plannerModel, SLOT(setGFHigh(int))); connect(ui.gfhigh, SIGNAL(valueChanged(int)), plannerModel, SLOT(setGFHigh(int)));
// connect(ui.gfhigh, SIGNAL(valueChanged()), plannerModel, SLOT(emitDataChanged()));
connect(ui.gflow, SIGNAL(valueChanged(int)), plannerModel, SLOT(setGFLow(int))); connect(ui.gflow, SIGNAL(valueChanged(int)), plannerModel, SLOT(setGFLow(int)));
// connect(ui.gflow, SIGNAL(valueChanged()), plannerModel, SLOT(emitDataChanged()));
ui.bottomSAC->setValue(20); ui.bottomSAC->setValue(20);
ui.decoStopSAC->setValue(17); ui.decoStopSAC->setValue(17);
@ -415,6 +410,22 @@ PlannerSettingsWidget::PlannerSettingsWidget(QWidget *parent, Qt::WindowFlags f)
void PlannerSettingsWidget::settingsChanged() void PlannerSettingsWidget::settingsChanged()
{ {
if (get_units()->length == units::FEET) {
ui.ascRate75->setSuffix("ft/min");
ui.ascRate50->setSuffix("ft/min");
ui.ascRateStops->setSuffix("ft/min");
ui.ascRateLast6m->setSuffix("ft/min");
ui.descRate->setSuffix("ft/min");
ui.lastStop->setText(tr("Last stop at 20ft"));
} else {
ui.ascRate75->setSuffix("m/min");
ui.ascRate50->setSuffix("m/min");
ui.ascRateStops->setSuffix("m/min");
ui.ascRateLast6m->setSuffix("m/min");
ui.descRate->setSuffix("m/min");
ui.lastStop->setText(tr("Last stop at 6m"));
}
} }
void PlannerSettingsWidget::atmPressureChanged(const QString &pressure) void PlannerSettingsWidget::atmPressureChanged(const QString &pressure)

View file

@ -79,6 +79,7 @@ MainWindow::MainWindow() : QMainWindow(),
connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), ui.ListWidget, SLOT(reloadHeaderActions())); connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), ui.ListWidget, SLOT(reloadHeaderActions()));
connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), ui.InfoWidget, SLOT(updateDiveInfo())); connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), ui.InfoWidget, SLOT(updateDiveInfo()));
connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), ui.divePlannerWidget, SLOT(settingsChanged())); connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), ui.divePlannerWidget, SLOT(settingsChanged()));
connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), ui.plannerSettingsWidget, SLOT(settingsChanged()));
connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), TankInfoModel::instance(), SLOT(update())); connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), TankInfoModel::instance(), SLOT(update()));
connect(ui.actionRecent1, SIGNAL(triggered(bool)), this, SLOT(recentFileTriggered(bool))); connect(ui.actionRecent1, SIGNAL(triggered(bool)), this, SLOT(recentFileTriggered(bool)));
connect(ui.actionRecent2, SIGNAL(triggered(bool)), this, SLOT(recentFileTriggered(bool))); connect(ui.actionRecent2, SIGNAL(triggered(bool)), this, SLOT(recentFileTriggered(bool)));
@ -102,6 +103,7 @@ MainWindow::MainWindow() : QMainWindow(),
ui.ListWidget->expand(ui.ListWidget->model()->index(0, 0)); ui.ListWidget->expand(ui.ListWidget->model()->index(0, 0));
ui.ListWidget->scrollTo(ui.ListWidget->model()->index(0, 0), QAbstractItemView::PositionAtCenter); ui.ListWidget->scrollTo(ui.ListWidget->model()->index(0, 0), QAbstractItemView::PositionAtCenter);
ui.divePlannerWidget->settingsChanged(); ui.divePlannerWidget->settingsChanged();
ui.plannerSettingsWidget->settingsChanged();
#ifdef NO_MARBLE #ifdef NO_MARBLE
ui.globePane->hide(); ui.globePane->hide();
ui.menuView->removeAction(ui.actionViewGlobe); ui.menuView->removeAction(ui.actionViewGlobe);

View file

@ -526,7 +526,7 @@
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
<widget class="PlannerSettingsWidget" name="fullPlan"> <widget class="PlannerSettingsWidget" name="plannerSettingsWidget">
<layout class="QVBoxLayout" name="horizontalLayout_p4"> <layout class="QVBoxLayout" name="horizontalLayout_p4">
<property name="spacing"> <property name="spacing">
<number>0</number> <number>0</number>
@ -656,7 +656,7 @@ p, li { white-space: pre-wrap; }
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>1682</width> <width>1682</width>
<height>27</height> <height>22</height>
</rect> </rect>
</property> </property>
<widget class="QMenu" name="menuFile"> <widget class="QMenu" name="menuFile">