subsurface/desktop-widgets/tab-widgets/TabDiveInformation.h
willemferguson ebabbfb457 desktop UI: create the UI components for editing the salinity.
The user may modify the salinity by selecting a water type from the combobox.
The new datum does not replace the existing salinity value but is stored in a
separate variable within the dive structure. If the dc-based salinity is
overwritten, there is an exclamation mark next to the modified salinity value
to indicate that the salinity has been overwritten. The dc-derived salinity can
always be recovered by selecting the "use dc" option in the combobox.

Signed-off-by: willemferguson <willemferguson@zoology.up.ac.za>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2020-01-06 07:00:34 +09:00

49 lines
1.3 KiB
C++

// SPDX-License-Identifier: GPL-2.0
#ifndef TAB_DIVE_INFORMATION_H
#define TAB_DIVE_INFORMATION_H
#include "TabBase.h"
#include "core/subsurface-qt/DiveListNotifier.h"
namespace Ui {
class TabDiveInformation;
};
class TabDiveInformation : public TabBase {
Q_OBJECT
public:
TabDiveInformation(QWidget *parent = 0);
~TabDiveInformation();
void updateData() override;
void clear() override;
private slots:
void divesChanged(const QVector<dive *> &dives, DiveField field);
void diveModeChanged(int index);
void on_atmPressVal_editingFinished();
void on_atmPressType_currentIndexChanged(int index);
void on_visibility_valueChanged(int value);
void on_wavesize_valueChanged(int value);
void on_current_valueChanged(int value);
void on_surge_valueChanged(int value);
void on_chill_valueChanged(int value);
void on_airtemp_editingFinished();
void on_watertemp_editingFinished();
void on_waterTypeCombo_activated(int index);
private:
Ui::TabDiveInformation *ui;
void updateProfile();
void updateSalinity();
int updateSalinityComboIndex(int salinity);
void checkDcSalinityOverWritten();
void updateWhen();
int pressTypeIndex;
void updateWaterTypeWidget();
void updateTextBox(int event);
void updateMode(struct dive *d);
void divesEdited(int);
void closeWarning();
void showCurrentWidget(bool show, int position);
};
#endif