Skip to content

Commit 3d200f7

Browse files
committedAug 6, 2024
add "starts-with" and live-update to the workspace tool's search
1 parent 1a0146d commit 3d200f7

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed
 

‎pyzo/tools/pyzoWorkspace.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -473,7 +473,6 @@ def __init__(self, parent):
473473
self._searchOptions.setToolTip(
474474
"Enter one or multiple space-separated search expressions.\n"
475475
"A variable name will be displayed if it matches at least one of the expressions.\n"
476-
"Press RETURN while typing to immediately update the search results.\n"
477476
"\n"
478477
"Depending on the settings, search expressions are either\n"
479478
"\n"
@@ -517,7 +516,7 @@ def __init__(self, parent):
517516
self._options._menu.triggered.connect(self._onOptionMenuTiggered)
518517
self._searchOptions.pressed.connect(self._onSearchOptionsPress)
519518
self._searchOptions._menu.triggered.connect(self._onSearchOptionMenuTiggered)
520-
self._searchText.editingFinished.connect(self._onSearchTextUpdated)
519+
self._searchText.textChanged.connect(self._onSearchTextUpdated)
521520
self._btnAddAllToViewer.pressed.connect(self._tree._addAllToViewer)
522521

523522
def displayEmptyWorkspace(self, empty, customMessage=None):
@@ -584,6 +583,7 @@ def _onSearchOptionsPress(self):
584583
searchOptions = [
585584
("searchMatchCase", True, pyzo.translate("pyzoWorkspace", "Match case")),
586585
("searchRegExp", False, pyzo.translate("pyzoWorkspace", "RegExp")),
586+
("searchStartsWith", True, pyzo.translate("pyzoWorkspace", "Starts with ...")),
587587
]
588588

589589
for name, default, label in searchOptions:
@@ -607,8 +607,12 @@ def _onSearchTextUpdated(self):
607607
if len(needles) == 0:
608608
regExpList = [r".*"]
609609
elif self._config.searchRegExp:
610+
if self._config.searchStartsWith:
611+
needles = [s + ".*" for s in needles]
610612
regExpList = needles
611613
else:
614+
if self._config.searchStartsWith:
615+
needles = [s + "*" for s in needles]
612616
regExpList = [wildcardsToRegExp(s) for s in needles]
613617

614618
pattern = "(?:" + ")|(?:".join(regExpList) + ")"

0 commit comments

Comments
 (0)
Please sign in to comment.