QVariant Library::data(const QModelIndex &index, int role) const
{
+ QVariant ret;
if (!index.isValid()) {
- return QVariant();
+ return ret;
}
switch (role) {
case Qt::DisplayRole:
- return mBooks[index.row()]->name();
+ ret = mBooks[index.row()]->name();
+ break;
case Qt::DecorationRole:
- return QPixmap::fromImage(mBooks[index.row()]->cover);
+ ret.setValue(mBooks[index.row()]->coverImage());
+ break;
default:
- return QVariant();
+ ;
}
+
+ return ret;
}
Book *Library::book(const QModelIndex &index)
beginInsertRows(QModelIndex(), size, size);
Book *book = new Book(path);
book->peek();
+ book->dateAdded = QDateTime::currentDateTime().toUTC();
mBooks.append(book);
save();
endInsertRows();
void Library::remove(const QString &path)
{
+ TRACE;
remove(find(path));
}
void Library::clear()
{
+ TRACE;
for (int i = 0; i < mBooks.size(); i++) {
delete mBooks[i];
}
QModelIndex Library::find(QString path) const
{
+ TRACE;
if (path != "") {
QString absolutePath = QFileInfo(path).absoluteFilePath();
for (int i = 0; i < mBooks.size(); i++) {
QModelIndex Library::find(const Book *book) const
{
+ TRACE;
if (book) {
for (int i = 0; i < mBooks.size(); i++) {
if (book == mBooks[i]) {