mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Move DivePlannerModel and CylinderModel to qt-models
Still trying to make it easier for the Mobile Port: This patch is a bit bigger than I hopped, but it was the smallest that I could get. A lot of TODO items where added where I broke the code because the current implementation would break the QML implementtion on the designer. I'll most probably fix those myself when I finish the transition to the models to the new folder. I only moved both models at once because there's an interdependency between them (seems inevitable, tough, but I'll take a better look at it later). Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
6e4aa7d044
commit
f432b764e7
17 changed files with 1507 additions and 1460 deletions
|
@ -10,113 +10,7 @@
|
|||
|
||||
class QListView;
|
||||
class QModelIndex;
|
||||
|
||||
class DivePlannerPointsModel : public QAbstractTableModel {
|
||||
Q_OBJECT
|
||||
public:
|
||||
static DivePlannerPointsModel *instance();
|
||||
enum Sections {
|
||||
REMOVE,
|
||||
DEPTH,
|
||||
DURATION,
|
||||
RUNTIME,
|
||||
GAS,
|
||||
CCSETPOINT,
|
||||
COLUMNS
|
||||
};
|
||||
enum Mode {
|
||||
NOTHING,
|
||||
PLAN,
|
||||
ADD
|
||||
};
|
||||
virtual int columnCount(const QModelIndex &parent = QModelIndex()) const;
|
||||
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
|
||||
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
|
||||
virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
|
||||
virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole);
|
||||
virtual Qt::ItemFlags flags(const QModelIndex &index) const;
|
||||
void gaschange(const QModelIndex &index, QString newgas);
|
||||
void removeSelectedPoints(const QVector<int> &rows);
|
||||
void setPlanMode(Mode mode);
|
||||
bool isPlanner();
|
||||
void createSimpleDive();
|
||||
void setupStartTime();
|
||||
void clear();
|
||||
Mode currentMode() const;
|
||||
bool setRecalc(bool recalc);
|
||||
bool recalcQ();
|
||||
void tanksUpdated();
|
||||
void rememberTanks();
|
||||
bool tankInUse(struct gasmix gasmix);
|
||||
void setupCylinders();
|
||||
/**
|
||||
* @return the row number.
|
||||
*/
|
||||
void editStop(int row, divedatapoint newData);
|
||||
divedatapoint at(int row);
|
||||
int size();
|
||||
struct diveplan &getDiveplan();
|
||||
QStringList &getGasList();
|
||||
QVector<QPair<int, int> > collectGases(dive *d);
|
||||
int lastEnteredPoint();
|
||||
void removeDeco();
|
||||
static bool addingDeco;
|
||||
|
||||
public
|
||||
slots:
|
||||
int addStop(int millimeters = 0, int seconds = 0, struct gasmix *gas = 0, int ccpoint = 0, bool entered = true);
|
||||
void addCylinder_clicked();
|
||||
void setGFHigh(const int gfhigh);
|
||||
void triggerGFHigh();
|
||||
void setGFLow(const int ghflow);
|
||||
void triggerGFLow();
|
||||
void setSurfacePressure(int pressure);
|
||||
void setSalinity(int salinity);
|
||||
int getSurfacePressure();
|
||||
void setBottomSac(double sac);
|
||||
void setDecoSac(double sac);
|
||||
void setStartTime(const QTime &t);
|
||||
void setStartDate(const QDate &date);
|
||||
void setLastStop6m(bool value);
|
||||
void setDropStoneMode(bool value);
|
||||
void setVerbatim(bool value);
|
||||
void setDisplayRuntime(bool value);
|
||||
void setDisplayDuration(bool value);
|
||||
void setDisplayTransitions(bool value);
|
||||
void setRecreationalMode(bool value);
|
||||
void setSafetyStop(bool value);
|
||||
void savePlan();
|
||||
void saveDuplicatePlan();
|
||||
void remove(const QModelIndex &index);
|
||||
void cancelPlan();
|
||||
void createTemporaryPlan();
|
||||
void deleteTemporaryPlan();
|
||||
void loadFromDive(dive *d);
|
||||
void emitDataChanged();
|
||||
void setRebreatherMode(int mode);
|
||||
void setReserveGas(int reserve);
|
||||
|
||||
signals:
|
||||
void planCreated();
|
||||
void planCanceled();
|
||||
void cylinderModelEdited();
|
||||
void startTimeChanged(QDateTime);
|
||||
void recreationChanged(bool);
|
||||
|
||||
private:
|
||||
explicit DivePlannerPointsModel(QObject *parent = 0);
|
||||
bool addGas(struct gasmix mix);
|
||||
void createPlan(bool replanCopy);
|
||||
struct diveplan diveplan;
|
||||
Mode mode;
|
||||
bool recalc;
|
||||
QVector<divedatapoint> divepoints;
|
||||
QVector<sample> backupSamples; // For editing added dives.
|
||||
QVector<QPair<int, int> > oldGases;
|
||||
QDateTime startTime;
|
||||
int tempGFHigh;
|
||||
int tempGFLow;
|
||||
};
|
||||
class DivePlannerPointsModel;
|
||||
|
||||
class DiveHandler : public QObject, public QGraphicsEllipseItem {
|
||||
Q_OBJECT
|
||||
|
@ -205,7 +99,4 @@ private:
|
|||
Ui::plannerDetails ui;
|
||||
};
|
||||
|
||||
|
||||
QString dpGasToStr(const divedatapoint &p);
|
||||
|
||||
#endif // DIVEPLANNER_H
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue