From 2d68214eac604c104226e2638161c0e4fd14fc79 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Thu, 17 Sep 2015 15:27:49 -0700 Subject: [PATCH] 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 --- icons/trash-forbidden.png | Bin 0 -> 4105 bytes qt-models/cleanertablemodel.h | 1 + qt-models/diveplannermodel.cpp | 4 ++++ qt-models/models.cpp | 5 +++++ subsurface.qrc | 1 + 5 files changed, 11 insertions(+) create mode 100644 icons/trash-forbidden.png diff --git a/icons/trash-forbidden.png b/icons/trash-forbidden.png new file mode 100644 index 0000000000000000000000000000000000000000..83d46fd5436c35c1168607cf76ba19fc2b5f7f77 GIT binary patch literal 4105 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 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 { diff --git a/subsurface.qrc b/subsurface.qrc index 1eaa8cc70..2672866a3 100644 --- a/subsurface.qrc +++ b/subsurface.qrc @@ -5,6 +5,7 @@ icons/subsurface-mobile-icon.png icons/plus.png icons/trash.png + icons/trash-forbidden.png icons/units.png icons/advanced.png icons/network.png