Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Редактирование имен файлов мышью
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
LonerD



Joined: 04 Jan 2011
Posts: 1168
Location: Донецк

Post (Separately) Posted: Thu Sep 01, 2011 02:53    Post subject: Редактирование имен файлов мышью Reply with quote

Цель - организовать в Тотале редактирование имен файлов с помощью одной лишь мыши.
По аналогии с проводником - двойным щелчком мыши выделяем название файла, вставляем в него например новое имя из буфера обмена (или удаляем часть названия, выделив его и нажав Удалить), затем щёлкаем кнопкой мыши по свободному месту сбоку от файла - и файл переименовывается. Задействовать клавиатуру при этом не нужно.

Возможно ли такое организовать ? (при помощи скриптов или при помощи AutoIt по аналогии с AutoFx).

Примитивный вариант - сделать кнопку, эмулирующую нажатие Enter и нажимать её после переименования файла - реализовать несложно, но хотелось бы большей универсальности.

(попрошу без дебатов, что мышь зло, и Тоталом надо управлять исключительно с клавиатуры)
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10264
Location: Россия, Саратов

Post (Separately) Posted: Thu Sep 01, 2011 07:08    Post subject: Reply with quote

LonerD wrote:
Примитивный вариант - сделать кнопку, эмулирующую нажатие Enter и нажимать её после переименования файла - реализовать несложно

Несложно ли — это ещё вопрос. Рекомендую попробовать с командой cm_Return. Файл/каталог/архив под курсором будет обрабатываться без учёта идущего редактирования. То есть в результате получим открытие/запуск объекта с прежним именем.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2571

Post (Separately) Posted: Thu Sep 01, 2011 10:22    Post subject: Reply with quote

Совсем для другого и по другому, но под название темы, по-моему, скрипт подходит.
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2076
Location: Russian Federation

Post (Separately) Posted: Thu Sep 01, 2011 16:08    Post subject: Reply with quote

В сторону TWinKey:
VadiMGP wrote:
Эмуляция нажатия клавиш - разновидность бомбы* с таймером. В лучшем случае* чревато только тем, что эмулируемое действие не выполнится, в худшем - выполнится какое-то другое действие.

Хотя, тогда условия были не те.
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
LonerD



Joined: 04 Jan 2011
Posts: 1168
Location: Донецк

Post (Separately) Posted: Thu Sep 01, 2011 16:52    Post subject: Reply with quote

sa
Спасибо, тоже выход, хотя неуниверсальный.

Avada
Мда... жаль (

Похоже, остаётся только вариант реализации на AutoIt - например, резидентная программа, которая в текстовом курсоре при нажатии средней кнопки (или длительном удержании левой кнопки) мыши будет эмулировать нажатие на Enter.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2571

Post (Separately) Posted: Thu Sep 01, 2011 17:55    Post subject: Reply with quote

LonerD wrote:
тоже выход, хотя неуниверсальный

Зато будет работать у тех, кому не нравится ситуация, когда при повторном щелчке на имени файла открывается окошко переименования и кто соответственно, добавил строку InplaceRename=0 в раздел [Configuration] файла wincmd.ini, чтобы она не возникала.

Add
Впрочем, способ вызова окошка переименования (повторным щелчком, командами cm_RenameOnly или cm_RenameSingleFile), и для запрашиваемого скрипта (программы) существенного значения иметь не должен.

Добавлю ещё вариант предложенного ранее скрипта, не требующий регистрации Helper-а.
Code:
'  Описание:   Переименовать файл/каталог под курсором в диалоге
' Параметры:   %P%N
'Требования:   1.Для применимости диалога в корневом каталоге диска ключ
'             ShowParentDirInRoot (файл wincmd.ini секция [Configuration])
'             должен иметь значение 1.
'              2.Необходима утилита TCFS2 для вызова внутренних команд ТК.
Option Explicit
Dim WSH, TCFS2, P_N
Set WSH = CreateObject("WScript.Shell")

TCFS2 = "%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe"

WSH.Run TCFS2 & " /ef tcm(524)", 1, True
P_N = WScript.Arguments(0)
If InStrRev(P_N,"\") = Len(P_N) Then
  MsgBox "Курсор не должен располагаться на строке ""..""", _
   vbOKOnly + vbCritical,  "Переименовать файл/каталог под курсором в диалоге"
  Set WSH = Nothing
  WScript.Quit
End If
WSH.SendKeys "{INSERT}{HOME}"
Wscript.Sleep(100)
WSH.SendKeys "{INSERT}"
Wscript.Sleep(100)
WSH.Run TCFS2 & " /ef tcm(2053) tcm(1002) tcm(524)", 1, True
Set WSH = Nothing
Wscript.Quit
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10264
Location: Россия, Саратов

Post (Separately) Posted: Thu Sep 29, 2011 09:44    Post subject: Reply with quote

Уточнение моего предыдущего поста. Заставить работать команду cm_Return для сохранения результатов переименования можно, но только её клавиатурным вызовом. Если повесить команду на кнопку, будет открытие/запуск объекта с прежним именем. (На ру-борде Rodny правильно сказал, что причина в уводе фокуса с поля ввода на кнопку.)
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2571

Post (Separately) Posted: Thu Sep 29, 2011 10:11    Post subject: Reply with quote

Можно попросить Гислера добавить ключ в wincmd.ini, который будет менять реакцию на нажатие мышки вне поля переименования: либо это отказ от изменений (ESC), как сейчас, либо сохранение изменений (ENTER), как в проводнике.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Thu Sep 29, 2011 10:14    Post subject: Reply with quote

Думаю, вряд ли он пойдет на добавление флага, так кардинально меняющего поведение. Это может чересчур сильно контузить, если сделаешь неосторожное действие.

Думаю, максимум, на что он пойдёт - на добавление сообщения с вопросом при щелчке вне поля переименования. Тут хотя бы нежелательных переименований не будет происходить оттого, что флаг оказался не в том положении.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10264
Location: Россия, Саратов

Post (Separately) Posted: Thu Sep 29, 2011 10:15    Post subject: Reply with quote

sa
Это правильно. Но и в отношении TWinKey мы тут кое-что с автором, пожалуй, обсудим...

MVV
Как насчёт зарепортить пусть даже только в своём варианте?
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2571

Post (Separately) Posted: Thu Sep 29, 2011 10:30    Post subject: Reply with quote

MVV wrote:
Это может чересчур сильно контузить, если сделаешь неосторожное действие.

Например, удаление в корзину или окончательно, в зависимости от настроек, может контузить тоже ощутимо.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Thu Sep 29, 2011 10:34    Post subject: Reply with quote

sa wrote:
MVV wrote:
Это может чересчур сильно контузить, если сделаешь неосторожное действие.

Например, удаление в корзину или окончательно, в зависимости от настроек, может контузить тоже ощутимо.

Но при удалении в тотале всегда задается вопрос. И это поведение не менялось добрый десяток лет.
А в данном случае человека может конкретно смутить то, что он, щелкнув мышью, чтобы отменить переименование, наоборот выполнит его. К таким вещам, насколько я успел заметить, Гислер очень серьезно относится.

Avada wrote:
Как насчёт зарепортить пусть даже только в своём варианте?

Теоретически возможно.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2571

Post (Separately) Posted: Thu Sep 29, 2011 10:44    Post subject: Reply with quote

MVV wrote:
А в данном случае человека может конкретно смутить то, что он, щелкнув мышью, чтобы отменить переименование, наоборот выполнит его.

Естественно, по умолчанию должен остаться устоявшийся вариант, а для перехода на новый потребуются определённые манипуляции.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Thu Sep 29, 2011 12:29    Post subject: Reply with quote

sa wrote:
Естественно, по умолчанию должен остаться устоявшийся вариант, а для перехода на новый потребуются определённые манипуляции.

Если бы не туча сборок, авторы которых плевали на умолчания…
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Sun Oct 02, 2011 21:50    Post subject: Reply with quote

sa wrote:
Можно попросить Гислера добавить ключ в wincmd.ini, который будет менять реакцию на нажатие мышки вне поля переименования: либо это отказ от изменений (ESC), как сейчас, либо сохранение изменений (ENTER), как в проводнике.

Есть ещё третий вариант - оставаться в режиме редактирования. А то при случайном щелчке или потере фокуса (всплывающее окно) можно случайно переименовать файл.

Можно добавить маленькую кнопку рядом или внутри поля редактирования.

Quote:
Думаю, максимум, на что он пойдёт - на добавление сообщения с вопросом при щелчке вне поля переименования.

Только не это. Если и показывать кнопку сохранения/отмены, то сразу. Если ещё их и подсветить дефолтно, тогда наглядно будет видна последующая реакция Тотала на щелчок вне поля, тогда будет меньше путаницы.
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group