From 2d68214eac604c104226e2638161c0e4fd14fc79 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Thu, 17 Sep 2015 15:27:49 -0700 Subject: Planner: show new icon to indicate that last point can't be deleted Having the trash can disappear is somewhat intuitive, but I'd argue this is even more so. Fixes #789 Signed-off-by: Dirk Hohndel --- qt-models/cleanertablemodel.h | 1 + qt-models/diveplannermodel.cpp | 4 ++++ qt-models/models.cpp | 5 +++++ 3 files changed, 10 insertions(+) (limited to 'qt-models') diff --git a/qt-models/cleanertablemodel.h b/qt-models/cleanertablemodel.h index c47cf87f4..974d822e6 100644 --- a/qt-models/cleanertablemodel.h +++ b/qt-models/cleanertablemodel.h @@ -7,6 +7,7 @@ /* Retrieve the trash icon pixmap, common to most table models */ const QPixmap &trashIcon(); +const QPixmap &trashForbiddenIcon(); /* When using a QAbstractTableModel, consider using this instead * of the default implementation, as it's easyer to setup the columns diff --git a/qt-models/diveplannermodel.cpp b/qt-models/diveplannermodel.cpp index 005061feb..cb221a0ad 100644 --- a/qt-models/diveplannermodel.cpp +++ b/qt-models/diveplannermodel.cpp @@ -218,12 +218,16 @@ QVariant DivePlannerPointsModel::data(const QModelIndex &index, int role) const case REMOVE: if (rowCount() > 1) return p.entered ? trashIcon() : QVariant(); + else + return trashForbiddenIcon(); } } else if (role == Qt::SizeHintRole) { switch (index.column()) { case REMOVE: if (rowCount() > 1) return p.entered ? trashIcon().size() : QVariant(); + else + return trashForbiddenIcon().size(); } } else if (role == Qt::FontRole) { if (divepoints.at(index.row()).entered) { diff --git a/qt-models/models.cpp b/qt-models/models.cpp index fa046ff3f..6f6b501de 100644 --- a/qt-models/models.cpp +++ b/qt-models/models.cpp @@ -18,6 +18,11 @@ const QPixmap &trashIcon() return trash; } +const QPixmap &trashForbiddenIcon() +{ + static QPixmap trash = QPixmap(":trashForbidden").scaledToHeight(defaultIconMetrics().sz_small); + return trash; +} Qt::ItemFlags GasSelectionModel::flags(const QModelIndex &index) const { -- cgit v1.2.3-70-g09d2