Jump to content
PeterPanettone

Search Filter for GExperts ToDoList added

Recommended Posts

I have added a Search Filter to the GExperts ToDoList:

 

image.thumb.png.64c4ed135b9a1a1ad1b143e8223c6399.png

 

It is VERY FAST! It searches in all columns of the ToDoList!

 

Usage: Type the search text into the Search Box and then press the Return/Enter key. To reset/cancel the search filter, just delete the search text in the Search Box and then press the Return/Enter key again.

 

This Search Filter feature is very useful when you have many ToDo items in your project.

 

Here is the source (based on r3686) :

 

GX_ToDo.zip

 

Changed the visibility of the FilterTodoList method from public to private:

 

GX_ToDo v2.zip

 

Slightly increased the height of the Search Box to show the whole search text image.png.00c86f407cba4e61697ae520b3b8b015.png instead of this: image.png.351ae48f0bdc98d61a6bf80e9c49cb33.png:

 

GX_ToDo v3.zip

 

Showing the number of unfiltered and filtered ToDo items: image.png.a859fa96dfdb9a7d655cfd1e4a07dc0b.png    image.png.d08596b251fd93ebc8360d3d64696bca.png: 

 

GX_ToDo v4.zip

 

Improved the height setting for the Search Box:

 

GX_ToDo v5.zip

 

I donate this source code (i.e. my changes to the existing source code) to the GExperts project maintained by Thomas.

 

Added the issue to the source code website:

 

https://sourceforge.net/p/gexperts/feature-requests/150/

Edited by PeterPanettone
  • Like 1

Share this post


Link to post

Thanks, but unfortunately it does not compile with Delphi 2007 (haven't tried any other versions yet) and after I commented out everything that did not compile, it simply does nothing (Enter opens the currently selected todo rather than filtering.) I'll have a closer look at it later to see whether it is possible to make it work somehow.

Share this post


Link to post
1 hour ago, dummzeuch said:

I commented out everything that did not compile

Could you show what did not compile in 2007? The filter is based on TListView.GroupView (no advanced features have been used). Has such an essential feature as GroupView not yet been introduced in the dark age of 2007? It does compile without problems in Delphi 11 Alexandria.

Edited by PeterPanettone

Share this post


Link to post
2 hours ago, PeterPanettone said:

Could you show what did not compile in 2007? The filter is based on TListView.GroupView (no advanced features have been used). Has such an essential feature as GroupView not yet been introduced in the dark age of 2007? It does compile without problems in Delphi 11 Alexandria.

The GroupView property was one of the compile errors, so apparently wasn't supported back then. No idea, when it was introduced.

I currently haven't got the time to investigate further.

Share this post


Link to post
2 minutes ago, dummzeuch said:

No idea, when it was introduced.

It seems Embarcadero does not provide the information when TListView.GroupView was introduced?

Share this post


Link to post

implemented in revision #3729 for all supported Delphi versions

 

Pressing enter is no longer required.

It also allows to scroll through the list with the arrow keys without leaving the filter field.

  • Thanks 2

Share this post


Link to post
19 hours ago, dummzeuch said:

implemented in revision #3729 for all supported Delphi versions

Thomas, thank you very much!

 

But why the __Build_Project.cmd still cannot cope with "long" paths?:

 

Quote

C:\Program Files (x86)\Embarcadero\Studio\22.0\Bin\CodeGear.Delphi.Targets(407,5): errror MSB6003: The specified task executable "dcc" could not be run. The filename or extension is too long [C:COMP\_Addons\GExperts\GExperts_Sourcecode\gexperts-code-r3729-trunk\Projects\DelphiXx110Alexandria\GExpertsRS110.dproj]

 

The last time I got such an error was over 30 years ago, in times of Windows 95. (Also my good old "Atari TT" tormented me with such error messages, until I wrote an Atari extension for allowing long file names; then I sold that extension source code for $10 to a guy with a funny nickname of "Bill G."...).

Edited by PeterPanettone

Share this post


Link to post
38 minutes ago, PeterPanettone said:

But why the __Build_Project.cmd still cannot cope with "long" paths?:

Same answer as for everything else that's missing or broken in GExperts: Because nobody bothered to fix it

40 minutes ago, PeterPanettone said:

C:\Program Files (x86)\Embarcadero\Studio\22.0\Bin\CodeGear.Delphi.Targets(407,5): errror MSB6003: The specified task executable "dcc" could not be run. The filename or extension is too long [C:COMP\_Addons\GExperts\GExperts_Sourcecode\gexperts-code-r3729-trunk\Projects\DelphiXx110Alexandria\GExpertsRS110.dproj]

The "c:comp" part of the path looks like the reason to me, there should probably be a backslash there. No idea what's causing it.

Share this post


Link to post

I compiled it in the IDE without problems as RELEASE version. I assume that makes GExperts slightly faster than the DEBUG version?

Share this post


Link to post

"The Grep search expert now takes the name of the currently selected control on the form designer if it is opened while the form designer is active."

 

I am not sure what you mean by "if it is opened": The Grep search dialog is modal, so no control can be selected while it is opened. And when I choose a control from the IDE Designer and then call the Grep Search dialog, the name of the control is not being inserted in the Grep dialog.

Share this post


Link to post
3 hours ago, PeterPanettone said:

if it is opened

Insert a "being" at the appropriate position.

3 hours ago, PeterPanettone said:

And when I choose a control from the IDE Designer and then call the Grep Search dialog, the name of the control is not being inserted in the Grep dialog.

Hm, worked for me the two times I tested it. Have you selected the option "Use current editor identifier as the default search string"? It must be enabled for this to work.

Share this post


Link to post
2 hours ago, dummzeuch said:

"Use current editor identifier as the default search string"

It should be: "Use the current editor identifier or the current designer control name as the default search string". This text conforms to the current English grammar rules.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×