本文整理汇总了C++中Album::getTracks方法的典型用法代码示例。如果您正苦于以下问题:C++ Album::getTracks方法的具体用法?C++ Album::getTracks怎么用?C++ Album::getTracks使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Album
的用法示例。
在下文中一共展示了Album::getTracks方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: paintAlbumHeader
void PlaylistItemDelegate::paintAlbumHeader(
QPainter* painter, const QStyleOptionViewItem& option, QRect line, Track* track) const {
QString headerTitle;
Album *album = track->getAlbum();
if (album) headerTitle = album->getTitle();
Artist *artist = track->getArtist();
if (artist) headerTitle += " - " + artist->getName();
painter->save();
// cover background
/*
QImage p = album->getPhoto();
if (!p.isNull()) {
painter->drawTiledPixmap(line, QPixmap::fromImage(p));
QLinearGradient linearGrad(0, 0, 0, line.height());
linearGrad.setColorAt(0, QColor(0,0,0, 96));
linearGrad.setColorAt(1, QColor(0,0,0, 64));
painter->fillRect(line, QBrush(linearGrad));
} else {
QLinearGradient linearGrad(0, 0, 0, line.height());
linearGrad.setColorAt(0, option.palette.color(QPalette::Mid));
linearGrad.setColorAt(1, option.palette.midlight().color());
painter->fillRect(line, QBrush(linearGrad));
}*/
QLinearGradient linearGrad(0, 0, 0, line.height());
#ifdef APP_MAC
linearGrad.setColorAt(0, QColor(0x99, 0x99, 0x99, 0xFF));
linearGrad.setColorAt(1, QColor(0xCC, 0xCC, 0xCC, 0xFF));
#else
linearGrad.setColorAt(0, option.palette.color(QPalette::Mid));
linearGrad.setColorAt(1, option.palette.color(QPalette::Midlight));
#endif
painter->fillRect(line, QBrush(linearGrad));
// borders
// painter->setPen(option.palette.color(QPalette::Light));
// painter->drawLine(0, 0, line.width(), 0);
painter->setPen(option.palette.color(QPalette::Mid));
painter->drawLine(0, line.height()-1, line.width(), line.height()-1);
// font
QFont boldFont = painter->font();
boldFont.setBold(true);
painter->setFont(boldFont);
// text size
QSize trackStringSize(QFontMetrics(painter->font()).size(Qt::TextSingleLine, headerTitle));
QPoint textLoc(PADDING*6, 0);
QRect trackTextBox(textLoc.x(), textLoc.y(), trackStringSize.width(), line.height());
// text shadow
painter->setPen(QColor(0, 0, 0, 64));
painter->drawText(trackTextBox.translated(0, -1), Qt::AlignLeft | Qt::AlignVCenter, headerTitle);
// text
painter->setPen(option.palette.color(QPalette::Light));
painter->drawText(trackTextBox, Qt::AlignLeft | Qt::AlignVCenter, headerTitle);
// album length
if (album) {
// TODO this is the album duration, but not necessarily what we have in the playlist
int totalLength = Track::getTotalLength(album->getTracks());
QString albumLength;
if (totalLength > 3600)
albumLength = QTime().addSecs(totalLength).toString("h:mm:ss");
else
albumLength = QTime().addSecs(totalLength).toString("m:ss");
QFont normalFont = painter->font();
normalFont.setBold(false);
// normalFont.setPointSize(boldFont.pointSize()*.9);
painter->setFont(normalFont);
painter->drawText(line.translated(-PADDING, 0), Qt::AlignRight | Qt::AlignVCenter, albumLength);
}
// TODO album year
painter->restore();
}