summaryrefslogtreecommitdiffstats
path: root/qt-ui/models.cpp
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tcanabrava@kde.org>2013-04-27 12:27:27 -0300
committerGravatar Tomaz Canabrava <tcanabrava@kde.org>2013-04-27 12:27:27 -0300
commit2f4d6bbe535a195046b4746fd3a771087ee4a6c4 (patch)
tree60e7e1ea1cdb4518402f90bd0476915fb7f4742d /qt-ui/models.cpp
parent1d0d42f861fc3a658eb22b99ba58616d716e095e (diff)
downloadsubsurface-2f4d6bbe535a195046b4746fd3a771087ee4a6c4.tar.gz
Added support for showing the Stars on the DiveTable
For the stars on the dive table I had to rework a bit my StarRating widget, because it used a pixmap for each widget that were created. Not it uses only 2 pixmaps: the active and inactive ones. A new file was created named modeldelegates(h, cpp) that should hold all delegates of the models. For the GTK / C folks, a 'Delegate' ia s way to bypass the default behavior of the view that's displaying the data. I also added the code to display the stars if no delegate is set ( good for debugging. ) Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Diffstat (limited to 'qt-ui/models.cpp')
-rw-r--r--qt-ui/models.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/qt-ui/models.cpp b/qt-ui/models.cpp
index 5f803766f..0944fe3e3 100644
--- a/qt-ui/models.cpp
+++ b/qt-ui/models.cpp
@@ -5,9 +5,6 @@
*
*/
#include "models.h"
-#include "../dive.h"
-#include "../divelist.h"
-
#include <QtDebug>
extern struct tank_info tank_info[100];
@@ -284,6 +281,7 @@ void TankInfoModel::update()
}
}
+
/*! A DiveItem for use with a DiveTripModel
*
* A simple class which wraps basic stats for a dive (e.g. duration, depth) and
@@ -314,6 +312,8 @@ public:
return tw.grams;
}
+ int diveRating() const { return dive->rating; }
+
QString displayDuration() const;
QString displayDepth() const;
QString displayTemperature() const;
@@ -335,6 +335,7 @@ private:
QList <DiveItem*> childlist;
};
+
DiveItem::DiveItem(struct dive *d, DiveItem *p):
dive(d),
parentItem(p)
@@ -490,6 +491,16 @@ QVariant DiveTripModel::data(const QModelIndex &index, int role) const
case LOCATION:
retVal = item->diveLocation();
break;
+ case RATING:
+ retVal = item->diveRating();
+ break;
+ }
+ }
+ if (role == DelegatesRole){
+ switch(index.column()){
+ case RATING:
+ retVal = item->diveRating();
+ break;
}
}
return retVal;
@@ -569,8 +580,6 @@ int DiveTripModel::rowCount(const QModelIndex &parent) const
return item ? item->children().count() : 0;
}
-
-
int DiveTripModel::columnCount(const QModelIndex &parent) const
{
return parent.isValid() && parent.column() != 0 ? 0 : COLUMNS;