[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