QuickSearch eXtended
Moderators: white, Hacker, petermad, Stefan2
case_sensitive ignored for cyrillic
Filtering with cyrillic letters (for example Б and б) is case sensitive even if case_sensitive=0.
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
Ukraine's National Bank special bank account:
UA843000010000000047330992708
- Samuel
- Power Member
- Posts: 1930
- Joined: 2003-08-29, 15:44 UTC
- Location: Germany, Brandenburg an der Havel
- Contact:
I already broke this rule by using "!" as negate char. But as long as this activation chars are only allowed as the first letter I use also allowed chars for this. They could be reduced to 7 or less by just setting more than one activation char to "". So only the first activation char is used as default and the others cant be activated. Example:nsp wrote:As i remember, only \> < * ? | : are not allowed in filenames so imo prefix char should not exeed 7.
Code: Select all
simple_search_activate_char=
regex_search_activate_char=?
leven_search_activate_char=
There are currently only 2 types of dll calls by TC. One call just before the dll is loaded to get some options. The other one is just for each file to compare it to the filter. So there are no infos about parent windows etc.nsp wrote:for me immediatelly mean for "the next search"..
Just an idea (I did not evaluate the feasability as i do not know ho TC and tcMatch communicate) :
tcmatch dll could embed a dialog that sits under or above the TC quick search dialog and allow somme dynamic setting like search begining, current default mode, ....
It would be very hard to externally get the current active TC window, if there are more then one, search the position of the QS dialog and create a new one below. Also the position of QS dialog can change if you select files. I dont know when it closes.
I really like the idea, but I dont see a feasible solution to it.
I can confirm it. And already fixed it. (Now I use CharLowerW instead of toLower) The next version will include the fix. (comes in the next days) I couldnt change anything it in the RegEx library. (If someone wants to make a fix for it see source: "deelx.h")DrShark wrote:Filtering with cyrillic letters (for example Б and б) is case sensitive even if case_sensitive=0.
- Samuel
- Power Member
- Posts: 1930
- Joined: 2003-08-29, 15:44 UTC
- Location: Germany, Brandenburg an der Havel
- Contact:
Updated first post: Version 1.5 is available.
Does someone wants to bugfix (or can give a hint how to easy bugfix) "case_sensitive" in RegEx so that it works also for russian language? (use CharLowerW) - see source in first post -> "deelx.h".
Code: Select all
Version 1.5
- Added: New activate char "simple_search_match_beginning_activate_char=^" available in ini.
- Added: Changes in the ini have immediately effect. Restart TC only necessary for: "allow_empty_result"
- Fixed: The option "case_sensitive" was ignored for Russian language. (and probably other languages too) Didnt fix it for the RegEx library.
- Improved wdx support:
- Added: Groups for wdx plugins. Create them by adding a "wdx_group=..." entry to the ini. (see readme for syntax) Use groups with the new "wdx_separator_char=\".
- Dirsizecalc seems to work.
- Unicode filenames are converted to 8.3 when calling plugins without Unicode support.
- "ft_fulltext" should work now without size limit. (not tested)
- Changed: Ini option "debug_output" has now 4 states: 0=no output, 1=output wdx errors (default), 2=additional information about wdx values, 3=output all wdx function calls
- For performance reasons wdx content is only taken from the file if the file is not already included because of the filename.
I can confirm the fix. Waiting for RegEx fixing nowSamuel wrote:Code: Select all
Version 1.5 - Fixed: The option "case_sensitive" was ignored for Russian language. (and probably other languages too) Didnt fix it for the RegEx library.
GUI configuration utility will be very useful behind this change!Samuel wrote:Code: Select all
- Added: Changes in the ini have immediately effect. Restart TC only necessary for: "allow_empty_result"
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
Ukraine's National Bank special bank account:
UA843000010000000047330992708
- Samuel
- Power Member
- Posts: 1930
- Joined: 2003-08-29, 15:44 UTC
- Location: Germany, Brandenburg an der Havel
- Contact:
Silent update:
Does work on ftp server again. Just redownload the file.
The bug should also be in GLQS 1.4 but only if using either wdx support or the option: "filter_files_and_folders". If these two are selected full path mode is used instead of filename mode. GLQS 1.5 now always uses full path to be able to load options dynamically.
The problem:
The ftp structure is like: "0:/folder1/folder2/file.ext"
The file structure is like: "C:\folder1\folder2\file.ext"
I shortened the path at last "\", which doesnt exist.
Does work on ftp server again. Just redownload the file.
The bug should also be in GLQS 1.4 but only if using either wdx support or the option: "filter_files_and_folders". If these two are selected full path mode is used instead of filename mode. GLQS 1.5 now always uses full path to be able to load options dynamically.
The problem:
The ftp structure is like: "0:/folder1/folder2/file.ext"
The file structure is like: "C:\folder1\folder2\file.ext"
I shortened the path at last "\", which doesnt exist.
- Samuel
- Power Member
- Posts: 1930
- Joined: 2003-08-29, 15:44 UTC
- Location: Germany, Brandenburg an der Havel
- Contact:
I only have written a plugin for TC. TC itself handles hotkeys, the way the little window looks, etc.
- AFAIK you can only customize a hotkey for "cm_ShowQuickSearch", but not replace "ctrl+s".
- You can also use another mode in "config -> quicksearch". For example letters with dialog.
- To always enable the state of "ctrl+s" use "QuickSearchAutoFilter=2".
- Samuel
- Power Member
- Posts: 1930
- Joined: 2003-08-29, 15:44 UTC
- Location: Germany, Brandenburg an der Havel
- Contact:
Sorry I just cant figure out if you have read my message. Have you tried my proposals?
BTW: Ctrl+a is assigned to select all files.
What do you want?
a) Only show the quicksearch window?
b) Also toggle between quicksearch / quickfilter?
If nothing works use Autohotkey.
[edit][irony]Perhaps you could just use ctrl+c for console. [/irony][/edit]
BTW: Ctrl+a is assigned to select all files.
What do you want?
a) Only show the quicksearch window?
b) Also toggle between quicksearch / quickfilter?
If nothing works use Autohotkey.
[edit][irony]Perhaps you could just use ctrl+c for console. [/irony][/edit]
2Samuel I tried to update to 1.5, but the problem is, it will install in the TC main directory,
and not in the preferred folder which is set in the wincmd.ini. Yes I know, it's by design
of the plugins.inf. There is no possibility to set Type=util for "\WinCmd\Plugins\Util\(TcMatch)".
Christian knows that behavior, but nobody knows if he will change it some day.
So I have written a small install script:
Known limitations:
When the quicksearch was used before, the TC has to restart first.
The dll is blocked form TC and can not be copied.
mf
and not in the preferred folder which is set in the wincmd.ini. Yes I know, it's by design
of the plugins.inf. There is no possibility to set Type=util for "\WinCmd\Plugins\Util\(TcMatch)".
Christian knows that behavior, but nobody knows if he will change it some day.
So I have written a small install script:
Code: Select all
@Echo off & setlocal
For /f %%a in ('echo %Commander_Path%') do Set TCP=%%a
For /f %%b in ('findstr /i "tcmatch=" "%Commander_INI%"') do Set TCM=%%b
If /I %TCM:~-11% == tcmatch.dll (goto SubDir) else (goto NoSubDir)
:SubDir
If /I %TCM:~9,14% == Commander_Path (
set "TCMP=%TCP%%TCM:~24,-11%") else (
set "TCMP=%TCM:~8%")
goto copy
:NoSubDir
Set TCMP=%Commander_Path%
goto copy
:copy
copy tcm*.* %TCMP%
pause
When the quicksearch was used before, the TC has to restart first.
The dll is blocked form TC and can not be copied.
mf
Bankster - Word of the Year 2009
- Samuel
- Power Member
- Posts: 1930
- Joined: 2003-08-29, 15:44 UTC
- Location: Germany, Brandenburg an der Havel
- Contact:
2Mikefield
Nice script, but I will not include some kind of installer, to be transparent and standard conform. TC plugins use this "PlugInst.inf" and are located in a zip to let everyone see whats in it.
I just noticed:
The new "wdx_separator_char=\" is badly chosen. Now its not anymore possible to use RegEx in a proper way. I will use "wdx_separator_char=/" in the next release. Please change the entry if you want to use RegEx right now.
Nice script, but I will not include some kind of installer, to be transparent and standard conform. TC plugins use this "PlugInst.inf" and are located in a zip to let everyone see whats in it.
I just noticed:
The new "wdx_separator_char=\" is badly chosen. Now its not anymore possible to use RegEx in a proper way. I will use "wdx_separator_char=/" in the next release. Please change the entry if you want to use RegEx right now.