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
 
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: 1150

Post (Separately) Posted: Thu Aug 26, 2021 15:33    Post subject: Reply with quote

yozhik wrote:
Вроде, всё по-фирменному выглядит: как в родительском, так и в дочернем.

Да, по-моему тоже всё отлично.
yozhik wrote:
Она больше похожа на «пасхалку», привет от программиста.

Всё может быть, но мне представляется, что сам факт отображения подсказки над ".." - это такой мелкий безобидный баг. Именно потому, что этот комментарий не отображается в колонках и его нельзя изменить стандартными средствами, а значит изменение и отображение этого комментария и не предусматривалось. Показ подсказки выпадает из общей картины, а значит скорее всего это непредусмотренное поведение. Хотя конечно, если бы редактирование осуществлялось только стандартными средствами, эту подсказку никто и никогда не увидел бы.

Впрочем, что это на самом деле - баг, фича или пасхалка - знает только Гислер.

yozhik wrote:
А здесь удалось сочинить ситуацию (пока только одну), когда эта команда может быть оправдана.

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

Главный аргумент "за" в том, что результатом работы кнопки Применить будет только изменение в памяти, т.е. при последующем нажатии Отмена никакие изменения не сохраняются. А раз есть применение, должно быть и сохранение, кнопка F2 - не то, поскольку она фактически делает последовательно оба действия.

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

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

И еще одна проблема - с хоткеем. Разумеется, Ctrl+S значительно логичнее присвоить именно сохранению, но этот хоткей уже много лет задействован как псевдоним F2. Напоминает ситуацию с TC, когда появились вкладки, а Ctrl+T был подо что-то занят.

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

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

yozhik wrote:
А сейчас ради сокращения кликов мне представляется логичней вместо двух групп из двух пунктов, сделать одну группу из трёх пунктов:

Однозначно! Интересно, откуда вообще появилась эта идея с четырьмя переключателями... усложнение логики, лишние активации/деактивации и двойной заход в меню.
Back to top
View user's profile Send private message
yozhik



Joined: 04 May 2014
Posts: 109

Post (Separately) Posted: Thu Aug 26, 2021 18:17    Post subject: Reply with quote

В связи с командой Save, учитывая всё сказанное, у меня выстраивается такая иерархия (выполнения операций):

1) Apply — Применяем, Не сохраняем, Не закрываем.
2) Save — Применяем, Сохраняем, Не закрываем.
3) OK — Применяем, Сохраняем, Закрываем.

Вроде получается системно и легко запоминаемо. А при Save если не применять, то что тогда сохранять?! Если не применишь, то и сохранять нечего. Следовательно, и «проблема с мультикомментарием, который нельзя сохранить без применения» отпадает.

А с работой команды Save у меня выстраивается такая логика:

а) Результат выполнения Save зависит от того, какой режим активен (или какое окно открыто) в момент выполнения.

б) Если активен MULTIEDIT (вспоминаем, что он у нас просто так не бывает активен: либо мы с него начали, либо мы его осознанно активировали кнопкой), то Save применяет и сохраняет во всех комментариях то, что мы видим в поле редактирования. Противоречий тут нет, т.к. если он у нас активен, то значит мы его активировали сами и осознаём, что все комментарии у нас перезапишутся. При этом учитываются настройки [Replace, Add to Beginning, Add to End], а также учитывается настройка Replace macro для операции применения.

в) Если MULTIEDIT открыт, но не активен, то и команда Save тоже неактивна.

г) Если активен SINGLEEDIT, то Save сохраняет (и применяет, если есть что применить, и в зависимости от настройки Replace macro) только тот комментарий, который мы видим в поле редактирования. А другие не применяет и не сохраняет. Иначе будет нелогично. Логично так: что вижу, то и сохраняю. При этом состояние настройки [Replace, Add to Beginning, Add to End] здесь тоже может быть учтено.

д) Звёздочка (знак несохранённости) — идея хорошая. Появляется после внесения изменений в поле редактирования. Вопрос где ей появляться.

д.1) Если посложнее. В строке комбобокса, в самом начале строки. В режиме активного MULTI: если что-то изменили в поле редактирования. В режиме неактивного MULTI: если есть хоть один несохранённый комментарий. В режиме SINGLE: если что-то изменили в конкретном комментарии. Но тогда логически напрашиваются все эти звёздочки (их наличие или отсутствие) при открытии комбобокса, в выпадающем списке. Ой, уж что-то всего много получается, как реализовывать то )) Но теоретически вроде стройно.

д.2) Если попроще. В заголовке окна File comment, после заголовка. В режиме MULTI: если есть общие изменения или есть изменения хоть в одном комменте. В режиме SINGLE: если есть изменение в конкретном открытом комменте. Хотя, может это и не «проще», всё равно же надо запоминать состояния что сохранёно, что не сохранёно. Или тогда уж вообще со звёздочками не связываться.

е) При таком раскладе возвращение активности MULTI при выполнении Save совсем не логично. Одно с другим не связано.

ж) С хоткеем Ctrl+S прямо-таки гамлетовские сомнения: либо ему быть, либо не быть. Однозначно Ctrl+S ассоциируется в первую очередь с сохранением без закрытия. Относительно ломания при этом устоявшихся традиций я не советчик, ибо по характеру консерватор. Только шёпотом скажу: я бы поломал. Very Happy

Ох, Вы уже не сочтите за нескромность, реализовывать то Вам. Я просто стараюсь быть чем-то полезным.

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

Loopback wrote:
лучше какую-нибудь всплывашку на секунду на фоне окна редактора

Такое решение мне очень нравится. И чем она будет проще, тем лучше. Идеальный вариант без кнопок вообще. Я в своих маленьких вспомогательных скриптиках так всегда и делаю, и уже к этому привык. Вот, например, в InDesign при экспорте так (на Маке, правда, как оно на Windows пока не смотрел, но думаю, что тоже будет неплохо):


А вот в AkelPad при сборе статистики по документу вообще минимализм:

Эту я подсмотрел в скриптах у KDJ и с тех пор везде её вставляю. А всплываха в системном трее неуместна хотя бы потому, что у ТСМСЕ нет там иконки.

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

Не утерпел, попробовал на Windows. Кнопочка всё равно отображается, хотя и запрещена в скрипте:
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1150

Post (Separately) Posted: Thu Aug 26, 2021 20:54    Post subject: Reply with quote

yozhik wrote:
Вроде получается системно и легко запоминаемо.


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

yozhik wrote:
только тот комментарий, который мы видим в поле редактирования. А другие не применяет и не сохраняет. Иначе будет нелогично.

Так не получится, комментарии изменяются сразу в процессе набора/вставки, и если применить еще можно только один, то сохранить их можно только все сразу.

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

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

yozhik wrote:
Ой, уж что-то всего много получается, как реализовывать то ))

Отпадает сразу, комбо динамически менять не хочу.
yozhik wrote:
В заголовке окна File comment, после заголовка.

Планировался именно тут.
Чисто по логике, даже не нужно завязываться на режимы. Если изменен один или несколько комментариев (индивидуально или после нажатия Apply) - есть маркер. Save его сбрасывает. Активность пункта Save связана с этим же состоянием.

yozhik wrote:
При таком раскладе возвращение активности MULTI при выполнении Save совсем не логично.

Именно, я об этом и писал.

yozhik wrote:
Только шёпотом скажу: я бы поломал.

Я бы наверно тоже. Если будет запрос потом - всегда можно добавить опцию.

yozhik wrote:
Идеальный вариант без кнопок вообще.

Да, так уже и сделал, вариант как в Akelpad.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1150

Post (Separately) Posted: Mon Aug 30, 2021 14:12    Post subject: Reply with quote

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

* чистка кода и перевода, доработка справки
+ хоткей сохранения шаблона
+ всплывающие подсказки для длинных строк в списках
+ опция для задания режима замены/вставки по умолчанию
* упрощена логика опций замены/вставки

Если каких-то критичных проблем не всплывет, это будет последняя версия перед релизом.
Back to top
View user's profile Send private message
imig73



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

Post (Separately) Posted: Mon Aug 30, 2021 15:42    Post subject: Reply with quote

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



Joined: 04 May 2014
Posts: 109

Post (Separately) Posted: Mon Aug 30, 2021 20:12    Post subject: Reply with quote

Loopback
Я тоже утилитой не нарадуюсь. Но до пары моментов всё же докопался.

Косячок: после применения Ctrl+S фокус улетает в панель Тотала. И вернуть его в окно ТСМСЕ можно только мышью, с клавиатуры никак.

Побочный эффект. Воспроизводим:
1) Открываю ТСМСЕ. Утилита в фокусе.
2) По Alt+Tab переключаюсь на другую программу.
3) По Alt+Tab переключаюсь обратно в Тотал. Фокус в панели Тотала. Утилита не в фокусе.
Я вначале подумал, что может и хорошо, что родительское окно не блокируем. Вроде можно при открытой утилите пощёлкать что-то в Тотале, поменять набор колонок на Комментарии, например. А теперь смотрю: потеря фокуса, пожалуй, это ощутимое неудобство, лучше уж тогда блокировать родительское.

Сообщение о сохранении Template может сделать на секунду побольше? Или на две. Очень быстро пропадает, не успеваю полюбоваться. Smile Правда, очень красивое получилось, аккуратное такое. А вообще, пмсм, времени сейчас маловато, чтобы успеть восприять написанное.

Косметика (на работу не влияет, но глаз царапает): при сохранении комментов по Ctrl+S не обновляется надпись текущей кодировки. Точнее так: надпись кодировки рассогласована с действием Ctr+S. Воспроизводим:
а) В папке нет файла descript.ion. Вызываем ТСМСЕ и видим надпись None в углу кодировок. Всё правильно.
б) Набираем комменты. Жмём Ctrl+S (или мышью) – сохранили комменты.
в) А в углу кодировок по-прежнему None, хотя по факту None там уже быть не может, descript.ion то создали только что.
г) А если теперь ещё поменять кодировку из комбобокса и сохранить по Ctrl+S, то всё равно останется None.
д) И если вместо None была кодировка, и я её поменял и сохранил по Ctrl+S, в надписи так и останется предыдущая кодировка.
е) А если я сохранил по Ctrl+S и после этого поменял кодировку в комбобоксе, у меня Ctrl+S остаётся неактивно, хотя кодировка то поменялась, а может я именно новую кодировку хочу сохранить.

Корректура readme_ru.txt (пара очепяток, пара забытых точек, одно имя собственное, одна вставка, одна смысловая ракировка).

Корректура readme_en.txt (пара очепяток, один лишний абзац, одна точка).
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1150

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

yozhik wrote:
после применения Ctrl+S фокус улетает в панель Тотала.

Это потому, что теперь окну тотала отправляется сообщение обновить панель. А окно не модальное.
yozhik wrote:
Побочный эффект. Воспроизводим:

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

yozhik wrote:
Сообщение о сохранении Template может сделать на секунду побольше? Или на две. Очень быстро пропадает, не успеваю полюбоваться.

Это сейчас так, потом большая задержка начнёт раздражать Smile Мне две секунды уже реально некомфортно. Сделаю полторы, если будет очень надо - потом можно будет в коде поменять.

yozhik wrote:
при сохранении комментов по Ctrl+S не обновляется надпись текущей кодировки

Ага, конечно. Раньше же не было возможности сохранить файл без закрытия окна. Исправлю.

yozhik wrote:
е) А если я сохранил по Ctrl+S и после этого поменял кодировку в комбобоксе, у меня Ctrl+S остаётся неактивно, хотя кодировка то поменялась, а может я именно новую кодировку хочу сохранить.

Кстати, тоже момент. Считать смену кодировки изменением или нет.

yozhik wrote:
пара очепяток

Спасибо, обновлю.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1150

Post (Separately) Posted: Thu Sep 09, 2021 14:42    Post subject: Reply with quote

Версия 3.0 от 2021-09-09

+ смена кодировки устанавливает флаг модификации
- исправлено состояние кодировки после сохранения

Спасибо всем, кто помогал и участвовал в разработке!
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
Page 8 of 8

 
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