summaryrefslogtreecommitdiff
path: root/src/backend/bookshelfmodel/categoryitem.cpp
blob: aaf556626b5cbb59efe06eddc1e84ea52a1bb204 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*********
*
* In the name of the Father, and of the Son, and of the Holy Spirit.
*
* This file is part of BibleTime's source code, http://www.bibletime.info/.
*
* Copyright 1999-2011 by the BibleTime developers.
* The BibleTime source code is licensed under the GNU General Public License
* version 2.0.
*
**********/

#include "backend/bookshelfmodel/categoryitem.h"


namespace BookshelfModel {

CategoryItem::CategoryItem(CSwordModuleInfo *module)
        : Item(ITEM_CATEGORY), m_category(module->category()) {
    // Intentionally empty
}

QVariant CategoryItem::data(int role) const {
    switch (role) {
        case Qt::DisplayRole:
            return CSwordModuleInfo::categoryName(m_category);
        case Qt::DecorationRole:
            return CSwordModuleInfo::categoryIcon(m_category);
        default:
            return Item::data(role);
    }
}

bool CategoryItem::operator<(const Item &other) const {
    if (other.type() != ITEM_CATEGORY) {
        return ITEM_CATEGORY < other.type();
    }
    const CategoryItem &o(static_cast<const CategoryItem &>(other));
    if (m_category   == CSwordModuleInfo::UnknownCategory) return false;
    if (o.m_category == CSwordModuleInfo::UnknownCategory) return true;
    return m_category < o.m_category;
}

} // namespace BookshelfModel