ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Здесь обсуждается всё, что касается макросов.
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

Макрос навеян этим:
PieApple wrote: Thu 23 Jan, 2014 12:57 Еще хотел бы поделиться идеей, реализованной в Проводнике с Windows 7, Total Commander, что если нажать мышкой на имя папки в адресной строке сверху, то происходит переход вверх на эту папку.
На самом деле получилось прикольно и, возможно, полезно (если Вы любите настольных грызунов).
Суть:
Клик мышой на заголовке панели, содержащей имя папки, вызывает переход (как в проводнике). А если клик приходится на разделитель (бэкслэш), то предоставляется выбор, в какую папку перейти.
Первоначальный макрос сваян «на коленке» за полчасика, потому не судите строго. Если будут отзывы и замечания — попробую «докрутить».

Начиная с этой версии я перестал выкладывать текст скрипта в сообщении (уж больно трудоёмко стало, т.к. он вырос). Тем более что “Select all” на сайте опять перестал работать. Теперь только во вложении в виде 7z-архива.
Сведения о версии:
Версия 1.4.8.
  1. При входе в диалоговый режим предусмотрено гашение выделения текста (неудачная попытка была предпринята в версии 1.4.6).
  2. Стилистические правки в файлах помощи и языковом
  3. Перекомпонован диалог настройки таким образом, чтоб всё помещалось
  4. В настроечном диалоге реализована краткая контекстная подсказка (аналог Hint, но не всплывающая, а выводимая в «подвале» формы.
Версия 1.4.9.
  • Исправлена ошибка, приводившая к "блокировке" скрипта в случае клика по рамке панели вне заголовка (вне «чувствительной зоны»).
    (Блокировка - неработоспособность скрипта до перезагрузки макросов командой macro:load)
Версия 1.4.10.
  • Изменён алгоритм синтаксического разбора строки заголовка для корректной обработки времени, заданного в американском формате (2:10 AM) при клике по правой панели
ClickToTitleDir-1.4.10.7z
(23.92 KiB) Downloaded 26 times

Вместе с файлом самого скрипта поставляются языковые файлы ClickToTitleDirRus.lng и ClickToTitleDirEng.lng и файл помощи ClickToTitleDirRus.hlf.
Last edited by buniak_a_h on Mon 04 May, 2020 12:18, edited 65 times in total.
User avatar
HaRT
Moderator
Posts: 9600
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by HaRT »

Latest post of the previous page:

buniak_a_h wrote: Tue 22 Oct, 2019 23:03готово
Спасибо.
Небольшое обновление:

И ещё багрепорт: если в непосредственном режиме крутнуть колесо над диском (или двоеточием), то происходит переход, а не показ директорий в корне диска.
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

HaRT wrote: Wed 23 Oct, 2019 15:17 Небольшое обновление:
Где?
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

HaRT wrote: Wed 23 Oct, 2019 15:17 1. Доработан выбор языкового файла, когда для Справки используется другой язык (например, когда интерфейс Eng, а Справка — Rus).
Я, на самом деле, специально использовал язык Help. У меня как раз такая настройка (основной - английский, помощи - русский). Объясняется просто: чтоб в больших настройках и МЕНЮ не менять горячие клавиши. Но это существенно только при больших меню/диалогах. В данном случае горячие клавиши особого значения не имеют, а язык помощи обычно совпадает с родным языком юзера (по возможности). Поэтому мне было бы комфортнее, если б этот диалог был по-русски, независимо от FarLang... Хотя это и не вписывается в общую политику ФАРа.
HaRT wrote: Wed 23 Oct, 2019 15:17 При открытии диалога настроек фокус устанавливается не на первый попавшийся элемент, а на кнопку Отменить.
Почему именно Cancel, почему не самый первый? На самом деле в этом был бы смысл, если бы для Cancel-а не было бы хоткея. Но есть Esc. Ну, не знаю... Спорно.
User avatar
HaRT
Moderator
Posts: 9600
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by HaRT »

buniak_a_h wrote: Wed 23 Oct, 2019 15:29Где?
Там же. Просто была какая-то накладка с загрузкой вложения, но я исправил сразу же. (А также добавил багрепорт.)
buniak_a_h wrote: Wed 23 Oct, 2019 19:20 В данном случае горячие клавиши особого значения не имеют
Лично для меня всегда имеют, и язык по умолчанию в моей системе — английский.
buniak_a_h wrote: Wed 23 Oct, 2019 19:20 мне было бы комфортнее, если б этот диалог был по-русски, независимо от FarLang
Можно удалить ClickToTitleDirEng.lng и подложить ClickToTitleDirRus.lng.
buniak_a_h wrote: Wed 23 Oct, 2019 19:20 Почему именно Cancel, почему не самый первый?
Потому что конкретно в этом диалоге ставить фокус на «без рамки смысла не имеет вообще», а так можно нажать Cancel пробелом, что несколько легче, чем Esc (в случае если открыл настройки по ошибке и не хочешь ничего случайно изменить).
buniak_a_h wrote: Wed 23 Oct, 2019 19:20Спорно
Если найдёте более удачное начальное место для фокуса, я не возражаю.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Taciturn
Posts: 423
Joined: Thu 26 May, 2005 17:14
Location: Санкт-Петербург
Has thanked: 35 times
Been thanked: 12 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by Taciturn »

buniak_a_h, Alt+клик по букве диска и двоеточию всегда перебрасывает в корень, а не показывает список подкаталогов, как клик по первому «\». Нельзя ли исправить?
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

HaRT wrote: Wed 23 Oct, 2019 20:05 Там же. Просто была какая-то накладка с загрузкой вложения, но я исправил сразу же. (А также добавил багрепорт.)
У Вас какая-то хитрая настройка, в результате которой (а) не видно, что пост правился; (б) после исправления не приходит ни письмо на мыло, ни уведомление. Я на самом деле скачал давно. Отсюда и вопросы...
HaRT wrote: Wed 23 Oct, 2019 20:05 Можно удалить ClickToTitleDirEng.lng и подложить ClickToTitleDirRus.lng.
Ну, мне это было бы совсем неудобно. Я ж иногда сюда закачиваю...
HaRT wrote: Wed 23 Oct, 2019 20:05 ставить фокус на «без рамки» смысла не имеет вообще <…>нажать Cancel пробелом, что несколько легче, чем Esc (в случае если открыл настройки по ошибке и не хочешь ничего случайно изменить).
HaRT wrote: Wed 23 Oct, 2019 20:05 Если найдёте более удачное начальное место для фокуса, я не возражаю.
Можно фокус на первую Checked радио-кнопку. И пробел не испортит, и Enter, и Escape к изменению настроек не приведут. И волки сыты, и овцы целы.
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

Taciturn wrote: Wed 23 Oct, 2019 20:08 buniak_a_h, Alt+клик по букве диска и двоеточию всегда перебрасывает в корень, а не показывает список подкаталогов, как клик по первому «\». Нельзя ли исправить?
Да, это тот же баг (скорее, "особенность"), что указана здесь. Порядок анализа: сначала смотрю позицию, а потом уже чем вызван макрос. Уже исправляю...
Last edited by buniak_a_h on Wed 23 Oct, 2019 20:55, edited 1 time in total.
User avatar
HaRT
Moderator
Posts: 9600
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by HaRT »

buniak_a_h wrote: Wed 23 Oct, 2019 20:53 Я ж иногда сюда закачиваю...
Лично я, когда хочу предложить версию, формирую комплект файлов в отдельном месте — из предыдущей версии и файлов, изменённых мною в рабочей конфигурации.
buniak_a_h wrote: Wed 23 Oct, 2019 20:53 Можно фокус на первую Checked радио-кнопку. И пробел не испортит, и Enter, и Escape к изменению настроек не приведут.
Я не против.
buniak_a_h wrote: Wed 23 Oct, 2019 20:53для установки первоначального фокуса удобен флаг DIF_FOCUS
То-то я помню, что была какая-то такая возможность. Искал-искал, да не нашёл. Правда, для «первого выделенного» не поможет.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 9600
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by HaRT »

buniak_a_h wrote: Mon 14 Oct, 2019 22:52 в Cond очень не хочется определять ещё и горизонтальное условие. Хотя можно, конечно).
buniak_a_h wrote: Tue 22 Oct, 2019 22:40 обойтись без посылки клавиатурных последовательностей (очень я это дело не люблю!)
Если всё же внедрить горизонтальное условие на условие срабатывания ЛКМ (и, возможно, ПКМ и СКМ), то можно будет отказаться ещё и от посылки F9.
Фар есть инструмент, а не нянька. © 2009 DrKnS
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

HaRT wrote: Wed 23 Oct, 2019 21:04
buniak_a_h wrote: Mon 14 Oct, 2019 22:52 в Cond очень не хочется определять ещё и горизонтальное условие. Хотя можно, конечно).
buniak_a_h wrote: Tue 22 Oct, 2019 22:40 обойтись без посылки клавиатурных последовательностей (очень я это дело не люблю!)
Если всё же внедрить горизонтальное условие на условие срабатывания ЛКМ (и, возможно, ПКМ и СКМ), то можно будет отказаться ещё и от посылки F9.
Есть совершенно кошмарная (для меня) "особенность": вызов функции Keys (посылка клавиатурной последовательности) в части condition макроса вызывает
Я тут ничего не понимаю, но в результате мне не получить первую строку. Мне кто-то писал, что есть API консоли, но это для меня слишком длинный путь, овчинка выделки не стоит. Поэтому беру свои слова, что «можно определить горизонтальное условие», обратно.
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

HaRT wrote: Wed 23 Oct, 2019 15:17 Небольшое обновление:
Номер версии в самом lua-файле не поменяли.. Ну да всё равно - я серьёзную недоработку нашёл: оказывается, не все плагины (в частности, multiarc) не поддерживают panel.SetPanelDirectory Пришлось возвращать симуляцию переходов... Абыдно!
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

Версия 1.3.3:
  1. Исправлена ошибка, проявлявшаяся в том, что в некоторых плагиновых панелях (в частности, в MultiArc) не работал переход на каталог (не работает функция panel.SetPanelDirectory).
  2. Исправлена ошибка, в результате которой при клике с клавишей Alt и при вращении колёсика мыши над буквой диска вместо списка подкаталогов корневого каталога происходил переход в корневой каталог или вызывался диалог выбора диска. Также убран вызов верхнего меню ФАРа при вращении колёсика над верхней стороной рамки панели.
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by buniak_a_h »

HaRT wrote: Mon 21 Oct, 2019 22:42 У меня есть для вас сюрприз про «выпадающее меню по ПКМ на директории» (а заодно и по кручению колеса над компонентом пути) — кажется, я знаю, как это устроить. Но надеюсь прежде получить исправленную версию.
Ну, так и не расскажете?
User avatar
HaRT
Moderator
Posts: 9600
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by HaRT »

buniak_a_h wrote: Thu 24 Oct, 2019 03:55 так и не расскажете?
Расскажу, уже пишу код.

А пока маленький косметический изъян: если в заголовке панели усечённый путь, то при входе в диалоговый режим он смещается на один символ (на левой панели влево, на правой — в зависимости от того, показано ли главное меню). Некрасиво. :(

20:58 MSK
Хуже того, на левой панели или при постоянно показанном главном меню из-под диалога справа теперь торчит исходный текст заголовка панели.
Last edited by HaRT on Thu 24 Oct, 2019 18:58, edited 1 time in total.
Reason: Добавлены уточнения про главное меню
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 9600
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by HaRT »

buniak_a_h wrote: Thu 24 Oct, 2019 02:37 Исправлена ошибка, в результате которой при клике с клавишей Alt и при вращении колёсика мыши над буквой диска вместо списка подкаталогов корневого каталога происходил переход в корневой каталог или вызывался диалог выбора диска. Также убран вызов верхнего меню ФАРа при вращении колёсика над верхней стороной рамки панели.
Увы, это только в непосредственном режиме. В диалоговом же то нежелательное поведение остаётся.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 9600
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

ClickToTitleDir — переход к папкам по щелчку на заголовке панели (и др.)

Post by HaRT »

buniak_a_h wrote: Thu 24 Oct, 2019 03:55 расскажете?

На правую кнопку я нарочно не стал назначать меню выбора вложенного каталога, потому что оно уже делается колёсиком, а правую кнопку хочется иметь возможность впоследствии задействовать для открытия контекстного меню (если придумаем, как).
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

Return to “Обсуждение макросов”