mirror of
https://github.com/subsurface/subsurface.git
synced 2024-12-01 06:30:26 +00:00
46b125782e
This gets things mostly right. It creates a dive and uses the planner widget to create samples which are copied into the dive. It fills in some reasonable defaults (DC model, timestamp), but doesn't allow editing the timestamp (or the temperatures and air pressure). On accept the planner gets reset and the dive appears correctly in the dive list. Cancel still needs to be handled. And I bet there are many subtle bugs lurking here and there. But it's a start. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
83 lines
1.7 KiB
C++
83 lines
1.7 KiB
C++
/*
|
|
* maintab.h
|
|
*
|
|
* header file for the main tab of Subsurface
|
|
*
|
|
*/
|
|
#ifndef MAINTAB_H
|
|
#define MAINTAB_H
|
|
|
|
#include <QTabWidget>
|
|
#include <QDialog>
|
|
#include <QMap>
|
|
|
|
#include "models.h"
|
|
|
|
class QCompleter;
|
|
struct dive;
|
|
namespace Ui
|
|
{
|
|
class MainTab;
|
|
}
|
|
|
|
struct NotesBackup{
|
|
QString location;
|
|
QString coordinates;
|
|
degrees_t latitude;
|
|
degrees_t longitude;
|
|
QString notes;
|
|
QString buddy;
|
|
QString suit;
|
|
int rating;
|
|
int visibility;
|
|
QString divemaster;
|
|
};
|
|
|
|
struct Completers{
|
|
QCompleter *location;
|
|
QCompleter *divemaster;
|
|
QCompleter *buddy;
|
|
QCompleter *suit;
|
|
};
|
|
|
|
class MainTab : public QTabWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
MainTab(QWidget *parent);
|
|
void clearStats();
|
|
void clearInfo();
|
|
void clearEquipment();
|
|
void reload();
|
|
bool eventFilter(QObject* , QEvent*);
|
|
void initialUiSetup();
|
|
void equipmentPlusUpdate();
|
|
public slots:
|
|
void addCylinder_clicked();
|
|
void addWeight_clicked();
|
|
void updateDiveInfo(int dive);
|
|
void acceptChanges();
|
|
void rejectChanges();
|
|
void on_location_textChanged(const QString& text);
|
|
void on_coordinates_textChanged(const QString& text);
|
|
void on_divemaster_textChanged(const QString& text);
|
|
void on_buddy_textChanged(const QString& text);
|
|
void on_suit_textChanged(const QString& text);
|
|
void on_notes_textChanged();
|
|
void on_rating_valueChanged(int value);
|
|
void on_visibility_valueChanged(int value);
|
|
void editCylinderWidget(const QModelIndex& index);
|
|
void editWeigthWidget(const QModelIndex& index);
|
|
void addDiveStarted();
|
|
|
|
private:
|
|
Ui::MainTab *ui;
|
|
WeightModel *weightModel;
|
|
CylindersModel *cylindersModel;
|
|
QMap<dive*, NotesBackup> notesBackup;
|
|
enum { NONE, DIVE, TRIP, ADD } editMode;
|
|
Completers completers;
|
|
void enableEdition();
|
|
};
|
|
|
|
#endif
|