- 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)
* update documentation and fix indentation
* don't remove offline contacts from roster when we open the last pending, non chat message event
* store account and jid per event
@bct: When moving the OTR stuff, you would've needed to adjust the
XHTML killing part. This patch fixes it. I didn't even notice since
I have XHTML disabled globally.
tag to outgoing messages anymore. Messages are not even passed to
libotr anymore then.
* If we don't support OTR, strip OTR tags from the message before
displaying it.
Sorry, bct, but I think it is to early to merge that as it completely
breaks. It seems nobody in gajim@conference.gajim.org considers it
usable yet.
I don't know if you got asterix' ok for it and I'm sorry if I reverted
it now although you had his ok, but having broken trunk is very
contra-productive. I think it was just too early to merge.
* Fix helpers.py so URL is decoded correctly.
* Fix code in roster_window.py so the \0 that's alway the last file
on win32 is ignored.
This also fixes and closes#2398.