Минимизировал тест, который воспроизводит странное поведение Фара 4282. Описываю.
Тест (код ниже) - это специальный "супер-макрос" для PowerShellFar. Допустим, он сохранен в файле Bug-Panel.QView!.ps1
Просто прогнать тест можно командой:
ps: Invoke-FarStepper .\Bug-Panel.QView!.ps1
Или в специальном режиме шаг за шагом:
ps: Invoke-FarStepper .\Bug-Panel.QView!.ps1 -Ask
Описание того, что делает тест, по шагам, и где происходит странное:
- Создать и открыть панель с одним файлом с именем File. Панель создана так, что при просмотре она пишет "Content" в нужный временный файл, который будет показан. При этом еще вызывается диалог сообщения Фара (Зачем это нужно? В оригинальном тесте так тестируется особый случай, когда именно при формировании файла просмотра происходит ситуация, о которой надо сообщить).
- Проверить, что открылась панель, перейти на файл с именем File
- CtrlQ - открыть для этого файла быстрый просмотр
- Проверить, что появился ожидаемый диалог сообщения
- Esc - закрыть этот диалог (после этого появляется ожидаемая панель просмотра)
- Tab - перейти в панель просмотра. И вот тут в Фаре 4282 откуда ни возьмись появляется меню выбора дисков, что никак не ожидается. В этом и проблема. В 4279 и ранее меню дисков в этой ситуации не появлялось.
Code: Select all
{
# create the explorer and panel, open the panel
$Explorer = New-Object PowerShellFar.ObjectExplorer -Property @{
# get panel items, return just one trivial named 'File'
AsGetData = {
'File'
}
# called on F3, CtrlQ; write 'Content' to the file
# and then show a dialog (this is important!)
AsGetContent = {
param($0, $_)
'Content' > $_.FileName
Show-FarMessage 'Message on getting content' 'Test QView'
}
}
New-Object PowerShellFar.ObjectPanel $Explorer -Property @{
Title = 'Test QView'
} | Open-FarPanel
}
{
# check panel, go to the item 'File'
Assert-Far -Plugin
Find-FarFile File
}
'Keys"CtrlQ" -- open QView for the file'
{
# check the expected dialog
Assert-Far -Dialog
Assert-Far ($Far.Dialog[0].Text -eq 'Test QView')
}
'Keys"Esc" -- exit dialog'
'Keys"Tab" -- go to QView panel'
P.S. Лучше использовать 4283 с фиксом от
zg, иначе Фар можно загнать в ситуацию с падением при открытии.