BibleTime2Qt4Classes

From BibleTime
Jump to: navigation, search

Contents

QFileSystemWatcher

QFileSystemWatcher it a little, but useful class to watch changes to files and directories. It could be used to watch for changes in the modules directory or to changes to the config file or to the display templates ... It doesn't do recursive watching of a directory, so (if necessary) we have to take care of this in our own code.

QSettings

The class QSettings can be used to store and load persistent configuration settings. For a true cross-plattform approach it's probably necessary to change the methods used for reading and writing the data because QSettings uses different file formats on the different plattforms.

Threading classes

There are several useful classes for multi-thread support. The most important classes are:

There's also a high-level multi-thread lib in Trolltech Labs which might be useful for us.

QtAlgorithms

QtAlgorithms is a collection of useful general purpose algorithms (sorting, copying, etc.)

Unit testing

The QTest module of Qt 4.3 is probably very useful for us. We really need serious unit testing of our code to be sure it has high quality.

Accessibility classes

The page Accessibility lists the classes available in Qt for accessibility aware applications. A detailed evaluation of this topic is still required but enabling handicapped people to use BibleTime would be a good feature, imho.

D-Bus

BT 1.x uses DCOP for scripting. Is that feature desirable or needed? If it is, D-Bus is not only KDE4 alternative but it's part of Qt 4 under unix. No extra libraries are needed. KDE 4 is planned to be working under Windows and Mac also, so Qt will probably include D-Bus support under those platforms sooner or later. See also BibleTime1PortToKDE4Planning_DCOP

Qt plugin system

Qt has a simple plugin interface. E.g. different file format interpreters could be plugins (better encapsulation).

I made a new page for plugin discussion.