View previous topic :: View next topic |
Author |
Message |
ApceH

Joined: 08 Apr 2011 Posts: 316 Location: Димитровград
|
(Separately) Posted: Tue Aug 28, 2012 16:29 Post subject: Иконка на кнопке панели инструментов из em-команды |
|
|
Столкнулся с проблемой. Имеется em-команда для запуска некой программы (exe-шник). На панели создаю кнопку с этой командой. При этом автоматически из em-команды TC берёт указанную там иконку (button=) и название (menu=) и присваивает их данной кнопке, т.е. записывает в BAR-файл.
Затем мне понадобилось изменить иконку и/или название в em-команде. К сожалению, на кнопку панели это никак не повлияет.
Получается, если я хочу изменять иконку/название автоматизировано, то придётся изменить и все вхождения этой em-команды в BAR-файлах (у меня некоторые кнопки дублируются). В лучшем случае, мне придётся хранить список BAR-файлов и номеров кнопок для каждой подобной em-команды.
Или я что-то не учёл, или надо репортить хотелку: чтобы если иконка/надпись в кнопке не назначена, а кнопка ссылается на em-команду, то попытаться взять иконку/надпись из em-команды. Ведь с cm-командами это выполняется в отношении надписи (хотя иконку тоже нельзя оставлять пустой). _________________ kIT Programs PowerPack, kIT Universal Presets | Есть только одна истинная вера: чёрная магия... |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Aug 28, 2012 17:28 Post subject: |
|
|
Если речь о присвоении значений ключам вне стандартного диалога, то, естественно, требуется менять вхождения самостоятельно, а потом прогружать панель через OpenBar.
ApceH wrote: | у меня некоторые кнопки дублируются | Вместе с индексами? Так нельзя.
ApceH wrote: | В лучшем случае, мне придётся хранить список BAR-файлов и номеров кнопок для каждой подобной em-команды. | Зачем? Можно в цикле перебирать команды по номерам и после вставки производить замену далее идущих индексов.
ApceH wrote: | если иконка/надпись в кнопке не назначена, а кнопка ссылается на em-команду, то попытаться взять иконку/надпись из em-команды | Через диалог это так и происходит, если в данной команде эта иконка имеется и поле "Файл значка:" пустует. |
|
Back to top |
|
 |
ApceH

Joined: 08 Apr 2011 Posts: 316 Location: Димитровград
|
(Separately) Posted: Tue Aug 28, 2012 19:11 Post subject: |
|
|
Flasher wrote: | Вместе с индексами? Так нельзя. | нет конечно. Дублируются в разных панелях. У меня как бы по задачам сгруппированы панели.
Flasher wrote: | Через диалог это так и происходит, если в данной команде эта иконка имеется и поле "Файл значка:" пустует. | Да, но это надо в автоматизированном режиме. Не буду же я для каждой панели открывать редактирование, вставлять кнопку, назначать em-команду, и всё это автоматизированно. И даже если так, всё равно нужно будет хранить список, какие панели открывать и под каким номером нужная кнопка... Не вариант.
Моя мысль такова: usercmd.ini (и прочие аналогичные файлы) должны быть неким репозиторием команд, чтобы на панелях, в меню, на горячие клавиши только индекс команды задавать. Индексом и являлось бы имя em-команды. А пока к этому индексу зачем-то приходится добавлять информацию об иконке (обязательно) и названии (иначе будет имя em-команды). _________________ kIT Programs PowerPack, kIT Universal Presets | Есть только одна истинная вера: чёрная магия... |
|
Back to top |
|
 |
Вахмурка

Joined: 27 Dec 2004 Posts: 2586 Location: Большая деревня Москва
|
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Aug 28, 2012 19:31 Post subject: |
|
|
ApceH
В таком случае стоит использовать команды меню "Запуск" (701-899). |
|
Back to top |
|
 |
Вахмурка

Joined: 27 Dec 2004 Posts: 2586 Location: Большая деревня Москва
|
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Aug 28, 2012 19:41 Post subject: |
|
|
Вахмурка wrote: | но у этих команд слишком много недостатков | С учётом требуемого недостатком прежде всего может быть ограничение по кол-ву, а так вроде бы ничего отличимого. |
|
Back to top |
|
 |
Вахмурка

Joined: 27 Dec 2004 Posts: 2586 Location: Большая деревня Москва
|
(Separately) Posted: Tue Aug 28, 2012 21:25 Post subject: |
|
|
Ну, например, как прописать иконку? И самое главное, то, что меня в в свое время бесило и из-за чего я и отказался от cm_UserMenu - при обновлении программы перезаписывается totalcmd.inc и, следовательно, пользовательские команды. _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
 |
Mellomann

Joined: 07 Sep 2009 Posts: 709
|
(Separately) Posted: Tue Aug 28, 2012 22:28 Post subject: |
|
|
А зачем в панели инструментов ссылаться на условную команду, если можно явно указать то, что она подразумевает?
 |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10415 Location: Россия, Саратов
|
(Separately) Posted: Tue Aug 28, 2012 22:38 Post subject: |
|
|
Mellomann
А затем, что "условная команда" создаётся, чтобы дальше вызываться как угодно с использованием одного и того же готового имени — хоть из командной строки, хоть клавишей, хоть кнопкой, хоть пунктом в главном меню... _________________ Даже самая богатая фантазия
Не представит себе наши безобразия.
Last edited by Avada on Tue Aug 28, 2012 22:41; edited 1 time in total |
|
Back to top |
|
 |
ApceH

Joined: 08 Apr 2011 Posts: 316 Location: Димитровград
|
(Separately) Posted: Tue Aug 28, 2012 22:41 Post subject: |
|
|
Mellomann
Надо
У меня в сборке имеются заглушки для неустановленных программ. У плользователя появляется выбор: скачать и поставить эту прогу, выбрать среди уже установленных на компе или смириться.
Если пользователь указал уже установленную прогу, то заглушка меняет в usercmd.ini соответствующие ключи. Работать кнопки уже после этого начинают хорошо — запускают выбранную программу. Но иконку мне приходится менять в каждом BAR-файле. А значит приходится жёстко задать список, где и под каким номером нужная кнопка.
Изврат. Уверен, что в TC должно поддерживаться отделение содержимого команд от мест их использования в полном смысле, а не как сейчас.
P.S. Забыл пояснить, иконка может и скорее всего будет отличаться, так как для неустановленных программ изначально копируются "истощённые" иконки: полупрозрачные и чёрно-белые.
Добавлено спустя 16 минут:
Впрочем, не так это и нужно. Сейчас только увидел и вспомнил, что на кнопки с командами (а не явными исполняемыми файлами) нельзя перетаскивать файлы!!!
Получается для моей цели нужно тупо пробежаться по BAR-ам и внести нужные изменения. Использовать em-команды получается нет смысла... Сейчас сформулирую 2 хотелки в соответствующей теме. _________________ kIT Programs PowerPack, kIT Universal Presets | Есть только одна истинная вера: чёрная магия... |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Aug 29, 2012 17:28 Post subject: |
|
|
ApceH wrote: | Но иконку мне приходится менять в каждом BAR-файле. А значит приходится жёстко задать список, где и под каким номером нужная кнопка. | Когда-то меня НАЗАРЕТ спрашивал, как можно это сделать мягче. Моё предложение, которым я пользуюсь, было следующим: менять не значения в Bar-ах, а переименовывать соотв. 2 файла иконок/библиотек по простой схеме:
Имя.ico > Имя2.ico, Имя1 > Имя.ico, Имя2.ico > Имя1.ico
Это даёт возможность менять вид иконки постоянно. Использовать можно в т.ч. при переключении тех или иных режимов, включая инверсные. |
|
Back to top |
|
 |
|