View previous topic :: View next topic |
Author |
Message |
LonerD
Joined: 04 Jan 2011 Posts: 1168 Location: Донецк
|
(Separately) Posted: Thu Sep 01, 2011 02:53 Post subject: Редактирование имен файлов мышью |
|
|
Цель - организовать в Тотале редактирование имен файлов с помощью одной лишь мыши.
По аналогии с проводником - двойным щелчком мыши выделяем название файла, вставляем в него например новое имя из буфера обмена (или удаляем часть названия, выделив его и нажав Удалить), затем щёлкаем кнопкой мыши по свободному месту сбоку от файла - и файл переименовывается. Задействовать клавиатуру при этом не нужно.
Возможно ли такое организовать ? (при помощи скриптов или при помощи AutoIt по аналогии с AutoFx).
Примитивный вариант - сделать кнопку, эмулирующую нажатие Enter и нажимать её после переименования файла - реализовать несложно, но хотелось бы большей универсальности.
(попрошу без дебатов, что мышь зло, и Тоталом надо управлять исключительно с клавиатуры) |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10264 Location: Россия, Саратов
|
(Separately) Posted: Thu Sep 01, 2011 07:08 Post subject: |
|
|
LonerD wrote: | Примитивный вариант - сделать кнопку, эмулирующую нажатие Enter и нажимать её после переименования файла - реализовать несложно |
Несложно ли — это ещё вопрос. Рекомендую попробовать с командой cm_Return. Файл/каталог/архив под курсором будет обрабатываться без учёта идущего редактирования. То есть в результате получим открытие/запуск объекта с прежним именем. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Thu Sep 01, 2011 10:22 Post subject: |
|
|
Совсем для другого и по другому, но под название темы, по-моему, скрипт подходит. |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Thu Sep 01, 2011 16:08 Post subject: |
|
|
В сторону TWinKey:
VadiMGP wrote: | Эмуляция нажатия клавиш - разновидность бомбы* с таймером. В лучшем случае* чревато только тем, что эмулируемое действие не выполнится, в худшем - выполнится какое-то другое действие. |
Хотя, тогда условия были не те. _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
LonerD
Joined: 04 Jan 2011 Posts: 1168 Location: Донецк
|
(Separately) Posted: Thu Sep 01, 2011 16:52 Post subject: |
|
|
sa
Спасибо, тоже выход, хотя неуниверсальный.
Avada
Мда... жаль (
Похоже, остаётся только вариант реализации на AutoIt - например, резидентная программа, которая в текстовом курсоре при нажатии средней кнопки (или длительном удержании левой кнопки) мыши будет эмулировать нажатие на Enter. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Thu Sep 01, 2011 17:55 Post subject: |
|
|
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 |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10264 Location: Россия, Саратов
|
(Separately) Posted: Thu Sep 29, 2011 09:44 Post subject: |
|
|
Уточнение моего предыдущего поста. Заставить работать команду cm_Return для сохранения результатов переименования можно, но только её клавиатурным вызовом. Если повесить команду на кнопку, будет открытие/запуск объекта с прежним именем. (На ру-борде Rodny правильно сказал, что причина в уводе фокуса с поля ввода на кнопку.) _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Thu Sep 29, 2011 10:11 Post subject: |
|
|
Можно попросить Гислера добавить ключ в wincmd.ini, который будет менять реакцию на нажатие мышки вне поля переименования: либо это отказ от изменений (ESC), как сейчас, либо сохранение изменений (ENTER), как в проводнике. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Thu Sep 29, 2011 10:14 Post subject: |
|
|
Думаю, вряд ли он пойдет на добавление флага, так кардинально меняющего поведение. Это может чересчур сильно контузить, если сделаешь неосторожное действие.
Думаю, максимум, на что он пойдёт - на добавление сообщения с вопросом при щелчке вне поля переименования. Тут хотя бы нежелательных переименований не будет происходить оттого, что флаг оказался не в том положении. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10264 Location: Россия, Саратов
|
(Separately) Posted: Thu Sep 29, 2011 10:15 Post subject: |
|
|
sa
Это правильно. Но и в отношении TWinKey мы тут кое-что с автором, пожалуй, обсудим...
MVV
Как насчёт зарепортить пусть даже только в своём варианте? _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Thu Sep 29, 2011 10:30 Post subject: |
|
|
MVV wrote: | Это может чересчур сильно контузить, если сделаешь неосторожное действие. |
Например, удаление в корзину или окончательно, в зависимости от настроек, может контузить тоже ощутимо. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Thu Sep 29, 2011 10:34 Post subject: |
|
|
sa wrote: | MVV wrote: | Это может чересчур сильно контузить, если сделаешь неосторожное действие. |
Например, удаление в корзину или окончательно, в зависимости от настроек, может контузить тоже ощутимо. |
Но при удалении в тотале всегда задается вопрос. И это поведение не менялось добрый десяток лет.
А в данном случае человека может конкретно смутить то, что он, щелкнув мышью, чтобы отменить переименование, наоборот выполнит его. К таким вещам, насколько я успел заметить, Гислер очень серьезно относится.
Avada wrote: | Как насчёт зарепортить пусть даже только в своём варианте? |
Теоретически возможно. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
sa
Joined: 29 Apr 2009 Posts: 2571
|
(Separately) Posted: Thu Sep 29, 2011 10:44 Post subject: |
|
|
MVV wrote: | А в данном случае человека может конкретно смутить то, что он, щелкнув мышью, чтобы отменить переименование, наоборот выполнит его. |
Естественно, по умолчанию должен остаться устоявшийся вариант, а для перехода на новый потребуются определённые манипуляции. |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Thu Sep 29, 2011 12:29 Post subject: |
|
|
sa wrote: | Естественно, по умолчанию должен остаться устоявшийся вариант, а для перехода на новый потребуются определённые манипуляции. |
Если бы не туча сборок, авторы которых плевали на умолчания… _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
Моторокер
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Sun Oct 02, 2011 21:50 Post subject: |
|
|
sa wrote: | Можно попросить Гислера добавить ключ в wincmd.ini, который будет менять реакцию на нажатие мышки вне поля переименования: либо это отказ от изменений (ESC), как сейчас, либо сохранение изменений (ENTER), как в проводнике. |
Есть ещё третий вариант - оставаться в режиме редактирования. А то при случайном щелчке или потере фокуса (всплывающее окно) можно случайно переименовать файл.
Можно добавить маленькую кнопку рядом или внутри поля редактирования.
Quote: | Думаю, максимум, на что он пойдёт - на добавление сообщения с вопросом при щелчке вне поля переименования. |
Только не это. Если и показывать кнопку сохранения/отмены, то сразу. Если ещё их и подсветить дефолтно, тогда наглядно будет видна последующая реакция Тотала на щелчок вне поля, тогда будет меньше путаницы. _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
|
|
|
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
|