it accepts plugins now (a zipped folder, with a config file within) and I am still finialising the plugin API, but I am certain I am on the right lines. The "zipimport" module did all that I hoped for and more.
It's running great on linux and windows. Plugins can simply be dropped into the applications plugins folder which reside here.
linux = ~/.qt-o-fax/plugins windows = C:\Documents and Settings\USER\.qt-o-fax\Config file is simple format, heavily influenced by the gedit method of plugin config
[qt-o-fax Plugin] # module is where the entry point of the plugin is # it should contain a class Plugin, with a method run() # for this example, it is main.py # THIS IS THE ONLY FIELD WHICH IS ABSOLUTELY REQUIRED Module=main restartneeded=False Name=Hello World Name[fr]=bonjour toulemande Description=The simplest possible plugin Description[fr]=Un plugin moins sofisticate Version=0.1 Authors=Neil Wallace
Copyright=Copyright © 2010 Neil Wallace Licence=LGPLv3 Website=https://launchpad.net/qt-o-fax/ LongDescription=
Hello World PluginThis plugin simply displays a hello world message when activated.
It connects to no signals, nor alters the database.
So what plugins could be created?? I think the sky is the limit. Add custom fields to the database, send SMS messages, create word processor documents with addresses embedded, christmas card lists.... contact sharing..
I've stuck it up on launchpad https://launchpad.net/qt-o-fax.