diff options
Diffstat (limited to 'src/modlistsortproxy.h')
| -rw-r--r-- | src/modlistsortproxy.h | 124 |
1 files changed, 63 insertions, 61 deletions
diff --git a/src/modlistsortproxy.h b/src/modlistsortproxy.h index aad87f06..f7a9b587 100644 --- a/src/modlistsortproxy.h +++ b/src/modlistsortproxy.h @@ -17,64 +17,66 @@ You should have received a copy of the GNU General Public License along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef MODLISTSORTPROXY_H
-#define MODLISTSORTPROXY_H
-
-#include <QSortFilterProxyModel>
-#include <bitset>
-#include "modlist.h"
-
-class Profile;
-
-class ModListSortProxy : public QSortFilterProxyModel
-{
- Q_OBJECT
-
-public:
-
- explicit ModListSortProxy(Profile *profile, QObject *parent = 0);
-
- void setProfile(Profile *profile);
-
- void setCategoryFilter(int category);
-
- virtual Qt::ItemFlags flags(const QModelIndex &modelIndex) const;
- virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action,
- int row, int column, const QModelIndex &parent);
-
- /**
- * @brief enable all mods visible under the current filter
- **/
- void enableAllVisible();
-
- /**
- * @brief disable all mods visible under the current filter
- **/
- void disableAllVisible();
-
-public slots:
-
- void displayColumnSelection(const QPoint &pos);
- void updateFilter(const QString &filter);
-
-protected:
-
- virtual bool lessThan(const QModelIndex &left, const QModelIndex &right) const;
- virtual bool filterAcceptsRow(int row, const QModelIndex &parent) const;
-// virtual bool filterAcceptsColumn(int source_column, const QModelIndex &source_parent) const;
-
-private:
-
- bool hasConflictFlag(const std::vector<ModInfo::EFlag> &flags) const;
-
-private:
-
- Profile *m_Profile;
-
- int m_CategoryFilter;
- std::bitset<ModList::COL_LASTCOLUMN + 1> m_EnabledColumns;
- QString m_CurrentFilter;
-
-};
-
-#endif // MODLISTSORTPROXY_H
+#ifndef MODLISTSORTPROXY_H +#define MODLISTSORTPROXY_H + +#include <QSortFilterProxyModel> +#include <bitset> +#include "modlist.h" + +class Profile; + +class ModListSortProxy : public QSortFilterProxyModel +{ + Q_OBJECT + +public: + + explicit ModListSortProxy(Profile *profile, QObject *parent = 0); + + void setProfile(Profile *profile); + + void setCategoryFilter(int category); + + virtual Qt::ItemFlags flags(const QModelIndex &modelIndex) const; + virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action, + int row, int column, const QModelIndex &parent); + + /** + * @brief enable all mods visible under the current filter + **/ + void enableAllVisible(); + + /** + * @brief disable all mods visible under the current filter + **/ + void disableAllVisible(); + + bool filterMatches(ModInfo::Ptr info, bool enabled) const; + +public slots: + + void displayColumnSelection(const QPoint &pos); + void updateFilter(const QString &filter); + +protected: + + virtual bool lessThan(const QModelIndex &left, const QModelIndex &right) const; + virtual bool filterAcceptsRow(int row, const QModelIndex &parent) const; +// virtual bool filterAcceptsColumn(int source_column, const QModelIndex &source_parent) const; + +private: + + bool hasConflictFlag(const std::vector<ModInfo::EFlag> &flags) const; + +private: + + Profile *m_Profile; + + int m_CategoryFilter; + std::bitset<ModList::COL_LASTCOLUMN + 1> m_EnabledColumns; + QString m_CurrentFilter; + +}; + +#endif // MODLISTSORTPROXY_H |
