summaryrefslogtreecommitdiffstats
path: root/application/VersionProxyModel.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2018-03-19 02:36:12 +0100
committerPetr Mrázek <peterix@gmail.com>2018-03-27 09:25:36 +0200
commit8e44ab2338f4ca63d58de4b3329c384df9d6c053 (patch)
tree60b915ec620221656d1c3a42f40124b15e9e69f0 /application/VersionProxyModel.h
parent4c7ea0f99a23f73fd3cae87f7dfaab89922a2311 (diff)
downloadMultiMC-8e44ab2338f4ca63d58de4b3329c384df9d6c053.tar
MultiMC-8e44ab2338f4ca63d58de4b3329c384df9d6c053.tar.gz
MultiMC-8e44ab2338f4ca63d58de4b3329c384df9d6c053.tar.lz
MultiMC-8e44ab2338f4ca63d58de4b3329c384df9d6c053.tar.xz
MultiMC-8e44ab2338f4ca63d58de4b3329c384df9d6c053.zip
NOISSUE redo new instance dialog
Diffstat (limited to 'application/VersionProxyModel.h')
-rw-r--r--application/VersionProxyModel.h19
1 files changed, 12 insertions, 7 deletions
diff --git a/application/VersionProxyModel.h b/application/VersionProxyModel.h
index 4441ea6b..33a0d1ea 100644
--- a/application/VersionProxyModel.h
+++ b/application/VersionProxyModel.h
@@ -2,17 +2,15 @@
#include <QAbstractProxyModel>
#include "BaseVersionList.h"
+#include <Filter.h>
+
class VersionFilterModel;
class VersionProxyModel: public QAbstractProxyModel
{
Q_OBJECT
public:
- struct Filter
- {
- QString string;
- bool exact = false;
- };
+
enum Column
{
Name,
@@ -22,7 +20,7 @@ public:
Architecture,
Path
};
- typedef QHash<BaseVersionList::ModelRoles, Filter> FilterMap;
+ typedef QHash<BaseVersionList::ModelRoles, std::shared_ptr<Filter>> FilterMap;
public:
VersionProxyModel ( QObject* parent = 0 );
@@ -39,16 +37,23 @@ public:
virtual void setSourceModel(QAbstractItemModel *sourceModel) override;
const FilterMap &filters() const;
- void setFilter(const BaseVersionList::ModelRoles column, const QString &filter, const bool exact);
+ void setFilter(const BaseVersionList::ModelRoles column, Filter * filter);
void clearFilters();
QModelIndex getRecommended() const;
QModelIndex getVersion(const QString & version) const;
private slots:
void sourceDataChanged(const QModelIndex &source_top_left,const QModelIndex &source_bottom_right);
+
void sourceAboutToBeReset();
void sourceReset();
+ void sourceRowsAboutToBeInserted(const QModelIndex &parent, int first, int last);
+ void sourceRowsInserted(const QModelIndex &parent, int first, int last);
+
+ void sourceRowsAboutToBeRemoved(const QModelIndex &parent, int first, int last);
+ void sourceRowsRemoved(const QModelIndex &parent, int first, int last);
+
private:
QList<Column> m_columns;
FilterMap m_filters;