diff options
Diffstat (limited to 'gui/treemodel.cc')
-rw-r--r-- | gui/treemodel.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gui/treemodel.cc b/gui/treemodel.cc index 59391f02..d79e38de 100644 --- a/gui/treemodel.cc +++ b/gui/treemodel.cc @@ -326,4 +326,19 @@ Qt::ItemFlags ContextTreeModel::flags(const QModelIndex &index) const ContextTreeItem *node = nodeFromIndex(index); return Qt::ItemIsEnabled | (node->type() != ElementType::NONE ? Qt::ItemIsSelectable : Qt::NoItemFlags); } + +QList<QModelIndex> ContextTreeModel::search(QString text) +{ + QList<QModelIndex> list; + for (int i = 0; i < 6; i++) { + for (auto key : nameToItem[i].keys()) { + if (key.contains(text, Qt::CaseInsensitive)) { + list.append(indexFromNode(nameToItem[i].value(key))); + if (list.count() > 500) + break; // limit to 500 results + } + } + } + return list; +} NEXTPNR_NAMESPACE_END
\ No newline at end of file |