Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[Autoit] Редактор комментариев descript.ion
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Sat Aug 21, 2021 00:33    Post subject: Reply with quote

yozhik
Ладно, расположение это в общем-то детали. Возможно слева она больше в глаза бросаться будет, т.к. важный элемент. Будем смотреть.

PS: Что самое-то смешное, баг с кодировками был и во всех предыдущих версиях, и за год его никто не заметил Smile
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 178

Post (Separately) Posted: Sat Aug 21, 2021 00:33    Post subject: Reply with quote

Loopback wrote:
Применить - и применяется всё что в редакторе, макросы при этом разворачиваются

Да, точно, вряд ли кому-то в голову придёт применять, не разворачивая при этом макросов. Это только в процессе теоретических штудий можно недодумать.
Loopback wrote:
"Replace macro"... нужно оставить в опциях... сохранение шаблона как раз тут неплохо разместится

А я по другому рассуждал: слева всё, что относится к диалогу Insert и полю редактирования; справа всё, что относится к действию сохранения, т.е. к тому, что происходит при нажатии на кнопку ОК.

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

Loopback wrote:
и за год его никто не заметил

А вот приполз грекоговорящий ёжик-армянин и сразу всё заметил. Very Happy
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Sun Aug 22, 2021 15:44    Post subject: Reply with quote

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

+ возможность сохранения активной страницы диалога вставки между запусками (ini)
* слегка переделана мини-справка (внутреннее изменение)
+ добавлено меню к кнопке ОК для дополнительных вариантов применения/сохранения
+ добавлена кнопка "мультиправка" для переключения режима мультиправки/одиночных комментариев
- исправлена кодировка при сохранении нового файла descript.ion с юникодным комментарием
+ центрирование диалогов относительно родительских окон
+ пользовательские плагины (не установленные в TC)

Стиль кнопки со стрелкой (split-button), оказывается, уже есть стандартно, но только в системах начиная с Vista. Так что пользователи XP, получается, в пролёте.

Что еще не очень хорошо, кнопка мультиправки в русской локализации неприлично широкая получается. Как бы это немного сократить. Думаю, как вариант, может быть на иконку вместо текста заменить.

В целом по логике работы всё равно получилось не то чтобы очень, но так хотя бы какая-то защита для правок индивидуальных комментариев.

Подробным документированием пока не занимаюсь, т.к. возможны еще изменения.
Back to top
View user's profile Send private message
imig73



Joined: 18 Jun 2013
Posts: 279
Location: г. Иркутск

Post (Separately) Posted: Sun Aug 22, 2021 18:27    Post subject: Reply with quote

Loopback
Это здорово и я даже не ожидал такого быстрого развития.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 178

Post (Separately) Posted: Mon Aug 23, 2021 01:04    Post subject: Reply with quote

Loopback wrote:
может быть на иконку вместо текста заменить

Я вот такие сварганил:

Сингл и Мульти. Годятся? Если что, вот svg и ico...
Back to top
View user's profile Send private message
imig73



Joined: 18 Jun 2013
Posts: 279
Location: г. Иркутск

Post (Separately) Posted: Mon Aug 23, 2021 07:16    Post subject: Reply with quote

yozhik
Да перестаньте вы про иконку шорох наводить. Сейчас иконка основная зачётная и больше для диалогов ничего не надо, иначе ещё одного раскрашенного монстра получим.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 178

Post (Separately) Posted: Mon Aug 23, 2021 12:24    Post subject: Reply with quote

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

Заметка клавишника: Во вкладке Template при перемещении по Tab фокус никогда не попадает в поле редактирования, бегает только по кнопкам. В других вкладках не так: там фокус переносится в редактуру при первом нажатии Tab. А в Templates сейчас, получается, в редактуру можно попасть только мышью. Было бы хорошо это понадстроить. Также было бы удобнее, если бы по Tab фокус сразу выделял первую строку в поле (сейчас Tab переносит фокус в поле, а чтобы выделить строку нужно ещё нажать стрелку вниз).

Вообще, если по большому, гамбургскому счёту, было бы очень здорово добавить, если бы после открытия вкладки фокус перемещался в поле редактирования (в Plugins на первый комбобокс) по нажатию стрелки вниз (я такое встречал во многих редакторах). Но это, конечно, шлифовка, не жизненноважное. И, конечно, только если не потребует больших трудозатрат.

Пока всё чётко работает: плагины, сохранение/несохранение вкладок, хоткеи. Вообще очень удобная утилита получается. Но я ещё не всё успел протестировать. Обязательно отчитаюсь, когда всё перепробую.

imig73
По сути дела: предложение об иконках я сделал в ответ на мысль Loopback поменять чекбокс с надписью на чекбокс с иконкой (в его посте об этом ясно написано). У этого чекбокса два состояния: Сингл и Мульти, поэтому и иконки две. Умолчательная на эту роль не годится, если только не сделать её бесцветной в состоянии Сингл, что тоже вариант. А чекбокс с надписью, действительно, получился слишком большим и выглядит неряшливо – это заметил не только я, но и Loopback. Так что наезжать только на меня по меньшей мере несправедливо, наезжайте уж тогда на нас обоих (хотя, может вы так и сделали, просто второе имя дипломатично умолчали). Но, если честно, я не вижу повода для волнений: иконки предлагаются, а не навязываются, да – да, нет – нет.

А в целом: проявление оформительского шовинизма – явление не редкое, к сожалению. Свойственно в основном технарям, но не всем. Авиаконструктор Туполев, когда сказал «Летают только красивые самолёты», неужели ошибся?! Конечно, внешний вид – дело второстепенное, но и не бесполезное. А жизненный опыт показывает, что за нетерпимостью к разговорам о внешнем виде часто скрывается элементарная примитивность мышления, а значит и невнимательность (верю и надеюсь, что к вам это не относится). В конце концов, как бы то ни было, простой вежливости в общении никто не отменял.

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

Loopback
У плагина AKFontInfo загружаются 20 с небольшим реальных строк и более 200 пустых. Вполне возможно, что это вина самого плагина, поскольку и ранее за ним замечались разные кривоватости. Но, может, стоит и Вам взглянуть, вдруг утилита что подшаманивает.

У плагина Expander2 помимо реальных строк Part1, Part2... Part32, загружаются ещё строки с минусовыми значениями Part-32, Part-31... Part-1. Может тоже стоит глянуть? Меня лично это явление не напрягает, можно проигнорировать, но вдруг там какой баг притаился.

В CustomPlugins раскрываются переменные в пути — ну, вообще, красота. Smile Тестирую дальше...

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

Ещё одну странность заметил: если по стрелке у split-button нажать несколько раз (я случайно нажал дважды и это обнаружил), то потом надо столько же раз нажать Esc (или столько же раз щёлкнуть в любом другом месте), чтобы меню закрылось. Посмотрел в EmEditor'е, где такие же кнопки используются — там такого нет, там повторный клик по стрелке закрывает открытое меню.

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

В режиме МУЛЬТИ и при выбранном МУЛЬТИ в комбобоксе команда Save в меню по стрелке не срабатывает. Вроде логично, но зачем она тогда активна в этом режиме?

Думал-думал, так и не понял смысл зависимости состояния MUTLI от команды Save. Если я сохраняю комментарий, это разве значит, что его уже не нужно защищать? Вдобавок ещё и переключение происходит «по-тихому», можно не заметить.

Честно говоря, пока не могу придумать, когда команда Save реально может понадобиться. Если действительно нужна, то хоткей Ctrl+S логичнее было бы присвоить ей, мне кажется.

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

Ай, отловил таки. Smile Воспроизводим:
1) В папке нет файла descript.ion (комментов нет).
2) Набираем комментарий к одному файлу, но сохраняем его командой Save, а не F2. Из диалога утилиты выходим по Esc.
3) descript.ion создаётся в ANSI, а не в UTF-8 как ожидалось и как прописано в настройках для новых descript.ion.

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

Косметика: При сохранении шаблона командой "Save text as template", MsgBox сообщает "Apply". Может лучше "Template saved."? Раньше было нормально, а теперь Apply у другой команды.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Mon Aug 23, 2021 15:09    Post subject: Reply with quote

yozhik wrote:
Годятся?

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

imig73 wrote:
Да перестаньте вы про иконку шорох наводить.

Уже ответили, это про другую иконку. Мне тоже не очень хотелось бы ее делать, лишний код ради пары значков, но очень уж широченная выходит текстовая кнопка.

yozhik wrote:
Заметка клавишника: Во вкладке Template при перемещении по Tab фокус никогда не попадает в поле редактирования ...
было бы здорово добавить, если бы после открытия вкладки фокус перемещался в поле редактирования (в Plugins на первый комбобокс) по нажатию стрелки вниз (я такое встречал во многих редакторах).

Ок, посмотрю.

yozhik wrote:
У плагина AKFontInfo загружаются 20 с небольшим реальных строк и более 200 пустых.

yozhik wrote:
У плагина Expander2 помимо реальных строк Part1, Part2... Part32, загружаются ещё строки с минусовыми значениями Part-32, Part-31... Part-1

Да, есть такое. Посмотрю, чей это баг, хотя если в TC они видны нормально, то наверно проблема с моей реализацией wdx-интерфейса.

yozhik wrote:
Ещё одну странность заметил: если по стрелке у split-button нажать несколько раз (я случайно нажал дважды и это обнаружил), то потом надо столько же раз нажать Esc (или столько же раз щёлкнуть в любом другом месте), чтобы меню закрылось. Посмотрел в EmEditor'е, где такие же кнопки используются — там такого нет, там повторный клик по стрелке закрывает открытое меню.

С трудом смог повторить, пришлось буквально раз десять быстро ткнуть, чтобы такое случилось, и убирается максимум со второго раза. Предположу что-то связанное с очередью сообщений в Autoit. Посмотрю, но не факт, что это получится исправить.

yozhik wrote:
В режиме МУЛЬТИ и при выбранном МУЛЬТИ в комбобоксе команда Save в меню по стрелке не срабатывает. Вроде логично, но зачем она тогда активна в этом режиме?

Почему не срабатывает, она сохраняет файл комментариев (без применения ), но если сохранять нечего, то ничего и не сохранит. Возможно, ее надо делать неактивной, если нет актуальных изменений (набор текста для мультирежима до применения не считается изменением файла). Либо совсем убрать, пока не знаю.

yozhik wrote:
Думал-думал, так и не понял смысл зависимости состояния MUTLI от команды Save. Если я сохраняю комментарий, это разве значит, что его уже не нужно защищать? Вдобавок ещё и переключение происходит «по-тихому», можно не заметить.

Да я вот тоже думал, пока это всё не очень логично.

yozhik wrote:
Честно говоря, пока не могу придумать, когда команда Save реально может понадобиться. Если действительно нужна, то хоткей Ctrl+S логичнее было бы присвоить ей, мне кажется.

Пока тоже думаю, не знаю. Менять этот хоткей уже точно не получится.

yozhik wrote:
Ай, отловил таки.

Ок, но пока неясно, останется ли вообще Save.

yozhik wrote:
Косметика: При сохранении шаблона командой "Save text as template", MsgBox сообщает "Apply". Может лучше "Template saved."?

Не успеваю уже за изменениями темы Smile
Раньше так и было, наверно неверная строка перевода берется.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 178

Post (Separately) Posted: Mon Aug 23, 2021 15:54    Post subject: Reply with quote

А я пока погонял ключи ком-строки: всё работает как часы. Уже не знаю, что ещё можно протестировать. Smile Только скромно напоминаю про ключ REMOVE – ключ удаления комментов в выделенных файлах, чтобы не забылся (мы говорили про такой).

Хотелка последняя (наверное). Если не очень трудозатратно, не могли бы добавить удаление предыдущего слова (т.е. слева от курсора) по Ctrl+Backspace в поле редактирования? Сейчас по этому хоткею вставляется символ 007F. Очень распространённый в редакторах хоткей, до автоматизма, поэтому и прошу: постоянно на нём попадаюсь, жму, а он не удаляет. Правда, в родном Гислеровском диалоге комментов он так же работает: вставляет 007F, но может можно в утилите этот момент улучшить.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 178

Post (Separately) Posted: Mon Aug 23, 2021 19:30    Post subject: Reply with quote

Loopback
Работал, работал, вдруг папку не могу удалить. Проверил кто держит, оказалось TCMCE повисла в памяти. Причём внешне ничего не заметил, всё стандартно открывалось/закрывалось. Из-за чего такое может быть? Просто глюк? Окна не видно, а в Диспетчере:

 !  Avada:
Картинка преобразована в ссылку (слишком широкая).
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Mon Aug 23, 2021 19:48    Post subject: Reply with quote

yozhik wrote:
Только скромно напоминаю про ключ REMOVE – ключ удаления комментов в выделенных файлах, чтобы не забылся (мы говорили про такой).

Я помню, но по размышлению не совсем уверен в правильности этой идеи.

Во-первых, утилита изначально для визуальной правки, а не для работы через комстроку. Сделать не так уж сложно, но это будет фактически отдельный, никак не связанный с остальным блок кода. Во-вторых, добавить только удаление не совсем логично. А почему тогда не добавление и замена? Да и интерфейс параметров здесь не слишком подходит для командной строки. В общем не очень уверен, тут как-то больше напрашивается отдельная утилита.

yozhik wrote:
Хотелка последняя (наверное). Если не очень трудозатратно, не могли бы добавить удаление предыдущего слова (т.е. слева от курсора) по Ctrl+Backspace в поле редактирования?

Да, в моем редакторе тоже используется. Пробежал по интернету, действительно, это уже де факто стандарт (ну еще бы, недавно эта комбинация была даже добавлена в Блокнот). Но стандартной реализации в поле редактирования, как я понимаю, нет, придется делать свою. Посмотрю.

yozhik wrote:
Проверил кто держит, оказалось TCMCE повисла в памяти.

Вот с таким точно ни разу не сталкивался. Да и зацикливаться особо негде, бесконечный тут только цикл обработки сообщений, но в нём окно нигде не скрывается.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 178

Post (Separately) Posted: Mon Aug 23, 2021 20:37    Post subject: Reply with quote

Loopback wrote:
по размышлению не совсем уверен

Раз поразмыслили и пришли к выводу, значит так тому и быть. Я то подумал, что, может, забылось (второй раз уже, кстати, но теперь вижу, что это не ваш случай). И с аргументами contra я согласен.
Loopback wrote:
стандартной реализации в поле редактирования, как я понимаю, нет, придется делать свою

Я, прежде чем попросить, тоже посмотрел в сети на предмет делал ли кто это уже в AutoIt. Нашёл пару решений, все немногострочные, но хотя условия в них немного другие, всё же сложилось впечатление, что это приемлемая хотелка — ну, вот и озвучил.
Loopback wrote:
с таким точно ни разу не сталкивался

Да, скорее всего локальный глюк у меня. На всякий случай оставил Диспетчер открытым, понаблюдаю, если что опять случится у меня, отрепортую.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Mon Aug 23, 2021 21:30    Post subject: Reply with quote

yozhik wrote:
Я, прежде чем попросить, тоже посмотрел в сети на предмет делал ли кто это уже в AutoIt. Нашёл пару решений, все немногострочные, но хотя условия в них немного другие, всё же сложилось впечатление, что это приемлемая хотелка — ну, вот и озвучил.

Задача, кстати, с подвохом и, несмотря на ее кажущуюся простоту, не столь тривиальна. Вопрос в том, как ее реализовать - просто или правильно Smile Сделал пока "просто" (4 строчки кода), как дополнительный акселератор, потому что если "правильно" - это сочетание должно работать только в пределах Edit-контрола, когда он в фокусе. А это городить еще кучку кода, делать сабклассинг Edit'a... Если проблем не будет, пусть остаётся так. Тем более что Ctrl+A работает так же.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1274

Post (Separately) Posted: Wed Aug 25, 2021 14:45    Post subject: Reply with quote

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

- исправлено залипание меню на кнопке ОК
- исправлена проблема с переходом по Tab на странице шаблонов
+ горячая клавиша Ctrl+Backspace для редактора
* текстовая кнопка режимов заменена на графическую, добавлен хоткей
+ возможность редактирования комментария к ".." (переход к родительскому каталогу)

Правку комментария к ".." я вообще сначала не планировал делать, но оказалось что там минимальные изменения, почему бы и нет, раз такая штука работает. Правильно не планировал, функция эта неполноценна, комментарий кроме как в подсказке нигде не отображается, функция убрана. Да и вообще никаких гарантий, что Гислер завтра не сочтет это багом (каковым оно по-сути и является) и не уберет.

Кнопку заменил, по-моему очень даже прилично смотрится, надо будет только подсказку добавить к ней. Зато теперь ширина комбобокса вполне достаточна.

В общем, осталось решить с логикой кнопки Save и ее необходимости (про найденный баг помню, но пока не смотрю) и почистить код. В остальном вроде все баги исправлены и хотелки учтены.

yozhik wrote:
У плагина AKFontInfo загружаются 20 с небольшим реальных строк и более 200 пустых.

Это косяк плагина, т.к. при получении имён колонок он по спецификации должен возвращать ft_nomorefields, если больше не остается полей, а он возвращает ft_nosuchfield, который используется при получении данных. Учёл в условии, на правильно написанные плагины это никак не повлияет.

yozhik wrote:
У плагина Expander2 помимо реальных строк Part1, Part2... Part32, загружаются ещё строки с минусовыми значениями Part-32, Part-31... Part-1.

C Expander2 это норма. Судя по беглому знакомству с плагином, эти поля служат для отсчета частей с обратной стороны имени файла. И вроде даже отключается в конфигурации плагина.

yozhik wrote:
фокус перемещался в поле редактирования (в Plugins на первый комбобокс) по нажатию стрелки вниз (я такое встречал во многих редакторах)

Увы, тут совсем не так всё просто, слишком объемная реализация выходит, просто акселератор не прикрутишь. Но сейчас на вкладке шаблонов должен нормально работать переход по Tab (тут был баг в Autoit с порядком создания контролов: несмотря на то, что ListView я создаю на вкладке, по факту Autoit создает его перед Tab-контролом).
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 178

Post (Separately) Posted: Thu Aug 26, 2021 00:50    Post subject: Reply with quote

Loopback wrote:
Кнопку заменил, по-моему очень даже прилично смотрится

Я, правда, старался, чтобы она не аляпистая была, а сдержанная и чтобы согласовалась с диалогами Тотала. Мне самому не нравится, когда интерфейс в новогоднюю ёлку превращают. Вот, кстати, сравнение с фрагментом из тоталовского диалога Переименования файлов:

Вроде, всё по-фирменному выглядит: как в родительском, так и в дочернем. Я, вон, себе и основную убрал (точнее поставил на её место прозрачную пустышку) и по мне даже поспокойней стало. Я этого не предлагаю, конечно, это уже за пределом объективности.

Loopback wrote:
возможность редактирования комментария к ".."

Если честно, никаких существенных примеров использования этой функции я придумать не смог. Она больше похожа на «пасхалку», привет от программиста. Увидел, улыбнулся и забыл.

Loopback wrote:
осталось решить с логикой кнопки Save и ее необходимости

А здесь удалось сочинить ситуацию (пока только одну), когда эта команда может быть оправдана. Вот если помимо сохранения descript.ion Save ещё будет высылать окну Тотала команду перечитать содержимое descript.ion, чтобы оно отобразилось на файловой панели (при выбранном режиме комментов, естественно), то тогда мог бы получиться вполне удобный предпросмотр всех комментов за раз. Тогда последовательность действий могла бы быть такой:

1) Включаю режим отображения комментов в файловой панели.
2) Вызываю ТСМСЕ, редактирую комменты (хоть все, хоть по одному), вызываю Save.
3) На файловой панели Тотала, позади окна ТСМСЕ, вижу все свои комментарии в ряд, как в таблице, и могу тут же продолжить редактировать их в утилите.

Сейчас же, после применения Save, при открытой ТСМСЕ файловая панель Тотала не обновляется даже если пощёлкать по ней мышкой.

Loopback wrote:
а он возвращает ft_nosuchfield, который используется при получении данных

Ну, я и говорил, что плагин этот не без косячков, хотя идея его хороша. Когда в папке много шрифтов и скроллишь их колесом мыши, этот плагин часто крашится. Я автору писал, но безответно. Видимо, надо было мне быть по настойчивей. Я этот плаг почти отовсюду уже отключил (т.к. у него есть более качественная замена wdx_fontinfo), но держу ещё пока только по одной единственной причине: он отображает кол-во глифов в шрифте — то, что другие делать не умеют.

Loopback wrote:
C Expander2 это норма

Прошу прощения, что сигнализировал, а сам толком не присмотрелся. Надеюсь, времени много не отнял.

Loopback wrote:
слишком объемная реализация выходит, просто акселератор не прикрутишь

И не надо, и так всё очень хорошо. А то лучшее, как известно, есть враг хорошего.

Вообще утилита замечательная получилась, не нарадуюсь. Всё вроде работает исправно.

Автозакрытие MsgBox'а о сохранении Template — приятный бонус. )) Правда, в первый раз я не ожидал, что он сам закроется и пытался в него мышкой попасть.

Один момент только покритикую, но больше для порядку, т.к. по большому счёту меня лично он не напрягает. В Options когда выбираю переключатель Add, меню закрывается и чтобы переключиться на Beginning (т.к. по умолчанию там End), нужно лезть в меню во второй раз. Вот, если бы оно не закрывалось автоматически, и после выбора Add можно было бы сразу выбрать Beginning или End, то тогда это было бы оправдано. А сейчас ради сокращения кликов мне представляется логичней вместо двух групп из двух пунктов, сделать одну группу из трёх пунктов:
1. Replace
2. Add to Beginning
3. Add to End
И радио-переключатель между ними тремя.

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

Кстати, вот иллюстрация использования Save при условии обновления тоталовской панели. Вполне наглядный предпросмотр получается:
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
Page 7 of 9

 
Jump to:  
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