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

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

Переход к папкам по щелчку на заголовке панели

Post by buniak_a_h »

Latest post of the previous page:

HaRT wrote: Wed 02 Oct, 2019 23:23
buniak_a_h wrote: Wed 02 Oct, 2019 23:08 там нет пробела перед буквой диска...
Вообще-то теперь есть:
buniak_a_h wrote: Wed 02 Oct, 2019 12:18 Пришлось с этим побороться... В частности, "разнести" кнопки от редактора.
:)
Я писал, что имеется какая-то странность: при клике на первый символ EDIT-а в обработчик передаётся, что был клик по кнопке слева. Я не проверял, но думаю - тут будет тоже самое.
Можно, конечно, в текст добавить пробел. Просто потянет много пересчётов. Я уже даже делал так, но плюнкл. Решил - овчАРКА выделки не стоит...
User avatar
HaRT
Moderator
Posts: 9596
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

Переход к папкам по щелчку на заголовке панели

Post by HaRT »

buniak_a_h wrote: Wed 02 Oct, 2019 23:44 Я попробовал откорректировать menuFlags из ScriptsBrowser. Изменение действовало до перезагрузки макросов.
Ну я же написал: оно не для того, чтобы редактировать, а наоборот, для того, чтобы каждый раз при обновлении НЕ редактировать. Ну прочитайте же про cfgscript в шапке темы про ScriptBrowser.
 ! Message from: John Doe
Продолжаем там
buniak_a_h wrote: Wed 02 Oct, 2019 23:58 имеется какая-то странность: при клике на первый символ EDIT-а в обработчик передаётся, что был клик по кнопке слева
Думаю, что это удастся со временем победить, т.ч. не стоит на это поведение закладываться.
Last edited by John Doe on Thu 03 Oct, 2019 10:10, edited 1 time in total.
Фар есть инструмент, а не нянька. © 2009 DrKnS
buniak_a_h
Posts: 2126
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

Переход к папкам по щелчку на заголовке панели

Post by buniak_a_h »

Опубликовал версию 1.0.9, практически полностью написанную уже HaRT-ом. От себя доделал для единообразия «диалоговый» режим: клик левее буквы - выбор диска; на букве и двоеточии - переход в корень. Ну, т.е. как в lite-режиме.
User avatar
HaRT
Moderator
Posts: 9596
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

Переход к папкам по щелчку на заголовке панели

Post by HaRT »

«Остапа несло.»
Last edited by HaRT on Thu 03 Oct, 2019 19:21, edited 1 time in total.
Reason: Исправлено позиционирование в меню при щелчке на последнем разделителе
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 12895
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 296 times

Переход к папкам по щелчку на заголовке панели

Post by John Doe »

Рекомендую сходить по ссылке semver.
Yegor
Posts: 1092
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 15 times
Been thanked: 26 times

Переход к папкам по щелчку на заголовке панели

Post by Yegor »

Feature request:
После нажатия ПКМ в блоке редактирования, есть возможность двигать курсор стрелками, хотелось бы чтобы работал и Enter (как ЛКМ).

Мечты: В идеале, чтобы курсор двигался не посимвольно, а между объектами пути (папка -> \ -> c: -> ' ')
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
buniak_a_h
Posts: 2126
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

Переход к папкам по щелчку на заголовке панели

Post by buniak_a_h »

Yegor wrote: Thu 03 Oct, 2019 20:00 После нажатия ПКМ в блоке редактирования, есть возможность двигать курсор стрелками, хотелось бы чтобы работал и Enter (как ЛКМ).
Вообще-то у меня работал... Испортилось, что ли? Ой, точно испортилось...
Last edited by buniak_a_h on Thu 03 Oct, 2019 20:44, edited 1 time in total.
User avatar
HaRT
Moderator
Posts: 9596
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

Переход к папкам по щелчку на заголовке панели

Post by HaRT »

buniak_a_h wrote: Thu 03 Oct, 2019 20:43 Вообще-то у меня работал...
Задокументировать бы…
А насчёт перемещения в диалоговом режиме у меня есть свои соображения, но обсуждать их сегодня я уже не могу.
buniak_a_h wrote: Thu 03 Oct, 2019 15:59 т.е. как в lite-режиме
Предлагаю назвать его «непосредственным» режимом.

(Не)кстати, выше нам намекнули, что мы неправильно используем semver…
Фар есть инструмент, а не нянька. © 2009 DrKnS
buniak_a_h
Posts: 2126
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

Переход к папкам по щелчку на заголовке панели

Post by buniak_a_h »

HaRT wrote: Thu 03 Oct, 2019 20:52 А насчёт перемещения в диалоговом режиме у меня есть свои соображения, но обсуждать их сегодня я уже не могу.
На самом деле "ловля" позиции по Enter-у или по клику сделана пер-анально. Если сразу после клика пытаться запросить, то получаю позицию, которая была ДО клика. Если повесить на DN_ENTERIDLE, то перед действием заметна конкретная задержка в пол-секунды. Вот повесил на DN_DRAWDLGITEMDONE. Но забыл, что по ENTER-у поле не перерисовывается. Если сразу скажете, как надо - переделаю. Иначе ещё поэкспериментирую...
Yegor, забыл написать... Начинает работать, если после строки Need = 1 вставить if Param2.EventType == F.KEY_EVENT then hDlg:send("DM_REDRAW") end
Last edited by buniak_a_h on Thu 03 Oct, 2019 21:06, edited 1 time in total.
buniak_a_h
Posts: 2126
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: Thu 03 Oct, 2019 20:52 (Не)кстати, выше нам намекнули, что мы неправильно используем semver…
Из той классификации, что на сайте semver, я не понял, к чему относятся исправления ошибок. Они явно обратно совместимые (т.к. нет сохранения настроек, то версии вообще независимы). Из "добавленного функционала" вспоминается два: я добавил "диалоговый" режим (на самом деле он у меня был всегда, просто в первых двух версиях не публиковал, т.к. не проверено было) и список окон-задач, которые добавили Вы. Стоит ли огород городить?
Мы, получается, идем в одной струе с основным ФАРом: он уже давно имеет версию 3.0.┉. Хотя там за это время не только добавлялись новые возможности, но даже производились обратно-несовместимые изменения... Предлагаю оставить нумерацию "простейшей" - просто увеличивать номер. Тем более, что проект, на мой взгляд, приближается к финишу (версию HaRT-а 1.0.10 ещё не смотрел...
buniak_a_h
Posts: 2126
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

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

Post by buniak_a_h »

Предлагаю несколько исправленный, дополненный («расширенный и углубленный» ©Горбачёв) вариант скрипта. Основное, что прошу оценить (на предмет полезности включения в функционал) - это зацикленность меню выбора каталога: если выбрали, то после перехода на выбранный можно перейти на следующий уровень вложенности. Кроме того, в этом случае я предлагаю добавлять в список перехода «..» для выхода на уровень выше.
Last edited by buniak_a_h on Fri 04 Oct, 2019 15:05, edited 6 times in total.
buniak_a_h
Posts: 2126
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

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

Post by buniak_a_h »

Yegor wrote: Thu 03 Oct, 2019 20:00 Мечты: В идеале, чтобы курсор двигался не посимвольно, а между объектами пути (папка -> \ -> c: -> ' ')
Для этого есть Ctrl+стрелки... Да и на слэш (для вывода списка вложенных папок) так будет не попасть.
Правда, я сделал выбор по Ctrl+Down, так что этот аргумент стал неактуален...
User avatar
John Doe
Бюрократ
Posts: 12895
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 296 times

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

Post by John Doe »

buniak_a_h wrote: Thu 03 Oct, 2019 21:26 Из той классификации, что на сайте semver, я не понял, к чему относятся исправления ошибок.

Code: Select all

Учитывая номер версии МАЖОРНАЯ.МИНОРНАЯ.ПАТЧ, следует увеличивать:

МАЖОРНУЮ версию, когда сделаны обратно несовместимые изменения API.
МИНОРНУЮ версию, когда вы добавляете новую функциональность, не нарушая обратной совместимости.
ПАТЧ-версию, когда вы делаете обратно совместимые исправления.
Дополнительные обозначения для предрелизных и билд-метаданных возможны как дополнения к МАЖОРНАЯ.МИНОРНАЯ.ПАТЧ формату.
Перевожу:
- При изменении функциональности чаще всего используется второй компонент версии.
- Третий компонент нужен только в том случае, если нет других изменений кроме исправления ошибок.
buniak_a_h wrote: Thu 03 Oct, 2019 21:26 Мы, получается, идем в одной струе с основным ФАРом: он уже давно имеет версию 3.0.┉.
Фар не придерживается semver.
buniak_a_h
Posts: 2126
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

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

Post by buniak_a_h »

John Doe wrote: Fri 04 Oct, 2019 09:38

Фар не придерживается semver.

Да я уж догадался. И мы не придерживались поначалу. Так стоит ли теперь начинать? И что делать с уже записанными "неправильными" версиями?
Вообще проект на стадии разработки (т.е. новые фичи появляются практически в каждой версии; по терминологии FAR-а ещё нет ни одной стабильной версии), я опубликовал скрипт в качестве идеи (для обсуждения) и не ожидал, что он заживёт и начнёт развиваться. Поэтому единственные два требования к номеру версии у меня были - уникальность и возрастание. Слова про "первую опубликованную" версию - не мои, я писал просто "стартовый вариант".
А ссылка на сайт попадает в скрипт при вызове (по-моему, Вашего же) макроса ScriptsBrowser\InsertInfo.lua.
Регистратору (regscript) соблюдение правил semver важно?
На самом деле по этой системе у меня много вопросов. Как соберу все - задам в соответствующей теме (пока Вы меня снова не забанили за оффтопик)

User avatar
John Doe
Бюрократ
Posts: 12895
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 296 times

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

Post by John Doe »

buniak_a_h wrote: Sun 29 Sep, 2019 07:51 Начиная с этой версии я перестал выкладывать текст скрипта в сообщении (уж больно трудоёмко стало, т.к. он вырос).
При желании есть удобный способ: viewtopic.php?f=10&t=11408
Ещё пример: viewtopic.php?p=152633#p152633 (кнопка с цитатой покажет исходник сообщения).

А вообще причешите шапку и перенесём в подфорум готовых макросов.

По стилю есть пожелания:
User avatar
HaRT
Moderator
Posts: 9596
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 114 times
Been thanked: 233 times

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

Post by HaRT »

buniak_a_h wrote: Fri 04 Oct, 2019 02:30 прошу оценить (на предмет полезности включения в функционал) - это зацикленность меню выбора каталога: если выбрали, то после перехода на выбранный можно перейти на следующий уровень вложенности.
Что-то я не понимаю, какую задачу решают предлагаемые изменения. Не могли бы вы написать словами предполагаемый сценарий использования? И чем список директорий в виде меню лучше списка директорий на панели (за исключением тех редких случаев, когда директории не сгруппированы в начале)?
Last edited by HaRT on Fri 04 Oct, 2019 11:11, edited 1 time in total.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

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