[bt-devel] CVS development
Martin Gruner
bt-devel@crosswire.org
Sun, 14 Sep 2003 21:07:08 +0200
> Sorry I haven't been very active in BT development. Now that 1.3 is
> released is there anything you want me to do for 1.4. I haven't learnt very
> much KDE programming so if you have something which is just plain old C/C++
> coding then I am your man!!!
Dear Gary,
thanks for your continued interest in BibleTime. After talking with Joachim
and Troy I'd like to suggest that you code something in Sword directly, as
the tasks for BibleTime 1.4 are smaller and more QT/KDE related. How much
time do you want to invest?
The first, smaller thing, would be to expand the code in the new installmgr
class. It is responsible for managing the installed sword modules. Your task
would be to make the installmgr code that downloads and installs operate
recusively on subdirectories. This is a more simple and isolated task which
could be done rather quickly, I guess. Look at src/installmgr.cpp.
After you finished this, and in case you still want to help out more ;) ,
there is a more sophisticated task in terms of logic.
Look at ListKey VerseKey::ParseVerseList() in keys/versekey.cpp. The inserted
comment rightly says "This code works but wreaks. Rewrite to make more
maintainable." As you read through the function you'll notice how complicated
and unreadably coded the function is. This is a core function in sword, and
it is responsible for parsing text references such as "John 2:2-3:1;4-6" into
Sword Listkey objects. It does not need to be that highly optimized, I take
it, but it needs to be far more logically structured than it is now. Atm it
is almost impossible to add something without breaking something else. So you
could rewrite it, using clean coding style, but not too much stl. You can
talk to Troy for details.
So, would you like to go for one or both of these tasks? Please let me know if
so, and if you need more information to get started.
This would be a big help to the Sword project, and thereby to BibleTime and
ALL other frontends based on Sword.
Looking forward to your contribution! Blessings,
Martin