aboutsummaryrefslogtreecommitdiffstats
path: root/gui/treemodel.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gui/treemodel.cc')
-rw-r--r--gui/treemodel.cc15
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