issue-#150 improvements in DevSearch
Posted: Thu Mar 09, 2017 9:28 pm
I have created issue-#150 for improvements in DevSearch.
For the issue see https://redmine.blackboxframework.org/issues/150.
For the changes see https://redmine.blackboxframework.org/p ... 09ddc6ad20.
The string 'Search for' is now mapped.
The changes in DevSearch.Find remove redundant Kernel.Upper calls by
storing upper case characters in the buffer 'ref' instead of
converting them again and again when using it from the buffer.
Please note that the changes in Find will crash the system when doing a case insensitive search
unless the fix for Kernel.Upper (issue-#149) is in use!
The mapping keys Location, Count, Searching, and NoMatchFound
appear in both Std/Rsrc/Strings and Dev/Rsrc/Strings.
In one of them they are redundant. Which one?
So far DevSearch used Std, but Dev seems more appropriate to me.
Interestingly, the keys OpenFindCmd and OpenFindCmdNotFound were in Dev
(but they are now redundant anyway.)
I have used them from Dev and removed them from Std.
Some small changes have been necessary also in TextCmds and Text menus.
The behavior of text search (First / Again) was very special so far
and not easy to explain. I think that with the current
solution it is easier and more convenient.
The rule is: if and only if the search text changes (the text in the Find /Replace dialog)
then the search options are reset. This was also part of the previous solution
but it did not work that way in detail. There were additional rules and at least one bug
(viz. the field reverseOrientation was not reset).
The newly implemented behavior now allows us to use F3 (Find Again) when
opening a link from a search result list no matter if the search was case sensitive or not.
The old solution did not allow using F3 for case insensitive search because it
reset the ignoreCase option even when the search string did not change.
That was the reason for opening the search dialog.
- Josef
For the issue see https://redmine.blackboxframework.org/issues/150.
For the changes see https://redmine.blackboxframework.org/p ... 09ddc6ad20.
The string 'Search for' is now mapped.
The changes in DevSearch.Find remove redundant Kernel.Upper calls by
storing upper case characters in the buffer 'ref' instead of
converting them again and again when using it from the buffer.
Please note that the changes in Find will crash the system when doing a case insensitive search
unless the fix for Kernel.Upper (issue-#149) is in use!
The mapping keys Location, Count, Searching, and NoMatchFound
appear in both Std/Rsrc/Strings and Dev/Rsrc/Strings.
In one of them they are redundant. Which one?
So far DevSearch used Std, but Dev seems more appropriate to me.
Interestingly, the keys OpenFindCmd and OpenFindCmdNotFound were in Dev
(but they are now redundant anyway.)
I have used them from Dev and removed them from Std.
Some small changes have been necessary also in TextCmds and Text menus.
The behavior of text search (First / Again) was very special so far
and not easy to explain. I think that with the current
solution it is easier and more convenient.
The rule is: if and only if the search text changes (the text in the Find /Replace dialog)
then the search options are reset. This was also part of the previous solution
but it did not work that way in detail. There were additional rules and at least one bug
(viz. the field reverseOrientation was not reset).
The newly implemented behavior now allows us to use F3 (Find Again) when
opening a link from a search result list no matter if the search was case sensitive or not.
The old solution did not allow using F3 for case insensitive search because it
reset the ignoreCase option even when the search string did not change.
That was the reason for opening the search dialog.
- Josef