summaryrefslogtreecommitdiff
path: root/src/backend/bookshelfmodel/btcheckstatefilterproxymodel.h
blob: 78d324d767fd037486840cf8c47458fb413084cd (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
45
46
47
48
49
50
51
52
53
/*********
*
* 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-2009 by the BibleTime developers.
* The BibleTime source code is licensed under the GNU General Public License
* version 2.0.
*
**********/

#ifndef BTCHECKSTATEFILTERPROXYMODEL_H
#define BTCHECKSTATEFILTERPROXYMODEL_H

#include <QSortFilterProxyModel>

class BtCheckStateFilterProxyModel: public QSortFilterProxyModel {
        Q_OBJECT
    public:
        BtCheckStateFilterProxyModel(QObject *parent = 0);
        virtual ~BtCheckStateFilterProxyModel();

        inline bool enabled() const {
            return m_enabled;
        }
        void setEnabled(bool enable);

        inline bool showChecked() const {
            return m_showChecked;
        }
        void setShowChecked(bool show);

        inline bool showUnchecked() const {
            return m_showUnchecked;
        }
        void setShowUnchecked(bool show);

        inline bool showPartiallyChecked() const {
            return m_showPartiallyChecked;
        }
        void setShowPartiallyChecked(bool show);

        virtual bool filterAcceptsRow(int row, const QModelIndex &parent) const;

    protected:
        bool m_enabled;
        bool m_showChecked;
        bool m_showUnchecked;
        bool m_showPartiallyChecked;
};

#endif // BTSELECTEDMODULESBOOKSHELFPROXYMODEL_H