Directory-Hotlist: es wäre genial, wenn quicksearch funktioniert

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
schittli
Member
Member
Posts: 101
Joined: 2004-01-06, 16:13 UTC
Location: Switzerland, Biel Bienne

Directory-Hotlist: es wäre genial, wenn quicksearch funktioniert

Post by *schittli »

Guten Abend

Ich untersütze in der Freizeit mehrere NPO und habe deshalb eine recht lange Directory-Hotlist.
Es wäre genial, wenn es eine eingebaute QuickSearch Funktion gäbe, die die Directory-Hotlist fotlaufend filtert oder mit der man zwischen Einträgen springen kann, die dem Suchtext entsprechen.

Wenn das nicht möglich ist, dann wäre zumindest genial, wenn die Directory-Hotlist selber keine Tastenkürzel definiert hat:
• A » Add Current Dir
• C » Configure

Diese Standard-Tastenkürzel werden ja extrem selten genützt, weil die Directory-Hotlist zwar lang sein kann, aber i.d.R. doch ziemlich statisch ist.

Vielen Dank, liebe Grüsse,
Thomas
User avatar
Hacker
Moderator
Moderator
Posts: 13052
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Re: Directory-Hotlist: es wäre genial, wenn quicksearch funktioniert

Post by *Hacker »

schittli,
Wenn das nicht möglich ist, dann wäre zumindest genial, wenn die Directory-Hotlist selber keine Tastenkürzel definiert hat:
• A » Add Current Dir
• C » Configure
Hat sie in der neuesten TC Version auch nicht ;)

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
JOUBE
Power Member
Power Member
Posts: 1448
Joined: 2004-07-08, 08:58 UTC

Re: Directory-Hotlist: es wäre genial, wenn quicksearch funktioniert

Post by *JOUBE »

Man kann ja in der Directory-Hotlist Untermenüs anlegen. In diesem Fall wäre je eines für jede NPO sinnvoll, dem man dann eine Kurztaste via '&' zuordnet. Wenn der entsprechende Hotkey gedrückt wird, reicht die entprechende Pfeiltaste um das Untermenü dieser NPO aufzurufen und weiter geht es dann im Untermenü wieder mit Kurztasten.

JOUBE
schittli
Member
Member
Posts: 101
Joined: 2004-01-06, 16:13 UTC
Location: Switzerland, Biel Bienne

Re: Directory-Hotlist: es wäre genial, wenn quicksearch funktioniert

Post by *schittli »

Danke, @Roman,
stimmt, immerhin die A und C Hotkeys wurden durch andere ersetzt :-)

Quick search wäre trotzdem genial.

Liebe Grüsse, Thomas
User avatar
Lucky Joe
Member
Member
Posts: 161
Joined: 2012-07-25, 10:30 UTC

Re: Directory-Hotlist: es wäre genial, wenn quicksearch funktioniert

Post by *Lucky Joe »

Hallo zusammen,

[etwas off-topic on]

Ich habe die folgende Antwort gerade schon in einem anderen Thread gepostet, hier passt sie aber auch (vielleicht sogar noch besser). "Etwas off-toppic", weil es um eine "externe" (AutoHotkey) Lösung geht.

Ich habe mir eine filterbare Liste für meine Directory Hotlist mit AutoHotkey gebastelt. Gerade das Filtern (mit jedem Tastendruck) ist für mich eine wichtige Unterstützung, um schnell in das gewünschte Verzeichnis zu gelangen (je nach aktuellem Verzeichnisfenster rechts oder links). Der Vorteil ist dabei zudem, dass ich mich mit dem Script nicht einmal innerhalb des Total Commanders aufhalten muss und ich per Hotkey von jedem anderen Programm aus in das gewählte Verzeichnis beim TC "beamen" kann.

Falls eine "externe" Lösung in Frage kommt, bitte PM an mich: ich stelle das Script gerne zur Verfügung (bin aber bis nächste Woche im Urlaub). Falls erlaubt, kann ich das natürlich auch hier veröffentlichen.

[etwas off-topic off]
Herzliche Grüße aus dem Rheinland
Lucky Joe
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6450
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Re: Directory-Hotlist: es wäre genial, wenn quicksearch funktioniert

Post by *Horst.Epp »

Natürlich kannst du dein Script hier veröffentlichen.
Wird auf jeden Fall getested.
Ich benutze Quick Access Popup welches die Favoriten im File Manager started.
Geht mit dem TC sehr gut und kann auch Sub-Menüs für die Favoriten,
aber leider nicht filtern.
Windows 11 Home x64 Version 23H2 (OS Build 22631.3374)
TC 11.03 x64 / x86
Everything 1.5.0.1371a (x64), Everything Toolbar 1.3.2, Listary Pro 6.3.0.69
QAP 11.6.3.2 x64
User avatar
Lucky Joe
Member
Member
Posts: 161
Joined: 2012-07-25, 10:30 UTC

Re: Directory-Hotlist: es wäre genial, wenn quicksearch funktioniert

Post by *Lucky Joe »

Hallo Horst.Epp,

Quick Access Popup nutze ich auch, aber da fehlt mir eben auch genau diese Filterfunktion.
Ok, dann hier mein Script, welches selbsterklärend sein sollte:

Code: Select all

; ==============================================================================
; Titel:		TC-Favoriten
; Autor:		Lucky Joe ;-)
; Datum:		04.08.22
; Beschreibung:	Das Script stellt ein Fenster zur Verfügung, in dem der
;				Benutzer seine Favoriten-Pfade auf schnelle und einfache
;				Weise im Total Commander aufrufen kann.
;				Die Favoritenliste wird mit jeder Eingabe eines Zeichens
;				im Suchfeld (weiter) gefiltert.
;				Esc: löscht das Suchfeld oder beendet das Fenster.
;				Cursor-Down: (optional): vom Suchfeld in die Liste wechseln
;				(sonst mit "Tab").
;				Größe, Farbe, Schrift und Koordinaten können vom
;				Benutzer selbst definiert werden.
; ==============================================================================

#NoEnv
#SingleInstance force
SetControlDelay, -1
SetWinDelay, -1
SetKeyDelay, 0
SetTitleMatchMode, 2
SetTitleMatchMode, Fast
DetectHiddenWindows, On
SetWorkingDir %A_ScriptDir%

; ==============================================================================
; Benutzerspezifische Angaben (ggf. anpassen)
; ==============================================================================
MyEditor		:= "C:\Windows\notepad.exe"										; oder eigenen Editor eintragen
MyTC			:= "C:\TotalCommander\TOTALCMD64.EXE"							; Pfad zum Total Commander
Klick			:= "Normal"														; Aufruf mit der Maus: "Normal" = Einfachklick | "DoubleClick" = Doppelklick
Schriftart		:= "Segoe UI"													; Schriftart im Favoritenfenster
Schrifgroesse	= 9																; Schriftgröße im Favoritenfenster
BGColor			= F8F8F8														; Hintergrundfarbe des Favoritenfensters
FensterHoehe	= 785															; Fensterhöhe des Favoritenfensters
FensterBreite	= 434															; Fensterbreite des Favoritenfensters
XPos			= 1100															; X-Position des Favoritenfensters
YPos			= 140															; Y-Position des Favoritenfensters
SpaltenBreite	= 410															; Spaltenbreite der Favoritenspalte
Zeilen			= 35															; Anzahl Zeilen im Favoritenfenster

TCFavoriten=
(join`n
Meine Favoriten:																; ab hier eigene Favoriten eintragen (Variablen möglich!):
c:\Program Files (x86)\Adobe\
c:\Program Files (x86)\Bonjour\
c:\Program Files (x86)\Brother\
c:\Program Files (x86)\Canon\
c:\Program Files (x86)\Cherry\
c:\Program Files (x86)\Common Files\
c:\Program Files (x86)\Google\
c:\Program Files (x86)\Intel\
c:\Program Files (x86)\Internet Explorer\
c:\Program Files (x86)\Java\
c:\Program Files (x86)\Logitech\
c:\Program Files (x86)\Microsoft\
c:\Program Files (x86)\Microsoft ASP.NET\
c:\Program Files (x86)\Microsoft Help Viewer\
c:\Program Files (x86)\Microsoft Office\
c:\Program Files (x86)\Microsoft OneDrive\
c:\Program Files (x86)\Microsoft SDKs\
c:\Program Files (x86)\Microsoft Silverlight\
c:\Program Files (x86)\Microsoft SQL Server\
c:\Program Files (x86)\Microsoft SQL Server Compact Edition\
c:\Program Files (x86)\Microsoft Surface\
c:\Program Files (x86)\Microsoft Visual Studio\
c:\Program Files (x86)\Microsoft Works\
c:\Program Files (x86)\Microsoft WSE\
c:\Program Files (x86)\Microsoft.NET\
c:\Program Files (x86)\MSBuild\
c:\Program Files (x86)\MSECache\
c:\Program Files (x86)\NVIDIA Corporation\
c:\Program Files (x86)\Realtek\
c:\Program Files (x86)\Reference Assemblies\
c:\Program Files (x86)\Samsung\
c:\Program Files (x86)\Windows Defender\
c:\Program Files (x86)\Windows Kits\
c:\Program Files (x86)\Windows Mail\
c:\Program Files (x86)\Windows Media Player\
c:\Program Files (x86)\Windows NT\
c:\Program Files (x86)\Windows Photo Viewer\
c:\Program Files (x86)\Windows Portable Devices\
c:\Program Files (x86)\Windows Sidebar\
)

; ==============================================================================
; TC-Favoriten als Liste zur Auswahl mit Filtermöglichkeit aufzeigen
; ==============================================================================
FavoritenZeilen := []
FavoritenFelder := []

Index := 1
Loop, Parse, TCFavoriten, `n, `r
{
	If (A_Index > 1) && (A_LoopField <> "")
	{
		FavoritenZeilen[Index] := A_LoopField
		FavoritenFelder[Index] := StrSplit(A_LoopField, "`n")
		Index++
	}
}
TCFavoriten := ""

Gui, TCFav:New
Gui, TCFav:Font, s%Schrifgroesse%, %Schriftart%
Gui, TCFav:Add, Text,, Mit ESC Suchfeld löschen oder beenden
Gui, TCFav:Add, Edit, w%FensterBreite% vSuchText gTCFav_Suche
Gui, TCFav:Add, ListView, Count50 Background%BGColor% Grid r%Zeilen% w%FensterBreite% vFavoritenListe gTCFav_MyListView AltSubmit, Meine Favoriten
Gui, TCFav:Add, Link, gTCFav_GoScriptBearbeiten, <a href="">Script editieren</a>
Gui, TCFav:Add, Button, Hidden Default, OK
Gui, TCFav: +AlwaysOnTop
Gui, TCFav:Show, x%XPos% y%YPos% h%Fensterhoehe%, Total Commander-Favoriten

SuchText := ""
LV_ModifyCol(1, SpaltenBreite)
Gosub, TCFav_LV_Laden
Return

; ------------------------------------------------------------------------------
TCFav_GoScriptBearbeiten:
	Run, %MyEditor% "%A_ScriptDir%\TC-Favoriten.ahk"
	GoSub, TCFavGuiClose
Return

; ------------------------------------------------------------------------------
TCFav_SuchE:
	GuiControlGet, SuchText
	GoSub, TCFav_LV_Laden
Return

; ------------------------------------------------------------------------------
TCFav_LV_Laden:
	GuiControl, -Redraw, FavoritenListe
	LV_Delete()
	For i, v In FavoritenFelder
	{
		If (Suchtext = "") || InStr(FavoritenZeilen[i], SuchText)
			LV_Add("", v*)
	}
	GuiControl, +Redraw, FavoritenListe
Return

; ------------------------------------------------------------------------------
TCFav_MyListView:
	If A_GuiEvent = %Klick%
	{
		LV_GetText(RowText, A_EventInfo)
		RowText := Trim(RowText)												; Inhalt des Feldes = Pfad
		Run, %MyTC% /O /S /L="%RowText%"										; TC aufrufen mit dem ausgewähltem Pfad im aktuellen Fenster
		GoSub, TCFavGuiClose
	}
Return

; ------------------------------------------------------------------------------
TCFavButtonOK:
	GuiControlGet, FokussiertesSteuerelement, FocusV
	If (FokussiertesSteuerelement != "FavoritenListe")
		Return
	Zeile := LV_GetNext(0, "Focused")
	LV_GetText(RowText, Zeile)
	RowText := Trim(RowText)													; Inhalt des Feldes = Pfad
	Run, %MyTC% /O /S /L="%RowText%"											; TC aufrufen mit dem ausgewähltem Pfad im aktuellen Fenster
	GoSub, TCFavGuiClose
Return

; ------------------------------------------------------------------------------
TCFavGuiEscapE:
	If (Suchtext <> "")															; wenn im Suchfeld etwas steht ...
	{
		GuiControl,, SuchText													; ... Suchfeld löschen
		ControlFocus, EDIT1														; Cursor ins Suchfeld
		Return																	; und zurück
	}																			; wenn im Suchfeld nichts steht ...

TCFavGuiClosE:
	Gui,TCFav: Destroy
	; Speicher wieder freigeben:
	TCFavoriten := ""
	FavoritenZeilen := ""
	FavoritenFelder := ""
	ExitApp

; ==============================================================================
; Optional: mit "Cursor-Down" aus dem Suchfeld in die Liste springen
; (löschen, um mit "Tab" aus dem Suchfeld in die Liste zu springen)
; ==============================================================================
#IfWinActive ahk_class AutoHotkeyGUI											; nur wenn das AHK-Fenster aktiv
{
	Down::																		; Cursor-Down → in ListView springen
		ControlGetFocus, FokussiertesSteuerelement
		If FokussiertesSteuerelement = Edit1									; wenn im Suchfeld
		{
			SendInput {Tab}														; in die Liste springen
			SendInput {Down}													; sonst wird ...
			SendInput {Up}														; ... keine Zeile markiert!
		}
		Else
			SendInput {Down}
	Return
}
#IfWinActive

Herzliche Grüße aus dem Rheinland
Lucky Joe
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6450
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Re: Directory-Hotlist: es wäre genial, wenn quicksearch funktioniert

Post by *Horst.Epp »

Danke für das Script, aber das ist mir zu einfach gestrickt.
Ich habe mein DirMenu ausgelagert und werde bei Gelegenheit mal ein AHK Script schreiben,
welches diese Datei als Liste anzeigt und eine Suchen Funktion enthält.
Also das, was der TC eigentlich selbst tun sollte.

Erst werde ich aber mal sehen, ob der Author von QAP eine Suchfunktion
in die in QAP vorhandene TC Hotlist einbauen kann.
Windows 11 Home x64 Version 23H2 (OS Build 22631.3374)
TC 11.03 x64 / x86
Everything 1.5.0.1371a (x64), Everything Toolbar 1.3.2, Listary Pro 6.3.0.69
QAP 11.6.3.2 x64
User avatar
Lucky Joe
Member
Member
Posts: 161
Joined: 2012-07-25, 10:30 UTC

Re: Directory-Hotlist: es wäre genial, wenn quicksearch funktioniert

Post by *Lucky Joe »

Die Einfachheit ist gewollt, um mit wenigen Tastendrücken zum Ziel zu kommen. Der Filter arbeitet auch bei langen Listen rasant schnell und normalerweise weiß ich, wie die directories heissen, um mit wenigen geeigneten Tastatureingaben dahin zu kommen.
Benötige ich eine komplexere Suche, nehme ich die Suchfunktion vom TC oder Everything.
Bin trotzdem auf deine Ergebnisse gespannt :-)
Herzliche Grüße aus dem Rheinland
Lucky Joe
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6450
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Re: Directory-Hotlist: es wäre genial, wenn quicksearch funktioniert

Post by *Horst.Epp »

The Author of QAP (Jean Lalonde) added my suggestion to its wish list,
so there is hope :D

Based on a suggestion from Horst.
QAP Feature which allows to enter some search text and after this it displays the reduced dyamic menu.
Dynamic menus: Recent Folders, Recent Files, Frequent Folders, Frequent Files, Current Windows, Total Commander Directory Hotlist, Directory Opus Favorites, etc.
Windows 11 Home x64 Version 23H2 (OS Build 22631.3374)
TC 11.03 x64 / x86
Everything 1.5.0.1371a (x64), Everything Toolbar 1.3.2, Listary Pro 6.3.0.69
QAP 11.6.3.2 x64
Post Reply