Вопрос по xUp

Модератор: motyara

Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Qwertiy писал(а):А какие-нибудь изменения по Быстрому просмотру в xUp планируются? Очень удивился, когда собрался задавать вопрос и нашёл эту тему. Уже 2 года прошло...
Насколько я знаю, xUP обычно достойно выполняет свое предназначение... глобальные его изменения не планируются.
Qwertiy писал(а):При использовании Ctrl+Q:
1. Когда под курсор попадает doc, odt, xls ...
Как насчет снять флаг "Всегда задавать этот вопрос..."? Обычно это помогает.
Qwertiy писал(а):2. Когда под курсор попадает pdf-файл, то стрелки вместо перемещения по файлам выполняют прокрутку документа (элемент Adobe Reader, используемый как в браузере).
В обоих случаях активен именно xUp, а не плагины.
Вероятно производится перехват обработчика клавиатуры со всеми вытекающими последствиями...
Qwertiy писал(а):Вообще, такое ощущение, что xUp использует для просмотра файлов элементы Internet Explorer и Windows Media Player, причём всё, что не может распознать суёт в IE (или в Проводник)... Очень надеюсь, что это не так...
xUP работает на базе ATViewer, являющегося основой Universal Viewer.
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy »

Max Diesel писал(а):Как насчет снять флаг "Всегда задавать этот вопрос..."? Обычно это помогает.
А это никак не повлияет на такой же запрос, выдаваемый IE, если я захочу скачать файл такого типа?
Max Diesel писал(а):Вероятно производится перехват обработчика клавиатуры со всеми вытекающими последствиями...
Учитывая, что Tab позволяет вернуться в файловую панель, может надо просто добавить SetFocus на неё (возможно с некоторой задержкой, чтобы pdf успел загрузиться)?
Max Diesel писал(а):
Qwertiy писал(а):Вообще, такое ощущение, что xUp использует для просмотра файлов элементы Internet Explorer и Windows Media Player, причём всё, что не может распознать суёт в IE (или в Проводник)... Очень надеюсь, что это не так...
xUP работает на базе ATViewer, являющегося основой Universal Viewer.
Специально поискал, что это такое:
http://atorg.net.ru/delphi/atviewer.htm писал(а):ATViewer is a component which allows to view files of various types. There is no edit possibility, just quick view - so it's useful to implement "View file" feature in your Delphi/BCB application. The implemented view modes and corresponding file types are:
  • Text, Binary, Hex, Unicode: all files, of unlimited size.
    Plain file dump is shown. Used ATBinHex component: only visible part of file is loaded into memory. Modes are suitable for large files or files of unknown type.
  • RTF, UTF-8: RTF and UTF-8 encoded texts.
    File is shown using RichEdit control.
  • Image: all general image formats: BMP, JPG, ICO, GIF, PNG, WMF, TGA etc.
    File is shown using ATImageBox component.
  • Multimedia: all file types supported by MS Windows Media Player: AVI, MPEG, WMV, MP3 etc.
    File is shown using Windows Media Player ActiveX control.
  • Internet: all file types supported by MS Internet Explorer: HTML, XML, DOC, XLS etc.
    File is shown using Internet Explorer ActiveX control.
  • Plugins: all file types supported by Total Commander Lister (WLX) plugins.
Именно WMP и IE... Нельзя ли вместо IE для неизвестных (а лучше - задаваемых в отдельном списке) файлов использовать plain text? Хотя бы сделать опцию, чтобы это стало возможным?
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Qwertiy писал(а):А это никак не повлияет на такой же запрос, выдаваемый IE, если я захочу скачать файл такого типа?
Понятия не имею... проверьте.
Qwertiy писал(а):Учитывая, что Tab позволяет вернуться в файловую панель, может надо просто добавить SetFocus на неё (возможно с некоторой задержкой, чтобы pdf успел загрузиться)?
Особенно радует фраза "возможно с некоторой задержкой", при которой задержка вероятно должна субъективно определяться программой исходя из размера файла, мощности компьютера и уровня замученности операционной системы...
Qwertiy писал(а):Именно WMP и IE... Нельзя ли вместо IE для неизвестных (а лучше - задаваемых в отдельном списке) файлов использовать plain text? Хотя бы сделать опцию, чтобы это стало возможным?
Быстрый просмотр потому и "быстрый", что не предполагает индивидуальных настроек... зато Universal Viewer, вызываемый по F3, индивидуальные настройки предполагает.
Аватара пользователя
Alex
Сообщения: 649
Зарегистрирован: Чт окт 18, 2007 6:19 pm
Контактная информация:

Re: Вопрос по xUp

Сообщение Alex »

в ATViewer есть св-во, кот. содержит список расширений, откр. в режиме IE. Этот список по идее поль-ль должен править. Но M.D. пока не хочет делать это..
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy »

Max Diesel писал(а):Понятия не имею... проверьте.
Как-то не хочется так экспериментировать на этих форматах... Если найду хороший способ проверить, то обязательно проверю и напишу.
Max Diesel писал(а):Особенно радует фраза "возможно с некоторой задержкой", при которой задержка вероятно должна субъективно определяться программой исходя из размера файла, мощности компьютера и уровня замученности операционной системы...
Зачем же так сложно? Неужели нельзя проверить, загружен файл или нет?
А если нельзя, то можно сделать очень просто:

Код: Выделить всё

Public Class Form1

Private Sub LstFiles_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LstFiles.SelectedIndexChanged
  BtnViewer.Text = LstFiles.SelectedItem
  Dim Lim As Date = Now().AddSeconds(10)
  Do While Now() < Lim
    If BtnViewer.Focused() Then LstFiles.Focus()
    My.Application.DoEvents()
  Loop
End Sub

Private Sub BtnViewer_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnViewer.TextChanged
  BtnViewer.Focus()
End Sub
End Class
Здесь LstFiles символизирует файловую панель, а BtnViewer - просмоторщик. В таком виде программа работает. Думаю, что если вставить в UC

Код: Выделить всё

Dim Lim As Date = Now().AddSeconds(10)
Do While Now() < Lim
  If BtnViewer.Focused() Then LstFiles.Focus()
  My.Application.DoEvents()
Loop
то будет нормально...
Всё-таки быстрый просмотр предназначен для просмотра, а не для редактированися, поэтому ему фокус не нужен. Заметьте, что в этом варианте даже если промежуток времени слишком большой, то это не помешает пользоваться какими-либо функциями...
Max Diesel писал(а):Быстрый просмотр потому и "быстрый", что не предполагает индивидуальных настроек... зато Universal Viewer, вызываемый по F3, индивидуальные настройки предполагает.
А по-моему, просмотр "быстрый" не потому, что у него нет настроек, а потому, что он отображается одновременно со списком файлов и не должен мешать свободно перемещаться по файлам в этом списке...
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Re: Список расширений

Сообщение Qwertiy »

Alex писал(а):в ATViewer есть св-во, кот. содержит список расширений, откр. в режиме IE. Этот список по идее поль-ль должен править. Но M.D. пока не хочет делать это..
Вероятно, это поможет избавиться от диалога Открыть-Сохранить-Отмена, поэтому я за.
Но возврат фокуса всё равно нужен...

PS: при выборе "Открыть" файл открывается в программе по умолчанию, а не просматривается...
Аватара пользователя
Alex
Сообщения: 649
Зарегистрирован: Чт окт 18, 2007 6:19 pm
Контактная информация:

Re: Вопрос по xUp

Сообщение Alex »

C фокусом можно сделать паузу- 800мс по умолч. (мне в программе UV помогало)
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Re: 800 мс

Сообщение Qwertiy »

Alex писал(а):C фокусом можно сделать паузу- 800мс по умолч. (мне в программе UV помогало)
Учитывая, что у меня сам компонент Adobe Reader'а появляется через несколько секунд (в лучшем случае 2-3), сомневаюсь, что 800 мс будет достаточно... С другой стороны, нет смысла долго ждать, если можно вернуть фокус быстро. Именно поэтому предложил вариант с циклом, поместив в него DoEvents, чтобы программа не дожидалась чего-то, а продолжала выполняться в нормальном режиме.

PS: неужели нет нормального способа проверить, закончилась ли загрузка?
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Ещё проще...

Сообщение Qwertiy »

Нашёл ещё более простое решение.
В обработку события получения фокуса просмоторщиком добавить строку, передающую фокус на файловую панель.

Код: Выделить всё

Public Class Form1

Private Sub LstFiles_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LstFiles.SelectedIndexChanged
  BtnViewer.Text = LstFiles.SelectedItem
End Sub

Private Sub BtnViewer_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnViewer.TextChanged
  BtnViewer.Focus()
End Sub

Private Sub BtnViewer_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnViewer.Enter
  LstFiles.Focus()
End Sub

End Class
Аватара пользователя
Alex
Сообщения: 649
Зарегистрирован: Чт окт 18, 2007 6:19 pm
Контактная информация:

Re: Вопрос по xUp

Сообщение Alex »

неужели нет нормального способа проверить, закончилась ли загрузка?
есть метод ATViewer.WebBusy, правда не знаю как он с Acrobat работает..
dambo
Охотник за багами
Сообщения: 45
Зарегистрирован: Сб мар 22, 2014 7:59 am

Re: Вопрос по xUp

Сообщение dambo »

А нельзя ли в xUP для просмотра текстовых форматов включить опцию "перенос по словам" (или быструю клавишу), чтобы не гонять бегунок прокрутки?
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

dambo писал(а):А нельзя ли в xUP для просмотра текстовых форматов включить опцию "перенос по словам" (или быструю клавишу), чтобы не гонять бегунок прокрутки?
К сожалению в xUP никаких настроек не предусмотрено.
dambo
Охотник за багами
Сообщения: 45
Зарегистрирован: Сб мар 22, 2014 7:59 am

Re:

Сообщение dambo »

Max Diesel писал(а):К сожалению в xUP никаких настроек не предусмотрено.
Это не страшно. Можно на текстовых файлах нажимать F4 или установить плагин AppLoader.wlx (для гурманов), чтобы, увидев при просмотре текстового файла внизу окна полосу прокрутки, просто переключить вкладку вверху окна.
Я хотел спросить, существует ли в природе xUP в виде самостоятельного приложения (допускающего установку wlx-плагинов, которые можно настраивать)? Есть автономная версия Lister-a, которую можно использовать вне TotalCommander. Но xUP, по-моему, работает быстрее (по крайней мере, в составе UC). Поэтому интересно было бы его попробовать вне UC. Вероятно, это один из самых быстрых универсальных вьюеров.
P.S. Кстати, с помощью плагина AppLoader.wlx можно организовать запуск редакторов или других программ по расширениям файлов (кажется, такой вопрос поднимался). Просто в Apploader.ini для групп родственных расширений (графических, текстовых и т. д.) указываем свою программу.Кстати, это достаточно удобно: посмотрел, например, фотку и тут же, переключив вкладку на Apploader, тут же ее подредактировал, убрав "красные глаза".
Аватара пользователя
Qwertiy
Охотник за багами
Сообщения: 1199
Зарегистрирован: Вс янв 31, 2010 12:12 am

Сообщение Qwertiy »

Universal Viewer?
dambo
Охотник за багами
Сообщения: 45
Зарегистрирован: Сб мар 22, 2014 7:59 am

Re:

Сообщение dambo »

Qwertiy писал(а):Universal Viewer?
Нет, UV работает значительно медленней. Похоже, в xUP использован какой-то облегченный вариант компоненты ATViewer (основа UV).
Ответить