Enhanced Search Dialog

Share any ideas you have on improving Explorer++
Posts: 54
Joined: Sun Apr 02, 2017 7:22 am

Enhanced Search Dialog

Post by Edgar5 » Sun Jan 14, 2018 5:32 am

I really like the functional concept of a Search Dialog as Explorer++ uses versus the in-dialog search that Windows Explorers uses. Explorer++ has some shortcomings so I have been working on enhancing its Search Dialog. Here's a picture of what I've got working so far:
SearchDialog.png (68.87 KiB) Viewed 2316 times
Others have requested that the Search Dialog's listview allow one to edit the names of the found files/folders; I second that request and have a solution which works for me by adding to the context menu "Rename…". It looks like this:
RenameDialog.png (29.33 KiB) Viewed 2316 times
I would also like to be able to add additional columns and sort by column - in short, make this listview's display virtually identical to the standard Tab's listview.

As always, I'm happy to share the code and if someone were willing to help me set up my GitHub and put the new code up it would then be available to everyone.

Posts: 32
Joined: Fri Aug 05, 2016 9:03 am

Re: Enhanced Search Dialog

Post by Janus » Sun Jan 21, 2018 2:26 pm

Looks nice.

For my part, I am working on integrating voidtools everything for that purpose.
Making it so that it replaces the built in search, and uses it for folder size as well.

Would you mind if used your improvements along with my own, when I get mine done that is.
Call everything if it is loaded, or your improved menu(s) if it is not.
Sort of a best of both worlds.


Posts: 54
Joined: Sun Apr 02, 2017 7:22 am

Re: Enhanced Search Dialog

Post by Edgar5 » Sat Feb 17, 2018 8:44 am

You are certainly welcome to my code! Let's see if we can figure out some way of getting it to you (it would be really nice to have a working GitHub repository for my version of Explorer++). I'm struggling trying to figure out how to create a GitHub repository, populate it then keep it current.

Posts: 54
Joined: Sun Apr 02, 2017 7:22 am

Re: Enhanced Search Dialog

Post by Edgar5 » Sat Feb 17, 2018 8:45 am

I've been trying to figure out how to delete multi-selected items from the Search dialog.

Posts: 54
Joined: Sun Apr 02, 2017 7:22 am

Re: Enhanced Search Dialog

Post by Edgar5 » Wed Feb 21, 2018 8:33 am

Janus wrote:
Sun Jan 21, 2018 2:26 pm
Would you mind if used your improvements
I got multiple selection working (for things like the Context Menu's: Open & Delete - still not satisfied with the multi-selection Rename solution).

I used Visual Studio to "clean" all solutions then I zipped up my custom Explorer++ folder in its entirety and put it on Dropbox:
https://www.dropbox.com/s/srylg8fgmebn5 ... 8.zip?dl=0

This includes all of my enhancements and bug fixes to date. It is a Visual Studio 2017 project/solution. The build will probably fail for you at its final step where it copies all of the source files to the Y:\ drive; before trying to compile go into the Explorer++ Properties in the "Post-Build Events" section you will see a command line directive which calls a batch (.BAT) file:
chcp 65001
set datestr=%date:~10,4%-%date:~4,2%-%date:~7,2%
SET HOUR=%time:~0,2%
SET dtStamp9=0%time:~1,1%_%time:~3,2%_%time:~6,2%
SET dtStamp24=%time:~0,2%_%time:~3,2%_%time:~6,2%

if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%)

CD /D Y:\Explorer++
mkdir %datestr%
CD %datestr%
mkdir %dtStamp%
CD %dtStamp%

xcopy /e /c /h /k /y /i E:\explorer++\Explorer++\DisplayWindow DisplayWindow
xcopy /e /c /h /k /y /i E:\explorer++\Explorer++\Helper Helper
xcopy /e /c /h /k /y /i E:\explorer++\Explorer++\HolderWindow HolderWindow
xcopy /e /c /h /k /y /i E:\explorer++\Explorer++\MyTreeView MyTreeView
xcopy /e /c /h /k /y /i E:\explorer++\Explorer++\ShellBrowser ShellBrowser
xcopy /e /c /h /k /y /i E:\explorer++\Explorer++\Explorer++ Explorer++

rmdir /s /q Explorer++\Debug
rmdir /s /q Explorer++\Release
rmdir /s /q Explorer++\res
rmdir /s /q Explorer++\x64

rmdir /s /q DisplayWindow\Debug
rmdir /s /q DisplayWindow\Release
rmdir /s /q DisplayWindow\x64

rmdir /s /q Helper\Debug
rmdir /s /q Helper\Release
rmdir /s /q Helper\x64

rmdir /s /q HolderWindow\Debug
rmdir /s /q HolderWindow\Release
rmdir /s /q HolderWindow\x64

rmdir /s /q MyTreeView\Debug
rmdir /s /q MyTreeView\Release
rmdir /s /q MyTreeView\x64

rmdir /s /q ShellBrowser\Debug
rmdir /s /q ShellBrowser\Release
rmdir /s /q ShellBrowser\x64

rem extensions to delete on clean:
del /s *.cdf
del /s *.cache
del /s *.obj
del /s *.ilk
del /s *.resources
del /s *.tlb
del /s *.tli
del /s *.tlh
del /s *.tmp
del /s *.rsp
del /s *.pgc
del /s *.pgd
del /s *.meta
del /s *.tlog
del /s *.manifest
del /s *.res
del /s *.pch
del /s *.exp
del /s *.idb
del /s *.rep
del /s *.xdc
del /s *.pdb
del /s *_manifest.rc
del /s *.bsc
del /s *.sbr
del /s *.xml
del /s *.metagen
del /s *.bi
del /s *.vcxproj
del /s *.vcxproj.filters
del /s *.vcxproj.user
del /s *.aps

mkdir Release
CD Release
xcopy E:\explorer++\Explorer++\Explorer++\Release\Explorer++.exe
cd ..
mkdir Debug
CD Debug
xcopy E:\explorer++\Explorer++\Explorer++\Debug\Explorer++.exe

Exit 0

It's there for both the Debug & Release solutions. Be warned, I have added some source & header files both to the Project; I have re-spelled a number of variable/class/function names; I have reformatted some of the functions as I visit them (eliminated some unnecessary blank lines and superfluous open & close curly braces, moved open curly braces to the end of the statement line instead of the next statement line; added a single space so that "this,that" looks like "this, that"; within function definitions (not header declarations) remove superfluous spaces). I have also concatenated a lot of statement & comment lines which were distributed over multiple lines to take into consideration 70+ character width displays. I have corrected a few typos and grammar problems in comments.

Any new work contained herein falls under whatever copyright restrictions Explorer++ specifies; otherwise, I personally placed no restrictions on the copying, use or dissemination of my own work on this project.

FYI, there are two very small folders ("diffs" - empty & "old goings") which can be ignored, I just use them for short-term working notes etc. There are a few batch files which I use to manage development. There's a text file "EPP fixes.txt" which contains notes on enhancements and bugs in my new EPP code additions. There are a few other text files and an image file to deal with work in progress and can be ignored.

Posts: 32
Joined: Fri Aug 05, 2016 9:03 am

Re: Enhanced Search Dialog

Post by Janus » Wed Feb 21, 2018 9:27 am

Okay, thank you very much.

A couple of notes however.

You could have saved a bunch of space by eliminating the ipch directories, they serve no purpose for anyone besides you since they will be generated as needed during compile.
Those were 900Mb alone.

Also, I ran the supplied EXE, it not only ignored my preferences already set for explorer++, it overwrote mine.
I do not know why, but it changed my saved preferences for explorer++.
That was very frustrating, especially since I actually use things like file extension, which is absolutely critical for me.

I do not know why, but the preferences dialog is HUGE!, I had to turn my desktop up twice to navigate it.
The fonts were also huge, and the items were spread very far apart.

And finally, the BIG!!! one.
Warn someone if your program is going to use sound, especially the speech synthesizer.
It set off a number of intrusion alarms I keep active while testing when it did that.
Unexpected activity in 'ease of access' functions is a strong sign of intrusion.

When I tested further, after reenabling the sound stuff, it actually tried to talk to me.
That is not cool.
I have the entire speech thing disabled on purpose, yet it turned it all back on.
The only things that make sound on my system are MPC-HC, VLC, Winamp and my games.
I have my entire system set to never make noise, yet when I ran the exe, it changed my preferences.
I had to go back and reset all of my sound preferences.

I have disabled all sounds in mine, and pulled as much as I could of the sound code from my branch.
I keep the whole speech thing disabled and blocked for a reason.
I initially removed it, but the retards at M$ wove that garbage through to much to leave a system stable if you do.

To make matters worse.
Once I turned off all the sound, and exited the program for a clean start.
It crashes when I try to restart it.
Problem signature:
Problem Event Name: APPCRASH
Application Name: Explorer++.exe
Application Version:
Application Timestamp: 5a5007bd
Fault Module Name: Explorer++.exe
Fault Module Version:
Fault Module Timestamp: 5a5007bd
Exception Code: c0000005
Exception Offset: 00072bef
OS Version: 6.1.7601.
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
Once I get a chance, I will look over the code for the search dialog.
Even the screen shots here on the forum make it plain it is an improvement.

I am still trying to get Everything working to fill in folder size.
I am now working on my fourth iteration.
Each is faster than the last.

Now I am making a result cache extension to the interface DLL that saves totalfilesize, filecount & foldercount to be called the way explorer++ does.
The two programs are not a clean match up, but progress is happening.


Posts: 54
Joined: Sun Apr 02, 2017 7:22 am

Re: Enhanced Search Dialog

Post by Edgar5 » Wed Feb 21, 2018 10:31 am


Sorry you had such a horrible experience! In re. fonts, I have made the entire application font sensitive; there are two places where you may set your choice of fonts (one is specific only to the Display Panel the other controls all the rest of the application's fonts). The menus' fonts are controlled by the user's setting in Windows. As far as the size of the Preference dialog, I run a 1920 X 1080 monitor (scaling 100%) and the dialog fits fine there. I'm not sure about the spacing issue you noticed, I found that the spacing on the original dialog was way too big so I crowded it down a bit in a couple of the panels.

To read text on my monitor I have to have the size set to 16 or 18 so I made that the default; I also prefer reading Times New Roman so I set that is the default as well.

Most of my clients are severely disabled so when I write software I keep that in mind. The sound stuff should have been turned off by default (with the exception of the Explorer++ original "click" on directory navigation). There is a new Preferences panel which deals with the sound stuff.

Thanks for the note about eliminating the IPCH directories (I thought that doing a "Clean" would have done so but, as disk space and bandwidth rarely enter my mind I wasn't as exhaustive in eliminating cruft as I could have been). I also thought the .exe executables had been removed! You're right, I should have warned you about registry settings! For evaluation you should probably have run it as a portable installation so that it did not impact the registry. I have added a lot of new registry-based settings (and even worse, re-spelled a few of the original tokens for clarity).

FYI, I have no idea what "Everything" is - I'm assuming it is something directory related. Is it a library or standalone application? Again, my abject apologies for your experience! I wasn't really expecting anyone to run the program just mine the source code.

Posts: 32
Joined: Fri Aug 05, 2016 9:03 am

Re: Enhanced Search Dialog

Post by Janus » Wed Feb 21, 2018 11:13 am


No harm done.

I actually run the stock fonts, which on my system is 8pt, with no scaling or other adaptations.

I found the sound preferences, and everything was checked when I got there.
Just a pet peeve of mine, I find the click on directory navigation maddening, but that is just me.

VS is messy, and every iteration gets worse.
It litters all over your file system if you let it.

My gripe, beyond it trying to talk which I reject, was that it reset the settings in the registry upon loading.
When my intrusion alarms went off, the process was suspended and dumped, before I had even clicked anything.
When I launched my copy of explorer++ to check things out, the preferences stored in the registry had been changed.

It might just be the way that VS2017 behaves though.
I have run across the same sort of tantrumy behavior while working with Celestia.
Alexell insists on using Vs2017 and making it QT only, which I reject so I am forking the code.
Also, Installing Vs2017 borks my setup, tested twice to be sure, and it does.
I run classic shell, 7+taskbar tweaker, network activity lights, explorer++, ztree & voidtools everything for local/lan search.

It is enough to give me back a usable GUI, useful since I can not use the default Win7 one, it is an awful mess that scatters intimately related items at complete random, and hides or has removed nearly every feature I actually use.
Working with sound & graphics, it matters if the file is mp3, wav, aif, mod, gif, jpg, tif, jpeg, png or whatever else.
Simply listing them only according to what program opens them is actively hostile to someone like me.

M$ has been actively making their stuff more hostile to people who insist they actually own their computers since W7, got serious about it starting with W8, then decided you no longer do with W10.

As for 'everything'.
That is voidtools everything.
It replaces the very idea of windows search with something that actually works.
Handles NTFS,Refs & Lan shares.
You should look it up, it is very nice.

I am currently integrating it so it supplies the size of directories without disk thrashing.


Posts: 54
Joined: Sun Apr 02, 2017 7:22 am

Re: Enhanced Search Dialog

Post by Edgar5 » Mon Apr 09, 2018 7:23 am


I've recently added a number of non-GUI enhancements to my Search Dialog's code. You may now Delete (permanently or to Trash Bin) or Rename one or more selected (contiguous or non-contiguous) items. Any user action which might change the current Search's results now automatically refreshes the search. If you are interested in looking at the code, let me know and I will zip up the .C++ & .H files and put them on Dropbox.

Posts: 32
Joined: Fri Aug 05, 2016 9:03 am

Re: Enhanced Search Dialog

Post by Janus » Mon Apr 09, 2018 7:45 am


Sounds like you are cleaning it up and stabilizing it.
I would very much like a look.

You might also want to look at RenPhoric.
It provides a context menu that allows editing a whole directory listing as a text file either internally, or using an external editor.
I use it with notepad++ when I have bulk renaming to do.


Post Reply