[Autoit] Редактор комментариев descript.ion

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
yozhik
Сообщения: 353
Зарегистрирован: Вс май 04, 2014 20:34
Откуда: Электросталь

Сообщение yozhik »

Loopback
Запрос хотелок.

1) Вот было бы хорошо, если бы была возможность копировать в комментарии имена файлов. Я и раньше об этом думал, но в быту не сталкивался с необходимостью. А тут накачал книжек с gen.lib.rus.ec, и у каждого файла в имени полное библиографическое описание. Подозреваю, что это не единичный случай, а скорее всего многие так именуют свои собрания. Это значит, что функция filenames2comments вполне пригодилась бы.

2) Вот было бы хорошо, если бы у кнопок "Neighbour" и "F2 OK" были бы всплывающие подсказки с их shortcut' ами (Ctrl+W и Ctrl+S). А у комбобокса со списком загруженных файлов была б всплывающая подсказка с его shortcut' ами. Ну, или как вариант, или как альтернатива простой MsgBox, вызываемый по F1, с подсказками всех горячих клавиш.

Если есть согласие и время, может сделаете? :)
Аватара пользователя
yozhik
Сообщения: 353
Зарегистрирован: Вс май 04, 2014 20:34
Откуда: Электросталь

Сообщение yozhik »

И ещё одна очень умная мысль меня посетила. :D
Знаю, что люди бывают «мышисты», а бывают «клавишники». Я из второй категории. У сочетания Ctrl+W, закреплённого за кнопкой Neighbour, есть логика, и если я её правильно понял, то W это Window, т.е. «вызываем доп. окошко». Но в большинстве программ за этим сочетанием как правило закрепляется функция закрытия окна или вкладки. Я, например, настолько к этому привык, до автоматизма: Ctrl+W всегда закрывает, а не открывает. И тут, подзабыв, какое сочетание у Neighbour, стал в уме перебирать возможные логические варианты, ничего не подошло, полез в справку, вижу Ctrl+W. Ну, думаю, уж на это точно никогда бы не подумал.

С другой стороны, вызов функций или окошек специальных вставок (а ведь Neighbour и есть по сути спец. вставка) в программах обычно происходит по Ctrl+Shift+V (в Adobe Photoshop, InDesign, например) или по Ctrl+Alt+V (в Microsoft Word, Excel). Так и запоминается лучше: Ctrl+V — вставка обычная, а Ctrl+V+другой_модификатор — вставка дополнительная, специальная. Так может и в вашей утилите можно так сделать? Это, мне кажется, было бы и логичней, и клавишникам привычней. Или поменять, или добавить доп.-шоткатом.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

yozhik писал(а): Вот было бы хорошо, если бы была возможность копировать в комментарии имена файлов.
Давно уже есть мысль добавить возможность вставки информации из wdx-плагинов, тогда бы автоматом и имя было (через встроенный плагин "tc"). Но нужно найти: 1 - время, 2 - место в интерфейсе, куда можно безболезненно добавить кнопку, да и в целом продумать, как это все лучше реализовать.
yozhik писал(а):если бы у кнопок "Neighbour" и "F2 OK" были бы всплывающие подсказки с их shortcut' ами (Ctrl+W и Ctrl+S)
Легко, но как бы они не стали мешать в работе (уже попробовал). Возможно и правда лучше отдельное окошко с мини-справкой, либо кнопка "?" в заголовке, ныне почти забытый метод справки.

По клавишам. Да, соглашусь, что комбинации надо бы выбирать более осмысленно. Если считать функцию вставки соседа как одну из функций вставки, то наверно можно. В конце-концов можно и настраиваемые сделать, но придется вводить ini-файл, чего хотелось избежать.
Аватара пользователя
imig73
Сообщения: 285
Зарегистрирован: Вт июн 18, 2013 13:21
Откуда: г. Иркутск

Сообщение imig73 »

Loopback писал(а):но придется вводить ini-файл, чего хотелось избежать
Ну почему так? Ради благого дела можно бы и поступиться, а ещё пользователю может быть удобно править ini для чего то.

Давно слежу за темой тут. Вообще замечательный и удобный скрипт, спасибо. А в последней версии иконка просто супер.
Аватара пользователя
yozhik
Сообщения: 353
Зарегистрирован: Вс май 04, 2014 20:34
Откуда: Электросталь

Сообщение yozhik »

Loopback писал(а):возможность вставки информации из wdx-плагинов
Ну, это было бы вообще шикарно. Только ждать дольше, пока готово будет. :)
Loopback писал(а):2 - место в интерфейсе, куда можно безболезненно добавить кнопку
Кнопку обязательно именно добавлять? А если переименовать существующую Neighbour в Paste (Вставка), а в открывающемся окне сделать выбор во вкладках чего вставлять? Вкладка Neighbour, вкладка Plugins. Переключаться между ними по Ctrl+Tab. Если согласиться на ini, то запоминать в нём последнюю открытую. Правда, мышью будет открываться вкладка только последняя или первая (если без ini), зато с клавиатуры можно будет разными шоткатами открывать напрямую ту вкладку, которая нужна. В общем, у меня такой вариант в голове нарисовался. Но, кажется, он не такой уж и фантастический, функции вкладок то в автоитовском GUI уже есть.
Loopback писал(а):1 - время
Это да, тут уж ничего не предложишь. Жили бы рядом, я бы предложил в магазин за продуктами для вас ходить. :)
Loopback писал(а):придется вводить ini-файл, чего хотелось избежать
А есть уже файл переводов lng. Можно было бы всё привести к общему знаменателю: сделать единый ini, а переводы убрать внутрь него, в секции. И переключатель в ini тогда можно было бы сделать на нужный язык. Вообще, идея настраиваемых шоткатов в ini мне очень нравится. А справочную подсказу для доп-окошка тогда тоже можно было бы оттуда считывать.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

imig73 писал(а):Ну почему так? Ради благого дела можно бы и поступиться, а ещё пользователю может быть удобно править ini для чего то.
Просто изначально хотелось чтобы утилита была максимально простой, но видимо после определенного уровня это невозможно. В предыдущем изменении для кодировок добавилось уже столько ключей командной строки, что при дальнейшем усложнении держаться за эту схему, наверно, нет смысла.
yozhik писал(а):Только ждать дольше, пока готово будет.
Это да, но делать половинчатые решения вроде тоже смысла нет.
yozhik писал(а): А если переименовать существующую Neighbour в Paste (Вставка), а в открывающемся окне сделать выбор во вкладках чего вставлять?
Да, на эту кнопку я уже покушался, только думал из нее тоже меню сделать. Но возможно с вкладками будет лучше.
yozhik писал(а):А есть уже файл переводов lng. Можно было бы всё привести к общему знаменателю: сделать единый ini, а переводы убрать внутрь него, в секции.
Нет, ну объединять конфигурацию и языки точно не стоит.
yozhik писал(а):Вообще, идея настраиваемых шоткатов в ini мне очень нравится.
Если сделать ini, то ничего невозможного тут уже нет. Но если будет, то эта настройка только ручной правкой ini, городить под это интерфейс совсем не интересно.
Аватара пользователя
yozhik
Сообщения: 353
Зарегистрирован: Вс май 04, 2014 20:34
Откуда: Электросталь

Сообщение yozhik »

Loopback писал(а):только ручной правкой ini, городить под это интерфейс совсем не интересно
А интерфейс совершенно и не нужен, на мой взгляд. Пользователь, который додумался найти и установить TCMCE, способен без малейших затруднений отредактировать вручную ini. А тот, у кого ручная правка ini способна вызвать затруднения, вряд ли вообще будет пользоваться даже встроенной функцией комментариев, не говоря уже о сторонней утилите.

Иконка у утилиты хороша, но может более подходяще будет родную тоталовскую подгрузить?

Код: Выделить всё

GUISetIcon(EnvGet("COMMANDER_PATH") & "\WCMICONS.DLL", 29, $hGUI)
...
GUISetIcon(EnvGet("COMMANDER_PATH") & "\WCMICONS.DLL", 29, $hOtherGUI)
Изображение

Правда, кто-то может другую библиотеку использовать, например, wcmicon2.dll или wciconex.dll... Но можно было бы тогда проверять значение ключа DefaultLib в wincmd.ini. Правда, кто-то может у себя сделать редирект этой секции в другой файл... Но можно было бы тогда вынести имя библиотеки и индекс иконки в ini утилиты. В общем, на ваше усмотрение.
Аватара пользователя
imig73
Сообщения: 285
Зарегистрирован: Вт июн 18, 2013 13:21
Откуда: г. Иркутск

Сообщение imig73 »

yozhik
По мне так возня с иконками в сабж совсем лишнее, сейчас новая иконка замечательна и хорошо вписалась, а встроенные приедаются за годы.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

yozhik писал(а):Иконка у утилиты хороша, но может более подходяще будет родную тоталовскую подгрузить?
Соглашусь с imig73, должна же как-то иконка отличаться от стандартной. Если уж она кому-то совсем не понравится, тот всегда может поменять ее в ресурсах экзешника или исходник скомпилировать.
yozhik писал(а):Правда, кто-то может другую библиотеку использовать,
Вот именно. Я, например, wciconex использую. К тому же в кастомной библиотеке может быть другой индекс нужной иконки, т.е. надо тогда еще связанный *.inc проверять. Не то чтобы это всё сложно, но мне кажется это менее надежно и лучше не привязываться к внешним ресурсам.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Бета-версия

+ добавлена поддержка вставки данных из wdx-плагинов
+ добавлена поддержка шаблонов с быстрой вставкой
+ добавлен ini-файл для конфигурации
+ добавлена мини-справка по горячим клавишам
- исправлено появление лишнего пустого комментария в списке соседних

Написано и переписано очень много чего, баги весьма возможны. Особенно прошу обратить внимание на работу горячих клавиш, они сейчас переделаны: когда-то давно я столкнулся с неработоспособностью акселераторов при запуске с русской раскладкой клавиатуры и, недолго думая, прикрутил стороннюю библиотеку, в то время как у проблемы есть решение, стоило лишь чуть глубже копнуть тему.

Редактор теперь может использовать данные из wdx-плагинов, установленных в TC. В качестве макросов используется такой же формат, как в TC: [=plugin.column.unit]. Набор из макросов и текста можно сохранить как шаблон и потом быстро его вставлять.

По поводу получения пути и прочего из плагина "tc" я несколько погорячился, т.к. этот плагин виртуальный и недоступен извне. Пришлось делать такой же виртуальный аналог :)

В свете появления ini, способ с ключами командной строки можно считать устаревшим, но для совместимости он останется, при этом ключи командной строки имеют приоритет над соответствующими ключами в ini.

Насчет настраиваемых в ini хоткеев все же не уверен, стоит ли их вообще делать для небольшой утилиты с несколькими хоткеями. Возможно, лучше в процессе бета-тестирования определиться с удобными вариантами. Тем более что настраиваемость некоторых хоткеев (например, вставка шаблонов) будет трудновато реализовать.
Аватара пользователя
yozhik
Сообщения: 353
Зарегистрирован: Вс май 04, 2014 20:34
Откуда: Электросталь

Сообщение yozhik »

Loopback
Ох, даже не запустилась :? :

Код: Выделить всё

Line 531  (File "C:\totalcmd\Profile\tools\TCMCE\tc_multi_comment_edit.exe"):
Error: Variable used without being declared.
Аватара пользователя
imig73
Сообщения: 285
Зарегистрирован: Вт июн 18, 2013 13:21
Откуда: г. Иркутск

Сообщение imig73 »

Loopback
И у меня не запустилась с такой же ошибкой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Это называется: работает - не трогай :D В последний момент решил немного оптимизировать главную библиотеку и вот накосячил. Буду теперь дополнительно проверять на чистой установке тотала.

Бета-версия 2021-08-18

Относительно вчерашней версии сделал достаточно болезненный, но необходимый рефакторинг кода, плюс избавился от пары тяжеловесных стандартных библиотек. Так что возможно косяков стало еще больше, а может все-таки меньше.
Аватара пользователя
yozhik
Сообщения: 353
Зарегистрирован: Вс май 04, 2014 20:34
Откуда: Электросталь

Сообщение yozhik »

Loopback
Ура, запустилось. Всё очень красиво. ))

Я по косякам, прошу пардону, буду отчитываться по порядку выявления. Т.е. не буду дожидаться, пока соберутся несколько, и отправлять партиями. Если так не годится, то скажите как надо, исправимся.

Косяк № 1. На вкладке Plugins пункты выпадающего списка не отсортированы по алфавиту. Хорошо бы отсортировать, а то искать долго.

Косяк № 2. На вкладке Plugins выпадающий список содержит только 30 пунктов. Если плагинов больше 30, и если выбрать какой-нибудь плагин ближе к концу списка, то при следующем обращении к этому списку опять отобразится только 30 плагинов и (!) те плагины, которые были в самом начале списка не отобразятся. Помогает только перезапуск утилиты.

Хотелка № 1. И сразу хотелка. Хорошо бы в ini добавить ключ со списком плагинов (через запятую, например), которые не надо отображать в выпадающем списке. Этакий игнорлист. Например, плагин autorun или TWinKey — они полезной инфы для комментариев не предоставляют.

Добавлено спустя 49 минут:

Косяк № 3. В главном окне при использовании Alt+стрелки вверх/вниз (т.е. при перемещении по выпадающему списку файлов) в поле редактирования не отображается комментарий текущего файла. При выборе файла из списка мышью ком-й отображается. В предыдущей версии утилиты ком-й отображался в обоих режимах.

Добавлено спустя 10 минут:

Хотелка № 2. Во вкладке Neighbour, если ком-й длинный, то он не умещается в поле вкладки, и просмотреть его полностью невозможно. Хорошо бы или сделать полосы прокрутки в этом окне или (если полосы не сделать) отображать текст полного комментария во всплывающей подсказке.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

yozhik писал(а):Я по косякам, прошу пардону, буду отчитываться по порядку выявления.
Без проблем, как будет удобно.
yozhik писал(а):Хорошо бы отсортировать, а то искать долго.
Ок.
yozhik писал(а):На вкладке Plugins выпадающий список содержит только 30 пунктов.
Ага, забыл стиль вертикального скроллера, у меня плагинов только 21, все помещались.
yozhik писал(а):В главном окне при использовании Alt+стрелки вверх/вниз (т.е. при перемещении по выпадающему списку файлов) в поле редактирования не отображается комментарий текущего файла.
Да, подтверждаю. Как раз косяк, порожденный вчерашними переделками.
yozhik писал(а): Хорошо бы в ini добавить ключ со списком плагинов (через запятую, например), которые не надо отображать
Полезно, добавлю.
yozhik писал(а):Во вкладке Neighbour, если ком-й длинный, то он не умещается в поле вкладки
Думал насчет такого для списка шаблонов. Я не очень люблю горизонтальные скроллеры, но посмотрим что лучше.
Ответить