AutoHotkey: Inplace rename with dialog: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
; Inplace rename with dialog box. | |||
; | |||
; Hotkey: Win-q | |||
; | |||
; Assumptions: | |||
; Space selects the file and does not move the cursor | |||
; (careful when selecting a folder, by default it calculates the size, | |||
; which can be time consuming) | |||
; Shift-F6 is still defined as inplace rename (default) | |||
LB_GETCURSEL := 0x188 | |||
$#q:: | |||
if not WinActive( "ahk_class TTOTAL_CMD" ) | |||
{ | |||
Send #q | |||
Return | |||
} | |||
ControlGetFocus sf_FocusedControl | |||
if (sf_FocusedControl != "TMyListBox1" and sf_FocusedControl != "TMyListBox2") | |||
Return | |||
SendMessage %LB_GETCURSEL%, 0, 0, %sf_FocusedControl%, ahk_class TTOTAL_CMD | |||
sf_Position := ErrorLevel | |||
if sf_Position = 0 | |||
Return | |||
SendTCCommand( "cm_ClearAll" ) | |||
Send {Space}{Home}{Space}+{F6} | |||
WinWait ahk_class TCheckEditBox | |||
; Wait until the user has finished renaming the file | |||
WinWaitClose | |||
SendTCCommand( "cm_ClearAll" ) | |||
Sleep 100 | |||
; Go back to the original position | |||
; The message was taken from Winspector | |||
SendMessage 0x19e, %sf_Position%, 0, %sf_FocusedControl%, ahk_class TTOTAL_CMD | |||
Return | |||
; | |||
; SendTCCommand 0.1 | |||
; | |||
; Function purpose: | |||
; Sends a Total Commander internal command to a TC instance. | |||
; It can be used to automate Total Commander. | |||
; | |||
; Parameters: | |||
; xsTCCommand: The Total Commander internal command, see the list here: | |||
; %COMMANDER_PATH%\TOTALCMD.INC | |||
; | |||
; Usage example: | |||
; SendTCCommand( "cm_RereadSource" ) | |||
; | |||
SendTCCommand( xsTCCommand ) | |||
{ | |||
loop Read, %COMMANDER_PATH%\TOTALCMD.INC | |||
{ | |||
StringSplit asCommands, A_LoopReadLine, = | |||
if (asCommands1 = xsTCCommand) | |||
{ | |||
StringSplit asCommandsValues, asCommands2, `; | |||
Break | |||
} | |||
} | |||
if (asCommandsValues1 > 0) | |||
PostMessage 1075, %asCommandsValues1%, 0, , ahk_class TTOTAL_CMD | |||
} | |||
Revision as of 16:31, 18 October 2005
; Inplace rename with dialog box. ; ; Hotkey: Win-q ; ; Assumptions: ; Space selects the file and does not move the cursor ; (careful when selecting a folder, by default it calculates the size, ; which can be time consuming) ; Shift-F6 is still defined as inplace rename (default) LB_GETCURSEL := 0x188 $#q:: if not WinActive( "ahk_class TTOTAL_CMD" ) { Send #q Return } ControlGetFocus sf_FocusedControl if (sf_FocusedControl != "TMyListBox1" and sf_FocusedControl != "TMyListBox2") Return SendMessage %LB_GETCURSEL%, 0, 0, %sf_FocusedControl%, ahk_class TTOTAL_CMD sf_Position := ErrorLevel if sf_Position = 0 Return SendTCCommand( "cm_ClearAll" ) Send {Space}{Home}{Space}+{F6} WinWait ahk_class TCheckEditBox ; Wait until the user has finished renaming the file WinWaitClose SendTCCommand( "cm_ClearAll" ) Sleep 100 ; Go back to the original position ; The message was taken from Winspector SendMessage 0x19e, %sf_Position%, 0, %sf_FocusedControl%, ahk_class TTOTAL_CMD Return ; ; SendTCCommand 0.1 ; ; Function purpose: ; Sends a Total Commander internal command to a TC instance. ; It can be used to automate Total Commander. ; ; Parameters: ; xsTCCommand: The Total Commander internal command, see the list here: ; %COMMANDER_PATH%\TOTALCMD.INC ; ; Usage example: ; SendTCCommand( "cm_RereadSource" ) ; SendTCCommand( xsTCCommand ) { loop Read, %COMMANDER_PATH%\TOTALCMD.INC { StringSplit asCommands, A_LoopReadLine, = if (asCommands1 = xsTCCommand) { StringSplit asCommandsValues, asCommands2, `; Break } } if (asCommandsValues1 > 0) PostMessage 1075, %asCommandsValues1%, 0, , ahk_class TTOTAL_CMD }
Back to AutoHotkey