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 

Autorun
Goto page Previous  1, 2, 3 ... 139, 140, 141, 142, 143  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Orion9



Joined: 01 Jan 2024
Posts: 298

Post (Separately) Posted: Wed May 22, 2024 13:19    Post subject: Reply with quote

Понравился один момент, так пусть не затеряется.)

Первый хинт - основной, который нужен по-умолчанию.
Второй хинт - редкий, специфический, но тоже релевантный для определенной задачи. Показывается, если после появления первого зажать Shift:
Code:
SetHotkeyAction /H:F1 F1HintText

Func F1HintText()

 ShowHint(FirstHint())
 sleep(500)
 If IsPressed (0x10) Then ShowHint(SecondtHint())
 
EndFunc
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 298

Post (Separately) Posted: Thu May 23, 2024 12:51    Post subject: Reply with quote

Loopback
Наткнулся на проблемы с функцией StrLeft: почему-то больше 127 символов она не принимает, т.е.

MsgBox(StrLeft(hint, 127)) - работает.
MsgBox(StrLeft(hint, 128)) - не работает.

Разумеется, числа могут быть как и больше, так и меньше (у меня строка вообще-то больше 1000 символов). При этом со StrMid такой проблемы нет:

MsgBox(StrMid(hint, 1, 1000)) - ОК.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1328

Post (Separately) Posted: Thu May 23, 2024 14:17    Post subject: Reply with quote

Orion9 wrote:
Наткнулся на проблемы с функцией StrLeft

Да, подтверждаю. Довольно интересный и неожиданный баг с приведением типов. Надо будет проверить остальные функции.

Собственно, вот поэтому и хотелось бы выпустить следующую бету, чтобы такие мелкие, но неприятные косяки править оперативно.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 298

Post (Separately) Posted: Thu May 23, 2024 19:06    Post subject: Reply with quote

Loopback
Беты бывают опасны, это да. Особенно когда в них меняют внутренний механизм уже более-менее рабочих функций. Недавний пример с ShowPopupMenu это показывает. Но выпускать их все же стоит, иначе вам одному будет гораздо сложнее все протестировать. Это я к тому, что нет необходимости 1,5-2 года доводить до ума очередную версию готового релиза, все-равно до конца безупречной она не будет. Если в проекте теплится жизнь, можно раз в несколько месяцев или раз в полгода радовать нас бетой Smile

А тем временем, довёл до ума функцию показа только тех переменных окружения, которые создаются во время работы/старта ТС плагином Autorun.

 Hidden text

Теперь еще и с зажимом Shift, Ctrl есть опции.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1328

Post (Separately) Posted: Fri May 24, 2024 15:29    Post subject: Reply with quote

Orion9 wrote:
Особенно когда в них меняют внутренний механизм уже более-менее рабочих функций.

Это да, не люблю трогать такие вещи. Хотя что-то базовое еще придется трогать. Но это не до ближайшей беты, иначе тестирование затянется навечно.
Orion9 wrote:
Это я к тому, что нет необходимости 1,5-2 года доводить до ума очередную версию готового релиза, все-равно до конца безупречной она не будет.

Тут немного другой случай, дело совсем не в перфекционизме. Но после выхода ближайшей беты надеюсь прийти к более равномерному выпуску версий.
Orion9 wrote:
А тем временем, довёл до ума функцию показа только тех переменных окружения, которые создаются во время работы/старта ТС плагином Autorun.

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

Кстати, стоит упомянуть, что метод работает, только если этот код размещен до других установок переменных окружения через Autorun. Иначе показывает только COMMANDER_HANDLE Smile
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 298

Post (Separately) Posted: Sat May 25, 2024 19:45    Post subject: Reply with quote

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

Да, нужно размещать код сразу за LoadLibrary в шапке основного конфига и перед объявлениями других переменных окружения.

Поскольку ТС при перезагрузке командой cm_Exit 9 тянет за собой все переменные окружения, пришлось создать дополнительную проверку на переменную COMMANDER_HANDLE, которая не существует при первой загрузке, хотя при последующих перезагрузках ее содержимое меняется.

Но мне понравилось больше то, что фактически там сейчас три разных хинта. Если вызвать первый хинт с Ctrl, он покажется. Но если при этом не отпускать Ctrl, то покажется второй, более широкий хинт. Если же сразу после показа первого нажать Shift, то всплывет третий, маленький, который отобразит только изменения в переменных, характерные для этой конкретной сессии/перезагрузки.

Прикольная фича, я считаю. Уже взял ее на вооружение в заголовке, поскольку там теперь два хинта - один с технической информацией о файлах. Надеюсь, завтра всё доделать, да и пора закрывать тему с заголовком. Laughing

P.s. А с хинтом можно поступить еще интереснее. Повесить его на F1, к примеру. Тогда после нажатия на F1, если сразу зажать шифт после этого, то на экране всплывет второй хинт вслед за первым. Я, кстати, так и сделал c хинтом заголовка)
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2599

Post (Separately) Posted: Tue May 28, 2024 17:48    Post subject: Reply with quote

Наверное, я слишком многого хочу Smile. Нельзя ли сделать так, чтобы после появления подсказки для заданного элемента окна, она не исчезала при перемещении мышки, пока её указатель находится внутри данного элемента (например, в пределах функциональной кнопки или заголовка)? По аналогии с подсказкой для кнопок панели инструментов.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 298

Post (Separately) Posted: Tue May 28, 2024 21:59    Post subject: Reply with quote

sa
А если использовать ShowHint?

Code:
ControlSetHint /F /D:100 /H:2 0 "TitleHintText"

Func TitleHintText()
   ShowHint(GetInfoData())
EndFunc

Приемлемо, но все же не то... Или пойдет?
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2599

Post (Separately) Posted: Tue May 28, 2024 23:37    Post subject: Reply with quote

Orion9 wrote:
но все же не то...

Да, не то! Для закрытия потребуется клик или нажатие ESC, а не просто перемещение указателя на другой объект (другую кнопку в случае панели инструментов TC).
Удобнее просто замереть (если рука крепка).
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 298

Post (Separately) Posted: Wed May 29, 2024 00:42    Post subject: Reply with quote

sa wrote:
Удобнее просто замереть (если рука крепка).

Смешно))
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1328

Post (Separately) Posted: Wed May 29, 2024 23:26    Post subject: Reply with quote

sa wrote:
Наверное, я слишком многого хочу

Хотел утром ответить что да, потом посмотрел - а почему бы и нет Smile

Версия Tweaks от 29.05.2024

Вроде выглядит и неплохо, но не уверен, стоит ли делать так по умолчанию, поэтому включается временным ключом /R в ControlSetHint. На маленьких кнопках ок, но вот на больших функциональных как по мне спорно. Кроме того с опцией /O работать не будет. В общем, надо еще погонять, в случае чего ключ можно инвертировать.
Back to top
View user's profile Send private message
Orion9



Joined: 01 Jan 2024
Posts: 298

Post (Separately) Posted: Thu May 30, 2024 00:02    Post subject: Reply with quote

Loopback
Quote:
Вроде выглядит и неплохо, но не уверен, стоит ли делать так по умолчанию

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

А что имеется в виду "с опцией /O работать не будет"?
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2599

Post (Separately) Posted: Thu May 30, 2024 09:41    Post subject: Reply with quote

Loopback wrote:
а почему бы и нет

Я подозревал, что с Autorun всё возможно Smile .
Спасибо! Работает немного иначе, чем в варианте с тоталовскими подсказками для кнопок панели инструментов, но это даже и лучше: можно не только по области функциональной кнопки или заголовка перемещать указатель, но и по полю самой подсказки.
Back to top
View user's profile Send private message
Loopback



Joined: 07 Sep 2009
Posts: 1328

Post (Separately) Posted: Thu May 30, 2024 23:40    Post subject: Reply with quote

Orion9 wrote:
но этот ключ нарушает привычную логику

Да не, если и нарушает, то только когда используются разные подходы одновременно. Если на всех контролах будет одинаково, то нормально. Но я что-то не уверен, что мне больше нравится новый вариант. Вообще, может и не нужна эта опция для каждого контрола отдельно, сделать одну общую на всё...
Orion9 wrote:
А что имеется в виду "с опцией /O работать не будет"?

При включенной опции /O этот метод работать не будет, т.к. фокус уходит к подсказке.
sa wrote:
Я подозревал, что с Autorun всё возможно

Если бы, но впечатление, конечно же, обманчивое Smile Не в каждом случае можно легко достигнуть результата.
sa wrote:
Работает немного иначе, чем в варианте с тоталовскими подсказками

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



Joined: 04 May 2014
Posts: 219
Location: Электросталь

Post (Separately) Posted: Fri May 31, 2024 00:15    Post subject: Reply with quote

Loopback
У меня на кнопку назначен хинт и меню по ПКМ. Подвожу курсор к кнопке, жму ПКМ, появляется меню, затем всплывает хинт поверх меню. И в таком сочетании куда курсором уже ни двигай, хинт не закрывается, пока не щёлкнешь по пункту меню или где ещё в окне ТК, или Esc-ом меню не закроешь:

Возможно ли это как-то отследить, чтобы при открытом меню хинт не всплывал?
Loopback wrote:
При включенной опции /O этот метод работать не будет, т.к. фокус уходит к подсказке.

Где-то что-то я опять прозевал... а где эта опция /O ?
_________________
Amo ergo sum
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 ... 139, 140, 141, 142, 143  Next
Page 140 of 143

 
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