Страница 6 из 9
Добавлено: Вс дек 07, 2014 21:36
sa
ask-rus писал(а):Всё равно "осечка"...
Мне помогла такая манипуляция: поменял местами set_tcini с открытием панели и добавил установку set_tcini(Layout, ButtonBar,1)
Команда для TCFS2.ini стала у меня такой:
Код: Выделить всё
OpenBar=set_tcini(ButtonBar, Buttonbar,`%COMMANDER_PATH%\BAR\` #1 `.bar`) tem(`em_OpenBar %COMMANDER_PATH%\BAR\` #1 `.bar`) set_tcini(Layout, ButtonBar,1)
Вызов остался прежним, например
Добавлено:
Можно в TCFS2.ini добавить и команду смены панели:
Код: Выделить всё
SwitchBar=if(tcini(ButtonBar, ButtonBar, `%COMMANDER_PATH%\BAR\` #1 `.bar`), run_item(OpenBar, #2), run_item(OpenBar, #1))
Вызов
Добавлено: Ср дек 10, 2014 05:45
ask-rus
Flasher писал(а):В данном случае это неважно. Макрос тот же?
И секцию Layout посмотри, всё ли там в порядке, нет ли редиректа.
TCFS2.ini с TCFS2_2.2.0.460.zip - без правок.

Запускаю TC, закрываю панель инструментов:
[em_NoBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=/ei tb0
menu=Закрыть панель инструментов
жму переключение:
[em_SwitchBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=%Z /ef "if(tcini(ButtonBar, ButtonBar, `%%COMMANDER_PATH%%\BAR\MAIN.bar`), tem(em_ExtBar), tem(em_MainBar))"
menu=Переключение между главной и расширенной панелями инструментов
чтобы панель появилась и закрыть панель инструментов снова уже не удаётся. Переключаюсь на другие панели, всё равно не закрыть, пока не перезапущу TC или не зайду в настройки, чтобы снять и в тот же момент установить флажок на "Панель инструментов".
Т.е.
[em_NoBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=/ei tb0
menu=Закрыть панель инструментов
становится нерабочей.
Добавлено спустя 5 минут:
sa
Не хотелось бы добавлять в TCFS2.ini что-либо, лучше всего хранить в теле кнопки.
Добавлено спустя 14 минут:
Такая команда создаёт аж две "осечки" для em_SwitchBar:
[em_NoBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=%Z /ef "tem(`em_OpenBar %%COMMANDER_PATH%%\BAR\NO.bar`) set_tcini(ButtonBar, Buttonbar,`%%COMMANDER_PATH%%\BAR\NO.bar`)"
menu=Закрыть панель инструментов
Добавлено: Ср дек 10, 2014 07:16
sa
ask-rus писал(а):Не хотелось бы добавлять в TCFS2.ini что-либо
Так правь в 4-х местах usercmd.ini или кнопки. Параметр для команды em_MainBar будет такой
Код: Выделить всё
%Z /ef "set_tcini(ButtonBar, Buttonbar,`%%COMMANDER_PATH%%\BAR\MAIN.bar`) tem(`em_OpenBar %%COMMANDER_PATH%%\BAR\MAIN.bar`) set_tcini(Layout, ButtonBar, 1)"
По аналогии параметры для em_ExtBar, em_UserBar.
Параметр для em_NoBar
Добавлено: Ср дек 10, 2014 08:02
ask-rus
Спасибо,
sa, "осечки" не стало.
Эти две кнопки ведут себя по разному:
[em_NoBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=/ei tb0
menu=Закрыть панель инструментов
[em_NoBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=%Z /ef "set_tcini(ButtonBar, Buttonbar,`%%COMMANDER_PATH%%\BAR\NO.bar`) tem(`em_OpenBar %%COMMANDER_PATH%%\BAR\NO.bar`) set_tcini(Layout, ButtonBar, 0)"
menu=Закрыть панель инструментов
Первая кнопка:
- Открыта
главная панель, закрываем, переключаемся - открывается
расширенная;
- Открыта
расширенная панель, закрываем, переключаемся - открывается
главная.
Вторая кнопка:
- Открыта
главная панель, закрываем, переключаемся - открывается
главная;
- Открыта
расширенная панель, закрываем, переключаемся - открывается
главная.
Мне ближе второй вариант, т.к. напомню, что у меня расширенная панель инструментов - эта та же главная, но со вторым рядом кнопок. Логичней, когда из ничего сначала откроется один ряд, а при переключении - второй, нежели сразу два.
Добавлено спустя 6 минут:
Собственно, цель достигнута, благодарю всех за помощь!
Добавлено: Ср дек 10, 2014 08:14
Flasher
Забудь по NO.Bar.
Попробуй:
Код: Выделить всё
[em_SwitchBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=%Z/ef "if(tcini(Layout, ButtonBar, 0), tcm(2901), if(tcini(ButtonBar, ButtonBar, `%%COMMANDER_PATH%%\BAR\MAIN.bar`), tem(em_ExtBar), tem(em_MainBar)))"
menu=Включение текущей или переключение между главной и расширенной панелями инструментов
и не надо в 4-х местах ничего править.
Обращаю также внимание, что пробел после %Z не нужен. Убирай везде.
Добавлено: Ср дек 10, 2014 08:29
ask-rus
[em_OpenBar]
cmd=OPENBAR
param=%Z%A
menu=Открыть указанную панель инструментов
[em_MainBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=%Z/ef "set_tcini(ButtonBar, Buttonbar,`%%COMMANDER_PATH%%\BAR\MAIN.bar`) tem(`em_OpenBar %%COMMANDER_PATH%%\BAR\MAIN.bar`) set_tcini(Layout, ButtonBar, 1)"
menu=Открыть главную панель инструментов
[em_ExtBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=%Z/ef "set_tcini(ButtonBar, Buttonbar,`%%COMMANDER_PATH%%\BAR\EXT.bar`) tem(`em_OpenBar %%COMMANDER_PATH%%\BAR\EXT.bar`) set_tcini(Layout, ButtonBar, 1)"
menu=Открыть расширенную панель инструментов
[em_UserBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=%Z/ef "set_tcini(ButtonBar, Buttonbar,`%%COMMANDER_PATH%%\BAR\User.bar`) tem(`em_OpenBar %%COMMANDER_PATH%%\BAR\User.bar`) set_tcini(Layout, ButtonBar, 1)"
menu=Открыть пользовательскую панель инструментов
[em_SwitchBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=%Z/ef "if(tcini(Layout, ButtonBar, 0), run_item(tb1), if(tcini(ButtonBar, ButtonBar, `%%COMMANDER_PATH%%\BAR\MAIN.bar`), tem(em_ExtBar), tem(em_MainBar)))"
menu=Включение текущей или переключение между главной и расширенной панелями инструментов
[em_NoBar]
cmd=%COMMANDER_PATH%\PLUGINS\Tools\TCFS2\TCFS2.exe
param=/ei tb0
menu=Закрыть панель инструментов
Всё ли верно?
Добавлено спустя 5 минут:
Вроде работает, какую закрыл - ту и открыл.
Добавлено: Ср дек 10, 2014 08:30
Flasher
Нет. Записи set_tcini(Layout, ButtonBar, 1) не нужны. Для команд вызова панелей юзай
исходник.
Добавлено: Ср дек 10, 2014 08:39
ask-rus
И вернулись к проблеме незакрываемости панели инструментов...
Добавлено спустя 7 минут:
С этим:
set_tcini(Layout, ButtonBar, 1)
всё в норме.
Добавлено: Ср дек 10, 2014 08:42
Flasher
Объясняю. Если ты скрываешь панель вызовом NO.bar, то в [Layout], ButtonBar остаётся старое значение в отличии от действия cm_VisButtonbar, поэтому тебе достаточно один раз вызвать эту команду, и тогда всё будет работать как следует.
Добавлено спустя 3 минуты:
И да, зачем тебе вообще em_NoBar при наличии cm_VisButtonbar?
Добавлено: Ср дек 10, 2014 08:58
ask-rus
Flasher писал(а):Для команд вызова панелей юзай исходник.
В исходнике какая-то ошибка, которая после ряда переключений блокирует закрытие панели.
Беру свой код выше, убираю с вызова панелей set_tcini(Layout, ButtonBar, 1) и всё закрывается на ура.
Добавлено спустя 6 минут:
Flasher писал(а):Если ты скрываешь панель вызовом NO.bar
Закрываю с /ei tb0.
Добавлено спустя 5 минут:
Flasher писал(а):И да, зачем тебе вообще em_NoBar при наличии cm_VisButtonbar?
Право слово, сейчас погляжу.
Добавлено: Ср дек 10, 2014 09:03
Flasher
Исходник тут ни при чём.
Я понял проблему вызова /ei tb0.
hasButtonBar=tcini(Layout, ButtonBar, 1, 1)
Надо спросить у
MVV, зачем он поставил <error_value>. Получается, что в случае, если ключ не равен 1, он всегда вернёт 1, для if/eval - это фактическое True. Из-за этого глюк. Надо убрать красное.
Добавлено: Ср дек 10, 2014 09:06
ask-rus
Понятно. Во всяком случае я беру в обиход cm_VisButtonbar. На этом, кажется, всё?
Добавлено: Ср дек 10, 2014 09:07
sa
ask-rus писал(а):Собственно, цель достигнута, благодарю всех за помощь!
Пожалуйста!
Добавлено: Ср дек 10, 2014 09:08
Flasher
ask-rus писал(а):Во всяком случае я беру в обиход cm_VisButtonbar
Правильно, и тогда про проблемы неверной записи можно забыть, как и про совет
sa.
ask-rus писал(а):На этом, кажется, всё?
Вроде да, но мне всё-таки мнение
MVV хотелось бы увидеть об <error_value>.
Добавлено: Ср дек 10, 2014 09:22
sa
Flasher писал(а):об <error_value>
Из справки к TCFS2:
error_value, если ключ не найден