Those variables were confusing because autoconf usually defines DATADIR to
PREFIX/share and gajim uses both defs.datadir=PREFIX/share/gajim and
gajim.DATA_DIR=PREFIX/share/gajim/data.
Now, autoconf will use PKGDATADIR for setting the (renamed) defs.basedir
variable which will be used to set gajimpaths['DATA_DIR'] and
gajimpaths['ICONS_DIR'] in configpaths.py
Gajim will also looks for the ${GAJIM_BASEDIR} environment variable instead of
${datadir} which was really too generic (no namespace).
Length Notifier Plugin has configuration dialog (added entry with JIDs to be included when plugin is working) - fully usable.
Default values of configuration key has been added to GajimPlugin.
Some other minor changes/fixes.
- basic PluginManager class that loads plugins from *.py files
in given directories
- Singleton metaclass was created to use with PluginManager;
notice: __init__ of class is called only once (not like in code
that is included in Python Cookbook)
- variable to keep paths of plugin directories has been created
(common.gajim.PLUGINS_DIRS); also added initilization of these
paths to common.ConfigPaths
- added global variable with PluginManager object:
common.gajim.plugin_manager
- created customized logger for plugin system ('gajim.plugin_system')
- created function decorator plugins.helpers.log_calls which logs
each call of function/method; it also logs when function is left
- base class Plugin for plug-in implementation added; not much
here - only empty class attributes: name, short_name, authors,
version, description
- based on Plugin class, first plugin was created named
LengthNotifierPlugin; it is used to notify users when they
exceed given length of message during writing it (text entry
field highlights)
- first GUI extension points works when ChatControl object
is created (it is used in mentioned plugin)
- added 'epydoc.conf' file customized a little bit (file
is also in trunk now)
- fixed indentation in common.sleepy module (also in trunk
now)