mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Remove the dive computer clicking on the trash icon.
This code removes the dive computer clicking on the trash icon, the result is not saved on the XML, this will need a bit of hacking from some of the older guys. :) Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
This commit is contained in:
parent
54128aa52f
commit
7681895fe0
2 changed files with 27 additions and 0 deletions
|
@ -1,6 +1,8 @@
|
|||
#include "divecomputermanagementdialog.h"
|
||||
#include "models.h"
|
||||
#include "ui_divecomputermanagementdialog.h"
|
||||
#include "mainwindow.h"
|
||||
#include <QMessageBox>
|
||||
|
||||
DiveComputerManagementDialog::DiveComputerManagementDialog(QWidget* parent, Qt::WindowFlags f): QDialog(parent, f)
|
||||
, ui( new Ui::DiveComputerManagementDialog())
|
||||
|
@ -8,6 +10,8 @@ DiveComputerManagementDialog::DiveComputerManagementDialog(QWidget* parent, Qt::
|
|||
ui->setupUi(this);
|
||||
model = new DiveComputerModel();
|
||||
ui->tableView->setModel(model);
|
||||
connect(ui->tableView, SIGNAL(clicked(QModelIndex)), this, SLOT(tryRemove(QModelIndex)));
|
||||
ui->tableView->setColumnWidth(DiveComputerModel::REMOVE, 22);
|
||||
}
|
||||
|
||||
DiveComputerManagementDialog* DiveComputerManagementDialog::instance()
|
||||
|
@ -20,3 +24,21 @@ void DiveComputerManagementDialog::update()
|
|||
{
|
||||
model->update();
|
||||
}
|
||||
|
||||
void DiveComputerManagementDialog::tryRemove(const QModelIndex& index)
|
||||
{
|
||||
if (index.column() != DiveComputerModel::REMOVE){
|
||||
return;
|
||||
}
|
||||
|
||||
QMessageBox::StandardButton response = QMessageBox::question(
|
||||
this,
|
||||
tr("Remove the selected Dive Computer?"),
|
||||
tr("Are you sure that you want to \n remove the selected dive computer?"),
|
||||
QMessageBox::Ok | QMessageBox::Cancel
|
||||
);
|
||||
|
||||
if (response == QMessageBox::Ok){
|
||||
model->remove(index);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#define DIVECOMPUTERMANAGEMENTDIALOG_H
|
||||
#include <QDialog>
|
||||
|
||||
class QModelIndex;
|
||||
class DiveComputerModel;
|
||||
namespace Ui{
|
||||
class DiveComputerManagementDialog;
|
||||
|
@ -13,6 +14,10 @@ Q_OBJECT
|
|||
public:
|
||||
static DiveComputerManagementDialog *instance();
|
||||
void update();
|
||||
|
||||
public slots:
|
||||
void tryRemove(const QModelIndex& index);
|
||||
|
||||
private:
|
||||
explicit DiveComputerManagementDialog(QWidget* parent = 0, Qt::WindowFlags f = 0);
|
||||
Ui::DiveComputerManagementDialog *ui;
|
||||
|
|
Loading…
Add table
Reference in a new issue