From 025142e7a16b98c4630859aeb057c81824692405 Mon Sep 17 00:00:00 2001
From: Matvey Vepritskiy <matteofichtner@hotmail.com>
Date: Sun, 15 Mar 2015 20:02:00 +0300
Subject: [PATCH] Fixed #789

---
 icons/trashGray.png   | Bin 0 -> 1592 bytes
 qt-ui/diveplanner.cpp |   4 ++++
 qt-ui/models.cpp      |  15 +++++++++++++++
 qt-ui/models.h        |   3 +++
 subsurface.qrc        |   7 ++++---
 5 files changed, 26 insertions(+), 3 deletions(-)
 create mode 100644 icons/trashGray.png

diff --git a/icons/trashGray.png b/icons/trashGray.png
new file mode 100644
index 0000000000000000000000000000000000000000..c9e3b8d7bbfa5f2d00d0ad148fdfa5b96bf86981
GIT binary patch
literal 1592
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

literal 0
HcmV?d00001

diff --git a/qt-ui/diveplanner.cpp b/qt-ui/diveplanner.cpp
index 7a35daa..b9c28c1 100644
--- a/qt-ui/diveplanner.cpp
+++ b/qt-ui/diveplanner.cpp
@@ -636,12 +636,16 @@ QVariant DivePlannerPointsModel::data(const QModelIndex &index, int role) const
 		case REMOVE:
 			if (rowCount() > 1)
 				return p.entered ? trashIcon() : QVariant();
+			else
+				return p.entered ? trashIconGray() : QVariant();
 		}
 	} else if (role == Qt::SizeHintRole) {
 		switch (index.column()) {
 		case REMOVE:
 			if (rowCount() > 1)
 				return p.entered ? trashIcon().size() : QVariant();
+			else
+				return p.entered ? trashIconGray().size() :QVariant();
 		}
 	} else if (role == Qt::FontRole) {
 		if (divepoints.at(index.row()).entered) {
diff --git a/qt-ui/models.cpp b/qt-ui/models.cpp
index 6376bb8..7adb92a 100644
--- a/qt-ui/models.cpp
+++ b/qt-ui/models.cpp
@@ -72,6 +72,20 @@ const QPixmap &trashIcon()
 	return *trashIconPixmap;
 }
 
+static QPixmap *trashIconGrayPixmap;
+
+// initialize the gray trash icon if necessary
+static void initTrashIconGray()
+{
+	if (!trashIconGrayPixmap)
+		trashIconGrayPixmap = new QPixmap(QIcon(":trashGray").pixmap(defaultIconMetrics().sz_small));
+}
+
+const QPixmap &trashIconGray()
+{
+	return *trashIconGrayPixmap;
+}
+
 CylindersModel::CylindersModel(QObject *parent) : changed(false),
 	rows(0)
 {
@@ -434,6 +448,7 @@ WeightModel::WeightModel(QObject *parent) : CleanerTableModel(parent),
 	setHeaderDataStrings(QStringList() << tr("") << tr("Type") << tr("Weight"));
 
 	initTrashIcon();
+	initTrashIconGray();
 }
 
 weightsystem_t *WeightModel::weightSystemAt(const QModelIndex &index)
diff --git a/qt-ui/models.h b/qt-ui/models.h
index 0123ce1..b0dc0ef 100644
--- a/qt-ui/models.h
+++ b/qt-ui/models.h
@@ -92,6 +92,9 @@ private:
 /* Retrieve the trash icon pixmap, common to most table models */
 const QPixmap &trashIcon();
 
+/* Retrieve the gray trash icon pixmap for lines which a not allowed to remove */
+const QPixmap &trashIconGray();
+
 /* Encapsulation of the Cylinder Model, that presents the
  * Current cylinders that are used on a dive. */
 class CylindersModel : public CleanerTableModel {
diff --git a/subsurface.qrc b/subsurface.qrc
index 2b07313..22b9c60 100644
--- a/subsurface.qrc
+++ b/subsurface.qrc
@@ -72,8 +72,9 @@
         <file>icons/ostc3.png</file>
         <file>icons/suunto_vyper.png</file>
         <file alias="facebook">icons/facebook.png</file>
-	<file alias="filter-reset">icons/edit-undo.svg</file>
-	<file alias="filter-hide">icons/go-top.svg</file>
-	<file alias="filter-close">icons/process-stop.svg</file>
+        <file alias="filter-reset">icons/edit-undo.svg</file>
+        <file alias="filter-hide">icons/go-top.svg</file>
+        <file alias="filter-close">icons/process-stop.svg</file>
+        <file alias="trashGray">icons/trashGray.png</file>
     </qresource>
 </RCC>
-- 
2.1.0

