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 

Иконка на кнопке панели инструментов из em-команды

 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
ApceH



Joined: 08 Apr 2011
Posts: 316
Location: Димитровград

Post (Separately) Posted: Tue Aug 28, 2012 16:29    Post subject: Иконка на кнопке панели инструментов из em-команды Reply with quote

Столкнулся с проблемой. Имеется em-команда для запуска некой программы (exe-шник). На панели создаю кнопку с этой командой. При этом автоматически из em-команды TC берёт указанную там иконку (button=) и название (menu=) и присваивает их данной кнопке, т.е. записывает в BAR-файл.
Затем мне понадобилось изменить иконку и/или название в em-команде. К сожалению, на кнопку панели это никак не повлияет.
Получается, если я хочу изменять иконку/название автоматизировано, то придётся изменить и все вхождения этой em-команды в BAR-файлах (у меня некоторые кнопки дублируются). В лучшем случае, мне придётся хранить список BAR-файлов и номеров кнопок для каждой подобной em-команды.

Или я что-то не учёл, или надо репортить хотелку: чтобы если иконка/надпись в кнопке не назначена, а кнопка ссылается на em-команду, то попытаться взять иконку/надпись из em-команды. Ведь с cm-командами это выполняется в отношении надписи (хотя иконку тоже нельзя оставлять пустой).
_________________
kIT Programs PowerPack, kIT Universal Presets | Есть только одна истинная вера: чёрная магия...
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Aug 28, 2012 17:28    Post subject: Reply with quote

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

ApceH wrote:
у меня некоторые кнопки дублируются
Вместе с индексами? Так нельзя.

ApceH wrote:
В лучшем случае, мне придётся хранить список BAR-файлов и номеров кнопок для каждой подобной em-команды.
Зачем? Можно в цикле перебирать команды по номерам и после вставки производить замену далее идущих индексов.

ApceH wrote:
если иконка/надпись в кнопке не назначена, а кнопка ссылается на em-команду, то попытаться взять иконку/надпись из em-команды
Через диалог это так и происходит, если в данной команде эта иконка имеется и поле "Файл значка:" пустует.
Back to top
View user's profile Send private message
ApceH



Joined: 08 Apr 2011
Posts: 316
Location: Димитровград

Post (Separately) Posted: Tue Aug 28, 2012 19:11    Post subject: Reply with quote

Flasher wrote:
Вместе с индексами? Так нельзя.
Very Happy нет конечно. Дублируются в разных панелях. У меня как бы по задачам сгруппированы панели.
Flasher wrote:
Через диалог это так и происходит, если в данной команде эта иконка имеется и поле "Файл значка:" пустует.
Да, но это надо в автоматизированном режиме. Не буду же я для каждой панели открывать редактирование, вставлять кнопку, назначать em-команду, и всё это автоматизированно. И даже если так, всё равно нужно будет хранить список, какие панели открывать и под каким номером нужная кнопка... Не вариант.

Моя мысль такова: usercmd.ini (и прочие аналогичные файлы) должны быть неким репозиторием команд, чтобы на панелях, в меню, на горячие клавиши только индекс команды задавать. Индексом и являлось бы имя em-команды. А пока к этому индексу зачем-то приходится добавлять информацию об иконке (обязательно) и названии (иначе будет имя em-команды).
_________________
kIT Programs PowerPack, kIT Universal Presets | Есть только одна истинная вера: чёрная магия...
Back to top
View user's profile Send private message
Вахмурка



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

Post (Separately) Posted: Tue Aug 28, 2012 19:30    Post subject: Reply with quote

http://powerpro.wincmd.ru/Scripts/Button2em.htm
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Aug 28, 2012 19:31    Post subject: Reply with quote

ApceH
В таком случае стоит использовать команды меню "Запуск" (701-899).
Back to top
View user's profile Send private message
Вахмурка



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

Post (Separately) Posted: Tue Aug 28, 2012 19:37    Post subject: Reply with quote

Сначала запостил, а потом понял, что это не решение.

Предложение Flasher'а дельное, но у этих команд слишком много недостатков.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Aug 28, 2012 19:41    Post subject: Reply with quote

Вахмурка wrote:
но у этих команд слишком много недостатков
С учётом требуемого недостатком прежде всего может быть ограничение по кол-ву, а так вроде бы ничего отличимого.
Back to top
View user's profile Send private message
Вахмурка



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

Post (Separately) Posted: Tue Aug 28, 2012 21:25    Post subject: Reply with quote

Ну, например, как прописать иконку? И самое главное, то, что меня в в свое время бесило и из-за чего я и отказался от cm_UserMenu - при обновлении программы перезаписывается totalcmd.inc и, следовательно, пользовательские команды.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 709

Post (Separately) Posted: Tue Aug 28, 2012 22:28    Post subject: Reply with quote

А зачем в панели инструментов ссылаться на условную команду, если можно явно указать то, что она подразумевает?
Laughing
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10415
Location: Россия, Саратов

Post (Separately) Posted: Tue Aug 28, 2012 22:38    Post subject: Reply with quote

Mellomann
А затем, что "условная команда" создаётся, чтобы дальше вызываться как угодно с использованием одного и того же готового имени — хоть из командной строки, хоть клавишей, хоть кнопкой, хоть пунктом в главном меню...
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.


Last edited by Avada on Tue Aug 28, 2012 22:41; edited 1 time in total
Back to top
View user's profile Send private message
ApceH



Joined: 08 Apr 2011
Posts: 316
Location: Димитровград

Post (Separately) Posted: Tue Aug 28, 2012 22:41    Post subject: Reply with quote

Mellomann
Надо Rolling Eyes
У меня в сборке имеются заглушки для неустановленных программ. У плользователя появляется выбор: скачать и поставить эту прогу, выбрать среди уже установленных на компе или смириться.
Если пользователь указал уже установленную прогу, то заглушка меняет в usercmd.ini соответствующие ключи. Работать кнопки уже после этого начинают хорошо — запускают выбранную программу. Но иконку мне приходится менять в каждом BAR-файле. А значит приходится жёстко задать список, где и под каким номером нужная кнопка.

Изврат. Уверен, что в TC должно поддерживаться отделение содержимого команд от мест их использования в полном смысле, а не как сейчас.

P.S. Забыл пояснить, иконка может и скорее всего будет отличаться, так как для неустановленных программ изначально копируются "истощённые" иконки: полупрозрачные и чёрно-белые.

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

Sad Sad Sad
Впрочем, не так это и нужно. Сейчас только увидел и вспомнил, что на кнопки с командами (а не явными исполняемыми файлами) нельзя перетаскивать файлы!!!
Получается для моей цели нужно тупо пробежаться по BAR-ам и внести нужные изменения. Использовать em-команды получается нет смысла... Сейчас сформулирую 2 хотелки в соответствующей теме.
_________________
kIT Programs PowerPack, kIT Universal Presets | Есть только одна истинная вера: чёрная магия...
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Wed Aug 29, 2012 17:28    Post subject: Reply with quote

ApceH wrote:
Но иконку мне приходится менять в каждом BAR-файле. А значит приходится жёстко задать список, где и под каким номером нужная кнопка.
Когда-то меня НАЗАРЕТ спрашивал, как можно это сделать мягче. Моё предложение, которым я пользуюсь, было следующим: менять не значения в Bar-ах, а переименовывать соотв. 2 файла иконок/библиотек по простой схеме:
Имя.ico > Имя2.ico, Имя1 > Имя.ico, Имя2.ico > Имя1.ico
Это даёт возможность менять вид иконки постоянно. Использовать можно в т.ч. при переключении тех или иных режимов, включая инверсные.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Page 1 of 1

 
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