[WUNSCH] - Nützliche Funktion für Kopieren/Moven etc.

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
User avatar
^CHAMPi^
Junior Member
Junior Member
Posts: 15
Joined: 2003-05-08, 08:36 UTC
Location: Germany
Contact:

[WUNSCH] - Nützliche Funktion für Kopieren/Moven etc.

Post by *^CHAMPi^ »

Hallo!

Folgende Situation:

Ihr möchtest Dateien von einen Fenster zum anderen kopieren. Logischerweise geht TC immer davon aus, das dass aktive Fenster die Quelle ist und das inaktive das Ziel. (Was ja auch Sinn macht).

Hin und wieder kommt es aber vor, das man die zu kopierenden Dateien bereits angewählt hat, aber nochmal was am Fenster mit dem Ziel ändert. Dadurch wird das inaktive Fenster (was ja bis dato das Ziel darstellte) zum aktiven und somit zur Quelle.

Wenn ich nun auf Kopieren klicke, findet TC natürlich keine Auswahl und meldet "Keine Dateien gewählt!". Das ist zwar korrekt, aber letztlich wollte ich ja auch das inaktive Fenster nicht zum aktiven machen.

Und nun kommt der Feature-Wunsch: Wie wäre es wenn TC (optional) erkennt, das auf der anderen Seite (im inaktiven Fenster) Dateien angewählt sind und nachfragt(!) ob er das aktive Fenster wechseln soll und die gewünschte Aktion ausführen soll?

Anmerkung: Das dürfte TC natürlich nur machen wenn wirklich nur im inaktiven Fenster Dateien angewählt sind und im aktiven nicht.

Das würde mir zumindest das Leben etwas angenehmer gestalten, und das ist ja auch letztlich eines der Gründe warum ich TC benutze und nicht von der Console aus die Dateien verwalte. :)
^CHAMPi^
X-treme Battle Mod
Lead Programmer
http://www.clan-X-treme.de
QuakeNet : #X^treme
User avatar
Hacker
Moderator
Moderator
Posts: 13144
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

AHK... :)

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.
Franz Müller
Senior Member
Senior Member
Posts: 415
Joined: 2005-05-24, 10:41 UTC
Location: Wien

Post by *Franz Müller »

Naja, das wär schon ein berechtigter feature request für den TC. Der Vorschlag gefällt mir, bin auch schon öfters drüber gestolpert.

Dürfte mit AHK nicht leicht zu realisieren sein (überprüfen, ob im anderen Fenster Dateien markiert sind etc.).
User avatar
^CHAMPi^
Junior Member
Junior Member
Posts: 15
Joined: 2003-05-08, 08:36 UTC
Location: Germany
Contact:

Post by *^CHAMPi^ »

und hat sich in der Richtung bereits was ergeben?

und btw: wtf is AHK?

oder ist mir da gerade eine geläufige Abkürzung nicht bekannt? :roll:
^CHAMPi^
X-treme Battle Mod
Lead Programmer
http://www.clan-X-treme.de
QuakeNet : #X^treme
User avatar
SanskritFritz
Power Member
Power Member
Posts: 3693
Joined: 2003-07-24, 09:25 UTC
Location: Budapest, Hungary

Post by *SanskritFritz »

und btw: wtf is AHK?
http://www.ghisler.ch/wiki/index.php/AutoHotkey

Meine signatur trifft ja auch gut zu :-)
I switched to Linux, bye and thanks for all the fish!
User avatar
^CHAMPi^
Junior Member
Junior Member
Posts: 15
Joined: 2003-05-08, 08:36 UTC
Location: Germany
Contact:

Post by *^CHAMPi^ »

na da hätte ich aber gerne mal ein Beispiel wie das damit umzusetzen wäre :)

ps: Deine Signatur trifft sogar ganz gewaltig zu :)
^CHAMPi^
X-treme Battle Mod
Lead Programmer
http://www.clan-X-treme.de
QuakeNet : #X^treme
User avatar
SanskritFritz
Power Member
Power Member
Posts: 3693
Joined: 2003-07-24, 09:25 UTC
Location: Budapest, Hungary

Post by *SanskritFritz »

2^CHAMPi^
Ich glaube Hackers antwort war klein und grau, weil er auch weiss dass das eine ziemlich schwere aufgabe ist. Im augenblick weiss ich auch nicht wie ich feststellen könnte ob im listbox zeilen selektiert sind...

PS: doch:

Code: Select all

LB_GETSELCOUNT = 0x0190
SendMessage LB_GETSELCOUNT, 0, 0, TMyListBox1, ahk_class TTOTAL_CMD
count := ErrorLevel
MsgBox %count%
I switched to Linux, bye and thanks for all the fish!
User avatar
^CHAMPi^
Junior Member
Junior Member
Posts: 15
Joined: 2003-05-08, 08:36 UTC
Location: Germany
Contact:

Post by *^CHAMPi^ »

vielleicht überzeugt er uns ja mit einen kleinem Beispiel, das sein Posting schwarz auf hellblau war. :)
^CHAMPi^
X-treme Battle Mod
Lead Programmer
http://www.clan-X-treme.de
QuakeNet : #X^treme
User avatar
SanskritFritz
Power Member
Power Member
Posts: 3693
Joined: 2003-07-24, 09:25 UTC
Location: Budapest, Hungary

Post by *SanskritFritz »

Code: Select all

LB_GETSELCOUNT = 0x0190

#IfWinActive ahk_class TTOTAL_CMD
F5::
	sf_OtherPanel := ""
	ControlGetFocus sf_FocusedControl
	if (sf_FocusedControl = "TMyListBox1")
	   sf_OtherPanel := "TMyListBox2"
	if (sf_FocusedControl = "TMyListBox2")
	   sf_OtherPanel := "TMyListBox1"
	if (sf_OtherPanel != "")
	{
	   SendMessage LB_GETSELCOUNT, 0, 0, %sf_FocusedControl%, ahk_class TTOTAL_CMD
		nFocusedSelected := ErrorLevel
	   SendMessage LB_GETSELCOUNT, 0, 0, %sf_OtherPanel%, ahk_class TTOTAL_CMD
		nOtherSelected := ErrorLevel
		if (nFocusedSelected = 0 and nOtherSelected > 0)
		   Send {Tab}
	}
	Send {F5}
	Return
I switched to Linux, bye and thanks for all the fish!
User avatar
Hacker
Moderator
Moderator
Posts: 13144
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Soweit war ich auch schon, doch es muessen keine Dateien markiert sein um kopieren zu koennen. Mit anderen Worten - mit dem Skript in dieser form kann man keine einzelne Datei kopieren, wenn auf der anderen Seite irgendwelche Dateien / Verzeichnisse markiert sind.

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.
User avatar
^CHAMPi^
Junior Member
Junior Member
Posts: 15
Joined: 2003-05-08, 08:36 UTC
Location: Germany
Contact:

Post by *^CHAMPi^ »

Ich find das aber trotzdem schön zu sehen das ihr euch damit mal beschäftigt habt...

Doch mal unter uns: Sollte sich ein Benutzer von TC sich sowas wirklich selber basteln(!) müssen?

Sollte es nicht im Sinne des Entwickler sein den ein oder anderen Vorschlag mal ernsthaft aufzugreifen? :)

Ich jedenfalls würde mich freuen wenn es sowas geben würde im TC, alternativ nehme ich natürlich auch ein AHK Script, wenn's denn damit geht.
^CHAMPi^
X-treme Battle Mod
Lead Programmer
http://www.clan-X-treme.de
QuakeNet : #X^treme
User avatar
Hacker
Moderator
Moderator
Posts: 13144
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Sollte es nicht im Sinne des Entwickler sein den ein oder anderen Vorschlag mal ernsthaft aufzugreifen?
Es gibt um die tausend Vorschlage auf der Wunschliste des Entwicklers, deshalb hilft man sich, wie man kann, wenn man kann. :)

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.
User avatar
Hacker
Moderator
Moderator
Posts: 13144
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

So:

Code: Select all

#IfWinActive, ahk_class TTOTAL_CMD
$F5::
	ControlGetFocus, FocusedControl
	NotFocusedControl = TMyListBox2
	IfNotEqual, FocusedControl, TMyListBox1
	{
		NotFocusedControl = TMyListBox1
		IfNotEqual, FocusedControl, TMyListBox2
			Return
	}


	; Check for selected files
	; LB_GETSELCOUNT = 0x190
	SendMessage, 0x190, 0, 0, %FocusedControl%, ahk_class TTOTAL_CMD
	IfNotEqual, ErrorLevel, 0
	{
		Send, {F5}
		Return
	}

	; Check for cursor on '..'
	; LB_GETCARETINDEX = 0x19F
	SendMessage, 0x19F, , , %FocusedControl%, ahk_class TTOTAL_CMD
	VarSetCapacity(CurrentItem, 260)
	; LB_GETTEXT = 0x189
	SendMessage, 0x189, %ErrorLevel%, &CurrentItem, %FocusedControl%, ahk_class TTOTAL_CMD
	IfNotEqual, CurrentItem, ..
	{
		Send, {F5}
		Return
	}

	; Check for selected files in opposite panel
	; LB_GETSELCOUNT = 0x190
	SendMessage, 0x190, 0, 0, %NotFocusedControl%, ahk_class TTOTAL_CMD
	IfEqual, ErrorLevel, 0
	{
		; Check for cursor on '..'
		; LB_GETCARETINDEX = 0x19F
		SendMessage, 0x19F, , , %NotFocusedControl%, ahk_class TTOTAL_CMD
		; LB_GETTEXT = 0x189
		SendMessage, 0x189, %ErrorLevel%, &CurrentItem, %NotFocusedControl%, ahk_class TTOTAL_CMD
		IfEqual, CurrentItem, ..
		{
			Send, {F5}
			Return
		}
	}

	MsgBox, 33, No files selected, Would you like to start the operation from the opposite panel?
	IfMsgBox, OK
	{
		ControlFocus, %NotFocusedControl%
		Send, {F5}
	}
Return
Einschrankung: Wenn man '..' markiert, wird das auch als "Dateien sind markiert" betrachtet, obwohl man '..' nicht kopieren kann.

HTH
Roman
Last edited by Hacker on 2007-01-20, 01:14 UTC, edited 1 time in total.
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.
User avatar
^CHAMPi^
Junior Member
Junior Member
Posts: 15
Joined: 2003-05-08, 08:36 UTC
Location: Germany
Contact:

Post by *^CHAMPi^ »

und man könnte ja auch, wenn TC denn kann :)

Da es momentan aber noch nicht so aussieht, sind wir ja hier am diskutieren.

Das ein Programm wie TC mehr als 1 Vorschlag auf der TODO/Wunschliste hat, ist mir durchaus bewusst. :)
^CHAMPi^
X-treme Battle Mod
Lead Programmer
http://www.clan-X-treme.de
QuakeNet : #X^treme
Post Reply