1 #include "sortedlibrary.h"
6 SortedLibrary::SortedLibrary(QObject *parent):
7 QSortFilterProxyModel(parent), mSortBy(SortByTitle)
9 setSourceModel(Library::instance());
10 setDynamicSortFilter(true);
14 void SortedLibrary::setSortBy(SortBy key)
24 SortedLibrary::SortBy SortedLibrary::sortBy()
29 bool SortedLibrary::lessThan(const QModelIndex &left,
30 const QModelIndex &right) const
32 Book *leftBook = Library::instance()->book(left);
33 Book *rightBook = Library::instance()->book(right);
38 ret = compareBy(SortByAuthor, leftBook, rightBook);
40 ret = compareBy(SortByTitle, leftBook, rightBook);
44 ret = compareBy(SortByTitle, leftBook, rightBook);
46 ret = compareBy(SortByAuthor, leftBook, rightBook);
53 int SortedLibrary::compareBy(SortBy key, Book *left, Book *right) const
59 return QString::localeAwareCompare(left->creators.join(" "),
60 right->creators.join(" "));
62 return QString::localeAwareCompare(left->shortName(),