mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 21:20:19 +00:00
c6188bbe47
Instead of modifying the device table directly, call the undo commands. Moreover, don't keep our own copy in the mode - show the original version. Connect to the appropriate signals. This means that the calls from the DiveComputerManagement dialog have to be removed, since this mode of editing is not supported. The whole dialog will be removed in a future commit. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#ifndef DIVECOMPUTERMODEL_H
|
|
#define DIVECOMPUTERMODEL_H
|
|
|
|
#include "qt-models/cleanertablemodel.h"
|
|
#include "core/device.h"
|
|
#include <QSortFilterProxyModel>
|
|
|
|
class DiveComputerModel : public CleanerTableModel {
|
|
Q_OBJECT
|
|
public:
|
|
enum {
|
|
REMOVE,
|
|
MODEL,
|
|
ID,
|
|
NICKNAME
|
|
};
|
|
DiveComputerModel(QObject *parent = 0);
|
|
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
|
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
|
Qt::ItemFlags flags(const QModelIndex &index) const override;
|
|
bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
|
|
|
|
private
|
|
slots:
|
|
void remove(const QModelIndex &index);
|
|
void update();
|
|
void deviceAdded(int idx);
|
|
void deviceDeleted(int idx);
|
|
void deviceEdited(int idx);
|
|
};
|
|
|
|
class DiveComputerSortedModel : public QSortFilterProxyModel {
|
|
public:
|
|
using QSortFilterProxyModel::QSortFilterProxyModel;
|
|
void remove(const QModelIndex &index);
|
|
private:
|
|
bool lessThan(const QModelIndex &i1, const QModelIndex &i2) const;
|
|
};
|
|
|
|
#endif
|