diff options
Diffstat (limited to 'beetplayerproxy.cpp')
-rw-r--r-- | beetplayerproxy.cpp | 19 |
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; +} |