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 

Universal Viewer - аналог Lister
Goto page Previous  1, 2, 3 ... 20, 21, 22 ... 50, 51, 52  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Athari



Joined: 19 Dec 2004
Posts: 81
Location: Казань

Post (Separately) Posted: Tue Jul 17, 2007 16:26    Post subject: Reply with quote

Quote:
Если скрывать меню так, то перестают работать гор. клавиши
(заданные в этом меню).

Обоими способами пробовал? Хм. Не ожидал, что VCL отследит SetMenu…

Ты без TActionList делаешь? Если с ним, то и удобнее будет, и клавиши всегда работать будут. Теоретически. Smile

Quote:
Но так просто этот вызов не сделаешь, у меня же TImage, его надо полностью переписывать?

Можно процедуру Paint попытаться переопределить… Extctrls.pas в сорцах VCL посмотри, там всего пара строк.

Quote:
Я же загружаю картинки как TImage.Picture.LoadFromFile(),
а оно требует, чтобы расширение соответствовало, там нет опр. по содержимому.

Там у тебя не так много типов поддерживается, так что вручную голову файла смотреть, по-моему, труда не составит. У BMP первые два байта «BM», у GIF — «GIF», у JPEG — 0xFFD8FFE0 (плюс ещё какие-то, кажется…) ну и так далее. Можно конкретными наследниками TGraphic пользоваться, а потом Assign’ить в TImage->Picture. Способ найти можно.

Quote:
А как я узнаю, что в шрифте есть символы от 1 до 31?

Листер себя не утруждает проверкой и полностью полагается на API… Но есть минус — получаются квадратики, а не точки, что не всегда удобно.

Ну, опцию можно ввести, чтобы пользователь задавал, какие символы на точки менять.

А как узнать… Посмотри в направлении TEXTMETRIC, там что-то похожее есть.

Quote:
Что с ними делать?

Сам решай. Smile

Quote:
Потому, что писать свою реализацию просмотра UTF8 было очень лень.
Это ОЧЕНЬ МНОГО возни.

Где там возня? Тот же самый текстовый, только перед выводом преобразование кодировки. Самая большая неприятность — если в начале отображаемого куска файла середина символа будет, но в случае с UTF8 это не так важно — на ближайшем правильном символе «восстановится». Или я чего-то не понимаю?

Quote:
Quote:
А это происходит только с BMP?
Да.

А почему? Чем BMP такой особенный? Smile

Quote:
Если через OnKeyDown, то наверное они работать не будут. А если как-то хитро, как FileInfo плагин, то они перекроют мои гор. клавиши. А если у тебя ActiveX, то тоже возможно перекроет мои клавиши...

KeyDown. Так как сделать, чтобы работали?

FileInfo как делает?
_________________
«Today is the first day of the rest of your life»
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Tue Jul 17, 2007 17:14    Post subject: Reply with quote

Athari
Quote:
Если скрывать меню так, то перестают работать гор. клавиши
(заданные в этом меню).
Обоими способами пробовал?

Пока первым, сделал скрытие через Form.Menu:= nil; после этого все клавиши перестали работать.

Quote:
Ты без TActionList делаешь? Если с ним, то и удобнее будет, и клавиши всегда работать будут. Теоретически.

Да, просто TMainMenu, клавиши в TMenuItem.Shortcut.
Переходить на TActionList только из-за того, что меню будет проще скрывать - не стОит...

Quote:
Можно процедуру Paint попытаться переопределить… Extctrls.pas в сорцах VCL посмотри, там всего пара строк.

Попробую, спасибо за подсказку! Может, и правда так все просто.

Quote:
Там у тебя не так много типов поддерживается, так что вручную голову файла смотреть, по-моему, труда не составит.

Нет, как раз составит, там у меня полно типов. Пока если нужно смотреть переименованные картинки - Imagine /SGViewer...

Quote:
Ну, опцию можно ввести, чтобы пользователь задавал, какие символы на точки менять.
А как узнать… Посмотри в направлении TEXTMETRIC, там что-то похожее есть.

Посмотрю. Если будет способ определить, какие символы "есть" - буду их выводить.

Quote:
Quote:
Потому, что писать свою реализацию просмотра UTF8 было очень лень.
Это ОЧЕНЬ МНОГО возни.

Где там возня? Тот же самый текстовый, только перед выводом преобразование кодировки. Самая большая неприятность — если в начале отображаемого куска файла середина символа будет, но в случае с UTF8 это не так важно — на ближайшем правильном символе «восстановится». Или я чего-то не понимаю?

Не понимаешь. Smile
Трудностей реализации. То, что можем попасть в середину символа и надо перейти на начало следующего - это ерунда. Но переходы по символам делать вперед-назад уже сложнее, чем в Юникоде. Очень много переписывать из-за этого.

Quote:
А это происходит только с BMP? Да.
А почему?

Не знаю

Quote:
KeyDown. Так как сделать, чтобы работали?
FileInfo как делает?

Не знаю. Smile
Горячие клавиши (их работа в режимах Плагины /Интернет) - это мое слабое место. То не работают (как у тебя), то как в FileInfo.
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
Athari



Joined: 19 Dec 2004
Posts: 81
Location: Казань

Post (Separately) Posted: Tue Jul 17, 2007 17:40    Post subject: Reply with quote

Quote:
Переходить на TActionList только из-за того, что меню будет проще скрывать - не стОит...

Не только. Ещё чтобы контролы с одним назначением каждый индивидуально не обрабатывать. Вот у тебя пункты меню и кнопки на панели инструментов как сопоставлены?

Quote:
Не знаю. Smile

Ну, как вариант, можешь WM_KEYDOWN от своей формы на окно плагина перенаправлять. Когда я BootScreenView «окультурю», работать должно. Wink
_________________
«Today is the first day of the rest of your life»
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Tue Jul 17, 2007 18:06    Post subject: Reply with quote

Athari
Quote:
Не только. Ещё чтобы контролы с одним назначением каждый индивидуально не обрабатывать.

У меня там своя реализция TActionList. Smile

Quote:
Ну, как вариант, можешь WM_KEYDOWN от своей формы на окно плагина перенаправлять.

А в твоем плаге клавиши работают. Z - работает всегда, I не работает т.к. переопределен у меня, стрелки при большом скрине почти работают (работает только стрелка вверх).
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
Athari



Joined: 19 Dec 2004
Posts: 81
Location: Казань

Post (Separately) Posted: Tue Jul 17, 2007 18:11    Post subject: Reply with quote

Quote:
Z - работает всегда, I не работает т.к. переопределен у меня, стрелки при большом скрине иногда работают (работает только стрелка вверх).

Хм… У меня ни под каким соусом работать не хотят… Confused
_________________
«Today is the first day of the rest of your life»
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Tue Jul 17, 2007 18:22    Post subject: Reply with quote

Athari
Потому что у тебя не последний билд UV - я там поправлял работу стрелок в плагинах...
Версия Free обновлена на сайте, а Pro еще нет...
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Mon Oct 22, 2007 12:39    Post subject: Reply with quote

Версия 2.6.0.
_________________
UniViewer - CudaText - LogViewer
Back to top
View user's profile Send private message
sergeich



Joined: 25 Apr 2006
Posts: 185
Location: Москва

Post (Separately) Posted: Mon Oct 22, 2007 17:18    Post subject: Reply with quote

Спасибо за новую версию. Жаль только, что программа открывается все медленнее и медленнее.. Sad
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Mon Oct 22, 2007 17:52    Post subject: Reply with quote

Вообще-то я кое-что оптимизировал (пара dll теперь грузится по мере необходимости)... я не замечаю того, что программа грузится медленнее...
Back to top
View user's profile Send private message
DimmY



Joined: 12 Jul 2007
Posts: 45

Post (Separately) Posted: Wed Oct 24, 2007 16:21    Post subject: Reply with quote

Кажется, обнаружил ошибку, проявляющуюся при просмотре PHP-файлов. Подробности отправил по мылу на support.
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Wed Oct 24, 2007 21:01    Post subject: Reply with quote

DimmY
Подтверждаю. Но "ошибка" редкая, повт. только при выполнении специфических javascript-ов...
Back to top
View user's profile Send private message
test1024



Joined: 09 Nov 2006
Posts: 76

Post (Separately) Posted: Sun Oct 28, 2007 10:57    Post subject: Reply with quote

sergeich wrote:
Спасибо за новую версию. Жаль только, что программа открывается все медленнее и медленнее.. Sad

Конечно, ведь автор сжал её какой-то дрянью, видимо ASProtect.
Любая сжатая программа грузится медленнее, чем несжатая.
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Sun Oct 28, 2007 13:44    Post subject: Reply with quote

Quote:
Конечно, ведь автор сжал её какой-то дрянью, видимо ASProtect.
Любая сжатая программа грузится медленнее, чем несжатая.

Пришлось сжать, но это только Pro-версию.

Я тут подумываю, не выпустить ли Light-версию, в которой не будет Юникода, тулбара, языковых файлов и т.д. Она бы грузилась мгновенно. Но Юникод отрывать как-то не очень хочется.
_________________
UniViewer - CudaText - LogViewer


Last edited by Alextp on Sun Oct 28, 2007 18:12; edited 1 time in total
Back to top
View user's profile Send private message
sergeich



Joined: 25 Apr 2006
Posts: 185
Location: Москва

Post (Separately) Posted: Sun Oct 28, 2007 18:02    Post subject: Reply with quote

Quote:
Я тут подумываю, не выпустить ли Light-версию, в которой не будет Юникода, тулбара, языковых файлов и т.д. Она бы грузилась мгновенно. Но Юникод отрывать как-то не очень хочется.


Отличная идея, можно попробовать отключить функции, которые особенно тормозят программу. Но тулбар, мне кажется, лучше оставить..
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4957

Post (Separately) Posted: Fri Dec 07, 2007 08:31    Post subject: Reply with quote

Отключил Tnt Unicode Lib, совсем для другого, правда (надо было локализовать один Access Violation): а оказалось, что вьюер стал загружаться быстрее.

Выкладываю "ANSI build":
http://atorg.net.ru/temp/beta/UniversalViewerFreePortable.ANSI.zip
_________________
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
Goto page Previous  1, 2, 3 ... 20, 21, 22 ... 50, 51, 52  Next
Page 21 of 52

 
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