Autorun

Обсуждение только плагинов и утилит для Total Commander.

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

Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Loopback
Что плагин делает с параметром MoveOptionsButton /Narrow, ясно. И в старом формате MoveOptionsButton MOVE_LEGACY ясно — это то же, что MoveOptionsButton без параметра. Но везде при изменении масштабирования на странице настроек TC "Шрифты" кнопка "Опции" неправильно позиционируется по горизонтали, сползая вниз и частично перекрываясь кнопкой с плюсом — проверял со своим рабочим значением DPI 110. Это исправимо?
Последний раз редактировалось Avada Пн фев 25, 2019 08:48, всего редактировалось 1 раз.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Насчёт глюков с DPI (у меня 120 в системе, в ТС без крыжика) подтверждаю.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Да, забыл про другие DPI. Исправил.

Новая версия.

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

Реализовано двумя дополнительными функциями плагина AddDialog и AddControl. В них задаются дельты перемещения/изменения размера (относительно исходных координат/размеров), для диалога и контрола соответственно. Цифры задаются для стандартных 96dpi. Сам контрол задается именем класса и экземпляра. Также можно поменять текст контрола. После установки значений вызывается MoveOptionsButton без параметров.

Например, вид как по умолчанию можно задать так (текст опций изменен для примера).

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

AddControl /QUEUEBTN /X:113 "TButton" 2
AddControl /Y:-74 "TButton" 3 "Опции"
AddControl /X:113 "TButton" 4
AddControl /X:113 "TButton" 5
AddControl /X:113 "TButton" 6
MoveOptionsButton
По "/QUEUEBTN" - кнопку "В очередь" необходимо добавлять в любом случае, даже если не планируете ее перемещать, поскольку по ее наличию определяется тип диалога ("Создать ярлык" имеет тот же класс, ох уж эта гислеровская экономия). Соответственно надо добавить этот параметр, чтобы плагин знал, что это именно та кнопка. Определять по тексту считаю ненадежным.

Если ничего дополнительными функциями не задавать, то MoveOptionsButton запускает стандартный вид перемещения.

Подробная документация будет в следующей версии Autorun.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Loopback
Спасибо! На мой вкус, вариант с /Narrow сейчас в масштабированном и не развёрнутом по высоте виде прекрасно работает. В немасшабированном виде, да, тут есть небольшое наложение второй опции с флажком на первую. Кроме того (и тут надо бы что-то придумать!) в любом случае при /Narrow в развёрнутом "узком" диалоге (с показом дополнительных опций) режется правая часть с кнопкой прикрепления.
Вопросов у меня на данный момент три:
1. Можно ли в обычном (широком) режиме подвинуть (по умолчанию или опционально) все кнопки налево, чтобы пустое место отображалось не слева, а справа? (С остальным буду, видимо, разбираться уже после появления подробной документации.)
2. Можно ли при Narrow как-то побороть это самое наложение опций без масштабирования, чтобы влезали последняя буква и скобка? В две строки опции дать, чуть ширину окна увеличить? Сокращение строк в LNG прошу не предлагать, это и так желающие сделают. :)
3. Про развёрнутый диалог сказано выше. Это сейчас самый серьёзный глюк, его надо как-то преодолеть.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Avada писал(а):1. Можно ли в обычном (широком) режиме подвинуть (по умолчанию или опционально) все кнопки налево, чтобы пустое место отображалось не слева, а справа?
Их тогда просто наоборот не надо двигать. Прямо сейчас такую схему можно сделать кодом:

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

AddControl /QUEUEBTN "TButton" 2 
AddControl /Y:-74 "TButton" 3 
MoveOptionsButton 
Avada писал(а):2. Можно ли при Narrow как-то побороть это самое наложение опций без масштабирования, чтобы влезали последняя буква и скобка?
Да, там просто строки очень длинные. Но на пару пикселей можно раздвинуть.

Сокращать перевод даже и мысли не было. Более того, мне вообще непонятно неприятие широкого вида диалога - мониторы сейчас всё больше, разрешение выше, а диалоги остаются тесными, новые опции уже добавить некуда. Я сам большой консерватор, но по-моему сейчас диалог выглядит отлично, я MoveButton уже давно не пользуюсь. Поэтому так лень было вообще за него браться :)
Avada писал(а): 3. Про развёрнутый диалог сказано выше. Это сейчас самый серьёзный глюк, его надо как-то преодолеть.
Не знаю. Я пробовал посмотреть сообщения в момент нажатия на кнопку Опции, не отправляется ничего, что можно было бы отловить. Все-таки в дельфи многое реализовано по-своему.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Loopback
Пункты 1 и 2 — второстепенные, серьёзен только, ИМХО, пункт 3 (потому что это уже не косметика, а потеря функционала, раз до запирающей кнопки добраться невозможно). Не будь этого, я бы вариант с Narrow без разговоров поставил сейчас как основной. Хотя к широким диалогам у меня отношение совершенно спокойное.
То есть шансов на корректную подгонку развёрнутой нижней части диалога пока нет? Потому как без этого только подгонка пикселей для влезания опций в основной части окна первоочередного смысла не имеет.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Avada писал(а):То есть шансов на корректную подгонку развёрнутой нижней части диалога пока нет?
Красивого решения я не вижу. Есть не очень хороший вариант, можно, конечно, попробовать.

Но даже если это и удастся решить, то остается проблема с несужаемыми комбобоксами в x64-версии. Вот с этим даже идей нет. Какой смысл тратить время на решение первой проблемы, пока нет даже мыслей, как победить вторую?
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Loopback
Немалая часть публики, как и я, по-прежнему предпочитает в 64-битных системах 32-битный TC, так что будет востребован и такой вариант. Естественно, со всеми положенными предупреждениями в документации. В TWinKey вон тоже ограничений предостаточно, но если они упомянуты в справке, то это именно ограничения а не ошибки.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

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

Сообщение Loopback »

Avada
В общем ничего хорошего из этой затеи не выходит. Хоть и удалось добраться до элементов, появляющихся после раскрытия диалога, при сужении группы дополнительных настроек кнопка фиксации окна оказывается недоступной. Это вообще не кнопка, а фактически картинка, нарисованная на контроле. Ее положение задается один раз при создании контрола и впоследствии уже не меняется, ни при сужении, ни при расширении.

Так что тем кому нужен функционал этой кнопки - придется остаться с обычным видом диалога. Если не нужен - в 32-битной версии выглядит всё достаточно прилично. В 64-битной всё так же печально.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback
Поменял местами Опции и Отмена. То, что надо. Спасибо!

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

AddControl /QUEUEBTN "TButton" 2
AddControl /X:-92 "TButton" 3
AddControl /X:112 "TButton" 4
MoveOptionsButton
А можно добавить изменение ширины кнопок?
А также чтобы при перестановке кнопок переход к ним по [Shift+]Tab соответствовал текущей последовательности?
Последний раз редактировалось Flasher Чт фев 28, 2019 08:39, всего редактировалось 1 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Loopback
Ясно, будем исходить из этого.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):А можно добавить изменение ширины кнопок?
Уже есть, параметр /W: (и /H).
По поводу "странностей" с координатами - это не абсолютные значения, а дельты относительно предыдущего значения. Положительное - сдвигает вправо/вниз или увеличивает размер, отрицательное наоборот. Вообще, конечно, параметры правильнее было бы назвать /DX, /DW и т.д., но хотелось покороче, да и без документации все равно неочевидно будет.
Flasher писал(а):А также чтобы при перестановке кнопок переход к ним по [Shift+]Tab соответствовал текущей последовательности?
Теоретически должно быть возможно, если поменять порядок контролов, т.к. порядок перехода определяется порядком создания контролов в диалоге. Но тут опять же дельфи, неизвестно как оно будет.
Аватара пользователя
BeTeP
Сообщения: 135
Зарегистрирован: Чт мар 31, 2005 00:57
Откуда: Санкт-Петербург

Сообщение BeTeP »

Loopback писал(а):Уже есть, параметр /W: (и /H).
А вот за это огромное спасибо.
Увеличил ширину кнопок не уменьшая ширину диалогового окна. Получилось очень даже симпатично.

[cut]
Изображение

Изображение
[/cut]
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

BeTeP
А код как выглядит?
Даже самая богатая фантазия
Не представит себе наши безобразия.
Ответить