summaryrefslogtreecommitdiffstats
path: root/beetplayerproxy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'beetplayerproxy.cpp')
-rw-r--r--beetplayerproxy.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/beetplayerproxy.cpp b/beetplayerproxy.cpp
new file mode 100644
index 0000000..115bd3a
--- /dev/null
+++ b/beetplayerproxy.cpp
@@ -0,0 +1,19 @@
+#include <QModelIndex>
+#include "beetplayerproxy.h"
+
+#include <QDebug>
+
+BeetPlayerProxy::BeetPlayerProxy(QObject *parent) : QSortFilterProxyModel(parent) {
+}
+
+bool BeetPlayerProxy::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const{
+ QRegExp filter = filterRegExp();
+ QModelIndex curIdx = sourceModel()->index(source_row, 0, source_parent);
+ while(curIdx.isValid()){
+ if(curIdx.data().toString().contains(filter)){
+ return true;
+ }
+ curIdx = curIdx.parent();
+ }
+ return false;
+}