TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Flasher, возможно, причина в том, что у тотала во время обработки сообщения показывается диалог, и SendMessage не возвращается до его закрытия. Попробуй использовать PostMessage вместо SendMessage (т.е. msg с параметрами $433, cm_Index, 0, 1).
sa, но ведь при -2 и так не показывается ничего лишнего? Чего еще не хватает-то?
sa, но ведь при -2 и так не показывается ничего лишнего? Чего еще не хватает-то?
- LonerD
- Сообщения: 1174
- Зарегистрирован: Вт янв 04, 2011 03:56
- Откуда: Макеевка
- Контактная информация:
TCFS2Tools 1.4.2.152
WinXP SP3 Rus.
Версия TC - любая (7.56а-8.0b-rc)
У меня назначены пользовательские команды, цель которых - отобразить одну панель Тотала и при этом скрыть кнопки дисков для второй панели / вернуть всё как було - две панели и над каждой кнопки дисков.
В TCFS2.ini имеется запись:
Команда em_OnePanelExt работает странным образом. При каждом нажатии кнопки (кноме первого) sp_sw_50_100 отрабатывает дважды. В результате вид панелей не переключается.
Дошли руки наконец разобраться, и обнаружил, что с TCFS2Tools версии 1.4.1.114 таковой проблемы не возникает, пользовательская команда отрабатывает как задумано (версия 1.4.2.130 у меня не сохранилась, проверить не могу).
Насколько я понимаю, это баг последнего TCFS2Tools. Или же теперь по-другому нужно прописывать команды?..
WinXP SP3 Rus.
Версия TC - любая (7.56а-8.0b-rc)
У меня назначены пользовательские команды, цель которых - отобразить одну панель Тотала и при этом скрыть кнопки дисков для второй панели / вернуть всё как було - две панели и над каждой кнопки дисков.
Код: Выделить всё
[em_OnePanel]
cmd=%commander_path%\Plugins\exe\TCFS2\TCFS2.exe
param=/ei "sp_sw_50_100"
menu=Set One Panel View Mode
[em_OnePanelExt]
cmd=%commander_path%\Plugins\exe\TCMC\TCMC.exe
param=50 CMcm_VisTwoDriveButtons EMem_OnePanel
menu=Set One Panel View ModeКод: Выделить всё
; Переключение разделителя панелей полный экран - посередине
sp_sw_50_100=run_item(sp_set_active, sepPos == 50 ? 100 : 50)Дошли руки наконец разобраться, и обнаружил, что с TCFS2Tools версии 1.4.1.114 таковой проблемы не возникает, пользовательская команда отрабатывает как задумано (версия 1.4.2.130 у меня не сохранилась, проверить не могу).
Насколько я понимаю, это баг последнего TCFS2Tools. Или же теперь по-другому нужно прописывать команды?..
Забавно видеть микс TCFS2 и TCMC, когда обе задачи можно решить исключительно средствами TCFS2. Даже более того, с TCFS2 решение будет корректнее, т.к. можно будет проконтролировать, включены ли обе панели дисков, и выключать только в этом случае. А идея интересная и логичная.
Посмотрю, удастся ли воспроизвести.
Добавлено спустя 12 минут:
Не, всё работает, как и должно. Версия TCFS2Tools у меня 1.4.2.154.
Добавлено в 22:36:
Посмотрю, удастся ли воспроизвести.
Добавлено спустя 12 минут:
Не, всё работает, как и должно. Версия TCFS2Tools у меня 1.4.2.154.
Добавлено в 22:36:
Код: Выделить всё
[Items]
db20=tcm(2903), test(hasDriveBar2), db21 ; Скрыть 2 панель кнопок дисков
db21=tcm(2903), test(!hasDriveBar2), db20 ; Показать 2 панель кнопок дисков
[Macros]
hasDriveBar2=tcini(Layout, DriveBar2, 1)Код: Выделить всё
[em_OnePanelExt]
cmd=%commander_path%\Plugins\exe\TCFS2\TCFS2.exe
param=/ef "eval(if(sepPos == 50, run_item(sp_set_active, 100)+run_item(db20), run_item(sp_set_active, 50)+run_item(db21)))"
menu=Set One Panel View Mode
Последний раз редактировалось MVV Чт май 17, 2012 22:45, всего редактировалось 1 раз.
- LonerD
- Сообщения: 1174
- Зарегистрирован: Вт янв 04, 2011 03:56
- Откуда: Макеевка
- Контактная информация:
MVV
Доу.
Я прозевал, что версия в марте обновилась через два дня. Скачал TCFS2Tools 1.4.2.154 - с ней действительно нет проблем. Вопрос снят.
[s]На элегантное решение меня не хватило.
Сделал по-простому.
set_one_two_panel=tcm(2903) run_item(sp_sw_50_100) redraw()
А как будет выглядеть упомянутый вариант с контролем включённых панелей?[/s]
Спасибо за элегантное решение, которое появилось пока я читал пост и обнаруживал существование более свежей версии TCFS2Tools.
Доу.
Я прозевал, что версия в марте обновилась через два дня. Скачал TCFS2Tools 1.4.2.154 - с ней действительно нет проблем. Вопрос снят.
[s]На элегантное решение меня не хватило.
Сделал по-простому.
set_one_two_panel=tcm(2903) run_item(sp_sw_50_100) redraw()
А как будет выглядеть упомянутый вариант с контролем включённых панелей?[/s]
Спасибо за элегантное решение, которое появилось пока я читал пост и обнаруживал существование более свежей версии TCFS2Tools.
Пожалуйста. 
А источник проблемы я вспомнил. Почитай отсюда и ниже, это обсуждалось. В версии 1.4.2.150 было внедрено временное решение, в котором обнаружился баг с неустановкой позиции, поэтому как раз в версии 1.4.2.154 я ушел от этого глючного варианта.
А источник проблемы я вспомнил. Почитай отсюда и ниже, это обсуждалось. В версии 1.4.2.150 было внедрено временное решение, в котором обнаружился баг с неустановкой позиции, поэтому как раз в версии 1.4.2.154 я ушел от этого глючного варианта.
- LonerD
- Сообщения: 1174
- Зарегистрирован: Вт янв 04, 2011 03:56
- Откуда: Макеевка
- Контактная информация:
MVV
Такой ещё вопрос возник. В справке:
В теории она должна переключать панель на дерево, а потом обратно. На дерево переключает, обратно - ни в какую не хочет.
Если вместо 303 прописать 301 или 302 - работает.
Остальные варианты у меня вообще странно ведут себя.
Если прописать 304 - вроде как и работает, но непонятно - быстрый просмотр переключается с одной на другую панели.
325 - Без сортировки. Сортировка сбрасывается, а к предыдущему (отсортированному) виду при повторном вызове команды не возвращается.
321-324 - тоже непонятно работает. Например, стояла сортировка по имени. В команде стоит 322 (сортировка по типу). При запуске команды выставляется сортировка по типу. Но при повторном запуске команды не возвращается предыдущий режим (сортировка по имени), а устанавливается сортировка по типу в обратном порядке.
Такой ещё вопрос возник. В справке:
Должна ли работать команда или я что-то неправильно прописываю?Пример переключения между текущим режимом и подробным режимом активной панели (можно указать индекс любого режима из cm_Src*):
TCFS2 /u- /ei switch_viewmode_S(302)
Код: Выделить всё
[em_DirTreeView]
cmd=%commander_path%\Plugins\exe\TCFS2\TCFS2.exe
param=/u- /ei switch_viewmode_S(303)Если вместо 303 прописать 301 или 302 - работает.
Остальные варианты у меня вообще странно ведут себя.
Если прописать 304 - вроде как и работает, но непонятно - быстрый просмотр переключается с одной на другую панели.
325 - Без сортировки. Сортировка сбрасывается, а к предыдущему (отсортированному) виду при повторном вызове команды не возвращается.
321-324 - тоже непонятно работает. Например, стояла сортировка по имени. В команде стоит 322 (сортировка по типу). При запуске команды выставляется сортировка по типу. Но при повторном запуске команды не возвращается предыдущий режим (сортировка по имени), а устанавливается сортировка по типу в обратном порядке.
А ты проверяй определяемые номера режимов. Используем команды:
И после каждого нажатия кнопки смотрим значения параметров в секции TCFS файла wincmd.ini.
У меня для левой панели:
Видно, что команда отнимает от заданного числа 200 для левой панели и 100 для правой, но в случае с режимом дерева такая операция работать не будет. Выход - писать для режима дерева свою команду, а не использовать switch_viewmode_S.
И вообще, определение текущего режима панели работает путём показа менюшек cm_LeftCustomViewMenu/cm_RightCustomViewMenu и поиска галочки, поэтому не будет работать для режимов, не перечисленных в этих меню. Дерево, замечу, там отсутствует, поэтому значение не определено.
По поводу 321-325: это не режимы вида панели, это режимы сортировки. И, опять же, они не указываются в менюшках с режимами. Поэтому переключение между ними таким способом невозможно.
Код: Выделить всё
/u- /ef "set_tcini(TCFS2,LastViewModeL,L_viewMode)
/u- /ef "set_tcini(TCFS2,LastViewModeR,R_viewMode)"У меня для левой панели:
Для правой:Краткий 101
Подробный 102
С комментариями 100
Пользовательский #1 71
Пользовательский #5 75
Дерево 12
Эскизы 69
А теперь посмотрим команду switch_viewmode_S:Краткий 201
Подробный 202
С комментариями 200
Пользовательский #1 171
Пользовательский #5 175
Дерево 12
Эскизы 169
Код: Выделить всё
run_item(switch_viewmode_L, #1-200), eval(L_isActive) | run_item(switch_viewmode_R, #1-100)И вообще, определение текущего режима панели работает путём показа менюшек cm_LeftCustomViewMenu/cm_RightCustomViewMenu и поиска галочки, поэтому не будет работать для режимов, не перечисленных в этих меню. Дерево, замечу, там отсутствует, поэтому значение не определено.
По поводу 321-325: это не режимы вида панели, это режимы сортировки. И, опять же, они не указываются в менюшках с режимами. Поэтому переключение между ними таким способом невозможно.