Display rating in cover browser

This commit is contained in:
Kovid Goyal 2010-07-04 08:47:01 -06:00
parent b7a68652d5
commit 7b34aa9e77
5 changed files with 31 additions and 6 deletions

View File

@ -67,6 +67,13 @@ if pictureflow is not None:
ans = ''
return ans
def subtitle(self, index):
try:
return u'\u2605'*self.model.rating(index)
except:
pass
return ''
def reset(self):
self.dataChanged.emit()

View File

@ -492,6 +492,11 @@ class BooksModel(QAbstractTableModel): # {{{
def title(self, row_number):
return self.db.title(row_number)
def rating(self, row_number):
ans = self.db.rating(row_number)
ans = ans/2 if ans else 0
return int(ans)
def cover(self, row_number):
data = None
try:

View File

@ -706,9 +706,12 @@ void PictureFlowPrivate::render()
painter.setPen(Qt::white);
//painter.setPen(QColor(255,255,255,127));
if (centerIndex < slideCount() && centerIndex > -1)
painter.drawText( QRect(0,0, buffer.width(), buffer.height()*2-fontSize*3),
if (centerIndex < slideCount() && centerIndex > -1) {
painter.drawText( QRect(0,0, buffer.width(), buffer.height()*2-fontSize*4),
Qt::AlignCenter, slideImages->caption(centerIndex));
painter.drawText( QRect(0,0, buffer.width(), buffer.height()*2-fontSize*2),
Qt::AlignCenter, slideImages->subtitle(centerIndex));
}
painter.end();
@ -759,15 +762,22 @@ void PictureFlowPrivate::render()
int sc = slideCount();
painter.setPen(QColor(255,255,255, (255-fade) ));
if (leftTextIndex < sc && leftTextIndex > -1)
painter.drawText( QRect(0,0, buffer.width(), buffer.height()*2 - fontSize*3),
if (leftTextIndex < sc && leftTextIndex > -1) {
painter.drawText( QRect(0,0, buffer.width(), buffer.height()*2 - fontSize*4),
Qt::AlignCenter, slideImages->caption(leftTextIndex));
painter.drawText( QRect(0,0, buffer.width(), buffer.height()*2 - fontSize*2),
Qt::AlignCenter, slideImages->subtitle(leftTextIndex));
}
painter.setPen(QColor(255,255,255, fade));
if (leftTextIndex+1 < sc && leftTextIndex > -2)
painter.drawText( QRect(0,0, buffer.width(), buffer.height()*2 - fontSize*3),
if (leftTextIndex+1 < sc && leftTextIndex > -2) {
painter.drawText( QRect(0,0, buffer.width(), buffer.height()*2 - fontSize*4),
Qt::AlignCenter, slideImages->caption(leftTextIndex+1));
painter.drawText( QRect(0,0, buffer.width(), buffer.height()*2 - fontSize*2),
Qt::AlignCenter, slideImages->subtitle(leftTextIndex+1));
}
painter.end();
}
@ -1372,5 +1382,6 @@ void PictureFlow::emitcurrentChanged(int index) { emit currentChanged(index); }
int FlowImages::count() { return 0; }
QImage FlowImages::image(int index) { index=0; return QImage(); }
QString FlowImages::caption(int index) {index=0; return QString(); }
QString FlowImages::subtitle(int index) {index=0; return QString(); }
// }}}

View File

@ -67,6 +67,7 @@ public:
virtual int count();
virtual QImage image(int index);
virtual QString caption(int index);
virtual QString subtitle(int index);
signals:
void dataChanged();

View File

@ -16,6 +16,7 @@ public:
virtual int count();
virtual QImage image(int index);
virtual QString caption(int index);
virtual QString subtitle(int index);
signals:
void dataChanged();