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

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

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

Post by buniak_a_h » Sun 29 Sep, 2019 07:51

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

Начиная с этой версии я перестал выкладывать текст скрипта в сообщении (уж больно трудоёмко стало, т.к. он вырос). Тем более что “Select all” на сайте опять перестал работать. Теперь только во вложении в виде 7z-архива.


Вместе с файлом самого скрипта поставляются языковые файлы ClickToTitleDirRus.lng и ClickToTitleDirEng.lng и файл помощи ClickToTitleDirRus.hlf.

ClickToTitleDir-1.4.7.7z
(22.83 KiB) Downloaded 49 times
Last edited by HaRT on Wed 06 Nov, 2019 20:42, edited 62 times in total.

User avatar
zg
zero-gravity
Posts: 5648
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 112 times
Contact:

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

Post by zg » Fri 25 Oct, 2019 15:08

Latest post of the previous page:

добавит пустой макрос с максимальным приоритетом?

User avatar
HaRT
Moderator
Posts: 9151
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 174 times

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

Post by HaRT » Fri 25 Oct, 2019 16:44

buniak_a_h wrote:
Fri 25 Oct, 2019 14:35
Ладно, буду разбираться...
Заодно не могли бы вы удалить комментарий со словами «не пересчитать позицию мыши в позицию в редакторе» как не соответствующий действительности (см. DlgEditSetCaretFromMouse)?
Фар есть инструмент, а не нянька. © 2009 DrKnS

citRiks
Posts: 72
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 7 times
Been thanked: 3 times

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

Post by citRiks » Fri 25 Oct, 2019 18:32

buniak_a_h,
HaRT

Когда в именах папок попадаются точки, то перемещения в поле ввода на следующий / предыдущий каталог по CtrlRight и CtrlLeft излишне производятся в т.ч. и по этим точкам. При том, что перемещения кликами мышки по кнопкам ► и ◄ происходят нормально, т.е. без учёта точек в именах папок.

Ещё было бы удобно, чтобы по CtrlRight и CtrlLeft можно было бы переходить между вызванными выпадающими меню без необходимости выхода из них.

User avatar
HaRT
Moderator
Posts: 9151
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 174 times

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

Post by HaRT » Fri 25 Oct, 2019 18:50

citRiks wrote:
Fri 25 Oct, 2019 18:32
перемещения в поле ввода на следующий / предыдущий каталог по CtrlRight и CtrlLeft излишне производятся в т.ч. и по этим точкам. При том, что перемещения кликами мышки по кнопкам ► и ◄ происходят нормально
buniak_a_h, у меня есть кое-какие соображения, как сделать эти перемещения более удобными и интуитивными, но не хочется сейчас вас ими отвлекать. Это я к тому, что предлагаю эту логику не менять до дальнейшего обсуждения. (Обсудить смогу на следующей неделе.)
Фар есть инструмент, а не нянька. © 2009 DrKnS

buniak_a_h
Posts: 1230
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 68 times
Contact:

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

Post by buniak_a_h » Fri 25 Oct, 2019 19:02

citRiks wrote:
Fri 25 Oct, 2019 18:32
buniak_a_h,
HaRT

Когда в именах папок попадаются точки, то перемещения в поле ввода на следующий / предыдущий каталог по CtrlRight и CtrlLeft излишне производятся в т.ч. и по этим точкам. При том, что перемещения кликами мышки по кнопкам ► и ◄ происходят нормально, т.е. без учёта точек в именах папок.
Ну, на самом деле не только по точкам... По пробелам тоже. Это - стандартная функция перемещения внутри редактора. Можно, наверно, и переопределить. Но хотелось бы рекомендации:
я столкнулся с ситуацией, когда много вложенных папок с очень короткими именами. В результате путь был такой: F:\1\2\3\4\5\6\7\8\9\A\B\C\DПеремещаться кнопками было ну очень неудобно! Может, перемещать сразу на ширину поля редактирования (или, например, на 3/4 ширины) и в получившемся искать слэш? Просто "диалоговый" режим полезен только при длинных путях (когда начало не помещается в заголовок панели и усекается). А тогда "шагание" по слэшам не всегда удобно...
citRiks wrote:
Fri 25 Oct, 2019 18:32

Ещё было бы удобно, чтобы по CtrlRight и CtrlLeft можно было бы переходить между вызванными выпадающими меню без необходимости выхода из них.
Этакое "динамическое" дерево? Думал над этим. Но потом появились плагиновые панели, а в них я не знаю способа составить список вложенных папок без закрытия МЕНЮ и реального перехода на выбранную папку. Кроме того,
Last edited by buniak_a_h on Fri 25 Oct, 2019 19:02, edited 1 time in total.

buniak_a_h
Posts: 1230
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 68 times
Contact:

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

Post by buniak_a_h » Fri 25 Oct, 2019 19:17

zg wrote:
Fri 25 Oct, 2019 15:08
добавит пустой макрос с максимальным приоритетом?
:-) Попробовал я. Результат ожидаемый:
заблокированный макрос не вызывается - это хорошо. key перехватывается блокирующим (пустым) макросом и до обработчика всё равно не доходит - это плохо…

User avatar
HaRT
Moderator
Posts: 9151
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 174 times

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

Post by HaRT » Fri 25 Oct, 2019 19:20

buniak_a_h wrote:
Fri 25 Oct, 2019 19:02
Может, перемещать сразу на ширину поля редактирования (или, например, на 3/4 ширины) и в получившемся искать слэш? Просто "диалоговый" режим полезен только при длинных путях (когда начало не помещается в заголовок панели и усекается). А тогда "шагание" по слэшам не всегда удобно...
Вот подобный круг идей я и предлагаю обсудить (после исправления багов). Если коротко, на мой взгляд, будет удобнее, чтобы боковые кнопки осуществляли прокрутку текста, а не движение каретки в нём.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
zg
zero-gravity
Posts: 5648
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 112 times
Contact:

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

Post by zg » Fri 25 Oct, 2019 20:05

buniak_a_h wrote:
Fri 25 Oct, 2019 19:17
key перехватывается блокирующим (пустым) макросом и до обработчика всё равно не доходит - это плохо…
добавьте в обработчик вызов того, что вам нужно.

buniak_a_h
Posts: 1230
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 68 times
Contact:

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

Post by buniak_a_h » Fri 25 Oct, 2019 21:33

HaRT wrote:
Fri 25 Oct, 2019 19:20
на мой взгляд, будет удобнее, чтобы боковые кнопки осуществляли прокрутку текста, а не движение каретки в нём.
Согласен. Просто некогда было изучать тему "как это делается".

User avatar
HaRT
Moderator
Posts: 9151
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 174 times

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

Post by HaRT » Fri 25 Oct, 2019 21:43

buniak_a_h wrote:
Fri 25 Oct, 2019 21:33
Согласен. Просто некогда было изучать тему "как это делается".
Я изучил и использовал в ф-ии DlgEditSetCaretFromMouse. Вам понадобится DM_GETEDITPOSITION, DM_SETEDITPOSITION и EditorSetPosition.LeftPos.
Но лично я очень надеюсь на исправление отрапортованных ошибок до каких-то более серьёзных переделок в скрипте.
Фар есть инструмент, а не нянька. © 2009 DrKnS

buniak_a_h
Posts: 1230
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 68 times
Contact:

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

Post by buniak_a_h » Fri 25 Oct, 2019 23:42

HaRT, я в полном недоумении...
Я подобрал такую ширину панели (и, соответственно, диалога) при которой пустое место между DI_EDIT-ом и DI_BUTTON то есть, то нету.
Порядок действий:
1. Встаю в начало (клавишей Home), отмечаю всё содержимое поля Shift+End (это - для удобства, чтоб была видна граница поля), получаю такой снимок:

2. Делаю, казалось бы, тоже самое, но наоборот: встаю в конец (End, отмечаю всё поле Shift+Home, получаю такой снимок:

Такое впечатление, что при скроллировании последний символ вылезает за пределы DI_EDIT
Last edited by buniak_a_h on Sat 26 Oct, 2019 00:02, edited 1 time in total.

User avatar
HaRT
Moderator
Posts: 9151
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 174 times

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

Post by HaRT » Fri 25 Oct, 2019 23:49

buniak_a_h wrote:
Fri 25 Oct, 2019 23:42
Такое впечатление, что при скроллировании последний символ вылезает за пределы DI_EDIT-а
Скорее наоборот, при выделении от начала к концу первый символ уезжает за левую границу поля ввода. И всё потому, что в Фаре каретка всегда остаётся видимой — посредством соответствующей прокрутки текста. Пока не вижу никакого противоречия.
Фар есть инструмент, а не нянька. © 2009 DrKnS

buniak_a_h
Posts: 1230
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 68 times
Contact:

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

Post by buniak_a_h » Sat 26 Oct, 2019 00:10

HaRT wrote:
Fri 25 Oct, 2019 23:49
Скорее наоборот
Я там в описании в заголовке второго спойлера ошибся (скопипастил с первого). Исправил. Хотя технологию описал верно.
Итак.
При отметке от начала к концу ничего никуда не вылезает, всё нормально. Т.е. при прокрутке текста влево первый символ не уезжает за левую границу (за левую ничего никогда не уезжает). А вот при отметке от конца к началу последний видимый символ выводится правее поля ввода!
HaRT wrote:
Fri 25 Oct, 2019 23:49
не вижу никакого противоречия
Ну не знаю... По мне так если поле ограничено и его содержимое печатается за границей, это - противоречие.
Last edited by buniak_a_h on Sat 26 Oct, 2019 00:10, edited 1 time in total.

buniak_a_h
Posts: 1230
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 68 times
Contact:

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

Post by buniak_a_h » Sat 26 Oct, 2019 05:01

Опубликована версия 1.3.5 . Подробности тут

buniak_a_h
Posts: 1230
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 68 times
Contact:

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

Post by buniak_a_h » Sat 26 Oct, 2019 06:15

zg wrote:
Fri 25 Oct, 2019 15:08
добавит пустой макрос с максимальным приоритетом?
zg wrote:
Fri 25 Oct, 2019 20:05
добавьте в обработчик вызов того, что вам нужно.
Методом научного тыка я нашёл, как это сделать. НО! Не могли бы Вы подсказать, где искать описание CallBack-функции? У меня получилось, что при наличии CallBack-функции код, записанный в SequenceText, игнорируется (точнее, проверяется синтаксис. Пустую строку не принимает…). В CallBack-функцию передаются какие-то 2 параметра - не нашёл я описания. Короче, кроме описания синтаксиса вызова я ничего не нашёл. Где почитать?

User avatar
zg
zero-gravity
Posts: 5648
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 112 times
Contact:

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

Post by zg » Sat 26 Oct, 2019 10:52


User avatar
HaRT
Moderator
Posts: 9151
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 90 times
Been thanked: 174 times

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

Post by HaRT » Sat 26 Oct, 2019 14:53

buniak_a_h wrote:
Sat 26 Oct, 2019 05:01
Опубликована версия 1.3.5
Спасибо.
buniak_a_h wrote:
Sun 29 Sep, 2019 07:51
Исправлена ошибка, из-за которой клик на букве диска и двоеточии с Alt-ом вызывал переход в корень вместо вызова списка вложенных папок.
А кручение колёсика над ними же (п.2)?
Last edited by HaRT on Sat 26 Oct, 2019 14:56, edited 1 time in total.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Post Reply

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