mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
Edit the name of the Dive Computer via dialog.
The GTK version seems to be bugged on this, since the dialog doesn't save the dive computer nickname that I setted, but the Qt version shows less dive-computers than the GTK one on the same dive. I want somebody to do a quick review of my code too. :) I also plan to remove the 'OK' and 'Cancel' buttom, they seem to be overrated on this dialog - fairly uneeded. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
This commit is contained in:
parent
ebed836ee5
commit
24446f9c3c
2 changed files with 23 additions and 4 deletions
|
@ -1173,18 +1173,35 @@ void DiveComputerModel::update()
|
|||
nnl = nnl->next;
|
||||
count++;
|
||||
}
|
||||
qDebug() << "Numero de Devices" << count;
|
||||
|
||||
|
||||
if(numRows){
|
||||
beginRemoveRows(QModelIndex(), 0, numRows-1);
|
||||
numRows = 0;
|
||||
endRemoveRows();
|
||||
}
|
||||
|
||||
|
||||
if (count){
|
||||
beginInsertRows(QModelIndex(), 0, count-1);
|
||||
numRows = count;
|
||||
endInsertRows();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Qt::ItemFlags DiveComputerModel::flags(const QModelIndex& index) const
|
||||
{
|
||||
Qt::ItemFlags flags = QAbstractItemModel::flags(index);
|
||||
if (index.column() == NICKNAME)
|
||||
flags |= Qt::ItemIsEditable;
|
||||
return flags;
|
||||
}
|
||||
|
||||
bool DiveComputerModel::setData(const QModelIndex& index, const QVariant& value, int role)
|
||||
{
|
||||
struct device_info *nnl = head_of_device_info_list();
|
||||
for(int i = 0; i < index.row(); i++){
|
||||
nnl = nnl->next;
|
||||
}
|
||||
|
||||
QByteArray v = value.toByteArray();
|
||||
nnl->nickname = strdup(v.data()); // how should I free this before setting a new one?
|
||||
}
|
||||
|
|
|
@ -177,6 +177,8 @@ public:
|
|||
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 Qt::ItemFlags flags(const QModelIndex& index) const;
|
||||
virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole);
|
||||
void update();
|
||||
private:
|
||||
int numRows;
|
||||
|
|
Loading…
Reference in a new issue