HPC.ru lite - Все форумы
Форум: КПК и смартфоны на Linux: Zaurus, планшеты Nokia, прочее
Тема: cacko DjView
Страницы: 1 [2]
[Ответить]
debian [08.10.2006 10:55] :
Спасибо!!! Ждем...
EugeenB [09.10.2006 20:21] :
debian писал(а):
Спасибо!!! Ждем...
Вот, представляю на суд общественности проект "чё ещё надо-быть"
У существующего просмотрщика имеются три существенных недоработки (я изложу их в порядке возрастания важности)
1. Необходимо заменить уродский файл селектор на диалог выбора файла, как это делается в FBReader (с показом и навигацией по каталогам). Смешение всех однотипных файлов в один длинный список может еще быть оправданным для фильмов и музыки, но для документов, кои и содержатся в djvu-файлах, такой подход ужасен. Для того ли я раскладывал djvu-шки по тематическим каталогам, чтоб поганый файл селектор свалил их все в одну кучу?!
2. Когда скроллишь страницу посредством клавиатуры часто случается, что все изображение убегает с экрана (пререскроливается). И довольно далеко убегает. Необходимо вставит проверку: если по направлению скроллинга (вертикально или горизонтально) все изображение помещается на экране, то скроллинг по этому направлению не производится, а изображение центрируется, иначе если изображение шире экрана, то скроллинг производится, но граница изображения может быть только выровненной по ... или быть за... одноименной границей экрана (например: левая граница изображения может совпадать с левой границей экрана или быть левее ее, но не может быть правее; при совпадении левых границ попытки скроллинга влево игнорируются).
3. Для чтения djvu одной рукой (то есть когда zaurus держат в руке в сложенном (КПКшном) положении, а перо не задействовано) можно задействовать следующие комбинации "наружных клавиш":
а) отменить использование Cancel для закрытия вьювера. Для закрытия вьювера использовать комбинацию "дубль-Cancel" (это когда клавишу Cancel нажали дважды в течении времени t (t примерно около одной секунды). Далее можно показать диалог "Вы уверены...?"
б) клавиши up/down используются естественным образом для скроллинга вверх/вниз.
в) для скроллинга вправо/влево (бывает нужно, когда читаешь двухколоночную журнальную станицу - для перехода к следующей/предыдущей колонке) использовать комбинации Cancel, up [, up ...] / Cancel, down [, down ...] с промежутками между нажатиями не более чем t (см. выше).
г) для перехода к следующей/предыдущей страннице использовать комбинации Ok, up [, up ...] / Ok, down [, down ...] с промежутками между нажатиями не более чем t (см. выше)
д) комбинацию Ok, Cancel (нажатая за время не более t) предлагаю использовать для вызова диалога "масштабирование", где с помощью клавиш up/down выбирается масштаб, Ok подтверждает выбор, Cancel отменяет диалог. Это необходимо, когда читаешь документ со страницами разного формата. Например, с развертками, вставками, схемами. В диалоге маштабирование хорошо было бы предусмотреть пункты "Вписать по ширине", "Вписать по высоте", "Вписать страницу", "Ввод значения маштаба с клавиатуры"
е) комбинация Ok, Ok (нажатая за время не более t) используется для вызова диалога "выбор номера страницы" такого вида, как уже есть в этом вьювере (сначала выбираются сотни, потом десятки...), но заточенном под клавиши up/down и Ok. Cancel отменяет диалог.
ж) комбинация Cancel, Ok (за время не более t) остается резервной.
Такое использование "наружной" клавиатуры позволяет НЕ увеличивать значки в toolsbar, сохраняя максимум экранного места для изображения.
--------------------------------
Дальнейшие улучшения могут быть по направлениям:
- фулскрин (даже без тулсбара ведь навигация обеспечиться клавишами, см. п. 3), как FBReader
- стек закладок (на время сеанса вьювера)
- навигация по ссылкам внутри djvu-файла (со стеком откатов)
- поддержка русскоязычного текстового слоя.
debian [09.10.2006 21:27] :
Да, прикольно.
С кнопками мало что понял.
Но закрытие программы не обязательно. ИМХО.
Если закрываешь программу, то надо стартануть другую, все-равно стилус доставать.
Может лучше сделать что-то типа такого: нажимаешь cancel и колесиком можешь водить страницу влево/вправо. Отжимаешь cancel и переходишь в обычный режим.
Т.е. типа тумблера. А еще при этом появлялись бы где-нить в тулбаре стрелки влево/вправо, чтобы понятнее было.
Для перехода на следующую страницу можно использовать колесика, т.е. при достижении конца страницы первый раз он упирается, а при втором нажатии вниз он перелистывает страницу.
ЗЫ Это все ИМХО 
EugeenB [10.10.2006 13:10] :
debian писал(а):
Может лучше сделать что-то типа такого: нажимаешь cancel и колесиком можешь водить страницу влево/вправо. Отжимаешь cancel и переходишь в обычный режим.
Ну, вопервых ты попробуй на натуре (в смысле возьми zaurus в руку, в левую, потом правую) понажимать _одновременно_ Cancel и крутить колесико. Обычно, для манипуляций с этими кнопками остается только один палец: для правой руки - указательный (а средний с безымянным удерживают корпус завра), а для левой руки - один единственный большой палец.
Вовторых, мне кажется, что программно легче реализовать анализ последовательного нажатия Cancel и Up/Down.
Для отсечения случайного одиночного нажатия Cancel / Ok, предлагается ввести контроль за временем между нажатиями. Если меньше, чем 1 секунда, то выполняется соответствующее действие, если больше 1 секунды, то преффикс (предидущее нажатие клавиш Cancel / Ok) забывается (сбрасывается).
Итак, на пальцах:
Up - скроллинг вниз на шаг
Down - скроллинг вверх на шаг
Cancel, Up - скроллинг вправо на шаг
Cancel, Up, Up, ... Up - скроллинг вправо на несколько шагов
Cancel, Down - скроллинг влево на шаг
Cancel, Down, Down, ... Down - скроллинг влево на несколько шагов
Ok, Up - переход на предидущую страницу
Ok, Up, Up, ... Up - переход на несколько страниц к началу книги
Ok, Down - переход на следущую страницу
...
Ok, Cancel - показать диалог масштабирования
Ok, Ok - показать диалог перехода к конкретной странице.
Cancel, Cancel - показать диалог закрытия вьювера.
debian писал(а):
Для перехода на следующую страницу можно использовать колесика, т.е. при достижении конца страницы первый раз он упирается, а при втором нажатии вниз он перелистывает страницу.
Такой вариант перехода хорош, если показывать: "Уперлись в конец страницы". А то пользователь, разогнавшись скроллить, так и не дочитает конец текущей страницы, как страница уже смениться.
[Ответить]
[< Назад]