summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorOrangerot <purple@orangerot.dev>2024-08-16 18:03:26 +0200
committerOrangerot <purple@orangerot.dev>2024-08-16 18:03:26 +0200
commit4c5cd95b85c42b669691dd12d635a72ad6f99645 (patch)
treeb58468f4fea2932f34a74fe34162a682834e7ee8 /src
parentf87bc73c3f7ff003444ce2b0fef2229f501bd1d4 (diff)
feat(SportFilter): search/filter events from TextField
Diffstat (limited to 'src')
-rw-r--r--src/main/main.cpp4
-rw-r--r--src/model/FilterModel.cpp8
-rw-r--r--src/model/FilterModel.h14
3 files changed, 26 insertions, 0 deletions
diff --git a/src/main/main.cpp b/src/main/main.cpp
index 7f4e9f7..27a4800 100644
--- a/src/main/main.cpp
+++ b/src/main/main.cpp
@@ -21,6 +21,7 @@
#include <QDebug>
// #include <iostream>
#include "../model/Sport.h"
+#include "../model/FilterModel.h"
int main(int argc, char *argv[])
{
@@ -31,7 +32,10 @@ int main(int argc, char *argv[])
SportModel model;
model.request("ARC");
+ FilterModel filter;
+ filter.setSourceModel(&model);
objectContext->setContextProperty("sports", &model);
+ objectContext->setContextProperty("filter", &filter);
QQmlComponent component(&engine, "qrc:/qt/qml/itat/res/gui/application.qml");
QObject *object = component.create(objectContext);
diff --git a/src/model/FilterModel.cpp b/src/model/FilterModel.cpp
new file mode 100644
index 0000000..7fe07d6
--- /dev/null
+++ b/src/model/FilterModel.cpp
@@ -0,0 +1,8 @@
+#include "FilterModel.h"
+#include "Sport.h"
+
+FilterModel::FilterModel(QObject *parent)
+ : QSortFilterProxyModel(parent) {
+ setFilterRole(SportModel::Role::EventName);
+ }
+
diff --git a/src/model/FilterModel.h b/src/model/FilterModel.h
new file mode 100644
index 0000000..0bd1fbb
--- /dev/null
+++ b/src/model/FilterModel.h
@@ -0,0 +1,14 @@
+#include <QSortFilterProxyModel>
+
+#pragma once
+
+class FilterModel : public QSortFilterProxyModel
+{
+ Q_OBJECT
+
+public:
+ FilterModel(QObject *parent = nullptr);
+
+private:
+};
+