QuickSearch eXtended

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: white, Hacker, petermad, Stefan2

Post Reply
User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

case_sensitive ignored for cyrillic

Post by *DrShark »

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
User avatar
Samuel
Power Member
Power Member
Posts: 1930
Joined: 2003-08-29, 15:44 UTC
Location: Germany, Brandenburg an der Havel
Contact:

Post by *Samuel »

nsp wrote:As i remember, only \> < * ? | : are not allowed in filenames so imo prefix char should not exeed 7.
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:

Code: Select all

simple_search_activate_char=
regex_search_activate_char=?
leven_search_activate_char=
-> Levenshtein search could never be used.
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, ....
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.

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.
DrShark wrote:Filtering with cyrillic letters (for example Б and б) is case sensitive even if case_sensitive=0.
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")
User avatar
Samuel
Power Member
Power Member
Posts: 1930
Joined: 2003-08-29, 15:44 UTC
Location: Germany, Brandenburg an der Havel
Contact:

Post by *Samuel »

Updated first post: Version 1.5 is available.

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.
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".
User avatar
DrShark
Power Member
Power Member
Posts: 1872
Joined: 2006-11-03, 22:26 UTC
Location: Kyiv, 68/262
Contact:

Post by *DrShark »

Samuel 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.
I can confirm the fix. Waiting for RegEx fixing now :)
Samuel wrote:

Code: Select all

- Added: Changes in the ini have immediately effect. Restart TC only necessary for: "allow_empty_result"
GUI configuration utility will be very useful behind this change!
Donate for Ukraine to help stop Russian invasion!
Ukraine's National Bank special bank account:
UA843000010000000047330992708
User avatar
Samuel
Power Member
Power Member
Posts: 1930
Joined: 2003-08-29, 15:44 UTC
Location: Germany, Brandenburg an der Havel
Contact:

Post by *Samuel »

DrShark wrote:I can confirm the fix. Waiting for RegEx fixing now :)
I dont have any idea how to fix it.
Edit: But I wrote a bug report (more a message) to the author.
ped
Junior Member
Junior Member
Posts: 12
Joined: 2005-10-14, 18:10 UTC
Location: Århus, Denmark

Post by *ped »

Hi,

Thansk for a nice plugin. Would it be possible to make it work for file listings on an FTP server? When I am logged in to an FTP server it does not pick up any of the letters I type.

/Regards, Poul
User avatar
Mikefield
Power Member
Power Member
Posts: 628
Joined: 2006-02-26, 19:13 UTC
Location: Oberursel, Germany HE

Post by *Mikefield »

2ped This should be a bug in Version 1.5. With Version 1.41 it works in FTP and SFTP.

mf
Bankster - Word of the Year 2009
User avatar
Samuel
Power Member
Power Member
Posts: 1930
Joined: 2003-08-29, 15:44 UTC
Location: Germany, Brandenburg an der Havel
Contact:

Post by *Samuel »

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.
User avatar
pajo
Member
Member
Posts: 181
Joined: 2005-02-18, 17:57 UTC
Location: Croatia

Post by *pajo »

2Samuel

First of all. Excelent work you done.
I have one suggestion. Can you make hot key configurable, so user can change hot key himself. If I don't want to use ctr+S, I can remap it to something else.
User avatar
Samuel
Power Member
Power Member
Posts: 1930
Joined: 2003-08-29, 15:44 UTC
Location: Germany, Brandenburg an der Havel
Contact:

Post by *Samuel »

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".
User avatar
pajo
Member
Member
Posts: 181
Joined: 2005-02-18, 17:57 UTC
Location: Croatia

Post by *pajo »

Samuel

I already use ctrl+s for console. So I want to change quick search hot key to something else. e.g. ctl+a
User avatar
Samuel
Power Member
Power Member
Posts: 1930
Joined: 2003-08-29, 15:44 UTC
Location: Germany, Brandenburg an der Havel
Contact:

Post by *Samuel »

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] :D
User avatar
Mikefield
Power Member
Power Member
Posts: 628
Joined: 2006-02-26, 19:13 UTC
Location: Oberursel, Germany HE

Post by *Mikefield »

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:

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
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
Bankster - Word of the Year 2009
User avatar
Samuel
Power Member
Power Member
Posts: 1930
Joined: 2003-08-29, 15:44 UTC
Location: Germany, Brandenburg an der Havel
Contact:

Post by *Samuel »

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.
User avatar
Samuel
Power Member
Power Member
Posts: 1930
Joined: 2003-08-29, 15:44 UTC
Location: Germany, Brandenburg an der Havel
Contact:

Post by *Samuel »

Should I rename the Plugin from "Google like Quicksearch" to "extended Quickfilter plugin"?

Pros:
- better description

Cons:
- it is already known and promoted as "Google like Quicksearch"

What do you think?
Post Reply