Мелкие патчи для PalmFiction 0.10 - PalmFiction
PalmFiction


Russian » Мелкие патчи для PalmFiction 0.10


Author: alexhemp, Posted: 09.02.05 15:05
Решил держать их всех в одной теме:

Убираем восстановление значения яркости при выходе
файл PalmFiction.ppr, строка 202 (процедура InitLightLevel)
Code:
if MainPref.SetLight or (not onStart) then begin

меняем на
Code:
if MainPref.SetLight then begin


Закрывающая кавычка после знака препинания
файл pf_ReaderDoc.pas, строка 726, процедура DocFormatText
Code:
lq := TxtCharIsAlNum(UInt8(p1[0]));

меняем на
Code:
lq := TxtCharIsAlNum(UInt8(p1[0])) or TxtCharIsPunct(UInt8(p1[0]));


При входе в каталог - курсор на первой строке (сейчас его не видно
Файл pf_catalog.pas, строка 878 процедура CatalogSelect.
Code:
Catalog.Cursor:=-1;

меняем на:
Code:

if MainPref.ShowLevelUp then Catalog.Cursor:=0 else Catalog.Cursor:=-1;


При выборе книги в списке последних открытых - она прыгала наверх, но курсор остается на ее прежней позиции. Нужно всегда при открытии книги в списке последних - курсор перемещался на ее новую позицию
Как ее определить - не знаю. Может поможет кто... И где "восстанавливается" список после выхода из режима чтения тоже не знаю - пока ищу.
Author: PalmFiction, Posted: 09.02.05 17:01
Quote:

При выборе книги в списке последних открытых - она прыгала наверх, но курсор остается на ее прежней позиции.


pf_Catalog.pas
procedure CatalogOpenDoc;

После строк------
WorkSetOpenDate(wr);
if MainPref.CatBase=baseRecent then WorkLockItem(baseRecent,Work);
CatalogClearRecent;
Добавить-------
CatalogSort;
StrCopy(Base.UpName,FullGetName(wr.FullName));
CatalogCursorAfterUp;
Author: alexhemp, Posted: 09.02.05 17:15
PalmFiction

Шикарно! Добавь в след. версию, пожалуйста...
Author: PalmFiction, Posted: 09.02.05 17:33
Quote:

При входе в каталог - курсор на первой строке

Может лучше так,
Файл pf_catalog.pas, процедура CatalogSelect
Удалить строку
Code:
Catalog.Cursor:=-1;

Строку
Code:
if up then CatalogCursorAfterUp;

заменить на
Code:
if up then CatalogCursorAfterUp else if WorkItemCount(Work)>0 then Catalog.Cursor:=0;
Author: alexhemp, Posted: 09.02.05 17:41
PalmFiction

Я имел ввиду на элементе "..", если он виден.
Хотя можно просто на первой в списке...

Щас попробую...
Author: alexhemp, Posted: 09.02.05 17:46
Вроде работает, и в списке - показывает курсор и в последних открытых - перемещает курсор наверх или вниз, в зависимости от сортировки!

Это были последние мелочи, которые я замечал в списке ;-)

Еще заметил мелочь, если вызвать в меню "удалить документ" при чтении из ZIP - то имя файла показано неверно. Может быть вообще не показывать этот диалог, если мы внутри ZIP - ведь файл внутри ZIP не удалить...
Author: PalmFiction, Posted: 09.02.05 18:01
Quote:

если мы внутри ZIP - ведь файл внутри ZIP не удалить...

Вообще то можно... Убив весь архив :)
Поправил
Author: alexhemp, Posted: 09.02.05 18:25
PalmFiction

Ну я имел ввиду, что удаление одного файла в архиве реализовывать не надо, а саму ф-цию лушче просто заблокировать для них и все ;-)
Author: alexhemp, Posted: 11.02.05 12:54
Выложил новый mini-fix

http://palmfiction.sourceforge.net/forum/downloads/PalmFiction-0.10-minifix.zip

Это версия 0.10 со следующими исправлениями:

- яркость при выходе не восстанавливается (alexhemp)
- правила для расстановки кавычек с учетом знаков препинания (автор)
- новые правила переносов с учетом фонетики (Serg Gera)
- автоопределение кодировки выполняется только если размер текста больше 512 байт. Используется первый килобайт текста.
- мелкие исправления каталога (автор)
* при входе в подкаталог - курсор виден на первой позиции
* в последних открытых курсор устанавливается на открытый файл
Author: SolarWind, Posted: 11.02.05 13:03
Что-то не скачивается mini-fix... Говорит, файл не найден.
Author: Neud, Posted: 11.02.05 14:06
правильно так:

http://palmfiction.sourceforge.net/forum/downloads/PalmFiction-0.10-minifix.zip
Author: alexhemp, Posted: 11.02.05 14:40
Neud
Ошибся, спасибо что поправил.
Author: Guest, Posted: 12.02.05 13:36
Супер - исправлен баг с подсветкой !
Юзаю - minifix....
Все ок.

Спасибо.
Author: Муррр, Posted: 15.02.05 11:52
А еще может быть это нагло но я только неделю на PF
Нельзя ли сделать так:
Если конец книги показывать (например слово КОНЕЦ) и следующим нажатием на "вниз" выходить в меню выбора файла ???
(Только ногами не бейте, я так для удобства)
Author: alexhemp, Posted: 15.02.05 12:37
Муррр

Настрой другую кнопку на это. Я использую кнопку "калькулятор" для закрытия книги.

Конец книги показывается горизонтальной чертой, как в MS Word
Author: Guest, Posted: 15.02.05 14:01
alexhemp
Принято :-)
Просто я думал что это полезно (если ты прочитал книгу то ессесно нужно открыть новую) способствует ленивому юзверю (поубивал бы если бы сам таким не был) и не сложно в исполнении (кода перед глазами нет, но могу глянуть)...
Еще раз сорри и спасибо за ВЫСОКОкачественный продукт и за долготерпение [АВТОРУ] и отдельно alexhemp за его работу :-)
Author: alexhemp, Posted: 15.02.05 16:38
Гость

Мне не за что, я просто скомпилировал с приложением нескольких патчей...

Спасибо Автору!
Author: Dimano, Posted: 24.02.05 15:43
У меня тут "хотелка" появилась и я попробовал её реализовать самостоятельно. Delphi я знаю, но под палм никогда не писал. Вот что у меня получилось.
Хотелка заключается в том, что если я хочу кнопкой повернуть экран из состояния 0 в состояние 270, то я три раза нажимаю на кнопку поворот экрана и программа три раза его прорисовывает, что есть долго. Надо реализовать задержку обновления.
Переделка:
В файле pf_ReaderData.pas добавляем в раздел определения переменных:
Code:
  NeedUpdate: Boolean;
  NeedUpdateTick: UInt32;

В файле pf_ReaderData.pas
1) в процедуре ReaderAction меняем обработку события поворот экрана
Code:
    actRotate: begin                              //поворот экрана
      Profile.Rotate:=Profile.Rotate+1;
      if Profile.Rotate>Turn270 then Profile.Rotate:=Turn0;
//      ReaderUpdate;
      NeedUpdate := True;
      NeedUpdateTick := TimGetTicks;
      App.TimeOut:=App.TimeOut25;
      EvtWakeUp;

и надо добавить третьей строкой (перед case) строку
Code:
  if (NeedUpdate) and (act<>actRotate) then ReaderUpdate;

2) в процедуру ReaderUpdate добавляем в начало
Code:
  NeedUpdate := False;

В файле pf_ReaderEvent.pas в функции FormReaderHandleEvent меняем обработку события NilEvent
Code:
    NilEvent: begin
      t:=TimGetTicks;
      if (t-App.Tick)>App.TimeOut6k then begin
        App.Tick:=t;
        if not(App.MenuActive) then FlatDraw(flatDrawUpd);
      end;
      if FlatPop.Active then if (t-FlatPop.Tick)>=App.TimeOut200 then FlatPopup(flatRestore);

      if NeedUpdate and ((t-NeedUpdateTick)>=App.TimeOut25) then ReaderUpdate;
    end;

Если Автор или Alexhemp заинтересуются данной переделкой, я был бы рад увидеть её в релизе или патче…

P.S. Киньте пожалуйста мне в ЛС то без чего радость не может быть полной из за надписи о том что prc создан «неправильной» версией PocketStudio (1.2)
Author: Dimano, Posted: 03.03.05 13:40
Всё таки что-то не ладно с моей переделкой или поворотом экрана вообще... переодически вываливаюсь в Fatal Error... а так как кручу экран часто, то это надаело, поставил minifix понаблюдаю за ним...
Author: Пользователь, Posted: 11.03.05 17:45
Вопрос, а как бы реализовать общую статистику чтения книг(у меня последовательно прочитано 5 книг и покилобайтовая скорость чтения была бы интерестна )?
З.Ы. Порекомендуйте как пользоваться пальмом в фидошке
(конвертирование, Голдед?)
Author: alexhemp, Posted: 11.03.05 18:22
Пользователь

Вероятно нужно взять время чтения каждой и разделить на общий объем. Только зачем? Соревноваться что-ли будем?

Получайте от чтения удовольствие, а скорость - побоку, если книга интресная.

© 2003 Клуб 12 вольт.