QPSWORD - Qtopia Sword Reader

Briefly, The Sword Reader is a multifaceted reading / study tool
for a number of styles of works, including:

1) Bible Texts / Versified Works
2) Critical Commentaries
3) Lexica
4) Dictionaries
5) General Books (pending tree view index UI completion)


Over 200 plugin modules (books) are available in over 50 languages.
(you should probably have a good unicode font installed or you may see
[] squares)

Books may be obtained from:

http://www.crosswire.org/sword/modules


Other features:
  o	compressed book support
  o	128 bit encryption to allow publishers to lock and sell
	copyrighted books
  o  in context, dictionary / lexicon word definitions
  o  see the TODO list towards the end of this file for things that
	may be done by now.


This package contains 5 books (a second lexicon, in place of a
general book, until general book support is completed), all of which
are public domain, or otherwise freely usable by the general public.
None use the compressed drivers, as I still would like to experiment
between using the engine compression drivers, verses what jffs2 gives
us by default.

Bible Text: King James Version
Critical Commentary: Robertson's Word Pictures (NT Only)
Lexicon: Strong's Greek Word Definitions
Lexicon: Strong's Hebrew Word Definitions
Dictionary: Webster's UNABRIDGED English Dictionary

***  ***  ***  ***  ***  ***  ***  ***  ***  ***  ***  ***  ***  ***  

 The Webster's dictionary is a little ridiculous in size, but is fun
to play with in the emulator :)  We'll see about doing a seriously
abridged version for the Zaurus.

***  ***  ***  ***  ***  ***  ***  ***  ***  ***  ***  ***  ***  ***  

QUICKSTART

be sure all your $Q... environment variables are set for the emulator.
Something like:

export QPEDIR=/opt/Qtopia
export QTDIR=/opt/Qtopia
export PATH=$QTDIR/bin:$PATH
export TMAKEPATH=/opt/Qtopia/tmake/lib/qws/linux-generic-g++
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

then, run the ./install script to put the necessary files on your
emulator.

You may then run the ./run script to start the emulator and try the
app.

As screen realstate is valuable, most functionality is accessed
via tap-and-hold popups.

QUIRK: the _lookup_ function currently requires a word (or lexicon index)
to be highlighted.  Highlighting is a little tricky, as the control
tries to scroll up and down radically when it is very small.  Sometimes
a tap-n-hold will clear the selected Text.  In future releases we hope
to turn selection scrolling off and if no text is selected, the current
word at the click point will be used for lookups.


RawZip modules optained from crosswire's site may be unzipped in this
directory and the book reader will find them.

There is actually a fairly extensive track that the book reader takes
to find it's books...  It first looks in the current working directory,
then looks for $SWORD_PATH, failing these it looks for sword.conf
in /etc (a sample is included in this package that you can move
to /etc if you want, but be sure to edit it's contents to point
to your books).  Then finally, it looks in $HOME/.sword/ and
APPENDS any books here to the already found books.  This last
option will be used for:
ln -s /mnt/memorystick/mods.d $HOME/.sword/
ln -s /mnt/memorystick/modules $HOME/.sword/

and then any books on a memory stick would be available along
with the already installed books.

Module creation utilities, and instructions may also be found on
CrossWire's site.  A number more user friendly tools are planned.


TODO:

besides what was mentioned above, and off the top of my head:

save more user prefs
work on tap-n-hold menu behaviour
make feature books (lexica, etc.) dynamicly selected to best handle type
	of lookup
note taking hookups
network book installer
make pretty icons for context menu
make more asthetically pleasing, in general.
strip out unused functionality from engine to improve on size.
	(or just statically link)
many more things I'm sure I forgot...


NOTE: don't try to build mainfrm.cpp from mainfrm.ui; it won't work. :)


Enjoy!
	-Troy A. Griffitts <scribe@crosswire.org>