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 

SGViewer + Universal Viewer: что скажут спецы

 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Mon Apr 02, 2007 18:02    Post subject: SGViewer + Universal Viewer: что скажут спецы Reply with quote

Интересный репорт и мой ответ к нему.

Что посоветуют спецы, чья это недоработка?
Интересно, что скажет CaptainFlint, D1P.

Quote:
некто
Universal Viewer (ATViewer) 1.5.10.0 2.04.2007 - 07:44
Очень хороший плагин.
Но при подключении сторонних плагинов нужно быть осторожным. Например, если подключить к нему SGViewer то можно увидеть следующий баг:
-пусть в каталоге лежат картинки с именами 1.bmp, 2.bmp, 3.bmp ... n.bmp;
-просмотр начинаем с файла 1.bmp;
-перходим с помощью скролинга колесика мышки к последующим картинкам (остановимся например на файле 3.bmp);
-жмем клавишу del (для удаления файла 3.bmp) а плагин (Universal Viewer) предлагает удалить файл 1.bmp с которого начат просмотр.


------
Quote:
Alex
Universal Viewer (ATViewer) 1.5.10.0 2.04.2007 - 08:56
некто
Ты прав: но это не баг, а "недоработка" и не моя а автора Lister интерфейса.

Плагин (SGViewer) не может сообщить мне, UV, что он открыл у себя 3.bmp. Поэтому нажатие Del, которое отрабатывает UV, применяется к 1.bmp.

Тут нужно расширение интерфейса.

_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6193
Location: Москва

Post (Separately) Posted: Mon Apr 02, 2007 18:12    Post subject: Reply with quote

Alextp wrote:
Интересно, что скажет CaptainFlint.

Клавиша Del не предусмотрена интерфейсом плагинов просмотрщика. Поэтому как она обрабатывается, зависит целиком и полностью от плагина. Если UV перехватывает Del и обрабатывает сам - это проблема UV. А интерфейс, действительно, не предусматривает возможности передать информацию от плагина к Тоталу, какой файл сейчас просматривается, если плагин "самовольно" загрузил другой файл.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Mon Apr 02, 2007 18:26    Post subject: Reply with quote

Не понял тебя. Как-то странно:

Code:
--Клавиша Del не предусмотрена интерфейсом плагинов просмотрщика. Поэтому как она обрабатывается, зависит целиком и полностью от плагина.


при чем тут клавиша и интерфейс. Интерфейс вообще никаких клавиш не предусматривает.
Не обязаетльно Del это или F3 или Ctrl+O.

Ты можешь задать в mnu файле TC , если не ошибаюсь, какие угодно клавиши. Правильно? В том числе и Del.
Quote:
Edit
Нет, нельзя. Все задается в LNG.
Но все равно: набор клавиш, какие можно перехватывать просмотрщику а какие нет: это не описано в интерфейсе!


Остальное понял.
Что посоветуешь: что править, UV или SGViewer?
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6193
Location: Москва

Post (Separately) Posted: Mon Apr 02, 2007 18:58    Post subject: Reply with quote

Alextp wrote:
при чем тут клавиша и интерфейс. Интерфейс вообще никаких клавиш не предусматривает.
Не обязаетльно Del это или F3 или Ctrl+O.

Тогда опиши подробно: что происходит в Тотале, что происходит в UV, и что должно происходить по мнению пользователя. Я не понял его репорта, поскольку сам не пользуюсь ни UV, ни SGViewer.

Моё предположение заключалось в следующем:
<предположение>
1. SGViewer, будучи запущенным из Тотала, перехватывает нажатие клавиши Del, позволяя пользователю удалить просматриваемый в настоящий момент файл.
2. Обработка эта лежит полностью на плагине: он знает, какой файл сейчас просматривается, он может этот файл удалить.
3. При запуске из UV: сам UV перехватывает нажатие на Del и предлагает пользователю удалить просматриваемый файл, не сообщая об этом плагину.
4. Поскольку плагин не может уведомить UV, что он (плагин) сам по себе загрузил другие файлы и смотрит уже их, UV не в курсе всех этих изменений и удаляет то, что сначала передавал плагину - то бишь первый из просматриваемых файлов вместо текущего.
</предположение>
Если хоть какой-то пункт из этих четырёх неправилен, то мой предыдущий пост можно не читать - он не имеет смысла. Но в этом случае я просто перестаю понимать хоть что-либо из того, что происходит.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Mon Apr 02, 2007 19:09    Post subject: Reply with quote

Quote:
Моё предположение заключалось в следующем:
Если хоть какой-то пункт из этих четырёх неправилен, то мой предыдущий пост можно не читать - он не имеет смысла. Но в этом случае я просто перестаю понимать хоть что-либо из того, что происходит.



Ты все правильно описал. Все понимаешь что происходит правильно.

Ты не прав в пред. посте:
набор клавиш, которые может перехватывать плагин, нигде не описан. Ни в API Guide, ни на форуме.

Поэтому: Del может перехватывать и SGV, и UV. Они оба имеют на это право. Поэтому ситуация непонятная: кто "более прав", перехватывая Del. IMHO просмотрщик. (Но это только мое IMHO.)
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6193
Location: Москва

Post (Separately) Posted: Mon Apr 02, 2007 19:24    Post subject: Reply with quote

Alextp wrote:
набор клавиш, которые может перехватывать плагин, нигде не описан. Ни в API Guide, ни на форуме.

Это так. Но верно и то, что Тотал сам никак не обрабатывает клавишу Del в просмотрщике. В данном случае плагин этим воспользовался.
Короче говоря, налицо ситуация с использованием непредусмотренных интерфейсов. Плагин полагается на то, что Тотал по-прежнему не будет обрабатывать клавишу Del. Если ты хочешь, чтобы UV корректно работал со всеми плагинами, то, мне кажется, стоит имитировать Тотал по максимуму, включая такие вот недокументированные ситуации. Возможно, стоит сделать это опционально, пояснив в справке, в чём плюсы и минусы обоих подходов. Может быть, стоит даже сделать эту опцию настраиваемой отдельно для каждого плагина. В этом случае для SGViewer'а можно будет оставить его стандартное поведение, а для плагинов, которые Del не перехватывают, включить UV-шную обработку клавиши.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Mon Apr 02, 2007 19:31    Post subject: Reply with quote

Стоит подумать над этим...
Разумно.
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander 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